简介
编程需要经常需要翻墙,当年的我天真无邪上了不少当,每次的 vpn 经历无一不遇奸商!于是下决心搭建自己的 vpn!就在今天,vpn 终于搭建成功,在这里分享一下成功的喜悦同时贴出自己搭建的过程仅供参考!
服务器端配置
环境
vps 提供商:阿里云
系统:CentOS 7.3
节点:香港
峰值带宽:35MB
方法一
第一步:远程登入服务器,运行如下代码
wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
第二步:选择一种脚本
Which Shadowsocks server you'd select:
1.Shadowsocks-Python
2.ShadowsocksR
3.Shadowsocks-Go
4.Shadowsocks-libev
Please enter a number (default 1):
在这里我选择了第一个 python,输入 3,回车!
第三步:输入密码和端口,回车!
第四步:等待安装完成!
安装完成后的标志如下:
Congratulations, Shadowsocks-Python server install completed!
Your Server IP : *************************
Your Server Port : ****
Your Password : ********
Your Encryption Method: aes-256-cfb
Your QR Code: (For Shadowsocks Windows, OSX, Android and iOS clients)
ss://YWVzLTI1Ni1jZmI6c290aWx1ODM4OEAxNDkuMTI5Ljg5LjIxMjo4Mzg4
Your QR Code has been saved as a PNG file path:
/root/shadowsocks_python_qr.png
Welcome to visit: https://teddysun.com/486.html
Enjoy it!
方法二
shadowsocks Python 一键安装
获取脚本
使用 root 用户登录,运行以下命令:
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh 2>&1 | tee shadowsocks.log
安装完成后,脚本提示如下:
Congratulations, shadowsocks install completed!
Your Server IP:your_server_ip
Your Server Port:your_server_port
Your Password:your_password
Your Local IP:127.0.0.1
Your Local Port:1080
Your Encryption Method:aes-256-cfb
Welcome to visit:http://teddysun.com/342.html
Enjoy it!
卸载方法:
使用 root 用户登录,运行以下命令:
./shadowsocks.sh uninstall
单用户配置文件 Sample
配置文件路径:
vi /etc/shadowsocks.json
{
"server":"0.0.0.0",
"server_port":8989,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"yourpassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
多用户多端口配置文件 Sample
配置文件路径:
vi /etc/shadowsocks.json
{
"server":"0.0.0.0",
"local_address":"127.0.0.1",
"local_port":1080,
"port_password":{
"8989":"password0",
"9001":"password1",
"9002":"password2",
"9003":"password3",
"9004":"password4"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
使用命令
(2015 年 08 月 28 日修正):
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status
写入自启echo "ssserver -c /etc/shadowsocks.json -d restart" >> /etc/rc.local
查看日志less /var/log/shadowsocks.log
说明: 从 Shadowsocks 2.6 开始,你可以直接在后台运行 Shadowsocks,无需 Supervisor 。 这样省掉了 Supervisor 进程占用的内存。
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
ssserver -c /etc/shadowsocks.json -d restart
查看连接的人数
Ubuntu:apt-get install lsof -y
CentOs:yum install lsof -y
假设服务器端口 1080, 查看连接数sudo lsof -i -n -P | egrep -c ':1080.+ESTABLISHED'
查看连接列表
sudo lsof -i -n -P | egrep ':1080.+ESTABLISHED'
监控
利用脚本查看连接列表,并添加定时任务
新建目录 mkdir test 里添加以下脚本
#!/bin/bash
#
# File: port-ip-monitor.sh
#
# Created: Wednesday, August 27 2014 by Hua Liang[Stupid ET] <[email protected]>
#
filename="port-ip-monitor.log"
regex="8888" # monitor 你的端口
date +"[%Y-%m-%d %H:%M:%S]" >> $filename
netstat -anp | egrep $regex | grep -E "tcp.*ESTABLISHED" | awk '{print $4, $5}' | cut -d: -f2 | sort -u >> $filename
编辑 crontab -e 里增加 * (cd /test/ && bash port-ip-monitor.sh)
启动服务 service crond start
然后我们在/test/里就看到 port-ip-monitor.log 了
查看日志 less /test/port-ip-monitor.log
参考链接:
https://shadowsocks.be/1.html
http://everet.org/shadowsocks.html
客户端
第一步:下载客户端登陆
安卓、windows 的客户端均已上传至本站资源共享站,苹果可在应用商店搜索shadowsocks下载安装即可。
安卓客户端:下载
windows 客户端:下载
第二步:客户端配置参数
以 windows 配置为例,首先打开软件(若在 c 盘下需以管理员身份运行),之后填写相关参数,完成。
之后在任务栏右键,选择启动系统代理
大功告成!
主要参考文献: