Linux 上搭建 shadowsock client – 以 CentOS 7 为例

环境

CentOS Linux release 7.5.1804

相关文章

Linux 上搭建 shadowsock server – 以 CentOS 7 为例

安装epel扩展源

yum -y install epel-release

安装并配置 shadowsocks 客户端

安装 shadowsocks 包

pip install shadowsocks

编写配置文件

mkdir /etc/shadowsocks/
vi /etc/shadowsocks/client.json
{
    "server": "xxx.xxx.xxx.xxx",
    "server_port": xxxx,
    "password": "xxxxxxxx",
    "method": "aes-256-cfb",
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "timeout": 300,
    "fast_open": false,
    "workers": 1
}
  • server: shadowsocks server 的 IP 地址
  • server_port: shadowsocks server 的端口号
  • password: shadowsocks server 设置的密码
  • method: shadowsocks server 设置的加密方式
  • local_address: 本地IP,保持不变即可
  • local_port: 本地端口号,保持不变即可
  • timeout: 等待超时时间
  • fast_open: 是否开启 fast_open 以降低延迟,需要Linux内核大于3.7
  • workers:工作线程数

编写启动脚本

vi /etc/systemd/system/shadowsocks_client.service
[Unit]
Description=Shadowsocks Client
[Service]
TimeoutStartSec=0
Type=forking
PIDFile=/var/run/shadowsocks_client.pid
ExecStart=/usr/bin/sslocal -c /etc/shadowsocks/client.json -d start --log-file /var/log/shadowsocks_client.log --pid-file /var/run/shadowsocks_client.pid
ExecStop=/root/.pyenv/shims/sslocal -c /etc/shadowsocks/client.json -d stop --log-file /var/log/shadowsocks_client.log --pid-file /var/run/shadowsocks_client.pid
[Install]
WantedBy=multi-user.target

启动 shadowsocks client 并将其设置为开机启动

systemctl enable shadowsocks_client.service
systemctl start shadowsocks_client.service

验证是否正常运行

curl --socks5 127.0.0.1:1080 http://httpbin.org/ip

如果配置成功便会显示你Shadowsocks服务器的IP

{
  "origin": "xxx.xxx.xxx.xxx"
}

安装并配置 privoxy

shadowsocks 是一个 socket5 服务,我们需要使用 privoxy 来将流量转到 http/https 上。

安装 privoxy

yum -y install privoxy

配置 privoxy(全局模式)

修改配置文件

echo 'forward-socks5t / 127.0.0.1:1080 .' >> /etc/privoxy/config

启动 privoxy 并将其设置为开机启动

systemctl enable privoxy
systemctl start privoxy

映射代理快捷键

vi ~/.bashrc

最后面添加两行

alias outer='export http_proxy=http://127.0.0.1:8118 && export https_proxy=http://127.0.0.1:8118 && echo proxy is active now'
alias inner='unset http_proxy && unset https_proxy && echo proxy is inactive now'

使之生效

source ~/.bashrc

使用

使用outer命令激活代理

$ outer              
proxy is active now

使用inner命令禁用代理

$ inner
proxy is inactive now

博客更新地址

3
说点什么

2 Comment threads
1 Thread replies
2 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
  Subscribe  
最新 最旧 得票最多
提醒
徐紫薇

宋明耀先生,我是猎头徐紫薇,主要负责一二线互联网公司云计算/基础架构/大数据领域岗位招聘,我在领英加你啦,也不知道你什么时候会通过,所以就寻到你个人网站来了,如果你能看到这条留言,希望能联系我一下,我个人联系方式15504280311,诚挚的希望日后能有合作机会!

可以加您个好友吗,在一个服务器上通过Nginx uwsgi部署多个django项目的时候部署不成功,想向您请教一下,我的微信号19937423832,QQ 3053995203