CentOS 7安装配置Shadowsocks客户端

安装配置Shadowsocks客户端

安装Shadowsocks客户端

  • 安装epel扩展源
  • 采用Python包管理工pip安装。
sudo yum -y install epel-releasesudo yum -y install python-pip


– 安装Shadowsocks客户端

sudo pip install shadowsocks

配置Shadowsocks客户端

  • 新建配置文件
sudo mkdir /etc/shadowsocks
sudo vi /etc/shadowsocks/shadowsocks.json
  • 添加配置信息
{    
    "server":"1.1.1.1",    
    "server_port":1035,    
    "local_address": "127.0.0.1",    
    "local_port":1080,    
    "password":"password",    
    "timeout":300,    
    "method":"aes-256-cfb",    
    "fast_open": false,    
    "workers": 1
}

参数说明:

server:Shadowsocks服务器地址 
server_port:Shadowsocks服务器端口 
local_address:本地IP 
local_port:本地端口 
password:Shadowsocks连接密码 
timeout:等待超时时间 
method:加密方式 
workers:工作线程数 
fast_open:true或false。开启fast_open以降低延迟,但要求Linux内核在3.7+。开启方法 echo 3 > /proc/sys/net/ipv4/tcp_fastopen
  • 配置自启动
  • ① 新建启动脚本文件/etc/systemd/system/shadowsocks.service,内容如下:
vi  /etc/systemd/system/shadowsocks.service 
[Unit]Description=Shadowsocks
[Service]TimeoutStartSec=0ExecStart=/usr/bin/sslocal -c /etc/shadowsocks/shadowsocks.json
[Install]WantedBy=multi-user.target

② 启动Shadowsocks客户端

systemctl enable shadowsocks.service
systemctl start shadowsocks.service
systemctl status shadowsocks.service
  • 验证Shadowsocks客户端是否正常运行
curl --socks5 127.0.0.1:1080 http://httpbin.org/ip

若Shadowsock客户端已正常运行,则结果如下:

{  "origin": "x.x.x.x"       #你的Shadowsock服务器IP}

安装配置Privoxy

Shadowsocks是一个 socket5 服务,我们需要使用 Privoxy 把流量转到 http/https 上。

安装Privoxy

  • 安装Privoxy
sudo yum -y install privoxy
  • 启动Privoxy
systemctl enable privoxy
systemctl start privoxysystemctl status privoxy

配置Privoxy

  • 配置Privoxy
  • ① 修改配置文件/etc/privoxy/config
sudo vi /etc/privoxy/config 

② 确保如下内容没有被注释掉

listen-address 127.0.0.1:8118 # 8118 是默认端口,不用改forward-socks5t / 127.0.0.1:1080 . #转发到本地端口
  • 设置http/https代理
  • ① 修改配置文件/etc/profile
sudo vi /etc/profile

添加如下信息:

export http_proxy=http://127.0.0.1:8118export https_proxy=http://127.0.0.1:8118source /etc/profile

注:端口和privoxy 中的监听端口保持一致

  • 验证是否可用
curl www.google.com
  • 取消使用代理
while read var; do unset $var; done < <(env | grep -i proxy | awk -F= '{print $1}')

其它系统需根据具体情况对部分步骤进行修改