前言
本文介绍的是在 CentOS 上安装 shadowsocks 客户端的过程,最终实现的也就是当前 CentOS 通过其他服务器的 Shadowsocks 服务联网,非在 CentOS 上安装 shadowsocks 服务端的过程,因此你需要一个已经能翻墙的 shadowsocks 服务端。
安装 pip
Pip 是 Python 的包管理工具,这里我们用 pip 安装 shadowsocks。
yum install python-pip
pip install shadowsocks
配置 shadowsocks
新建配置文件:
vi /etc/shadowsocks.json
填写以下内容:
{
"server":"your_server_ip", #ss服务器IP
"server_port":your_server_port, #端口
"local_address": "127.0.0.1", #本地ip
"local_port":1080, #本地端口
"password":"your_server_passwd",#连接ss密码
"timeout":300, #等待超时
"method":"rc4-md5", #加密方式
"fast_open": false, # true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可
"workers": 1 # 工作线程数
}
Demo参考:
{
"server":"23.105.222.129",
"server_port":5800,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"*******",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}
启动shadowsocks服务
sslocal -c /etc/shadowsocks.json
设置shadowsocks开机自启
sudo vim /etc/systemd/system/shadowsocks.service
填写如下内容:
[Unit]
Description=Shadowsocks Client Service
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/bin/sslocal -c /etc/shadowsocks.json
[Install]
WantedBy=multi-user.target
配置生效:
systemctl enable /etc/systemd/system/shadowsocks.service
测试
运行curl --socks5 127.0.0.1:1080 http://httpbin.org/ip
如果返回你的 ss 服务器 ip 则测试成功:
{
"origin": "23.105.222.129"
}
安装 Privoxy
Shadowsocks 是一个 socket5 服务,因此我们需要使用 Privoxy 把流量转到 http/https 上。
直接使用yum安装即可:yum install privoxy
安装好后,修改一下配置:vim /etc/privoxy/config
搜索forward-socks5t
将forward-socks5t / 127.0.0.1:9050 .
取消注释并修改为:forward-socks5t / 127.0.0.1:1080 .
启动 privoxy
privoxy /etc/privoxy/config
或以指定用户如www运行privoxy:privoxy --user www /etc/privoxy/config
设置privoxy开机自启
sudo vim /lib/systemd/system/privoxy.service
填写如下内容:
[Unit]
Description=Privoxy Web Proxy With Advanced Filtering Capabilities
Wants=network-online.target
After=network-online.target
[Service]
Type=forking
PIDFile=/run/privoxy.pid
ExecStart=/usr/sbin/privoxy --pidfile /run/privoxy.pid /etc/privoxy/config
配置生效:
systemctl enable /lib/systemd/system/privoxy.service
配置/etc/profile
执行vim /etc/profile
,添加如下代码:
export http_proxy=http://127.0.0.1:8118
export https_proxy=http://127.0.0.1:8118
修改后使配置生效:
source /etc/profile
测试生效:
curl www.google.com
返回一大堆 HTML 则说明 shadowsocks 正常工作了。
备注:如果不需要用代理了,把 /etc/profile 里的配置注释即可。