安装 ShadowsocksR 服务器端(Python多用户版)
Removed according to regulations.
ShadowsocksR 使用 Socks5 代理方式,分为服务器端和客户端。在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并建立本地代理。本文详细介绍如何在服务器端安装ShadowsocksR (Python多用户版)
前期准备
- 国外(或香港地区)VPS 一台
- 已顺利通过 SSH 连接到服务器
服务器端安装
获取源代码
Debian / Ubuntu:
apt-get install git
git clone https://github.com/shadowsocksr-rm/shadowsocksr.git
CentOS:
yum install git
git clone https://github.com/shadowsocksr-rm/shadowsocksr.git
服务端配置
进入上一步下载的 shadowsocksr 文件夹进行初始化配置 (这里假设 shadowsocksr 文件夹是在服务器的根目录下,如果不是,自己适当调整命令):
cd ~/shadowsocksr && bash initcfg.sh
接下来输入命令 ls 会看到 ~/shadowsocksr 文件夹下有一个名为 user-config.json 用户配置文件。用 nano 命令打开该文件,修改好之后按 Ctrl+O >> 回车 >> Ctrl+X 保存退出
nano user-config.json
user-config.json 多端口配置
- 删去 "server_port": 8388, (含逗号)
- 删去 "password": "m", 替换为如下多端口代码:
"port_password": {
"8001":"password1",
"8002":"password2",
"8003":"password2"
},
如果要为每个端口配置不同的混淆协议,可以这样写:
"port_password": {
"8001":{"protocol":"auth_aes128_md5", "password":"password1", "obfs":"tls1.2_ticket_auth", "obfs_param":"cloudflare.com"},
"8002":{"protocol":"auth_sha1_v2", "password":"password2", "obfs":"tls1.2_ticket_auth"},
"8003":{"protocol":"auth_simple", "password":"password3"}
},
使用配置好的文件运行
cd ~/shadowsocksr/shadowsocks && ./logrun.sh
可能出现的问题
如果你像这样在 VPS 上准确配置好 SSR 服务器端,接着又在自己电脑上准确配置好 SSR 客户端,但还是无法使用,一个可能的原因是相应的端口没有打开
这种情况最可能的一个原因是: 你配置 ShadowsocksR 的服务器不是纯净的。之前已经装了像 OneinStack、LNMP 这样的一键安装包,而这些脚本的防火墙规则默认关闭我们配置的 8001、8002、8003 这样的端口
下面以 8001 端口为例,来看下如何手动打开端口:
# 打开 8001 端口
iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 8001 -j ACCEPT
iptables -I INPUT -m state --state NEW -m udp -p udp --dport 8001 -j ACCEPT
# 如果要删除防火墙规则,关闭 8001 端口
iptables -D INPUT -m state --state NEW -m tcp -p tcp --dport 8001 -j ACCEPT
iptables -D INPUT -m state --state NEW -m udp -p udp --dport 8001 -j ACCEPT
这样一来,我们就可以自由地在国际互联网上冲浪了。Enjoy !
安装 libsodium支持 chacha20
# CentOS
yum install wget nano git
yum -y groupinstall "Development Tools"
wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz
tar xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
./configure && make -j2 && make install
echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig
# CentOS
yum install wget nano git && yum -y groupinstall "Development Tools" && wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz && tar xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16 && ./configure && make -j2 && make install && echo /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.conf && ldconfig
# Ubuntu & Debian
apt-get update && apt-get upgrade && apt-get install git wget build-essential && wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz && tar xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16 && ./configure && make -j2 && make install && ldconfig
Drop solitude!