A simple and fast anti-censorship tool written in Go
  • Go 98.7%
  • Nix 0.6%
  • Shell 0.6%
Find a file
2026-05-05 05:10:58 +09:00
.claude chore(claude): forbid conventional-commits breaking-change markers by default 2026-05-05 05:09:22 +09:00
.github ci(gh-pages): trigger docs deploy on release instead of every main push 2026-05-05 05:09:22 +09:00
cmd/spoofdpi refactor(config): hoist rules to top-level, deprecate [[policy.overrides]] 2026-05-05 05:09:22 +09:00
docs refactor(config): hoist rules to top-level, deprecate [[policy.overrides]] 2026-05-05 05:09:22 +09:00
internal style(cli): use single quotes for dns-mode value list in usage text 2026-05-05 05:09:22 +09:00
.commitlintrc.js chore(ci): replace amannn PR-title lint with commitlint (#379) 2026-04-29 21:32:49 +09:00
.envrc refactor: reorganize project folder structure for maintainability (#291) 2025-10-29 22:50:53 +09:00
.gitignore chore: add flake.nix (#346) 2025-12-18 13:26:05 +09:00
.gitmessage feat: support TUI mode (#378) 2026-04-29 21:46:43 +09:00
.golangci.yml chore(lint): pin golangci-lint to 2.12.1 and drop goconst 2026-05-05 05:09:22 +09:00
.goreleaser.yaml chore: rename repositroy name (#368) 2026-04-02 16:05:02 +09:00
.manifest.json chore(main): release 1.5.0 2026-05-05 05:10:58 +09:00
CHANGELOG.md chore(main): release 1.5.0 2026-05-05 05:10:58 +09:00
Dockerfile chore: rename repositroy name (#368) 2026-04-02 16:05:02 +09:00
flake.lock chore: add flake.nix (#346) 2025-12-18 13:26:05 +09:00
flake.nix chore: rename repositroy name (#368) 2026-04-02 16:05:02 +09:00
go.mod fix(tui): wrap log lines to viewport width 2026-05-05 05:09:22 +09:00
go.sum feat: support TUI mode (#378) 2026-04-29 21:46:43 +09:00
install.sh chore: rename repositroy name (#368) 2026-04-02 16:05:02 +09:00
LICENSE Update LICENSE 2023-02-17 01:53:03 +09:00
logo.txt feat: support TUI mode (#378) 2026-04-29 21:46:43 +09:00
mkdocs.yml chore(docs): align mkdocs frontmatter ordering 2026-05-05 05:09:22 +09:00
README.md docs: add caution block warning about unofficial distributions (#372) 2026-04-03 21:18:04 +09:00
shell.nix chore(lint): pin golangci-lint to 2.12.1 and drop goconst 2026-05-05 05:09:22 +09:00
Taskfile.yaml chore: update Taskfile.yml 2026-05-05 05:09:22 +09:00

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