Knowledgebase Maagizo rahisi ya kufanya kazi na huduma ya Profitserver
Kuu ya Knowledgebase Mwongozo wa Shadowsocks (shadowsocks-rust / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone

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


Shadowsocks ni itifaki ya proksi iliyosimbwa kwa njia fiche yenye uzani mwepesi, inayotegemea SOCKS5 ambayo awali iliundwa ili kuepuka uundaji na uzuiaji wa trafiki kwenye mitandao ya kawaida. Tofauti na VPN kamili, husimamia trafiki ambayo programu hutuma kwake moja kwa moja, haina karibu itifaki ya uendeshaji, na inafanya kazi vizuri hata kwenye miunganisho iliyo na vikwazo. Haijaribu kuiga TLS halisi ya kushikana mikono kama VLESS+Reality inavyofanya — nguvu yake ni unyenyekevu, usaidizi mpana wa mteja (ruta, simu, vivinjari), na ucheleweshaji mdogo sana, kwa gharama ya kuwa rahisi kiasi fulani kubaini alama za vidole kwa muundo wa trafiki kwenye mtandao uliokaguliwa sana.

Kuna utekelezaji mbili wa seva unaodumishwa kikamilifu:

  • shadowsocks-rust — utekelezaji wa marejeleo ya kisasa kutoka kwa shirika la shadowsocks, lililoandikwa katika Rust. Inasaidia familia mpya ya cipher ya AEAD-2022, imeendelezwa kikamilifu, na ndio utekelezaji ambao mwongozo huu unasakinisha na kusanidi kwa undani.
  • shadowsocks-libev — utekelezaji wa zamani wa C. Bado inatunzwa kwa ajili ya marekebisho ya hitilafu, husafirishwa kama kifurushi cha apt kilichotengenezwa tayari chenye vitengo vyake vya mfumo, na ni chaguo zuri ikiwa unataka usakinishaji rahisi zaidi bila utunzaji wa jozi kwa mkono. Mwongozo huu unaushughulikia kama njia mbadala ya usakinishaji katika Sehemu ya 3.

Mwongozo huu unaelezea jinsi ya kusanidi seva mwenyewe kupitia mstari wa amri—bila kutumia paneli ya wavuti au Docker. Popote sehemu ya "Anwani ya IP" inapoonekana, ibadilishe na anwani halisi ya IP ya VPS yako.

Utakachohitaji: VPS inayoendesha Ubuntu 22.04/24.04 au Debian 11/12, ufikiaji wa mizizi, anwani ya IP ya VPS yako, na mlango wa bure wa UDP/TCP (mwongozo huu unatumia 8388, chaguo-msingi la Shadowsocks).

Huna seva bado? Tazama Jinsi ya kuagiza seva na kuilipia.

Ukilinganisha hili na chaguo zingine zinazojiendesha zenyewe kwanza? Tazama Mwongozo wa Uhalisia wa Xray VLESS kwa mbadala unaotegemea TLS-camouflage, Mwongozo wa Usambazaji wa Seva ya AmneziaWG kwa chaguo linalotegemea WireGuard, au usanidi wa Hysteria2 na TUIC kwa itifaki zingine mbili za kisasa za proksi.

Kuunganisha kwenye Seva

Windows (PuTTY)

Fungua PuTTY, ingiza anwani yako ya IP ya VPS katika sehemu ya Jina la Mpangishi, weka mlango wa kuingia kwenye 22, na uingie kama mzizi kwa kutumia nenosiri ambalo mtoa huduma wako wa VPS alikutumia barua pepe.

Anwani ya IP ya seva: anwani yako ya IP

ingia kama: mzizi

Nenosiri: nenosiri lako

Kwa maelezo ya kina kuhusu kuunganisha kupitia PuTTY/SSH, tazama Jinsi ya kuunganisha kwenye seva ya Linux kupitia SSH.

Usanidi wa kipindi cha PuTTY kwa ufikiaji wa SSH. Kituo cha PuTTY SSH baada ya kuunganishwa kwenye VPS. Kuingia kwa SSH kwa VPS kumefanikiwa.

Linux / macOS (kifaa cha mwisho)

ssh root@your_IP_address

Amri zote zilizo hapa chini zinaendeshwa kwenye seva, katika kipindi hiki hicho cha SSH — kinachoshughulikia Sehemu ya 2 hadi 7, pamoja na ukaguzi wa upande wa seva katika Sehemu ya 13. Sehemu ya 8–12 (kusakinisha na kusanidi programu za mteja) hufanyika kwenye kifaa chako cha Windows/macOS/Linux/Android/iOS badala yake, kwa kuwa hicho ndicho kifaa ambacho seva mbadala inahitaji kuendesha; kila moja ya sehemu hizo inasema wazi ni mistari gani, ikiwa ipo, bado inagusa seva.

Kuandaa Seva

Sasisha mfumo

Kabla ya kusakinisha chochote, onyesha upya orodha ya vifurushi na uboreshe vifurushi vilivyosakinishwa:

apt update -y && apt upgrade -y
Amri inayotumika kusasisha vifurushi vilivyosakinishwa. Matokeo ya uboreshaji wa kifurushi. Arifa ya uboreshaji wa kernel inaonyeshwa wakati wa uboreshaji wa kifurushi Kidokezo cha kuanzisha upya huduma kinaonyeshwa wakati wa uboreshaji wa kifurushi.

Ikiwa hii itaboresha kiini, ni vyema kuwasha upya kabla ya kuendelea. (Kwa maelezo zaidi kuhusu apt na jinsi wasimamizi wa vifurushi vya Linux wanavyofanya kazi, angalia Wasimamizi wa Vifurushi vya Linux .) Angalia na:

cat /var/run/reboot-required
Amri inayotumika kuangalia kama kuwasha upya kunahitajika. Matokeo ya ukaguzi unaohitajika kuwasha upya.

Ikiwa faili ipo, washa upya kwanza kwa kutumia 'reboot', subiri ~ sekunde 30, kisha uunganishe tena.

Sakinisha zana ambazo mwongozo huu hutumia

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

curl/wget na tar/xz-utils zinahitajika ili kuleta na kufungua kumbukumbu ya kutolewa kwa shadowsocks-rust; ufw ni ngome iliyosanidiwa hapa chini; qrencode hubadilisha kiungo cha mteja kilichokamilika kuwa msimbo wa QR unaoweza kuchanganuliwa katika Sehemu ya 7.

Amri inayotumika kusakinisha huduma zinazohitajika za seva.

Sanidi ngome (UFW)

Kwa maelezo zaidi kuhusu sheria za UFW, angalia Kusanidi Firewall kwenye Linux.

Fungua milango miwili utakayohitaji: 22/tcp kwa SSH (ruka sheria hii na una hatari ya kupoteza ufikiaji wa seva) na 8388, tcp na udp — Shadowsocks proksi zote mbili miunganisho ya TCP na miunganisho ya UDP (muhimu kwa DNS na baadhi ya michezo/programu), kwa hivyo pande zote mbili za mlango lazima ziwe wazi.

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

Sheria zote tatu zinapaswa kuonekana kama ALLOW katika matokeo ya hali ya ufw. Ukibadilisha mlango baadaye katika config.json, sasisha sheria hizi ili zilingane.

Hali ya UFW inayoonyesha sheria za SSH na Shadowsocks zilizosanidiwa.

Kusakinisha Programu ya Seva

Chagua moja kati ya chaguo mbili zilizo hapa chini. Chaguo A (shadowsocks-rust) linapendekezwa: ni utekelezaji ulioendelezwa kikamilifu na unaunga mkono misimbo ya kisasa ya AEAD-2022 inayotumika baadaye katika mwongozo huu. Chaguo B (shadowsocks-libev) ni chaguo zuri ikiwa ungependelea kutumia kifurushi cha kawaida cha apt chenye kitengo cha mfumo kilichotengenezwa tayari na huhitaji AEAD-2022.

Chaguo A — shadowsocks-rust (inapendekezwa)

Shadowsocks-rust haisafirishi kifurushi cha apt chenye matoleo ya sasa, kwa hivyo imewekwa kwa kupakua faili ya binary tuli iliyojengwa tayari kutoka kwa matoleo ya GitHub ya mradi. Pakua lebo ya toleo jipya zaidi kutoka kwa API ya GitHub na upakue kumbukumbu inayolingana ya Linux x86_64:

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"
Amri iliyotumika kupakua kumbukumbu ya kutolewa kwa shadowsocks-rust.

Ikiwa VPS yako ni arm64 badala ya x86_64 (angalia kwa `uname -m`), badilisha x86_64-unknown-linux-gnu na aarch64-unknown-linux-gnu katika jina la faili hapo juu.

Toa kumbukumbu na usakinishe faili za mfumo wa jozi kote:

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
Amri inayotumika kutoa na kusakinisha jozi za shadowsocks-rust.

Thibitisha kwamba mfumo wa binary upo na uangalie toleo lililosakinishwa:

ssserver --version
Toleo la seva ya ssserver limewekwa.

Unda saraka ambayo faili ya usanidi itaishi ndani yake:

mkdir -p /etc/shadowsocks-rust
Uundaji wa saraka ya usanidi wa shadowsocks-rust.

Mwongozo huu husakinisha toleo lililowekwa badala ya kuingiza hati ya usakinishaji kwenye bash. Ili kusasisha baadaye, endesha tena amri mbili zilizo hapo juu kwa utafutaji mpya wa SS_VER, simamisha huduma, badilisha nambari ya binary, na uianzishe upya (Sehemu ya 6).

Chaguo B — shadowsocks-libev (mbadala, kifurushi kinachofaa)

Shadowsocks-libev imejumuishwa katika hazina ya ulimwengu ya Ubuntu (Ubuntu 16.10+) na hazina kuu ya Debian (Debian 8+), kwa hivyo hakuna PPA ya mtu wa tatu inayohitajika kwenye 22.04/24.04 au Debian 11/12:

apt install -y shadowsocks-libev
Amri iliyotumika kusakinisha shadowsocks-libev kutoka kwenye hazina ya kifurushi.

Ikiwa apt inaripoti kwamba kifurushi hakipatikani, hazina ya universe imezimwa; iwezeshe na ujaribu tena:

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

Kifurushi husakinisha vitengo vyake vya mfumo (shadowsocks-libev.service kwa usanidi chaguo-msingi, pamoja na [email protected] kwa usanidi wa per-instance uliopewa jina) na huunda /etc/shadowsocks-libev/config.json kiotomatiki — Sehemu ya 4–6 hubainisha amri na njia za faili mahususi za libev pamoja na zile za kutu. Sehemu zingine za mteja wa mwongozo huu (7–13) zinatumika sawa kwa utekelezaji wa seva yoyote, kwani zote zinazungumza itifaki sawa ya Shadowsocks/SIP002 kwenye waya.

Kutengeneza Nenosiri na Kuchagua Cipher

Uthibitishaji wa Shadowsocks ni nenosiri moja linaloshirikiwa pamoja na njia ya usimbaji fiche (njia ya usimbaji fiche) ambayo pande zote mbili lazima zikubaliane — hakuna UUID tofauti, jozi ya vitufe, au cheti cha kudhibiti.

Familia za Cipher

  • AEAD-2022 (inapendekezwa, shadowsocks-rust pekee): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305. Muundo mpya zaidi (SIP022) wenye ulinzi mkali wa marudio na usaidizi kwa watumiaji wengi wanaoshiriki mlango mmoja. Nenosiri lazima liwe mfuatano wa msingi64 wa urefu wa ufunguo wa cipher (baiti 16 kwa tofauti za biti 128, baiti 32 kwa tofauti ya biti 256).
  • AEAD ya Kawaida (inayoungwa mkono na kutu na libev): aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305. Inaoana sana na wateja wakubwa na shadowsocks-libev; nenosiri linaweza kuwa nenosiri lolote, kwa kuwa linatumiwa kupitia kitendakazi cha uondoaji wa ufunguo badala ya kutumika moja kwa moja kama nyenzo muhimu.

Mwongozo huu unatumia 2022-blake3-aes-256-gcm kwa seva ya shadowsocks-rust, kwa kuwa ndiyo chaguo kali zaidi na la sasa na kila mteja anayependekezwa baadaye (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) anaiunga mkono. Ikiwa umesakinisha shadowsocks-libev katika Sehemu ya 3, tumia chacha20-ietf-poly1305 au aes-256-gcm badala yake, kwa kuwa libev haitekelezi AEAD-2022.

Tengeneza ufunguo (shadowsocks-rust)

ssservice genkey -m "2022-blake3-aes-256-gcm"
Amri inayotumika kutengeneza kaulisiri isiyo rasmi kwa shadowsocks-libev.

Hii huchapisha mfuatano wa msingi64 — hiyo ni nenosiri lako. Linakili mahali salama; utaibandika katika usanidi wa seva katika Sehemu ya 5 na kiungo cha mteja katika Sehemu ya 7.

Nenosiri la nasibu lililotengenezwa.

Chagua kaulisiri (shadowsocks-libev)

Kwa siphers za kawaida za AEAD zinazotumiwa na shadowsocks-libev, kamba yoyote ya nasibu ndefu ya kutosha hufanya kazi, kwa kuwa inapitia PBKDF/HKDF badala ya kutumika kama ufunguo mbichi. Tengeneza moja kwa kutumia:

openssl rand -base64 32

Kuandika Usanidi wa Seva

Soksi za kivuli-kutu

Fungua faili ya usanidi kwa ajili ya kuhariri:

nano /etc/shadowsocks-rust/config.json

Bandika kiolezo kilicho hapa chini, ukibadilisha nenosiri lako mwenyewe kutoka Sehemu ya 4 (na mlango kutoka Sehemu ya 2, ikiwa ulilibadilisha kutoka 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
}

Bonyeza Ctrl+O (WriteOut) ili kuhifadhi faili, Enter ili kuthibitisha jina la faili, kisha Ctrl+X ili kutoka nano.

Sehemu muhimu: seva husikiliza kwenye violesura vyote (0.0.0.0); bandari_ya_seva ni mlango uliofunguliwa katika Sehemu ya 2; nenosiri/njia ni sifa na msimbo kutoka Sehemu ya 4; hali huwezesha uwasilishaji wa TCP na UDP; muda wa kuisha ni muda wa kuisha kwa muunganisho usio na shughuli kwa sekunde; faili ya nofaili huongeza kikomo cha maelezo ya faili kwa seva zenye shughuli nyingi.

Thibitisha JSON na kwamba binary inakubali kabla ya kuiunganisha kwenye mfumo:

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"

Unda kitengo cha mfumo (shadowsocks-rust)

Toleo la binary halisafirishi kitengo cha mfumo, kwa hivyo tengeneza kimoja:

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

Hifadhi na utoke kama ilivyo hapo juu, kisha mwambie systemd achukue faili mpya ya kitengo:

systemctl daemon-reload

Shadowsocks-libev

Kifurushi cha apt tayari kimeunda /etc/shadowsocks-libev/config.json chenye usanidi chaguo-msingi (wa nenosiri la kawaida, linalorudi nyuma pekee) na kitengo chake cha mfumo. Kifungue kwa ajili ya kuhariri:

Amri inayotumika kufungua faili ya usanidi wa shadowsocks-libev.
nano /etc/shadowsocks-libev/config.json

Badilisha yaliyomo na:

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

Usanidi chaguo-msingi hutumia seva: ["::1", "127.0.0.1"] (kurudi nyuma pekee); kuibadilisha kuwa "0.0.0.0" ndiko kunakofanya seva ipatikane kutoka kwa IP ya umma — usiache hii ikiwa ulinakili faili ya hisa badala ya kiolezo kilicho hapo juu.

Kuanzisha Huduma na Kuwezesha Kuanzisha Kiotomatiki

Soksi za kivuli-kutu

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

Hali inapaswa kuonyesha kuwa inafanya kazi (inaendeshwa). Thibitisha kuwa kuna kitu kinachosikika kwenye mlango (itifaki zote mbili):

Seva inasikiliza kwenye lango la TCP na UDP 8388.
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'

Ikiwa huduma itashindwa kuanza, njia ya haraka zaidi ya kuona ni kwa nini ni jarida la mfumo (kwa usuli wa kusoma kumbukumbu za Linux kwa ujumla, tazama Jinsi ya kusoma kumbukumbu za Linux na wapi pa kuzipata ):

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

Shadowsocks-libev

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

Angalia lango na kumbukumbu kwa njia ile ile kama ya shadowsocks-rust, ukibadilisha jina la huduma:

Amri zinazotumika kuanzisha upya, kuwezesha, na kukagua huduma ya shadowsocks-libev. Hali ya huduma ya Shadowsocks-libev inayoonyesha kuwa inafanya kazi (inaendeshwa).
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager

Kuunda Kiungo cha Muunganisho wa Mteja

Wateja wa Shadowsocks huingiza kiungo kimoja cha kushiriki cha ss:// (umbizo la URL ya SIP002) badala ya faili ya usanidi. Kiungo husimba msimbo wa siri na nenosiri kama base64 katika sehemu ya maelezo ya mtumiaji ya URL:

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

Jenga sehemu ya base64 kwenye seva (hii huepuka makosa yoyote ya kuandika kutoka kwa usimbaji wa mkono):

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"

Mfano wa matokeo (yenye ufunguo wa kishikilia nafasi):

Mfano wa kiungo cha muunganisho kilichozalishwa cha ss:// (kielelezo).
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server

Maandishi baada ya # ni lebo ya kuonyesha tu ambayo unaweza kubadilisha jina kwa uhuru katika mteja yeyote. Kwa seva ya shadowsocks-libev, badilisha METHOD="chacha20-ietf-poly1305" (au aes-256-gcm) na kauli yake ya siri kutoka Sehemu ya 4 badala yake. 

Ibadilishe kuwa msimbo wa QR ili wateja wa simu waweze kuchanganua moja kwa moja:

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

Nakili PNG kwenye kompyuta yako mwenyewe ukitumia scp, endesha kutoka kwa terminal ya kompyuta yako (au PowerShell kwenye Windows), sio seva:

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

Inaunganisha kutoka Windows

Kila kitu katika sehemu hii hutokea kwenye PC yako ya Windows, si kupitia SSH — mteja lazima aendeshe kwenye kifaa ambacho kitatumia proksi.

Sakinisha v2rayN

v2rayN ni mteja wa GUI wa bure na anayedumishwa kikamilifu mwenye usaidizi wa Shadowsocks asilia pamoja na VLESS, VMess, Trojan, na wengine. Pakua toleo jipya zaidi kutoka ukurasa wa mradi.

Chukua kipengee cha .zip cha Windows cha biti 64 (kifaa kilichojitegemea hakihitaji muda tofauti wa uendeshaji wa .NET kama matoleo ya hivi karibuni ya v2rayN), kitoe popote, na uendesha v2rayN.exe.

Ingiza seva

Nakili kiungo cha ss:// kilichojengwa katika Sehemu ya 7 kwenye ubao wako wa kunakili (au nakili QR PNG na scp na uifungue), kisha katika v2rayN chagua Seva → Ingiza URL ya wingi kutoka kwenye ubao wa kunakili (au changanua msimbo wa QR kupitia kitambazi kilichojengewa ndani). Wasifu mpya wa seva unaonekana kwenye orodha yenye lebo uliyoweka baada ya #.

Bofya kulia kwenye wasifu na uchague kama unaofanya kazi, kisha uwashe proksi ya mfumo (au hali ya TUN, kwa ajili ya kuelekeza mashine nzima) kutoka kwenye upau wa vidhibiti wa dirisha kuu.

Inaunganisha kutoka kwa macOS

Kila kitu katika sehemu hii hutokea kwenye Mac yako, si kupitia SSH.

Sakinisha ShadowsocksX-NG

ShadowsocksX-NG ni kiteja cha muda mrefu cha programu asilia ya macOS GUI kwa Shadowsocks; toleo la sasa la programu husafirisha toleo asilia la Apple Silicon pamoja na Intel. Pakua .dmg mpya zaidi kutoka ukurasa wa matoleo.

Fungua .dmg na uburute ShadowsocksX-NG kwenye Programu, kisha uzindue — inaonekana kama aikoni kwenye upau wa menyu.

 

Ingiza seva

Nakili kiungo cha ss:// kutoka Sehemu ya 7 hadi kwenye ubao wako wa kunakili, kisha bofya aikoni ya menyu-upau → Seva → Mapendeleo ya Seva → + chini kushoto, na uchague "Ingiza Kutoka Ubao wa Kuweka" (au changanua msimbo wa QR ukitumia "Changanua Msimbo wa QR Kutoka Skrini" baada ya kufungua PNG). Chagua wasifu mpya kutoka kwenye menyu kunjuzi, kisha badilisha "Shadowsocks: Imewashwa" na uchague hali ya uelekezaji ya "PAC Auto" au "Global" kutoka kwenye menyu hiyo hiyo.

Kuunganisha kutoka kwa Kompyuta ya Linux

Kila kitu katika sehemu hii hutokea kwenye mashine yako ya Linux, si VPS.

Sakinisha mteja wa karibu

Ikiwa uliweka shadowsocks-rust kwenye seva katika Sehemu ya 3, kumbukumbu hiyo hiyo ya kutolewa ina sslocal, mteja wa proksi wa ndani wa SOCKS5/HTTP. Pakua na usakinishe kwa njia sawa na seva ya binary (rekebisha kiambishi tamati cha OS/arch kwa eneo-kazi lako ikiwa si 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/

Sanidi na uendesha

Unda usanidi mdogo wa ndani unaosikiliza kwenye 127.0.0.1:1080 kama proksi ya 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

Elekeza kivinjari chako au mipangilio ya mtandao wa mfumo kwenye proksi ya SOCKS5 kwenye 127.0.0.1:1080. Kwa GUI, uma za mtindo wa Nekoray au ShadowsocksX-Qt5 zinaweza kuingiza kiungo sawa cha ss:// kutoka Sehemu ya 7 na kudhibiti sslocal kwako badala ya kuiendesha kwa mkono.

Inaunganisha kutoka Android

Kila kitu hapa hutokea kwenye kifaa chako cha Android, si kupitia SSH.

Sakinisha mteja

Chaguzi mbili nzuri:

  • Shadowsocks kwa Android — mteja rasmi kutoka shirika la shadowsocks. Isakinishe kutoka Google Play (tafuta "Shadowsocks"), au pakua APK moja kwa moja kutoka ukurasa wa matoleo ya mradi ikiwa Play haipatikani kwenye kompyuta yako. Kanda.
  • v2rayNG — mwenzake wa Android na v2rayN, inayounga mkono Shadowsocks pamoja na VLESS/VMess/Trojan; muhimu ikiwa unataka programu moja kwa itifaki nyingi aina.

Ingiza seva

Katika programu yoyote: gusa kitufe cha +, chagua "Ingiza kutoka kwenye ubao wa kunakili" baada ya kunakili kiungo cha ss:// kutoka Sehemu ya 7, au "Changanua msimbo wa QR" na uelekeze kamera kwenye PNG. Gusa wasifu ulioingizwa ili kuuchagua, kisha gusa kitufe cha kuunganisha. Android itaomba ruhusa ya VPN mara ya kwanza — kuidhinisha ili kuanzisha handaki. 

Inaunganisha kutoka iOS

Kila kitu hapa hutokea kwenye iPhone au iPad yako, si kupitia SSH.

Sakinisha mteja anayeweza kutumia Shadowsocks

Shadowrocket ndiyo mteja wa iOS anayetumika sana kwa usaidizi wa Shadowsocks; ni programu inayolipishwa katika maduka mengi. Itafute kwenye Duka la Programu, au fungua.

Streisand ni mbadala wa bure na huria ambao pia unaunga mkono Shadowsocks pamoja na VLESS, Trojan, na itifaki zingine.

Katalogi za Duka la Programu hutofautiana kulingana na duka/eneo na zinaweza kubadilika baada ya muda; ikiwa hakuna inayoonekana katika Duka lako, tafuta "Shadowsocks" au "V2Box" katika Duka la Programu.

Ingiza seva

Nakili kiungo cha ss:// kwenye ubao wako wa kunakili, fungua mteja, na utumie chaguo lake la Ongeza/Ingiza kutoka kwenye ubao wa kunakili, au changanua msimbo wa QR kutoka Sehemu ya 7 ukitumia kichanganuzi kilichojengewa ndani cha mteja. Washa wasifu mpya; iOS itakuomba ruhusa ya usanidi wa VPN mara ya kwanza, ambayo utahitaji kuidhinisha kupitia Kitambulisho cha Uso, Kitambulisho cha Kugusa, au nambari yako ya siri.

Inathibitisha Muunganisho

Kwa handaki inayotumika kutoka Sehemu ya 8, 9, 10, 11, au 12, rudi kwenye kifaa chako mwenyewe (sio kipindi cha SSH) na ufungue kikagua chochote cha "IP yangu ni nini" kwenye kivinjari — anwani iliyoonyeshwa inapaswa kufanana na anwani ya IP ya VPS yako, anwani_ya_IP_yako.

Ili kuthibitisha kutoka upande wa seva badala yake, angalia jarida la mfumo kwa shughuli za muunganisho na uthibitishe vipindi vilivyoanzishwa kwenye mlango (tumia ssserver kwa jarida la kutu, au shadowsocks-libev kwa jarida la libev):

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

Reference:

Shamba

Thamani

Anwani

Anwani ya IP ya umma ya VPS yako

Port

8388 (mlango uleule ulifunguliwa katika Sehemu ya 2)

Neno Siri

ufunguo/nenosiri lililozalishwa katika Sehemu ya 4

Method

2022-blake3-aes-256-gcm (kutu) au chacha20-ietf-poly1305 (libev) — lazima ilingane kabisa pande zote mbili

mode

tcp_and_udp — huwezesha uundaji wa TCP na uwasilishaji wa UDP (DNS, baadhi ya michezo)

Chomeka

hakuna kilichotumika katika mwongozo huu — Shadowsocks haihitaji SNI, cheti, au programu-jalizi ya usafiri ili kufanya kazi

Hitimisho

Kufuatia mwongozo huu huacha VPS yako ikiendesha seva yake ya Shadowsocks — ama shadowsocks-rust yenye mfumo wa kisasa wa AEAD-2022, au shadowsocks-libev kutoka hazina ya Ubuntu/Debian — kama huduma ya mfumo ambayo husalia kuwashwa upya bila hatua yoyote kutoka kwako.

Kuongeza watumiaji zaidi:

  • Rahisi zaidi: tengeneza nenosiri la pili (Sehemu ya 4) na uendesha mfano wa pili wa ssserver/shadowsocks-libev kwenye mlango tofauti wenye faili yake ya usanidi na kitengo cha mfumo, kisha rudia Sehemu ya 5–7 kwa mlango huo.
  • shadowsocks-rust yenye cipher ya AEAD-2022 pia inasaidia watumiaji wengi wanaoshiriki mlango mmoja na ufunguo wa uondoaji wa nenosiri kupitia safu ya "watumiaji" katika config.json (Vichwa vya Utambulisho Vinavyopanuliwa, SIP022) — tazama sehemu ya Usanidi wa shadowsocks-rust README kwa sintaksia halisi ikiwa unahitaji uhasibu wa trafiki kwa kila mtumiaji kwenye mlango mmoja.

Tabia chache zinazofaa kuzingatiwa mara tu seva inapoanza kufanya kazi:

  • Weka seva ikiwa imesasishwa. Kwa shadowsocks-rust, endesha tena hatua za kupakua na kusakinisha mara kwa mara kutoka Sehemu ya 3 kwa kutafuta toleo jipya, kisha anzisha upya systemctl ssserver. Kwa shadowsocks-libev, uboreshaji wa apt wazi huifunika.
  • Hifadhi nakala rudufu ya config.json mahali fulani pa faragha nje ya seva. Inahifadhi nenosiri la kila mteja; kuipoteza kunamaanisha kurejesha sifa za kila kifaa.
  • Zungusha nenosiri ikiwa kifaa kimepotea au mteja ameathiriwa: tengeneza kipya (Sehemu ya 4), sasisha config.json, anzisha upya huduma, na ujenge upya kiungo cha mteja (Sehemu ya 7) kwa kila kifaa kilichobaki.

Ikiwa muunganisho hautatokea, angalia kwa mpangilio:

  • hali ya huduma (hali ya systemctl ssserver --no-pager, au shadowsocks-libev) na jarida (journalctl -us ssserver -n 50 --no-pager)
  • sheria za ngome (hali ya ufw - mlango lazima uwe wazi kwa tcp na udp)
  • kwamba mlango haujafungwa tayari na huduma nyingine (ss -lntp | grep ':8388' ​​inapaswa kuonyesha ssserver/ss-server pekee)
  • kwamba nenosiri, mbinu, na mlango katika mteja vinalingana kikamilifu na config.json — herufi moja isiyolingana inashindwa kushikana mikono kimya kimya, kwa kawaida huonyeshwa kama muda wa muunganisho kuisha badala ya hitilafu dhahiri
  • Hali hiyo imewekwa kuwa tcp_and_udp kwenye seva ikiwa mteja anahitaji UDP (DNS-over-proxy, baadhi ya michezo/programu) na si tcp_only pekee

Je, unalinganisha Shadowsocks na chaguo zingine? Tazama Mwongozo wa Ukweli wa Xray VLESS kwa itifaki inayotegemea TLS-camouflage ambayo ni vigumu kuitambua kwenye mtandao uliochujwa sana, Mwongozo wa Utekelezaji wa Seva ya AmneziaWG na Jinsi ya kusanidi Wireguard VPN kwenye seva yako kwa mbadala zinazotegemea WireGuard, au usanidi wa Hysteria2 na TUIC kwa itifaki mbili zilizojengwa kwa mitandao yenye hasara au iliyochujwa sana. Ikiwa unahitaji tu proksi rahisi badala ya usanidi kamili wa handaki, usanidi wa 3proxy kwenye CentOS/ArchLinux ni mbadala mwepesi zaidi, na usanidi wa zamani wa seva ya VPN kwenye Linux: PPTP au OpenVPN? hushughulikia itifaki ambazo ni rahisi kusanidi lakini ni rahisi zaidi kwa DPI kugundua na kuzuia. Kwa uimarishaji wa jumla wa seva mara tu proksi itakapokuwa hai, tazama Watumiaji wa Linux: Usimamizi na Ruhusa.

❮ Makala iliyotangulia Mwongozo wa Ukweli wa Xray VLESS: VPS, Windows, Mac, Android, iPhone
Makala yanayofuata ❯ VMmanager 6 Tukio la Usalama: Kilichotokea na Cha Kufanya

Tuulize kuhusu VPS

Daima tuko tayari kujibu maswali yako wakati wowote wa mchana au usiku.