Vultr 搭建 Shadowsocks
在 Vultr 上搭建 Shadowsocks 服务,并使用 V2Ray 进行混淆
注册 Vultr 账号
购买 VPS
根据自己的需要选择
安装 Shadowsocks-libev
1.连接服务器
1 | ssh root@服务器IP地址 |
2.安装 shadowsocks-libev:
1 | wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh |
3.更改权限
1 | chmod +x shadowsocks-libev.sh |
4.运行安装
1 | ./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log |
注意
虽然此时 Shadowsocks-libev 已经安装就绪,但请先不要使用。
在使用 V2Ray 进行混淆之前使用 Shadowsocks-libev 会有极大可能被屏蔽端口。
可以使用命令行工具测试端口的可访问性,如果无法访问请修改 Shadowsocks-libev 配置文件中的端口
从 Freenom 获取免费域名
使用 CloudFlare 的 CDN 服务
1.注册账号之后将从 Freenom 获取的域名添加到 CloudFlare 管理
2.查看 CloudFlare 要求设置的 NS 地址
3.在 Freenom 的管理面板中将 NameServers 设置为 CloudFlare 要求设置的 NS 地址
4.在 CloudFlare 的 DNS 中添加一条 A 记录
5.将刚添加的解析记录的 Proxy status 设置为 DNS only
6.在 CloudFlare 的 SSL/TLS 中将 SSL/TLS 设置为 Full (strict)
7.在 CloudFlare 的个人中心查看 Email Address 和 Global API Key 信息,并记录备用
安装 Golang
1.下载
1 | cd ~ && curl -O https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz |
2.解压
1 | tar -C /usr/local -xzf go1.12.5.linux-amd64.tar.gz |
3.添加环境变量
1 | vim ~/.bash_profile |
将以下两行内容添加到末尾
1 | export GOPATH=$HOME/work |
4.刷新环境变量
1 | source ~/.bash_profile |
安装 Git
1 | yum install git wget vim -y |
安装 v2ray-plugin
1.下载源码
1 | git clone https://github.com/shadowsocks/v2ray-plugin.git |
2.编译
1 | cd v2ray-plugin |
3.移动文件
1 | cp v2ray-plugin /usr/bin/v2ray-plugin |
申请免费证书
自动续期
1 | curl https://get.acme.sh | sh |
手动续期
1 | curl https://get.acme.sh | sh |
这里需要将控制台输出的 TXT 记录手动添加到 NDS 之后再继续执行后续脚本
1 | ~/.acme.sh/acme.sh --renew -d 域名 \ |
使用证书
把证书链接放到 /etc/shadowsocks-libev/ 目录
1 | ln -s ~/.acme.sh/域名 /etc/shadowsocks-libev/域名 |
配置 Shadowsocks-libev
1.修改配置文件
1 | { |
2.设置开机自启
创建一个 Service 服务文件
1 | vim /etc/systemd/system/ss.service |
添加内容
1 | [Unit] |
运行服务
1 | systemctl daemon-reload |
查看服务状态
1 | systemctl status ss |
配置客户端
PC
1.从 v2ray-plugin 下载 v2ray-plugin-win 文件并解压到 Shadowsocks 目录
2.设置服务器地址为服务器设置的 域名
3.设置端口为 443
4.密码和加密方式与服务器保持一致
5.插件程序填写 v2ray-plugin 文件的名字: v2ray-plugin-win
6.插件选项 host=域名;tls
Android
和 PC 设置类似
1.从 github 或 谷歌应用市场下载安装 v2ray-plugin-android
2.插件的 Trasport mode 设置为 websocket-tls
3.插件的 Hostname 设置为 域名
使用 Google BBR
参见 How to Deploy Google BBR on CentOS 7
常用命令
卸载 shadowsocks-libev
1 ./shadowsocks-libev.sh uninstall打开配置文件
1 vi /etc/shadowsocks-libev/config.json修改文件
1 i结束修改
1 esc保存并退出
1 :wq不保存退出
1 :q
启动
1 /etc/init.d/shadowsocks start停止
1 /etc/init.d/shadowsocks stop重启
1 /etc/init.d/shadowsocks restart运行状态
1 /etc/init.d/shadowsocks status
检查端口是否开放
1
2 firewall-cmd --query-port=2000/tcp
firewall-cmd --query-port=2000/udp开放端口
1
2 firewall-cmd --add-port=2000/tcp --permanent
firewall-cmd --add-port=2000/udp --permanent重载防火墙
1 firewall-cmd --reload关闭开放的端口
1
2 firewall-cmd --permanent --remove-port=2000/tcp
firewall-cmd --permanent --remove-port=2000/udp测试端口
1 telnet 服务器IP地址 2000删除申请证书时产生的配置文件
1 rm -rf ~/.acme.sh