Anynat 是一款通用性极强的内网穿透工具,能够适应复杂的内网环境,在较差的网络条件下,仍然能够提供稳定可靠的数据传输.
*** 阅读本文档之前,会默认您有一定的网络知识,例如如何输入命令,怎样配置和解析域名等,文档不再赘述,自行搜索相关答案 ***
*** 本文档仅提供 docker 部署方法,如果采用 npm 安装方式,则默认您具有一定的编程知识,需要自行摸索和解决 npm 相关问题 ***
1
humbass 2023-05-06 00:11:42 +08:00 1
Nodejs 写的工具比较少见,必须支持。
|
2
rockey543400 OP @humbass 感谢老铁😘
|
3
dj721xHiAvbL11n0 2023-05-06 08:44:51 +08:00
第一个 Star
|
4
yaott2020 2023-05-06 08:45:16 +08:00 via Android
只是一个内网穿透,为啥要 250M 的大小,我为啥不选择只有 10M 的 frp 呢
|
5
gps949 2023-05-06 08:57:43 +08:00
这使用的技术栈够新颖
使用的内网穿透原理方便简介下吗?像 frp 、n2n 、Tailscale 这样大家已经熟悉的产品穿透原理都比较透明,你提到使用了 MQTT 又提到全链路使用 CDN 加速,是不是在穿透原理上有些新颖之处? |
6
jifengg 2023-05-06 08:58:17 +08:00
楼主你好,首先表示支持。
不知是否有性能方面的相关数据,比如穿透到一台机器上的 nginx ,http 请求相比直接访问 nginx 的对比? 以及,与 frp 等工具的性能对比? 不是杠,主要是之前我也用 nodejs 写过 tcp 的穿透,后来发现性能下降很多。 |
7
rockey543400 OP @x2420390517 感谢铁汁
@yaott2020 体积是个问题 后续可以精简下 因为我第一版做得比较粗糙些 简单粗暴就把项目直接 copy 进 docker 里面,下一版其实是可以将 build 之后的文件加上项目依赖放进去,这样就会小点,而且我用的基础镜像体积也是大了点 @gps949 内网穿透的方法也有好些个,目前只实现了其中一种(精力不太够),我觉得目前最优解的方案是 p2p 穿透+mqtt 作为备选方案最好了. 目前我用的 mqtt 方案有两种数据传输方式:1.tcp 2.websocket 默认是 tcp 但是我一般选用 2 文档也配置教程也是选用 2 因为有些 CDN 是不能够直接使用传输层协议,只能用应用层协议也就是如果用 TCP UDP 就用不了 CDN,所以只能折中使用 websocket,这也是能实现全链路( 客户端<==>服务端 服务端<==>用户端 )CDN 加速的主要原因 而为什么是 MQTT 因为 MQTT 实现了消息 QoS 控制 MQTT 定义了三个 QoS 等级,分别为: QoS 0 ,最多交付一次。 QoS 1 ,至少交付一次。 QoS 2 ,只交付一次 其中,使用 QoS 0 可能丢失消息,使用 QoS 1 可以保证收到消息,但消息可能重复,使用 QoS 2 可以保证消息既不丢失也不重复。QoS 等级从低到高,不仅意味着消息可靠性的提升,也意味着传输复杂程度的提升 这个特性在一些网络较差的环境下,仍然能够保障内网穿透可用性,但就是体验会差些 @jifengg 性能是分多个维度,我这个标题是有点标题党的味道,哈哈哈😄,性能测试我当时开发是只测了 io 和大文件传输下内存的占用率的的比较,没有分多维度对比,后续看看有没空弄个报告 |
8
humbass 2023-05-06 11:24:16 +08:00
@rockey543400 有没有 TG 可以联系下?
|
9
gps949 2023-05-06 11:24:37 +08:00
@rockey543400
那我理解你目前还只是实现了个“内网服务代理”而不是“内网穿透”? |
10
rockey543400 OP |
11
suyuyu 2023-05-06 13:41:41 +08:00
感觉 nodejs 应该不会很高性能
|
13
star7th 2023-05-06 14:52:27 +08:00
|
14
qwq11 2023-05-06 19:13:13 +08:00
我有个疑惑,这种工具不应该叫做流量中继或者反向代理吗,我理解的内网穿透应该是打洞这种类型的
|
15
atpking 2023-05-09 15:58:12 +08:00
好吧 思路完全不同, 我做了一个类似的, 但是出发点完全不同
我是完全不考虑性能, 而是考虑 0 安装, 随时用 随时走的 产品, 仅依赖 ssh 主要用来 偶尔上服务器调试设备的时候 临时突破内网限制, 或者调试 第三方 webhook 的时候, 临时接到开发环境 www.1apm.com 我自己用的很 happy |