Shadowsocks er en let, SOCKS5-baseret krypteret proxyprotokol, der oprindeligt blev designet til at omgå trafikstyring og blokering på almindelige netværk. I modsætning til en fuld VPN bruger den kun den trafik, som en applikation eksplicit sender til den, har næsten ingen protokoloverhead og fungerer godt selv på begrænsede forbindelser. Den forsøger ikke at efterligne et rigtigt TLS-handshake, sådan som VLESS+Reality gør – dens styrke er enkelhed, bred klientsupport (routere, telefoner, browsere) og meget lav latenstid, på bekostning af at være noget nemmere at registrere via trafikmønster på et stærkt inspiceret netværk.
Der er to aktivt vedligeholdte serverimplementeringer:
- shadowsocks-rust — den moderne referenceimplementering fra shadowsocks-organisationen, skrevet i Rust. Den understøtter den nyere AEAD-2022-krypteringsfamilie, er aktivt udviklet, og det er den implementering, som denne guide installerer og konfigurerer i detaljer.
- shadowsocks-libev — den ældre C-implementering. Den vedligeholdes stadig for fejlrettelser, leveres som en færdiglavet apt-pakke med sine egne systemd-enheder og er et godt valg, hvis du ønsker den absolut enkleste installation uden manuel binær håndtering. Denne vejledning dækker det som en alternativ installationssti i afsnit 3.
Denne vejledning beskriver, hvordan du manuelt konfigurerer serveren via kommandolinjen – uden at bruge et webpanel eller Docker. Hvor feltet "IP-adresse" vises, skal du erstatte det med din VPS' faktiske IP-adresse.
Det skal du bruge: en VPS, der kører Ubuntu 22.04/24.04 eller Debian 11/12, root-adgang, din VPS' IP-adresse og en ledig UDP/TCP-port (denne guide bruger 8388, Shadowsocks' standardport).
Har du endnu ikke en server? Se Sådan bestiller og betaler du for en server.
Sammenligner du dette med andre selvhostede muligheder først? Se Xray VLESS Reality Guide for et TLS-camouflage-baseret alternativ, AmneziaWG Server Deployment Guide for en WireGuard-baseret mulighed eller Hysteria2 og TUIC-opsætning for to andre moderne proxyprotokoller.
Forbinder til serveren
Windows (PuTTY)
Åbn PuTTY, indtast din VPS IP-adresse i feltet Værtsnavn, indstil porten til 22, og log ind som root med den adgangskode, som din VPS-udbyder sendte dig via e-mail.
Server IP-adresse: din IP-adresse
log ind som: root
Adgangskode: din adgangskode
For en detaljeret gennemgang af forbindelse via PuTTY/SSH, se Sådan opretter du forbindelse til en Linux-server via SSH.
Linux / macOS (terminal)
ssh root@your_IP_address
Alle kommandoer nedenfor køres på serveren i den samme SSH-session – som dækker afsnit 2 til 7 plus server-side-kontrollerne i afsnit 13. Afsnit 8-12 (installation og konfiguration af klientapps) foregår i stedet på din egen Windows/macOS/Linux/Android/iOS-enhed, da det er den enhed, proxyen skal køre på; hvert af disse afsnit angiver eksplicit, hvilke linjer, hvis nogen, der stadig berører serveren.
Klargøring af serveren
Opdater systemet
Før du installerer noget, skal du opdatere pakkelisten og opgradere installerede pakker:
apt update -y && apt upgrade -y
Hvis dette opgraderer kernen, er en genstart en god idé, før du fortsætter. (For en genopfriskning af apt og hvordan Linux-pakkehåndteringer fungerer, se Linux-pakkehåndteringer .) Tjek med:
cat /var/run/reboot-required
Hvis filen findes, genstart først med 'reboot', vent ~30 sekunder, og genopret derefter forbindelsen.
Installer de værktøjer, som denne vejledning bruger
apt install -y curl wget tar xz-utils ufw qrencode
curl/wget og tar/xz-utils er nødvendige for at hente og udpakke udgivelsesarkivet for shadowsocks-rust; ufw er den firewall, der er konfigureret nedenfor; qrencode omdanner det færdige klientlink til en QR-kode, der kan scannes i afsnit 7.
Konfigurer firewallen (UFW)
For mere information om UFW-regler, se Konfiguration af firewall på Linux.
Åbn de to porte, du skal bruge: 22/tcp til SSH (spring denne regel over, og du risikerer at miste adgang til serveren) og 8388, både tcp og udp — Shadowsocks proxyer både TCP-forbindelser og UDP-tilknytninger (nyttigt til DNS og nogle spil/apps), så begge retninger af porten skal være åbne.
ufw allow 22/tcp
ufw allow 8388/tcp
ufw allow 8388/udp
ufw --force enable
ufw status
Alle tre regler bør vises som ALLOW i ufw-statusoutputtet. Hvis du senere ændrer porten i config.json, skal du opdatere disse regler, så de matcher.
Installation af serversoftwaren
Vælg en af de to muligheder nedenfor. Mulighed A (shadowsocks-rust) anbefales: det er den aktivt udviklede implementering og understøtter de moderne AEAD-2022-chiffere, der bruges senere i denne guide. Mulighed B (shadowsocks-libev) er et godt valg, hvis du hellere vil bruge en almindelig apt-pakke med en færdiglavet systemd-enhed og ikke har brug for AEAD-2022.
Mulighed A — shadowsocks-rust (anbefales)
Shadowsocks-rust leverer ikke en apt-pakke med aktuelle udgivelser, så den installeres ved at downloade den præbyggede statiske binære fil fra projektets GitHub-udgivelser. Hent den seneste udgivelsestag fra GitHub API'en og download det matchende Linux x86_64-arkiv:
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"
Hvis din VPS er arm64 i stedet for x86_64 (tjek med `uname -m`), skal du erstatte x86_64-unknown-linux-gnu med aarch64-unknown-linux-gnu i filnavnet ovenfor.
Udpak arkivet og installer de binære filer på tværs af systemet:
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
Bekræft, at den binære fil er på plads, og tjek den installerede version:
ssserver --version
Opret den mappe, hvor konfigurationsfilen skal ligge:
mkdir -p /etc/shadowsocks-rust
Denne guide installerer en fast version i stedet for at overføre et installationsskript til bash. For at opgradere senere skal du køre de to ovenstående kommandoer igen med et nyt SS_VER-opslag, stoppe tjenesten, erstatte den binære fil og genstarte den (afsnit 6).
Mulighed B — shadowsocks-libev (alternativ, apt-pakke)
Shadowsocks-libev er inkluderet i Ubuntus universe-repository (Ubuntu 16.10+) og Debians hovedrepository (Debian 8+), så der kræves ingen tredjeparts-PPA på 22.04/24.04 eller Debian 11/12:
apt install -y shadowsocks-libev
Hvis apt rapporterer, at pakken ikke findes, er universe-arkivet deaktiveret; aktiver det og prøv igen:
add-apt-repository universe && apt update && apt install -y shadowsocks-libev
Pakken installerer sine egne systemd-enheder (shadowsocks-libev.service for standardkonfigurationen, plus [email protected] for navngivne konfigurationer pr. instans) og opretter /etc/shadowsocks-libev/config.json automatisk — Afsnit 4-6 nævner de libev-specifikke kommandoer og filstier sammen med de rustfrie. Resten af denne guides klientafsnit (7-13) gælder identisk for begge serverimplementeringer, da begge bruger den samme Shadowsocks/SIP002-protokol på kabelforbindelsen.
Generering af adgangskoden og valg af kryptering
Shadowsocks-godkendelse er en enkelt delt adgangskode plus en krypteringsmetode, som begge sider skal være enige om – der er ingen separat UUID, nøglepar eller certifikat at administrere.
Cipher-familier
- AEAD-2022 (anbefales, kun shadowsocks-rust): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305. Nyere design (SIP022) med stærkere afspilningsbeskyttelse og understøttelse af flere brugere, der deler én port. Adgangskoden skal være en base64-streng med præcis samme nøglelængde som chifferen (16 bytes for 128-bit varianterne, 32 bytes for 256-bit varianten).
- Klassisk AEAD (understøttet af både rust og libev): aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305. Bredt kompatibel med ældre klienter og med shadowsocks-libev; adgangskoden kan være en hvilken som helst adgangsfrase, da den føres gennem en nøgleudledningsfunktion i stedet for at blive brugt direkte som nøglemateriale.
Denne guide bruger 2022-blake3-aes-256-gcm til shadowsocks-rust-serveren, da det er den stærkeste og mest aktuelle mulighed, og alle klienter, der anbefales senere (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG), understøtter det. Hvis du installerede shadowsocks-libev i afsnit 3, skal du bruge chacha20-ietf-poly1305 eller aes-256-gcm i stedet, da libev ikke implementerer AEAD-2022.
Generer en nøgle (shadowsocks-rust)
ssservice genkey -m "2022-blake3-aes-256-gcm"
Dette udskriver en base64-streng — det er din adgangskode. Kopier den et sikkert sted; du skal indsætte den i både serverkonfigurationen i afsnit 5 og klientlinket i afsnit 7.
Vælg en adgangskode (shadowsocks-libev)
For de klassiske AEAD-chiffere, der bruges af shadowsocks-libev, fungerer enhver tilstrækkelig lang tilfældig streng, da den køres gennem PBKDF/HKDF i stedet for at blive brugt som en rå nøgle. Generer en med:
openssl rand -base64 32
Skrivning af serverkonfigurationen
Skyggesokker-rust
Åbn konfigurationsfilen til redigering:
nano /etc/shadowsocks-rust/config.json
Indsæt skabelonen nedenfor, og erstat med din egen adgangskode fra afsnit 4 (og porten fra afsnit 2, hvis du ændrede den fra 8388):
{
"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
}
Tryk Ctrl+O (WriteOut) for at gemme filen, Enter for at bekræfte filnavnet, og tryk derefter Ctrl+X for at afslutte nano.
De vigtige felter: server lytter på alle grænseflader (0.0.0.0); server_port er porten åbnet i afsnit 2; password/method er legitimationsoplysningerne og krypteringen fra afsnit 4; mode aktiverer både TCP- og UDP-relæ; timeout er timeout for inaktiv forbindelse i sekunder; nofile hæver filbeskrivelsesgrænsen for travle servere.
Valider JSON'en og at den binære fil accepterer den, før du forbinder den til systemd:
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"
Opret systemd-enheden (shadowsocks-rust)
Den binære udgivelse leverer ikke en systemd-enhed, så opret en:
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
Gem og afslut som ovenfor, og bed derefter systemd om at hente den nye enhedsfil:
systemctl daemon-reload
Shadowsocks-libev
apt-pakken har allerede oprettet /etc/shadowsocks-libev/config.json med en standardkonfiguration (kun loopback, tilfældig adgangskode) og sin egen systemd-enhed. Åbn den for redigering:
nano /etc/shadowsocks-libev/config.json
Erstat indholdet med:
{
"server":"0.0.0.0",
"server_port":8388,
"password":"YOUR-PASSPHRASE-HERE",
"method":"chacha20-ietf-poly1305",
"mode":"tcp_and_udp",
"timeout":300
}
Standardkonfigurationen bruger server: [":1", "127.0.0.1"] (kun loopback); ændring af den til "0.0.0.0" gør serveren tilgængelig fra den offentlige IP-adresse — spring ikke dette over, hvis du kopierede stockfilen i stedet for skabelonen ovenfor.
Start af tjenesten og aktivering af automatisk start
Skyggesokker-rust
systemctl enable --now ssserver
systemctl status ssserver --no-pager
Status skal vise aktiv (kører). Bekræft, at noget rent faktisk lytter på porten (begge protokoller):
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
Hvis tjenesten ikke starter, er den hurtigste måde at finde ud af hvorfor ved at bruge systemd-journalen (for baggrundsinformation om læsning af Linux-logfiler generelt, se Sådan læser du Linux-logfiler og hvor du finder dem ):
journalctl -u ssserver -n 50 --no-pager
Shadowsocks-libev
systemctl restart shadowsocks-libev
systemctl enable shadowsocks-libev
systemctl status shadowsocks-libev --no-pager
Tjek porten og loggene på samme måde som for shadowsocks-rust, men erstat med servicenavnet:
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager
Opbygning af klientforbindelseslinket
Shadowsocks-klienter importerer et enkelt ss://-delingslink (SIP002 URL-formatet) i stedet for en konfigurationsfil. Linket koder krypteringen og adgangskoden som base64 i brugerinfo-delen af URL'en:
ss://base64(method:password)@your_IP_address:port#label
Byg base64-delen på serveren (dette undgår stavefejl fra manuel kodning):
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"
Eksempel på output (med pladsholdertast):
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server
Teksten efter # er blot en visningsetiket, som du frit kan omdøbe i enhver klient. For en shadowsocks-libev-server skal du i stedet bruge METHOD="chacha20-ietf-poly1305" (eller aes-256-gcm) og dens adgangskode fra afsnit 4.
Lav den om til en QR-kode, så mobilklienter kan scanne den direkte:
qrencode -o ~/ss-client.png "ss://${USERINFO}@your_IP_address:8388#My-SS-Server"
Kopier PNG-filen til din egen computer med scp, kør den fra din computers terminal (eller PowerShell på Windows), ikke serveren:
scp root@your_IP_address:~/ss-client.png .
Forbinder fra Windows
Alt i dette afsnit sker på din Windows-pc, ikke via SSH – klienten skal køre på den enhed, der rent faktisk bruger proxyen.
Installer v2rayN
v2rayN er en gratis, aktivt vedligeholdt GUI-klient med native Shadowsocks-understøttelse sammen med VLESS, VMess, Trojan og andre. Download den seneste udgivelse fra projektets side.
Hent Windows 64-bit .zip-filen (en selvstændig build kræver ingen separat .NET-runtime som i de seneste v2rayN-versioner), pak den ud hvor som helst, og kør v2rayN.exe.
Importer serveren
Kopier ss://-linket fra afsnit 7 til din udklipsholder (eller kopier QR PNG-filen over med scp og åbn den), og vælg derefter Servere → Importer masse-URL fra udklipsholder i v2rayN (eller scan QR-koden via den indbyggede scanner). Den nye serverprofil vises på listen med den etiket, du har angivet efter #.
Højreklik på profilen, og vælg den som aktiv, og aktiver derefter systemproxyen (eller TUN-tilstand til routing af hele maskinen) fra hovedvinduets værktøjslinje.
Forbinder fra macOS
Alt i dette afsnit sker på din Mac, ikke via SSH.
Installer ShadowsocksX-NG
ShadowsocksX-NG er den længe kørende native macOS GUI-klient til Shadowsocks; den nuværende udgivelseslinje leverer en native Apple Silicon-build sammen med Intel. Download den seneste .dmg fra udgivelsessiden.
Åbn .dmg-filen, og træk ShadowsocksX-NG ind i Programmer, og start den derefter – den vises som et ikon i menulinjen.
Importer serveren
Kopier ss://-linket fra afsnit 7 til din udklipsholder, klik derefter på menulinjeikonet → Servere → Serverindstillinger → +-tegnet nederst til venstre, og vælg "Importer fra montagebord" (eller scan QR-koden med "Scan QR-kode fra skærm" efter åbning af PNG-filen). Vælg den nye profil fra rullemenuen i menulinjen, slå derefter "Shadowsocks: Til" til, og vælg "PAC Auto" eller "Global" routingtilstand fra den samme menu.
Tilslutning fra et Linux-skrivebord
Alt i dette afsnit foregår på din egen Linux-maskine, ikke på VPS'en.
Installer den lokale klient
Hvis du installerede shadowsocks-rust på serveren i afsnit 3, indeholder det samme udgivelsesarkiv sslocal, en lokal SOCKS5/HTTP proxyklient. Download og installer den på samme måde som serverens binære fil (juster OS/arch-suffikset for din desktop, hvis det ikke er x86_64-unknown-linux-gnu):
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/
Konfigurer og kør
Opret en lille lokal konfigurationsfil, der lytter på 127.0.0.1:1080 som en SOCKS5-proxy:
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
Ret din browser eller dit systems netværksindstillinger mod en SOCKS5 proxy på 127.0.0.1:1080. For en GUI kan Nekoray- eller ShadowsocksX-Qt5-lignende forks importere det samme ss://-link fra afsnit 7 og administrere sslocal for dig i stedet for at køre det manuelt.
Forbinder fra Android
Alt her sker på din Android-enhed, ikke via SSH.
Installer en klient
To gode muligheder:
- Shadowsocks til Android — den officielle klient fra shadowsocks-organisationen. Installer den fra Google Play (søg efter "Shadowsocks"), eller download APK'en direkte fra projektets udgivelsesside, hvis Play ikke er tilgængelig i din browser. område.
- v2rayNG — Android-modstykket til v2rayN, der understøtter Shadowsocks sammen med VLESS/VMess/Trojan; nyttigt, hvis du vil have én app til flere protokoller typer.
Importer serveren
I begge apps: Tryk på + knappen, vælg "Importer fra udklipsholder" efter at have kopieret ss://-linket fra afsnit 7, eller "Scan QR-kode", og peg kameraet mod PNG-filen. Tryk på den importerede profil for at vælge den, og tryk derefter på opret forbindelsesknappen. Android vil bede om VPN-tilladelse første gang – godkend den for at etablere tunnelen.
Forbinder fra iOS
Alt her sker på din iPhone eller iPad, ikke via SSH.
Installer en Shadowsocks-kompatibel klient
Shadowrocket er den mest anvendte iOS-klient med understøttelse af Shadowsocks; det er en betalt app i de fleste butikker. Søg efter den i App Store, eller åbn den.
Streisand er et gratis open source-alternativ, der også understøtter Shadowsocks sammen med VLESS, Trojan og andre protokoller.
App Store-kataloger varierer afhængigt af butik/region og kan ændres over tid. Hvis ingen af dem er synlige i din, skal du søge i App Store efter "Shadowsocks" eller "V2Box".
Importer serveren
Kopier ss://-linket til din udklipsholder, åbn klienten, og brug dens Tilføj/Importer fra udklipsholder-funktion, eller scan QR-koden fra afsnit 7 med klientens indbyggede scanner. Slå den nye profil til; iOS vil bede om VPN-konfigurationstilladelse første gang, som du skal godkende via Face ID, Touch ID eller din adgangskode.
Bekræftelse af forbindelsen
Når tunnelen fra afsnit 8, 9, 10, 11 eller 12 er aktiv, skal du gå tilbage til din egen enhed (ikke SSH-sessionen) og åbne en hvilken som helst "Hvad er min IP"-tjekker i en browser — den viste adresse skal matche din VPS' IP-adresse, din_IP-adresse.
For at verificere fra serversiden i stedet, tjek systemd-journalen for forbindelsesaktivitet og bekræft etablerede sessioner på porten (brug ssserver til rust-journalen eller shadowsocks-libev til libev-journalen):
journalctl -u ssserver -n 50 --no-pager
ss -tnp | grep ':8388'
Reference:
|
Felt |
Værdi |
|
Adresse |
din VPS' offentlige IP-adresse |
|
port |
8388 (den samme havn åbnet i sektion 2) |
|
Adgangskode |
nøglen/adgangskoden genereret i afsnit 4 |
|
Metode |
2022-blake3-aes-256-gcm (rust) eller chacha20-ietf-poly1305 (libev) — skal matche præcist på begge sider |
|
tilstand |
tcp_and_udp — aktiverer både TCP-proxy og UDP-relæ (DNS, nogle spil) |
|
Plugin |
ingen brugt i denne vejledning — Shadowsocks behøver ingen SNI, certifikat eller transport-plugin for at fungere |
Konklusion
Hvis du følger denne vejledning, kører din VPS sin egen Shadowsocks-server — enten shadowsocks-rust med en moderne AEAD-2022-kryptering eller shadowsocks-libev fra Ubuntu/Debians eget repository — som en systemd-tjeneste, der overlever en genstart uden nogen handling fra din side.
Tilføjelse af flere brugere:
- Det enkleste: generer en anden adgangskode (afsnit 4) og kør en anden ssserver/shadowsocks-libev-instans på en anden port med dens egen konfigurationsfil og systemd-enhed, og gentag derefter afsnit 5-7 for den port.
- shadowsocks-rust med en AEAD-2022-kryptering understøtter også flere brugere, der deler én port og adgangskodeafledningsnøgle via "users"-arrayet i config.json (Extensible Identity Headers, SIP022) — se shadowsocks-rust README's konfigurationsafsnit for den nøjagtige syntaks, hvis du har brug for trafikregnskab pr. bruger på en enkelt port.
Et par vaner, der er værd at holde ved lige, når serveren kører:
- Hold serveren opdateret. For shadowsocks-rust, gentag periodisk download- og installationstrinnene fra afsnit 3 med et nyt versionsopslag, og genstart derefter ssserver med systemctl. For shadowsocks-libev dækker almindelig apt upgrade det.
- Sikkerhedskopier config.json et privat sted uden for serveren. Den indeholder alle klienters adgangskoder; at miste den betyder at regenerere legitimationsoplysninger for alle enheder.
- Skift adgangskoden, hvis en enhed mistes, eller en klient kompromitteres: generer en ny (afsnit 4), opdater config.json, genstart tjenesten, og genopbyg klientlinket (afsnit 7) for hver resterende enhed.
Hvis forbindelsen ikke oprettes, skal du kontrollere i rækkefølge:
- tjenestestatus (systemctl status ssserver --no-pager, eller shadowsocks-libev) og journalen (journalctl -u ssserver -n 50 --no-pager)
- firewallreglerne (ufw-status — porten skal være åben for både tcp og udp)
- at porten ikke allerede er bundet af en anden tjeneste (ss -lntp | grep ':8388' skal kun vise ssserver/ss-server)
- at adgangskoden, metoden og porten i klienten matcher config.json præcist — et enkelt uoverensstemmende tegn fejler handshake lydløst, normalt vist som en forbindelsestimeout snarere end en eksplicit fejl
- Den tilstand er indstillet til tcp_and_udp på serveren, hvis klienten har brug for UDP (DNS-over-proxy, nogle spil/apps) og ikke kun tcp_only
Sammenligner du Shadowsocks med andre muligheder? Se Xray VLESS Reality Guide for en TLS-camouflage-baseret protokol, der er sværere at fingeraftryksregistrere på et stærkt filtreret netværk, AmneziaWG Server Deployment Guide og Sådan konfigurerer du Wireguard VPN på din server for WireGuard-baserede alternativer, eller Hysteria2 og TUIC-opsætning for to protokoller bygget til tabsgivende eller stærkt filtrerede netværk. Hvis du kun har brug for en simpel proxy i stedet for en fuld tunnelopsætning, er 3proxy-konfiguration på CentOS/ArchLinux et meget lettere alternativ, og den ældre VPN-serveropsætning på Linux: PPTP eller OpenVPN? dækker protokoller, der er enklere at konfigurere, men langt lettere for DPI at registrere og blokere. For generel serverhærdning, når proxyen er aktiv, se Linux-brugere: Administration og tilladelser.