百科
COW:开源代理内核百科
COW 是一个面向浏览器和移动设备的 HTTP 代理服务器:它先尝试直连,识别失败后把目标交给父代理,并根据访问结果生成 PAC。它解决的是“按站点学习是否需要二级代理”,不是现代多协议核心的通用规则与 TUN 平台。
阅读路径:按“概览 → 核心能力/技术贡献 → 时间线或版本 → 生态与来源”阅读;事实、版本与判断均以正文标注的公开来源为准。
01 · 词条概览
- 名称:COW
- 公开别名:Climb Over the Wall
- 许可证:BSD-2-Clause
- 官方仓库:https://github.com/cyfdecyf/cow
- 文档:官方文档
- 最近核验版本:0.9.8(2016-06-19,发行说明)
COW 是一个面向浏览器和移动设备的 HTTP 代理服务器:它先尝试直连,识别失败后把目标交给父代理,并根据访问结果生成 PAC。它解决的是“按站点学习是否需要二级代理”,不是现代多协议核心的通用规则与 TUN 平台。
02 · 核心架构与能力
自动判断直连还是父代理
COW 提供本地 HTTP 代理,配置一个或多个 HTTP、SOCKS5、Shadowsocks 或 cow 父代理。请求先按直连/已知状态处理;被判定失败的网站交给父代理,成功结果会更新访问记录。该判断依赖请求结果和超时,不是对网络封锁状态的独立证明。
来源:https://github.com/cyfdecyf/cow/blob/41c0fb157c8b939b724ae0d58dad3a1b7cd2e811/README.md#技术细节
PAC 是学习结果的公开入口
COW 在本地提供 /pac,并把确认可以直连的网站放进 PAC;浏览器使用 PAC 时可以减少不必要的代理跳转,但新出现的失败站点可能先被错误直连,需暂时关闭 PAC 或更新记录让 COW 重新学习。blocked 与 direct 文件可手工覆盖学习结果。
来源:https://github.com/cyfdecyf/cow/blob/41c0fb157c8b939b724ae0d58dad3a1b7cd2e811/README.md#手动指定被墙和直连网站
重试和超时决定使用体验
普通 GET 或 CONNECT 在失败且尚未向客户端发送内容时会自动重试;readTimeout 与 dialTimeout 会改变等待边界。已经发送内容后不会把同一请求当作可安全重放的事务,因而重试并不等于所有请求都能恢复。
来源:https://github.com/cyfdecyf/cow/blob/41c0fb157c8b939b724ae0d58dad3a1b7cd2e811/README.md#cow-如何检测被墙网站
项目状态
COW 最新正式发行是 0.9.8,发行于 2016 年 6 月 19 日;当前页面保留其历史设计和来源,不把它的学习式 PAC 模型与后来的规则核心、Fake-IP 或 TUN 功能混为一谈。
来源:https://github.com/cyfdecyf/cow/releases/tag/0.9.8
03 · 发展纪事
04 · 来源与边界
本页依据截至 2026-11-13 的官方仓库、官方文档和发行记录整理。内核页面保留原有 /cores/cow 页面;本 Wiki 只提供独立的百科阅读入口。