MyIP
セルフホスト型の IP ツールボックスで、IP の検出、ウェブサイトの接続性テスト、DNS リークテストの実行、スピードテスト、ブラウザフィンガープリントの確認などができ、非常に充実した機能を備えています。
スマートダウンロード
プロジェクトのホームページへ
インストーラはまだありません — ソースリポジトリをご覧ください
機能が非常に充実した IP ツール。IP アドレスの確認、ネット速度の測定、情報漏洩のチェック、ブロック状況のテストが可能で、自分でデプロイすればさらに安全です。
主な機能
- 本機のすべての IPv4/IPv6 アドレスを表示、複数のデータソースに対応
- IP 位置情報検索(国、地域、ASN、緯度・経度)
- ウェブサイトの可用性チェック(Google、YouTube、ChatGPT、GitHub など)
- WebRTC 検出と DNS リークテスト
- グローバルレイテンシテストと MTR ルートトレース
できないこと
- •IP 地理情報と WebRTC 国家バッジを使用するには MaxMind アカウントとキーを設定する必要があります。設定しない場合、これらの機能は 503 エラーを返します。
- •Docker でデプロイする際、環境変数を設定しないと、コンテナ内の MaxMind データベースディレクトリが空になります。
- •プログラムはデフォルトでレート制限なしで有効になっているため、本番環境では SECURITY_RATE_LIMIT と SECURITY_DELAY_AFTER を設定して悪用を防ぐことをお勧めします。
- •付属のフロントエンドとバックエンドは異なるポート(フロントエンド 18966、バックエンド 11966)を使用しているため、リバースプロキシを設定する際は注意してください。
- •ip.sb や ipinfo.io などの類似ツールと比較して、MyIP はセルフホストであり、データが外部に出ることがなく、機能の統合度も非常に高いです。無料でオープンソースですが、唯一の欠点は MaxMind データベースを自分でメンテナンスする必要があることです。
使用例
- 自分のパブリック IP をすばやく確認し、DNS リークの有無を確認する
- プロキシ/VPN ルールが正しいかどうかを検出し、DNS リークを防止する
- 特定のウェブサイト(ChatGPT、YouTube など)にアクセスできるかどうかをテストする
- ネットワークの遅延やルーティングの問題をトラブルシューティングする(MTR)
- Whois クエリや MAC アドレスのベンダー検索を行う
- ブラウザフィンガープリントとネットワークセキュリティの項目を包括的にチェックする
詳細説明
MyIP は、技術愛好家やプライバシー意識の高いユーザー向けに設計された、機能充実のセルフホスト型 IP ツールボックスです。複数のデータソースからローカルおよびパブリックの IPv4/IPv6 アドレスを同時に表示し、詳細な IP 地理情報(国、地域、ASN)を提供します。ウェブサイトの可用性チェック(Google、YouTube、ChatGPT、GitHub など)、WebRTC 検出、DNS リークテスト、通信速度テスト、プロキシルールテスト、グローバル遅延および MTR テスト、DNS リゾルバー(ドメイン汚染の判定が可能)、ウェブサイトブロックチェック、Whois 検索、MAC アドレス検索、ブラウザフィンガープリント計算、そして 258 項目のチェックを含むネットワークセキュリティチェックリストなど、多彩なネットワーク検査ツールを内蔵しています。ダークモード、PWA インストール、ショートカットキー操作に対応し、中国語/英語/フランス語/トルコ語のインターフェースを提供します。Node.js または Docker でデプロイ可能で、IP 地理データベースを取得するには MaxMind アカウントの無料登録が必要です。
トラブルシューティング & FAQ (1)
トラブル対応Express 5で、req.queryへの変更がミドルウェア間で失われるのはなぜですか?
Express 5 では req.query がゲッター経由で公開されているため、アクセスするたびに新しくパースされたオブジェクトが返されます。そのため、インプレースでの変更(例:req.query.type = req.query.type.toUpperCase())は、次のミドルウェアやハンドラーが実行される前に破棄されます。修正方法:書き換える前にパース済みのクエリを固定してください。例えば const query = { ...req.query } のようにコピーを作成してそれを変更し、その後代入し直す(req.query = query)か、明示的に受け渡します。MyIP ではこの問題により、requireValidRecordType のようなガードが type=caa をガード内でしか大文字化せず、ハンドラーには再び小文字の caa が渡され、CAA ルックアップが実行されずに N/A を返していました。この修正は PR #522(dev ブランチ)に取り込まれ、すべての正規化ガード(requireValidDomain、requireValidASN、normalizeAsnQuery、requireValidCountry)をカバーしています。テストの際には実際の Express リクエストオブジェクトを使用してください。プレーンオブジェクトによる req.query のモックではゲッターの動作を再現できません。
タグ
はじめ方
ソフトウェアをインストール
ダウンロードしたインストーラをダブルクリックし、指示に従ってください
ステップ1:Node.js(v18+)または Docker がインストールされていることを確認してください
ステップ2:コードをクローンして依存関係をインストール:git clone https://github.com/jason5ng32/MyIP.git && cd MyIP && npm install
ステップ3:ビルドして実行:npm run build && npm start、プログラムはデフォルトでポート 18966 をリッスンします
- ステップ1:Node.js(v18+)または Docker がインストールされていることを確認してください
- ステップ2:コードをクローンして依存関係をインストール:git clone https://github.com/jason5ng32/MyIP.git && cd MyIP && npm install
- ステップ3:ビルドして実行:npm run build && npm start、プログラムはデフォルトでポート 18966 をリッスンします
チェックサムがありません
このプロジェクトは GitHub Release ページに SHA-256 チェックサムを公開していません
SHA256 チェックサム
チェックサムなし
GitHub Releases から直接ダウンロードし、ファイルの整合性をご自身で確認してください
本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。
オープンソースの透明性
GitHub ソースを見るアンインストール情報
Node デプロイの場合は、MyIP ディレクトリを直接削除するだけです。Docker デプロイの場合は、`docker stop myip && docker rm myip && docker rmi jason5ng32/myip:latest` を実行してください。
追加の依存関係なし
ダウンロード後すぐに使用可能。追加のランタイムは不要です。
問題が発生?以下のFAQを確認
1 FAQ