ランキングに戻る

xvzc/SpoofDPI

Go

A simple and fast anti-censorship tool written in Go

dpigolangdeep-packet-inspectioncensorship-freecensorship-circumventiondpi-bypassingdpi-filteringproxy-serveranti-censorship
スター成長
スター
3.9k
フォーク
264
週間成長
Issue
37
1k2k3k
2023年1月2024年1月2025年2月2026年3月
成果物Go Modulesgo get github.com/xvzc/SpoofDPI
README

SpoofDPI

Read in other Languages: 🇬🇧English, 🇰🇷한국어, 🇨🇳简体中文, 🇷🇺Русский, 🇯🇵日本語

A simple and fast software designed to bypass Deep Packet Inspection.

image

Installation

See the installation guide for SpoofDPI here.

Packaging status

Usage

Usage: spoofdpi [options...]
  -addr string
        listen address (default "127.0.0.1")
  -debug
        enable debug output
  -dns-addr string
        dns address (default "8.8.8.8")
  -dns-ipv4-only
        resolve only version 4 addresses
  -dns-port value
        port number for dns (default 53)
  -enable-doh
        enable 'dns-over-https'
  -pattern value
        bypass DPI only on packets matching this regex pattern; can be given multiple times
  -port value
        port (default 8080)
  -silent
        do not show the banner and server information at start up
  -system-proxy
        enable system-wide proxy (default true)
  -timeout value
        timeout in milliseconds; no timeout when not given
  -v    print spoofdpi's version; this may contain some other relevant information
  -window-size value
        chunk size, in number of bytes, for fragmented client hello,
        try lower values if the default value doesn't bypass the DPI;
        when not given, the client hello packet will be sent in two parts:
        fragmentation for the first data packet and the rest

If you are using any vpn extensions such as Hotspot Shield in Chrome browser, go to Settings > Extensions, and disable them.

OSX

Run spoofdpi and it will automatically set your proxy

Linux

Run spoofdpi and open your favorite browser with proxy option

google-chrome --proxy-server="http://127.0.0.1:8080"

How it works

HTTP

Since most websites in the world now support HTTPS, SpoofDPI doesn't bypass Deep Packet Inspections for HTTP requests, However, it still serves proxy connection for all HTTP requests.

HTTPS

Although TLS encrypts every handshake process, the domain names are still shown as plaintext in the Client hello packet. In other words, when someone else looks on the packet, they can easily guess where the packet is headed to. The domain name can offer significant information while DPI is being processed, and we can actually see that the connection is blocked right after sending Client hello packet. I had tried some ways to bypass this and found out that it seemed like only the first chunk gets inspected when we send the Client hello packet split into chunks. What SpoofDPI does to bypass this is to send the first 1 byte of a request to the server, and then send the rest.

Inspirations

Green Tunnel by @SadeghHayeri
GoodbyeDPI by @ValdikSS

関連リポジトリ
ValdikSS/GoodbyeDPI

GoodbyeDPI — Deep Packet Inspection circumvention utility (for Windows)

CApache License 2.0dpideep-packet-inspection
ntc.party/c/community-software/goodbyedpi
28.5k2.2k
apernet/OpenGFW

OpenGFW is a flexible, easy-to-use, open source implementation of GFW (Great Firewall of China) on Linux

GoGo ModulesMozilla Public License 2.0censorshipfiltering
gfw.dev
10.1k751
AprilNEA/OpenLogi

⚡️A native, local-first alternative to Logitech Options+, written in Rust 🦀 — remap buttons, DPI, and SmartShift over HID++. No account, no telemetry.

Rustcrates.ioApache License 2.0dpigpui
openlogi.org
7.1k179
dovecoteescapee/ByeDPIAndroid

App to bypass censorship on Android

KotlinGNU General Public License v3.0anticensorshipcensorship-circumvention
ntc.party/c/community-software/byedpi
5.4k278
xvzc/spoofdpi

Simple and fast anti-censorship tool written in Go

GoGo ModulesApache License 2.0dpigolang
spoofdpi.dev
4.9k330
SadeghHayeri/GreenTunnel

GreenTunnel is an anti-censorship utility designed to bypass the DPI system that is put in place by various ISPs to block access to certain websites.

JavaScriptnpmMIT Licensedpifiltering
4.9k308
domcyrus/rustnet

Per-process network monitoring for your terminal with deep packet inspection. Cross-platform, sandboxed.

Rustcrates.ioApache License 2.0ebpffreebsd
github.com/domcyrus/rustnet
4.8k220
ntop/nDPI

Open Source Deep Packet Inspection Software Toolkit

CGNU Lesser General Public License v3.0ndpidpi
ntop.org
4.5k997
denuitt1/mhr-cfw

A Domain-Fronting Relay that routes traffic though GAS (Google Apps Script) and forwards it to Cloudflare Workers. Designed to bypass DPI.

PythonPyPIMIT Licensecloudflare-workersdomain-fronting
4.4k428
strues/retinajs

JavaScript, SCSS, Sass, Less, and Stylus helpers for rendering high-resolution image variants

JavaScriptnpmMIT Licenseretinajavascript
retinajs.com
4.4k591
masterking32/MasterHttpRelayVPN

Domain-fronted HTTP/SOCKS5 proxy tunneling traffic through Google Apps Script with MITM TLS interception, HTTP/1-2 multiplexing, and DPI evasion.

PythonPyPIMIT Licensedpihttp
t.me/masterdnsvpn
3.9k454
hufrea/byedpi

Bypass DPI

CMIT Licensedpisocks
3.3k222