梯子的本地配置

很久很久以前,在一篇博文里面讲到了怎么在一台小鸡上搭建梯子的故事。而最近呢,因为有了群晖的NAS,需要在命令行下使用这个梯子,没有GUI界面就只能用一些原生的命令行工具,这里就将这些工具的配置过程记录下来,以便日后可以方便的使用。

Shadowsocks的本地配置

之前文章里面已经介绍过Shadowsocks的服务器配置,本地配置和服务器上面的配置差不多,首先就是安装相应的软件。

sudo pip3 install https://github.com/shadowsocks/shadowsocks/archive/master.zip -U

这个过程和服务器一样的,因为这个里面就含有服务端和客户端。安装完软件之后需要建立一个配置文件:

# /example.conf
{
        "server":"11.22.33.44",
        "server_port": port_number,
        "local_address": "0.0.0.0",
        "local_port":1080,
        "password":"Password",
        "timeout":600,
        "method":"chacha20-ietf-poly1305",
        "workers": 4
}

这个里面server是服务器的域名或者IP地址,端口号要和服务器保持一致,本地端口只要没有占用就可以,如果需要监听外部IP地址,local_address可以设置为0.0.0.0,这样局域网内的其他电脑也可以用这个本地服务(如果有端口映射,广域网也OK),如果只是给本地电脑用,那么可以设置为127.0.0.1

这个时候通过sslocal -c example.conf开启服务的时候一般会报一个错:

INFO: loading config from example.conf
load libsodium failed with path None
load libsodium again with path None
2019-08-24 22:22:47 ERROR    libsodium not found

原因还是一样没找到相应的库,解决方法:

wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz
tar xvf LATEST.tar.gz
cd libsodium-stable/
./configure
make
make install

ln -s /usr/local/lib/libsodium.so.23.3.0 /usr/lib/x86_64-linux-gnu/libsodium.so.23
ln -s /usr/local/lib/libsodium.so.23.3.0 /usr/lib/x86_64-linux-gnu/libsodium.so.13
ln -s /usr/local/lib/libsodium.so.23.3.0 /usr/lib/x86_64-linux-gnu/libsodium.so

注意so.23.3.0可能会略有不同,需要到相应目录里面去看新的文件名。

安装完成之后就可以通过如下的命令开启服务了:

sslocal -c example.conf
# 或者开启为一个服务
sslocal -c example.conf -d start
# 停止服务
sslocal -c example.conf -d stop

终端代理协议转换

其实上面操作之后我们就有了一个socket5的代理了,这个时候像是chrome之类支持socket5代理的软件就可以直接使用了,但是ubuntu终端是不支持socket5的代理的,这个时候就需要将socket5转为http代理,这个通过privoxy软件实现,首先是安装软件:

sudo apt install privoxy

修改配置文件/etc/privoxy/config(建议养成备份的习惯),将里面的

listen-address  127.0.0.1:8118
listen-address  [::1]:8118

注释掉,或者删除,然后在最后添加:

forward-socks5 / 1227.0.0.1:1080 .
listen-address 0.0.0.0:8118

要注意那个.别漏了,然后sudo service privoxy restart重启服务就可以了。

.zshrc里面或者中端下运行如下命令开启终端的代理:

export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118

其它一些比较复杂的代理配置,比如sudo命令的代理可以参考我的另外一篇博文Linux下终端代理设置


本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。

相关文章

发表新评论