
OsintgramはInstagram上のOSINTツールです。任意のユーザーのInstagramアカウントをニックネームで分析するためのインタラクティブシェルを提供します。
Instagramアカウントを指定して、その背後にいる人物を突き止めよう。 Osintgramは、 公開プロフィールが明かすあらゆる情報——フォロワー、キャプション、ハッシュタグ、 位置情報が付与された場所、投稿の習慣、公開されている連絡先——を収集し、 相互参照し、あなた自身のマシン上で動かすWebインターフェース上に整理して表示します。
平易な言葉で質問すれば、ローカルAIモデルがどの検索を実行すべきかを判断します。 あるいはそうしなくても構いません。コマンドを自分で選び、モデルを完全にスキップすることもできます。
コマンドだけでなく、質問に答えます。 「この人のフォロワーは何人で、どのハッシュタグを最もよく使っている?」 と尋ねれば、3つの検索を実行し、文章での回答を返します——さらにその下に生の結果も表示されるので、 文章を鵜呑みにせず、内容を確認できます。
検索そのものを除いて、何もあなたのマシンから出ていきません。 AIは
Ollamaを通じてローカルで動作します。OpenAIのキーも、サブスクリプションも、
あなたのプロンプトが誰かに送られることもありません。インターフェースは127.0.0.1から配信されます。
検索を実行する前に、そのコストを教えてくれます。 Instagramのデータは 無料ではなく、ほとんどのツールは高くつく方法でそれを知ることになります。このツールは 選択内容を事前に見積もり、残りのクレジットを表示し、すべてのリクエストをキャッシュして 同じ検索に二度払いしないようにし、実行を上限設定または停止できます—— ブラウザ側だけでなく、サーバー側で。
見つけたものを、きちんと表示します。 フィルタ可能なグリッドでの投稿サムネイル、 地図上の位置情報が付与された場所、いつ投稿するかを示す曜日×時間のヒートマップ、 2つのアカウント間の比較。JSONの壁ではありません——ただし、すべてのカードで JSONはワンクリックの先にあります。
結果を他の誰かに渡すことができます。 1つのボタンで、完了した検索を 任意のブラウザで開けるスタンドアロンのHTMLレポートに変換します。サーバーも Osintgramも不要です。
AIモード — 欲しいものを説明します。ローカルモデルがコマンドを選び、実行し、 要約します。選択できるのは以下の同じリストからのみで、検索をでっち上げたり、 データを捏造したりすることはできません。
ベースモード — モデル不要、Ollamaも不要。全28コマンドを、それぞれ1行で、 グループ化し検索可能にしています。欲しいものにチェックを入れ、パラメータを設定し、 順番に実行します。
AIモードでユーザー名を空のままにして、ハッシュタグや場所についてだけ 尋ねることもできます——そうした検索はどのアカウントにも属しません。
ストーリー、ハイライト、プロフィール写真は直接CDNリンクとして返されます—— そしてメディアを含むカードには、オリジナルのワンクリックzipが用意されています。
pip install -r requirements.txt
uvicorn src.web.app:app --host 127.0.0.1 --port 8000 --reload # or: make run
http://127.0.0.1:8000 を開いてください。
データバックエンドが必要です。ページはパネルで開き、そこに HikerAPIのキーを直接貼り付けられます——受け入れられる前に検証され、 次回のために保存できます。(無料の instagrapiログインも、ご自身の Instagramアカウントを使って動作します——トレードオフについてはガイドを参照してください。)
AIモードには、Ollamaをインストールし、 ツール呼び出しに対応したモデルを取得してください:
ollama pull llama3.1:8b # ~4.7 GB, the default
ベースモードはこれなしで動作します。
コンテナの方がよいですか?
docker compose up --build # or: make docker
同じアドレス、同じ動作——127.0.0.1のみで公開されます。あなたのキー、キャッシュ、
保存された検索はホスト上のconfig/、cache/、dossier/に留まり、
イメージ内には決して入りません。AIモードはホスト上で動作するOllamaに到達します。
$${\color{red}Warning:}$$ これは
127.0.0.1上で認証なしで動作します。ご自身のマシン上で動作するように作られています——先に認証レイヤーを前に置かずに、localhostを超えて公開しないでください。
doc/web-ui.md両方のバックエンドのセットアップ、パラメータとコストを含むすべてのコマンド、 支出を抑える方法、結果のエクスポートと共有、すべての設定オプション、 そしてトラブルシューティング。
教育目的のみ。 コントリビューターはこのツールの使用について 一切の責任を負いません。
config/credentials.iniを決してコミットしないでください——APIキーとInstagramの
認証情報がそこにあります。これはgit-ignoreされています。そのままにしておいてください。キーが
一度でもプッシュされたことがあるなら、ローテーションしてください:ファイルを削除しても
履歴からは消えません。pip install -r requirements-dev.txt
python -m pytest
テストスイートは完全に合成フィクスチャに対して実行されます——APIキーも、クォータも、 ネットワークも不要です。また、ドキュメントがコードから 乖離していないこともチェックします。
機能リクエストとプルリクエストを歓迎します——issueを開いてください。セキュリティ上の 問題を見つけましたか?その場合は非公開で報告してください:SECURITY.mdを参照してください。
OsintgramはGiuseppe Criscione (Datalux)によって書かれました。バージョン2.0は、 Webインターフェースと再利用可能なサービスレイヤーを中心に再構築し、 AIモード、コスト管理、より新しい分析を追加しています——変更履歴を参照してください。
最初のリリース以来貢献してきたすべての人々に多大な恩義があります:
InstagramのデータはHikerAPIまたは instagrapiから取得しています。ジオコーディングは Nominatim / OpenStreetMap。 地図はLeaflet。ローカルモデルは Ollama経由。
GPL-3.0ライセンスの下でリリースされています。
InstagramはMeta Platforms, Inc.の商標です。このプロジェクトはMetaと 提携、承認、または認可されていません。
| プロフィール | 自己紹介とその中のすべてのリンク、フォロワー/フォロー中/投稿数、カテゴリ、公開メールアドレス、電話番号、座標に至るまでのビジネス住所、リンクされたFacebook ID——さらにInstagram自身のこのアカウントについて:登録国、作成日、ユーザー名が変更された回数 |
| ネットワーク | フォロワーとフォロー中、Instagramが関連として提案するアカウント、誰がタグ付けしたか、誰をタグ付けしたか、最もコメントする人——そして2つのアカウント間の相互接続 |
| コンテンツ | 使用回数順にランク付けされたハッシュタグ、キャプション、すべてのコメント、いいねとコメントの統計、閲覧数と有料パートナーシップを含む写真/動画/カルーセルの内訳、投稿時間のヒートマップ、地図上の位置情報が付与された場所、写真の代替テキスト |
| 連絡先 | 対象のフォロワーまたはフォロー中の中にある公開メールアドレスと電話番号 |
| 対象不要 | ハッシュタグ(トップまたは最新)で、あるいは場所から公開された投稿、およびそれらを投稿した人 |