AnyGram ( https://github.com/isofew/anygram)
流程:通过 IRC 交换 STUN 得到的 NAT 信息,然后约定时间同时打洞(向对方地址加减一定端口范围发包),收到对方打洞包即成功,否则失败。
如果双方都是对称 NAT ,直接放弃。如果一方对称 NAT 但是端口变动太大或 IP 地址都在变,也会失败。其他情况一般都能成功。
可指定 postup script ,打洞成功后建立代理、端口转发等,流量直连不经过中转。
安装: npm -g install anygram
顺便安利下 gost ( https://github.com/ginuerzh/gost ),支持很多代理协议。
我把它的二进制源做成了一个 npm 包,可 npm -g install gost 直接从作者 github 下载安装最新版本。
配置:部分地区访问不了 freenode irc ,需要手动指定可用的 irc 服务器。其他配置详见 anygram --help
流程:通过 IRC 交换 STUN 得到的 NAT 信息,然后约定时间同时打洞(向对方地址加减一定端口范围发包),收到对方打洞包即成功,否则失败。
如果双方都是对称 NAT ,直接放弃。如果一方对称 NAT 但是端口变动太大或 IP 地址都在变,也会失败。其他情况一般都能成功。
可指定 postup script ,打洞成功后建立代理、端口转发等,流量直连不经过中转。
安装: npm -g install anygram
顺便安利下 gost ( https://github.com/ginuerzh/gost ),支持很多代理协议。
我把它的二进制源做成了一个 npm 包,可 npm -g install gost 直接从作者 github 下载安装最新版本。
配置:部分地区访问不了 freenode irc ,需要手动指定可用的 irc 服务器。其他配置详见 anygram --help