Knowledgebase Profitserver ծառայության հետ աշխատելու պարզ հրահանգներ
Հիմնական Knowledgebase Shadowsocks ուղեցույց (shadowsocks-rust / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone

Shadowsocks ուղեցույց (shadowsocks-rust / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone


Shadowsocks-ը թեթև, SOCKS5-ի վրա հիմնված կոդավորված պրոքսի արձանագրություն է, որը սկզբնապես նախատեսված էր սովորական ցանցերում երթևեկության ձևավորման և արգելափակման շրջանցման համար: Ի տարբերություն լիարժեք VPN-ի, այն պրոքսի է ուղարկում միայն այն երթևեկությունը, որը ծրագիրը բացահայտորեն ուղարկում է դրան, գրեթե չունի արձանագրության վրա ծախսված ժամանակ և լավ է աշխատում նույնիսկ սահմանափակված կապերի վրա: Այն չի փորձում ընդօրինակել իրական TLS ձեռքսեղմումը այնպես, ինչպես դա անում է VLESS+Reality-ն. դրա ուժեղ կողմը պարզությունն է, լայն հաճախորդների աջակցությունը (ռաութերներ, հեռախոսներ, զննարկիչներ) և շատ ցածր լատենտությունը, չնայած այն հանգամանքին, որ այն որոշ չափով ավելի հեշտ է մատնահետք դնել երթևեկության ձևաչափով խիստ ստուգված ցանցում:

Կան երկու ակտիվորեն սպասարկվող սերվերի իրականացումներ՝

  • shadowsocks-rust — shadowsocks կազմակերպության ժամանակակից հղման իրականացումը, գրված Rust լեզվով։ Այն աջակցում է AEAD-2022 գաղտնագրերի ավելի նոր ընտանիքին, ակտիվորեն մշակվում է և այս ուղեցույցը մանրամասն տեղադրում և կարգավորում է այն իրականացումը։
  • shadowsocks-libev — C-ի ավելի հին իրականացումը։ Այն դեռևս պահպանվում է սխալների շտկման համար, առաքվում է որպես պատրաստի apt փաթեթ՝ իր սեփական systemd միավորներով, և լավ ընտրություն է, եթե ցանկանում եք ամենապարզ տեղադրումը՝ առանց ձեռքով երկուական ֆայլերի մշակման։ Այս ուղեցույցը այն ներկայացնում է որպես այլընտրանքային տեղադրման ուղի 3-րդ բաժնում։

Այս ուղեցույցը նկարագրում է, թե ինչպես ձեռքով կարգավորել սերվերը հրամանի տողի միջոցով՝ առանց վեբ վահանակի կամ Docker-ի օգտագործման: Որտեղ էլ որ հայտնվի «IP հասցե» դաշտը, այն փոխարինեք ձեր VPS-ի իրական IP հասցեով:

Ձեզ անհրաժեշտ է՝ Ubuntu 22.04/24.04 կամ Debian 11/12 օպերացիոն համակարգերով աշխատող VPS, root մուտք, ձեր VPS-ի IP հասցեն և անվճար UDP/TCP միացք (այս ուղեցույցն օգտագործում է 8388-ը՝ Shadowsocks-ի լռելյայն տարբերակը):

Դեռ սերվեր չունե՞ք։ Տեսեք, թե ինչպես պատվիրել սերվեր և վճարել դրա համար ։

Նախ համեմատո՞ւմ եք սա այլ ինքնահոսթինգի տարբերակների հետ։ TLS-քողարկման վրա հիմնված այլընտրանքի համար տե՛ս Xray VLESS Reality Guide-ը , WireGuard-ի վրա հիմնված տարբերակի համար՝ AmneziaWG Server Deployment Guide-ը , կամ երկու այլ ժամանակակից պրոքսի արձանագրությունների համար՝ Hysteria2-ը և TUIC կարգավորումը ։

Բովանդակություն
Փոքրացնել

Միացում սերվերին

Windows (PuTTY)

Բացեք PuTTY-ն, մուտքագրեք ձեր VPS IP հասցեն Host Name դաշտում, սահմանեք պորտը 22-ի վրա և մուտք գործեք որպես root՝ օգտագործելով ձեր VPS մատակարարի կողմից ձեզ ուղարկված գաղտնաբառը։

Սերվերի IP հասցե՝ ձեր IP հասցեն

մուտք գործել որպես՝ root

Գաղտնաբառ՝ ձեր գաղտնաբառը

PuTTY/SSH-ի միջոցով միանալու մանրամասն ուղեցույցի համար տե՛ս «Ինչպես միանալ Linux սերվերին SSH-ի միջոցով» բաժինը ։

PuTTY սեսիայի կարգավորում SSH մուտքի համար։ PuTTY SSH տերմինալը VPS-ին միանալուց հետո։ Հաջող SSH մուտք VPS։

Linux / macOS (տերմինալ)

ssh root@your_IP_address

Ստորև նշված բոլոր հրամանները կատարվում են սերվերի վրա՝ այս նույն SSH սեսիայում, որը ներառում է 2-ից 7 բաժինները, գումարած 13-րդ բաժնում սերվերի կողմից ստուգումները: 8-12 բաժինները (հաճախորդի հավելվածների տեղադրում և կարգավորում) տեղի են ունենում ձեր սեփական Windows/macOS/Linux/Android/iOS սարքի վրա, քանի որ դա այն սարքն է, որի վրա պետք է աշխատի պրոքսին. այդ բաժիններից յուրաքանչյուրը հստակ նշում է, թե որ տողերը, եթե կան, դեռևս շփվում են սերվերի հետ:

Սպասարկիչի պատրաստում

Թարմացրեք համակարգը

Նախքան որևէ բան տեղադրելը, թարմացրեք փաթեթների ցանկը և թարմացրեք տեղադրված փաթեթները։

apt update -y && apt upgrade -y
Հրամանը օգտագործվում է տեղադրված փաթեթները թարմացնելու համար։ Փաթեթի թարմացման արդյունքը։ Փաթեթի թարմացման ժամանակ ցուցադրվում է միջուկի թարմացման ծանուցում Փաթեթի թարմացման ժամանակ ցուցադրվում է ծառայությունների վերագործարկման հուշում։

Եթե ​​սա թարմացնում է միջուկը, շարունակելուց առաջ լավ միտք է վերագործարկել սարքը։ (apt-ի և Linux փաթեթների կառավարիչների աշխատանքի վերաբերյալ թարմացման համար տե՛ս Linux փաթեթների կառավարիչներ ): Ստուգեք՝

cat /var/run/reboot-required
Հրամանը օգտագործվում է վերագործարկման անհրաժեշտությունը ստուգելու համար։ Վերագործարկման համար անհրաժեշտ ստուգման արդյունքը։

Եթե ​​ֆայլը գոյություն ունի, նախ վերագործարկեք «վերագործարկում» կոճակով, սպասեք մոտ 30 վայրկյան, ապա վերամիացեք։

Տեղադրեք այս ուղեցույցում օգտագործվող գործիքները

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

shadowsocks-rust թողարկման արխիվը ստանալու և բացելու համար անհրաժեշտ են curl/wget և tar/xz-utils հրամանները։ ufw-ն ստորև կարգավորված firewall-ն է։ qrencode-ը պատրաստի հաճախորդի հղումը վերածում է սկանավորվող QR կոդի՝ 7-րդ բաժնում։

Հրամանը օգտագործվում է անհրաժեշտ սերվերի կոմունալ ծառայությունները տեղադրելու համար։

Կարգավորեք firewall-ը (UFW)

UFW կանոնների մասին ավելին իմանալու համար տե՛ս Linux-ում Firewall-ի կարգավորումը ։

Բացեք ձեզ անհրաժեշտ երկու միացքները՝ 22/tcp SSH-ի համար (եթե բաց թողնեք այս կանոնը, կարող եք կորցնել սերվերին մուտքը) և 8388, և՛ tcp-ն, և՛ udp-ն։ Shadowsocks-ը պրոքսի է անում և՛ TCP կապերի, և՛ UDP ասոցիացիաների համար (օգտակար է DNS-ի և որոշ խաղերի/հավելվածների համար), ուստի միացքի երկու ուղղություններն էլ պետք է բաց լինեն։

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

ufw կարգավիճակի արտածման մեջ երեք կանոններն էլ պետք է ցուցադրվեն որպես ALLOW: Եթե հետագայում փոխեք config.json ֆայլում պորտը, թարմացրեք այս կանոնները՝ համապատասխանեցնելու համար:

UFW կարգավիճակը, որը ցույց է տալիս կարգավորված SSH և Shadowsocks կանոնները։

Սերվերի ծրագրաշարի տեղադրում

Ընտրեք ստորև նշված երկու տարբերակներից մեկը։ Առաջարկվում է Ա տարբերակը (shadowsocks-rust). այն ակտիվորեն մշակված իրականացում է և աջակցում է ժամանակակից AEAD-2022 գաղտնագրերին, որոնք կօգտագործվեն այս ուղեցույցում ավելի ուշ։ Բ տարբերակը (shadowsocks-libev) լավ ընտրություն է, եթե նախընտրում եք օգտագործել պարզ apt փաթեթ՝ պատրաստի համակարգային միավորով և ձեզ AEAD-2022 պետք չէ։

Տարբերակ Ա — shadowsocks-rust (խորհուրդ է տրվում)

Shadowsocks-rust-ը չի մատակարարում apt փաթեթ ընթացիկ թողարկումների հետ, ուստի այն տեղադրվում է նախագծի GitHub թողարկումներից նախապես կառուցված ստատիկ բինար ֆայլը ներբեռնելով: Վերցրեք վերջին թողարկման թեգը GitHub API-ից և ներբեռնեք համապատասխան 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"
Shadowsocks-rust թողարկման արխիվը ներբեռնելու համար օգտագործված հրամանը։

Եթե ​​ձեր VPS-ը arm64 է x86_64-ի փոխարեն (ստուգեք `uname -m`-ով), վերևում գտնվող ֆայլի անվան մեջ x86_64-unknown-linux-gnu-ն փոխարինեք aarch64-unknown-linux-gnu-ով։

Արխիվը արդյունահանեք և համակարգային եղանակով տեղադրեք երկուական ֆայլերը՝

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
Հրամանը օգտագործվում է shadowsocks-rust բինար ֆայլերը հանելու և տեղադրելու համար։

Ստուգեք, որ բինար ֆայլը տեղում է և ստուգեք տեղադրված տարբերակը՝

ssserver --version
Տեղադրված է ssserver տարբերակը։

Ստեղծեք այն գրացուցակը, որտեղ կտեղավորվի կարգավորման ֆայլը՝

mkdir -p /etc/shadowsocks-rust
shadowsocks-rust կոնֆիգուրացիայի տեղեկատուի ստեղծում։

Այս ուղեցույցը տեղադրում է ֆիքսված տարբերակ, այլ ոչ թե bash-ում տեղադրում է տեղադրողի սկրիպտ։ Հետագայում թարմացնելու համար վերագործարկեք վերը նշված երկու հրամանները՝ նոր SS_VER որոնմամբ, դադարեցրեք ծառայությունը, փոխարինեք բինար ֆայլը և վերագործարկեք այն (Բաժին 6):

Տարբերակ B — shadowsocks-libev (այլընտրանքային, apt փաթեթ)

Shadowsocks-libev-ը ներառված է Ubuntu-ի տիեզերքի պահոցում (Ubuntu 16.10+) և Debian-ի գլխավոր պահոցում (Debian 8+), ուստի 22.04/24.04 կամ Debian 11/12 տարբերակներում երրորդ կողմի PPA անհրաժեշտ չէ։

apt install -y shadowsocks-libev
Հրամանը օգտագործվել է shadowsocks-libev-ը փաթեթի պահոցից տեղադրելու համար։

Եթե ​​apt-ը հայտնում է, որ փաթեթը չի գտնվել, universe repository-ն անջատված է։ Միացրեք այն և կրկին փորձեք։

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

Փաթեթը տեղադրում է իր սեփական systemd միավորները (shadowsocks-libev.service-ը՝ լռելյայն կարգավորման համար, գումարած [email protected]-ը ՝ անվանված յուրաքանչյուր օրինակի կարգավորումների համար) և ավտոմատ կերպով ստեղծում է /etc/shadowsocks-libev/config.json ֆայլը։ 4-6 բաժիններում նշվում են libev-ի համար հատուկ հրամաններն ու ֆայլերի ուղիները՝ rust-ի հետ միասին։ Այս ուղեցույցի մնացած հաճախորդի բաժինները (7-13) նույնականորեն վերաբերում են երկու սերվերների իրականացմանը, քանի որ երկուսն էլ օգտագործում են նույն Shadowsocks/SIP002 արձանագրությունը։

Գաղտնաբառի ստեղծում և կոդի ընտրություն

Shadowsocks-ի նույնականացումը մեկ համատեղ օգտագործվող գաղտնաբառ է գումարած գաղտնագիր (կոդավորման մեթոդ), որի շուրջ պետք է համաձայնության գան երկու կողմերը՝ չկա առանձին UUID, բանալիների զույգ կամ վկայական կառավարելու կարիք։

Ծածկագրերի ընտանիքներ

  • AEAD-2022 (խորհուրդ է տրվում, միայն shadowsocks-rust): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305: Ավելի նոր դիզայն (SIP022)՝ ավելի ուժեղ կրկնության պաշտպանությամբ և մեկ պորտը համատեղ օգտագործող մի քանի օգտատերերի աջակցությամբ: Գաղտնաբառը պետք է լինի base64 տող՝ ճիշտ նույն բանալու երկարությամբ (16 բայթ՝ 128-բիթանոց տարբերակների համար, 32 բայթ՝ 256-բիթանոց տարբերակի համար):
  • Դասական AEAD (աջակցվում է և՛ rust-ի, և՛ libev-ի կողմից). aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305: Լայնորեն համատեղելի է հին հաճախորդների և shadowsocks-libev-ի հետ. գաղտնաբառը կարող է լինել ցանկացած գաղտնաբառ, քանի որ այն մատակարարվում է բանալիի ստացման ֆունկցիայի միջոցով, այլ ոչ թե օգտագործվում է անմիջապես որպես բանալիի նյութ:

Այս ուղեցույցը shadowsocks-rust սերվերի համար օգտագործում է 2022-blake3-aes-256-gcm, քանի որ այն ամենաուժեղ և ամենաարդիական տարբերակն է, և հետագայում առաջարկվող բոլոր հաճախորդները (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) աջակցում են այն: Եթե դուք տեղադրել եք shadowsocks-libev-ը 3-րդ բաժնում, օգտագործեք chacha20-ietf-poly1305 կամ aes-256-gcm, քանի որ libev-ը չի իրականացնում AEAD-2022:

Ստեղծեք բանալի (shadowsocks-rust)

ssservice genkey -m "2022-blake3-aes-256-gcm"
Հրաման, որն օգտագործվում է shadowsocks-libev-ի համար պատահական գաղտնաբառ ստեղծելու համար։

Սա տպում է base64 տող՝ դա ձեր գաղտնաբառն է։ Պատճենեք այն անվտանգ տեղում. դուք այն կտեղադրեք և՛ սերվերի կարգավորումներում, որոնք ներկայացված են 5-րդ բաժնում, և՛ հաճախորդի հղումում, որոնք ներկայացված են 7-րդ բաժնում։

Ստեղծվել է պատահական գաղտնաբառ։

Ընտրեք գաղտնաբառ (shadowsocks-libev)

Shadowsocks-libev-ի կողմից օգտագործվող դասական AEAD գաղտնագրերի համար ցանկացած բավականաչափ երկար պատահական տող աշխատում է, քանի որ այն անցնում է PBKDF/HKDF-ի միջոցով, այլ ոչ թե օգտագործվում է որպես հում բանալի։ Ստեղծեք մեկը հետևյալ կերպ՝

openssl rand -base64 32

Սերվերի կոնֆիգուրացիայի գրառում

Shadowsocks-rust

Բացեք կարգավորման ֆայլը խմբագրման համար՝

nano /etc/shadowsocks-rust/config.json

Տեղադրեք ստորև բերված ձևանմուշը՝ փոխարինելով ձեր սեփական գաղտնաբառը 4-րդ բաժնից (և պորտը՝ 2-րդ բաժնից, եթե այն փոխել եք 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
}

Սեղմեք Ctrl+O (WriteOut)՝ ֆայլը պահպանելու համար, Enter՝ ֆայլի անունը հաստատելու համար, ապա Ctrl+X՝ nano ռեժիմից դուրս գալու համար։

Կարևոր դաշտեր՝ սերվերը լսում է բոլոր ինտերֆեյսները (0.0.0.0); server_port-ը Բաժին 2-ում բացված միացքն է; password/method-ը Բաժին 4-ի հավատարմագրերն ու գաղտնագրերն են; mode-ը միացնում է և՛ TCP, և՛ UDP վերահասցեավորումը; timeout-ը անգործուն կապի ժամկետի ավարտն է վայրկյաններով; nofile-ը բարձրացնում է ֆայլի նկարագրիչի սահմանաչափը զբաղված սերվերների համար:

Հաստատեք JSON-ը և համոզվեք, որ բինար ֆայլը ընդունում է այն, նախքան այն 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"

Ստեղծեք համակարգային միավորը (shadowsocks-rust)

Երկուական թողարկումը չի մատակարարում համակարգային միավոր, ուստի ստեղծեք մեկը՝

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

Պահպանեք և դուրս եկեք վերևում նշվածի պես, ապա ասեք systemd-ին վերցնել նոր միավորի ֆայլը։

systemctl daemon-reload

Shadowsocks-libev

apt փաթեթն արդեն ստեղծել է /etc/shadowsocks-libev/config.json ֆայլը՝ լռելյայն (միայն loopback, պատահական գաղտնաբառ) կոնֆիգուրացիայով և իր սեփական systemd միավորով։ Բացեք այն խմբագրման համար։

Հրամանը, որն օգտագործվում է shadowsocks-libev կոնֆիգուրացիայի ֆայլը բացելու համար։
nano /etc/shadowsocks-libev/config.json

Փոխարինեք բովանդակությունը հետևյալով.

{
    "server":"0.0.0.0",
    "server_port":8388,
    "password":"YOUR-PASSPHRASE-HERE",
    "method":"chacha20-ietf-poly1305",
    "mode":"tcp_and_udp",
    "timeout":300
}
Shadowsocks-libev կոնֆիգուրացիայի օրինակ։

Լռելյայն կարգավորումը օգտագործում է server: ["::1", "127.0.0.1"] (միայն loopback). այն «0.0.0.0»-ի փոխելն է, ինչը սերվերը հասանելի է դարձնում հանրային IP-ից. մի բաց թողեք սա, եթե վերևում նշված ձևանմուշի փոխարեն պատճենել եք պահեստային ֆայլը։

Ծառայության մեկնարկը և ավտոմատ մեկնարկի միացումը

Shadowsocks-rust

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

Կարգավիճակը պետք է ցույց տա ակտիվ (աշխատող): Հաստատեք, որ ինչ-որ բան իրականում լսում է միացքի վրա (երկու արձանագրություններն էլ):

Սերվերը լսում է TCP-ի և UDP 8388 միացքի վրա։
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'

Եթե ​​ծառայությունը չի կարողանում մեկնարկել, պատճառը պարզելու ամենաարագ ճանապարհը systemd journal-ն է (Linux-ի գրանցամատյանները կարդալու ընդհանուր տեղեկատվության համար տե՛ս « Ինչպես կարդալ Linux-ի գրանցամատյանները և որտեղ գտնել դրանք » բաժինը):

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

Shadowsocks-libev

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

Ստուգեք պորտը և լոգերը նույն կերպ, ինչպես shadowsocks-rust-ի դեպքում՝ փոխարինելով ծառայության անունը՝

Հրամաններ, որոնք օգտագործվում են shadowsocks-libev ծառայությունը վերագործարկելու, միացնելու և ստուգելու համար։ Shadowsocks-libev ծառայության կարգավիճակը ցույց է տալիս ակտիվ (աշխատող):
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager

Հաճախորդի միացման կապի կառուցում

Shadowsocks հաճախորդները ներմուծում են մեկ ss:// share հղում (SIP002 URL ձևաչափով), այլ ոչ թե կարգավորման ֆայլ: Հղումը կոդավորում է ծածկագիրը և գաղտնաբառը որպես base64 URL-ի userinfo բաժնում:

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

Կառուցեք base64 մասը սերվերի վրա (սա կանխում է ձեռքով կոդավորմամբ առաջացող ցանկացած տպագրական սխալ):

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"

Օրինակ արդյունք (տեղապահի բանալիով):

Օրինակ՝ ստեղծված ss:// կապի հղում (նկարազարդում):
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server

#-ից հետո գրված տեքստը պարզապես ցուցադրման պիտակ է, որը կարող եք ազատորեն վերանվանել ցանկացած հաճախորդում: shadowsocks-libev սերվերի համար փոխարինեք METHOD="chacha20-ietf-poly1305" (կամ aes-256-gcm) և դրա գաղտնաբառը՝ Բաժին 4-ից: 

Վերածեք այն QR կոդի, որպեսզի բջջային հաճախորդները կարողանան այն անմիջապես սկանավորել։

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

Պատճենեք PNG-ն ձեր համակարգչին scp-ով, գործարկեք այն ձեր համակարգչի տերմինալից (կամ PowerShell-ից Windows-ի վրա), այլ ոչ թե սերվերից։

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

Միացում Windows-ից

Այս բաժնում ամեն ինչ տեղի է ունենում ձեր Windows համակարգչի վրա, այլ ոչ թե SSH-ի միջոցով. հաճախորդը պետք է աշխատի այն սարքի վրա, որն իրականում կօգտագործի պրոքսին։

Տեղադրեք v2rayN-ը

v2rayN-ը անվճար, ակտիվորեն սպասարկվող GUI հաճախորդ է՝ Shadowsocks-ի բնիկ աջակցությամբ, ինչպես նաև VLESS, VMess, Trojan և այլն: Ներբեռնեք վերջին թողարկումը նախագծի էջից :

Վերցրեք Windows 64-բիթանոց .zip ֆայլը (վերջին v2rayN տարբերակների համեմատ, ինքնուրույն կառուցվածքը առանձին .NET runtime-ի կարիք չունի), արտածեք այն ցանկացած տեղից և գործարկեք v2rayN.exe-ը։

Ներմուծել սերվերը

Բաժին 7-ում ներկառուցված ss:// հղումը պատճենեք ձեր սեղմատախտակին (կամ պատճենեք QR PNG-ը scp-ով և բացեք այն), այնուհետև v2rayN-ում ընտրեք Սերվերներ → Ներմուծել զանգվածային URL-ը սեղմատախտակից (կամ սկանավորեք QR կոդը ներկառուցված սկաների միջոցով): Նոր սերվերի պրոֆիլը կհայտնվի ցանկում՝ # նշանից հետո ձեր կողմից սահմանված պիտակով:

Աջ սեղմեք պրոֆիլի վրա և ընտրեք այն որպես ակտիվ, այնուհետև գլխավոր պատուհանի գործիքագոտուց միացրեք համակարգի պրոքսին (կամ TUN ռեժիմը՝ ամբողջ մեքենան երթուղավորելու համար):

Միացում macOS-ից

Այս բաժնում ամեն ինչ տեղի է ունենում ձեր Mac-ի վրա, այլ ոչ թե SSH-ի միջոցով։

Տեղադրեք ShadowsocksX-NG-ն

ShadowsocksX-NG-ն Shadowsocks-ի համար երկար ժամանակ գործող macOS GUI հաճախորդն է։ Ներկայիս թողարկումների շարքը Intel-ի հետ միասին ներառում է նաև Apple Silicon-ի բնիկ տարբերակը։ Ներբեռնեք վերջին .dmg տարբերակը թողարկումների էջից։

Բացեք .dmg ֆայլը և քաշեք ShadowsocksX-NG-ը Applications-ի մեջ, այնուհետև գործարկեք այն. այն կհայտնվի որպես պատկերակ մենյուի տողում։

 

Ներմուծել սերվերը

Բաժին 7-ից պատճենեք ss:// հղումը ձեր սեղմատախտակին, այնուհետև սեղմեք ընտրացանկի վահանակի պատկերակը → Սերվերներ → Սերվերի կարգավորումներ → ներքևի ձախ անկյունում գտնվող + նշանը և ընտրեք «Ներմուծել ստվարաթղթից» (կամ PNG-ն բացելուց հետո սկանավորեք QR կոդը «Սկանավորել QR կոդը էկրանից» կոճակով): Ընտրեք նոր պրոֆիլը ընտրացանկի վահանակի իջնող ցանկից, այնուհետև միացրեք «Shadowsocks: On» կոճակը և նույն ցանկից ընտրեք «PAC Auto» կամ «Global» երթուղայնացման ռեժիմը:

Միացում Linux համակարգչից

Այս բաժնում ամեն ինչ տեղի է ունենում ձեր սեփական Linux մեքենայի վրա, այլ ոչ թե VPS-ի։

Տեղադրեք տեղական հաճախորդը

Եթե ​​դուք սերվերի վրա տեղադրել եք shadowsocks-rust-ը 3-րդ բաժնում, նույն թողարկման արխիվը պարունակում է sslocal ֆայլը՝ SOCKS5/HTTP տեղական պրոքսի հաճախորդ: Ներբեռնեք և տեղադրեք այն նույն կերպ, ինչպես սերվերի բինար ֆայլը (կարգավորեք OS/arch վերջածանցը ձեր աշխատասեղանի համար, եթե այն 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/

Կարգավորել և գործարկել

Ստեղծեք փոքր տեղական կոնֆիգուրացիա, որը լսում է 127.0.0.1:1080-ը որպես 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

Ձեր զննարկչի կամ համակարգի ցանցային կարգավորումները ուղղեք SOCKS5 պրոքսիի վրա՝ 127.0.0.1:1080-ի վրա: GUI-ի համար Nekoray կամ ShadowsocksX-Qt5 ոճի fork-երը կարող են ներմուծել նույն ss:// հղումը 7-րդ բաժնից և կառավարել sslocal-ը՝ այն ձեռքով գործարկելու փոխարեն:

Միանում է Android-ից

Այստեղ ամեն ինչ տեղի է ունենում ձեր Android սարքում, այլ ոչ թե SSH-ի միջոցով։

Հաճախորդի տեղադրում

Երկու լավ տարբերակ՝

  • Shadowsocks Android-ի համար՝ shadowsocks կազմակերպության պաշտոնական հաճախորդը։ Տեղադրեք այն Google Play-ից (որոնեք «Shadowsocks») կամ ներբեռնեք APK-ն անմիջապես նախագծի թողարկումների էջից, եթե Play-ը հասանելի չէ ձեր սարքում։ տարածաշրջանում:
  • v2rayNG — v2rayN-ի Android-ի համարժեքը, որը աջակցում է Shadowsocks-ին VLESS/VMess/Trojan-ի հետ մեկտեղ։ Օգտակար է, եթե ցանկանում եք մեկ հավելված բազմաթիվ արձանագրությունների համար։ տեսակները:

Ներմուծել սերվերը

Երկու հավելվածներում էլ՝ սեղմեք + կոճակը, 7-րդ բաժնից ss:// հղումը պատճենելուց հետո ընտրեք «Ներմուծել սեղմատախտակից» կամ «Սկանավորել QR կոդը» և ուղղեք տեսախցիկը PNG-ի վրա։ Սեղմեք ներմուծված պրոֆիլը՝ այն ընտրելու համար, ապա սեղմեք միանալու կոճակը։ Android-ը առաջին անգամ կպահանջի VPN թույլտվություն՝ հաստատել այն՝ թունել ստեղծելու համար։ 

Միանում է iOS-ից

Այստեղ ամեն ինչ տեղի է ունենում ձեր iPhone-ի կամ iPad-ի վրա, այլ ոչ թե SSH-ի միջոցով։

Տեղադրեք Shadowsocks-ի հետ համատեղելի հաճախորդ

Shadowrocket-ը ամենատարածված iOS հաճախորդն է, որն աջակցում է Shadowsocks-ին. այն վճարովի հավելված է խանութների մեծ մասում: Որոնեք այն App Store-ում կամ բացեք այն:

Streisand-ը անվճար, բաց կոդով այլընտրանք է, որը նաև աջակցում է Shadowsocks-ին VLESS-ի, Trojan-ի և այլ արձանագրությունների հետ մեկտեղ ։

App Store-ի կատալոգները տարբերվում են ըստ խանութի/տարածաշրջանի և կարող են ժամանակի ընթացքում փոխվել։ Եթե ձեր կատալոգներից ոչ մեկը տեսանելի չէ, App Store-ում որոնեք «Shadowsocks» կամ «V2Box»։

Ներմուծել սերվերը

Պատճենեք ss:// հղումը ձեր սեղմատախտակին, բացեք հաճախորդը և օգտագործեք դրա «Ավելացնել/ներմուծել սեղմատախտակից» տարբերակը, կամ սկանավորեք 7-րդ բաժնի QR կոդը հաճախորդի ներկառուցված սկաների միջոցով։ Միացրեք նոր պրոֆիլը. iOS-ը առաջին անգամ կպահանջի VPN կարգավորման թույլտվություն, որը դուք պետք է հաստատեք Face ID-ի, Touch ID-ի կամ ձեր գաղտնաբառի միջոցով։

Միացման ստուգում

Երբ թունելը ակտիվ է 8-րդ, 9-րդ, 10-րդ, 11-րդ կամ 12-րդ բաժիններից, վերադարձեք ձեր սեփական սարքին (ոչ թե SSH սեսիային) և բացեք ցանկացած «ի՞նչ է իմ IP-ն» ստուգիչ զննարկիչում. ցուցադրված հասցեն պետք է համընկնի ձեր VPS-ի IP հասցեի՝ your_IP_address-ի հետ։

Սերվերի կողմից ստուգելու համար ստուգեք systemd journal-ը՝ կապի ակտիվության համար և հաստատեք պորտում հաստատված սեսիաները (օգտագործեք ssserver-ը rust journal-ի համար կամ shadowsocks-libev-ը libev journal-ի համար):

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

Հղում

Դաշտ

Արժեք

հասցե

ձեր VPS-ի հանրային IP հասցեն

Նավահանգիստ

8388 (նույն միացքը բացվել է 2-րդ բաժնում)

Գաղտնաբառ

Բաժին 4-ում ստեղծված բանալին/գաղտնաբառը

Մեթոդ

2022-blake3-aes-256-gcm (rust) կամ chacha20-ietf-poly1305 (libev) — պետք է ճշգրտորեն համընկնի երկու կողմերից էլ

ռեժիմ

tcp_and_udp — միացնում է և՛ TCP պրոքսիինգը, և՛ UDP ռելեը (DNS, որոշ խաղեր)

Միացնել

Այս ուղեցույցում ոչ մեկը չի օգտագործվել — Shadowsocks-ը գործելու համար կարիք չունի SNI-ի, վկայականի կամ տրանսպորտային հավելվածի

Եզրափակում

Այս ուղեցույցին հետևելով՝ ձեր VPS-ը կաշխատի իր սեփական Shadowsocks սերվերով՝ կամ shadowsocks-rust-ը՝ ժամանակակից AEAD-2022 գաղտնագրով, կամ shadowsocks-libev-ը՝ Ubuntu/Debian-ի սեփական պահոցից՝ որպես systemd ծառայություն, որը գոյատևում է վերագործարկումից հետո՝ առանց ձեր կողմից որևէ գործողության:

Ավելի շատ օգտատերերի ավելացում.

  • Ամենապարզը՝ ստեղծեք երկրորդ գաղտնաբառ (Բաժին 4) և գործարկեք ssserver/shadowsocks-libev-ի երկրորդ օրինակը այլ պորտի վրա՝ իր սեփական կարգավորման ֆայլով և systemd միավորով, այնուհետև կրկնեք 5-7 բաժինները այդ պորտի համար։
  • AEAD-2022 գաղտնագրով shadowsocks-rust-ը նաև աջակցում է մի քանի օգտատերերի, որոնք համատեղ օգտագործում են մեկ պորտ և գաղտնաբառի ստացման բանալու կոդ config.json-ում (Ընդարձակվող նույնականացման վերնագրեր, SIP022) գտնվող «users» զանգվածի միջոցով։ Եթե ձեզ անհրաժեշտ է մեկ պորտում մեկ օգտատիրոջ տրաֆիկի հաշվառում, տե՛ս shadowsocks-rust README-ի «Կարգավորումներ» բաժինը ճշգրիտ շարահյուսության համար։

Մի քանի սովորություններ, որոնք արժե պահպանել սերվերի գործարկումից հետո.

  • Պահեք սերվերը թարմացված։ Shadowsocks-rust-ի դեպքում պարբերաբար վերագործարկեք 3-րդ բաժնի ներբեռնման և տեղադրման քայլերը՝ նոր տարբերակի որոնմամբ, այնուհետև systemctl-ը վերագործարկեք ssserver-ը։ Shadowsocks-libev-ի դեպքում դա կատարվում է պարզ apt upgrade-ի միջոցով։
  • Պահուստավորեք config.json ֆայլը սերվերից դուրս՝ որևէ մասնավոր տեղում։ Այն պարունակում է բոլոր հաճախորդների գաղտնաբառերը. դրա կորուստը նշանակում է վերականգնել բոլոր սարքերի մուտքի տվյալները։
  • Փոխեք գաղտնաբառը, եթե սարքը կորել է կամ հաճախորդը վնասվել է. ստեղծեք նորը (Բաժին 4), թարմացրեք config.json ֆայլը, վերագործարկեք ծառայությունը և վերակառուցեք հաճախորդի հղումը (Բաժին 7) մնացած յուրաքանչյուր սարքի համար։

Եթե ​​կապը չի հաստատվում, ստուգեք հերթականությունը՝

  • ծառայության կարգավիճակը (systemctl status ssserver --no-pager, կամ shadowsocks-libev) և օրագիրը (journalctl -u ssserver -n 50 --no-pager)
  • firewall-ի կանոնները (ufw կարգավիճակ՝ պորտը պետք է բաց լինի և՛ tcp-ի, և՛ udp-ի համար)
  • որ պորտը արդեն կապված չէ մեկ այլ ծառայության հետ (ss -lntp | grep ':8388'-ը պետք է ցույց տա միայն ssserver/ss-server-ը)
  • որ հաճախորդի գաղտնաբառը, մեթոդը և պորտը ճշգրտորեն համընկնում են config.json-ի հետ՝ մեկ անհամապատասխան նիշը լուռ ձախողվում է ձեռքսեղմման ժամանակ, սովորաբար ցույց տալով որպես կապի ժամկետի ավարտ, այլ ոչ թե որպես ակնհայտ սխալ։
  • Այդ ռեժիմը սերվերի վրա սահմանված է tcp_and_udp-ի վրա, եթե հաճախորդին անհրաժեշտ է UDP (DNS-over-proxy, որոշ խաղեր/հավելվածներ) և ոչ միայն tcp_only:

Համեմատո՞ւմ եք Shadowsocks-ը այլ տարբերակների հետ: Տեսեք Xray VLESS Reality Guide-ը ՝ TLS-քողարկման վրա հիմնված արձանագրություն ստանալու համար, որը դժվար է մատնահետք գտնել խիստ ֆիլտրացված ցանցում, AmneziaWG սերվերի տեղակայման ուղեցույցը և ինչպես կարգավորել Wireguard VPN-ը ձեր սերվերի վրա ՝ WireGuard-ի վրա հիմնված այլընտրանքների համար, կամ Hysteria2 և TUIC կարգավորումը ՝ կորուստներով կամ խիստ ֆիլտրացված ցանցերի համար կառուցված երկու արձանագրությունների համար: Եթե ձեզ անհրաժեշտ է միայն պարզ պրոքսի, այլ ոչ թե ամբողջական թունելավորման կարգավորում, CentOS/ArchLinux-ի վրա 3proxy կարգավորումը շատ ավելի թեթև այլընտրանք է, իսկ Linux-ի վրա VPN սերվերի ավելի հին կարգավորումը՝ PPTP թե՞ OpenVPN?, ներառում է արձանագրություններ, որոնք ավելի պարզ են կարգավորելու համար, բայց շատ ավելի հեշտ է DPI-ի համար հայտնաբերել և արգելափակել: Պրոքսիի գործարկումից հետո սերվերի ընդհանուր կարծրացման համար տես՝ Linux օգտատերեր. կառավարում և թույլտվություններ :

❮ Նախորդ հոդված Xray VLESS իրականության ուղեցույց. VPS, Windows, Mac, Android, iPhone
Հաջորդ հոդվածը ❯ VMmanager 6 անվտանգության միջադեպ. Ի՞նչ է պատահել և ինչ անել

Հարցրեք մեզ VPS-ի մասին

Մենք միշտ պատրաստ ենք պատասխանել ձեր հարցերին օրվա կամ գիշերվա ցանկացած ժամի: