Tools to Bypass Internet Censorship: A Complete Guide to the Fanqiang Repository
The bannedbook/fanqiang repository provides a comprehensive open-source collection of tools to bypass internet censorship, combining cross-platform configuration guides with Python automation scripts for maintaining proxy blocklists.
This centralized resource addresses the need for reliable circumvention methods by organizing tools to bypass internet censorship into two pillars: educational documentation for manual deployment and automated utilities for blocklist management. The repository supports major proxy protocols including Shadowsocks, V2Ray, Trojan, and WireGuard across Windows, macOS, Android, iOS, and router platforms.
Supported Proxy Protocols
The repository covers established anti-censorship protocols, each optimized for different network environments.
Shadowsocks and ShadowsocksR (SSR) provide lightweight, high-performance proxy solutions suitable for most users. V2Ray (VMess/VLESS) offers advanced obfuscation with WebSocket and TLS tunneling capabilities to evade deep packet inspection. Trojan disguises proxy traffic as standard HTTPS connections, while WireGuard implements modern cryptographic standards for VPN-style protection.
Platform-Specific Configuration Guides
Documentation is organized by operating system in dedicated directories, providing exact file paths for client setup.
Windows Setup
The windows/readme.md file contains instructions for configuring V2RayN, ShadowsocksR, and Clash (DotNetFramework version). These guides cover server subscription imports, local SOCKS5/HTTP port configuration, and system proxy integration.
macOS Setup
For Apple computers, macos/readme.md details installation procedures for ClashX, Surge, and V2rayX. The documentation addresses macOS-specific requirements including certificate trust settings and kernel extension approvals.
Mobile Device Configuration
Android users reference android/readme.md for V2RayNG and ShadowsocksR setup, while iOS documentation in ios/readme.md explains configuration for Quantumult, Shadowrocket, and Surge. These guides focus on manual server entry and per-app VPN activation.
Router and Gateway Deployment
The router/readme.md guide enables network-wide protection through OpenWRT, ASUS Merlin, and Docker deployments. Router-level configuration intercepts traffic at the network gateway, protecting devices like smart TVs and gaming consoles that cannot run native VPN clients.
Automating Blocklist Management
The repository includes Python utilities in fqnews/core/gfwlist/ to automate maintenance of the Great Firewall Blocklist (GFWList).
According to the source code, gen.py fetches the latest encoded GFWList from upstream GitHub repositories, while parse.py converts base64-encoded entries into plain domain lists or PAC files. These scripts enable automated updates to stay ahead of new censorship rules.
# Generate the latest GFWList and write a plain-domain file
# (requires Python 3.7+ and the requests library)
import pathlib
from fqnews.core.gfwlist.gen import fetch_gfwlist
from fqnews.core.gfwlist.parse import gfwlist_to_domains
# 1. Download the raw GFWList
raw = fetch_gfwlist()
# 2. Convert to a simple domain list
domains = gfwlist_to_domains(raw)
# 3. Save to a file that can be imported by most clients
out_path = pathlib.Path("gfwlist_domains.txt")
out_path.write_text("\n".join(sorted(domains)), encoding="utf-8")
print(f"Saved {len(domains)} domains to {out_path}")
Executing this script with python -m fqnews.core.gfwlist.gen generates a gfwlist_domains.txt file compatible with Shadowsocks, V2Ray, and other PAC-aware clients.
Server Deployment Tutorials
The v2ss/ directory contains VPS tutorials such as 自建V2ray服务器简明教程.md (Self-built V2Ray Server Concise Tutorial). These documents detail provisioning virtual private servers on providers like Vultr and DigitalOcean, installing server-side components, and configuring TLS certificates for domain-fronting.
Summary
- The bannedbook/fanqiang repository provides tools to bypass internet censorship through a combination of documentation and automation code.
- Supported protocols include Shadowsocks, V2Ray, Trojan, and WireGuard with platform-specific guides for Windows, macOS, Android, iOS, and routers.
- Configuration files reside in
windows/readme.md,macos/readme.md,android/readme.md,ios/readme.md, androuter/readme.md. - Python scripts
fqnews/core/gfwlist/gen.pyandparse.pyautomate GFWList updates for maintaining current censorship blocklists. - VPS deployment guides enable private server infrastructure for circumventing network restrictions.
Frequently Asked Questions
What makes the fanqiang repository different from other censorship circumvention tools?
The repository combines educational documentation with automation utilities, offering both manual setup guides for multiple platforms and Python scripts to maintain updated blocklists. Unlike single-purpose tools, it provides a complete ecosystem from client configuration to server deployment.
How does the GFWList automation work?
The fqnews/core/gfwlist/gen.py script retrieves the latest GFWList from upstream sources, while fqnews/core/gfwlist/parse.py decodes the base64-encoded list into plain domain entries. This automation ensures proxy clients always route traffic around the most current censorship blocks without manual updates.
Which protocol offers the best performance for bypassing strict censorship?
V2Ray with WebSocket and TLS transport provides effective obfuscation against deep packet inspection, while Trojan offers superior camouflage by mimicking standard HTTPS traffic. The repository's v2ss/ tutorials provide specific configuration templates for high-censorship environments.
Can I use these tools on devices that don't support VPN apps?
Yes. By following the router/readme.md guide, you can deploy OpenWRT or Merlin firmware configurations that route entire network traffic through proxy tunnels. This approach protects devices like Apple TV, gaming consoles, and IoT hardware that lack native VPN support.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →