服务器上配置Socks5代理以便Git clone或者FQ

讲道理啊,为毛把GitHub封了,现在阿里云的服务器git clone慢的出奇,每秒几十KB???然后想到为什么不在服务器上也配置个代理,这样不就可以git+wget了?

安装 pip

sudo apt-get install python-pip

安装 shadowsocks

sudo pip install shadowsocks

创建ss.json(名字随便,好记就行)

在 /etc 目录下创建 ss.json 文件,内容如下

{
  "server":"ss服务器IP",
  "server_port":ss服务器端口,
  "local_port":1080,
  "password":"ss的密码",
  "timeout":600,
  "method":"ss加密"
}

执行命令,后台启动 ShadowSocks,nohup命令很重要,不懂百度,不加nohup的话,shell关了ss就自己关了

nohup sslocal -c /etc/ss.json &

但是这样,每次开机都要执行下这个命令还是很不爽啊。下面添加开机自启动
创建 ssauto.sh内容如下

#!/bin/bash
/usr/bin/sslocal -c /etc/ss.json &

赋予 ssauto.sh 执行权限。

chmod +x ssauto.sh

添加到开机启动文件中,修改 /etc/rc.local 在文件最后添加如下代码

nohup bash /root/ssauto.sh &

确保上面的 root 已经修改为自己的用户名

照着上面的操作之后,我们可以测试下shadowsocks安装是否成功,能否正常运行?

bash ./ssauto.sh

执行 ssauto.sh,不出意外,应该会有一个错误报出。部分错误信息如下

File"/usr/local/lib/python2.7/distpackages/shadowsocks/crypto/sodium.py",
line 42, in load_libsodium
 raise Exception('libsodium not found') 
Exception: libsodium not found

关键就是最后一行,找不到 libsodium。ss如果要使用 salsa20 或 chacha20 或 chacha20-ietf 算法,需要安装 libsodium ,否则就算在ss.json里面设置成chacha20也会各种报错。
那么我们就去安装 libsodium

安装libsodium

Centos:

yum -y groupinstall "Development Tools"
wget https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz
tar xf libsodium-1.0.11.tar.gz && cd libsodium-1.0.11
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

Ubuntu/Debian:

apt-get install build-essential
wget https://github.com/jedisct1/libsodium/releases/download/1.0.11/libsodium-1.0.11.tar.gz
tar xf libsodium-1.0.11.tar.gz && cd libsodium-1.0.11
./configure && make -j2 && make install
ldconfig

再次启动 shadowsocks,就发现我们的代理服务可以正常的在后台运行。

最后让git使用代理:

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

好了,让我们来git一下看看速度!!!
没代理前:

代理后:

讲道理,我ss服务器的最大速度就是2MB/S,所以这已经满速了。
以后可能需要用到的几个命令

#取消socks代理
git config --global --unset http.proxy
git config --global --unset https.proxy
#设置HTTP代理
export http_proxy="http://127.0.0.1:1080"
export https_proxy="http://127.0.0.1:1080"
#取消HTTP代理
unset http_proxy
unset https_proxy

码字真特么累!!!

1 条评论

发表评论

*