首页 > 服务器 > 服务器环境 > goproxy – 基于msocks协议的轻量级Http代理
2016
07-01

goproxy – 基于msocks协议的轻量级Http代理

今天在一个群里边闲聊的时候,有群友提到了 goproxy 这样一个代理工具。然后我上网查了查,发现同名的有两个项目:

1.https://github.com/phuslu/goproxy

群友所指的就是这一个项目,它是曾经广为人知的 goagent 的作者使用 Go 语言开发的,可以看作是 goagent 的增强版。搭建的时候需要配合 GAE,使用时需要扫描可用的IP地址,有兴趣的朋友可以看看官方的教程。

2.https://github.com/shell909090/goproxy

这个就是我今天要介绍的代理工具,经试用效果还可以。就是不太稳定,还是写个教程供大家查阅,也算是多个可选项吧。

goproxy 使用的是 msocks 协议,msocks 协议最大的改进是增加了连接复用能力,这个功能允许你在一个 TCP 连接上封装多个 TCP 连接,连接建立速度更快,没有大量的打开和关闭开销,而且流量模型很难发现。

但是由于多个 TCP 复用封装到一个 TCP 内,导致单 TCP 过慢时所有请求的速度都受到压制。因此记得调优 TCP 配置,增强 LFN 下的网络效率。而且注意,当高速下载境外资源时,其他代理访问会受到影响。

goproxy部署

为了方便大家部署,我将适用于所有平台的程序都编译好了,请到这里下载:https://soft.kuoruan.com/goproxy/

以 Linux 64位为例:

首先生成 key,这个 key 在服务端和客户端都会用到:

然后新建配置文件:

输入以下内容:

用上面生成的 key 替换 [your key],username 和 password 请按自己的喜好填写。

新建 start.sh:

新建 stop.sh:

启动服务端:

关闭服务端:

客户端配置

新建一个文件夹,下载适用于自己系统的可执行文件,比如64位:goproxy_windows_amd64.exe

创建配置文件 config.json:

新建后台运行脚本 run.vbs:

新建 stop.bat:

双击 run.vbs 运行客户端,使用 stop.bat 来停止客户端。

如需开机启动,请参考:Kcptun + Shadowsocks加速方案

使用方法

  • 代理地址:127.0.0.1
  • 端口:5233
  • 代理协议:HTTP

浏览器访问 127.0.0.1:5234 可以查看当前连接的站点。

由于 goproxy 把所有流量封装成一个 TCP 流,以此逃避 GFW 检测。带来的效果是看视频很流畅,但是刷推特不流畅,毕竟连续的流量才比较快,整个代理是建立在 TCP 协议上的。

本人测试 YouTube 1080P 无压力,速度稍等一会儿就能提起来。

手动编译教程

由于 goproxy 是 Go 语言程序,需要先配置 Go 语言环境,具体操作请先看:Linux下配置Golang环境

Golang 环境配置好之后,可以开始编译 goproxy:

当前目录下会生成 goproxy 的可执行文件。

如需要其他版本,可以在VPS上进行交叉编译:

32位系统:

64位系统:

ARM:

参考文章:goproxy部署方案

最后编辑:
作者:
百度ID:“度娘程序员”,博主。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

goproxy – 基于msocks协议的轻量级Http代理》有 1 条评论

  1. Google Chrome 52.0.2743.116Google Chrome 52.0.2743.116Windows 7 x64Windows 7 x64

    可以看下我的这个日志怎么回事吗,不能启动

    2016/09/01 09:46:58.994933 goproxy.go:174: ERROR: %s illegal base64 data at input byte 0
    2016/09/01 09:47:09.227587 goproxy.go:174: ERROR: %s illegal base64 data at input byte 0
    2016/09/01 09:49:48.683871 goproxy.go:174: ERROR: %s illegal base64 data at input byte 0

发表回复

你的邮箱地址不会被公开,垃圾评论将被删除。

有人回复时邮件通知我