在终端使用代理

in lixnu •  7 years ago 

Shadowsocks是一个使用SOCKS5(或者SOCK4之类)协议的代理,它只接受SOCKS5协议的流量,不接受HTTP或者HTTPS的流量。通过3的设置,在Chrome上穿墙的时候,是Proxy SwitchyOmega插件把HTTP和HTTPS流量转换成了SOCKS协议的流量,才实现了Shadowsocks的代理。而终端是没有这样的协议转换的,所以没法直接使用Shadowsock进行代理。这时候就需要一个协议转换器,我选用了poolipo.

1 安装polipo
sudo apt-get install polipo

2 编辑配置文件/etc/polipo/config

# This file only needs to list configuration variables that deviate    
# from the default values.  See /usr/share/doc/polipo/examples/config.sample    
# and "polipo -v" for variables you can tweak and further information.    
    
logSyslog = true    
logFile = /var/log/polipo/polipo.log    
    
proxyAddress = "0.0.0.0"    
    
socksParentProxy = "127.0.0.1:1080"    
socksProxyType = socks5    
    
chunkHighMark = 50331648    
objectHighMark = 16384    
    
serverMaxSlots = 64    
serverSlots = 16    
serverSlots1 = 32

3 重启polipo服务

sudo service polipo restart    

4 设置环境变量

export http_proxy="http://127.0.0.1:8123"    
export https_proxy="https://127.0.0.1:8123"  

可添加至~/.bashrc文件中使所有shell均可实现全局SOCKS5访问,如果不添加,那么只有当前终端可使用,其他终端不能使用,添加了话,添加到最后就行.

5 检测一下是否可以通过socks5协议获取google主页面

curl www.google.com   

如果成功则说明可以访问。

6 设置开机自启

经过前面的设置后,终于大功告成!!!!!!!除了每次开机都需要输入的ssr start和sudo service polipo start(未测试已开启状态下重启计算机polipo服务是否关闭,因为反正都要设置开机自启,我就懒得测试了)

我使用的是在rc.local设置开机自启脚本.

7 创建启动脚本

先在随意地方创建一个脚本文件,我的是start_ssr_polipo.sh

sudo vim start_ssr_polipo.sh  

然后在start_ssr_polipo.sh这个文件中写入

#!/bin/bash  
echo password(你的密码) | sudo -S service polipo start  
ssr start  

然后给这个脚本执行权限

sudo chmod +x start_ssr_polipo.sh  

8 修改rc.local

在我的ubuntu18.04中,我并没有在etc下找到rc.local文件,但是可以按5.1的方法在etc下创建一个rc.local文件,我从网上找来了该文件的内容:


#!/bin/sh -e  
#  
# rc.local  
#  
# This script is executed at the end of each multiuser runlevel.  
# Make sure that the script will "exit 0" on success or any other  
# value on error.  
#  
# In order to enable or disable this script just change the execution  
# bits.  
#  
# By default this script does nothing.  
    
exit 0  

在exit 0之前添加start_ssr_polipo.sh文件的全路径

然后保存,同样要给它执行权限

sudo chmod +x rc.local   

这就ok了

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!