Linux、Mac_终端配置vpn代理CocoaPods,pip,conda摆脱国内镜像源

问题描述

            

在Linux或者Mac OS中,基本所有的包管理工具或者资源下载工具(apt、yum、brew、pip、conda、CocoaPods、git、curl、wget...)都有这个问题,就是安装包或者资源的存储服务器在国外,由于国内的网络原因(你们懂的!),常常会导致安装或者下载失败或者请求延迟。国内常用的解决方法是更改默认仓库为国内专门机构维护的镜像仓库服务器。虽然大部分情况可以满足,但是有时候会因为国内镜像更新不及时导致我们安装的软件并不是最新版本,或者我们要安装的软件在国内镜像根本找不到!解决的方法就是给终端配置vpn代理,所以本文默认你已经会科学的surf the Internet!

Error Python

📌 😱  😂 # xjm @ XJM in ~/Documents/metagenome/zjk [12:26:16] 👉 pip3 install sklearnCollecting sklearn  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by NewConnectionError(<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0xb0>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known): /simple/sklearn/  Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by NewConnectionError(<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x10616e710>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known): /simple/sklearn/

Error GO语言

# Go语言安装模块超时<root@VM-225-167-ubuntu>:~/go/src$ go get golang.org/x/net/htmlunrecognized import path "golang.org/x/net/html": https fetch: Get "?go-get=1": dial tcp 216.239.37.1:443: i/o timeout 

检测终端网络请求是否走代理

配置前

📌 😱  😂 # xjm @ XJM in ~/Documents/metagenome/zjk [12:36:02] C:130👉 curl ipinfo.io                                                                {  "ip": "183.50.63.185",  "city": "Wuchuan",  "region": "Guangdong",  "country": "CN",  "loc": "21.4571,110.7659",  "org": "AS4134 CHINANET-BACKBONE",  "timezone": "Asia/Urumqi",  "readme": ""}%               

上面的命令为获取本地ip信息

当"country": "CN",为中国,"region": "Guangdong",显示的是国内省份时,终端的网络请求为正常的国内ip。

配置后

📌 😱  😂 # xjm @ XJM in ~/Documents/metagenome/zjk [12:45:13] 👉 curl ipinfo.io{  "ip": "104.251.225.67",  "hostname": "104.251.225.67.static.klayer.com",  "city": "Los Angeles",  "region": "California",  "country": "US",  "loc": "34.0522,-118.2437",  "org": "AS58879 Shanghai Anchang Network Security Technology Co.,Ltd.",  "postal": "90009",  "timezone": "America/Los_Angeles",  "readme": ""}%               

配置后 "country": "US",为美国,"region": "California",地区为加州,也就是你vpn代理服务器的地址。说明终端现在全部的网络请求已经走vpn代理了。此时apt,yum,brew,pip,conda这些包管理工具都可以正常安装国外仓库的软件了,下载国外资源也会非常快,比如wget、git clone、axel这些命令。

配置方法

            

Mac OS

找到你本机socks5代理地址

一般在你小飞机的高级设置里面

开启socks5代理

# 配置代理环境变量📌 😱  😂 # xjm @ XJM in ~/Documents/metagenome/zjk [12:36:14] 👉 export ALL_PROXY=socks5://127.0.0.1:1086# 查看代理是否成功📌 😱  😂 # xjm @ XJM in ~/Documents/metagenome/zjk [12:45:10] 👉 curl ipinfo.io                          {  "ip": "112.119.29.29",  "hostname": "n.netvigator.com",  "city": "Hong Kong",  "region": "Central and Western",  "country": "HK",  "loc": "22.2783,114.1747",  "org": "AS4760 HKT Limited",  "timezone": "Asia/Hong_Kong",  "readme": ""}%                                                                                                   (base)             

Linux

搭建ssr客户端

下载源码

📌 😱  😂 # xjm @ XJM in ~/Documents/metagenome/zjk [13:33:29] C:130👉 git clone ;              

生成配置文件

# 进入文件夹$ cd shadowsocksr/# 运行initcfg.sh 生成配置文件 user-config.json$ ./initcfg.sh    

编辑配置文件user-config.json

vim user-config.json 

{ "server": "******", // 代理服务地址    "server_ipv6": "::",    "server_port": 11873, // 端口号    "local_address": "127.0.0.1", //本地socks5监听地址     "local_port": 1080,//本地socks5代理端口    "password": "xxxxxx", //密码    "method": "rc4-md5",//加密方式    "protocol": "xxxxx",//协议    "protocol_param": "xxxxxx",//协议参数    "obfs": "xxxxxx",//混淆方式    "obfs_param": "xxxxxxxx",//混淆参数}       

可以打开你的小飞机的服务器设置参考:

通过 screen 起一个后台"窗口"运行客户端

# 创建一个会话 没有screen 就先 apt install screen$ screen -S proxy# 进入文件夹$ cd shadowsocksr/# 运行ssr客户端 -c 后面加上一层目录生成的 user-config.json$ python3 local.py -c ../user-config.json      

按Ctrl + A + D 退出会话

配置socks5代理

# 安装 privoxy$ sudo apt-get install privoxy # 修改配置文件$ sudo vim /etc/privoxy/config# 添加下面这一行 保存退出forward-socks5 / 127.0.0.1:1080 .# 重启服务$ service privoxy restart# 配置环境变量 8118为privoxy的默认代理端口$ export http_proxy=:8118$ export https_proxy=:8118

注意:

forward-socks5 / 127.0.0.1:1080 .   1080 是你前面配置socks5填的端口

# 查看代理是否成功$ curl ipinfo.io                          {  "ip": "112.119.29.29",  "hostname": "n.netvigator.com",  "city": "Hong Kong",  "region": "Central and Western",  "country": "HK",  "loc": "22.2783,114.1747",  "org": "AS4760 HKT Limited",  "timezone": "Asia/Hong_Kong",  "readme": ""}%   

有任何问题可在后台提问!

推介阅读:

Windows | 是时候跟弹窗广告说拜拜了

Python | 教你用matplotlib绘制PCA主成分分析图

关注我

发现更多精彩