FreeGFW is a high-performance proxy service management system built on the Sing-box and Xray core. It provides a modern web interface for easily deploying, managing, and monitoring various proxy protocol services.
FreeGFW aims to provide a simple, powerful proxy management system, making it easy for users to deploy and manage their own proxy services. It simplifies circumvention, allowing ordinary people to easily use proxy services. To facilitate use by everyone, it fundamentally eliminates FreeGFW's fingerprint characteristics to avoid detection and scanning by search engines.

The system comes with the following out-of-the-box configuration templates to meet different network environments and anti-blocking needs:
| Template Name | Core Protocol | Transport Layer | Encryption / Obfuscation |
|---|---|---|---|
| VLESS+TCP+Reality+Vision | VLESS | TCP | Reality + Vision |
| VLESS+XHTTP+Reality | VLESS | XHTTP | Reality |
| VLESS+TCP+XTLS | VLESS | TCP | XTLS |
| Hysteria2 | Hysteria2 | UDP | QUIC-based |
| NaiveProxy | NaiveProxy | HTTPS | TLS |
| VMess+AEAD+TCP+TLS | VMess | TCP | Traditional TLS |
| VMess+AEAD+WS+TLS | VMess | WebSocket | Traditional TLS |
| VMess+AEAD+TCP | VMess | TCP | AEAD |
| Shadowsocks (AES-256-GCM) | Shadowsocks | TCP | AES-256-GCM |
Automatically install Docker and deploy the FreeGFW container. It will show the server IP upon successful deployment.
curl -fsSL https://raw.githubusercontent.com/haradakashiwa/freegfw/main/install.sh | bash
Install directly on the host machine as a Systemd service (without Docker).
curl -fsSL https://raw.githubusercontent.com/haradakashiwa/freegfw/main/install-systemd.sh | bash
docker run -d --name freegfw --network=host \
-v "freegfw:/data" \
ghcr.io/haradakashiwa/freegfw
8080, can be modified via environment variable PORT.data/ directory.FreeGFW innovatively introduces the "Link" feature, allowing you to interconnect multiple FreeGFW nodes to form a decentralized proxy network.
The original intention of designing this feature is that the characteristics of airports or service providers on the market are very obvious. We need to bypass this physical characteristic. Allowing users to build their own node proxy network is essentially decentralized, which can effectively reduce the risk of being blocked. At the same time, we hope to provide a simple and easy-to-use way to manage these nodes, so that users can easily add, delete, and manage their own nodes.
graph TD
User([User Device])
subgraph "FreeGFW Network"
NodeA["Node A (US)"]
NodeB["Node B (HK)"]
NodeC["Node C (JP)"]
NodeA <== Auto Sync ==> NodeB
NodeB <== Auto Sync ==> NodeC
NodeA <== Auto Sync ==> NodeC
end
User -- "1. Get Subscription" --> NodeA
NodeA -- "2. Return A+B+C Config" --> User
User -. "3. Proxy Connection" .-> NodeA
User -. "3. Proxy Connection" .-> NodeB
User -. "3. Proxy Connection" .-> NodeC
Welcome to submit Issues and Pull Requests to help improve this project!
GPLv3
—
$ claude mcp add FreeGFW \
-- python -m otcore.mcp_server <graph>