Base de Coneixements Instruccions senzilles per treballar amb el servei Profitserver
Inici Base de Coneixements 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 és un protocol de proxy xifrat lleuger basat en SOCKS5, dissenyat originalment per evitar la configuració i el bloqueig del trànsit en xarxes normals. A diferència d'una VPN completa, només fa de proxy el trànsit que una aplicació li envia explícitament, gairebé no té cap sobrecàrrega de protocol i funciona bé fins i tot en connexions restringides. No intenta imitar una encaixada de mans TLS real com ho fa VLESS+Reality: el seu punt fort és la simplicitat, l'ampli suport de clients (encaminadors, telèfons, navegadors) i una latència molt baixa, a costa de ser una mica més fàcil de detectar per patró de trànsit en una xarxa molt inspeccionada.

Hi ha dues implementacions de servidor que es mantenen activament:

  • shadowsocks-rust: la implementació de referència moderna de l'organització shadowsocks, escrita en Rust. Admet la nova família de xifratge AEAD-2022, està en desenvolupament activament i és la implementació que aquesta guia instal·la i configura en detall.
  • shadowsocks-libev — la implementació més antiga de C. Encara es manté per a la correcció d'errors, s'envia com un paquet apt prefabricat amb les seves pròpies unitats systemd i és una bona opció si voleu la instal·lació més senzilla sense la gestió manual de binaris. Aquesta guia la tracta com a ruta d'instal·lació alternativa a la Secció 3.

Aquesta guia descriu com configurar manualment el servidor a través de la línia d'ordres, sense utilitzar un panell web ni Docker. Allà on aparegui el camp "Adreça IP", substituïu-lo per l'adreça IP real del vostre VPS.

El que necessitareu: un VPS amb Ubuntu 22.04/24.04 o Debian 11/12, accés root, l'adreça IP del vostre VPS i un port UDP/TCP lliure (aquesta guia utilitza 8388, el port per defecte de Shadowsocks).

Encara no tens un servidor? Consulta Com demanar un servidor i pagar-lo.

Voleu comparar això amb altres opcions autoallotjades primer? Consulteu la Guia de Xray VLESS Reality per a una alternativa basada en camuflatge TLS, la Guia de desplegament del servidor AmneziaWG per a una opció basada en WireGuard o la configuració d'Hysteria2 i TUIC per a dos altres protocols proxy moderns.

Connexió al servidor

Windows (PuTTY)

Obriu PuTTY, introduïu l'adreça IP del vostre VPS al camp Nom de l'amfitrió, configureu el port a 22 i inicieu la sessió com a root amb la contrasenya que us ha enviat el vostre proveïdor de VPS per correu electrònic.

Adreça IP del servidor: la vostra adreça IP

inicieu sessió com a: root

Contrasenya: la teva contrasenya

Per obtenir una guia detallada sobre com connectar-se mitjançant PuTTY/SSH, consulteu Com connectar-se a un servidor Linux mitjançant SSH.

Configuració de sessió PuTTY per a accés SSH. Terminal SSH de PuTTY després de connectar-se al VPS. Inici de sessió SSH correcte al VPS.

Linux / macOS (terminal)

ssh root@your_IP_address

Totes les ordres següents s'executen al servidor, en aquesta mateixa sessió SSH, que cobreix les seccions 2 a 7, a més de les comprovacions del costat del servidor a la secció 13. Les seccions 8 a 12 (instal·lació i configuració de les aplicacions client) es duen a terme al vostre propi dispositiu Windows/macOS/Linux/Android/iOS, ja que aquest és el dispositiu on el proxy ha d'executar-se; cadascuna d'aquestes seccions indica explícitament quines línies, si n'hi ha, encara toquen el servidor.

Preparant el servidor

Actualitza el sistema

Abans d'instal·lar res, actualitzeu la llista de paquets i actualitzeu els paquets instal·lats:

apt update -y && apt upgrade -y
Comanda que s'utilitza per actualitzar els paquets instal·lats. Sortida d'actualització del paquet. Avís d'actualització del nucli que es mostra durant l'actualització del paquet Es mostra l'indicador de reinici dels serveis durant l'actualització del paquet.

Si això actualitza el nucli, és una bona idea reiniciar abans de continuar. (Per a un repàs sobre apt i com funcionen els gestors de paquets de Linux, vegeu Gestors de paquets de Linux .) Consulteu amb:

cat /var/run/reboot-required
Ordre que s'utilitza per comprovar si cal reiniciar. Sortida de la comprovació de reinici necessari.

Si el fitxer existeix, reinicieu primer amb 'reboot', espereu uns 30 segons i després torneu a connectar-vos.

Instal·leu les eines que utilitza aquesta guia

apt install -y curl wget tar xz-utils ufw qrencode

curl/wget i tar/xz-utils són necessaris per obtenir i desempaquetar l'arxiu de llançament de shadowsocks-rust; ufw és el tallafocs configurat a continuació; qrencode converteix l'enllaç del client acabat en un codi QR escanejable a la Secció 7.

Ordre utilitzada per instal·lar les utilitats del servidor necessàries.

Configura el tallafocs (UFW)

Per obtenir més informació sobre les regles d'UFW, consulteu Configuració del tallafocs a Linux.

Obriu els dos ports que necessitareu: 22/tcp per a SSH (si ometeu aquesta regla, us arrisqueu a perdre l'accés al servidor) i 8388, tant tcp com udp. Shadowsocks fa de proxy tant per a connexions TCP com per a associacions UDP (útil per a DNS i alguns jocs/aplicacions), de manera que les dues direccions del port han d'estar obertes.

ufw allow 22/tcp
ufw allow 8388/tcp
ufw allow 8388/udp
ufw --force enable
ufw status

Les tres regles haurien de mostrar-se com a ALLOW a la sortida d'estat d'ufw. Si més tard canvieu el port a config.json, actualitzeu aquestes regles perquè coincideixin.

Estat de l'UFW que mostra les regles SSH i Shadowsocks configurades.

Instal·lació del programari del servidor

Trieu una de les dues opcions següents. Es recomana l'opció A (shadowsocks-rust): és la implementació desenvolupada activament i admet els xifrats AEAD-2022 moderns que s'utilitzen més endavant en aquesta guia. L'opció B (shadowsocks-libev) és una bona opció si preferiu utilitzar un paquet apt senzill amb una unitat systemd ja feta i no necessiteu AEAD-2022.

Opció A — shadowsocks-rust (recomanat)

Shadowsocks-rust no inclou un paquet apt amb les versions actuals, de manera que s'instal·la descarregant el binari estàtic precompilat de les versions de GitHub del projecte. Obteniu l'etiqueta de la darrera versió de l'API de GitHub i descarregueu l'arxiu Linux x86_64 corresponent:

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"
Ordre utilitzada per descarregar l'arxiu de llançament de shadowsocks-rust.

Si el vostre VPS és arm64 en comptes de x86_64 (comproveu-ho amb `uname -m`), substituïu x86_64-unknown-linux-gnu per aarch64-unknown-linux-gnu al nom de fitxer anterior.

Extraieu l'arxiu i instal·leu els binaris a tot el sistema:

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
Ordre utilitzada per extreure i instal·lar els binaris shadowsocks-rust.

Verifiqueu que el binari estigui al seu lloc i comproveu la versió instal·lada:

ssserver --version
Versió de ssserver instal·lada.

Crea el directori on es trobarà el fitxer de configuració:

mkdir -p /etc/shadowsocks-rust
Creació del directori de configuració shadowsocks-rust.

Aquesta guia instal·la una versió fixa en comptes d'enviar un script d'instal·lació a bash. Per actualitzar més tard, torneu a executar les dues ordres anteriors amb una cerca SS_VER nova, atureu el servei, substituïu el binari i reinicieu-lo (Secció 6).

Opció B — shadowsocks-libev (alternativa, paquet apt)

Shadowsocks-libev està inclòs al repositori universe d'Ubuntu (Ubuntu 16.10+) i al repositori principal de Debian (Debian 8+), de manera que no cal cap PPA de tercers a 22.04/24.04 o Debian 11/12:

apt install -y shadowsocks-libev
Ordre utilitzada per instal·lar shadowsocks-libev des del repositori de paquets.

Si apt informa que no s'ha trobat el paquet, el repositori de l'univers està desactivat; activeu-lo i torneu-ho a intentar:

add-apt-repository universe && apt update && apt install -y shadowsocks-libev

El paquet instal·la les seves pròpies unitats systemd (shadowsocks-libev.service per a la configuració predeterminada, més [email protected] per a les configuracions per instància anomenades) i crea /etc/shadowsocks-libev/config.json automàticament. Les seccions 4–6 indiquen les ordres i les rutes de fitxer específiques de libev juntament amb les de rust. La resta de les seccions de client d'aquesta guia (7–13) s'apliquen de manera idèntica a qualsevol implementació de servidor, ja que ambdues parlen el mateix protocol Shadowsocks/SIP002 a la xarxa.

Generació de la contrasenya i elecció d'un xifratge

L'autenticació de Shadowsocks és una única contrasenya compartida més un xifratge (mètode de xifratge) que ambdues parts han d'acordar; no hi ha cap UUID, parell de claus o certificat separat per gestionar.

Famílies de xifratge

  • AEAD-2022 (recomanat, només shadowsocks-rust): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305. Disseny més nou (SIP022) amb una protecció de reproducció més forta i compatibilitat amb diversos usuaris que comparteixen un port. La contrasenya ha de ser una cadena base64 amb exactament la longitud de la clau del xifratge (16 bytes per a les variants de 128 bits, 32 bytes per a la variant de 256 bits).
  • AEAD clàssic (compatible tant amb rust com amb libev): aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305. Ampliament compatible amb clients antics i amb shadowsocks-libev; la contrasenya pot ser qualsevol frase de pas, ja que s'introdueix a través d'una funció de derivació de claus en lloc d'utilitzar-se directament com a material clau.

Aquesta guia utilitza 2022-blake3-aes-256-gcm per al servidor shadowsocks-rust, ja que és l'opció més potent i actual i tots els clients recomanats posteriorment (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) la suporten. Si heu instal·lat shadowsocks-libev a la Secció 3, utilitzeu chacha20-ietf-poly1305 o aes-256-gcm, ja que libev no implementa AEAD-2022.

Genera una clau (shadowsocks-rust)

ssservice genkey -m "2022-blake3-aes-256-gcm"
Ordre utilitzada per generar una contrasenya aleatòria per a shadowsocks-libev.

Això imprimeix una cadena base64: la vostra contrasenya. Copieu-la en un lloc segur; l'enganxareu tant a la configuració del servidor de la Secció 5 com a l'enllaç del client de la Secció 7.

Contrasenya generada aleatòriament.

Trieu una contrasenya (shadowsocks-libev)

Per als xifrats AEAD clàssics utilitzats per shadowsocks-libev, qualsevol cadena aleatòria prou llarga funciona, ja que s'executa a través de PBKDF/HKDF en lloc d'utilitzar-se com a clau en brut. Genereu-ne un amb:

openssl rand -base64 32

Escriptura de la configuració del servidor

Shadowsocks-rovell

Obriu el fitxer de configuració per editar-lo:

nano /etc/shadowsocks-rust/config.json

Enganxeu la plantilla següent, substituint la vostra pròpia contrasenya de la Secció 4 (i el port de la Secció 2, si l'heu canviat de 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
}

Premeu Ctrl+O (WriteOut) per desar el fitxer, Enter per confirmar el nom del fitxer i, a continuació, Ctrl+X per sortir de nano.

Els camps importants: el servidor escolta a totes les interfícies (0.0.0.0); server_port és el port obert a la Secció 2; password/method són les credencials i el xifratge de la Secció 4; mode habilita la retransmissió TCP i UDP; timeout és el temps d'espera de la connexió inactiva en segons; nofile augmenta el límit del descriptor de fitxers per als servidors ocupats.

Valideu el JSON i que el binari l'accepti abans de connectar-lo a 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"

Crea la unitat systemd (shadowsocks-rust)

La versió binària no inclou una unitat systemd, així que creeu-ne una:

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

Deseu i sortiu com s'ha indicat anteriorment, i després digueu a systemd que reculli el nou fitxer d'unitat:

systemctl daemon-reload

Shadowsocks-libev

El paquet apt ja ha creat /etc/shadowsocks-libev/config.json amb una configuració per defecte (només bucle invertit, contrasenya aleatòria) i la seva pròpia unitat systemd. Obriu-la per editar-la:

Ordre utilitzada per obrir el fitxer de configuració shadowsocks-libev.
nano /etc/shadowsocks-libev/config.json

Substitueix el contingut per:

{
    "server":"0.0.0.0",
    "server_port":8388,
    "password":"YOUR-PASSPHRASE-HERE",
    "method":"chacha20-ietf-poly1305",
    "mode":"tcp_and_udp",
    "timeout":300
}
Exemple de configuració de shadowsocks-libev.

La configuració per defecte utilitza server: ["::1", "127.0.0.1"] (només bucle); canviar-la a "0.0.0.0" és el que fa que el servidor sigui accessible des de la IP pública; no us salteu això si heu copiat el fitxer d'estoc en comptes de la plantilla anterior.

Inici del servei i activació de l'inici automàtic

Shadowsocks-rovell

systemctl enable --now ssserver
systemctl status ssserver --no-pager

L'estat hauria de mostrar actiu (en execució). Confirmeu que alguna cosa està escoltant realment al port (ambdós protocols):

El servidor escolta al port 8388 TCP i UDP.
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'

Si el servei no s'inicia, la manera més ràpida de veure per què és el diari de systemd (per obtenir informació sobre la lectura de registres de Linux en general, vegeu Com llegir registres de Linux i on trobar-los ):

journalctl -u ssserver -n 50 --no-pager

Shadowsocks-libev

systemctl restart shadowsocks-libev
systemctl enable shadowsocks-libev
systemctl status shadowsocks-libev --no-pager

Comproveu el port i els registres de la mateixa manera que per a shadowsocks-rust, substituint el nom del servei:

Comandes utilitzades per reiniciar, habilitar i inspeccionar el servei shadowsocks-libev. L'estat del servei Shadowsocks-libev es mostra actiu (en execució).
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager

Creació de l'enllaç de connexió del client

Els clients de Shadowsocks importen un únic enllaç de compartició ss:// (el format d'URL SIP002) en lloc d'un fitxer de configuració. L'enllaç codifica el xifratge i la contrasenya com a base64 a la part d'informació d'usuari de l'URL:

ss://base64(method:password)@your_IP_address:port#label

Construeix la part base64 al servidor (això evita qualsevol error tipogràfic per codificació manual):

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"

Exemple de sortida (amb clau de marcador de posició):

Exemple d'enllaç de connexió ss:// generat (il·lustratiu).
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server

El text després de # és només una etiqueta de visualització que podeu canviar el nom lliurement en qualsevol client. Per a un servidor shadowsocks-libev, substituïu-lo per METHOD="chacha20-ietf-poly1305" (o aes-256-gcm) i la seva contrasenya de la Secció 4. 

Converteix-lo en un codi QR perquè els clients mòbils el puguin escanejar directament:

qrencode -o ~/ss-client.png "ss://${USERINFO}@your_IP_address:8388#My-SS-Server"

Copieu el PNG al vostre ordinador amb scp, executeu-lo des del terminal de l'ordinador (o PowerShell a Windows), no des del servidor:

scp root@your_IP_address:~/ss-client.png .

Connexió des de Windows

Tot el que s'explica en aquesta secció passa al vostre PC amb Windows, no a través d'SSH; el client ha d'executar-se al dispositiu que realment utilitzarà el proxy.

Instal·la v2rayN

v2rayN és un client GUI gratuït i en manteniment actiu amb suport natiu per a Shadowsocks, juntament amb VLESS, VMess, Trojan i altres. Baixeu la darrera versió des de la pàgina del projecte.

Agafeu l'arxiu .zip de Windows de 64 bits (una compilació autònoma no necessita un temps d'execució .NET separat com a versions recents de v2rayN), extraieu-lo a qualsevol lloc i executeu v2rayN.exe.

Importa el servidor

Copieu l'enllaç ss:// creat a la Secció 7 al porta-retalls (o copieu el codi QR PNG amb scp i obriu-lo), després a v2rayN trieu Servidors → Importa URL en bloc des del porta-retalls (o escanegeu el codi QR mitjançant l'escàner integrat). El nou perfil de servidor apareix a la llista amb l'etiqueta que heu definit després del #.

Feu clic amb el botó dret al perfil i seleccioneu-lo com a actiu, després activeu el proxy del sistema (o mode TUN, per encaminar tota la màquina) des de la barra d'eines de la finestra principal.

Connexió des de macOS

Tot el que s'explica en aquesta secció passa al Mac, no per SSH.

Instal·la ShadowsocksX-NG

ShadowsocksX-NG és el client GUI natiu de macOS de llarga durada per a Shadowsocks; la línia de llançaments actual inclou una compilació nativa d'Apple Silicon juntament amb Intel. Baixeu l'últim fitxer .dmg des de la pàgina de llançaments.

Obriu el fitxer .dmg i arrossegueu ShadowsocksX-NG a Aplicacions i, a continuació, inicieu-lo; apareixerà com a icona a la barra de menú.

 

Importa el servidor

Copieu l'enllaç ss:// de la Secció 7 al porta-retalls, feu clic a la icona de la barra de menú → Servidors → Preferències del servidor → el signe + a la part inferior esquerra i trieu "Importa des del tauler de pastes" (o escanegeu el codi QR amb "Escaneja el codi QR des de la pantalla" després d'obrir el PNG). Seleccioneu el nou perfil al menú desplegable de la barra de menú, activeu "Shadowsocks: On" i trieu el mode d'encaminament "PAC Auto" o "Global" al mateix menú.

Connexió des d'un escriptori Linux

Tot el que s'explica en aquesta secció passa a la vostra pròpia màquina Linux, no al VPS.

Instal·leu el client local

Si vau instal·lar shadowsocks-rust al servidor a la Secció 3, el mateix arxiu de llançament conté sslocal, un client proxy local SOCKS5/HTTP. Baixeu-lo i instal·leu-lo de la mateixa manera que el binari del servidor (ajusteu el sufix OS/arch per al vostre escriptori si no és 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/

Configura i executa

Crea una petita configuració local que escolti a 127.0.0.1:1080 com a proxy SOCKS5:

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

Apunteu el vostre navegador o la configuració de xarxa del sistema a un proxy SOCKS5 a 127.0.0.1:1080. Per a una GUI, les forks d'estil Nekoray o ShadowsocksX-Qt5 poden importar el mateix enllaç ss:// de la Secció 7 i gestionar sslocal en lloc d'executar-lo manualment.

Connexió des d'Android

Tot això passa al teu dispositiu Android, no per SSH.

Instal·lar un client

Dues bones opcions:

  • Shadowsocks per a Android: el client oficial de l'organització Shadowsocks. Instal·leu-lo des de Google Play (cerqueu "Shadowsocks") o descarregueu l'APK directament des de la pàgina de llançaments del projecte si Play no està disponible al vostre dispositiu. regió.
  • v2rayNG: l'equivalent d'Android a v2rayN, compatible amb Shadowsocks juntament amb VLESS/VMess/Trojan; útil si voleu una aplicació per a diversos protocols. tipus.

Importa el servidor

En qualsevol de les dues aplicacions: toqueu el botó +, trieu "Importa des del porta-retalls" després de copiar l'enllaç ss:// de la Secció 7 o "Escaneja el codi QR" i apunteu la càmera al PNG. Toqueu el perfil importat per seleccionar-lo i, a continuació, toqueu el botó de connexió. Android demanarà permís de VPN la primera vegada; aproveu-la per establir el túnel. 

Connexió des d'iOS

Tot això passa al teu iPhone o iPad, no per SSH.

Instal·leu un client compatible amb Shadowsocks

Shadowrocket és el client d'iOS més utilitzat amb compatibilitat amb Shadowsocks; és una aplicació de pagament a la majoria de botigues. Cerca-la a l'App Store o obre-la.

Streisand és una alternativa gratuïta i de codi obert que també admet Shadowsocks juntament amb VLESS, Trojan i altres protocols.

Els catàlegs de l'App Store varien segons la botiga o la regió i poden canviar amb el temps; si cap dels dos és visible al vostre, cerqueu "Shadowsocks" o "V2Box" a l'App Store.

Importa el servidor

Copieu l'enllaç ss:// al porta-retalls, obriu el client i utilitzeu l'opció Afegeix/Importa des del porta-retalls o escanegeu el codi QR de la Secció 7 amb l'escàner integrat del client. Activeu el nou perfil; iOS us demanarà permís de configuració de VPN la primera vegada, que haureu d'aprovar mitjançant Face ID, Touch ID o el vostre codi d'accés.

Verificació de la connexió

Amb el túnel actiu de la secció 8, 9, 10, 11 o 12, torneu al vostre dispositiu (no a la sessió SSH) i obriu qualsevol verificador de "quina és la meva IP" en un navegador; l'adreça que es mostra hauria de coincidir amb l'adreça IP del vostre VPS, la_vostra_adreça_IP.

Per verificar des del costat del servidor, comproveu l'activitat de connexió al diari systemd i confirmeu les sessions establertes al port (utilitzeu ssserver per al diari rust o shadowsocks-libev per al diari libev):

journalctl -u ssserver -n 50 --no-pager
ss -tnp | grep ':8388'

Referència:

Camp

Valor

Adreça

l'adreça IP pública del vostre VPS

Port

8388 (el mateix port obert a la Secció 2)

Contrasenya

la clau/frase de contrasenya generada a la secció 4

Mètode

2022-blake3-aes-256-gcm (rovell) o chacha20-ietf-poly1305 (libev): ha de coincidir exactament en ambdós costats.

manera

tcp_and_udp — habilita tant el proxy TCP com el relé UDP (DNS, alguns jocs)

Plugin

no s'utilitza cap en aquesta guia — Shadowsocks no necessita cap SNI, certificat ni complement de transport per funcionar

Conclusió

Seguint aquesta guia, el vostre VPS executa el seu propi servidor Shadowsocks (o bé shadowsocks-rust amb un xifratge AEAD-2022 modern o bé shadowsocks-libev des del propi repositori d'Ubuntu/Debian) com a servei systemd que sobreviu a un reinici sense cap acció per part vostra.

Afegint més usuaris:

  • El més senzill: generar una segona contrasenya (Secció 4) i executar una segona instància de ssserver/shadowsocks-libev en un port diferent amb el seu propi fitxer de configuració i unitat systemd, i després repetir les Seccions 5–7 per a aquest port.
  • shadowsocks-rust amb un xifratge AEAD-2022 també admet diversos usuaris que comparteixen un port i una clau de derivació de contrasenya a través de la matriu "users" a config.json (Extensible Identity Headers, SIP022); consulteu la secció de configuració del README de shadowsocks-rust per obtenir la sintaxi exacta si necessiteu una comptabilització del trànsit per usuari en un sol port.

Alguns hàbits que val la pena mantenir un cop el servidor estigui en funcionament:

  • Mantingueu el servidor actualitzat. Per a shadowsocks-rust, torneu a executar periòdicament els passos de descàrrega i instal·lació de la Secció 3 amb una cerca de versió nova i, a continuació, reinicieu systemctl ssserver. Per a shadowsocks-libev, una simple actualització d'apt ho cobreix.
  • Fes una còpia de seguretat del fitxer config.json en un lloc privat fora del servidor. Conté la contrasenya de cada client; perdre-la significa regenerar les credencials per a cada dispositiu.
  • Rota la contrasenya si perds un dispositiu o si un client està compromès: genera'n una de nova (Secció 4), actualitza el fitxer config.json, reinicia el servei i reconstrueix l'enllaç del client (Secció 7) per a cada dispositiu restant.

Si la connexió no s'estableix, comproveu-ho en aquest ordre:

  • l'estat del servei (systemctl status ssserver --no-pager o shadowsocks-libev) i el diari (journalctl -u ssserver -n 50 --no-pager)
  • les regles del tallafocs (estat ufw: el port ha d'estar obert tant per a tcp com per a udp)
  • que el port no estigui ja vinculat a un altre servei (ss -lntp | grep ':8388' ​​només hauria de mostrar ssserver/ss-server)
  • que la contrasenya, el mètode i el port del client coincideixin exactament amb config.json: un sol caràcter no coincident falla la confirmació de connexió silenciosament, normalment es mostra com un temps d'espera de connexió en lloc d'un error explícit.
  • aquest mode està definit com a tcp_and_udp al servidor si el client necessita UDP (DNS sobre proxy, alguns jocs/aplicacions) i no només tcp_only.

Voleu comparar Shadowsocks amb altres opcions? Consulteu la Guia de realitat Xray VLESS per a un protocol basat en camuflatge TLS que és més difícil de prendre per empremta digital en una xarxa molt filtrada, la Guia de desplegament del servidor AmneziaWG i Com configurar Wireguard VPN al vostre servidor per a alternatives basades en WireGuard, o la configuració d'Hysteria2 i TUIC per a dos protocols creats per a xarxes amb pèrdues o molt filtrades. Si només necessiteu un proxy simple en lloc d'una configuració de túnel completa, la configuració de 3 proxy a CentOS/ArchLinux és una alternativa molt més lleugera, i la configuració més antiga del servidor VPN a Linux: PPTP o OpenVPN? cobreix protocols que són més senzills de configurar però molt més fàcils de detectar i bloquejar per a DPI. Per a un enduriment general del servidor un cop el proxy està en funcionament, consulteu Usuaris de Linux: administració i permisos.

❮ Article anterior Guia de realitat VLESS de raigs X: VPS, Windows, Mac, Android, iPhone
Article següent ❯ Incident de seguretat de VMmanager 6: què ha passat i què cal fer

Pregunta'ns per VPS

Sempre estem preparats per respondre les vostres preguntes a qualsevol hora del dia o de la nit.