在手机上访问discord和pixiv的正确姿势


这几天,我的开源项目的总star终于达到两位数了,感谢协会和DMR的朋友们!

==============================================================================

steamcommunity在很早是可以直接上的,后来由于种种原因被墙了,pixiv也是,在之前我都是通过改hosts的,后来墙的升级使得这条路也走不通了,知道有一天我看到这个程序

![image-20200408164049367](C:\Users\hp pavilion x360 14\AppData\Roaming\Typora\typora-user-images\image-20200408164049367.png)

羽翼城大佬的本地反代给了我解决这个问题的启发,具体原理他在keylol的一篇文章里说的很清楚

众所周知上个月底开始某国服网升级了 SNI 过滤, steam community 不能再直连。目前论坛的应对措施是用服务器中转
其实解决方法很简单,不要把 SNI 暴露出来即可
steam community 用的 Akamai CDN,因此理论上可以使用任意一个 Akamai IP
执行以下 cURL 命令,国服网看到的 SNI 域名只是 whatismyip.akamai.com ,HTTP Host 字段是加密的

$ curl -kI https://whatismyip.akamai.com -H 'Host: steamcommunity.com'
HTTP/1.1 200 OK
Server: Apache
Strict-Transport-Security: max-age=3600
X-Frame-Options: SAMEORIGIN
Content-Security-Policy: default-src blob: data: https: 'unsafe-inline' 'unsafe-eval'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://steamcommunity-a.akamaihd.net/ https://api.steampowered.com/ https://cdn.steamstatic.com.8686c.com/steamcommunity/public/assets/ *.google-analytics.com https://www.google.com https://www.gstatic.com https://apis.google.com; object-src 'none'; connect-src 'self' https://api.steampowered.com/ https://store.steampowered.com/ wss://community.steam-api.com/websocket/ *.google-analytics.com http://127.0.0.1:27060 ws://127.0.0.1:27060; frame-src 'self' steam: https://store.steampowered.com/ https://www.youtube.com https://www.google.com https://sketchfab.com https://player.vimeo.com;
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-cache
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Date: Thu, 06 Sep 2018 16:59:13 GMT
Connection: keep-alive
Set-Cookie: sessionid=a9fbb2c80acba395937f0379; path=/; secure
Set-Cookie: steamCountry=CN%7C7bd9b1104bda99d1d43c54ada6e49694; path=/; secure

而我们不能修改 steam 客户端,于是可以在本地建反向代 理:

安装 nginx,监听 443 端口,自签证书和 CA;
设置 proxy_pass 代理到 Akamai CDN IP

server {
   listen 443 ssl;
   location / {
       proxy_pass https://x.x.x.x/;
       proxy_set_header Host $http_host;
   }
}

proxy_pass 是 IP 时, nginx 不会向外暴露 SNI,也就顺利绕过了 SNI 过滤
最后修改 hosts 指到 127.0.0.1 即可

理论上可以应用于所有 Akamai CDN 网站,以后就算主站被X了也可以这么操作
Windows 自带的 IIS 也可以代 理

通过这个方法,羽翼城在他的steamcommunity302里面加了本地反代,可以解决discord,steam社区,twitch的问题,而Pixiv-Nginx提供了解决pixiv访问的问题

有了规则,就是要在手机上跑起来了

magisk模块是一个都不错的解决方案,它可以实现我们要做的,caddy2最近也发布了,十分适合来做反代服务器,不过还有一个问题,那就是证书,自从安卓N以来,即使是用户安装的证书也不受信任,当然我们可以将证书安装到系统目录下,但是我即使安装到系统目录下,依旧提示我的证书不受信任,所以只能放大招了

https://github.com/ViRb3/TrustMeAlready

使用trustmealready就可以一劳永逸的解决ssl验证(没有ssl验证就彻底解决了问题)

放几张图片

steam社区

Pixiv

Discord

顺便放一下项目地址:RProxy2(觉得好用的可以给个star,多谢了)


文章作者: Leon
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Leon !
 上一篇
Hello World Hello World
不积硅步,无以致千里终于开启了我的blog计划,之前在高中的时候曾经建过wp的站,后来也不了了之,希望这一次可以坚持下来吧 document.querySelectorAll('.github-emoji')
2020-05-07 Leon
下一篇 
Kotlin中实现接口回调的研究(一) Kotlin中实现接口回调的研究(一)
之前看到一句很著名的话“不要重复自己”,这也告诉了我们不要重复的造轮子,在Java中,我们可以通过接口回调来大幅简化我们的代码,并提升我们的代码可读性,而在kotlin里代码回调则要更具有一些kotlin“风味”,这里我们可以来写一个简单的
2020-03-14 Leon
  目录