必备技能之一 2016-11-25 # 必备技能之一 网络世界已经是当今人类离不开的所在,看看那些随处低头看手机的人,其实再怎么看都只能看到别人希望他看到的(一点小感慨)。之前用Scala 时候SBT出奇的慢,用Golang装包同样折磨人,对于我这种接触广泛的人来说没有Google大法效率几乎会打半折,今晚折腾一个分词工具又出现同样的情况实在不能忍了,**本文旨在解决命令行安装依赖慢或者根本就不能成功的问题。** 思路很简单实现全局代理,由于我已经有一个代理服务器使用的SOCKS5 所以我需要实现SOCKS5全局代理我的HTTP 请求。正好最近重装了我的服务器,就一起在此记录稍微详细的过程。 ## 服务器 首先你需要有一台在国外的服务器。然后安装Shadowsocks ,安装配置过程如下,我的服务器系统是CentOS7,如果不是需要稍作调整。 ``` yum install epel-release yum update yum install python-setuptools m2crypto supervisor easy_install pip pip install shadowsocks ``` 然后修改shadowsocks的配置 ``` vi /etc/shadowsocks.json ``` 添加如下内容 ``` { "server":"服务器地址", "server_port":8888, "local_port":1080, "password":"yourpassword", "timeout":600, "method":"aes-256-cfb" } ``` server_port 是你指定的端口,可更改 在服务端使用下面的命令启动: ``` nohup ssserver -c /etc/shadowsocks.json & ``` 到这就算完成了,上面我预装了```supervisor```守护进程,但并没有使用,你可以研究下把上面的命令添加到守护进程,和设置开机自启动。 ### 客户端 客户端是在Ubuntu14.04 , 首先安装 shadowsocks ``` pip install shadowsocks ``` 后运行 ``` sslocal -s serverip -p server_port -k password -m aes-256-cfb ``` 说明: >serverip:服务器IP server_port: 服务端配置的端口 password: 服务端配置的密码 如果不出差错应该可以在Chrome配置插件SwitchyOmega或者shadowsocks-qt5客户端,然后可以看到以前看不到的了(通常都会出差错的....) ### 全局代理 这个实现的方式有很多,我使用[polipo](https://www.irif.fr/~jch/software/polipo/) 安装polipo ``` sudo apt-get install -y polipo ``` /etc/polipo/config添加如下配置 ``` socksParentProxy = “127.0.0.1:1080″ socksProxyType = socks5 proxyAddress = "::0" # both IPv4 and IPv6 # or IPv4 only # proxyAddress = "0.0.0.0" proxyPort = 8123 ``` 最后 ``` sudo polipo -c /etc/polipo/config ``` 重启 ``` sudo /etc/init.d/polipo restart ``` 如果正确浏览器访问```localhost:8123```可以看到欢迎页面 ``` export http_proxy="http://127.0.0.1:8123/" ``` 然后测一下,可以在这里干你想干的了。 ``` curl www.google.com ``` 不能肉身翻墙,只能这样了。