COW

开源代理内核 · 亦称 Climb Over the Wall / cow proxy

COW(Climb Over the Wall)是 cyfdecyf 用 Go 编写的本地 HTTP 代理:自动识别被封锁的网站,只对这类网站使用上级代理,并生成 PAC 让可直连网站绕过代理。它是规则分流普及之前的早期自动化尝试,0.9.8 是仓库中最后一个可核验的正式版本。

稳定版本
暂未收录
GitHub Stars
8,398
开源许可
BSD-2-Clause

发展历程

沿革时间线按可核验事件整理;Clash 内核由 Dreamacro 开源并确立规则分流路线,2023 年 11 月原版仓库删除后,MetaCubeX 的 Clash.Meta 更名为 mihomo 延续开发。

  1. COW 开始探索自动识别受阻网站 →

    COW(Climb Over the Wall)的初始提交把项目定义为一种 HTTP 代理:尝试识别被封锁的网站,只在访问这些网站时使用上级代理。

    GitHub:COW 初始提交
  2. COW 发布最后一个可核验正式版本 →

    COW 发布 0.9.8,修复 Shadowsocks OTA、微信图片地址和连接重置识别问题。这是仓库发布页与 CHANGELOG 中最后一个可核验的正式版本。

    GitHub:COW 0.9.8 release
查看完整内核时间线 →

内核介绍

先直连、失败后走上级代理

README 说明:未知网站先尝试直连,失败后用上级代理重试请求,两分钟后再尝试直连;连接重置、连接超时与读超时被当作可能被封锁的信号,并以一定概率重试直连来减少误判。访问结果记录在 stat 文件中,据此维护受阻断与可直连名单。

查看来源

上级代理与 PAC 的分工

COW 支持 HTTP、SOCKS5、Shadowsocks 以及 cow 自身作为上级代理,可配置多个上级代理并做简单负载均衡;同时内置常见可直连网站列表,并生成 PAC 让浏览器对这些网站直连。它本身只是 HTTP 代理,不提供缓存,也不支持 HTTP pipeline。

查看来源

最后一个可核验正式版本

本站纪事按发行页与 CHANGELOG 记录 COW 0.9.8(2016 年 6 月 19 日)为最后一个可核验正式版本。仓库至今仍可公开访问、未标记归档,也没有正式的停止维护声明,因此这里只记录最后版本,不推定停更日期。

查看来源

与 Clash 不是代码继承关系

本站内核纪事把 COW 与 Clash 并列为「降低手工维护分流规则成本」的两种尝试:COW 从访问结果自动学习哪些站点需要代理,Clash 则由用户配置规则与策略组决定出口。两者没有代码分支关系。

查看来源

版本更新

暂未收录已发布的版本动态。

查看官方发行记录 ↗