Random Tech Thoughts

The title above is not random

COW 0.3.2

COW 更新到 0.3.2。主要改动:

  • 提供预编译的二进制文件及安装脚本
  • 修复了重试 HTTP POST 的 bug
  • 添加了一个不可靠的检查 SSL 连接被墙的机制

预编译的二进制文件提供了 OS X 和 Linux 的版本,用下面的命令即可安装:

curl -s -L https://github.com/cyfdecyf/cow/raw/master/install-cow.sh | bash

希望可以方便没有安装 Go 的人使用。

前几天用 HTTPS 访问 Google 经常出错,所以才想到去检测除 timeout 和 reset 之外的 HTTP CONNECT 的错误。对 SSL 没有了解,不过觉得 SSL 错误代理服务器没法可靠的检查出来(除非像 GoAgent 一样做中间人)。现在的检测基于这样的观察:浏览器发现 SSL 错误会马上关闭连接。COW 在发现这种情况时会把请求的域名加到被墙列表中。其实这个观察有一个明显的漏洞,用户主动停止请求也会遇到这样的情况。好在用户主动停止请求应该是少数操作,而且只有在关闭连接的时间小于 1 秒的情况下才会认为被墙。

这个机制看起来不是非常可靠,但实际工作效果还可以。为了能正常访问 Google,COW 默认开启这个检测机制。

Comments