MCPcopy
hub / github.com/xvzc/spoofdpi

github.com/xvzc/spoofdpi @v1.5.3 sqlite

repository ↗ · DeepWiki ↗ · release v1.5.3 ↗
626 symbols 1,857 edges 85 files 170 documented · 27%
README

spoofdpi

[!CAUTION] SpoofDPI is NOT available on iOS or Android. Official binaries are ONLY provided through GitHub and official package managers. DO NOT download SpoofDPI from other sources, as they may contain malware.

[!NOTE] Repository Name Changed To comply with Go ecosystem standards and package naming conventions, the repository and module name have been changed from SpoofDPI to spoofdpi. If you are manually building from source or referencing the module, please update your URLs and imports accordingly.

spoofdpi is a simple proxy tool, mainly designed to neutralize the Deep Packet Inspection (DPI) techniques that power many internet censorship systems.

For more detailed information, please refer to the Official Documentation.

Join our Discord channel for discussions (If you can 😅).

📦 Packaging Status

Packaging status

☕ Github Sponsors

Your sponsorship directly fuels the motivation required for continued project maintenance. If you find spoofdpi valuable, please consider supporting @xvzc on Github.

💡 Inspirations

Green Tunnel by @SadeghHayeri
GoodbyeDPI by @ValdikSS

🔗 See Also

DPIBreak by @dilluti0n - kernel based circumvention tool for Linux and Windows

Extension points exported contracts — how you extend this code

HTTPSystemNetwork (Interface)
HTTPSystemNetwork handles OS-specific network configuration for HTTP proxy. [8 implementers]
internal/server/http/http.go
Key (Interface)
Key is the constraint for cache keys. Bytes() is required instead of String() because sharded caches use it to compute t [2 …
internal/cache/cache.go
Trie (Interface)
Trie is a generic key-value search tree. Set stores a value under the given key; Search returns the best match. [1 implementers]
internal/trie/trie.go
Handle (Interface)
Handle is a common interface for both afpacket (Linux) and pcap (Others) [1 implementers]
internal/packet/handle.go
BindFunc (FuncType)
BindFunc is called to configure the dialer before dialing. If it returns an error, the dial attempt fails.
internal/netutil/dial.go
Integer (Interface)
(no doc)
internal/config/parse.go
SOCKS5SystemNetwork (Interface)
SOCKS5SystemNetwork handles OS-specific network configuration for SOCKS5 proxy. [8 implementers]
internal/server/socks5/socks5.go
Cache (Interface)
Cache is the unified interface for all cache implementations.
internal/cache/cache.go

Core symbols most depended-on inside this repo

Run
called by 70
internal/logging/logging.go
String
called by 50
internal/netutil/key.go
findFrom
called by 31
internal/config/toml.go
isOk
called by 30
internal/config/validate.go
String
called by 27
internal/config/types.go
Close
called by 26
internal/packet/handle.go
Write
called by 25
internal/proto/socks5.go
Add
called by 25
internal/trie/trie.go

Shape

Function 270
Method 233
Struct 95
TypeAlias 14
Interface 13
FuncType 1

Languages

Go100%
TypeScript1%

Modules by API surface

internal/config/types.go39 symbols
internal/netutil/conn.go23 symbols
internal/desync/tls.go17 symbols
internal/config/types_test.go17 symbols
internal/server/tun/tun.go16 symbols
cmd/spoofdpi/tui.go16 symbols
internal/dns/addrselect/addrselect.go15 symbols
internal/cache/ttl_cache.go15 symbols
internal/proto/http.go14 symbols
internal/config/parse.go14 symbols
internal/cache/cache.go14 symbols
internal/session/session.go13 symbols

Dependencies from manifests, versioned

github.com/aymanbagabas/go-osc52/v2v2.0.1 · 1×
github.com/charmbracelet/bubblesv1.0.0 · 1×
github.com/charmbracelet/colorprofilev0.4.1 · 1×
github.com/charmbracelet/x/ansiv0.11.6 · 1×
github.com/charmbracelet/x/cellbufv0.0.15 · 1×
github.com/charmbracelet/x/termv0.2.2 · 1×
github.com/clipperhouse/displaywidthv0.9.0 · 1×
github.com/clipperhouse/stringishv0.1.1 · 1×
github.com/clipperhouse/uax29/v2v2.5.0 · 1×

For agents

$ claude mcp add spoofdpi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact