声明:私设外网 VPN 是违法行为,本文仅作技术分享,如有参考本文技术手段的违法乱纪行为,产生的一切法律后果与作者无关。

我司的办公网络限制下载 400Kb/s,对于常规办公来说足够用了,然而对于我等动辄下载几百 Mb 的 jar 包的程序猿来说简直无法忍受这龟速。前些天折腾Docker时就用技术手段小小绕过了一下限制。

思路一

我手上有一台之前测试某项业务时申请的服务器。

emmmmm…

WinServer 系统的,因为服务器不限速,之前我都是远程到这台服务器下载百度网盘上文件的。现在从 DockerHub 下载镜像当然首选远程下载,再用内网传到我自己电脑上。

试验了一下,安装 Docker 失败,可能跟我司服务器用的虚拟化技术有关,不能支持 Docker 的虚拟化要求。

-c835

此路不通!

思路二

我之前用 SS 翻Q的时候,觉得这工具不错,假如我在服务器上搭一个 SS 服务端,然后用我自己的电脑连接,我与公司服务器走内网网速极快,理论上我的可用网速应该是Min(服务器外网带宽,我与服务器内网带宽)

于是到 GitHub 上翻一下有没有 Win 上可用的 SS 服务端,终于找到了,就是它了go-shadowsocks2

下载完毕后,配置好用户名、密码、加密方式用 SS 客户端连一下!

-c290

切换到全局模式,访问一下百度,通的!

-c288

事情已经成功了一半,用百度在线测了下速果然达到了百M网速。

接下来就是要让docker pull [images]命令走代理下载啦。

执行了一下,依然用的我那 400K 龟速。猜测因为 SS 用的 Socket5 代理,可能默认只对浏览器生效,要让 Shell 也走代理说不得要经过一番设置。

到 SS 看一下本地的 HTTP 代理端口是啥。

-c480

1
2
export http_proxy=http://127.0.0.1:1087/
export https_proxy=http://127.0.0.1:1087/

OK,下载个Tomcat试一下生没生效,果然秒下。

1
wget https://downloads.apache.org/tomcat/tomcat-8/v8.5.56/bin/apache-tomcat-8.5.56.tar.gz.asc

满心欢喜执行docker pull [images]命令,结局依然龟速,于是猜测会不会是docker pull走的不是HTTP方式,难道是跟Git那样的SSH协议?

抓瞎的时候,无意间打开Docker Desktop,发现里面有个叫做PROXIES的东东,貌似看到了救星,将代理配上再走一波。 -c840

bingo!刷刷的下载完毕!

(全文完)