作为一名golang的使用者,由于我国网络的原因导致无法下载到一些安装包,有智慧的前辈总结出以下几种方法:
1.gopm 有的库还是无法下载
2.设置 GOPROXY 环境变量配置代理, 例如:GOPROXY=https://goproxy.io
3.从 Github 的代码库 clone,将下载好的包拷贝到GOPATH目录的对应目录下,每层级的目录需要自己手动创建
第三种方式有点简单粗暴,也有点显得蠢笨,我以前就是采用的这种
1.s
2.cow
s使用的协议是sock5代理协议,而很不幸的是,golang的dep和go get命令并不支持sock5代理协议,所以我们需要将sock5代理转换为http代理。
cow软件作用:将sock5代理转换为http代理
https://github.com/Shadowsocks-Wiki/s/blob/master/6-linux-setup-guide-cn.md
2.1 Shadowsocks-Qt5客户端
略
2.2 linux命令行客户端
Python : https://github.com/s/s/tree/master#install
Shadowsocks-libev: https://github.com/s/s-libev#installation
下面我们以 Python 版的 Shadowsocks 为例
安装命令:
Debian / Ubuntu:
apt-get install python-pip
pip install git+https://github.com/s/s.git@master
CentOS:
yum install python-setuptools && easy_install pip
pip install git+https://github.com/s/s.git@master
For CentOS 7, if you need AEAD ciphers, you need install libsodium
dnf install libsodium python34-pip
pip3 install git+https://github.com/s/s.git@master
创建一个 /etc/s.json
文件,格式如下
{
"server":"服务器 IP 或是域名",
"server_port":端口号,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"密码",
"timeout":300,
"method":"加密方式 (chacha20-ietf-poly1305 / aes-256-cfb)",
"fast_open": false
}
Python 版客户端命令是 sslocal , Shadowsocks-libev 客户端命令为 ss-local
/usr/local/bin/sslocal -c /etc/s.json -d start
这里的1080端口是自己设置的,在 /etc/s.json
文件中
三、cow代理设置
项目地址为:https://github.com/cyfdecyf/cow
OS X, Linux (x86, ARM): 执行以下命令进行安装
curl -L git.io/cow | bash
如果网速慢的,可以访问我上传到csdn的资源链接,点击我的资源即可
安装完cow后,cow的默认配置文件的路径为/root/.cow/rc
在配置文件中添加
listen = http://127.0.0.1:7777
proxy = socks5://127.0.0.1:1080
四、设置golang的http_proxy
设置http_proxy环境变量
export http_proxy=http://127.0.0.1:7777(单次登录有效,退出登录失效)
永久有效的设置http_proxy环境变量的方法
1.vim /etc/profile
2.将export http_proxy=http://127.0.0.1:7777添加到末尾
3.source /etc/profile
现在不管是访问google还是dep ensure,还是go get都能6的飞起,哈哈
不熟悉http_proxy的童鞋,请参考链接
https://stackoverflow.com/questions/10383299/how-do-i-configure-go-command-to-use-a-proxy