本文介绍了ShadowsocksR的win,linux,android等的客户端安装配置及服务器的ShadowsocksR环境搭建与配置。也是英文文档,介绍的很详细,一步一步的按照说明操作可以搭建功能完整的ShadowsocksR环境。
ShadowsocksR客户端和服务器
本文介绍如何在Windows,Android和Linux客户端上安装ShadowsocksR(SSR),以及如何创建私有ShadowsocksR服务器。
2017年7月27日,breakwa11 ShadowsocksR存储库从Github中删除。此页面链接到ShadowsocksRR(SSRR)存储库中的软件副本。
本文包括以下部分:
- Windows客户端
- 下载
- 添加服务器
- 扫描二维码
- 模式
- 选项
- Android客户端
- Linux客户端
- 服务器
- 高级服务器配置
- 优化系统
- 限制出站端口
- 重启ShadowsocksR
- 免费服务器
- 支持
Windows客户端
下载
要提取Windows C#客户端,您需要使用7-Zip。因此,首先下载并安装7-zip。
现在从Github下载Windows C#客户端软件。为方便起见,下载也在此处进行了镜像。
在撰写本文时,最新版本具有文件名 ShadowsocksR-win-4.8.0.rar
。文件大小为823,114字节。SHA256总和是14135ef9 a7e2ca8a 084a6b2f 74a4cb4d 17fc114f 9dc52329 3e219aca 189014b0。您可以通过右键单击文件,使用7-Zip在Windows上进行检查,然后执行CRC SHA,然后执行SHA 256。
要解压缩下载,请右键单击下载的文件,选择7-Zip选项集,然后将下载的文件解压缩到自己的文件夹中。新文件夹将具有名称 ShadowsocksR-win-4.8.0
。
在Windows资源管理器中,切换到ShadowsocksR的文件夹。
根据Windows PC的现代化程度选择可执行文件:
- 对于> = Windows 8或.NET 4.0,请使用ShadowsocksR-dotnet4.0.exe
- 对于<= Windows 7或.NET 2.0,请使用ShadowsocksR-dotnet2.0.exe
双击相应的应用程序文件以启动该程序。
添加服务器
要添加服务器,请打开系统托盘通知区域,然后找到ShadowsocksR图标。它看起来像一架纸飞机。右键单击ShadowsocksR图标以显示控件选项。选择Servers然后编辑服务器……
填写服务器详细信息,然后单击“确定”。(更改第一个条目时,可能需要退出并重新启动ShadowsocksR。)
扫描二维码
如果有人与您共享快速响应(QR)代码,您可以使用选项扫描屏幕中的QR代码…来添加服务器。
模式
在全局模式下,任何设置为使用Windows系统代理服务器设置的Windows应用程序都将通过ShadowsocksR发送其流量。
- 例如,如果设置了此选项,Microsoft Edge将自动通过ShadowsocksR发送其流量。
- 在Windows 10中,您可以在“设置”>“网络和Internet”>“代理”中查看当前设置。
与全局模式相反的是禁用系统代理功能。然后,您必须手动配置每个应用程序以通过ShadowsocksR发送其流量。
- 您可以在Firefox中的选项>高级>网络>设置下执行此操作。如果要执行此操作,请确保您还代理DNS流量。
- 如果您使用的是Chrome而不是Firefox,则可以使用FelisCatus的扩展代码SwitchyOmega执行类似操作。为地址为127.0.0.1端口1080的SOCKS5代理服务器配置SwitchyOmega。
选项
要控制ShadowocksR,请再次打开系统托盘通知区域,然后找到ShadowsocksR图标。它看起来像一架纸飞机。它将根据您当前的模式设置进行颜色编码。右键单击ShadowsocksR图标以显示控件选项。
- 模式控制SSR是否将禁用Windows系统范围的代理,使用代理自动配置(PAC),充当全局系统范围的代理,或保持Windows系统范围的代理设置不变
- PAC填充代理自动配置(PAC)列表
- 代理规则控制SSR是否将绕过局域网(LAN)和/或大陆IP地址的代理服务器
- 服务器允许您添加,编辑或删除SSR服务器及其配置详细信息
- Servers Subscribe允许您从Github获取最新的免费公共服务器列表(由于Github删除,可能不再有效)
- 负载平衡导致SSR尝试从列表中找到响应最快的服务器(取消选中此选项以仅使用一个明确的服务器)
- 全局设置控制是否在启动时启动,以及端口1080或其他端口是否用于本地代理
- 端口设置用于端口转发
- 从屏幕扫描QR码从您在浏览器或其他地方显示的快速响应(QR)代码扫描服务器配置
- 导入SSR链接可以以SSR QRcode方案的格式导入链接
- 帮助提供查看日志等选项
- 退出以退出ShadowsocksR程序
Android客户端
apk
从Github 下载Android 文件。为方便起见,下载也在此处进行了镜像。
在撰写本文时,最新版本具有文件名 shadowsocksr-android-3.5.1.apk
。文件大小为3,705,200字节。SHA256总和为30aa16d5 9e48afd0 16986f6a 5f2ed60c 9769006c 03110395 d152439e 028655bf。如果您愿意,可以在Android中使用Hash Droid应用程序进行检查。
点击下载的 apk
文件进行安装。它可能会被您的默认安全设置阻止。按照提示转到“设置”。您需要选中此框以允许从未知来源安装以允许安装。请确保选中该框以允许此安装,然后点击确定。
安装完成后,打开应用程序。
- 点击左上角的标识ShadowsocksR以显示服务器配置选项。
- 单击右下角的加号按钮+以添加新服务器。
您可以通过键入其详细信息或使用Android设备摄像头扫描显示的QR码来添加新服务器。
要使用此功能扫描QR码,您可能需要先安装ZXing Team的应用程序Barcode Scanner。
添加服务器后,点击右上角的连接按钮。它看起来像一个圆形的纸飞机。
您需要选中该框以表示我信任此应用程序。点按确定。
你现在已经连接好了。
Linux客户端
这些说明适用于Ubuntu 16.04。如果您使用的是其他Linux发行版,则需要调整它们。
首先在Linux PC上安装ShadowsocksR的必备软件包:
sudo apt-get install git python-m2crypto libsodium18
我们要将ShadowsocksR安装到我们的 Downloads
目录中,如果需要,请更改到该目录:
cd ~/Downloads
从Github获取ShadowsocksR:
git clone -b manyuser https://github.com/shadowsocksrr/shadowsocksr.git
请注意,长命令可能出现在此网页的多行上,但您应将它们作为单个命令输入。
编辑您的初始ShadowsocksR配置文件:
sudo vi /etc/shadowsocks.json
您可以从下面的模板开始。当然,您必须在值中替换ShadowsocksR服务器IP地址,端口,密码,加密方法,协议,混淆方法等。这是开始的模板:
{"server":"12.34.56.78","server_ipv6":"::","server_port":8388,"local_address":"127.0.0.1","local_port":1080,"password":"happy2017","timeout":300,"udp_timeout":60,"method":"aes-128-ctr","protocol":"auth_aes128_md5","protocol_param":"","obfs":"tls1.2_ticket_auth","obfs_param":"","fast_open":false,"workers":1}
如果需要从插入或替换模式中退出,请按Esc键。键入:wq将文件写入磁盘并退出编辑器。
切换到单用户版SSR的目录:
cd shadowsocksr/shadowsocks
启动作为守护程序运行的ShadowsocksR客户端:
sudo python local.py -c /etc/shadowsocks.json -d start
检查它是否正常运行:
sudo tail /var/log/shadowsocksr.log
如果您使用的是Firefox,请将其配置为在localhost端口1080上向ShadowsocksR发送流量。您可以在“首选项”>“高级”>“网络”>“设置”下执行此操作。确保您还代理DNS流量。
如果您使用的是Chrome而不是Firefox,请安装FelisCatus的扩展代理SwitchyOmega,并在localhost端口1080上为SOCKS5代理服务器配置它。
使用完ShadowsocksR后,将Firefox或Chrome恢复为使用系统代理设置,然后停止守护程序:
sudo python local.py -c /etc/shadowsocks.json -d stop
如果随后添加新服务器,则需要编辑该文件/etc/shadowsocks.json
并重新启动守护程序。
服务器
首先访问DigitalOcean并开立和资助一个帐户。如果您使用我的链接,他们可能会在您第一次添加资金时奖励您额外的信用额度。按照本文的其余部分从Windows PC进行基本Linux VPS设置,以创建和设置“Droplet”(VPS)。
完成此操作后,请继续以下操作。
选择一个将运行ShadowsocksR的端口。在本文的其余部分中,我们将使用端口8388作为示例。
在ShadowsocksR端口上打开防火墙。考虑将可以向ShadowsocksR服务器发送流量的IP地址列入白名单的可能性。在下面的例子中,我们假定你总是从本地ISP总是在范围内分配IP地址给你的连接 12.34.0.0
通过12.34.255.255
。在无类别域间路由(CIDR)表示法中,这是12.34.0.0/16
:
sudo iptables -A INPUT -p tcp -s 12.34.0.0/16 --dport 8388 -j ACCEPT
另一方面,如果您希望允许来自任何地方的流量连接到您的服务器,则省略源规范,即:
sudo iptables -A INPUT -p tcp --dport 8388 -j ACCEPT
请注意,长命令可能出现在此网页的多行上,但您应将它们作为单个命令输入。
在重新启动后保持防火墙更改:
sudo dpkg-reconfigure iptables-persistent
安装ShadowsocksR的必备软件包:
sudo apt-get install git python-m2crypto libsodium18
我们将安装ShadowsocksR cd /usr/local
,因此切换到该目录:
cd /usr/local
从Github获取ShadowsocksR:
sudo git clone -b manyuser https://github.com/shadowsocksrr/shadowsocksr.git
请注意,长命令可能出现在此网页的多行上,但您应将它们作为单个命令输入。
创建初始ShadowsocksR配置文件:
cd shadowsocksr
sudo bash initcfg.sh
编辑ShadowsocksR配置文件:
sudo vi user-config.json
指定ShadowsocksR端口,密码,加密方法,协议,混淆方法等的值。例如:
{"server": "0.0.0.0","server_ipv6": "::","server_port": 8388,"local_address": "127.0.0.1","local_port": 1080,"password": "happy2017","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,"additional_ports" : {},"additional_ports_only" : false,"timeout": 120,"udp_timeout": 60,"dns_ipv6": false,"connect_verbose_info": 0,"redirect": "","fast_open": false}
如果需要从插入或替换模式中退出,请按Esc键。键入:wq将文件写入磁盘并退出编辑器。
现在创建systemd服务文件:
sudo vi /etc/systemd/system/shadowsocksr.service
插入内容如下:
[Unit]Description=ShadowsocksR serverAfter=network.targetWants=network.target[Service]Type=forkingPIDFile=/var/run/shadowsocksr.pidExecStart=/usr/bin/python /usr/local/shadowsocksr/shadowsocks/server.py --pid-file /var/run/shadowsocksr.pid -c /usr/local/shadowsocksr/user-config.json -d startExecStop=/usr/bin/python /usr/local/shadowsocksr/shadowsocks/server.py --pid-file /var/run/shadowsocksr.pid -c /usr/local/shadowsocksr/user-config.json -d stopExecReload=/bin/kill -HUP $MAINPIDKillMode=processRestart=always[Install]WantedBy=multi-user.target
按Esc退出插入模式,然后键入:wq将文件写出并退出编辑器。
让ShadowocksR在重启时启动,并立即启动它:
sudo systemctl enable shadowsocksr.service
sudo systemctl start shadowsocksr.service
检查ShadowsocksR是否按预期工作:
sudo systemctl status shadowsocksr.service
sudo journalctl -u shadowsocksr
sudo netstat -tulpn | grep 8388
sudo tail /var/log/shadowsocksr.log
假设您的服务器工作已完成:
exit
现在将您的新服务器添加到Windows,Android或Linux客户端。
高级服务器配置
如果要为共享或公共使用设置ShadowsocksR服务器,则基本服务器配置会有各种可选添加项。
优化系统
编辑 limits.conf
文件:
sudo vi /etc/security/limits.conf
添加这两行以增加允许的最大打开文件数:
* soft nofile 51200* hard nofile 51200
如果需要从插入或替换模式中退出,请按Esc键。键入:wq将文件写入磁盘并退出编辑器。
编辑系统配置文件:
sudo vi /etc/sysctl.conf
防止在下面的插入中自动插入注释行:
:set formatoptions-=cro
插入以下行:
# max open filesfs.file-max = 51200# socket receive buffer 64 MBnet.core.rmem_max = 67108864# socket send buffer 64 MBnet.core.wmem_max = 67108864# default read buffernet.core.rmem_default = 65536# default write buffernet.core.wmem_default = 65536# max processor input queuenet.core.netdev_max_backlog = 4096# max backlognet.core.somaxconn = 4096# resist SYN flood attacksnet.ipv4.tcp_syncookies = 1# reuse timewait sockets when safenet.ipv4.tcp_tw_reuse = 1# turn off fast timewait sockets recyclingnet.ipv4.tcp_tw_recycle = 0# short FIN timeoutnet.ipv4.tcp_fin_timeout = 30# short keepalive timenet.ipv4.tcp_keepalive_time = 1200# outbound port rangenet.ipv4.ip_local_port_range = 10000 65000# max SYN backlognet.ipv4.tcp_max_syn_backlog = 4096# max timewait sockets held by system simultaneouslynet.ipv4.tcp_max_tw_buckets = 5000# turn on TCP Fast Open on both client and server sidenet.ipv4.tcp_fastopen = 3# TCP receive buffernet.ipv4.tcp_rmem = 4096 87380 67108864# TCP write buffernet.ipv4.tcp_wmem = 4096 65536 67108864# turn on path MTU discoverynet.ipv4.tcp_mtu_probing = 1# for high-latency network, uncomment this line:net.ipv4.tcp_congestion_control = hybla# for low-latency network, uncomment this line:# net.ipv4.tcp_congestion_control = cubic# for BBR, uncomment two lines:# net.core.default_qdisc=fq# net.ipv4.tcp_congestion_control=bbr
BBR拥塞控制仅在Linux内核4.9中可用,例如在Debian 9中。
如果需要从插入或替换模式中退出,请按Esc键。键入:wq将文件写入磁盘并退出编辑器。
立即使这些更改生效:
sudo sysctl -p
限制出站端口
要将用户可以将出站流量发送到的端口限制为常用于Web浏览的端口,以及普通服务器操作所需的端口,请发出命令:
sudo iptables -A OUTPUT -o lo -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 22 -j ACCEPTsudo iptables -A OUTPUT -p udp --dport 53 -j ACCEPTsudo iptables -A OUTPUT -p tcp --dport 53 -j ACCEPTsudo iptables -A OUTPUT -p udp --dport 67 -j ACCEPTsudo iptables -A OUTPUT -p udp --dport 68 -j ACCEPTsudo iptables -A OUTPUT -p tcp --dport 80 -j ACCEPTsudo iptables -A OUTPUT -p udp --dport 123 -j ACCEPTsudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPTsudo iptables -A OUTPUT -p tcp --dport 8080 -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 8388 -j ACCEPTsudo iptables -A OUTPUT -p icmp --icmp-type 0 -j ACCEPTsudo iptables -P OUTPUT DROPsudo dpkg-reconfigure iptables-persistent
在上面的示例中,8388是为SSR连接选择的端口。如果使用其他端口,则必须更改此编号。
重启ShadowsocksR
完成所有配置更改后,重新启动ShadowsocksR服务器:
sudo systemctl stop shadowsocksr.service
sudo systemctl start shadowsocksr.service
免费服务器
免费服务器往往会在没有通知的情况下出现。密码经常更改。同一服务器上可能有许多用户,从而降低了速度。
对于免费的SSR服务器,请尝试https://doub.io/sszhfx/ 5 ,镜像:http://doub.bid/sszhfx/。
如果您找到原始SS的免费服务器,则可以使用protocol = origin
和obfuscation = 从SSR客户端访问它plain
。
支持
Wiki https://github.com/shadowsocksrr/shadowsocks-rss/wiki 2
Google+ https://plus.google.com/communities/117390969460066916686