
TLS ClientHelloパケットを断片化することでディープパケットインスペクション(DPI)を回避し、管理者権限を必要とせずにブロックされたウェブサイトへのアクセスを可能にするローカルプロキシ。
ブロッキングにノーと言おう!
[!IMPORTANT] このプロジェクトは https://github.com/theo0x0/nodpi リポジトリのフォークであり、独立して開発されています。https://github.com/raspabamos/nodpi と混同しないでください!
[!NOTE] このバージョンはデスクトップシステム向けです。Android版はこちらから入手できます: https://github.com/GVCoder09/NoDPI4Android
🌐 ウェブサイト&ドキュメント - 使いやすいガイドと概要
他の言語で読む / Читайте на других языках
NoDPIは、DPI(Deep Packet Inspection)を回避するために設計されたユーティリティです。DPIとは何でしょうか? DPIは、ネットワークパケットをその内容に基づいて検査し、トラフィックを規制・フィルタリングするための技術です。これは多くの場合、インターネットサービスプロバイダーが特定のWebリソースやプロトコルへのアクセスを検閲・ブロックするために使用されます。このプログラムの目的は、ネットワークパケットを変更することでDPIを「だます」ことですが、実際には、この欺瞞は多くの場合、単に計算リソースと時間の不足の結果であることが多いです。
このユーティリティは、類似ツールのよりシンプルで(ただし性能は劣る)代替品として、主にロシアのユーザー向けに開発されました。ほとんどの場合、目的は達成できます。特に、YouTubeを問題なく利用できるようになります。
しかし残念ながら、このユーティリティの絶対的な性能は保証できません。YouTubeのような一部のサイトは解除しやすい一方、Instagram.comやFacebook.comのような他のサイトは、ロックを回避するためにまったく別の方法を必要とします。これらの方法は、その低レベルさと困難さから、このユーティリティではまだ実装されていません。また、特定のサイトの性能はプロバイダーによって異なる場合があります。プロバイダーがサイトをどのようにブロックし、どのような技術的手段を使用しているかによります。
NoDPIは、コンピュータ上にプロキシサーバーを起動し、そのサーバーを経由してhttp(s)トラフィックを転送します。プログラムは発信接続のClientHelloを傍受し、以下のいずれかの方法に従って断片化します。
SNIによる断片化(デフォルト)
パケットにはSNIレコードを含むフィールドが含まれます。ClientHelloは、SNI前の部分、SNIの1文字ずつ、SNI後の部分の複数のTLSレコードに分割されます。各部分にはClientHelloタイプを示すヘッダーが付加され、その後、全体のパケットが単一のパケットとして送信されます。
ランダム断片化
ClientHelloはランダムな長さの複数の部分に分割されます。各部分にはClientHelloタイプのプレフィックスが付加され、その後、すべてが1つのパッケージとして送信されます。
また、方法に関係なく、TLSバージョンは最新の1.3に置き換えられます(ただし、これはあなたのデータがこのバージョンの仕様に従って送信され始めることを意味するものではありません)。これらすべてを組み合わせることで、ロックを回避できます。どうやらDPIは、この「ボール」を解きほぐすために必要な能力をまだ持っておらず、時間と労力を節約するためにそのようなトラフィックを単に無視しているようです。しかし、これらの方法はすぐに使えなくなる可能性もあります。
[!IMPORTANT] NoDPIはHTTPSトラフィックでのみ機能します。HTTPトラフィックも処理できますが、これは純粋に互換性のためです。この古いプロトコルを介して動作するサイトは事実上ロック解除の対象ではなく、プログラムは単にトラフィックを宛先に送信します。
NoDPIは、あなたに関するデータを収集・送信せず、サードパーティのプログラムやライブラリも使用せず、システムプロセスに干渉せず、動作に管理者権限も必要としません。
NoDPIのコードはすべてPythonでのみ書かれており、標準ライブラリのみを使用しています。
2026年2月現在、以下のサービスおよびWebサイトはNoDPIではブロックを解除できません。
GoodbyeDPI(作成者: @ValdikSS)または他のツールを使用してください。IPアドレスでブロックされているすべてのサイトも利用できません。
[!WARNING] 本ソフトウェアをいかなる形式であれ使用または配布することにより、以下の利用規約および免責事項に同意したものとみなされます。
本ソフトウェアの開発者および/または提供者は、たとえ開発者または提供者がかかる損害の可能性について事前に通知されていたとしても、本ソフトウェアの使用または使用不能に起因する直接的、間接的、付随的、懲罰的または結果的な損害を含む(ただしこれらに限定されない)いかなる損失または損害についても責任を負いません。
本ソフトウェアの開発者および/または提供者は、本ソフトウェアの使用に起因するいかなる法的結果についても責任を負いません。これには、法律、規則または規制の違反、ならびに本ソフトウェアの使用に起因する請求や訴訟が含まれます(ただしこれらに限定されません)。ユーザーは、本ソフトウェアを使用する際に適用されるすべての法律および規制を遵守する単独の責任を負います。
本ソフトウェアの開発者および/または提供者は、本ソフトウェアの不正使用に起因するいかなる損失または損害についても責任を負いません。不正使用には、違法な目的でのソフトウェアの使用、著作権、特許、商標またはその他の知的財産権の侵害、ソフトウェアのライセンス条件に違反したソフトウェアの使用が含まれます(ただしこれらに限定されません)。
本ソフトウェアは、違法または不法な目的で使用してはなりません。詐欺、ハッキング、プライバシー侵害、マルウェアの配布、その他法律および規制に反するあらゆる行為を含む(ただしこれらに限定されない)違法行為へのソフトウェアの使用は固く禁止されています。ユーザーは、違法な目的で本ソフトウェアを使用したことに起因するすべての法的結果について全責任を負います。
本ソフトウェアを使用すると、本免責事項の条項に同意したことになります。これらの条項に同意しない場合は、直ちに本ソフトウェアの使用を中止する必要があります。
nodpi.exe --blacklist blacklist.txt、Linuxでは ./nodpi --blacklist ./blacklist.txt コマンドで実行します。blacklist.txt ファイルは独自のファイルに置き換えることができます。ブラックリストファイルを指定しない場合、プログラムはデフォルトでカレントディレクトリの blacklist.txt ファイルを検索します。[!IMPORTANT] プログラムを閉じた後、システムまたはブラウザの設定でプロキシを無効にすることを忘れないでください!
問題や不具合は、Issuesページでご報告ください。
デフォルトでは、YouTube専用ドメインを含むブラックリストが使用されます。追加のリストはこちらにあります。
[!NOTE] このオプションは実行可能バージョンでのみ利用可能です
[!IMPORTANT]
blacklist.txtファイルが実行可能ファイルの隣にあることを確認してください。
nodpi --install コマンドを実行します。プログラムはWindowsレジストリ(HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run)またはLinuxの systemd を介して自動起動に追加されますusage: nodpi [-h] [--host HOST] [--port PORT] [--out-host OUT_HOST]
[--blacklist BLACKLIST | --no-blacklist | --autoblacklist]
[--fragment-method {sni,random}]
[--domain-matching {loose,strict}]
[--auth-username AUTH_USERNAME] [--auth-password AUTH_PASSWORD] [--log-access LOG_ACCESS] [--log-error LOG_ERROR]
[-q] [--start-in-tray]
[--install | --uninstall]
options:
-h, --help show this help message and exit
--host HOST Proxy host
--port PORT Proxy port
--out-host OUT_HOST Outgoing proxy host
--blacklist BLACKLIST
Path to blacklist file
--no-blacklist Use fragmentation for all domains
--autoblacklist Automatic detection of blocked domains
--fragment-method {sni,random}
Fragmentation method (sni by default)
--domain-matching {loose,strict}
Domain matching mode (strict by default)
--auth-username AUTH_USERNAME
Username for proxy authentication
--auth-password AUTH_PASSWORD
Password for proxy authentication
--log-access LOG_ACCESS
Path to the access control log
--log-error LOG_ERROR
Path to log file for errors
-q, --quiet Remove UI output
--start-in-tray Start minimized to tray (Windows only)
--install Add proxy to Windows/Linux autostart (only for executable version)
--uninstall Remove proxy from Windows/Linux autostart (only for executable version)
Windows 7向けの既製ビルドはまだありません。このOSでNoDPIを実行するには、Python 3.7-3.8が必要です。インストールが不要なPython組み込みパッケージを使用することもできます。
git clone https://github.com/GVCoder09/NoDPI.git またはソースコード付きのアーカイブをダウンロードして解凍しますpython3 src/main.py コマンドでコードを実行しますエラーまたはアクセスログは、パラメータ --log_error と --log_access を使用して有効にできます。
pip install pyinstallergit clone https://github.com/GVCoder09/NoDPI.git またはソースコード付きのアーカイブをダウンロードして解凍しますpyinstaller ./nodpi.spec コマンドを実行します./dist フォルダにありますgit clone https://github.com/GVCoder09/NoDPIcd NoDPI
sudo docker build -t nodpi-proxy .
sudo docker run -d \
--name nodpi \
-p 8881:8881 \
-v $(pwd)/blacklist.txt:/tmp/nodpi/blacklist.txt \
nodpi-proxy \
--host 127.0.0.1 \
--port 8881 \
--blacklist /tmp/nodpi/blacklist.txt \
--quiet
Q: ロシアでNoDPIを使用することは合法ですか?
A: はい、2025年10月現在、その使用は完全に合法です。ただし、ブロッキング回避を目的としたツールの宣伝や配布については、行政責任を問われる可能性があります。
Q: 安全ですか?
A: はい、このユーティリティの使用は安全です。HTTPSで送信されるすべてのトラフィックは、これまでと同様に暗号化されたままです。さらに、当方はユーザー情報を一切収集しません。
Q: このプログラムは私のトラフィックを隠しますか?私のISPは私が訪問したサイトを見ることができないのですか?
A: いいえ。VPNやTorとは異なり、このプログラムはインターネットサービスプロバイダー(ISP)からトラフィックを隠しません。ISPは、接続先のWebサイトのIPアドレスを引き続き見ることができます。