-
Notifications
You must be signed in to change notification settings - Fork 64
Home
好吧! 也许到时候公布新功能了. 关心这个项目的人, 绝大部分懂中文, 咱也就不装了, 不飙英文了, 累.
据说 SS 和 SSR 被 GFW 精准识别了, 有6月初的梯子大屠杀为证, 咱也没有心思去辨别真伪了.
因为俺正在憋大招, GFW 不是老在搞 深度包检测(DPI) 吗?
SS/SSR 与 GFW 在这一点上斗了好多年, 我加点伪装, 你加大侦测力度, 我再加点混淆, 你再加点AI识别算法, 此消彼长, 犬牙交错, 无穷无尽. 俺厌倦透了.
咱不装了, 咱来真的, 我们给 GFW 带来全新礼物, 给 SSR 添加了 over TLS 特性, 用真的 HTTPS 数据包翻墙! 您 GFW 慢慢算去!
在正式开始前, 介绍一个概念: 反向代理.
反向代理(Reverse Proxy)是指, 服务器 根据 客户端 的请求,从其关联的一组或多组后端服务器(如 Web 服务器)上获取资源,然后再将这些资源返回给 客户端,客户端 只会得知 反向代理 服务器的 IP 地址,而不知道在 代理服务器 后面的 服务器 集群的存在。
与前向代理不同,前向代理作为 客户端 的代理,将从互联网上获取的资源返回给一个或多个的 客户端,服务端(如Web服务器)只知道代理的 IP 地址而不知道 客户端 的 IP 地址;而 反向代理 是作为 服务端(如Web服务器)的代理使用,而不是客户端。客户端 借由 前向代理 可以间接访问很多不同 互联网服务器(集群)的资源,而 反向代理 是供很多 客户端 都通过它间接访问不同 后端服务器 上的资源,而不需要知道这些 后端服务器 的存在,而以为所有资源都来自于这个 反向代理 服务器。

举个例子,某用户访问 http://www.example.com/readme ,但是 www.example.com 上并不存在 readme 页面,它是偷偷从另外一台服务器上取回来,然后作为自己的内容返回给用户。但是用户并不知情这个过程。对用户来说,就像是直接从 www.example.com 获取 readme 页面一样。这里所提到的 www.example.com 这个域名对应的 web 服务器 就设置了 反向代理 功能。
反向代理 在现时的互联网中应用非常广泛。
SSR over TLS (SSRoT) 就是直接利用了 反向代理, 在现代 web 服务器( 比如 nginx, caddy, apache 等)上, 添加一条设置, 当 SSR 客户端向 web 服务器 请求特定资源时, web 服务器 将这个请求直接转发到 SSR 服务器, SSR 服务器再将这条请求以约定算法解包后发送到 目标网站. 见下图.

我们的目的是为了避开 GFW 的审查,当然不能明晃晃地使用明文传输,必须使用 HTTPS 协议进行加密通讯, 我们此前的努力就是伪装成正规的 HTTPS 协议等, 这次我们不装了, 就使用堂堂正正的 HTTPS 协议, 与真正的带域名 和 网站数字安全证书的 web 服务器网站通讯, 这样, 你中共没办法了吧?
当然, 中共也不是完全没办法, 有几个:
- 宣布
HTTPS协议为反党反社会主义的反动协议, 必须坚决予以取缔. ---- 你认为会有这么一天吗? 我认为不会.- 加强
GFW的识别算法, 当然努力的的方向不是深度包检测(DPI), 而是域名字串特征 和网站内容判别了.
比如域名里出现了 FuckCCP 字样, GFW 肯定会判定为应该封锁的网站. 又如, 如果你网站只是简单的一个示例网页, 却每天有大量数据交换, 那就可以判定为翻墙站点了.
因此, 稳妥的做法是, 为你的翻墙站点, 注册一个 爱党爱国 的域名, 然后在这个网站上放置不算太少的 颂扬 中共 的内容, 视频 等, 或者干脆就是 娱乐至死 的游戏评测视频以及 吃喝玩乐 资讯, 等等. 这就伪装得差不多了, GFW 即使启用超强 AI 引擎运算, 应该也判别不出你到底在干嘛.
这项技术对于 外国 在华 记者 更是重大利好, 不用费劲吧啦地到处找翻墙梯子, 直接在 于中国可访问的 境外自家网站上的 web 服务器上添加一个 反向代理 特殊条目, 单独部署一 SSRoT 服务器, 就可通过 SSRoT 客户端访问墙外内容了.
- 客户端是一个标准的 SOCKS5 服务器, 客户端 与远端 web 服务器已
HTTPS协议通讯, 通讯内容是协商升级成 WebSocket 协议, 协商成功后, 就以WebSocket协议进行基于长连接的数据交换, 直到某一方关闭连接. - 交换的数据可以经过
SS/SSR加密, 甚至不用加密, 因为HTTPS协议传输内容, 包括请求路径URL, 数据等, 都是经过强加密的,GFW破解不了, 即使GFW牛逼到真能破解了, 那HTTPS协议本身也该升级换代了. - 远端
反向代理条目URL字串必须足够复杂, 足够随机, 以增加GFW穷举法猜算出来的难度. 一个随机生成的UUID字串就足够GFW喝一壶的, 况且我们也可以随时更换. - 远端
反向代理服务器采用市面上常见的 web 服务器软件就可以, 没特殊要求. - 与
反向代理web 服务器进行通讯的SSRoT服务器也是基于WebSocket协议, 然后将数据转发到用户试图访问的目标网站.
Welcome to the shadowsocksr-native wiki!
任何疑问或建议, 请到 Issues 提出.