Vidensdatabase Enkle instruktioner til at arbejde med Profitserver-tjenesten
Main Vidensdatabase Shadowsocks Guide (shadowsocks-rust / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone

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


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.

PuTTY-sessionskonfiguration til SSH-adgang. PuTTY SSH-terminal efter tilslutning til VPS'en. SSH-login til VPS'en er gennemført.

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
Kommando brugt til at opdatere installerede pakker. Output fra pakkeopgradering. Meddelelse om kerneopgradering vist under pakkeopgradering Prompt om genstart af tjenester vises under pakkeopgradering.

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
Kommandoen bruges til at kontrollere, om en genstart er påkrævet. Output af den genstartspåkrævede kontrol.

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.

Kommando brugt til at installere de nødvendige serverværktøjer.

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.

UFW-status, der viser de konfigurerede SSH- og Shadowsocks-regler.

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"
Kommando brugt til at downloade shadowsocks-rust udgivelsesarkivet.

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
Kommando brugt til at udpakke og installere shadowsocks-rust binære filer.

Bekræft, at den binære fil er på plads, og tjek den installerede version:

ssserver --version
Installeret ssserver-version.

Opret den mappe, hvor konfigurationsfilen skal ligge:

mkdir -p /etc/shadowsocks-rust
Oprettelse af konfigurationsmappen 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
Kommando brugt til at installere shadowsocks-libev fra pakkearkivet.

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"
Kommando brugt til at generere en tilfældig adgangskode til shadowsocks-libev.

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.

Genereret tilfældig adgangskode.

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:

Kommando brugt til at åbne konfigurationsfilen shadowsocks-libev.
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
}
Eksempel på shadowsocks-libev-konfiguration.

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

Server lytter på TCP- og UDP-port 8388.
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:

Kommandoer brugt til at genstarte, aktivere og inspicere shadowsocks-libev-tjenesten. Status for Shadowsocks-libev-tjenesten viser aktiv (kører).
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):

Eksempel på genereret ss://-forbindelseslink (illustrativt).
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.

❮ Forrige artikel Xray VLESS Reality Guide: VPS, Windows, Mac, Android, iPhone
Næste artikel ❯ VMmanager 6 Sikkerhedshændelse: Hvad der skete, og hvad man skal gøre

Spørg os om VPS

Vi er altid klar til at besvare dine spørgsmål når som helst på dagen eller natten.