This project is intended solely for technical research and code learning purposes and does not provide any form of network proxy service.
The Google Play version has been controlled by a third party since May 2024 and is a non-open source version. Please do not download it.
- SOCKS (4/4a/5)
- HTTP(S)
- SSH
- Shadowsocks
- ShadowsocksR
- VMess
- Trojan
- VLESS
- AnyTLS/AnyReality
- Snell 1/2/3/4/5
- ShadowTLS
- TUIC
- Juicity
- Hysteria 1/2 (including Gecko obfuscation, bundled)
- WireGuard
- MasterDnsVPN (DNS-tunnel, bundled)
- Mieru (bundled)
- Trojan-Go (trojan-go-plugin)
- NaïveProxy (naive-plugin)
XHTTP Extra TLS configuration example
{
"no_grpc_header": false, // stream-up/one
"x_padding_bytes": "100-10000",
"sc_max_each_post_bytes": 1000000, // packet-up only
"sc_min_posts_interval_ms": 30, // packet-up only
"xmux": {
"max_concurrency": "16-32",
"max_connections": "0-0",
"c_max_reuse_times": "0-0",
"h_max_request_times": "600-900",
"h_max_reusable_secs": "1800-3000",
"h_keep_alive_period": 0
},
"x_padding_obfs_mode": false,
"x_padding_key": "",
"x_padding_header": "",
"x_padding_placement": "",
"x_padding_method": "",
"uplink_http_method": "",
"session_placement": "",
"session_key": "",
"seq_placement": "",
"seq_key": "",
"uplink_data_placement": "",
"uplink_data_key": "",
"uplink_chunk_size": 0,
"download": {
"mode": "auto",
"host": "b.yourdomain.com",
"path": "/xhttp",
"no_grpc_header": false, // stream-up/one
"x_padding_bytes": "100-10000",
"sc_max_each_post_bytes": 1000000, // packet-up only
"sc_min_posts_interval_ms": 30, // packet-up only
"xmux": {
"max_concurrency": "16-32",
"max_connections": "0-0",
"c_max_reuse_times": "0-0",
"h_max_request_times": "600-900",
"h_max_reusable_secs": "1800-3000",
"h_keep_alive_period": 0
},
"x_padding_obfs_mode": false,
"x_padding_key": "",
"x_padding_header": "",
"x_padding_placement": "",
"x_padding_method": "",
"uplink_http_method": "",
"session_placement": "",
"session_key": "",
"seq_placement": "",
"seq_key": "",
"uplink_data_placement": "",
"uplink_data_key": "",
"uplink_chunk_size": 0,
"server": "$(ip_or_domain_of_your_cdn)",
"server_port": 443,
"tls": {
"enabled": true,
"server_name": "b.yourdomain.com",
"alpn": "h2",
"utls": {
"enabled": true,
"fingerprint": "chrome"
}
}
}
}
XHTTP Extra Reality configuration example
{
"no_grpc_header": false, // stream-up/one
"x_padding_bytes": "100-10000",
"sc_max_each_post_bytes": 1000000, // packet-up only
"sc_min_posts_interval_ms": 30, // packet-up only
"xmux": {
"max_concurrency": "16-32",
"max_connections": "0-0",
"c_max_reuse_times": "0-0",
"h_max_request_times": "600-900",
"h_max_reusable_secs": "1800-3000",
"h_keep_alive_period": 0
},
"x_padding_obfs_mode": false,
"x_padding_key": "",
"x_padding_header": "",
"x_padding_placement": "",
"x_padding_method": "",
"uplink_http_method": "",
"session_placement": "",
"session_key": "",
"seq_placement": "",
"seq_key": "",
"uplink_data_placement": "",
"uplink_data_key": "",
"uplink_chunk_size": 0,
"download": {
"mode": "auto",
"host": "example.com",
"path": "/xhttp",
"no_grpc_header": false, // stream-up/one
"x_padding_bytes": "100-10000",
"sc_max_each_post_bytes": 1000000, // packet-up only
"sc_min_posts_interval_ms": 30, // packet-up only
"xmux": {
"max_concurrency": "16-32",
"max_connections": "0-0",
"c_max_reuse_times": "0-0",
"h_max_request_times": "600-900",
"h_max_reusable_secs": "1800-3000",
"h_keep_alive_period": 0
},
"x_padding_obfs_mode": false,
"x_padding_key": "",
"x_padding_header": "",
"x_padding_placement": "",
"x_padding_method": "",
"uplink_http_method": "",
"session_placement": "",
"session_key": "",
"seq_placement": "",
"seq_key": "",
"uplink_data_placement": "",
"uplink_data_key": "",
"uplink_chunk_size": 0,
"server": "$(ip_or_domain_of_your_cdn)",
"server_port": 443,
"tls": {
"enabled": true,
"server_name": "example.com",
"reality": {
"enabled": true,
"public_key": "$(your_publicKey)",
"short_id": "$(your_shortId)"
},
"utls": {
"enabled": true,
"fingerprint": "chrome"
}
}
}
}
Trojan-Go and NaïveProxy require their external plugins for full proxy support.
- Some widely used formats (like Shadowsocks, ClashMeta and v2rayN)
- sing-box outbound
Only resolving outbound, i.e. nodes, is supported. Information such as diversion rules are ignored.
Core:
Android GUI:
Web Dashboard: