Ma'lumotlar bazasi Profitserver xizmati bilan ishlash bo'yicha oddiy ko'rsatmalar
asosiy Ma'lumotlar bazasi Shadowsocks qo'llanmasi (shadowsocks-rust / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone

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


Shadowsocks - bu oddiy tarmoqlarda trafikni shakllantirish va bloklashni chetlab o'tish uchun mo'ljallangan yengil, SOCKS5 asosidagi shifrlangan proksi protokoli. To'liq VPNdan farqli o'laroq, u faqat ilova aniq yuboradigan trafikni proksi qiladi, protokol bo'yicha deyarli hech qanday qo'shimcha xarajatlarga ega emas va hatto cheklangan ulanishlarda ham yaxshi ishlaydi. U VLESS+Reality kabi haqiqiy TLS qo'l siqishini taqlid qilishga urinmaydi - uning kuchli tomoni shundaki, u soddaligi, keng mijozlarni qo'llab-quvvatlashi (routerlar, telefonlar, brauzerlar) va juda past kechikish bilan birga, qattiq tekshirilgan tarmoqda trafik naqshini aniqlash biroz osonroq bo'ladi.

Faol ravishda qo'llab-quvvatlanadigan ikkita server implementatsiyasi mavjud:

  • shadowsocks-rust — shadowsocks tashkilotining Rust tilida yozilgan zamonaviy ma'lumotnoma implementatsiyasi. U yangi AEAD-2022 shifrlar oilasini qo'llab-quvvatlaydi, faol ravishda ishlab chiqilgan va ushbu qo'llanma batafsil o'rnatadigan va sozlaydigan implementatsiya hisoblanadi.
  • shadowsocks-libev — eski C implementatsiyasi. U hali ham xatolarni tuzatish uchun saqlanadi, o'zining systemd birliklari bilan tayyor apt paketi sifatida yetkazib beriladi va agar siz qo'lda ikkilik fayllarni qayta ishlashsiz eng oddiy o'rnatishni xohlasangiz, yaxshi tanlovdir. Ushbu qo'llanma uni 3-bo'limda muqobil o'rnatish yo'li sifatida ko'rib chiqadi.

Ushbu qo'llanmada serverni buyruq satri orqali qo'lda qanday sozlash tasvirlangan — veb-panel yoki Docker-dan foydalanmasdan. "IP-manzil" maydoni paydo bo'lgan joyda uni VPS-ning haqiqiy IP-manzili bilan almashtiring.

Sizga kerak bo'ladigan narsalar: Ubuntu 22.04/24.04 yoki Debian 11/12 ishlaydigan VPS, root kirish huquqi, VPS IP-manzili va bepul UDP/TCP porti (ushbu qo'llanmada Shadowsocks standart sozlamalari bo'lgan 8388 ishlatiladi).

Hali serveringiz yo'qmi? Serverga qanday buyurtma berish va uning uchun to'lovni amalga oshirish bo'limiga qarang.

Avval buni boshqa o'z-o'zini boshqarish variantlari bilan taqqoslaysizmi? TLS-kamuflyajga asoslangan alternativa uchun Xray VLESS Reality Guide , WireGuard-ga asoslangan variant uchun AmneziaWG Serverni joylashtirish qo'llanmasi yoki boshqa ikkita zamonaviy proksi protokollari uchun Hysteria2 va TUIC sozlamalariga qarang.

Serverga ulanish

Windows (PuTTY)

PuTTY-ni oching, Xost nomi maydoniga VPS IP-manzilingizni kiriting, portni 22 ga o'rnating va VPS provayderingiz sizga elektron pochta orqali yuborgan paroldan foydalanib root sifatida tizimga kiring.

Server IP-manzili: sizning IP-manzilingiz

sifatida kirish: root

Parol: sizning parolingiz

PuTTY/SSH orqali ulanish haqida batafsil ma'lumot olish uchun SSH orqali Linux serveriga qanday ulanish mumkin-ga qarang.

SSH kirish uchun PuTTY sessiyasi konfiguratsiyasi. VPS ga ulangandan so'ng, PuTTY SSH terminali. VPSga muvaffaqiyatli SSH orqali kirish.

Linux / macOS (terminal)

ssh root@your_IP_address

Quyidagi barcha buyruqlar serverda, xuddi shu SSH sessiyasida bajariladi — bu 2 dan 7 gacha bo'limlarni, shuningdek, 13-bo'limdagi server tomonidagi tekshiruvlarni qamrab oladi. 8–12-bo'limlar (mijoz ilovalarini o'rnatish va sozlash) sizning Windows/macOS/Linux/Android/iOS qurilmangizda amalga oshiriladi, chunki proksi-server aynan shu qurilmada ishlashi kerak; ushbu bo'limlarning har birida qaysi satrlar, agar mavjud bo'lsa, serverga tegib turishi aniq ko'rsatilgan.

Serverni tayyorlash

Tizimni yangilang

Biror narsani o'rnatishdan oldin, paketlar ro'yxatini yangilang va o'rnatilgan paketlarni yangilang:

apt update -y && apt upgrade -y
O'rnatilgan paketlarni yangilash uchun ishlatiladigan buyruq. Paketni yangilash chiqishi. Paketni yangilash paytida yadro yangilanishi haqida bildirishnoma ko'rsatiladi Paketni yangilash paytida xizmatlarni qayta ishga tushirish so'rovi ko'rsatiladi.

Agar bu yadroni yangilasa, davom etishdan oldin qayta ishga tushirish yaxshi fikr. (APT va Linux paket menejerlari qanday ishlashi haqida ma'lumot olish uchun Linux paket menejerlariga qarang .) Quyidagilar bilan tekshiring:

cat /var/run/reboot-required
Qayta ishga tushirish zarurligini tekshirish uchun ishlatiladigan buyruq. Qayta ishga tushirish talab qilinadigan tekshiruv natijasi.

Agar fayl mavjud bo'lsa, avval 'reboot' buyrug'i bilan qayta ishga tushiring, ~30 soniya kuting va keyin qayta ulang.

Ushbu qo'llanmada ishlatiladigan vositalarni o'rnating

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

curl/wget va tar/xz-utils shadowsocks-rust relizlar arxivini olish va ochish uchun kerak; ufw quyida sozlangan xavfsizlik devori; qrencode 7-bo'limda tayyor mijoz havolasini skanerlanadigan QR kodiga aylantiradi.

Kerakli server yordamchi dasturlarini o'rnatish uchun ishlatiladigan buyruq.

Xavfsizlik devorini (UFW) sozlash

UFW qoidalari haqida ko'proq ma'lumot olish uchun Linuxda xavfsizlik devorini sozlash bo'limiga qarang.

Sizga kerak bo'lgan ikkita portni oching: SSH uchun 22/tcp (ushbu qoidani o'tkazib yuboring, shunda serverga kirishni yo'qotish xavfi tug'iladi) va 8388, ham tcp, ham udp — Shadowsocks ham TCP ulanishlarini, ham UDP ulanishlarini proksi qiladi (DNS va ba'zi o'yinlar/ilovalar uchun foydali), shuning uchun portning ikkala yo'nalishi ham ochiq bo'lishi kerak.

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

Uchala qoida ham ufw holati chiqishida ALLOW sifatida ko'rsatilishi kerak. Agar keyinchalik config.json faylidagi portni o'zgartirsangiz, ushbu qoidalarni mos keladigan qilib yangilang.

UFW holati konfiguratsiya qilingan SSH va Shadowsocks qoidalarini ko'rsatadi.

Server dasturini o'rnatish

Quyidagi ikkita variantdan birini tanlang. A varianti (shadowsocks-rust) tavsiya etiladi: bu faol ishlab chiqilgan amalga oshirish bo'lib, ushbu qo'llanmada keyinroq ishlatilgan zamonaviy AEAD-2022 shifrlarini qo'llab-quvvatlaydi. Agar siz tayyor systemd bloki bilan oddiy apt paketidan foydalanishni afzal ko'rsangiz va AEAD-2022 ga ehtiyoj sezmasangiz, B varianti (shadowsocks-libev) yaxshi tanlovdir.

A variant — shadowsocks-rust (tavsiya etiladi)

Shadowsocks-rust joriy versiyalar bilan apt paketini jo'natmaydi, shuning uchun u loyihaning GitHub versiyalaridan oldindan tuzilgan statik ikkilik faylni yuklab olish orqali o'rnatiladi. GitHub API'sidan eng so'nggi versiya yorlig'ini oling va mos keladigan Linux x86_64 arxivini yuklab oling:

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 versiyasi arxivini yuklab olish uchun ishlatiladigan buyruq.

Agar VPS faylingiz x86_64 o'rniga arm64 bo'lsa (`uname -m` bilan belgilang), yuqoridagi fayl nomidagi x86_64-unknown-linux-gnu ni aarch64-unknown-linux-gnu bilan almashtiring.

Arxivni chiqarib oling va ikkilik fayllarni butun tizim bo'ylab o'rnating:

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 ikkilik fayllarini ajratib olish va o'rnatish uchun ishlatiladigan buyruq.

Ikkilik faylning joyida ekanligini va o'rnatilgan versiyasini tekshiring:

ssserver --version
ssserver versiyasi o'rnatildi.

Konfiguratsiya fayli joylashgan katalogni yarating:

mkdir -p /etc/shadowsocks-rust
shadowsocks-rust konfiguratsiya katalogini yaratish.

Ushbu qo'llanma o'rnatuvchi skriptini bash ga yuklash o'rniga, belgilangan versiyani o'rnatadi. Keyinroq yangilash uchun yuqoridagi ikkita buyruqni yangi SS_VER qidiruvi bilan qayta ishga tushiring, xizmatni to'xtating, ikkilik faylni almashtiring va uni qayta ishga tushiring (6-bo'lim).

B varianti — shadowsocks-libev (muqobil, mos paket)

Shadowsocks-libev Ubuntu'ning koinot omborida (Ubuntu 16.10+) va Debian'ning asosiy omborida (Debian 8+) mavjud, shuning uchun 22.04/24.04 yoki Debian 11/12 da uchinchi tomon PPA kerak emas:

apt install -y shadowsocks-libev
Paket omboridan shadowsocks-libev ni o'rnatish uchun ishlatiladigan buyruq.

Agar apt paket topilmaganligini bildirsa, koinot ombori o'chirilgan; uni yoqing va qayta urinib ko'ring:

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

Paket o'zining systemd birliklarini o'rnatadi (standart konfiguratsiya uchun shadowsocks-libev.service, shuningdek, har bir misol uchun nomlangan konfiguratsiyalar uchun [email protected] ) va /etc/shadowsocks-libev/config.json faylini avtomatik ravishda yaratadi — 4–6-bo'limlarda rust buyruqlari bilan bir qatorda libevga xos buyruqlar va fayl yo'llari ham qayd etilgan. Ushbu qo'llanmaning qolgan mijoz bo'limlari (7–13) har ikkala serverni amalga oshirishga ham bir xil qo'llaniladi, chunki ikkalasi ham simda bir xil Shadowsocks/SIP002 protokolini gapiradi.

Parol yaratish va shifrni tanlash

Shadowsocks autentifikatsiyasi - bu bitta umumiy parol va ikkala tomon ham kelishib olishi kerak bo'lgan shifr (shifrlash usuli) - boshqarish uchun alohida UUID, kalit juftligi yoki sertifikat yo'q.

Shifr oilalari

  • AEAD-2022 (tavsiya etiladi, faqat shadowsocks-rust uchun): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305. Kuchliroq qayta ijro etish himoyasi va bitta portdan foydalanadigan bir nechta foydalanuvchilar uchun qo'llab-quvvatlanadigan yangi dizayn (SIP022). Parol shifrning kalit uzunligiga to'liq mos keladigan base64 qatori bo'lishi kerak (128 bitli variantlar uchun 16 bayt, 256 bitli variant uchun 32 bayt).
  • Klassik AEAD (rust va libev tomonidan qo'llab-quvvatlanadi): aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305. Eski mijozlar va shadowsocks-libev bilan keng mos keladi; parol istalgan parol bo'lishi mumkin, chunki u to'g'ridan-to'g'ri kalit material sifatida ishlatilmasdan, kalitni chiqarish funktsiyasi orqali beriladi.

Ushbu qo'llanmada shadowsocks-rust serveri uchun 2022-blake3-aes-256-gcm ishlatiladi, chunki u eng kuchli va eng zamonaviy variant bo'lib, keyinroq tavsiya etilgan har bir mijoz (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) uni qo'llab-quvvatlaydi. Agar siz 3-bo'limda shadowsocks-libev ni o'rnatgan bo'lsangiz, buning o'rniga chacha20-ietf-poly1305 yoki aes-256-gcm dan foydalaning, chunki libev AEAD-2022 ni amalga oshirmaydi.

Kalit yaratish (shadowsocks-rust)

ssservice genkey -m "2022-blake3-aes-256-gcm"
shadowsocks-libev uchun tasodifiy parol yaratish uchun ishlatiladigan buyruq.

Bu base64 satrini chop etadi — bu sizning parolingiz. Uni xavfsiz joyga nusxalang; uni 5-bo'limdagi server konfiguratsiyasiga va 7-bo'limdagi mijoz havolasiga joylashtirasiz.

Tasodifiy parol yaratildi.

Parolni tanlang (shadowsocks-libev)

shadowsocks-libev tomonidan ishlatiladigan klassik AEAD shifrlari uchun har qanday yetarlicha uzun tasodifiy satr ishlaydi, chunki u xom kalit sifatida ishlatilmasdan, PBKDF/HKDF orqali ishga tushiriladi. Quyidagi bilan bittasini yarating:

openssl rand -base64 32

Server konfiguratsiyasini yozish

Soya paypoqlari-zang

Tahrirlash uchun konfiguratsiya faylini oching:

nano /etc/shadowsocks-rust/config.json

Quyidagi shablonni 4-bo'limdagi o'z parolingiz (va agar uni 8388 dan o'zgartirgan bo'lsangiz, 2-bo'limdagi port) bilan almashtiring:

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

Faylni saqlash uchun Ctrl+O (WriteOut) tugmalarini, fayl nomini tasdiqlash uchun Enter tugmalarini, so'ngra nano'dan chiqish uchun Ctrl+X tugmalarini bosing.

Muhim maydonlar: server barcha interfeyslarda tinglaydi (0.0.0.0); server_port - 2-bo'limda ochilgan port; parol/metod - 4-bo'limdan olingan hisob ma'lumotlari va shifr; rejim TCP va UDP relaylarini yoqadi; timeout - bu bo'sh ulanish vaqtining soniyalarda tugashi; nofile band serverlar uchun fayl tavsiflovchisi chegarasini oshiradi.

JSON faylini va ikkilik fayl uni systemd ga ulashdan oldin qabul qilishini tasdiqlang:

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"

Systemd blokini yarating (shadowsocks-rust)

Ikkilik versiya tizim blokini jo'natmaydi, shuning uchun uni yarating:

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

Yuqoridagi kabi saqlang va chiqing, so'ngra systemdga yangi blok faylini olishni ayting:

systemctl daemon-reload

Shadowsocks-libev

apt paketi allaqachon /etc/shadowsocks-libev/config.json faylini standart (faqat loopback, tasodifiy parol) konfiguratsiyasi va o'zining systemd bloki bilan yaratgan. Uni tahrirlash uchun oching:

shadowsocks-libev konfiguratsiya faylini ochish uchun ishlatiladigan buyruq.
nano /etc/shadowsocks-libev/config.json

Tarkibni quyidagilar bilan almashtiring:

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

Standart konfiguratsiya server: ["::1", "127.0.0.1"] dan foydalanadi (faqat loopback); uni "0.0.0.0" ga o'zgartirish serverga umumiy IP-manzildan kirish imkonini beradi — agar siz yuqoridagi shablon o'rniga stok faylini nusxalagan bo'lsangiz, buni o'tkazib yubormang.

Xizmatni ishga tushirish va avtomatik ishga tushirishni yoqish

Soya paypoqlari-zang

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

Holat faol (ishlayotgan) ko'rinishi kerak. Portda (ikkala protokolda) biror narsa haqiqatan ham tinglanayotganini tasdiqlang:

Server 8388 TCP va UDP portida tinglamoqda.
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'

Agar xizmat ishga tushmasa, nima uchun ekanligini bilishning eng tezkor usuli bu systemd jurnalidir (umuman Linux jurnallarini o'qish haqida ma'lumot olish uchun Linux jurnallarini qanday o'qish va uni qaerdan topish mumkinligiga qarang ):

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

Shadowsocks-libev

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

Port va jurnallarni shadowsocks-rust bilan bir xil tarzda tekshiring, xizmat nomini o'rniga qo'ying:

shadowsocks-libev xizmatini qayta ishga tushirish, yoqish va tekshirish uchun ishlatiladigan buyruqlar. Shadowsocks-libev xizmatining holati faol (ishlayapti) ko'rsatilmoqda.
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager

Mijoz bilan bog'lanish havolasini yaratish

Shadowsocks mijozlari konfiguratsiya fayli o'rniga bitta ss:// ulashish havolasini (SIP002 URL formati) import qiladi. Havola URLning foydalanuvchi ma'lumotlari qismida shifr va parolni base64 sifatida kodlaydi:

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

Serverda base64 qismini yarating (bu qo'lda kodlashda xatolarga yo'l qo'ymaydi):

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"

Misol chiqishi (joy ushlagichi kaliti bilan):

Misol tariqasida yaratilgan ss:// ulanish havolasi (rasm sifatida).
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server

# dan keyingi matn shunchaki istalgan mijozda erkin nomini o'zgartirishingiz mumkin bo'lgan displey yorlig'i. shadowsocks-libev serveri uchun METHOD="chacha20-ietf-poly1305" (yoki aes-256-gcm) va uning 4-bo'limdagi parolini almashtiring. 

Mobil mijozlar uni to'g'ridan-to'g'ri skanerlashi uchun uni QR kodiga aylantiring:

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

PNG faylini scp yordamida o'z kompyuteringizga nusxalang, serverdan emas, balki kompyuteringiz terminalidan (yoki Windowsdagi PowerShell) ishga tushiring:

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

Windows'dan ulanish

Ushbu bo'limdagi hamma narsa SSH orqali emas, balki Windows kompyuteringizda sodir bo'ladi — mijoz proksi-serverdan foydalanadigan qurilmada ishlashi kerak.

v2rayN ni o'rnating

v2rayN - bu VLESS, VMess, Trojan va boshqalar bilan bir qatorda Shadowsocks qo'llab-quvvatlashiga ega bo'lgan bepul, faol ravishda qo'llab-quvvatlanadigan GUI mijozidir. Eng so'nggi versiyani loyiha sahifasidan yuklab oling.

Windows 64-bitli .zip aktivini oling (so'nggi v2rayN versiyalarida mustaqil tuzilish alohida .NET ish vaqtiga muhtoj emas), uni istalgan joydan chiqarib oling va v2rayN.exe faylini ishga tushiring.

Serverni import qiling

7-bo'limda o'rnatilgan ss:// havolasini clipboardga nusxalang (yoki QR PNG faylini scp bilan nusxalang va oching), so'ngra v2rayN da Servers → Import buffer from clipboard ni tanlang (yoki o'rnatilgan skaner orqali QR kodini skanerlang). Yangi server profili ro'yxatda # dan keyin o'rnatgan yorliq bilan paydo bo'ladi.

Profilni o'ng tugmasini bosing va uni faol deb tanlang, so'ngra asosiy oynaning asboblar panelidan tizim proksi-serverini (yoki butun mashinani yo'naltirish uchun TUN rejimini) yoqing.

macOS dan ulanish

Ushbu bo'limdagi hamma narsa SSH orqali emas, balki Mac kompyuteringizda sodir bo'ladi.

ShadowsocksX-NG ni o'rnating

ShadowsocksX-NG - Shadowsocks uchun uzoq vaqtdan beri ishlab kelayotgan mahalliy macOS GUI mijozi; hozirgi versiya Intel bilan bir qatorda mahalliy Apple Silicon versiyasini ham taqdim etadi. Eng so'nggi .dmg faylini versiyalar sahifasidan yuklab oling.

.dmg faylini oching va ShadowsocksX-NG faylini Ilovalar bo'limiga sudrab boring, so'ngra uni ishga tushiring — u menyu satrida belgi sifatida paydo bo'ladi.

 

Serverni import qiling

7-bo'limdan ss:// havolasini clipboardga nusxalang, so'ngra menyu paneli belgisini → Serverlar → Server sozlamalari → pastki chapdagi + ni bosing va "Pasteboarddan import qilish" ni tanlang (yoki PNG faylini ochgandan so'ng QR kodini "Ekrandagi QR kodini skanerlash" bilan skanerlang). Menyu paneli ochiladigan menyusidan yangi profilni tanlang, so'ngra "Shadowsocks: On" ni yoqing va xuddi shu menyudan "PAC Auto" yoki "Global" marshrutizatsiya rejimini tanlang.

Linux ish stolidan ulanish

Ushbu bo'limdagi hamma narsa VPSda emas, balki sizning Linux kompyuteringizda sodir bo'ladi.

Mahalliy mijozni o'rnating

Agar siz 3-bo'limda serverga shadowsocks-rust o'rnatgan bo'lsangiz, xuddi shu versiya arxivida SOCKS5/HTTP mahalliy proksi-klienti bo'lgan sslocal mavjud. Uni server ikkilik fayli bilan bir xil tarzda yuklab oling va o'rnating (agar u x86_64-unknown-linux-gnu bo'lmasa, ish stolingiz uchun OS/arch qo'shimchasini sozlang):

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/

Sozlang va ishga tushiring

127.0.0.1:1080 da SOCKS5 proksi-serveri sifatida tinglash uchun kichik mahalliy konfiguratsiya yarating:

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

Brauzeringiz yoki tizim tarmoq sozlamalarini 127.0.0.1:1080 da joylashgan SOCKS5 proksi-serveriga yo'naltiring. GUI uchun Nekoray yoki ShadowsocksX-Qt5 uslubidagi vilkalari 7-bo'limdan bir xil ss:// havolasini import qilishi va sslocal-ni qo'lda ishga tushirish o'rniga boshqarishi mumkin.

Android’dan ulanish

Bu yerdagi hamma narsa SSH orqali emas, balki Android qurilmangizda sodir bo'ladi.

Mijozni o'rnating

Ikki yaxshi variant:

  • Android uchun Shadowsocks — shadowsocks tashkilotining rasmiy mijozi. Uni Google Play’dan o‘rnating (“Shadowsocks” deb qidiring) yoki agar Play sizning qurilmangizda mavjud bo‘lmasa, APK’ni to‘g‘ridan-to‘g‘ri loyihaning relizlar sahifasidan yuklab oling. Mintaqa.
  • v2rayNG — v2rayN ning Android analogi, Shadowsocks ni VLESS/VMess/Trojan bilan bir qatorda qo'llab-quvvatlaydi; agar sizga bir nechta protokollar uchun bitta ilova kerak bo'lsa, foydalidir. turlari.

Serverni import qiling

Ikkala ilovada ham: + tugmasini bosing, 7-bo'limdan ss:// havolasini nusxalagandan so'ng "Buferdan import qilish" ni yoki "QR kodini skanerlash" ni tanlang va kamerani PNG ga yo'naltiring. Import qilingan profilni tanlash uchun bosing, so'ngra ulanish tugmasini bosing. Android birinchi marta VPN ruxsatini so'raydi - tunnelni o'rnatish uchun uni tasdiqlang. 

iOS’dan ulanmoqda

Bu yerdagi hamma narsa SSH orqali emas, balki iPhone yoki iPad-da sodir bo'ladi.

Shadowsocks-ga mos keladigan mijozni o'rnating

Shadowrocket - Shadowsocks qo'llab-quvvatlashiga ega eng ko'p ishlatiladigan iOS mijozi; bu ko'pgina do'konlarda pullik ilova. Uni App Store'da qidiring yoki oching.

Streisand - bu Shadowsocks-ni VLESS, Trojan va boshqa protokollar bilan bir qatorda qo'llab-quvvatlaydigan bepul, ochiq kodli alternativa.

App Store kataloglari vitrina/mintaqaga qarab farq qiladi va vaqt o'tishi bilan o'zgarishi mumkin; agar sizning katalogingizda ikkalasi ham ko'rinmasa, App Store'da "Shadowsocks" yoki "V2Box" ni qidiring.

Serverni import qiling

ss:// havolasini clipboardga nusxalang, mijozni oching va uning Clipboarddan qo'shish/import qilish opsiyasidan foydalaning yoki mijozning o'rnatilgan skaneri yordamida 7-bo'limdagi QR kodini skanerlang. Yangi profilni yoqing; iOS birinchi marta VPN konfiguratsiyasi uchun ruxsat so'raydi, buni siz Face ID, Touch ID yoki parolingiz orqali tasdiqlashingiz kerak bo'ladi.

Ulanishni tekshirish

Tunnel 8, 9, 10, 11 yoki 12-bo'limlardan faollashtirilgan holda, o'z qurilmangizga qayting (SSH sessiyasiga emas) va brauzerda "mening IP manzilim nima" tekshiruvchisini oching — ko'rsatilgan manzil VPS IP manzilingizga, ya'ni your_IP_addressingizga mos kelishi kerak.

Server tomonidan tekshirish uchun ulanish faolligi uchun systemd jurnalini tekshiring va portda o'rnatilgan sessiyalarni tasdiqlang (rust jurnali uchun ssserver yoki libev jurnali uchun shadowsocks-libev dan foydalaning):

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

Reference:

dala

qiymati

Manzil

VPS’ingizning umumiy IP-manzili

port

8388 (xuddi shu port 2-bo'limda ochilgan)

Parol

4-bo'limda yaratilgan kalit/parol iborasi

usul

2022-blake3-aes-256-gcm (rust) yoki chacha20-ietf-poly1305 (libev) — ikkala tomon ham bir-biriga mos kelishi kerak

moda

tcp_and_udp — TCP proksi-serverini va UDP relayini (DNS, ba'zi o'yinlar) yoqadi

plagin

ushbu qo'llanmada hech biri ishlatilmagan — Shadowsocks ishlashi uchun SNI, sertifikat yoki transport plaginiga ehtiyoj yo'q

Xulosa

Ushbu qo'llanmani bajarish VPS-ingizni o'zining Shadowsocks serverini - zamonaviy AEAD-2022 shifriga ega shadowsocks-rust yoki Ubuntu/Debian-ning o'z omboridan shadowsocks-libev - - hech qanday harakatsiz qayta ishga tushirilgandan so'ng omon qoladigan systemd xizmati sifatida ishga tushiradi.

Ko'proq foydalanuvchilar qo'shish:

  • Eng oddiy: ikkinchi parolni yarating (4-bo'lim) va o'zining konfiguratsiya fayli va systemd bloki bilan boshqa portda ikkinchi ssserver/shadowsocks-libev nusxasini ishga tushiring, so'ngra ushbu port uchun 5–7-bo'limlarni takrorlang.
  • AEAD-2022 shifriga ega shadowsocks-rust shuningdek, config.json (Extensible Identity Headers, SIP022) dagi "foydalanuvchilar" massivi orqali bitta port va parolni olish kalitini ulashadigan bir nechta foydalanuvchilarni qo'llab-quvvatlaydi — agar sizga bitta portda har bir foydalanuvchi uchun trafikni hisobga olish kerak bo'lsa, aniq sintaksis uchun shadowsocks-rust README ning Konfiguratsiya bo'limiga qarang.

Server ishlayotganda bir nechta odatlarga rioya qilish kerak:

  • Serverni yangilab turing. shadowsocks-rust uchun vaqti-vaqti bilan 3-bo'limdan yuklab olish va o'rnatish bosqichlarini yangi versiyani qidirish bilan qayta ishga tushiring, so'ngra systemctl sserverni qayta ishga tushiring. shadowsocks-libev uchun oddiy apt yangilanishi uni qoplaydi.
  • config.json faylini serverdan tashqarida maxfiy joyda zaxiralang. U har bir mijozning parolini saqlaydi; uni yo'qotish har bir qurilma uchun hisob ma'lumotlarini qayta tiklashni anglatadi.
  • Agar qurilma yo'qolsa yoki mijozga kirish imkoni bo'lmasa, parolni aylantiring: yangisini yarating (4-bo'lim), config.json faylini yangilang, xizmatni qayta ishga tushiring va qolgan har bir qurilma uchun mijoz havolasini qayta yarating (7-bo'lim).

Agar ulanish o'rnatilmasa, tartibni tekshiring:

  • xizmat holati (systemctl status ssserver --no-pager yoki shadowsocks-libev) va jurnal (journalctl -u ssserver -n 50 --no-pager)
  • xavfsizlik devori qoidalari (ufw holati — port tcp va udp uchun ham ochiq bo'lishi kerak)
  • port allaqachon boshqa xizmat bilan bog'lanmagan (ss -lntp | grep ':8388' ​​faqat ssserver/ss-serverni ko'rsatishi kerak)
  • mijozdagi parol, usul va port config.json bilan aniq mos keladi — bitta mos kelmaydigan belgi qo'l siqishda jimgina muvaffaqiyatsizlikka uchraydi, odatda aniq xato emas, balki ulanish vaqti tugashi sifatida ko'rsatiladi.
  • Agar mijozga faqat tcp_only emas, balki UDP (proksi-server orqali DNS, ba'zi o'yinlar/ilovalar) kerak bo'lsa, serverda ushbu rejim tcp_and_udp ga o'rnatiladi.

Shadowsocks ni boshqa variantlar bilan taqqoslaysizmi? Kuchli filtrlangan tarmoqda barmoq izini aniqlash qiyinroq bo'lgan TLS-kamuflyajga asoslangan protokol uchun Xray VLESS Reality Guide , WireGuard asosidagi alternativalar uchun AmneziaWG Serverni joylashtirish qo'llanmasi va serveringizda Wireguard VPN ni qanday sozlash yoki yo'qotishli yoki kuchli filtrlangan tarmoqlar uchun yaratilgan ikkita protokol uchun Hysteria2 va TUIC sozlamalariga qarang . Agar sizga to'liq tunnel sozlamalari o'rniga oddiy proksi kerak bo'lsa, CentOS/ArchLinux-dagi 3proxy konfiguratsiyasi ancha yengilroq alternativa hisoblanadi va Linux-dagi eski VPN server sozlamalari: PPTP yoki OpenVPN? sozlash osonroq, ammo DPI aniqlash va bloklash uchun ancha osonroq bo'lgan protokollarni qamrab oladi. Proksi ishga tushgandan so'ng serverni umumiy mustahkamlash uchun Linux foydalanuvchilari: boshqaruv va ruxsatnomalar bo'limiga qarang.

❮ Oldingi maqola Xray VLESS haqiqat qo'llanmasi: VPS, Windows, Mac, Android, iPhone
Keyingi maqola ❯ VMmanager 6 xavfsizlik hodisasi: nima bo'ldi va nima qilish kerak

Bizdan VPS haqida so'rang

Biz har doim kunduzi yoki tunning istalgan vaqtida savollaringizga javob berishga tayyormiz.