花式使用 proxy 访问 Github - Github No.1, Proxy No.2, XXX No.7

更新日期: 2017-01-12 阅读次数: 8762 分类: Git

转投 Sage 开发 wordpress 模板,初始化 Sage 代码目录折腾了我半天时间。

遇到的第一个问题是, composer 无法拉取 dev-master 的代码

$ composer create-project roots/sage your-theme-name dev-master

由于我使用的是 composer 国内镜像,开始怀疑是国内镜像有问题,然后清空了 ~/.composer 切换为官方镜像,依然没有响应。

但是拉取 release 版本,却一切正常

$ composer create-project roots/sage your-theme-name

我猜测,composer 的逻辑大概是,缓存了 release 版的代码,而 dev-master 的代码并没有及时缓存,需要从 github 服务器拉取。 而国内近期访问 github 又有问题(要么超时,要么无法访问),所以导致无法通过 composer 初始化 Sage 的代码。

于是,我妥协了,从 Github Web 上下载了最新的 Sage Zip 代码包,置于 themes 目录下解压,然后 rename 成 your-theme-name, 再手动运行

composer install

果然可以了。

然而,这只是噩梦的开始!

使用 Yarn 安装依赖的时候,报错

error An unexpected error occurred: "https://github.com/rmarscher/monkey-hot-loader.git: connect ETIMEDOUT 192.30.253.112:443".

ping 192.30.253.112
ping 192.30.253.113

均没有响应,说明 github 又被限速了。

Fuck! 好在我电脑上永远开启着 proxy,为 git 配置一下 proxy

git config --global http.proxy 'socks5://127.0.0.1:1080' 
git config --global https.proxy 'socks5://127.0.0.1:1080'

对应的 ~/.gitconfig 文件中,自动增加了这两个配置

[http]
	proxy = socks5://127.0.0.1:1080
[https]
	proxy = socks5://127.0.0.1:1080

然而,yarn 运行超时依旧,但是我已经可以正常的 git pull/push github 上的代码了。

这说明 yarn 实际上还有对 github 的访问逻辑,但是这些请求不是通过 git 进行的。

那么解决的办法就是需要让终端命令也能够通过 proxy 访问 github

Ubuntu 上让 proxy 支持终端命令

sudo apt-get install polipo
sudo vim /etc/polipo/config

增加配置

socksParentProxy = "localhost:1080"
socksProxyType = socks5

重启 polipo 服务,使配置生效

sudo service polipo stop
sudo service polipo start

确认生效的方法

$ curl ip.gs
当前 IP:x.x.x.x 来自:中国山东烟台 联通
$ http_proxy=http://localhost:8123 curl ip.gs
当前 IP:x.x.x.x 来自:美国纽约州纽约 digitalocean.com

然后再通过 proxy 执行 yarn

http_proxy=http://localhost:8123 yarn

终于,可以继续敲代码了。。。

国内的程序员真是苦啊!

领取阿里云/腾讯云服务器优惠券

关于作者

我是来自山东烟台的一名开发者,喜欢瞎折腾,顺便记记笔记。有敢兴趣的话题,欢迎加微信 zhongwei 聊聊。 白天写程序,晚上哄熊孩子,可能回复有点慢,见谅。 查看更多联系方式

相关文章

爱评论不评论

近期节日

2020年04月11日 世界帕金森病日
2020年04月19日 谷雨
2020年04月21日 复活节
2020年04月22日 世界地球日
2020年04月23日 世界读书日
2020年04月26日 知识产权日
2020年04月30日 佛诞
2020年04月30日 全国交通安全反思日
2020年05月01日 国际劳动节
2020年05月04日 五四青年节
2020年05月05日 立夏
2020年05月08日 世界红十字日
查看更多节日