前两天,ShadowsocksR作者做了一个 公益站,同时演示了 如何将ShadowsocksR服务端的流量伪装成正常网站的流量,有点意思,写一点简单的教程。

如果只是单纯的去伪装ShadowsocksR流量,那么不需要安装Nginx/Apache这些功能多但是配置相对也复杂一点的HTTP服务器,用Caddy就好了。

本文章主要是实现:

首先我们要知道 SSR 的混淆插件中的 HTTP HTTPS 混淆伪装均为 伪·伪装,仅仅是模拟为 HTTP HTTPS 访问流量,容易被主动探测识破,况且很多人连混淆参数都不填,更是进一步降低其伪装混淆安全性,而该教程就是为了加强混淆伪装,使 伪·伪装 变成 真·伪装!

访问 http://xxx.xx 域名(http 80端口),能正常看到网站内容,但如果你链接这个网站服务器上面的ShadowsocksR服务端账号(也是80端口),也能正常使用。实现了同端口网站和ShadowsocksR共存。

而对于墙或者运营商来说,当他们检测你传输的流量特征的时候,会看到你的流量是去访问海外服务器的 80 端口,就算跟踪过去,也会发现是一个正常的海外网站(随便搞一个静态的 HTML 英文页面),一个没有敏感词的海外英文网站,墙和运营商是不会去注意的。

所以就实现了伪装ShadowsocksR服务端流量的功能,每天国内访问海外网站(80/443端口)的流量非常庞大,在这个伪装中,可以很大程度的降低被发现(匹配流量特征)的几率,所以有兴趣的可以折腾玩玩。

文章里的原理:

你链接你的服务器 80端口(SSR服务端端口),然后就会链接到ShadowsocksR服务端,ShadowsocksR服务端会判断你是链接SSR,还是访问网站,如果是访问网站,就会把你的流量数据重定向到网站监听的端口(2333端口),然后你就显示网页了。

推荐一个伪装配置

这个伪装配置不需要你服务器上面搭建网站,而是把HTTPS访问的网页信息转发到微软的网站,实现伪装HTTPS访问微软!

目前已知这种设置方式可以有效降低 IP 被墙几率(非 100%)。

# 服务端端口设置为:"server_port": 443,# 服务端混淆插件设置为:"obfs": "tls1.2_ticket_auth",# 客户端混淆插件选择:tls1.2_ticket_auth 或 tls1.2_ticket_fastauth# 服务端 redirect 设置为:"redirect": ["*:443#HK2SCH130083c18593.wns.windows.com:443"],

至于其他的加密方式、协议插件等都不影响什么都行。

SSR 客户端的混淆参数记得填写为:HK2SCH130083c18593.wns.windows.com

前提准备

其实也没什么要准备的,就是你需要有个域名,然后将域名解析为你的SSR服务器IP

例如: toyoo.pw 域名,记录名为 @ ,解析类型为 A,解析IP为 服务器IP。 abc.toyoo.pw 域名,记录名为 abc ,解析类型为 A,解析IP为 服务器IP。

免费域名申请教程:教你申请.tk/.ml/.cf/.gq/.ga等免费域名

Caddy 配置步骤