ShadowsocksR 各種客戶端及伺服器的配置與搭建

本文介紹了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 文件進行安裝。它可能會被您的默認安全設置阻止。按照提示轉到「設置」。您需要選中此框以允許從未知來源安裝以允許安裝。請確保選中該框以允許此安裝,然後點擊確定。

安裝完成後,打開應用程序。

  1. 點擊左上角的標識ShadowsocksR以顯示伺服器配置選項。
  2. 單擊右下角的加號按鈕+以添加新伺服器。

您可以通過鍵入其詳細信息或使用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

網格https://gitter.im/breakwa11/shadowsocksr 1