floss-toolbox

A toolbox to help developers and open source referents to not waste their time with manual and boring tasks. Provides simple and light tools to make investigations in source code to look for hot data. Provides also primitives to manage GitHub and GitLab organizations.

https://github.com/orange-opensource/floss-toolbox

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.9%) to scientific vocabulary

Keywords

admin bash commits dco dependabot github gitlab gitleaks hacktoberfest hacktoberfest2024 hotwords logs octokit osint ruby shell signed-off toolbox vulnerabilities
Last synced: 4 months ago · JSON representation ·

Repository

A toolbox to help developers and open source referents to not waste their time with manual and boring tasks. Provides simple and light tools to make investigations in source code to look for hot data. Provides also primitives to manage GitHub and GitLab organizations.

Basic Info
  • Host: GitHub
  • Owner: Orange-OpenSource
  • License: apache-2.0
  • Language: Python
  • Default Branch: dev
  • Homepage:
  • Size: 866 KB
Statistics
  • Stars: 25
  • Watchers: 11
  • Forks: 10
  • Open Issues: 58
  • Releases: 24
Topics
admin bash commits dco dependabot github gitlab gitleaks hacktoberfest hacktoberfest2024 hotwords logs octokit osint ruby shell signed-off toolbox vulnerabilities
Created almost 5 years ago · Last pushed 4 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Security

README.md

Opened issues Apache 2.0 license Versions Still maintained Code size

Shell Python Ruby PHP

FLOSS Toolbox

Toolbox to help developers and open source referents to have cleaner projects in GitHub organizations, and more.

Toolbox is mainly written in Shell because this language is very efficient for files processing and provides a strong and rich standard API with cool primitives and nice performances due to system calls. It helps also to call system primitives easily. Contains also Ruby scripts. Ruby are shiny gems, I love them. Python is also used. And a bit of PHP because it is nice to use several languages we are not used to (stop the routine!). For these needs scripting is enough.

Environment

You should have mainly the following environments bellow, but have a look on each folder README: - Bash version 3.2.5 - Ruby version 2.7.1 - Python version 3.7

Project tree

There are 5 folders containing scripts and programs to make your life a bit easier:

  1. toolbox/diver contains scripts to scrap data in Git logs and histories, look for sensitive data in sources, etc ;
  2. toolbox/github contains scripts and programs to make requests to GitHub API so as to automate some actions ;
  3. toolbox/gitlab contains scripts and programs to make requests to GitLab API so as to automate some actions ;
  4. toolbox/LicensesInventory contains program to get licenses of third party components thanks to dependency manager files ;
  5. toolbox/utils contains scripts to generate texts and stuff like that.

Feel free to read each README available in all of the subdirectories listed above.

Dry run

To be sure you have a ready-to-run project, you can run the following dry-run command which will check if runtimes, third party tools and files are available.

shell bash dry-run.sh

About the repository

Renovate

Renovate is used to as to try to keep updated dependencies of the project. A renovate.json must be added at the project root with cofiguration details ; but the organization admins must enable it (through the admin console). By default Dependabot was enabled for this project but has been replaced by Renovate.

Gitleaks

Gitleaks is used so as to look for secrets and leak of sensitive data. A gitleaks.toml file has been placed at the project root, picked from the Gitleaks repository, to define rules. A gitleaks-action.yml is also defined to define the GitHub Action to call and some secrets to use to do so. The GITLEAKS_LICENSE is defined in the organization level, only the organization admins can make it visible to projects. This key (dedicated to organization) has been asked to the Gitleaks team and received gratefully from them.

DCO

The Developer Certificate of Origin is applied here thanks to a Probot bot. On pull requests all commits must be signed off. This control is processed in an action.

Owner

  • Name: Orange
  • Login: Orange-OpenSource
  • Kind: organization
  • Email: opensource.contact@orange.com
  • Location: Paris, France

Open Source by Orange

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
  floss-toolbox: A toolbox for open sources men and women 
  helping to dive into repositories and manage organizations
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - affiliation: Orange
    given-names: Pierre-Yves
    family-names: Lapersonne
  - affiliation: Orange
    given-names: Laurent
    family-names: Body
repository-code: 'https://github.com/Orange-OpenSource/floss-toolbox'
url: 'https://github.com/Orange-OpenSource/floss-toolbox/wiki'
abstract: >-
  Ths floss-toolbox is a repository which contains
  several scripts in Shell, Python, Ruby or PHP for
  administrations and forensics purposes.

  It exposes scripts to manage GitHub and GitLab 
  organizations, look for data in repositories,
  or scrap licences from dependency managers file.

  This tool has been developed so as to help
  people to manage open source projects.

  The project is under permissive non-copyleft
  open source license Apache 2.0.
keywords:
  - GitHub
  - GitLab
  - git
  - scripts
  - administration
  - SBOM
  - audits
  - history
license: Apache-2.0
version: v2.22.0
date-released: '2025-01-27'

GitHub Events

Total
  • Create event: 6
  • Release event: 1
  • Issues event: 9
  • Watch event: 3
  • Delete event: 4
  • Push event: 109
  • Gollum event: 9
  • Pull request event: 13
  • Fork event: 5
Last Year
  • Create event: 6
  • Release event: 1
  • Issues event: 9
  • Watch event: 3
  • Delete event: 4
  • Push event: 109
  • Gollum event: 9
  • Pull request event: 13
  • Fork event: 5

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 4
  • Total pull requests: 7
  • Average time to close issues: 2 months
  • Average time to close pull requests: 5 months
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 5
Past Year
  • Issues: 4
  • Pull requests: 6
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 1 hour
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 4
Top Authors
Issue Authors
  • pylapp (26)
  • renovate[bot] (1)
Pull Request Authors
  • pylapp (18)
  • renovate[bot] (15)
  • dependabot[bot] (1)
Top Labels
Issue Labels
feature-new (12) enhancement (11) feature-GitHub (5) next-release (5) feature-diver (5) Good first issue (3) bug (2) doing (1) documentation (1) feature-LicensesInventory (1) feature-GitLab (1)
Pull Request Labels

Dependencies

toolbox/github/Gemfile rubygems
  • git ~> 1.18
  • octokit ~> 6.1
toolbox/github/Gemfile.lock rubygems
  • addressable 2.8.4
  • bundler 2.4.13
  • faraday 2.7.8
  • faraday-net_http 3.0.2
  • git 1.18.0
  • octokit 6.1.1
  • public_suffix 5.0.1
  • rchardet 1.8.0
  • ruby2_keywords 0.0.5
  • sawyer 0.9.2