go-proxy – Lvs PlayGround

go-proxy – Lvs PlayGround

go-proxy是一个用 GO语言实现的代理服务器软件,当前仅支持对单站点进行代理。

http://go-lang.info是go-proxy的一个实例

适用于linux的二进制执行文件: 下载

使用方法:

go-proxy --target=TARGET_SITE_DOMAIN --port=[7023] --porcs_num=[2] [--debug] [--version]

例子:

$./go-proxy --target=golang.org --port=8080

在浏览器中通过 http://[你的ip地址或域名]:8080 访问golang.org

源码:

http://svn:svn@svn.lvscar.info/4fun/go-proxy/branches/4onesite/

UPDATE:

  • version: 100308
    • 根据GO习惯重写了Makefile
    • 根据 GO release.2010-03-04 变更的语法对代码进行了更新
  • version: 100226
    • 引入hack过的第三方httplib提供POST支持
    • 当前版本(2010-02-04)的go的原生http库存在以下问题:
      1. 在对nginx server进行POST请求时,会由于缺少content-length而失败
      2. 不支持自定义Header
      3. 不支持POST请求后的重定向
  • version: 100203
    • 解决异常HTTP请求(http HEAD)造成的崩溃问题
  • version: 100119
    • 对非文本数据直接传输,节省内存开销
    • 引入版本
    • HTTP RESPONSE HEAD中添加了go-proxy信息

TODO:

  • 日志
  • 链接处理
  • 链接量限制
  • https支持
  • 多站点代理