V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Mohanson
V2EX  ›  程序员

用 Go 开发的一款网络加速器, 帮助你加速海外网络访问(不仅仅是吃鸡)

  •  
  •   Mohanson · 2018-07-13 12:02:24 +08:00 · 5599 次点击
    这是一个创建于 2354 天前的主题,其中的信息可能已经有所发展或是发生改变。

    去年在学 TCP/IP 的时候心血来潮, 就立即动手开发了这个工具, 现在已经完成全平台支持: linux/mac/win/android, 多协议支持(总计五种): socks4, socks4a, socks5, httpproxy, httpsproxy. 并且已经在我的小 VPS 下稳定工作超过半年

    Go 代码总计只有 1000 行左右, 是入门 TCP/IP 非常棒的入门项目, 需要的请取走.

    https://github.com/mohanson/daze

    第 1 条附言  ·  2018-07-13 13:15:27 +08:00

    关于原理:

    http://mohanson.b0.upaiyun.com/e2a3219667259d9353db8bcb6d8fc368.png

    Daze 由两部分组成, 分别是 Server 与 Client. 其中 Server 部署在拥有访问内部网络权限的机器之上, 而 Client 则负责转发公网流量到 Server. 因此, Client 端无需拥有通过防火墙的权限而仅需拥有链接 Server 的权限即可访问内部网络.

    本地协议: Daze 支持五种本地协议, 分别是 socks4, socks4a, socks5, http 与 https. 他们均是 RFC 标准协议之一, 因此请对使用他们感到轻松愉快--通常情况这些标准在可预见的未来内不会发生任何改变. 一个好消息是, Client 会根据流量自动判断本地协议的版本或类型.

    跳转协议: 跳转协议的目的是为了进行流量加密. 如你所见, Daze 会加密 Client 到 Server 端的所有流量, 因为在大部分情况下, 被运营商挟持并修改 HTTP 格式的协议是令人不愉快的. Daze 采用 OTA(一次性验证, 即单个密码仅使用一次) + 流加密协议形式对抗不怀好意的攻击者.

    第 2 条附言  ·  2018-07-13 13:17:03 +08:00
    第 3 条附言  ·  2018-07-20 11:03:13 +08:00
    被 IPFS 作者 star 了, 嘤嘤嘤
    38 条回复    2019-01-31 14:10:40 +08:00
    Tink
        1
    Tink  
       2018-07-13 12:14:24 +08:00 via iPhone
    mark
    Mohanson
        2
    Mohanson  
    OP
       2018-07-13 12:15:38 +08:00
    整个项目只使用了 Golang 标准库, 无任何其他依赖...
    archean
        3
    archean  
       2018-07-13 12:16:58 +08:00
    吃鸡可以用的吗?
    scnace
        4
    scnace  
       2018-07-13 12:20:49 +08:00 via Android
    挤挤
    mason961125
        5
    mason961125  
       2018-07-13 12:25:11 +08:00
    加速器,重要的难道不是线路吗?
    torbrowserbridge
        6
    torbrowserbridge  
       2018-07-13 12:26:12 +08:00 via Android
    👍
    Tianao
        7
    Tianao  
       2018-07-13 12:34:29 +08:00 via iPhone
    @mason961125 不只是,TCP/IP 的各种控制策略很复杂,好好利用确实可以最大化可用带宽。
    q397064399
        8
    q397064399  
       2018-07-13 12:57:28 +08:00
    吃鸡这类游戏怎么代理.. 修改默认网关?
    Reign
        9
    Reign  
       2018-07-13 12:59:23 +08:00
    能大致介绍一下原理不?
    lk1ngaa7
        10
    lk1ngaa7  
       2018-07-13 13:09:54 +08:00
    学习下
    AntonChen
        11
    AntonChen  
       2018-07-13 13:11:54 +08:00 via Android
    mark
    GaoGeYang
        12
    GaoGeYang  
       2018-07-13 13:15:44 +08:00 via Android
    能介绍下原理吗?有没有实际测试的数据?
    Mohanson
        13
    Mohanson  
    OP
       2018-07-13 13:17:40 +08:00
    @Reign 我将原理部分添加至附言里了
    roadli
        14
    roadli  
       2018-07-13 13:23:15 +08:00
    还在用 RC4 加密?换个加密算法吧
    kylix
        15
    kylix  
       2018-07-13 13:26:24 +08:00
    不错,已经 star,有空看看
    qiuyk
        16
    qiuyk  
       2018-07-13 13:26:50 +08:00
    这不就是酸酸么.....
    ferock
        17
    ferock  
       2018-07-13 13:33:26 +08:00
    有编译好的客户端吗?你这个项目怎么编译?
    ecoart
        18
    ecoart  
       2018-07-13 13:38:07 +08:00 via Android
    感觉可以用来翻墙欸!!!
    Mohanson
        19
    Mohanson  
    OP
       2018-07-13 13:38:40 +08:00
    @ferock yum install golang && go get -u -v github.com/mohanson/daze/cmd/daze, 此时 daze 工具会被编译至 ~/go/bin/daze 中. 使用 ./daze --help 查看帮助.
    E1n
        20
    E1n  
       2018-07-13 13:44:45 +08:00
    学习下。。。
    bhqt
        21
    bhqt  
       2018-07-13 13:44:55 +08:00
    喜欢 go 的东西,方面
    male110
        22
    male110  
       2018-07-13 13:50:02 +08:00
    如果你写个中文文档,我会考虑用的
    HandSonic
        23
    HandSonic  
       2018-07-13 13:51:04 +08:00
    吃鸡难道不是 UDP 吗?
    jmc891205
        24
    jmc891205  
       2018-07-13 14:00:06 +08:00
    不要宣传啦 小心被请喝茶
    hyyou2010
        25
    hyyou2010  
       2018-07-13 14:05:48 +08:00
    不错,以后有空去 GitHub 学习一下
    Akagi201
        26
    Akagi201  
       2018-07-13 14:21:30 +08:00
    哈哈, 赞, 已经用了半年多了
    oovveeaarr
        27
    oovveeaarr  
       2018-07-13 14:22:59 +08:00
    感谢 LZ 分享~
    cnmllll
        28
    cnmllll  
       2018-07-13 14:24:48 +08:00
    有自用的 VSP,游戏不都是 UDP 么,可以吃鸡加速么?
    ericgui
        29
    ericgui  
       2018-07-13 14:31:03 +08:00
    ericgui
        30
    ericgui  
       2018-07-13 14:43:40 +08:00
    楼主,其实我一直尝试着解决这么一个难题:怎样隐藏自己上网的痕迹?不知道你这个能否搞得定?
    ferock
        31
    ferock  
       2018-07-13 14:46:55 +08:00
    @Mohanson 谢谢,help 很简单,如何制定协议为 socks5 ?
    luoyayu
        32
    luoyayu  
       2018-07-13 15:08:04 +08:00 via Android
    mark
    Tink
        33
    Tink  
       2018-07-13 15:46:45 +08:00
    客户端提示这个 :2018/07/13 15:45:36 Get http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest: dial tcp: lookup ftp.apnic.net on 127.0.0.1:53: read udp 10.10.21.22:36477->8.8.8.8:53: i/o timeout
    Mohanson
        34
    Mohanson  
    OP
       2018-07-13 16:05:12 +08:00
    @Tink 设置一下 client 的默认 dns: daze client -dns 114.114.114.114:53 ... ...
    Tink
        35
    Tink  
       2018-07-13 16:19:16 +08:00
    @Mohanson #34 可以了谢谢
    ferock
        36
    ferock  
       2018-07-13 17:55:24 +08:00
    搞定,很赞
    xxstop
        37
    xxstop  
       2018-07-13 18:30:42 +08:00
    mark
    mactec
        38
    mactec  
       2019-01-31 14:10:40 +08:00
    mark 下,很棒
    邮件了下楼主,git 上项目移除了,希望可以交流下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   887 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:20 · PVG 06:20 · LAX 14:20 · JFK 17:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.