Shadowsocks is 'n liggewig, SOCKS5-gebaseerde geïnkripteerde proxy-protokol wat oorspronklik ontwerp is om verkeersvorming en -blokkering op gewone netwerke te omseil. Anders as 'n volledige VPN, proxy dit slegs die verkeer wat 'n toepassing eksplisiet daarna stuur, het dit amper geen protokol-oorhoofse koste nie, en werk dit goed selfs op beperkte verbindings. Dit probeer nie 'n regte TLS-handdruk naboots soos VLESS+Reality doen nie - die sterkte daarvan is eenvoud, wye kliëntondersteuning (routers, fone, blaaiers) en baie lae latensie, ten koste van ietwat makliker om vingerafdrukke volgens verkeerspatroon op 'n swaar geïnspekteerde netwerk te maak.
Daar is twee aktief onderhoue bedienerimplementerings:
- shadowsocks-rust — die moderne verwysingsimplementering van die shadowsocks-organisasie, geskryf in Rust. Dit ondersteun die nuwer AEAD-2022-kodefamilie, word aktief ontwikkel, en is die implementering wat hierdie gids in detail installeer en konfigureer.
- shadowsocks-libev — die ouer C-implementering. Dit word steeds onderhou vir foutherstellings, word as 'n gereedgemaakte apt-pakket met sy eie systemd-eenhede gestuur, en is 'n goeie keuse as jy die absoluut eenvoudigste installasie wil hê sonder handmatige binêre hantering. Hierdie gids dek dit as 'n alternatiewe installasiepad in Afdeling 3.
Hierdie gids beskryf hoe om die bediener handmatig via die opdragreël te konfigureer – sonder om 'n webpaneel of Docker te gebruik. Waar die "IP-adres"-veld ook al verskyn, vervang dit met jou VPS se werklike IP-adres.
Wat jy nodig het: 'n VPS wat Ubuntu 22.04/24.04 of Debian 11/12 gebruik, worteltoegang, jou VPS se IP-adres en 'n gratis UDP/TCP-poort (hierdie gids gebruik 8388, die Shadowsocks-standaard).
Het jy nog nie 'n bediener nie? Sien Hoe om 'n bediener te bestel en daarvoor te betaal.
Vergelyk dit eers met ander selfgehoste opsies? Sien die Xray VLESS Reality Guide vir 'n TLS-kamoeflering-gebaseerde alternatief, die AmneziaWG Server Deployment Guide vir 'n WireGuard-gebaseerde opsie, of die Hysteria2 en TUIC-opstelling vir twee ander moderne proxy-protokolle.
Koppel aan die bediener
Windows (PuTTY)
Maak PuTTY oop, voer jou VPS IP-adres in die Gasheernaam-veld in, stel die poort op 22 en meld aan as root met die wagwoord wat jou VPS-verskaffer vir jou per e-pos gestuur het.
Bediener IP-adres: jou IP-adres
teken aan as: root
Wagwoord: jou wagwoord
Vir 'n gedetailleerde stap-vir-stap-deurloop van verbinding via PuTTY/SSH, sien Hoe om aan 'n Linux-bediener te koppel via SSH.
Linux / macOS (terminaal)
ssh root@your_IP_address
Alle bevele hieronder word op die bediener uitgevoer, in dieselfde SSH-sessie — wat Afdelings 2 tot 7 dek, plus die bedienerkant-kontroles in Afdeling 13. Afdelings 8–12 (installering en konfigurasie van die kliëntprogramme) vind eerder op jou eie Windows/macOS/Linux/Android/iOS-toestel plaas, aangesien dit die toestel is waarop die instaanbediener moet loop; elkeen van daardie afdelings sê eksplisiet watter lyne, indien enige, steeds die bediener raak.
Berei die bediener voor
Dateer die stelsel op
Voordat u enigiets installeer, verfris die pakketlys en gradeer geïnstalleerde pakkette op:
apt update -y && apt upgrade -y
Indien dit die kern opgradeer, is 'n herlaai 'n goeie idee voordat u voortgaan. (Vir 'n opknapping oor apt en hoe Linux-pakketbestuurders werk, sien Linux-pakketbestuurders .) Gaan na:
cat /var/run/reboot-required
Indien die lêer bestaan, herbegin eers met 'herbegin', wag ~30 sekondes, en koppel dan weer aan.
Installeer die gereedskap wat hierdie gids gebruik
apt install -y curl wget tar xz-utils ufw qrencode
curl/wget en tar/xz-utils word benodig om die shadowsocks-rust-vrystellingsargief te gaan haal en uit te pak; ufw is die firewall wat hieronder gekonfigureer is; qrencode verander die voltooide kliëntskakel in 'n skandeerbare QR-kode in Afdeling 7.
Konfigureer die firewall (UFW)
Vir meer inligting oor UFW-reëls, sien Konfigurasie van Firewall op Linux.
Maak die twee poorte oop wat jy benodig: 22/tcp vir SSH (slaan hierdie reël oor en jy loop die risiko om toegang tot die bediener te verloor) en 8388, beide tcp en udp — Shadowsocks ondersteun beide TCP-verbindings en UDP-assosiasies (nuttig vir DNS en sommige speletjies/programme), dus moet beide rigtings van die poort oop wees.
ufw allow 22/tcp
ufw allow 8388/tcp
ufw allow 8388/udp
ufw --force enable
ufw status
Al drie reëls behoort as TOEGELAAT in die ufw-statusuitvoer te wys. As jy later die poort in config.json verander, werk hierdie reëls op om ooreen te stem.
Die installering van die bedienersagteware
Kies een van die twee opsies hieronder. Opsie A (shadowsocks-rust) word aanbeveel: dit is die aktief ontwikkelde implementering en ondersteun die moderne AEAD-2022-syfers wat later in hierdie gids gebruik word. Opsie B (shadowsocks-libev) is 'n goeie keuse as jy eerder 'n gewone apt-pakket met 'n gereedgemaakte systemd-eenheid wil gebruik en nie AEAD-2022 nodig het nie.
Opsie A — skadusokkies-roes (aanbeveel)
Shadowsocks-rust stuur nie 'n apt-pakket saam met huidige vrystellings nie, so dit word geïnstalleer deur die voorafgeboude statiese binêre lêer van die projek se GitHub-vrystellings af te laai. Kry die nuutste vrystellingsetiket van die GitHub API en laai die ooreenstemmende Linux x86_64-argief af:
SS_VER=$(curl -s https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep -Po '"tag_name": "\K[^"]*')
echo "Latest version: $SS_VER"
cd /root
wget "https://github.com/shadowsocks/shadowsocks-rust/releases/download/${SS_VER}/shadowsocks-${SS_VER}.x86_64-unknown-linux-gnu.tar.xz"
Indien jou VPS arm64 is in plaas van x86_64 (kontroleer met `uname -m`), vervang x86_64-unknown-linux-gnu met aarch64-unknown-linux-gnu in die lêernaam hierbo.
Onttrek die argief en installeer die binêre lêers stelselwyd:
tar -xf shadowsocks-*.tar.xz
install -m 755 ssserver ssservice ssmanager ssurl /usr/local/bin/
rm -f shadowsocks-*.tar.xz ssserver ssservice ssmanager ssurl sslocal 2>/dev/null
Verifieer dat die binêre weergawe in plek is en kontroleer die geïnstalleerde weergawe:
ssserver --version
Skep die gids waarin die konfigurasielêer sal wees:
mkdir -p /etc/shadowsocks-rust
Hierdie gids installeer 'n vaste weergawe eerder as om 'n installeerderskrip in bash te pomp. Om later op te gradeer, voer die twee bogenoemde opdragte weer uit met 'n vars SS_VER-opslag, stop die diens, vervang die binêre lêer en herbegin dit (Afdeling 6).
Opsie B — shadowsocks-libev (alternatief, apt-pakket)
Shadowsocks-libev is ingesluit in Ubuntu se universele repository (Ubuntu 16.10+) en Debian se hoof repository (Debian 8+), dus geen derdeparty PPA is nodig op 22.04/24.04 of Debian 11/12 nie:
apt install -y shadowsocks-libev
Indien apt rapporteer dat die pakket nie gevind is nie, is die universe-bewaarplek gedeaktiveer; aktiveer dit en probeer weer:
add-apt-repository universe && apt update && apt install -y shadowsocks-libev
Die pakket installeer sy eie systemd-eenhede (shadowsocks-libev.service vir die standaardkonfigurasie, plus [email protected] vir benoemde per-instansie-konfigurasies) en skep /etc/shadowsocks-libev/config.json outomaties — Afdelings 4–6 noem die libev-spesifieke opdragte en lêerpaaie langs die roesagtige opdragte. Die res van hierdie gids se kliëntafdelings (7–13) is identies van toepassing op beide bedienerimplementerings, aangesien beide dieselfde Shadowsocks/SIP002-protokol op die draad gebruik.
Genereer die wagwoord en kies 'n kode
Shadowsocks-verifikasie is 'n enkele gedeelde wagwoord plus 'n kode (enkripsiemetode) waaroor beide kante moet saamstem – daar is geen aparte UUID, sleutelpaar of sertifikaat om te bestuur nie.
Gesyferde families
- AEAD-2022 (aanbeveel, slegs shadowsocks-rust): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305. Nuwer ontwerp (SIP022) met sterker herspeelbeskerming en ondersteuning vir veelvuldige gebruikers wat een poort deel. Die wagwoord moet 'n base64-string wees van presies die kode se sleutellengte (16 grepe vir die 128-bis variante, 32 grepe vir die 256-bis variant).
- Klassieke AEAD (ondersteun deur beide rust en libev): aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305. Wyd versoenbaar met ouer kliënte en met shadowsocks-libev; die wagwoord kan enige wagwoordfrase wees, aangesien dit deur 'n sleutel-afleidingsfunksie gevoer word eerder as om direk as sleutelmateriaal gebruik te word.
Hierdie gids gebruik 2022-blake3-aes-256-gcm vir die shadowsocks-rust-bediener, aangesien dit die sterkste en mees onlangse opsie is en elke kliënt wat later aanbeveel word (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) dit ondersteun. As jy shadowsocks-libev in Afdeling 3 geïnstalleer het, gebruik eerder chacha20-ietf-poly1305 of aes-256-gcm, aangesien libev nie AEAD-2022 implementeer nie.
Genereer 'n sleutel (shadowsocks-rust)
ssservice genkey -m "2022-blake3-aes-256-gcm"
Dit druk 'n base64-string — dis jou wagwoord. Kopieer dit êrens veilig; jy sal dit in beide die bedienerkonfigurasie in Afdeling 5 en die kliëntskakel in Afdeling 7 plak.
Kies 'n wagwoordfrase (shadowsocks-libev)
Vir die klassieke AEAD-syfers wat deur shadowsocks-libev gebruik word, werk enige voldoende lang ewekansige string, aangesien dit deur PBKDF/HKDF uitgevoer word eerder as om as 'n rou sleutel te gebruik. Genereer een met:
openssl rand -base64 32
Die skryf van die bedienerkonfigurasie
Skadusokkies-roes
Maak die konfigurasielêer oop vir redigering:
nano /etc/shadowsocks-rust/config.json
Plak die sjabloon hieronder in en vervang jou eie wagwoord uit Afdeling 4 (en die poort uit Afdeling 2, as jy dit van 8388 verander het):
{
"server": "0.0.0.0",
"server_port": 8388,
"password": "YOUR-GENERATED-KEY-HERE",
"method": "2022-blake3-aes-256-gcm",
"mode": "tcp_and_udp",
"timeout": 300,
"nofile": 51200
}
Druk Ctrl+O (WriteOut) om die lêer te stoor, Enter om die lêernaam te bevestig, dan Ctrl+X om nano te verlaat.
Die belangrike velde: bediener luister op alle koppelvlakke (0.0.0.0); bediener_poort is die poort wat in Afdeling 2 oopgemaak is; wagwoord/metode is die geloofsbriewe en kodering van Afdeling 4; modus aktiveer beide TCP- en UDP-herleiding; timeout is die tydsberekening vir die onaktiewe verbinding in sekondes; nofile verhoog die lêerbeskrywerlimiet vir besige bedieners.
Valideer die JSON en dat die binêre die program dit aanvaar voordat dit in systemd gekoppel word:
ssserver -c /etc/shadowsocks-rust/config.json --help >/dev/null && echo "binary OK"
python3 -m json.tool /etc/shadowsocks-rust/config.json >/dev/null && echo "JSON OK"
Skep die systemd-eenheid (shadowsocks-rust)
Die binêre weergawe stuur nie 'n systemd-eenheid nie, so skep een:
nano /etc/systemd/system/ssserver.service
[Unit]
Description=Shadowsocks-Rust Server
Documentation=https://github.com/shadowsocks/shadowsocks-rust
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/ssserver -c /etc/shadowsocks-rust/config.json
Restart=on-failure
RestartSec=5s
LimitNOFILE=51200
User=root
[Install]
WantedBy=multi-user.target
Stoor en sluit af soos hierbo, en sê dan vir systemd om die nuwe eenheidslêer op te tel:
systemctl daemon-reload
Skadusokkies-libev
Die apt-pakket het reeds /etc/shadowsocks-libev/config.json geskep met 'n standaard (slegs teruglus, ewekansige wagwoord) konfigurasie en sy eie systemd-eenheid. Maak dit oop vir redigering:
nano /etc/shadowsocks-libev/config.json
Vervang die inhoud met:
{
"server":"0.0.0.0",
"server_port":8388,
"password":"YOUR-PASSPHRASE-HERE",
"method":"chacha20-ietf-poly1305",
"mode":"tcp_and_udp",
"timeout":300
}
Die standaardkonfigurasie gebruik bediener: [":1", "127.0.0.1"] (slegs teruglus); as jy dit na "0.0.0.0" verander, is die bediener bereikbaar vanaf die publieke IP-adres — moenie dit oorslaan as jy die voorraadlêer in plaas van die sjabloon hierbo gekopieer het nie.
Begin die diens en aktiveer outomatiese begin
Skadusokkies-roes
systemctl enable --now ssserver
systemctl status ssserver --no-pager
Status behoort aktief (aan die gang) te wys. Bevestig dat iets werklik op die poort luister (beide protokolle):
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
Indien die diens nie begin nie, is die vinnigste manier om te sien hoekom die systemd-joernaal (vir agtergrond oor die lees van Linux-logboeke in die algemeen, sien Hoe om Linux-logboeke te lees en waar om dit te vind ):
journalctl -u ssserver -n 50 --no-pager
Skadusokkies-libev
systemctl restart shadowsocks-libev
systemctl enable shadowsocks-libev
systemctl status shadowsocks-libev --no-pager
Kontroleer die poort en logs op dieselfde manier as vir shadowsocks-rust, en vervang die diensnaam:
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager
Die bou van die kliëntverbindingskakel
Shadowsocks-kliënte voer 'n enkele ss://-deelskakel (die SIP002 URL-formaat) in eerder as 'n konfigurasielêer. Die skakel kodeer die kode en wagwoord as base64 in die gebruikersinligtinggedeelte van die URL:
ss://base64(method:password)@your_IP_address:port#label
Bou die base64-gedeelte op die bediener (dit vermy enige tikfoute van handkodering):
METHOD="2022-blake3-aes-256-gcm"
PASSWORD="YOUR-GENERATED-KEY-HERE"
USERINFO=$(echo -n "${METHOD}:${PASSWORD}" | base64 -w0)
echo "ss://${USERINFO}@your_IP_address:8388#My-SS-Server"
Voorbeelduitvoer (met plekhouersleutel):
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server
Die teks na # is slegs 'n vertoonetiket wat jy vrylik in enige kliënt kan hernoem. Vir 'n shadowsocks-libev-bediener, vervang METHOD="chacha20-ietf-poly1305" (of aes-256-gcm) en die wagwoordfrase uit Afdeling 4.
Verander dit in 'n QR-kode sodat mobiele kliënte dit direk kan skandeer:
qrencode -o ~/ss-client.png "ss://${USERINFO}@your_IP_address:8388#My-SS-Server"
Kopieer die PNG na jou eie rekenaar met scp, voer dit vanaf jou rekenaar se terminaal (of PowerShell op Windows), nie die bediener nie:
scp root@your_IP_address:~/ss-client.png .
Koppel vanaf Windows
Alles in hierdie afdeling gebeur op jou Windows-rekenaar, nie oor SSH nie – die kliënt moet op die toestel loop wat die instaanbediener eintlik sal gebruik.
Installeer v2rayN
v2rayN is 'n gratis, aktief onderhoude GUI-kliënt met inheemse Shadowsocks-ondersteuning saam met VLESS, VMess, Trojan en ander. Laai die nuutste vrystelling van die projek se bladsy af.
Gryp die Windows 64-bis .zip-bate (’n selfstandige bouwerk benodig geen aparte .NET-looptyd soos in onlangse v2rayN-weergawes nie), pak dit enige plek uit en voer v2rayN.exe uit.
Voer die bediener in
Kopieer die ss://-skakel wat in Afdeling 7 gebou is na jou knipbord (of kopieer die QR PNG oor met scp en maak dit oop), kies dan in v2rayN Servers → Voer grootmaat URL vanaf knipbord in (of skandeer die QR-kode via die ingeboude skandeerder). Die nuwe bedienerprofiel verskyn in die lys met die etiket wat jy na die # gestel het.
Regskliek op die profiel en kies dit as aktief, aktiveer dan die stelselproxy (of TUN-modus, vir die roeteer van die hele masjien) vanaf die hoofvenster se nutsbalk.
Koppel vanaf macOS
Alles in hierdie afdeling gebeur op jou Mac, nie oor SSH nie.
Installeer ShadowsocksX-NG
ShadowsocksX-NG is die langlopende inheemse macOS GUI-kliënt vir Shadowsocks; die huidige vrystellingslyn bevat 'n inheemse Apple Silicon-weergawe saam met Intel. Laai die nuutste .dmg af vanaf die vrystellingsbladsy.
Maak die .dmg oop en sleep ShadowsocksX-NG na Toepassings, en begin dit dan — dit verskyn as 'n ikoon in die menubalk.
Voer die bediener in
Kopieer die ss://-skakel van Afdeling 7 na jou knipbord, klik dan op die menubalk-ikoon → Bedieners → Bedienervoorkeure → die + links onder, en kies "Voer in vanaf plakbord" (of skandeer die QR-kode met "Skandeer QR-kode vanaf skerm" nadat jy die PNG oopgemaak het). Kies die nuwe profiel vanaf die menubalk-aftreklys, skakel dan "Shadowsocks: Aan" aan en kies "PAC Auto" of "Globaal" roeteringsmodus vanaf dieselfde kieslys.
Koppel vanaf 'n Linux-lessenaar
Alles in hierdie afdeling gebeur op jou eie Linux-masjien, nie die VPS nie.
Installeer die plaaslike kliënt
As jy shadowsocks-rust op die bediener in Afdeling 3 geïnstalleer het, bevat dieselfde vrystellingsargief sslocal, 'n SOCKS5/HTTP plaaslike proxy-kliënt. Laai dit af en installeer dit op dieselfde manier as die bedienerbinêre lêer (pas die OS/arch-agtervoegsel vir jou lessenaar aan indien dit nie x86_64-unknown-linux-gnu is nie):
SS_VER=$(curl -s https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep -Po '"tag_name": "\K[^"]*')
wget "https://github.com/shadowsocks/shadowsocks-rust/releases/download/${SS_VER}/shadowsocks-${SS_VER}.x86_64-unknown-linux-gnu.tar.xz"
tar -xf shadowsocks-*.tar.xz
sudo install -m 755 sslocal /usr/local/bin/
Konfigureer en voer uit
Skep 'n klein plaaslike konfigurasie wat luister na 127.0.0.1:1080 as 'n SOCKS5-instaanbediener:
mkdir -p ~/.config/shadowsocks-rust
cat > ~/.config/shadowsocks-rust/local.json << 'EOF'
{
"server": "your_IP_address",
"server_port": 8388,
"password": "YOUR-GENERATED-KEY-HERE",
"method": "2022-blake3-aes-256-gcm",
"local_address": "127.0.0.1",
"local_port": 1080,
"mode": "tcp_and_udp"
}
EOF
sslocal -c ~/.config/shadowsocks-rust/local.json
Wys jou blaaier- of stelselnetwerkinstellings na 'n SOCKS5-instaanbediener op 127.0.0.1:1080. Vir 'n GUI kan Nekoray- of ShadowsocksX-Qt5-styl vurke dieselfde ss://-skakel van Afdeling 7 invoer en sslocal vir jou bestuur in plaas daarvan om dit met die hand te laat loop.
Verbind vanaf Android
Alles hier gebeur op jou Android-toestel, nie oor SSH nie.
Installeer 'n kliënt
Twee goeie opsies:
- Shadowsocks vir Android — die amptelike kliënt van die shadowsocks-organisasie. Installeer dit vanaf Google Play (soek "Shadowsocks"), of laai die APK direk af vanaf die projek se vrystellingsbladsy as Play nie in jou bedryfstelsel beskikbaar is nie. streek.
- v2rayNG — die Android-eweknie van v2rayN, wat Shadowsocks saam met VLESS/VMess/Trojan ondersteun; nuttig as jy een toepassing vir verskeie protokolle wil hê tipes.
Voer die bediener in
In enige van die programme: tik die + knoppie, kies "Voer in vanaf knipbord" nadat jy die ss://-skakel uit Afdeling 7 gekopieer het, of "Skandeer QR-kode" en rig die kamera na die PNG. Tik die ingevoerde profiel om dit te kies, en tik dan die koppelknoppie. Android sal die eerste keer vir VPN-toestemming vra - keur dit goed om die tonnel te vestig.
Verbind vanaf iOS
Alles hier gebeur op jou iPhone of iPad, nie oor SSH nie.
Installeer 'n Shadowsocks-geskikte kliënt
Shadowrocket is die mees gebruikte iOS-kliënt met Shadowsocks-ondersteuning; dit is 'n betaalde toepassing in die meeste winkels. Soek daarvoor in die App Store, of maak dit oop.
Streisand is 'n gratis, oopbron-alternatief wat ook Shadowsocks ondersteun saam met VLESS, Trojan en ander protokolle.
App Store-katalogusse wissel volgens winkelvenster/streek en kan mettertyd verander; as nie een van die twee in joune sigbaar is nie, soek die App Store vir "Shadowsocks" of "V2Box".
Voer die bediener in
Kopieer die ss://-skakel na jou knipbord, maak die kliënt oop en gebruik die opsie "Voeg by/Voer in vanaf knipbord", of skandeer die QR-kode van Afdeling 7 met die kliënt se ingeboude skandeerder. Skakel die nuwe profiel aan; iOS sal die eerste keer vir VPN-konfigurasie-toestemming vra, wat jy via Face ID, Touch ID of jou wagwoord moet goedkeur.
Verifieer die verbinding
Met die tonnel aktief vanaf Afdeling 8, 9, 10, 11 of 12, gaan terug na jou eie toestel (nie die SSH-sessie nie) en maak enige "wat is my IP"-kontroleerder in 'n blaaier oop - die adres wat getoon word, moet ooreenstem met jou VPS se IP-adres, jou_IP-adres.
Om eerder van die bedienerkant af te verifieer, kyk na die systemd-joernaal vir verbindingsaktiwiteit en bevestig gevestigde sessies op die poort (gebruik ssserver vir die rust-joernaal, of shadowsocks-libev vir die libev-joernaal):
journalctl -u ssserver -n 50 --no-pager
ss -tnp | grep ':8388'
Verwysing:
|
Veld |
waarde |
|
Adres |
jou VPS se publieke IP-adres |
|
Port |
8388 (dieselfde hawe wat in Afdeling 2 oopgemaak is) |
|
Wagwoord |
die sleutel/wagwoordfrase wat in Afdeling 4 gegenereer is |
|
Metode |
2022-blake3-aes-256-gcm (roes) of chacha20-ietf-poly1305 (libev) — moet presies aan beide kante ooreenstem |
|
af |
tcp_and_udp — aktiveer beide TCP-proxy en UDP-relay (DNS, sommige speletjies) |
|
plugin |
geeneen in hierdie gids gebruik nie — Shadowsocks benodig geen SNI, sertifikaat of vervoer-inprop om te funksioneer nie |
Gevolgtrekking
Deur hierdie gids te volg, laat jou VPS sy eie Shadowsocks-bediener loop — óf shadowsocks-rust met 'n moderne AEAD-2022-kode, óf shadowsocks-libev vanaf Ubuntu/Debian se eie repository — as 'n systemd-diens wat 'n herlaai oorleef sonder enige aksie van jou kant.
Voeg meer gebruikers by:
- Eenvoudigste: genereer 'n tweede wagwoord (Afdeling 4) en voer 'n tweede ssserver/shadowsocks-libev-instansie op 'n ander poort met sy eie konfigurasielêer en systemd-eenheid uit, en herhaal dan Afdeling 5–7 vir daardie poort.
- shadowsocks-rust met 'n AEAD-2022-kode ondersteun ook veelvuldige gebruikers wat een poort en wagwoord-afleidingsleutel deel via die "gebruikers"-skikking in config.json (Extensible Identity Headers, SIP022) — sien die shadowsocks-rust README se Konfigurasie-afdeling vir die presiese sintaksis as jy per-gebruiker verkeersrekeningkunde op 'n enkele poort benodig.
'n Paar gewoontes wat die moeite werd is om te handhaaf sodra die bediener aan die gang is:
- Hou die bediener opgedateer. Vir shadowsocks-rust, voer die aflaai-en-installeer stappe van Afdeling 3 gereeld uit met 'n vars weergawe-opslag, en herbegin dan ssserver met systemctl. Vir shadowsocks-libev, dek gewone apt upgrade dit.
- Rugsteun config.json êrens privaat van die bediener af. Dit stoor elke kliënt se wagwoord; as jy dit verloor, beteken dit dat jy jou aanmeldingsbewyse vir elke toestel hergenereer.
- Roteer die wagwoord as 'n toestel verlore raak of 'n kliënt gekompromitteer word: genereer 'n nuwe een (Afdeling 4), werk config.json op, herbegin die diens en herbou die kliëntskakel (Afdeling 7) vir elke oorblywende toestel.
Indien die verbinding nie tot stand kom nie, kyk in volgorde:
- die diensstatus (systemctl status ssserver --no-pager, of shadowsocks-libev) en die joernaal (journalctl -u ssserver -n 50 --no-pager)
- die firewallreëls (ufw-status — die poort moet oop wees vir beide tcp en udp)
- dat die poort nie reeds deur 'n ander diens gebind is nie (ss -lntp | grep ':8388' moet slegs ssserver/ss-server wys)
- dat die wagwoord, metode en poort in die kliënt presies ooreenstem met config.json — 'n enkele onpassende karakter misluk die handdruk stilweg, gewoonlik vertoon as 'n verbindingstydverstryking eerder as 'n eksplisiete fout.
- daardie modus is ingestel op tcp_and_udp op die bediener as die kliënt UDP (DNS-over-proxy, sommige speletjies/programme) benodig en nie net tcp_only nie.
Vergelyk Shadowsocks met ander opsies? Sien die Xray VLESS Reality Guide vir 'n TLS-kamoeflering-gebaseerde protokol wat moeiliker is om vingerafdrukke op 'n swaar gefiltreerde netwerk te neem, die AmneziaWG Server Deployment Guide en Hoe om Wireguard VPN op jou bediener op te stel vir WireGuard-gebaseerde alternatiewe, of Hysteria2 en TUIC-opstelling vir twee protokolle wat gebou is vir verlies- of swaar gefiltreerde netwerke. As jy slegs 'n eenvoudige instaanbediener benodig eerder as 'n volledige tonnelopstelling, is 3proxy-konfigurasie op CentOS/ArchLinux 'n baie ligter alternatief, en die ouer VPN-bedieneropstelling op Linux: PPTP of OpenVPN? dek protokolle wat eenvoudiger is om op te stel, maar baie makliker vir DPI om op te spoor en te blokkeer. Vir algemene bedienerverharding sodra die instaanbediener aktief is, sien Linux-gebruikers: Bestuur en Toestemmings.