CentOS 7安装Shadowsocks客户端实现联网

前言

本文介绍的是在 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 里的配置注释即可。

标签: 无

发表评论: