
バージョン管理ホストサービスでgitコミットメールを収集する情報収集ツール

この Gitmails バージョンはメンテナンスされなくなりました。メンテナンスされ、できれば開発が続けられているバージョンを使用したい場合は、Gitmails Shell ポートをチェックしてください。
シェルポートを使用したくない場合や Python バージョンを好む場合は、自由に Gitmails をフォークして、ご自身の望むパスに進めてください。
Gitmails は、Git コミットに作者が設定した名前とメールアドレスが含まれていること、そしてバージョン管理ホストサービスが多くのプロジェクトを保存するために使用されていることを調査します。
Gitmails が行うことは以下の通りです:
これらの手順により、Gitmails は特定のターゲットのコミット履歴で見つかったすべてのメールアドレスを収集できます。
まず、操作方法を選択する必要があります:組織、ユーザー、または単一リポジトリのメールアドレスを収集します。これは、-u --username、-o --organization、または -r --repository オプションで行えます。
操作方法を指定した後、ターゲットを設定する必要があります。操作メソッドの直後に渡す必要があります:
python3 gitmails.py -u some_username、python3 gitmails.py -o some_org、または python3 gitmails.py -r some_repo_url。
注意: GitLab のユーザー名は大文字小文字を区別します。メールアドレスを収集する際には注意してください。
この基本設定により、Gitmails は指定されたターゲットのすべてのリポジトリ(または URL のリポジトリ)をクローンし、そのコミット履歴を分析します。次に、ユーザーまたは組織の高レベルの情報を出力し、最後に、分析中に見つかったすべての名前とメールアドレスのペアを(tabulate の)"fancy_grid" テーブルで出力します。
便利なオプション:
--raw: 結果をプレーンテキストで出力します。グリッドはなく、カンマ区切りの値のみです。-f | --file: 結果を指定されたファイルに保存します。結果はヘッダーなしの CSV 形式になります。--include-repositories: メールアドレスが見つかったリポジトリの情報とともに結果を出力するようにします。-p | --path: リポジトリをクローンする一時パスを指定します。-e | --exclude: 指定されたリポジトリを無視します。リポジトリ名を比較し、一致した場合、そのリポジトリをスキップして次のリポジトリに進みます。--no-cleanup: クローンしたリポジトリを削除しません。--include-forks: 分析にフォークされたリポジトリを含めます(GitHub のみ)。--include-users: 組織を収集する場合、その公開メンバーの情報も収集します(GitHub のみ)。--no-[gitlab|github|bitbucket]: 指定されたホストサービスの情報を収集しません。--run-plugins: 収集された結果に対してプラグインを実行します。--api: リポジトリをクローンせずに、API 経由でのみすべての情報を収集しようとします。
注意: 認証なしで API にアクセスすると、IP が制限される可能性があります。また、API のみの収集は通常、リポジトリをクローンするよりも遅くなります。Gitmails をインストールするには、以下の手順を実行する必要があります:
pip3 install -r requirements.txtDebian(おそらく Ubuntu も)を使用している場合、libgit2 パッケージが Gitmails で動作しません。これを解決するには、libgit2 を手動でコンパイルする必要があります。以下の手順で十分です:
wget https://github.com/libgit2/libgit2/archive/v0.27.0.tar.gz && \
tar xzf v0.27.0.tar.gz && \
cd libgit2-0.27.0/ && \
cmake . && \
make && \
sudo make install
ldconfig
pip3 install pygit2
または、debian install スクリプトを実行してください。
以下のコマンドを実行することで、ツールの Docker バージョンを使用することもできます:
docker run -it giovanifss/gitmails --helpファイルに書き込みたい場合は、Docker ボリュームをマウントする必要があることに注意してください:
docker run -v /tmp/output:/opt -it giovanifss/gitmails -f /opt/result.txtこのプロジェクトはメンテナンスされなくなりました。貢献したい場合は、Gitmails Shell をチェックしてください。
このツールは、合法的な攻撃的セキュリティ業務に役立つデータを収集します。このプロジェクトの作成者は、このツールの誤用や悪意のある使用によって引き起こされた損害や損失について、一切の責任を負いません。詳細は LICENSE を確認してください。