
名前を指定してオープンソースのOSINTコマンドラインツールをインストール、実行、更新、削除し、型付き入力、JSON出力、保存された結果により自動偵察ワークフローを実現します。
オープンソースのコマンドラインツールを名前でインストール、実行、更新、削除します。
リストからツールを選びます。OTinstaller はそれを専用のフォルダにダウンロードし、実行し、出力を保存します。ツールごとに異なるインストール方法を覚える必要はありません。
otinstaller は PyPI で公開されています(バージョン 0.0.1)。
Linux マシン。Ubuntu 22.04 と 24.04、Debian 12、Arch Linux でテスト済みです。Kali Linux はリリース前に手動で確認しています。
Python 3.10 から 3.12、git、そして venv モジュール。Debian、Ubuntu、Kali では、そのモジュールを次のようにインストールします:
sudo apt install python3-venv git
Ubuntu 26.04 LTS はデフォルトで Python 3.14 を同梱しており、他のディストリビューションも現在では Python 3.13+ を同梱しています。otinstaller とその管理対象ツールの一部は Python 3.10~3.12 を必要とするため、これらのシステムでは Python 3.12 を明示的にインストールし、それで作成した virtualenv 内で otinstaller を実行してください:
curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uv venv --python 3.12 ~/.otinstaller-venv
source ~/.otinstaller-venv/bin/activate
uv pip install otinstaller
uv で作成した virtualenv には pip がないため、インストールコマンドは uv pip install otinstaller です。otinstaller を使用する前に、新しいターミナルで毎回 source ~/.otinstaller-venv/bin/activate を再度実行してください。otinstaller doctor は実行中の Python バージョンを表示し、異なるバージョンを必要とする登録済みツールがあれば指摘します。
Ubuntu 22.04 と 24.04 のシステム Python はそのまま動作します。uv の方法は Ubuntu 26.04 でのみテストされています。
一部の管理対象ツールはまだ Python 3.13+ をサポートしていません。テストマトリクスは Python 3.10~3.12 を対象としています。影響が確認されているツール:
auto-archiver: Python <3.13 が必要(依存関係 pdqhash は C++ コンパイラが必要で、3.13+ 用の wheel がない)telepathy: Python <3.13 が必要(依存関係 googletrans/httpx が削除された cgi モジュールを使用)Python 3.13+ でインストールに失敗する場合は、Python 3.12 の virtualenv 内で otinstaller を実行してください。
システム全体へのインストールには、pipx install otinstaller を使用します。これにより、virtualenv なしで otinstaller と ot コマンドが PATH に提供されます。
あるいは、virtualenv を作成して PyPI からインストールします:
python3 -m venv ~/.otinstaller-venv
source ~/.otinstaller-venv/bin/activate
pip install otinstaller
otinstaller を使用する前に、新しいターミナルで毎回 source ~/.otinstaller-venv/bin/activate を再度実行してください。
このリポジトリからインストールする場合(開発用):
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
次のコマンドで otinstaller: command not found と表示される場合は、新しいターミナルでこのフォルダから source .venv/bin/activate を再度実行してください。
次のコマンドでマシンを確認します:
otinstaller doctor
doctor は Linux、Python、git、venv について [ok] または [problem] を表示します。続行する前に [problem] の行を修正してください。多くの場合、インストールすべきパッケージを教えてくれます。
init は ~/.otinstaller/ を作成し、責任ある使用に関する通知を表示します。Do you accept? [y/N] と尋ねられます。y と入力して Enter を押してください。これを行わない限り、何もインストールできません。
otinstaller init
Sherlock はユーザー名を検索します。このインストールでは Install? [y/N] と尋ねられます。大文字の N は、Enter だけでは「いいえ」を意味します。続行するには y と入力してください。
otinstaller install sherlock
otinstaller run sherlock -- someexampleuser123
-- は otinstaller 自身のオプションが終わる位置を示します。その後に続くものはすべて Sherlock に渡されます。実行が終了すると、otinstaller はコマンドを実行したフォルダの results/ 配下のパスを表示します。そのファイルがツールの出力です。
別のツールを試すには、sherlock の代わりにガイドに記載されたそのツールの名前を使用してください。
各ツールのフラグを覚える代わりに、型付き入力プレフィックスを使用できます:
u: ユーザー名(例:u:johndoe)e: メールアドレス(例:e:[email protected])p: 電話番号(例:p:+15551234567)d: ドメイン(例:d:example.com)url: URL(例:url:https://example.com)q: テキストクエリ(例:q:search terms)geo: 座標(例:geo:32.22,-110.97)tg: Telegram チャンネル(例:tg:channelname)lat: 緯度(例:lat:37.7749)lng: 経度(例:lng:-122.4194)例:
otinstaller run sherlock -- u:johndoe
otinstaller run ghunt -- u:johndoe e:[email protected]
各ツールはサポートする入力タイプを宣言しています。マッピングを確認するには otinstaller info <tool> を使用してください。
指定された入力タイプをサポートするインストール済みのすべてのツールを実行します:
otinstaller run --all u:johndoe
otinstaller run -a u:johndoe e:[email protected]
--all で動作するのは u、e、p、d、url のみです。API 認証情報を必要とするツールは、--include-credentialed が渡されない限りスキップされます。
すべてのコマンドは機械可読な出力のための --json をサポートしています。--yes または -y が指定された場合、または stdin がターミナルでない場合(CI モード)、コマンドは決してプロンプトを表示しません。終了コードは安定しています:0 = 成功、1 = エラー、2 = 無効な入力、130 = 中断。
コマンドリファレンス:
otinstaller init — 設定とディレクトリを初期化otinstaller install <tool>... — ツールをインストールotinstaller install --all — レジストリから利用可能なすべてのツールをインストールotinstaller remove <tool>... / --all — ツールを削除otinstaller run <tool>... -- <args> — ツールを実行otinstaller run --all u:... — 一致するすべてのツールを実行otinstaller run --live — 並列実行のライブステータステーブルを表示otinstaller run --case <name> — 名前付きケースの下で実行をグループ化otinstaller info <tool> — ツールの詳細を表示otinstaller list / --installed — ツールを一覧表示otinstaller search <query> — ツールを検索otinstaller update / --all / --check-only — ツールを更新otinstaller check-updates — 更新を確認(読み取り専用)otinstaller auto <target> — タイプを自動検出してツールを実行otinstaller example <tool> — 出力例を表示otinstaller keys check — API キーを確認otinstaller resume — 中断されたジョブを再開otinstaller doctor — 診断を実行otinstaller about — クレジット付きの about バナーを表示otinstaller extract <target> — 保存された結果ファイルからインジケーターを抽出otinstaller diff <tool> <target> — 同じツールの同じターゲットに対する直近2回の実行を比較otinstaller playbook [name] [target] — プレイブックを実行otinstaller playbook --list — 利用可能なプレイブックを一覧表示otinstaller <tool> — ツールの詳細を表示(info <tool> と同じ)AI エージェント向け:リポジトリルートの llms.txt を参照してください。
結果は ./results/<tool>/<target>/ に、ファイル名パターン <YYYYmmdd-HHMMSS>_<tool>_<target>_<runid>.<ext> と .meta.json サイドカーを使用して自動的に保存されます。結果ディレクトリは --output または OTINSTALLER_RESULTS_DIR で上書きできます。結果はコマンドを実行したフォルダの ./results/ に保存されるため、毎回同じフォルダから実行してください。
例:
results/sherlock/testuser/20260929-123456_sherlock_testuser_abc123.txt
results/sherlock/testuser/20260929-123456_sherlock_testuser_abc123.meta.json
1つの env ファイルがすべての API キーを保持します:~/.otinstaller/.env、パーミッション 600。各ツールはレジストリエントリで宣言したキーのみを受け取ります。確認するには otinstaller keys check を使用してください。
実行またはインストールが中断された場合(クラッシュ、Ctrl+C、kill)、otinstaller は ~/.otinstaller/jobs/ にジョブマーカーを保持します。otinstaller resume を実行して、中断されたジョブを検出して処理します:
変更を加えずに何が起こるかを確認するには otinstaller resume --dry-run を使用してください。機械可読な出力には --json を使用してください。
完了したジョブは再開時にスキップされます(完了時にマーカーが削除されます)。中断された実行の部分的な出力は常に結果ディレクトリに保持されます。
一部のツールはレジストリで dual-use とタグ付けされています。これらは正当な研究に使用できますが、悪用も可能です。デュアルユースツールをインストールすると通知が表示され、--yes が指定されない限り確認が必要です。
グローバルな責任ある使用に関する通知は、最初の otinstaller init で承認されます。otinstaller init でいつでも再読できます。
MIT。LICENSE を参照してください。