Knowledge Base Eenvoudige instruksies om met die Profitserver-diens te werk
Main Knowledge Base Shadowsocks Guide (shadowsocks-roes / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone

Shadowsocks Guide (shadowsocks-roes / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone


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.

PuTTY-sessiekonfigurasie vir SSH-toegang. PuTTY SSH-terminaal na verbinding met die VPS. Suksesvolle SSH-aanmelding by die VPS.

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
Opdrag wat gebruik word om geïnstalleerde pakkette op te dateer. Pakketopgraderingsuitvoer. Kernopgraderingskennisgewing word tydens pakketopgradering getoon Dienste herbegin-prompt word tydens pakketopgradering getoon.

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
Opdrag wat gebruik word om te kyk of 'n herlaai nodig is. Uitvoer van die herlaai-vereiste kontrole.

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.

Opdrag wat gebruik word om die vereiste bedienerhulpprogramme te installeer.

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.

UFW-status wat die gekonfigureerde SSH- en Shadowsocks-reëls wys.

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"
Opdrag gebruik om die shadowsocks-rust vrystellingsargief af te laai.

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
Opdrag wat gebruik word om shadowsocks-rust binêre lêers te onttrek en te installeer.

Verifieer dat die binêre weergawe in plek is en kontroleer die geïnstalleerde weergawe:

ssserver --version
Geïnstalleerde ssserver-weergawe.

Skep die gids waarin die konfigurasielêer sal wees:

mkdir -p /etc/shadowsocks-rust
Skepping van die shadowsocks-rust konfigurasiegids.

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
Opdrag wat gebruik word om shadowsocks-libev vanaf die pakketbewaarplek te installeer.

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"
Opdrag wat gebruik word om 'n ewekansige wagwoordfrase vir shadowsocks-libev te genereer.

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.

Het 'n lukrake wagwoordfrase gegenereer.

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:

Opdrag wat gebruik word om die shadowsocks-libev-konfigurasielêer oop te maak.
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
}
Voorbeeld shadowsocks-libev konfigurasie.

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):

Bediener luister op TCP- en UDP-poort 8388.
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:

Bevele wat gebruik word om die shadowsocks-libev-diens te herbegin, te aktiveer en te inspekteer. Shadowsocks-libev diensstatus wys aktief (loop).
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):

Voorbeeld gegenereerde ss://-verbindingskakel (illustratief).
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.

❮ Vorige artikel Xray VLESS Werklikheidsgids: VPS, Windows, Mac, Android, iPhone
Volgende artikel ❯ VMmanager 6 Sekuriteitsvoorval: Wat het gebeur en wat om te doen

Vra ons oor VPS

Ons is altyd gereed om u vrae enige tyd van die dag of nag te beantwoord.