我编写了 fastgithub,这个工具可以用于本机与 github 直连,v2ex 也一样。大家有需要吗?
github.com/dotnetcore/FastGithub

不至于一天发两次吧,还都不发推广和分享节点,

刚刚上 v2,还不会玩

目前已经在用了,感觉非常不错。已 star,感谢

FastGithub 与 github.com 进行无 sni 的 tls 连接 能讲讲原理吗,和官方的服务器通信为什么需要导入自己的 CA 呢

猜测大概是类似 curl ip:443 -k 这样访问,github 的服务器 443 允许无 sni 直接请求 ip

顺便说一下导入信任 CA 这种似乎风险比较大,比较安全的是 clash 的 fakeip 那种

其实就是本地代理吧 去掉了 sni 直连 ip 加上 host header

因为不信任证书不可篡改 HTTPS 的内容,要实现不信任证书的情况下修改 HTTPS 的数据,只能在应用程序端进行修改,考虑到不同程序用的 SSL 库不一定相同,这种做法几乎没有通用性。

原理:
客户端访问 github.com
客户端向 dns 查询 github.com 的 ip,FastGithub 拦截 dns 数据包并伪造解析结果为 127.0.0.1
客户端请求到 FastGithub 的 127.0.0.1:443
FastGithub 使用 fastgithub.cer 颁发服务器证书给客户端
FastGithub 查询和计算 github.com 最快的 ip
FastGithub 与 github.com 进行无 sni 的 tls 连接
FastGithub 将请求反向代理到 github.com

这个应该推广给不会用梯子的用户,v2 能上的人均梯子。😂

感谢,前段时间有在用,已 star

你搁这春运火车上买票呢

支持

我能理解,这个项目相当于中间人攻击了,安装证书相当于信任了中间人。有了解过 clash 的 enhanced mode fakeip 是怎么做的吗?似乎也没有信任 clash 办法的证书?

之前我也想用这个方法反代 mac 词典,这玩意虽然不走代理,但 hosts 还是认的

据我所知 clash 没有 MITM 的功能,不会修改程序传输的数据,所以你说的并不是同一个功能吧?

6.合法性相当好笑。你啥时候见过请你喝茶需要搬出来法条的?

gist.github.com/fengqi/728da8760464a347318d27f841ef55c2  显示 Gist 代码  用 Go 尝试了下,我的方向是对的吗?我在思考这东西部署到路由器上的可能性

太贴切了,笑死我了,没梯子,v2 都上不了

上 V2 要梯子??

坐标安徽, 电信宽带, 没梯子, v2 打不开. 而且好像是被 SNI 阻断了, 改 hosts 没用.

V2 没有备案,当然需要梯子才能访问。

是的

支持一下!等会儿上班去 star 。

我都是自动路由的,是否撞墙没有留意。

看起来很酷, 不过 v2 用户人均会翻墙, 哈哈.

但是这么玩 ssl 还是慢吧

但是这么玩 ssh 还是慢吧, 还是要代理

看了 readme 问个问题吧,如何与 ShadowsocksX-NG 共存?

unix 平台的 fg 使用 http 了正向代理,简单点的话自行编写 pac 脚本,然后自动代理里面设置 file://your.pac 就好了,win 平台的的 fg 没有使用正向代理,和其它程序都不冲突。

原理都看不懂,哈哈

HOSTS 重定向到本地 然后代理软件放行就行了

github.com/mashirozx/Pixiv-Nginx
这个应该是和楼主项目相似的原理吧

原理是一样的,只是 fg 多了一些自动化功能,做成 0 配置:
支持通配符域名配置;
动态生成 ca 证书和域名的服务器证书;
驱动拦截 dns 将匹配域名解析为回环 ip ;
反向代理默认优先使用 443 端口,如果被其它程序占用,驱动拦截 443 数据转向 fg 的反向代理;
将域名添加么代理放行规则;

感谢开源,已经在使用了

ech 支持后,这个就用不上了

目前还没有任何开发语言的库支持了 ech,一般都是浏览器先行