TcpRoute2 TCP 层的路由器

我要开发同款
匿名用户2015年12月31日
47阅读
所属分类Google Go、服务器软件、路由器/防火墙
授权协议GPL

作品详情

TcpRoute,TCP层的路由器。对于TCP连接自动从多个线路(允许任意嵌套)、多个域名解析结果中选择最优线路。TcpRoute2是golang重写的版本。

通过socks5代理协议对外提供服务。

代理功能拆分成了独立的库,详细代理url格式级选项请参见ProxyClient,目前支持直连、socks4、socks4a、socks5、http、https、ss代理线路。

安装

在releases页面有二进制发布的可执行文件。根据系统下载对应的文件,并在同一目录创建config.toml配置文件即可。

配置

默认使用当前目录下的config.toml文件。

# TcpRoute2 配置文件# https://github.com/GameXG/TcpRoute2# 监听地址# 目前只对外提供 socks5 协议addr="127.0.0.1:7070"# 可以使用的线路列表# 连接网络时会自动选择最快的线路。# 注意,直连线路也需要提供,否则不会通过直连访问网络。[[UpStreams]]Name="direct"ProxyUrl="direct://0.0.0.0:0000"# 是否执行本地dns解析DnsResolve=true[[UpStreams]]Name="https-proxy.com"# 代理地址# 通过 https://github.com/GameXG/ProxyClient 实现的代理功能# 目前支持以下格式# http 代理 https://123.123.123.123:8088# https 代理 https://123.123.123.123:8088# socks4 代理 socks4://123.123.123.123:5050  socks4 协议不支持远端 dns 解析# socks4a 代理 socks4a://123.123.123.123:5050# socks5 代理 socks5://123.123.123.123:5050?upProxy=https://145.2.1.3:8080# ss 代理 ss://method:passowd@123.123.123:5050# 直连 direct://0.0.0.0:0000/?LocalAddr=123.123.123.123:0ProxyUrl="https://www.proxy.com:443"DnsResolve=false# 线路的信誉度,不会通过信誉度低于0的代理建立明文协议的连接(http、ftp、stmp等)Credit=0# 使用本线路前等待的时间(单位毫秒)# 国内 baidu、qq tcping一般是30ms,这里设置为80ms(0.08秒)。# 可以使得大部分国内站点不会尝试通过代理访问,降低上游代理的负担。# 0.08秒的延迟很低,并且建立连接后会缓存最快连接记录,不会再次延迟,所以不建议删除。Sleep=80# 修正延迟# ss 协议并不会报告是否连接到了目标网站,所以无法获得真实的到目标网站的 tcpping。# 目前只能通过 ss 服务器 tcpping + CorrectDelay 来估算。# 非 ss 协议不用设置,ss 协议建议设置为50-100.CorrectDelay=0信誉度功能

增加了代理信誉度、dns信誉度的功能,对于信誉度低的代理将只允许https、smtpssl等本身支持服务器认证的协议。这样即使使用他人的代理也能比较安全了。

具体细节

对DNS解析获得的多个IP同时尝试连接,最终使用最快建立的连接。

同时使用直连及代理建立连接(可设置延迟),最终使用最快建立的连接。

缓存10分钟上次检测到的最快线路方便以后使用。

解析不存在域名获得域名纠错IP,并添加到IP黑名单

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论