Awesome
本仓库分享的是主流科学上网的优化配置及最优组合示例(如不太了解科学上网,建议先简单到复杂参考部署。),可避免因配置不合理服务器被封问题,其特点如下:
- 实现了 V2Ray/Xray 应用(与 Shadowsocks、mKCP 关联的应用除外)使用 Local Loopback 连接与使用 UDS(Unix Domain Socket) 连接可选。
- 实现了 Xray 应用(与 mKCP 关联的应用除外)的 SNI 分流连接、回落/分流连接启用了 PROXY protocol 支持。
- 实现了 V2Ray/Xray 与 Caddy 的应用使用 UDS(Unix Domain Socket) 连接时采用 abstract 模式,不需考虑 UDS 路径及监听进程的访问权限。
- 实现了 Xray 与 Nginx 的应用使用 UDS(Unix Domain Socket) 连接时(回落/分流连接除外)采用附加访问权限形式,简单高效地解决了监听进程的访问权限。
- 实现了 JSON 配置 Caddy SNI 分流及定向 UDP 转发,且可针对不同分流端口或进程灵活决定是否开启 PROXY protocol 发送。
- 实现了 Caddy 的 NaiveProxy 除了支持 HTTPS 协议连接,还同时支持 QUIC 协议连接,即支持 HTTP/3 正向代理应用。
- 实现了由 Caddy 提供 TLS 证书的应用,其证书申请、更新及重载更新证书都可全自动化。
- 实现了正常应用与 CDN 流量中转(基于 WebSocket/HTTPUpgrade/gRPC/SplitHTTP over TLS) 应用可同时使用,且使用 CDN 进行流量中转也能获取到客户端真实 IP。
- 实现了服务端综合应用配置示例中所有非 RAW(更名前的 TCP) 传输方式的应用可删、可换、可增,灵活修改而不影响整体使用。
- 实现了除 V2Ray/Xray 的 mKCP 应用及 Hysteria 应用外,其它应用对外都使用 TCP/UDP 443 端口,各应用互不影响。
- 实现了除 V2Ray/Xray 的 mKCP 应用及 Hysteria 应用外,其它应用都支持流量伪装与防探测,且提供流量伪装与防探测的网站都支持 HTTP 自动跳转到 HTTPS,SSL/TLS 安全评估报告为 A+(非 AES 算法的密码套件配置示例除外) 等,即所有特征完全与真实网站一致。
服务端单一/简单应用配置示例
V2Ray/Xray 的 mKCP 应用
- V2Ray(VMess\VLESS+mKCP+seed)(VMess/VLESS+mKCP+seed 应用。VLESS+mKCP+seed 标记为 A。)
V2Ray/Xray 的反代 WebSocket 应用
- V2Ray(VMess+WebSocket)+Nginx\Caddy(VMess+WebSocket+TLS 应用。标记为 B。)
- V2Ray(SS+DD+WebSocket)+Nginx\Caddy(等同 Shadowsocks 加 v2ray-plugin 插件的 websocket-tls 应用。)
- V2Ray(VLESS+WebSocket)+Nginx\Caddy(VLESS+WebSocket+TLS 应用。)
- V2Ray(Trojan+WebSocket)+Nginx\Caddy(Trojan+WebSocket+TLS 应用。)
V2Ray/Xray 的反代 H2C 应用
- V2Ray(VLESS+H2C)+Caddy(VLESS+H2C+TLS 应用。标记为 D。)
- V2Ray(Trojan+H2C)+Caddy(Trojan+H2C+TLS 应用。)
V2Ray/Xray 的反代 gRPC 应用
- V2Ray(VMess+gRPC)+Nginx\Caddy(VMess+gRPC+TLS 应用。)
- V2Ray(SS+gRPC)+Nginx\Caddy(兼容 Shadowsocks 加 v2ray-plugin 插件的 grpc-tls 应用。标记为 G。)
- V2Ray(VLESS+gRPC)+Nginx\Caddy(VLESS+gRPC+TLS 应用。)
- V2Ray(Trojan+gRPC)+Nginx\Caddy(Trojan+gRPC+TLS 应用。)
Xray 的 Trojan 回落应用
- Xray(Trojan+RAW+TLS)+Nginx(回落 Nginx 的 Trojan+RAW+TLS 应用。标记为 F。)
- Xray(Trojan+RAW+TLS)+Caddy(回落 Caddy 的 Trojan+RAW+TLS 应用。标记为 F。)
Xray 的 XTLS Vision 应用
- Xray(VLESS+Vision+TLS)+Nginx(回落 Nginx 的 VLESS+Vision+TLS 应用。标记为 E。)
- Xray(VLESS+Vision+TLS)+Caddy(回落 Caddy 的 VLESS+Vision+TLS 应用。标记为 E。)
Xray 的 REALITY H2/gRPC 应用
- Xray(VLESS+H2C+REALITY)(VLESS+H2C+REALITY 应用。标记为 K。)
- Xray(SS+gRPC+REALITY)(Shadowsocks+gRPC+REALITY 应用。)
Xray 的 REALITY Vision 应用
- Xray(VLESS+Vision+REALITY)(VLESS+Vision+REALITY 应用。标记为 M。)
- Xray(M+K)(以 REALITY Vision 为核心的套娃应用。)
Xray 的反代 HTTPUpgrade 应用
- Xray(VMess+HTTPUpgrade)+Nginx\Caddy(VMess+HTTPUpgrade+TLS 应用。)
- Xray(VLESS+HTTPUpgrade)+Nginx\Caddy(VLESS+HTTPUpgrade+TLS 应用。)
- Xray(Trojan+HTTPUpgrade)+Nginx\Caddy(Trojan+HTTPUpgrade+TLS 应用。)
Xray 的反代 SplitHTTP 应用
- Xray(VMess+SplitHTTP)+Nginx\Caddy(VMess+SplitHTTP+TLS 应用。)
- Xray(VLESS+SplitHTTP)+Nginx\Caddy(VLESS+SplitHTTP+TLS 应用。)
- Xray(Trojan+SplitHTTP)+Nginx\Caddy(Trojan+SplitHTTP+TLS 应用。)
Caddy 的 NaiveProxy 与 Trojan-Go 应用
- NaiveProxy(Caddy+forwardproxy)(基于 Caddy 插件的 NaiveProxy 应用。标记为 N。)
- Trojan-Go(Caddy+caddy-trojan)(基于 Caddy 插件的 Trojan-Go 应用。标记为 T。)
- Caddy(N+T)(基于 Caddy 插件的 NaiveProxy 与 Trojan-Go 共存应用。)
Hysteria 应用
- Hysteria(基于修改 QUIC 协议实现的双边加速代理应用。)
服务端综合应用配置示例
以反代为核心的综合应用
- V2Ray(B+G+A)+Nginx(反代 WebSocket、gRPC 的综合应用。)
- V2Ray(B+D+G+A)+Caddy(N+T)(反代 WebSocket、H2C、gRPC 加 NaiveProxy 与 Trojian-Go 的综合应用。)
以 XTLS Vision 为核心的综合应用
- Xray(E+B+G+A)+Nginx(回落 Nginx 的综合应用。)
- Xray(E+B+G+A)+Caddy(回落 Caddy 的综合应用。)
以 REALITY Vision 为核心的综合应用
- Xray(M+B+G+A)+Nginx(由 Nginx 提供证书的综合应用。)
- Xray(M+B+D+G+A)+Caddy(N+T)(由 Caddy 提供证书的综合应用。)
由 Nginx/Caddy 兼顾 SNI 分流实现 XTLS Vision 与 Trojan 回落为核心的综合应用
- Xray(E+F+B+G+A)+Nginx(由 Nginx 兼顾 SNI 分流的综合应用。)
- Xray(E+F+B+D+G+A)+Caddy(N)(由 Caddy 兼顾 SNI 分流的综合应用。)
由 Nginx/Caddy 兼顾 SNI 分流实现 REALITY Vision 与 Trojan 回落为核心的综合应用
- Xray(M+F+B+G+A)+Nginx(由 Nginx 兼顾 SNI 分流的综合应用。)
- Xray(M+F+B+D+G+A)+Caddy(N)(由 Caddy 兼顾 SNI 分流的综合应用。)
注意(以上所有示例):
- Xray 是 V2Ray(v4 版) 的超集,包含其全部应用且配置完全兼容、还独有 XTLS Vision(主要解决 TLS in TLS 问题)、REALITY(主要解决基于 SNI 名单阻断问题) 等一系列增强应用。
- V2Ray/Xray 示例中各应用都配置了屏蔽 BT 流量,如要调整请参考 ‘V2Ray(Other Configuration)’ 中 bt_config.json 示例。
- V2Ray/Xray 单一核心应用简记:A=VLESS+mKCP+seed、B=VMess+WebSocket+TLS、D=VLESS+H2C+TLS、E=VLESS+Vision+TLS、F=Trojan+RAW+TLS、G=Shadowsocks+gRPC+TLS、K=VLESS+H2C+REALITY、M=VLESS+Vision+REALITY。
- Caddy 插件单一应用简记:N=NaiveProxy(Caddy+forwardproxy)、T=Trojan-Go(Caddy+caddy-trojan)。
- 目前 Caddy 从 Let's Encrypt 或 ZeroSSL 申请的免费 TLS 证书默认为 ECC 证书。
- 基于安全原因,WebSocket 传输方式的应用目前仅推荐使用 CDN 进行流量中转。
- 使用 Xray 的用户推荐使用 HTTPUpgrade 传输方式的应用替代 WebSocket 传输方式的应用,功能相同且效率更高。
- 若 CDN 流量中转不支持 WebSocket/HTTPUpgrade、gRPC 通过,可使用 SplitHTTP 传输方式的应用替换来解决。
- 若使用不可信的 CDN 进行流量中转,推荐使用自带加密的 VMess 或 Shadowsocks 协议配置;否则推荐使用轻量的 VLESS 或 Trojan 协议配置。
- 综合应用配置示例中非 RAW(更名前的 TCP) 传输方式的应用怎么删、换、增,请参考‘服务端单一/简单应用配置示例’中对应示例。
- 流量伪装与防探测网站可由其它 WEB 应用软件实现,其支持反代应用(反代 WebSocket/HTTPUpgrade、gRPC、SplitHTTP 及 H2C)与支持回落应用(提供 H2C server 及 HTTP/1.1 server 的 WEB 服务)等取决于自身,其配置自行参考 Caddy 或 Nginx 对应示例。
- 支持本仓库中应用的 Caddy 程序文件已编译好,去本人 Releases 中下载即可。
- Trojan-Go 安卓手机客户端也可以去本人 Releases 中下载(末尾)。
systemd 服务配置示例
Service Configuration(配置软件服务由 systemd 管理。)
服务端特殊应用配置示例
- V2Ray(Other Configuration) (V2Ray 或 Xray 的特色应用配置方法。)
- Caddy(Other Configuration) (Caddy 的特色应用配置方法。)
- Fusion Configuration (服务端深度融合配置方法。)
原版客户端配置示例
Client Configuration(若使用第三方客户端参考即可。)
更新及贡献
- 根据科学上网软件更新不定时调整示例,如科学上网软件有新增功能及应用等。
- 根据当前科学上网情况不定时调整示例,如删除当前情况下不安全或被替代的应用等。
- 欢迎你提交 PR,如对现行配置示例优化修订,或将自己使用的配置制作模板提交等。