Tietopankki Yksinkertaiset ohjeet työskentelemään Profitserver-palvelun kanssa
tärkein Tietopankki Shadowsocks-opas (shadowsocks-rust / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone

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


Shadowsocks on kevyt, SOCKS5-pohjainen salattu välityspalvelinprotokolla, joka alun perin suunniteltiin kiertämään liikenteen muokkausta ja estoa tavallisissa verkoissa. Toisin kuin täysi VPN, se välittää vain sovelluksen sille eksplisiittisesti lähettämää liikennettä, sillä ei ole juurikaan protokollan lisäkuormitusta ja se toimii hyvin jopa rajoitetuilla yhteyksillä. Se ei yritä jäljitellä todellista TLS-kättelyä kuten VLESS+Reality – sen vahvuuksia ovat yksinkertaisuus, laaja asiakastuki (reitittimet, puhelimet, selaimet) ja erittäin pieni viive, mutta samalla se on jonkin verran helpompi sormenjälkien tunnistaa liikennekuvion perusteella tarkasti tarkastetussa verkossa.

Aktiivisesti ylläpidettyjä palvelintoteutuksia on kaksi:

  • shadowsocks-rust — Shadowsocks-organisaation moderni referenssitoteutus, joka on kirjoitettu Rust-kielellä. Se tukee uudempaa AEAD-2022-salausperhettä, sitä kehitetään aktiivisesti, ja tämä opas asentaa ja konfiguroi sen yksityiskohtaisesti.
  • shadowsocks-libev — vanhempi C-toteutus. Sitä ylläpidetään edelleen virheiden korjausten varalta, se toimitetaan valmiina apt-pakettina omilla systemd-yksiköillään ja on hyvä valinta, jos haluat ehdottoman yksinkertaisen asennuksen ilman manuaalista binääritiedostojen käsittelyä. Tämä opas käsittelee sitä vaihtoehtoisena asennuspolkuna osiossa 3.

Tässä oppaassa kuvataan, kuinka palvelin määritetään manuaalisesti komentorivin kautta – ilman web-paneelia tai Dockeria. Korvaa "IP-osoite"-kenttä aina VPS:n todellisella IP-osoitteella.

Tarvitset: virtuaalipalvelimen, jossa on Ubuntu 22.04/24.04 tai Debian 11/12, pääkäyttäjän oikeudet, virtuaalipalvelimesi IP-osoitteen ja vapaan UDP/TCP-portin (tässä oppaassa käytetään 8388:aa, Shadowsocksin oletusporttia).

Eikö sinulla ole vielä palvelinta? Katso , miten tilaat palvelimen ja maksat siitä.

Vertailetko tätä ensin muihin itse isännöityihin vaihtoehtoihin? Katso Xray VLESS Reality Guide TLS-naamiointipohjaisesta vaihtoehdosta, AmneziaWG Server Deployment Guide WireGuard-pohjaisesta vaihtoehdosta tai Hysteria2- ja TUIC-asennuksesta kahdelle muulle nykyaikaiselle välityspalvelinprotokollalle.

Yhdistetään palvelimeen

Windows (PuTTY)

Avaa PuTTY, kirjoita VPS:n IP-osoitteesi Host Name -kenttään, aseta portiksi 22 ja kirjaudu sisään root-käyttäjänä käyttämällä VPS-palveluntarjoajasi sinulle sähköpostitse lähettämää salasanaa.

Palvelimen IP-osoite: IP-osoitteesi

kirjaudu sisään pääkäyttäjänä

Salasana: salasanasi

Yksityiskohtaisen ohjeet PuTTY/SSH-yhteyden muodostamiseen on kohdassa Yhteyden muodostaminen Linux-palvelimeen SSH:n kautta.

PuTTY-istunnon määritys SSH-yhteyttä varten. PuTTY SSH -pääte VPS:ään yhdistämisen jälkeen. SSH-kirjautuminen VPS:lle onnistui.

Linux / macOS (pääte)

ssh root@your_IP_address

Kaikki alla olevat komennot suoritetaan palvelimella tässä samassa SSH-istunnossa – joka kattaa osiot 2–7 sekä osiossa 13 mainitut palvelinpuolen tarkistukset. Osiot 8–12 (asiakassovellusten asentaminen ja määrittäminen) suoritetaan omalla Windows/macOS/Linux/Android/iOS-laitteellasi, koska välityspalvelimen on toimittava siinä. Jokaisessa osiossa kerrotaan nimenomaisesti, mitkä rivit, jos mitkään, koskettavat edelleen palvelinta.

Palvelimen valmistelu

Päivitä järjestelmä

Ennen minkään asentamista, päivitä pakettiluettelo ja päivitä asennetut paketit:

apt update -y && apt upgrade -y
Komento, jota käytetään asennettujen pakettien päivittämiseen. Paketin päivityksen tuloste. Ytimen päivitysilmoitus näytetään paketin päivityksen aikana Palveluiden uudelleenkäynnistyskehote näytetään paketin päivityksen aikana.

Jos tämä päivittää ytimen, uudelleenkäynnistys on hyvä idea ennen jatkamista. (Lisätietoja apt:stä ​​ja Linux-paketinhallintajärjestelmien toiminnasta on kohdassa Linux-paketinhallintajärjestelmät .) Tarkista seuraavat:

cat /var/run/reboot-required
Komento, jota käytetään tarkistamaan, tarvitaanko uudelleenkäynnistystä. Uudelleenkäynnistyksen tarvetta mittaavan tarkistuksen tuloste.

Jos tiedosto on olemassa, käynnistä tietokone ensin uudelleen komennolla 'reboot', odota noin 30 sekuntia ja kytke se sitten uudelleen.

Asenna tässä oppaassa käytetyt työkalut

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

Shadowsocks-rust-julkaisuarkiston hakemiseen ja purkamiseen tarvitaan curl/wget ja tar/xz-utils; ufw on alla määritetty palomuuri; qrencode muuttaa valmiin asiakaslinkin skannattavaksi QR-koodiksi osiossa 7.

Komento, jota käytetään tarvittavien palvelinapuohjelmien asentamiseen.

Palomuurin (UFW) määrittäminen

Lisätietoja UFW-säännöistä on kohdassa Palomuurin määrittäminen Linuxissa.

Avaa kaksi tarvitsemaasi porttia: 22/tcp SSH:lle (jos ohitat tämän säännön, saatat menettää pääsyn palvelimelle) ja 8388, sekä tcp että udp — Shadowsocks käyttää välityspalvelinta sekä TCP-yhteyksien että UDP-yhteyksien kautta (hyödyllinen DNS:lle ja joillekin peleille/sovelluksille), joten portin molempien suuntien on oltava auki.

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

Kaikkien kolmen säännön pitäisi näkyä ufw-tilatuloksessa muodossa ALLOW. Jos myöhemmin muutat porttia config.json-tiedostossa, päivitä nämä säännöt vastaamaan sitä.

UFW-tila, jossa näkyvät määritetyt SSH- ja Shadowsocks-säännöt.

Palvelinohjelmiston asentaminen

Valitse toinen alla olevista kahdesta vaihtoehdosta. Vaihtoehtoa A (shadowsocks-rust) suositellaan: se on aktiivisesti kehitetty toteutus ja tukee tässä oppaassa myöhemmin käytettyjä moderneja AEAD-2022-salauksia. Vaihtoehto B (shadowsocks-libev) on hyvä valinta, jos haluat mieluummin käyttää tavallista apt-pakettia valmiilla systemd-yksiköllä etkä tarvitse AEAD-2022:ta.

Vaihtoehto A — shadowsocks-ruoste (suositeltu)

Shadowsocks-rust ei toimita apt-pakettia uusimpien julkaisujen mukana, joten se asennetaan lataamalla valmiiksi rakennettu staattinen binääritiedosto projektin GitHub-julkaisuista. Hae uusin julkaisutunniste GitHub-rajapinnasta ja lataa vastaava Linux x86_64 -arkisto:

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"
Komento, jota käytetään shadowsocks-rust-julkaisuarkiston lataamiseen.

Jos VPS:si on arm64 x86_64:n sijaan (tarkista komennolla `uname -m`), korvaa yllä olevassa tiedostonimessä x86_64-unknown-linux-gnu nimellä aarch64-unknown-linux-gnu.

Pura arkisto ja asenna binäärit koko järjestelmään:

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
Komento, jota käytetään shadowsocks-rust-binäärien purkamiseen ja asentamiseen.

Varmista, että binääritiedosto on paikallaan ja tarkista asennettu versio:

ssserver --version
Asennettu ssserver-versio.

Luo hakemisto, johon asetustiedosto tulee:

mkdir -p /etc/shadowsocks-rust
Shadowsocks-rust-määrityshakemiston luonti.

Tämä opas asentaa korjatun version sen sijaan, että se syöttäisi asennusskriptiä bashiin. Voit päivittää myöhemmin suorittamalla yllä olevat kaksi komentoa uudelleen käyttämällä uutta SS_VER-hakua, pysäyttämällä palvelun, korvaamalla binääritiedoston ja käynnistämällä palvelun uudelleen (osio 6).

Vaihtoehto B — shadowsocks-libev (vaihtoehtoinen, apt-paketti)

Shadowsocks-libev sisältyy Ubuntun universe-arkistoon (Ubuntu 16.10+) ja Debianin pääarkistoon (Debian 8+), joten kolmannen osapuolen PPA:ta ei tarvita 22.04/24.04- tai Debian 11/12 -versioissa:

apt install -y shadowsocks-libev
Komento, jota käytetään shadowsocks-libevin asentamiseen pakettivarastosta.

Jos apt ilmoittaa, että pakettia ei löydy, universe-arkisto on poistettu käytöstä; ota se käyttöön ja yritä uudelleen:

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

Paketti asentaa omat systemd-yksikkönsä (shadowsocks-libev.service oletuskonfiguraatiolle sekä [email protected] nimetyille instanssikohtaisille konfiguraatioille) ja luo automaattisesti /etc/shadowsocks-libev/config.json-tiedoston — osioissa 4–6 mainitaan libev-kohtaiset komennot ja tiedostopolut rust-komentojen ja -polkujen rinnalla. Tämän oppaan muut asiakasosiot (7–13) koskevat identtisesti kumpaakin palvelintoteutusta, koska molemmat puhuvat samaa Shadowsocks/SIP002-protokollaa langalla.

Salasanan luominen ja salauksen valitseminen

Shadowsocks-todennus on yksi jaettu salasana ja molempien osapuolten hyväksymä salausmenetelmä – erillistä UUID:ta, avainparia tai varmennetta ei ole hallittavana.

Salausperheet

  • AEAD-2022 (suositeltu, vain shadowsocks-rust): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305. Uudempi muotoilu (SIP022), jossa on vahvempi toistosuoja ja tuki useille käyttäjille, jotka jakavat yhden portin. Salasanan on oltava base64-merkkijono, jonka pituus on täsmälleen salausavaimen pituus (16 tavua 128-bittisille muunnoksille, 32 tavua 256-bittisille muunnoksille).
  • Klassinen AEAD (sekä Rustin että Libevin tukema): aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305. Laajasti yhteensopiva vanhempien asiakasohjelmien ja shadowsocks-libevin kanssa; salasana voi olla mikä tahansa tunnuslause, koska se syötetään avaimen johdantofunktion kautta eikä sitä käytetä suoraan avainmateriaalina.

Tässä oppaassa käytetään shadowsocks-rust-palvelimelle tiedostoa 2022-blake3-aes-256-gcm, koska se on vahvin ja uusin vaihtoehto ja kaikki myöhemmin suositellut asiakasohjelmat (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) tukevat sitä. Jos asensit shadowsocks-libevin osiossa 3, käytä sen sijaan tiedostoa chacha20-ietf-poly1305 tai aes-256-gcm, koska libev ei toteuta AEAD-2022:ta.

Luo avain (shadowsocks-rust)

ssservice genkey -m "2022-blake3-aes-256-gcm"
Komento, jota käytetään satunnaisen salasanan luomiseen shadowsocks-libeville.

Tämä tulostaa base64-merkkijonon – se on salasanasi. Kopioi se turvalliseen paikkaan; liität sen sekä palvelimen asetuksiin osiossa 5 että asiakaslinkkiin osiossa 7.

Satunnainen salasana luotu.

Valitse salasana (shadowsocks-libev)

Shadowsocks-libevin käyttämissä klassisissa AEAD-salauksissa mikä tahansa riittävän pitkä satunnainen merkkijono toimii, koska se ajetaan PBKDF/HKDF:n läpi eikä sitä käytetä raakana avaimena. Luo sellainen komennolla:

openssl rand -base64 32

Palvelimen konfiguroinnin kirjoittaminen

Varjosukat-ruoste

Avaa määritystiedosto muokkausta varten:

nano /etc/shadowsocks-rust/config.json

Liitä alla oleva mallipohja ja korvaa se omalla salasanallasi osiosta 4 (ja portilla osiosta 2, jos vaihdoit sen 8388:sta):

{
    "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
}

Tallenna tiedosto painamalla Ctrl+O (WriteOut), vahvista tiedostonimi painamalla Enter ja poistu sitten nanosta painamalla Ctrl+X.

Tärkeät kentät: palvelin kuuntelee kaikkia rajapintoja (0.0.0.0); palvelinportti on osiossa 2 avattu portti; salasana/metodi ovat osiossa 4 käytetyt tunnistetiedot ja salaus; tila mahdollistaa sekä TCP- että UDP-välityksen; timeout on käyttämättömyysyhteyden aikakatkaisu sekunteina; nofile nostaa tiedostokuvaajien rajaa kiireisille palvelimille.

Vahvista JSON ja että binääritiedosto hyväksyy sen ennen sen kytkemistä systemd:hen:

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"

Luo systemd-yksikkö (shadowsocks-rust)

Binääriversiossa ei ole systemd-yksikköä, joten luo sellainen:

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

Tallenna ja poistu kuten yllä, ja käske sitten systemd:tä poimimaan uusi yksikkötiedosto:

systemctl daemon-reload

Shadowsocks-libev

apt-paketti on jo luonut tiedoston /etc/shadowsocks-libev/config.json oletuskokoonpanolla (vain loopback, satunnainen salasana) ja omalla systemd-yksiköllään. Avaa se muokattavaksi:

Komento, jota käytetään shadowsocks-libev-asetustiedoston avaamiseen.
nano /etc/shadowsocks-libev/config.json

Korvaa sisältö seuraavasti:

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

Oletuskonfiguraatiossa käytetään palvelinta: ["::1", "127.0.0.1"] (vain loopback); sen muuttaminen arvoon "0.0.0.0" tekee palvelimesta tavoitettavan julkisesta IP-osoitteesta – älä ohita tätä, jos kopioit perustiedoston yllä olevan mallin sijaan.

Palvelun käynnistäminen ja automaattisen käynnistyksen ottaminen käyttöön

Varjosukat-ruoste

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

Tilan pitäisi näyttää aktiivinen (käynnissä). Varmista, että jokin todella kuuntelee porttia (molemmat protokollat):

Palvelin kuuntelee TCP- ja UDP-porttia 8388.
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'

Jos palvelu ei käynnisty, nopein tapa selvittää syy on systemd-lokin avulla (yleisiä taustatietoja Linux-lokien lukemisesta on artikkelissa Linux-lokien lukeminen ja niiden löytäminen ):

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

Shadowsocks-libev

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

Tarkista portti ja lokit samalla tavalla kuin shadowsocks-rust-palvelimella, korvaamalla palvelun nimi:

Komennot, joita käytetään shadowsocks-libev-palvelun uudelleenkäynnistykseen, käyttöönottoon ja tarkistamiseen. Shadowsocks-libev-palvelun tila on aktiivinen (käynnissä).
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager

Asiakasyhteyslinkin rakentaminen

Shadowsocks-asiakasohjelmat tuovat yhden ss://-jakolinkin (SIP002 URL-muoto) määritystiedoston sijaan. Linkki koodaa salauksen ja salasanan base64-muotoon URL-osoitteen käyttäjäinfo-osassa:

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

Luo base64-osio palvelimelle (tämä välttää käsin koodauksen aiheuttamat kirjoitusvirheet):

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"

Esimerkki tulosteesta (paikkamerkkiavaimella):

Esimerkki luodusta ss://-yhteyslinkistä (havainnollistava).
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server

#-merkin jälkeinen teksti on vain näyttönimi, jonka voit nimetä vapaasti uudelleen missä tahansa asiakasohjelmassa. Shadowsocks-libev-palvelimella korvaa se METHOD="chacha20-ietf-poly1305" (tai aes-256-gcm) ja sen salasanalla osiosta 4. 

Muunna se QR-koodiksi, jotta mobiiliasiakkaat voivat skannata sen suoraan:

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

Kopioi PNG omalle tietokoneellesi scp:llä, suorita se tietokoneesi terminaalista (tai PowerShellistä Windowsissa), älä palvelimelta:

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

Yhdistäminen Windowsista

Kaikki tässä osiossa tapahtuu Windows-tietokoneellasi, ei SSH:n kautta — asiakkaan on toimittava laitteella, joka todellisuudessa käyttää välityspalvelinta.

Asenna v2rayN

v2rayN on ilmainen, aktiivisesti ylläpidetty graafinen asiakasohjelma, jossa on natiivi Shadowsocks-tuki VLESSin, VMessin, Trojanin ja muiden ohella. Lataa uusin julkaisu projektin sivulta.

Ota Windowsin 64-bittinen .zip-tiedosto (itsenäinen koontiversio ei tarvitse erillistä .NET-suorituksenaikaista ympäristöä, kuten uudemmat v2rayN-versiot), pura se mihin tahansa ja suorita v2rayN.exe.

Tuo palvelin

Kopioi osiossa 7 luotu ss://-linkki leikepöydälle (tai kopioi QR-PNG-kuva scp:llä ja avaa se) ja valitse sitten v2rayN:ssä Palvelimet → Tuo joukko-URL leikepöydältä (tai skannaa QR-koodi sisäänrakennetulla skannerilla). Uusi palvelinprofiili näkyy luettelossa asettamasi otsikon kanssa #-merkin jälkeen.

Napsauta profiilia hiiren kakkospainikkeella ja valitse se aktiiviseksi. Ota sitten käyttöön järjestelmän välityspalvelin (tai TUN-tila koko koneen reitittämiseen) pääikkunan työkalupalkista.

Yhdistäminen macOS:stä

Kaikki tässä osiossa tapahtuvat Macillasi, eivätkä SSH:n kautta.

Asenna ShadowsocksX-NG

ShadowsocksX-NG on pitkäaikainen natiivi macOS-käyttöliittymäasiakasohjelma Shadowsocksille; nykyinen julkaisusarja sisältää natiivin Apple Silicon -koontiversion Intelin rinnalla. Lataa uusin .dmg- tiedosto julkaisusivulta.

Avaa .dmg-tiedosto ja vedä ShadowsocksX-NG Ohjelmat-kansioon. Käynnistä se sitten – se näkyy kuvakkeena valikkorivillä.

 

Tuo palvelin

Kopioi osiosta 7 oleva ss://-linkki leikepöydälle ja napsauta sitten valikkorivin kuvaketta → Palvelimet → Palvelimen asetukset → vasemmassa alakulmassa oleva + ja valitse "Tuo paperilta" (tai skannaa QR-koodi toiminnolla "Skannaa QR-koodi näytöltä" PNG-tiedoston avaamisen jälkeen). Valitse uusi profiili valikkorivin alasvetovalikosta ja vaihda sitten "Shadowsocks: Päällä" -asetukseksi ja valitse samasta valikosta reititystilaksi "PAC Auto" tai "Global".

Yhdistäminen Linux-työpöydältä

Kaikki tässä osiossa tapahtuu omalla Linux-koneellasi, ei VPS:llä.

Asenna paikallinen asiakasohjelma

Jos asensit shadowsocks-rustin palvelimelle osiossa 3, sama julkaisuarkisto sisältää sslocalin, joka on SOCKS5/HTTP-paikallinen välityspalvelinohjelma. Lataa ja asenna se samalla tavalla kuin palvelimen binääritiedosto (säädä työpöydän OS/arch-päätettä, jos se ei ole 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/

Määritä ja suorita

Luo pieni paikallinen kokoonpano, joka kuuntelee osoitetta 127.0.0.1:1080 SOCKS5-välityspalvelimena:

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

Osoita selaimesi tai järjestelmän verkkoasetukset SOCKS5-välityspalvelimelle osoitteessa 127.0.0.1:1080. Käyttöliittymää varten Nekoray- tai ShadowsocksX-Qt5-tyyliset haarat voivat tuoda saman ss://-linkin osiosta 7 ja hallita sslocalia puolestasi manuaalisen suorittamisen sijaan.

Yhdistäminen Androidista

Kaikki täällä tapahtuu Android-laitteellasi, ei SSH:n kautta.

Asenna asiakasohjelma

Kaksi hyvää vaihtoehtoa:

  • Shadowsocks Androidille — Shadowsocks-organisaation virallinen asiakasohjelma. Asenna se Google Playsta (hae "Shadowsocks") tai lataa APK suoraan projektin julkaisusivulta, jos Play ei ole saatavilla laitteellasi. alue.
  • v2rayNG — v2rayN:n Android-vastine, joka tukee Shadowsocksia VLESSin/VMessin/Trojanin rinnalla; hyödyllinen, jos haluat yhden sovelluksen useille protokollille tyypit.

Tuo palvelin

Kummassakin sovelluksessa: napauta +-painiketta, valitse "Tuo leikepöydältä" kopioituasi ss://-linkin osiosta 7 tai "Skannaa QR-koodi" ja osoita kameralla PNG-kuvaa. Valitse tuotu profiili napauttamalla sitä ja napauta sitten yhdistä-painiketta. Android pyytää VPN-lupaa ensimmäisellä kerralla – hyväksy se tunnelin muodostamiseksi. 

Yhdistäminen iOS:stä

Kaikki täällä tapahtuu iPhonella tai iPadilla, ei SSH:n kautta.

Asenna Shadowsocks-yhteensopiva asiakasohjelma

Shadowrocket on laajimmin käytetty iOS-asiakasohjelma, joka tukee Shadowsocksia; se on maksullinen sovellus useimmissa sovelluskaupoissa. Hae sitä App Storesta tai avaa se.

Streisand on ilmainen, avoimen lähdekoodin vaihtoehto, joka tukee myös Shadowsocksia VLESSin, Troijan ja muiden protokollien rinnalla.

App Storen luettelot vaihtelevat myymälän/alueen mukaan ja voivat muuttua ajan myötä. Jos kumpaakaan ei näy omassasi, hae App Storesta hakusanoilla "Shadowsocks" tai "V2Box".

Tuo palvelin

Kopioi ss://-linkki leikepöydälle, avaa asiakasohjelma ja käytä sen Lisää/Tuo leikepöydältä -vaihtoehtoa tai skannaa osiossa 7 oleva QR-koodi asiakasohjelman sisäänrakennetulla skannerilla. Ota uusi profiili käyttöön; iOS pyytää VPN-määrityslupaa ensimmäisellä kerralla, joka sinun on hyväksyttävä Face ID:llä, Touch ID:llä tai salasanallasi.

Yhteyden tarkistaminen

Kun tunneli on aktiivinen osiossa 8, 9, 10, 11 tai 12, palaa omalle laitteellesi (ei SSH-istuntoon) ja avaa selaimessa mikä tahansa "mikä on IP-osoitteeni" -tarkistusikkuna. Näytetyn osoitteen pitäisi vastata VPS:si IP-osoitetta, your_IP_address.

Palvelimen puolelta tarkistamalla yhteystoiminta systemd-lokin kautta ja vahvistamalla portin kautta muodostetut istunnot (käytä ssserver-komentoa rust-lokin osalta tai shadowsocks-libev-komentoa libev-lokin osalta):

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

Viite:

Kenttä

Arvo

Osoite

VPS-palvelimesi julkinen IP-osoite

portti

8388 (sama portti avattiin osiossa 2)

Salasana

osiossa 4 luotu avain/salasana

Menetelmä

2022-blake3-aes-256-gcm (ruoste) tai chacha20-ietf-poly1305 (libev) — täsmälleen molemmilta puolilta

tila

tcp_and_udp — mahdollistaa sekä TCP-välityspalvelimen että UDP-välityksen (DNS, jotkut pelit)

Kytkeä

tässä oppaassa ei käytetty mitään — Shadowsocks ei tarvitse toimiakseen SNI:tä, varmennetta tai siirtolaajennusta

Yhteenveto

Tämän oppaan noudattaminen jättää VPS:si käyttämään omaa Shadowsocks-palvelinta – joko shadowsocks-rustia modernilla AEAD-2022-salauksella tai shadowsocks-libeviä Ubuntun/Debianin omasta arkistosta – systemd-palveluna, joka selviää uudelleenkäynnistyksestä ilman sinun toimiasi.

Lisää käyttäjiä:

  • Yksinkertaisinta: luo toinen salasana (osio 4) ja suorita toinen ssserver/shadowsocks-libev-instanssi eri portissa omalla asetustiedostollaan ja systemd-yksiköllään, ja toista sitten osiot 5–7 kyseiselle portille.
  • AEAD-2022-salauksella varustettu shadowsocks-rust tukee myös useiden käyttäjien saman portin ja salasanan johdantoavaimen jakamista config.json-tiedoston (Extensible Identity Headers, SIP022) "users"-taulukon kautta — katso tarkka syntaksi shadowsocks-rust-tiedoston README-tiedoston Määritys-osiosta, jos tarvitset käyttäjäkohtaista liikenteen seurantaa yhdellä portilla.

Muutamia tapoja, jotka kannattaa pitää yllä, kun palvelin on käynnissä:

  • Pidä palvelin ajan tasalla. Shadowsocks-rustin tapauksessa suorita säännöllisesti osan 3 lataus- ja asennusvaiheet uudelleen käyttämällä uutta versiota ja käynnistä sitten ssserver uudelleen komennolla systemctl. Shadowsocks-libevin tapauksessa pelkkä apt-päivitys kattaa ongelman.
  • Varmuuskopioi config.json-tiedosto yksityiseen paikkaan palvelimen ulkopuolelle. Se sisältää jokaisen asiakkaan salasanan; sen menettäminen tarkoittaa tunnistetietojen uudelleenluomista jokaiselle laitteelle.
  • Vaihda salasanaa, jos laite katoaa tai asiakasohjelma vaarantuu: luo uusi salasana (osio 4), päivitä config.json-tiedosto, käynnistä palvelu uudelleen ja luo asiakasohjelmalinkki uudelleen (osio 7) jokaiselle jäljellä olevalle laitteelle.

Jos yhteys ei toimi, tarkista asiat järjestyksessä:

  • palvelun tila (systemctl status ssserver --no-pager tai shadowsocks-libev) ja loki (journalctl -u ssserver -n 50 --no-pager)
  • palomuurisäännöt (ufw-tila – portin on oltava avoinna sekä TCP:lle että UDP:lle)
  • että portti ei ole jo sidottu toisen palvelun toimesta (ss -lntp | grep ':8388' ​​pitäisi näyttää vain ssserver/ss-server)
  • että asiakkaan salasana, metodi ja portti vastaavat täysin config.json-tiedostoa — yksittäinen epäsuhtainen merkki epäonnistuu kättelyssä huomaamattomasti, yleensä yhteyden aikakatkaisuna eikä eksplisiittisenä virheenä
  • Palvelimella tilaksi asetetaan tcp_and_udp, jos asiakas tarvitsee UDP:tä (DNS-over-proxy, jotkin pelit/sovellukset) eikä vain tcp_onlya.

Vertaillaanko Shadowsocksia muihin vaihtoehtoihin? Katso Xray VLESS Reality Guide -oppaasta TLS-naamiointipohjainen protokollasuositus, jota on vaikeampi tunnistaa voimakkaasti suodatetussa verkossa. WireGuard-pohjaisia ​​vaihtoehtoja varten katso AmneziaWG Server Deployment Guide ja How to set up Wireguard VPN on your server -opas , tai Hysteria2 and TUIC setup -oppaasta kaksi protokollaa häviöllisille tai voimakkaasti suodatetuille verkoille. Jos tarvitset vain yksinkertaisen välityspalvelimen täyden tunnelointiasennuksen sijaan, 3proxy-kokoonpano CentOS/ArchLinuxissa on paljon kevyempi vaihtoehto, ja vanhempi VPN-palvelinasennus Linuxissa: PPTP vai OpenVPN? kattaa protokollat, jotka on yksinkertaisempi asentaa, mutta DPI:n on paljon helpompi havaita ja estää. Yleistä palvelimen suojauksen vahvistamisesta välityspalvelimen ollessa käytössä on artikkelissa Linux-käyttäjät: hallinta ja käyttöoikeudet.

❮ Edellinen artikkeli Xray VLESS -todellisuusopas: VPS, Windows, Mac, Android, iPhone
Seuraava artikkeli ❯ VMmanager 6:n tietoturvahäiriö: Mitä tapahtui ja mitä tehdä

Kysy meiltä VPS:stä

Olemme aina valmiita vastaamaan kysymyksiisi milloin tahansa päivällä tai yöllä.