NoDPI
Say NO to blocking!
[!IMPORTANT] This project is a fork of the repository https://github.com/theo0x0/nodpi and is developed independently. Do not confuse with https://github.com/raspabamos/nodpi !
[!NOTE] This version is for desktop systems. The Android version is available here: https://github.com/GVCoder09/NoDPI4Android
🌐 Website & Documentation - user-friendly guide and overview
Read this in other languages / Читайте на других языках
Table of Content
- NoDPI
Description
NoDPI is a utility designed to bypass DPI (Deep Packet Inspection). What is DPI? DPI is a technology for inspecting network packets based on their content to regulate and filter traffic. It is often used by internet service providers to censor and block access to certain web resources and protocols. The goal of this program is to "trick" DPI by modifying network packets, although in reality, this trickery is often simply a consequence of a lack of computing resources and time.
This utility was developed primarily for Russian users as a simpler (but less powerful) replacement for similar tools. In most cases, it gets the job done; in particular, it allows you to use YouTube without any problems.
But unfortunately, the absolute performance of this utility cannot be guaranteed. Some sites, such as YouTube, are good to unlock, while others, as Instagram.com or Facebook.com, require completely different methods for bypassing locks, which are not yet implemented in this utility from their low-leveling and difficulty. Sometimes, the performance of certain sites can also depend on the provider - how it blocks the site and what technical means applies.
How does this work
NoDPI launches a proxy server on your computer through which you direct http(s) traffic. The program intercepts ClientHello of outing connections and fragments them according to the following method:
The packet contains a field that holds the SNI record. The ClientHello message is split into several TLS records: the portion preceding the SNI, the portion containing the SNI (character by character), and the portion following the SNI. A header indicating the ClientHello type is added to each of these parts. Unless out-of-order packet handling (disordering) is disabled, the first of these parts is sent with a TTL=1, causing it to be dropped by the nearest network device. As a result, the DPI (Deep Packet Inspection) system fails to identify the domain for which the connection is being established and allows the connection to proceed. The operating system subsequently retransmits the first part with a standard TTL.
Also, the TLS version is replaced by version 1.3, which is the most modern (but this does not mean that your data begins to be transmitted according to the specifications of this version). All this together allows you to get around the lock.
[!IMPORTANT] NoDPI only works with HTTPS traffic. He can also take HTTP traffic, but purely for compatibility - sites working through this outdated protocol are practically not subject to unlock and the program simply sends traffic to the addressee.
NoDPI does not collect and does not send any data about you, does not use any third -party programs and libraries, does not interfere in the system processes and does not require administrator rights to work.
The entire NoDPI code is written exclusively on the Python and uses only its standard library.
Key advantages and features
- Open source
- Easy to use, launch, and configure. The program has an intuitive interface. Using the utility requires no special knowledge; it can be launched by any user without administrator rights.
- The program works with a list of blocked domains and can automatically detect blocked websites.
- Cross-platform support ensures stable operation on Windows/Linux/MacOS. An Android version is also available.
- The program can be integrated into a corporate network and used by staff, rather than just an individual.
- Supports error and access logging. You can see who visited specific websites and when.
- Ability to add yourself to autostart on Windows/Linux
Sites currently unavailable via NoDPI
As of October 2026, the following services and websites cannot be unblocked using NoDPI:
- Telegram
- Voice and video in Discord
Please use GoodbyeDPI by @ValdikSS or another tools. All sites blocked by IP address are also unavailable.
Alternatives
- GoodbyeDPI by @ValdikSS (for Windows)
- zapret by @bol-van (for MacOS, Linux and Windows)
- Green Tunnel by @SadeghHayeri (for MacOS, Linux and Windows)
- DPI Tunnel CLI by @zhenyolka (for Linux and routers)
- DPI Tunnel for Android by @zhenyolka (for Android)
- PowerTunnel by @krlvm (for Windows, MacOS and Linux)
- PowerTunnel for Android by @krlvm (for Android)
- SpoofDPI by @xvzc (for macOS and Linux)
- SpoofDPI-Platform by @r3pr3ss10n (for Android, macOS, Windows)
- GhosTCP by @macronut (for Windows)
- ByeDPI for Linux/Windows + ByeDPIAndroid for Android (no root)
- youtubeUnblock by @Waujito (for OpenWRT/Entware routers and Linux)
Terms of Use and Disclaimer
[!WARNING] By using this software in any form or distributing it, you accept the following terms of use and disclaimer
The developer and/or supplier of this software shall not be liable for any loss or damage, including but not limited to direct, indirect, incidental, punitive or consequential damages arising out of the use of or inability to use this software, even if the developer or supplier has been advised of the possibility of such damages.
The developer and/or supplier of this software shall not be liable for any legal consequences arising out of the use of this software. This includes, but is not limited to, violation of laws, rules or regulations, as well as any claims or suits arising out of the use of this software. The user is solely responsible for compliance with all applicable laws and regulations when using this software.
The developer and/or supplier of this software shall not be liable for any loss or damage arising out of the unauthorized use of this software. Unauthorized use includes, but is not limited to, using the software for illegal purposes, infringing copyrights, patents, trademarks or other intellectual property rights, or using the software in violation of the license terms of the software.
This software may not be used for illegal or unlawful purposes. Any use of the software for illegal activities, including but not limited to fraud, hacking, privacy violation, distribution of malware or any other actions contrary to the code and regulations is strictly prohibited. The user is fully responsible for any legal consequences arising from the use of this software for illegal purposes.
Your use of this software constitutes your agreement to the terms of this disclaimer. If you do not agree to these terms, you must stop using this software immediately.
Quick start
- Download the latest version for your OS from the Releases page and unzip it
- Go to the directory with the unzipped utility and run it with the command
nodpi.exe --blacklist blacklist.txtin Windows or./nodpi --blacklist ./blacklist.txtin Linux. You can replace the fileblacklist.txtwith your own file. If the blacklist file is not specified, the program will search for the fileblacklist.txtin the current directory by default. - In the browser or system settings, set the proxy to 127.0.0.1:8881
- Enjoy!
[!IMPORTANT] Don't forget to disable the proxy in your system or browser settings after closing the program!
Please report any problems and malfunctions to us on the Issues page
Additional Blacklists
By default, a blacklist containing YouTube-only domains is used. Additional lists can be found here.
Add to startup in Windows and Linux
[!NOTE] This option is only available in executable versions
[!IMPORTANT] Make sure the file
blacklist.txtis located next to the executable file.
- Run the command
nodpi --install. The program will be added to startup via the Windows registry (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run) or viasystemdin Linux - Restart your computer
- Enjoy!
Supported arguments
usage: nodpi [-h] [--host HOST] [--port PORT] [--out-host OUT_HOST]
[--blacklist BLACKLIST | --no-blacklist | --autoblacklist]
[--no-disorder]
[--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
--no-disorder Disable disordering
--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)
Running on Windows 7
There is no ready-to-use build for Windows 7 yet. To run NoDPI on this OS, you will need Python 3.7-3.8. You can also use the Python embeddable package, which does not require installation.
Run from source code
- Make sure you have Python 3.8 or higher installed. No third-party libraries are required
- Clone the repository
git clone https://github.com/GVCoder09/NoDPI.gitor download the archive with the source code and unzip it - Go to the main directory and run the code with the command
python3 src/main.py - In the browser or system settings, set the proxy to 127.0.0.1:8881
- Enjoy!
You can enable error or access logging using parameters --log_error and --log_access
Building the executable
- Make sure you have Python 3.8 or higher installed.
- Install pyinstaller:
pip install pyinstaller - Clone the repository
git clone https://github.com/GVCoder09/NoDPI.gitor download the archive with the source code and unzip it - Go to the main directory and run the command
pyinstaller ./nodpi.spec - The compiled file will be located in ist folder
./dist
Run in Docker
- Install Docker.
- Clone the repository:
git clone https://github.com/GVCoder09/NoDPI - Navigate to the project directory and build the container:
cd NoDPI sudo docker build -t nodpi-proxy . - Run the container with the command:
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 - Enjoy!
FAQ
Q: Is using NoDPI legal in Russia?
A: Yes, its usage is completely legal as of October 2025. However, you can be held administratively liable for advertising and distributing tools designed to circumvent blocking.
Q: Is it safe?
A: Yes, using this utility is safe. All traffic sent over HTTPS remains encrypted as it was before. Furthermore, we do not collect any user information.
Q: Does this program mask my traffic? Can my ISP not see which sites I visit?
A: No. Unlike a VPN or Tor, this program does not hide your traffic from your Internet Service Provider (ISP). Your ISP can still see the IP addresses of the websites you connect to.

