这个是逗比根据地的备份镜像站(非官方)。牢记域名: [doubibackup.com]。搜索:标签云
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程
广告

一个由Go语言编写的轻量化 HTTP Tunnel 代理工具 —— GoFlyway

网络资源 Toyo 78评论
广告
本文最后更新于 2018年11月3日 22:04 可能会因为没有更新而失效。如已失效或需要修正,请留言!

前几天突然看到很多人在讨论这个HTTP代理工具,一开始我以为是单纯的HTTP代理,在 Github 了解后,看起来是针对header关键信息加密(如域名)等等简单的加密方式来骗过GFW的明文嗅探,同时因为HTTP的轻量化也保证了高效的传输数据,虽然现在这个项目才刚刚开始,但是在GFW未注意到之前(根据特征封锁),效果应该不错。

Github 项目地址:https://github.com/coyove/goflyway

服务端一键脚本:『原创』Go语言轻量化 HTTP Tunnel 代理工具 —— GoFlyway 一键安装管理脚本

客户端辅助工具:『原创』更方便的Windows系统 Goflyway 客户端 —— Goflyway Tools

与单纯的HTTP代理不同的是,因为这个工具会对一些内容加密和交换密匙,所以需要特定的客户端。


其他 Goflyway 教程请看:https://doub.io/tag/goflyway/

服务端配置

这里以 Linux系统为例。

注意:GoFlyway 的客户端和服务端都是一个文件,也就是本文章的服务端配置和客户端配置都是可以互相转换的,只是取决于运行GoFlyway的参数有没有 -up=xxx:xxx ,如果有就是客户端模式,如果没有就是服务端模式。

下载安装

点击展开 查看更多

服务端使用方法

点击展开 查看更多

客户端配置

这里以 Windows系统为例。

客户端辅助工具:『原创』更方便的Windows系统 Goflyway 客户端 —— Goflyway Tools

注意:GoFlyway 的客户端和服务端都是一个文件,也就是本文章的服务端配置和客户端配置都是可以互相转换的,只是取决于运行GoFlyway的参数有没有 -up=xxx:xxx ,如果有就是客户端模式,如果没有就是服务端模式。

下载安装

点击展开 查看更多

客户端使用方法

制作启动脚本

点击展开 查看更多

使用步骤

注意:下面以客户端本地监听端口 8100 为例,如果你设置了其他的,那么自己替换。

要使流量走GoFlyway,只需要在需要的软件中设置 HTTP代理 127.0.0.1 8100即可。

比如,如果浏览器要走GoFlyway代理,那么打开系统代理设置(或者浏览器内相关代理设置),设置代理服务器 地址:127.0.0.1端口:8100,并一路确定即可。


如果你是Chrome浏览器并且使用了 SwitchyOmega (点击查看新手使用教程代理管理扩展,那么进入扩展选项页面:

新建情景模式... -> 情景模式名称:GoFlyway -> 情景模式类型:代理服务器 -> 然后设置 代理协议:HTTP代理服务器:127.0.0.1代理端口:8100,然后点击左下角的 应用选项 按钮即可。

接着打开谷歌试试:https://www.google.com

客户端Web控制面板

客户端运行后可以通过访问 http://127.0.0.1:8100 8100是客户端本地监听端口,就是客户端参数 -l=":8100",自己对应的改)来查看和设置一些GoFlyway选项。

右侧的几个选项分别是:

  1. 更改密码: doubi233(doubi233 文字可以点击修改的)
  2. 代理所有流量(包括国内网站)
  3. 在RNG中使用高分辨率计数器(不懂)
  4. 使用 China-list 识别中文网站(就是 chinalist.txt 文件)
  5. 禁用 shoco 压缩算法(不懂)

设置选项下方的两个按钮分别是:更新设置清除DNS缓存

注意:在修改完上面的几个设置选项后(包括密码),都需要点击一下 Update Settings (更新设置)按钮才会生效!

[/toggle]

更多使用姿势请看Github WIKI:https://github.com/coyove/goflyway/wiki/使用教程/

速度对比

我在一台美国小鸡上面 同时安装了 ShadowsocksR 和 GoFlyway ,测试速度如下。

注意:以下测速仅供参考,一些地区可能HTTP代理会限制严格,情况不一而论。

ShadowsocksR

加密方式:aes-128-ctr、协议插件:auth_aes128_md5、混淆插件:tls1.2_ticket_auth

YouTube速度测试(单线程):

注意:因为我这边联通对海外的服务器单线程限速 8Mbps+-,所以YouTube这类单线程都因为很容易跑到QOS上限而看不到什么大概区别。

IDM全速下载(多线程):

速度大概在 5MB/s ~ 7MB/s 之间波动,有时候也会跑到 8、9MB/s,不过基本平均速度在 6+MB/s

GoFlyway

YouTube速度测试(单线程):

注意:因为我这边联通对海外的服务器单线程限速 8Mbps+-,所以YouTube这类单线程都因为很容易跑到QOS上限而看不到什么大概区别。

IDM全速下载(多线程):

测试速度很快就突破到 9MB/s了,多次测试发现基本稳定到 8.5MB/s ~ 9.5MB/s 之间。

从上面的测速对比看,因为我这边被联通单线程限速,所以单线程很容易跑到QOS上限,速度上面没什么差别,而在多线程下载上,因为突破了联通的单线程QOS限速,所以可以明显看出速度差距,GoFlyway因为HTTP轻量化和加密较SSR相比简单很多,并且没有混淆等损耗速度,所以在速度上面占据了优势。

最后总结

在墙没有注意到这个HTTP工具(根据特征封锁)或者运营商真的HTTP协议QOS的前提下,这个软件在速度方面还是很有优势的,不过毕竟还是太年轻,以后会更好。

转载请超链接注明:逗比根据地 » 一个由Go语言编写的轻量化 HTTP Tunnel 代理工具 —— GoFlyway
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (78)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(78)个小伙伴在吐槽
  1. "客户端Web控制面板" 这里烦请改一下,"http://127.0.0.1:8100/?goflyway-console" 现在改成这个了,我找了半天,在 "https://github.com/coyove/goflyway/issues/80", 才找到, 要用这个了, "http://127.0.0.1:8101/"
    zhuatw2018-11-03 21:22 回复
    • 嗯,修改了,这个功能我基本没怎么用过。。。
      Toyo2018-11-03 22:04 回复
  2. [信息] GoFlyway 服务管理脚本下载完成 ! [信息] 开始写入 配置文件... [信息] 开始设置 iptables防火墙... [信息] 开始添加 iptables防火墙规则... [信息] 开始保存 iptables防火墙规则... [信息] 所有步骤 安装完毕,开始启动... [信息] GoFlyway 启动中... [错误] GoFlyway 启动失败 ! 以前在一台VPS上OK的,现在新买一个VPS老是启动失败
    6662018-09-19 17:35 回复
    • 启动失败请贴出错误日志。
      Toyo2018-09-19 21:54 回复
      • 刚安装后日志
        ~# cat /usr/local/goflyway/goflyway.log
        * goflyway (build 180404051442) 
        * launched as server (aka upstream) 
        * upstream C76976 started at [ :9997 ] 
        
        重启
        ~#/etc/init.d/goflyway restart
        [信息] GoFlyway 未运行
        [信息] GoFlyway 启动中...
        [错误] GoFlyway 启动失败 !
        
        重启后日志:
        ~# cat /usr/local/goflyway/goflyway.log
        * goflyway (build 180404051442) 
        * launched as server (aka upstream) 
        * upstream C76976 started at [ :9997 ] 
        * goflyway (build 180404051442) 
        * launched as server (aka upstream) 
        * upstream C76976 started at [ :9997 ] 
        [X0920/115146.440:main.go(348)] listen :9997, C98, bind: address already in use
        
        6662018-09-20 11:55 回复
        • bind: address already in use
          端口被占用,使用 netstat -lntp 命令查看是哪个进程占用了端口。
          Toyo2018-09-20 12:43 回复
      • ~#service goflyway status ● goflyway.service - LSB: Lightweight HTTP proxy tool Loaded: loaded (/etc/init.d/goflyway; bad; vendor preset: enabled) Active: active (exited) since Thu 2018-09-20 12:33:15 CST; 10s ago Docs: man:systemd-sysv-generator(8) Process: 1524 ExecStop=/etc/init.d/goflyway stop (code=exited, status=1/FAILURE) Process: 1535 ExecStart=/etc/init.d/goflyway start (code=exited, status=0/SUCCESS) Sep 20 12:33:13 DescriptiveLighthearted-VM systemd[1]: Starting LSB: Lightweight HTTP proxy tool... Sep 20 12:33:13 DescriptiveLighthearted-VM goflyway[1535]: [信息] GoFlyway 启动中... Sep 20 12:33:15 DescriptiveLighthearted-VM goflyway[1535]: [错误] GoFlyway 启动失败 ! Sep 20 12:33:15 DescriptiveLighthearted-VM systemd[1]: Started LSB: Lightweight HTTP proxy tool. Sep 20 12:33:18 DescriptiveLighthearted-VM systemd[1]: Started LSB: Lightweight HTTP proxy tool.
        6662018-09-20 13:05 回复
        • 请提供日志内容。
          Toyo2018-09-20 18:42 回复
  3. 站长大大好!我用的是manjaro Linux,已安装go语言版的goflyway,我执行的命令:
    goflyway -up="demo.goflyway.pw:80" -k=密码  -l="0.0.0.0:8118" -g
    
    终端输出:
    * goflyway (build 180404051442) 
    * launched as client 
    * failed to read ACL config (but it's fine, you can ignore this message) 
    *   err: open chinalist.txt: no such file or directory      //我不需要gfwlist,删了
    * proxy 3DC313 started at [ 0.0.0.0:8118 ], upstream: [ demo.goflyway.pw:80 ] 
    * access client web console at [ 127.0.0.1:8128 ] 
    
    但我http代理设置localhost,8118端口,还是连不上Google,-l参数使用127.0.0.1也是这样。。
    
    站点分享的信息我都加入参数中了,唯有CDN模式没有特别设定,是否因为这个?如果可能是的话,请问如何设定?
    
    谢谢站长大大!
    
    Andrea2018-09-07 10:46 回复
  4. 弹出更新提示时能不能复制更新网址。。懒得一个字一个字打
    哇哦2018-07-18 19:04 回复
    • 哪里的更新提示?
      Toyo2018-07-18 22:32 回复
  5. linux版GoFlyway无法扫描二维码
    4e2018-06-09 23:06 回复
    • 二维码仅适用于 我的 Goflyway 一键脚本和 Goflyway Tools 客户端,其他的都需要手动输入账号信息。
      我网站分享的免费 Goflyway 账号的密码暂时都是 doub.io ,服务器IP和端口都写了。
      Toyo2018-06-10 09:47 回复
  6. 手机怎么使用
    Taipei2018-05-19 14:18 回复
  7. 解压后提示病毒 TrojanDropper:Win32/Woozlist.B
    xx2018-04-16 13:05 回复
    • 这是个超级病毒,用了会地球爆炸。
      Toyo2018-04-16 15:09 回复
  8. 站长你的获取版本号应该改为 goflyway_ver=$(wget -qO- "https://github.com/coyove/goflyway/tags"|grep "/goflyway/releases/tag/"|grep -v '\-apk'|head -n 1|awk -F "/tag/" '{print $2}'|sed 's/\">//')&& echo ${goflyway_ver}
    孤帆2018-04-07 14:55 回复
  9. 请问可否添加自动更换随机端口号的功能?比如自动每24个小时生成一个随机的端口号,然后读取conf,用正则替换值,然后重启服务。这样可以一定程度上避免某端口流量过大ip被墙,每天打开客户端前先连上服务器手动查看端口号就是了 :mrgreen:
    ruae2018-03-19 16:58 回复
    • 但是,这样同样也会造成特征,一个HTTP代理,天天换端口,太不正常。
      Toyo2018-03-20 10:06 回复
      • 确实会造成特征,但就我的情况来说,我的流量特别大,基本一个月左右速度下降,一个多月就会被墙ip,但是通过手动三天一次换端口,现在快三个月也没有被干扰或者被墙
        ruae2018-03-20 14:00 回复
  10. 大佬,用恩山的H大改的华硕固件里的goflyway设置好了参数,然后手机连上之后用小火箭设置了 路由:8100 的socks或者http代理,想当然的以为能通,但实际是通不了的。有没有什么方法可以解决这个问题呢?
    woody2018-03-16 14:51 回复
    • 智能路由器和IOS我都没有,不清楚这种玩法。
      Toyo2018-03-16 19:00 回复
  11. 可惜不能再路由器上使用。
    九五二七2018-03-15 13:47 回复
  12. proxyconnect, dial tcp 195.**.**.***:8080: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. [E0308/221344.582:client.go(233)] dial 195.**.**.***:8080, i/o timeout ... 1 similar message(s) ... 1 similar message(s) ... 9 similar message(s) ... 1 similar message(s) ... 1 similar message(s) ... 1 similar message(s) ... 2 similar message(s) 服务器IP已经改成域名了,不知道什么原因
    simon2018-03-08 22:27 回复
    • 尝试重启一下Goflyway 服务端,有可能是服务端进程假死了。
      然后使用TCPing测试一下域名+端口是否通顺正常。
      Toyo2018-03-10 15:44 回复
  13. 谢谢大神的分享,但是我win10的电脑不能打开那个Tool的exe,说是权限不能访问,但是我在虚拟机上的XP系统上却可以运行,不知道是什么问题。
    DaSangBing2018-03-04 22:17 回复
    • 右键 - 以管理员方式运行试试。
      Toyo2018-03-05 11:50 回复
  14. 类似SSR客户端开启local proxy的功能 :oops:
    Vince2018-03-04 18:37 回复
  15. 如果想用电脑做局域网代理服务器该怎么设置呢?(PC上开这个goflyaway,同一局域网的ipad通过pc科学上网)。谢谢博主~
    Vince2018-03-04 18:35 回复
    • 木有测试过,作者也没说。
      Toyo2018-03-05 12:04 回复
  16. 获取版本的链接怎么改成获取最新的版本
    sol2018-03-03 20:44 回复
    • 默认就是获取最新版本号。
      Toyo2018-03-04 14:29 回复
  17. debian系统,用一键安装,安装完显示 安装成功,但是未启动,重启也不行 是什么原因?
    sol2018-03-03 20:20 回复
    • 提供日志信息。
      Toyo2018-03-04 14:32 回复
  18. 用本站提供的免费帐号进行客户端的测试,连接谷歌不成功,在Goflyway Tools的日志中看到如下信息。 run.bat goflyway (build 180124041953) * launched as client * global proxy: goflyway will proxy everything except private IPs * proxy Edilri started at [ 127.0.0.1:8100 ], upstream: [ 159.65.92.113:80 ] * access client web console at [ 127.0.0.1:8101 ] [E0228/112456.894:httpmux.go(40)] prefetch err: read 127.0.0.1:51295, i/o timeout [E0228/112620.204:client.go(213)] www.google.com:443: read 159.65.92.113:80, Software caused connection abort
    testman2018-02-28 11:27 回复
    • 看了下,Goflyway 的负载能力有限,用的人多了,出现了假死情况,我重启服务端后正常了,目前暂时只能定时重启来缓解了,好在对个人使用影响不大。
      Toyo2018-02-28 21:53 回复
      • 果然如此,但是和Goflyway一样由GO语言开发的Brook,没有发现这个问题。
        testman2018-02-28 23:56 回复
        • 这要看作者写的代码如何了,这我就不懂了。
          Toyo2018-03-01 20:04 回复
  19. 不会Go语言怎么使用Gofly? 脚本啥的都看不懂
    Eve2018-02-22 16:41 回复
  20. 怎么设置多用户?需要和别人一起用
    fiy2018-02-18 23:39 回复
    • 目前只支持一个用户。
      Toyo2018-02-19 12:16 回复
  21. 博主,已经可以科学上网了,但是http://127.0.0.1:8100/?goflyway-console访问不了是什么情况,报request URI must be absolute
    imyzone2018-01-29 22:59 回复
    • 也就是启动后能用,但是控制面板打不开?
      是否 8100 端口被占用了?检查一下。如果正常,那么你只能去 Github 联系客服解决了。
      Toyo2018-01-30 15:12 回复
      • 是的,好的,非常感谢
        imyzone2018-01-30 21:39 回复
  22. 一直没成功过,安装服务端和设置客户端都正常,唯独代理不能用,比如说访问t66y.com,下载回来一个index.php,google 和youtube根本就打不开
    libilb22018-01-19 16:09 回复
    • 看到你这个问题后,我去找了个空闲服务器装了下,试了下很正常,没什么问题。
      如果有必要,请 Telegram群组(TG使用教程)私聊联系我讨论解决。
      Toyo2018-01-20 01:03 回复
    • 你这t66y.com很强啊 :smile:
      卷翼2018-02-26 12:25 回复
  23. 现在可以直接连接逗比了???
    lex2017-12-03 16:45 回复
  24. 新工具不停的冒冒冒,好事儿好事儿,,
    在烀2017-11-27 16:38 回复
  25. hi. 你能用它访问youtube吗?我试了试,不行。
    fish2017-10-07 18:59 回复
  26. 为何图片都看不见,显示的都只是这个一大块灰色而已呢,https://doub.io/wp-content/plugins/wp-images-lazy-loading/images/grey.gif?
    ces2017-10-02 05:04 回复
    • 请把 img.doub.pw 加入到你的PAC或者扩展内,让其域名走代理(图床)。可能是图床速度慢加载慢,加载成功前都是显示灰色的图片在增加网页加载速度。
      Toyo2017-10-02 11:24 回复
      • 我试了几次,将img.doub.pw直接输入浏览器,它显示我要回答一个安全问题选择图片上的一些小方框,以证明我不是robo。每次在回答正确后,都直接跑到“403 Forbidden”。可能是我这的IP被禁止了?记得最近逗比关闭前没这情况哦。
        ces2017-10-05 06:33 回复
        • img.doub.pw 是我的图床,前段时间关站后做的(以前用的付费CDN七牛,太贵),关站前可没有这个图床域名,和我本站在一个服务器上面,也加了CF的CDN,CF可能会针对可疑IP进行人机验证避免攻击之类的。
          403正常,必须直接访问图片才能显示。
          Toyo2017-10-05 19:19 回复
          • 弄好了。img.doub.pw大概对我这的IP段有检查。要我通过robo验证,然后它会存入浏览器cookie吧。这之后重刷下这个帖子,图就出现了。 :cool: 所以将帖子中的一个图片网址,比如https://img.doub.pw/goflyway-jc1/goflyway-jc1-02.png,将其输入浏览器,就可以通过robo验证了。 另外,图片的网址可以用浏览器开发者工具(Chrome上用F12打开,找到):
            ces2017-10-06 09:55 回复
  27. 以后会更好。。。就怕被关注到,而又没加密混淆 :smile:
    owen2017-09-29 20:49 回复
  28. 部署成功,现在就是用goflyway,发的贴~~
    willis2017-09-20 03:48 回复
  29. 想问下,为什么自己搭建的ss,看youtube能满速,4M-6M之间,但是下载永远都只有几十K呢
    feng2017-09-18 21:52 回复
  30. 刚刚试了一下这个工具,非常好。希望博主以后能一直更新goflyway脚本
    oneplus2017-09-17 15:36 回复
    • 什么鬼,我还没写GoFlyway脚本呢。。。因为这个软件刚刚出正式版本,还有很多问题,我还在观望,差不多的时候,我就会出一键脚本的。
      Toyo2017-09-17 17:12 回复
      • 博主,goflyway未来能代替shadowsocks吗?除了shadowsocks外,还有哪些好的工具可以用?
        oneplus2017-09-17 21:46 回复
        • 没有什么替代不替代的,首先两个软件的原理就完全不一样,SS/SSR是在SOCKS5的基础上做了加密、协议、混淆等。而Goflyway是在HTTP的基础上对头部文件加密(比如访问的域名),然后每次客户端访问服务端都交换密匙来保证墙不会发现,但是相比SS/SSR,还是更容易被墙破解。
          还有哪些好的工具可以用?我不知道,我目前依然使用ShadowsocksR。
          Toyo2017-09-18 12:02 回复
          • goflyway与ssr相比,在特征上哪个更明显??
            sdf2017-09-28 10:55 回复
            • 特征我不清楚,但是GoFlyway相比SSR加密简单很多,更容易被封锁。
              Toyo2017-09-28 12:26 回复
  31. 真高兴,逗比站又开啦
    Xxxxxx2017-09-17 11:20 回复
  32. 简单问问安卓手机怎么设置使用 :neutral:
    微笑着向前2017-09-15 10:52 回复
  33. 还以为你被DDOS挂了
    sky1252017-09-15 01:08 回复
  34. 欢迎逗比回来! :wink: 顺便问一个问题: 如果SSR混淆和参数设置得当,能避免单线程限速吗?
    NuUuuUuUuasdd2017-09-14 17:31 回复
    • 这要看运营商是根据什么条件来单线程限速的了。
      Toyo2017-09-14 19:20 回复
  35. chinalist很不准确,还是喜欢SSR的chn_ip模式。
    ray2017-09-14 16:48 回复
    • 已向作者提建议Github Issues。域名白名单的确没有IP白名单省力和准确,毕竟国内IP大体不会变太多(国内IP广播国外,国外IP广播国内),而域名则就费事了,需要经常维护,目前这个也只能算国内常见域名白名单。
      Toyo2017-09-14 19:19 回复
  36. 站又开了,支持!
    nuke2017-09-14 16:07 回复
  37. 欢迎逗比回来 :mrgreen:
    小小超8182017-09-14 14:59 回复
  38. 安装没有这么麻烦吧?服务端直接git clone下来就能用了。 庆祝重新开站!
    k2017-09-14 14:17 回复
  39. 重新开站了!加油!
    hao2017-09-14 12:36 回复