没有人会同情你,站起来努力吧!

ShadowsocksR 个人版服务器安装教程

Shadowsocks 初夏一梦 0评论

说明

Shadowsocks原作者被喝茶 放弃此项目,由ShadowsocksR作者接手,所以以后只能转成SSR的服务端和客户端了。

此教程为单用户版,适合个人用户

本教程转自 逗比根据地

基本库安装

以下命令均以root用户执行

CentOS:

yum update
yum install git vim -y

Ubuntu/Debian:

apt-get update
apt-get install git vim -y

如果要使用Chacha20 chacha20-ietf 等加密方式,请安装 libsodium

如果曾经安装过旧版本,亦可重复用以上步骤更新到最新版,仅1.0.4或以上版本支持chacha20-ietf

 

Git 方式获取源代码 (Git与Zip方式二选一)

git clone -b manyuser https://github.com/Icxym/ShadowsocksR.git

Zip 方式获取源代码 (Git与Zip方式二选一)

zip 方式的话,本文章最下面的 SSR服务端升级代码就不可用了,当然现在SSR也停止更新了,所以不重要,主要是很多人 git安装 因为依赖的问题老是安装失败,所以特地加上 zip 方式安装。如果git 安装没问题,那还是用 git 方式安装吧。

# 井号是注释内容,无需输入到SSH中。
wget -N --no-check-certificate "https://github.com/Icxym/ShadowsocksR/archive/manyuser.zip"
unzip manyuser.zip
# 解压 压缩包
rm -rf manyuser.zip
# 删除 压缩包
mv "shadowsocksr-manyuser/" "shadowsocksr/"
# 重命名解压出来的SSR服务端文件夹

 

源代码获取完毕后此目录会新建一个shadowsocksr目录,其中根目录的是多用户版(即数据库版,个人用户请忽略这个),子目录中的是单用户版(即shadowsocksr/shadowsocks)。

以下是相对路径,比如你在 /root 目录下执行上面的代码,那你的根目录就是 /root/shadowsocksr ,子目录就是 /root/shadowsocksr/shadowssocks

根目录即 shadowsocksr

子目录即 shadowsocksr/shadowsocks

服务器配置

进入根目录:

cd shadowsocksr

初始化配置:

bash initcfg.sh

通过配置文件运行

打开并修改配置文件,根据下下面的各选项说明来修改各个参数。

vi user-config.json

文件内容大概如下:

注意:新版ShadowsocksR服务端的 默认加密方式从 aes-256-cfb 改为 aes-128-ctr 了,大家注意一下。
{
 "server": "0.0.0.0",
 "server_ipv6": "::",
 "server_port": 8388,
 "local_address": "127.0.0.1",
 "local_port": 1080,

 "password": "m",
 "timeout": 120,
 "udp_timeout": 60,
 "method": "aes-128-ctr",
 "protocol": "auth_aes128_md5",
 "protocol_param": "",
 "obfs": "tls1.2_ticket_auth_compatible",
 "obfs_param": "",
 "speed_limit_per_con": 0,
 "speed_limit_per_user": 0,

 "dns_ipv6": false,
 "connect_verbose_info": 0,
 "redirect": "",
 "fast_open": false
}

注意:ShadowsocksR服务端 auth_aes128_* 及以后的所有协议不支持兼容原版(compatible),混淆依然支持

小白易错点:目录分不清!

以上操作都是在 根目录 shadowsocksr/ 下操作。

以下操作都是在 子目录 shadowsocksr/shadowsocks/ 下操作。


进入子目录:

假设ShadowsocksR安装在 /root 目录,那么这时候我们是在 /root/shadowsocksr/shadowsocks 文件夹了。

cd shadowsocksr

前台运行(调试专用,断开SSH后就自动关闭):

python server.py

赋予脚本执行权限

chmod +x *.sh

启动服务:

./logrun.sh

停止服务:

./stop.sh

查看日志:

./tail.sh

开机启动

一些人可能需要开机启动,我就一起写上吧。

首先设置开机启动文件的权限,并打开该文件。

CentOS 系统:

chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local

Ubuntu/Debian 系统:

chmod +x /etc/rc.local
vi /etc/rc.local

然后在 exit 0 这一句代码(只有ubuntu/debian有这个 exit 0)的前面加上 下面这句代码(如果你的Shadowsocks文件夹不在root目录下,请自行修改路径)

bash /root/shadowsocksr/shadowsocks/logrun.sh

然后按 ESC键 退出vi编辑模式,然后输入 :wq 保存并退出该文件,就完成了。

各选项说明:

Name Explanation 中文说明
server the address your server listens 监听地址
server_ipv6 the ipv6 address your server listens ipv6地址
server_port server port 监听端口
local_address the address your local listens 本地地址
local_port local port 本地端口
password password used for encryption 密码
timeout in seconds 超时时间
method default: “aes-128-cft” 加密方式
protocol_param default:”” 协议插件参数,可设置每个端口的链接设备数,比如”5″就是一个端口最大5个设备连接
protocol default:”auth_aes128_md5″ 协议插件,默认”auth_aes128_md5″
obfs default:”tls1.2_ticket_auth_compatible” 混淆插件,默认”tls1.2_ticket_auth_compatible”
obfs_param default:”” 混淆插件参数,默认””
speed_limit_per_con default:0 单线程限速,默认 0,单位KB/S
speed_limit_per_user default:0 端口总限速,默认 0,单位 KB/S
redirect default:”” 重定向参数,默认””
dns_ipv6 default:false 是否优先使用IPv6地址,有IPv6时可开启
fast_open use TCP_FASTOPEN, true / false 快速打开(仅限linux客户端)
workers number of workers, available on Unix/Linux 线程(仅限linux客户端)

其中protocol有如下四种取值:

12月30日以后的ShadowsocksR服务端,协议 都不在支持兼容原版!

protocol 说明
“origin” 原版协议
“verify_deflate” 带压缩的协议
“auth_sha1_v4” 支持兼容原版,类似”auth_sha1″,提供更好的长度混淆特性
“auth_aes128_md5” 推荐!但不支持兼容原版
“auth_aes128_sha1” 推荐!但不支持兼容原版
“auth_chain_a” 推荐!但不支持兼容原版
“auth_chain_b” 推荐!但不支持兼容原版

其中obfs有如下四种取值:

obfs 说明
“plain” 不混淆
“http_simple” 伪装为http协议
“tls_simple” 伪装为tls协议(不建议使用)
“random_head” 发送一个随机包再通讯的协议
“tls1.2_ticket_auth” 伪装为tls ticket握手协议(强烈推荐),同时能抗重放攻击

 

如果你觉得这篇文章对你有帮助,请支持我继续更新网站和主题 !捐赠本站
喜欢 (3)or分享 (0)
头像
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址