· 原发布于 mednoter.com

提高中国程序员幸福感的网络调试工具

警告: 本文介绍的工具仅用于开发工作,若使用者违反国家法律法规,后果自负,与本文无关。

前言

肉身在国内的话,配置开发环境是一种折磨。

yarn install 特别慢;npm install 特别慢;bundle install 特别慢。为了提高下载速度,你必须把各种依赖的下载地址替换为国内的镜像,或者使用 HTTP Proxy。

git clone 慢,需要设置环境变量,指定 HTTP Proxy。

$ export http_proxy=http://127.0.0.1:8087
$ export https_proxy=http://127.0.0.1:8087

SSH 慢,需要在 .ssh/config` 文件中配置 HTTP Proxy。

Host github.com
    User git
    ProxyCommand ProxyCommand ncat --proxy 127.0.0.1:1080

访问 Stack Overflow 慢,访问 Github 特别慢,需要给 Chrome 浏览器下载一个插件 Proxy SwitchyOmega 管理 Proxy,提高访问速度。

大部分问题,HTTP Proxy 都可以解决,就有个缺点——啰嗦。每次切换(或关闭) Proxy 的地址,你要逐个软件修改,terminal,chrome,ssh config。为此我还写过一个 shell 脚本来批量操作。

后来干脆为整个操作系统设置一个默认代理,这样就不必为每个软件单独设置了。但是这种思路有个缺点,太僵硬,国内国外的流量都通过代理,访问国内的流量也要绕地球一圈,速度就特别慢。

此外 HTTP Proxy 工作在 OSI 网络模型的第七层”应用层”,并不是所有的软件都支持。扪心自问,你自己写的应用程序会检查和利用 HTTP Proxy 吗?

未必。

Surge

如果你使用的是 MacOS,我建议你直接购买 Surge 这款网络调试工具。我没有拿过回扣,也没有提成,是凭良心推荐。

它的最大亮点是 “增强模式”,它会安装一个虚拟网卡并设置为默认路由,根据规则自动分发流量。这相当于在 OSI 的底层就分流了,应用层的软件根本察觉不到 Proxy 的存在。

重要的事情说三遍:

如果你购买了 Surge,请务必打开增强模式,否则暴殄天物。

如果你购买了 Surge,请务必打开增强模式,否则暴殄天物。

如果你购买了 Surge,请务必打开增强模式,否则暴殄天物。

也许有人有人会推荐其他免费开源的网络调试工具,我就问一个问题:它在网络模型中,工作在第几层?如果是 HTTP Proxy,就不要谈了,因为它无法解决前言中提到的各种缺陷。

此外 Surge 的功能并不仅限于此,它还可以对 HTTPs 进行抓包,方便调试 API。要知道单独购买一个网络调试工具 Charles Web Debugging Proxy 就要花费50美金啊,而买一个 Surge,就可以有两份用途,简直赚翻了。

Proxy Server

Surge 是个单纯的软件,它只负责把网络包丢给服务器,所以你还需要一台 Proxy 服务器。但是不建议你自己搭,因为运维太浪费时间,时间就是金钱。推荐你购买这类服务商,也不贵,一年就几百块钱,比较稳定的是 QWdlbnRORU8=

  1. 它会维持一个服务器列表,自动选择最快服务器。

  2. 它支持自定义配置。如果你熟悉 Surge 的各种规则,可以自行决定:

行动

  1. 购买 Surge,50 美金/终生授权,一次购买,终生享受。多花点时间敲代码不好吗,何必天天瞎折腾?
  2. 购买 Proxy Servers,100-500 RMB/年。 链接:aHR0cHM6Ly9hZ25lby5jby8/cmM9b3Z0MTh3YWI= ,使用这个链接,你我都会获得5元抵扣券。

参考

  1. 点击购买 Surge for Mac
  2. 点击购买 Surge for iOS
  3. Surge 也有企业版,如果你是一家软件公司,可以购买企业版,大幅提高员工的生产力。点击购买 Surge 企业版
  4. Stack Overflow: Getting Git to work with a proxy server
  5. Stack Overflow: Connect with SSH through a proxy
1
@xiaoronglv
Ruby China 管理员 / 上海 Ruby Tuesday 组织者
加入