このプロジェクトについて
## 概要
Web Visitor Analytics for Telegramは、PythonベースのWebアプリケーション(Flask、Django、または任意のPythonバックエンド)に統合可能なサーバーサイドPythonモニタリングモジュールです。IP-APIサービスから取得したジオロケーションおよびISPデータを含むリアルタイム訪問者アラートを、Telegram Bot API経由で提供します。
スタンドアロンアプリケーションではなく、提供されたコードスニペットをメインアプリケーションファイル(例: `app.py`)に貼り付け、既存のルートハンドラーと同時に実行する必要があります。
## 機能
- **リアルタイムTelegram通知**: ページアクセス時に即座に通知を送信し、指定されたTelegramユーザーまたはチャットに構造化された訪問サマリーを配信します。
- **ジオロケーションデータ**: リクエスト元IPアドレスを使用してIP-APIを照会し、自動的に訪問者の都市、国、ISPを特定します。
- **ノンブロッキング統合**: トラッキングAPIまたはTelegram配信の障害がメインアプリケーションのフローを妨げないよう、エラーハンドリングを組み込みます。
- **プライバシー配慮表示**: 通知ではフルIPアドレスを部分的にマスクし、有用な識別情報を提供しつつ露出を最小限に抑えます。
## 必要条件
- Python
- `requests`ライブラリ(`pip install requests`)
- @BotFatherから取得したTelegram Botトークン
- @userinfobotから取得可能な個人のTelegramチャットID
## インストールと設定
1. Telegramの@BotFatherでBotを作成し、APIトークンを保存します。
2. @userinfobotからチャットIDを取得します。
3. 統合コードスニペットをプロジェクトのメインエントリポイント(例: `app.py`)に貼り付けます。
4. プレースホルダートークンとチャットIDを環境変数経由で実際の値に置き換えます(ハードコーディングは避けてください)。
```
pip install requests
```
## 互換性に関する注意
このモジュールは純粋なPythonで記述されています。FlaskおよびDjangoと標準で動作し、任意のPythonバックエンドに適応可能です。静的HTMLサイトや非Python環境では、当該言語へのロジック移植なしには動作しません。
## 重要な免責事項
- **ジオロケーション精度**: 位置情報は訪問者のGPS座標ではなく、ISPネットワーク経路に基づいて決定されます。プロバイダーのトラフィックルーティング方法により、物理的位置とは異なる都市に表示される場合があります。
- **プライバシーおよび法的準拠**: 本ツールはIPから派生したデータを収集・送信します。GDPRやCCPAなどの適用可能なプライバシー規制への準拠はユーザーの責任です。倫理的かつ責任を持ってご利用ください。
- **セキュリティ**: BotトークンやチャットIDをパブリックリポジトリにハードコーディングしないでください。環境変数またはシークレットマネージャーを使用してください。
## 利用例
作成者はプライベート運用のポートフォリオサイトで本モジュールを使用し、Telegramデバイスでリアルタイム訪問トラフィックを監視およびセキュリティインサイトを即時取得しています。サンプル通知では、マスク済みIP、ISP名、都市、国がコンパクトなフォーマットで表示されます。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.