翻墙服务器选择
电信最好选择 CN2 服务器,例如阿里云香港或新加坡。
翻墙路由器
技术栈:VPN / Shadowsocks + 中国IP路由直连 + DNS国内外域名解析分离
VPN / Shadowsocks
VPN 可以直接修改系统路由表实现全局翻墙。
Shadowsocks 需要配合 ss-redir 等。
中国IP路由直连
有两种方案:
- 纯路由表方案: 例如 chnroutes
- iptables + ipset 方案
参考 中国 IP
DNS
- 8.8.8.8, 8.8.4.4
DNS 国内外域名解析分离
同样有几种方案:
- ChinaDNS: 原理是同时向国内和国外 DNS 服务器发送解析请求。国内 DNS 直连,国外 DNS 通过 VPN 或代理访问。如果国内 DNS 返回的结果也是 国内 IP 并且不是被 GFW 污染的结果,则采用此结果;否则采用国外 DNS的解析结果。这种方案在实际使用中存在很多问题。
- dnsmasq-china-list,实际效果最好的方案。最好不定期更新一下国内网站域名列表。
代理
代理工作在 TCP / HTTP 层。包括 Socket5 / http / https(spdy) 代理等。常见的代理方案包含服务器端和客户端,之间通过加密方式通信以规避审查;客户端对本地 App 提供一个 Socket5 代理(默认通常监听 127.0.0.1:1080)。
Server
优化 / 加速
使用代理时,可以搭配一些网络优化工具以获得更高速度。
- 锐速 : 单边 tcp 加速,效果拔群。已停止维护,只支持旧的Linux内核版本。
- bbr : (推荐。部署最简单)tcp阻塞控制算法。效果与锐速类似。较新版Linux内核已包含,可直接启用。
- kcptun : 基于UDP的双向加速。需要同时安装服务器端和客户端。V2Ray 内置了 kcpkun。
- udp2raw-tunnel : 将 udp "转换"(伪装)为 raw socket (可模拟为Encrypted UDP/FakeTCP/ICMP)已绕过某些ISP对UDP的QoS。常用于配合 kcptun 使用。
- UDPspeeder : 在不稳定的网络环境下加速 tcp / udp / icmp。通过将其封装为含有冗余信息的udp流量以对抗(补偿)网络丢包。
- net-speeder : (不推荐)多倍发包以对抗网络丢包。不推荐因为收益低开销(多耗费的流量)大。优点是对环境要求低,支持OpenVZ;不仅支持代理,同样支持VPN流量加速。
Client
Windows
- 在同一端口同时提供 Socket5 和 http 代理。
- 支持自动设置系统代理 / PAC 设置。支持从GFWList自动生成PAC / 自定义 PAC。
一些命令行(cli)工具默认支持使用 HTTP_PROXY 环境变量设置 Http 代理,格式为 http://localhost:1080
使用 Proxifier 这个小软件可以强制不支持系统代理设置的软件走 Socket5代理,shadowsocks-win 内置了 proxifier。
iOS
- kitsunebi : V2ray 核心(兼容主流加密方式的 shadowsocks 服务器端)。
- Surge
Android
- shadowsocks-android: Play Store. 开源、免费的 Android shadowsocks 客户端。
- v2rayNG: Play Store
代理规则
代理规则一般工作在 TCP / HTTP 层。配合 Shadowsocks 等 Socket5 / HTTP 代理使用。
通常有“黑名单”和“白名单”两种方式。由于中国宽带连接大部分国外网站速度普遍很慢等原因,推荐使用“白名单”模式。
- 黑名单(Blacklist): 只有指定的(被墙)网站才通过代理连接。GFWList (AutoProxy 规则在线地址)。
- 白名单(Whitelist): 除了指定的(中国)网站以外,所有网站都通过代理连接。MatcherAny/whitelist.pac 或 pexcn/daily/../whitelist.pac (PAC规则在线地址)。
Chrome 推荐使用 SwitchyOmega 扩展。
iOS 上的一些代理 App 如 Kitsunebi, Surge 等使用自己私有的规则格式,推荐使用在线规则:
ConnersHua/Profiles (Surge、Quantumult、Kitsunebi、Shadowrocket、Pepi(ShadowRay)、Surfboard、Clash 的配置规则文件)