收起左侧

利用fn connect带宽走syncthing流量

4
回复
330
查看
[ 复制链接 ]

2

主题

6

回帖

0

牛值

江湖小虾

背景

飞牛上部署了bitwarden和syncthing两款应用,但家里的宽带没有公网的v4或v6 IP,在外访问飞牛只能走中继。

而syncthing的公共代理服务器质量不稳定,速度也确实不太行。话虽如此,还是感谢愿意免费分享服务器带宽的每个大好人。

前段时间飞牛出了应用走中继访问的浏览器插件,但使用场景比较受限。特别是像syncthing这种走tcp的更是没办法直接用。

本文分享下折腾的过程和结果。

解除trim_nginx限制

方案一:劫持动态库,不启动回滚

可以参考这篇帖子,思路超棒,预计能有效很久。

方案二:修改回滚用的备份配置文件

回滚机制分析

原始的nginx是没有配置文件回滚的,我需要分析飞牛的回滚原理。

恢复配置文件必然要做文件的打开操作,可以利用strace监控nginx的操作,然后执行一次reload,发现nginx打开了一个路径为/usr/trim/share/.restore/ng.conf.zip的可疑文件。

image.png

ng.conf.zip内部是配置文件,大概率是用这个zip替换了nginx的配置文件。

解压ng.conf.zip

ng.conf.zip是带密码的,不知道密码就没办法修改,但trim_nginx内肯定有密码。

ldd发现其链接了不少加密库,估计是调库来解密的,那就简单了。

image.png

image.png

修改trim_nginx的配置文件

拿到压缩包密码后,就可以利用nginx反代各种自己的http应用了,只不过多了一个将修改的文件加到压缩包里去的步骤。

配置文件教程一搜一大把,不再赘述。

image.png

至此,trim_nginx的配置文件回滚已经不影响我们对配置的修改了。

通过fn connect访问http应用

修改了nginx配置文件后,浏览器首次访问反代的url时会跳转到fnos web端的登录链接。必须登陆一次并保持,后续访问应用才会正常。

经网友提示(非常抱歉我的某个通信APP的账号丢失了,忘记了网友ID),fnos的web有一个cookie控制了这一现象。

mode=relay这条cookie的有效期从 会话改为一个较久之后的时间,即可顺利访问反代的应用。

image.png

到这里,已经可以使用bitwarden等需要http链接的应用了。

http2tcp

fn connect是http链接,且支持websocket,市面上有较多代理工具可以实现http to tcp,只需要注意需要在建立代理链接时带上cookie即可。

我对这方面不熟,使用的是 chisel。各位可以用自己熟悉或者喜欢的工具。

完成这一步,可以使用ssh了。

syncthing部署

私有转发服务器和发现服务器的部署教程网上很多,常规步骤不再赘述了。

需要注意:

  1. syncthing服务,发现服务器discosrv,转发服务器relaysrv,三个容器的网络互通
  2. 修改各个节点的hosts,使用统一的url。比如使用 chisel的机器,指向127.0.0.1;局域网不用穿透的机器,就指向局域网地址;

至此,即可实现1M左右的同步速率。

最后

期待飞牛同步的linux版本,这样就不用折腾了。

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

14

主题

112

回帖

195

牛值

共建版主

社区上线纪念勋章社区共建团荣誉勋章

感谢大佬分享!

温馨提示:以上操作存在一定风险,操作不当时可能导致系统网络服务异常,请务必在确保自身有足够的技术支持前提下操作。不建议小白尝试lol

10

主题

36

回帖

0

牛值

fnOS系统内测组

社区上线纪念勋章

6666666666666

1

主题

4

回帖

0

牛值

江湖小虾

bpftrace 命令显示下谢谢titter

论坛规则不太建议分享对新手有高风险的代码/操作,因此本帖仅交流方法,不聚焦于具体实现。有兴趣和精力的同学可以自学一下哈  详情 回复
昨天 09:20

2

主题

6

回帖

0

牛值

江湖小虾

昨天 09:20 楼主 显示全部楼层
havena 发表于 2025-9-5 15:59
bpftrace 命令显示下谢谢

论坛规则不太建议分享对新手有高风险的代码/操作,因此本帖仅交流方法,不聚焦于具体实现。有兴趣和精力的同学可以自学一下哈
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则