COW 是一个简化穿墙的 HTTP 代理服务器。它能自动检测被墙网站,仅对这些网站使用二级代理。
当前版本:0.9.8 CHANGELOG
欢迎在 develop branch 进行开发并发送 pull request :)
COW 的设计目标是自动化,理想情况下用户无需关心哪些网站无法访问,可直连网站也不会因为使用二级代理而降低访问速度。
- 作为 HTTP 代理,可提供给移动设备使用;若部署在国内服务器上,可作为 APN 代理
- 支持 HTTP, SOCKS5, shadowsocks 和 cow 自身作为二级代理
- 可使用多个二级代理,支持简单的负载均衡
- 自动检测网站是否被墙,仅对被墙网站使用二级代理
- 自动生成包含直连网站的 PAC,访问这些网站时可绕过 COW
- 内置常见可直连网站,如国内社交、视频、银行、电商等网站(可手工添加)
安装:
-
OS X, Linux (x86, ARM): 执行以下命令(也可用于更新)
curl -L git.io/cow | bash
- 环境变量
COW_INSTALLDIR
可以指定安装的路径,若该环境变量不是目录则询问用户 - 所有 binary 在 OS X 上编译获得,若 ARM 版本可能无法工作,请下载 Go ARM 后从源码安装
- 环境变量
-
Windows: 从 release 页面下载
-
熟悉 Go 的用户可用
go get github.com/cyfdecyf/cow
从源码安装
编辑 ~/.cow/rc
(Linux) 或 rc.txt
(Windows),简单的配置例子如下:
#开头的行是注释,会被忽略
# 本地 HTTP 代理地址
# 配置 HTTP 和 HTTPS 代理时请填入该地址
# 若配置代理时有对所有协议使用该代理的选项,且你不清楚此选项的含义,请勾选
# 或者在自动代理配置中填入 http://127.0.0.1:7777/pac
listen = http://127.0.0.1:7777
# SOCKS5 二级代理
proxy = socks5://127.0.0.1:1080
# HTTP 二级代理
proxy = http://127.0.0.1:8080
proxy = http://user:password@127.0.0.1:8080
# shadowsocks 二级代理
proxy = ss://aes-128-cfb:password@1.2.3.4:8388
# cow 二级代理
proxy = cow://aes-128-cfb:password@1.2.3.4:8388
使用 cow 协议的二级代理需要在国外服务器上安装 COW,并使用如下配置:
< 8609 div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="listen = cow://aes-128-cfb:password@0.0.0.0:8388">listen = cow://aes-128-cfb:password@0.0.0.0:8388