Vultr搭建SS(VPS搭建SS) - sirzdy/shadowsocks GitHub Wiki
声明:文章原创,转载请注明出处,禁止用于脚本出售,禁止抄袭
声明:本文仅供测试,请依照相关法律合法使用
VPS QQ讨论群:633509738。 有需要直接远程协助的,安装好远程协助工具TeamViewer 后Q我:958823752。(全程协助收费 ¥50/次)
请先读我
实现原理
本地发起连接请求,由远程服务器响应后然后将我们需要的数据返回到本地。
最低消费
2.5美元(经常售罄),5美元。
网速自测
经过我个人测试后选择的Dallas节点,浏览youtube视频,网速能达到1MB/s ,玩美服lol的延迟是200ms-250ms,这个速度已经很不错了,具体分析参考《国内连接美国VPN延迟(PING)多少算正常?》。
PS:浏览其他人的博客都推荐的是LosAngeles节点,具体的自己通过测试后拿主意吧,懒得测试就选洛杉矶节点吧。
了解更多,请戳Vultr 节点哪个比较快?
知识储备
- 懂Linux最好,不懂就按照下面操作来吧
- 肯折腾
- 懂英语,不懂的话…搭建SS(Shadow Socks),诶?
具体步骤
购买服务器
-
打开链接1:我的夏季促销推广链接,无效的话尝试 链接2:我的普通推广链接。 这两个都指向官网,信不过我的自己去百度搜索vultr官网。
-
注册账号并验证邮箱。
-
测试速度或直接选择洛杉矶节点,测试节点网速请戳我并拉到页面最下面。如果感觉不满意,去试试其他的服务器提供商比如搬瓦工等等,个人感觉vultr还可以。
补充:近期东京结点基本都挂掉了,美国的也挂掉了很多,请尝试洛杉矶结点或达拉斯结点。
-
充值,点击左侧的Billing,最低$10,建议选择支付宝支付,简单快捷,符合我国国情。
-
搭建服务器,点击左侧的Servers,依次选择Server Location——你测试的最快的或者洛杉矶;Server Type——Cent OS7 x64(这个我可以提供技术支持,本文基于CentOS 7 x64,脚本原创,脚本基于Cent OS7);Server Size——只是搭建ss,选价格最低的就够了($2.5/mon,多数情况下此套餐售罄,请选择$5/mon);其他的选填。然后点击右下角的Deploy Now。稍等片刻,服务器就可以装好了。
-
装好后,你可以看到如下界面:
点击可以查看服务器的相关信息:
接下来操作需要的信息是IP Address(IP地址),Username(用户名)和Password(密码)。这个页面不要关,一会直接复制粘贴相关信息。
远程连接服务器
方法①:使用网页版的进行操作。点击刚才的网页的右上角的五个按钮最左边的View Console进行操作。
方法②:使用ssh工具进行操作。 Windows用户使用putty或Xshell进行操作。Mac用户请使用终端或iTerm2进行操作。
以Xshell为例(Windows用户请看)
- 下载安装Xshell。
- 安装完成后新建会话(快捷键Alt+N)。依次填写图中信息。 名称可以是Vultr或者其他,协议选择SSH,主机填写之前的IP Address,端口号选择22。
点击左侧的用户身份验证,填写信息。方法选择Password,用户名为之前的Username(一般都是root),密码为之前的Password(这个建议直接复制粘贴过来,系统给的有点复杂)
填写完之后点击确定。然后点击连接。出现其他提示的话选择接受就可以了。这时你就可以看到一个命令控制台了。这时就算连接成功了。
以iTerm2为例(Mac用户请看)
- 打开终端。
- 输入命令。
ssh [email protected]
如果有提示很长一大段文字,服务器连接指纹认证,如下
输入
yes
接着出现
将系统给的密码复制过来进行粘贴,粘贴操作是不允许看到密码的,粘贴完直接回车即可。
这之后就连接上了服务器。你将看到如下界面:
脚本快速安装(方案一,推荐用户:全体成员尤其是小白)
脚本功能
- 自定义端口号和密码,加密方式采用aes-256-cfb(脚本中采用此方式)
- 全过程静默安装,不会打扰用户,你所要做的就是去听一首音乐或者去喝杯咖啡
- 一次只允许运行一个shadowsocks进程,脚本会自动检测原来已经运行的进程并杀死
- 安装防火墙并开放需要的端口,实测vultr服务器不安装防火墙无法进行连接
操作步骤
- 下载脚本
wget http://zhangdanyang.com/ss.sh
- 执行脚本
bash ss.sh
# 设置端口号并回车,直接回车是设置为1225
Please enter PORT(1225 default):
# 设置密码并回车,直接回车是设置为123456
Please enter PASSWORD(123456 default):
# 等待一会……就完成了(初次执行约2-5min)
具体图示
gif 演示
脚本源码
独立动手搭建(方案二,推荐用户:极客,爱折腾的人)
搭建 Shadowsocks 服务
安装组件
yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks
安装完成后配置服务器参数
vi /etc/shadowsocks.json
写入如下配置:
{
"server":"0.0.0.0",
"server_port":443,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"123456",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
多端口的如下:
{
"server":"0.0.0.0",
"local_address": "127.0.0.1",
"local_port":1080,
"port_password": {
"443": "443",
"8888": "8888"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
其中server字段与local_address填写之前的IP Address。password是自己用于连接这个shadow socks的密码,自定义就好。 其他的不需要更改。
然后保存退出。
vi 的命令: 按 "i" 进入编辑模式,编辑后按 "esc" 退出编辑模式, 输入 ":wq" 保存退出vi。
配置防火墙
# 安装防火墙
yum install firewalld
# 启动防火墙
systemctl start firewalld
开启防火墙相应的端口
# 端口号是你自己设置的端口
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload
启动 Shadowsocks 服务
# 后台运行
ssserver -c /etc/shadowsocks.json -d start
# 调试时使用下面命令,实时查看日志
ssserver -c /etc/shadowsocks.json
连接
这样服务器就搭建好了。全平台的连接方法戳我。
PC连接
下载Shadow Socks客户端。下载地址 选择适合的版本,下载并解压运行。
填写信息:服务器地址,端口号,密码,加密方式与代理端口默认即可
填写完之后点击确定,然后到托盘中右键选择开启"启用系统代理"。
iOS连接
在App Store下载Wingy。
填写信息:服务器,端口,密码,代理模式,加密方式默认即可。
MacOS连接
下载地址 使用方式参考windows
Android连接
国外站点
如果以上没有问题的话,这时候你就可以畅游外面的世界了。点击上述链接测试吧。
常见问题
远程连接工具xshell无法连接服务器。
此时ping一下服务器,如果ping不同,则证明创建的服务器ip被墙,请销毁掉当前服务器,重新创建新的服务器。
计费模式
服务器按照小时计费,如果一台服务器创建1天后就销毁了,那么只扣1天的费用。例如:服务器一个月$5,那么1天扣除的就是5/30美元。
脚本源码
#! /bin/bash
# log路径
export log_path=/etc/ss.log
# 设置端口号
echo -n -e '\033[36mPlease enter PORT(1225 default): \033[0m'
# echo -n "please enter port(1225 default):"
read port
if [ ! -n "$port" ];then
echo "port will be set to 1225"
port=1225
else
echo "port will be set to $port"
fi
# 设置密码
echo -n -e '\033[36mPlease enter PASSWORD(123456 default): \033[0m'
# echo -n "please enter password(123456 default):"
read pwd
if [ ! -n "$pwd" ];then
echo "password will be set to 123456"
pwd=123456
else
echo "password will be set to $pwd"
fi
# 写shadowsocks.json配置文件
cat>/etc/shadowsocks.json<<EOF
{
"server":"0.0.0.0",
"server_port":$port,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"$pwd",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
EOF
# 安装 shadowsocks 防火墙等
ret=`yum install -y m2crypto python-setuptools >> ${log_path} 2>&1`
ret=`easy_install pip >> ${log_path} 2>&1`
ret=`pip install shadowsocks >> ${log_path} 2>&1`
ret=`yum install -y firewalld >> ${log_path} 2>&1`
ret=`systemctl start firewalld >> ${log_path} 2>&1`
# 开启端口
ret=`firewall-cmd --permanent --zone=public --add-port=22/tcp >> ${log_path} 2>&1`
ret=`firewall-cmd --permanent --zone=public --add-port=$port/tcp >> ${log_path} 2>&1`
ret=`firewall-cmd --reload >> ${log_path} 2>&1`
# 如果有相同功能的进程则杀死
ps -ef|grep ssserver|grep shadowsocks|grep -v grep
if [ $? -eq 0 ];then
ps -ef|grep ssserver|grep shadowsocks|awk '{ print $2 }'|xargs kill -9
fi
# 后台运行
/usr/bin/ssserver -c /etc/shadowsocks.json -d start
# 成功
if [ $? -eq 0 ];then
clear
cat<<EOF
***************Congratulation!*************
Shadowsocks installed successfully!
PORT: $port
PASSWORD: $pwd
METHOD: aes-256-cfb
***************JUST ENJOY IT!**************
EOF
# 失败
else
clear
cat<<EOF
************Failed,retry please!***********
cat /etc/ss.log to get something you need…
************Failed,retry please!***********
EOF
fi