手把手教你设置linux代理网络,畅通无阻 go get和dep ensure

零、聊点天

作为一名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代理

 

二、在linux下安装s客户端

https://github.com/Shadowsocks-Wiki/s/blob/master/6-linux-setup-guide-cn.md

2.1 Shadowsocks-Qt5客户端

 

2.2 linux命令行客户端

1. 安装:

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

 

2. 创建 Shadowsocks 配置文件

创建一个 /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
}

3、启动 Shadowsocks

Python 版客户端命令是 sslocal , Shadowsocks-libev 客户端命令为 ss-local

/usr/local/bin/sslocal -c /etc/s.json -d start

步骤进行到这里,已经建立了本地sock5代理,代理地址为sock5:socks5://127.0.0.1:1080

这里的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

你可能感兴趣的:(职场生涯,go语言项目实战)