V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
gamexg
V2EX  ›  分享创造

TcpRoute2 tcp 路由器,自动尽可能的优化 tcp 链接。golang 重写的,大体功能完成。

  •  2
     
  •   gamexg · 2015-12-30 09:24:34 +08:00 · 4569 次点击
    这是一个创建于 3053 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://github.com/GameXG/TcpRoute2

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

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

    目前支持直连、 socks4 、 socks4a 、 socks5 、 http 、 https 、 ss 代理线路,允许嵌套。代理功能被拆成了独立的库了。

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

    这个是 golang 重写的,常用功能都实现了。目前测试还没有覆盖齐全,不过实际运行是没发现问题。

    由于是 socks5 代理,所以 WebSocket 协议也不会出现问题,而且可以通过 chrome 预读功能提前建立到目标网站的连接。

    第 1 条附言  ·  2015-12-31 23:09:27 +08:00
    增加了 http 、 https 、 socks5 用户名密码登录功能
    第 2 条附言  ·  2016-01-04 09:31:06 +08:00
    增加强制代理服务器 DNS 解析功能
    允许在发现浏览器执行了本地 dns 解析时强制改为代理服务器进行 dns 解析。
    使用 redsocks 、 Proxifier 等全局代理时也不用担心浏览器本地解析获得错误结果了。

    增加了 hosts 文件功能
    允许本地、 http hosts 文件,只对代理生效。
    本地 hosts 文件修改后自动重新载入。 https 支持自动更新。
    19 条回复    2016-01-01 15:13:27 +08:00
    zts1993
        1
    zts1993  
       2015-12-30 09:30:28 +08:00
    自动 fq ?
    gamexg
        2
    gamexg  
    OP
       2015-12-30 10:11:03 +08:00
    @zts1993 线路优化,网站无法通过某个线路访问的时候能自动切换到可用线路上面。
    TheCure
        3
    TheCure  
       2015-12-30 10:28:23 +08:00
    这种东西看上去好像很适合苹果这种一次 DNS 查询返回 20 条记录的服务用
    呵呵
    谢谢楼主分享
    shakespaces
        4
    shakespaces  
       2015-12-30 10:33:32 +08:00
    已 stat
    shakespaces
        5
    shakespaces  
       2015-12-30 10:33:53 +08:00
    star.........
    gamexg
        6
    gamexg  
    OP
       2015-12-30 11:03:37 +08:00 via Android   ❤️ 1
    @callofmx 有计划使用全球 dns 获得更多的 ip , http 接口已经完成,但是 tls 扫描得到的 ip 有些不可靠,还没验证。
    hcwhan
        7
    hcwhan  
       2015-12-30 11:44:16 +08:00
    和 cow 有点像吧
    hcwhan
        8
    hcwhan  
       2015-12-30 11:47:47 +08:00
    @gamexg 感觉线路选择的功能更强大 回去试试
    gamexg
        9
    gamexg  
    OP
       2015-12-30 11:49:12 +08:00
    @hcwhan 是的,之前就是用的 cow ,由于 cow 对于不能直连的网站第一次有延迟,而且不支持 websicket .所以写了个激进版本的。
    tanywei
        10
    tanywei  
       2015-12-30 13:47:36 +08:00
    这要怎么用?
    cloudbeyond
        11
    cloudbeyond  
       2015-12-30 14:24:49 +08:00
    能问个题外问题么..

    有什么好办法让全局流量走 socks5 么?
    比如 linux 下面
    gamexg
        12
    gamexg  
    OP
       2015-12-30 14:29:23 +08:00
    @cloudbeyond linux 下使用 redsocks 。
    不过现在 http 、 tls 中间件还没完成,所以单独使用 redsocks 方案无法应付 dns 污染。
    laincat
        13
    laincat  
       2015-12-30 15:02:42 +08:00
    已 Star 目前还不太明白怎么用。。。

    PS :
    SS 不支持 TCP Fast Open , One Time Auth ?
    xream
        14
    xream  
       2015-12-30 18:28:47 +08:00
    显示 发现异常 IP : map[]
    配置只改了
    [[UpStreams]]
    Name="us"
    ProxyUrl="ss://chacha20:x@x:x"
    DnsResolve=false
    Credit=100
    Sleep=80
    CorrectDelay=50
    xuan880
        15
    xuan880  
       2015-12-31 09:21:13 +08:00
    -config 参数是不是没用?提示这个。
    ➜ ~ tcproute --config ~/.tcproute/config.toml
    flag provided but not defined: -config
    Usage of tcproute:
    -addr
    Change value of Addr. (default 127.0.0.1:7070)
    -upstreams
    Change value of UpStreams. (default [{direct direct://0.0.0.0:0000 true 0 0 0} {shadowsocks ss://rc4-md5:[email protected]:12345 false 3 100 50}])

    Generated environment variables:
    SERVERCONFIG_ADDR
    SERVERCONFIG_UPSTREAMS
    shunia
        16
    shunia  
       2015-12-31 09:57:53 +08:00
    就冲楼主取代 cow 的目的就得收藏,cow 的策略确实太"软".
    gamexg
        17
    gamexg  
    OP
       2015-12-31 18:07:13 +08:00
    @xream 意思是未检测到异常 IP ,目的是检测 dns 劫持不存在域名,去除 114 域名纠错之类的东西。
    @xuan880 晕,偷懒一直没测试这个功能,看样是和 multiconfig 冲突了...
    gamexg
        18
    gamexg  
    OP
       2015-12-31 18:10:21 +08:00
    @laincat go 语言支持 TCP Fast Open 太麻烦,而且 windows 不支持,暂时无这个计划。 目前 ss 是使用的第三方库,不支持 One Time Auth ,有时间的话可能会研究下。
    little_cup
        19
    little_cup  
       2016-01-01 15:13:27 +08:00
    已 star ,感觉好有潜力的样子!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5623 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 08:47 · PVG 16:47 · LAX 01:47 · JFK 04:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.