İnformasiya Bankı Profitserver xidməti ilə işləmək üçün sadə təlimatlar
Əsas İnformasiya Bankı Shadowsocks Bələdçisi (shadowsocks-rust / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone

Shadowsocks Bələdçisi (shadowsocks-rust / shadowsocks-libev): VPS, Windows, macOS, Linux, Android, iPhone


Shadowsocks, əvvəlcə adi şəbəkələrdə trafikin formalaşması və bloklanmasının qarşısını almaq üçün hazırlanmış yüngül, SOCKS5 əsaslı şifrələnmiş proxy protokoludur. Tam VPN-dən fərqli olaraq, o, yalnız tətbiqin açıq şəkildə göndərdiyi trafiki proksi edir, demək olar ki, heç bir protokol yükü daşımır və hətta məhdud bağlantılarda belə yaxşı işləyir. VLESS+Reality kimi real TLS əl sıxışmasını təqlid etməyə çalışmır - onun güclü tərəfi sadəlik, geniş müştəri dəstəyi (routerlər, telefonlar, brauzerlər) və çox aşağı gecikmədir, ağır yoxlanılan şəbəkədə trafik nümunəsinə görə barmaq izi əldə etmək bir qədər asan olması bahasına.

Aktiv şəkildə saxlanılan iki server tətbiqi mövcuddur:

  • shadowsocks-rust — shadowsocks təşkilatının Rust dilində yazılmış müasir istinad tətbiqi. Daha yeni AEAD-2022 şifrə ailəsini dəstəkləyir, fəal şəkildə inkişaf etdirilir və bu təlimatın ətraflı şəkildə quraşdırdığı və konfiqurasiya etdiyi tətbiqdir.
  • shadowsocks-libev — köhnə C tətbiqi. Hələ də səhv düzəlişləri üçün saxlanılır, öz systemd vahidləri ilə hazır apt paketi kimi göndərilir və əl ilə ikili idarəetmə olmadan ən sadə quraşdırma istəyirsinizsə, yaxşı seçimdir. Bu təlimat onu 3-cü bölmədə alternativ quraşdırma yolu kimi əhatə edir.

Bu təlimatda veb panel və ya Docker istifadə etmədən əmr sətri vasitəsilə serveri əl ilə necə konfiqurasiya edəcəyiniz təsvir olunur. "IP ünvanı" sahəsinin göründüyü yerdə onu VPS-inizin faktiki IP ünvanı ilə əvəz edin.

Sizə lazım olanlar: Ubuntu 22.04/24.04 və ya Debian 11/12 ilə işləyən VPS, root girişi, VPS-inizin IP ünvanı və pulsuz UDP/TCP portu (bu təlimatda standart Shadowsocks olan 8388 istifadə olunur).

Hələ serveriniz yoxdur? Server sifariş etmək və onun üçün necə ödəmək olar bölməsinə baxın.

Əvvəlcə bunu digər öz-özünə yerləşdirilmiş seçimlərlə müqayisə edin? TLS-kamuflyaj əsaslı alternativ üçün Xray VLESS Reality Guide , WireGuard əsaslı seçim üçün AmneziaWG Server Yerləşdirmə Guide və ya iki digər müasir proxy protokolu üçün Hysteria2 və TUIC quraşdırmasına baxın.

Serverə qoşulma

Pəncərələr (PuTTY)

PuTTY-ni açın, Host Adı sahəsinə VPS IP ünvanınızı daxil edin, portu 22-yə təyin edin və VPS provayderinizin sizə göndərdiyi paroldan istifadə edərək root kimi daxil olun.

Server IP ünvanı: sizin IP ünvanınız

kimi daxil olun: root

Şifrə: parolunuz

PuTTY/SSH vasitəsilə qoşulmanın ətraflı təsviri üçün Linux serverinə SSH vasitəsilə necə qoşulmaq olar bölməsinə baxın.

SSH girişi üçün PuTTY sessiya konfiqurasiyası. VPS-ə qoşulduqdan sonra PuTTY SSH terminalı. VPS-ə uğurlu SSH girişi.

Linux / macOS (terminal)

ssh root@your_IP_address

Aşağıdakı bütün əmrlər serverdə, eyni SSH sessiyasında — 2-7-ci bölmələri, üstəgəl 13-cü bölmədəki server tərəfindəki yoxlamaları əhatə edən — işə salınır. 8-12-ci bölmələr (klient tətbiqlərinin quraşdırılması və konfiqurasiyası) proksinin işləməli olduğu cihaz olduğundan, öz Windows/macOS/Linux/Android/iOS cihazınızda yerinə yetirilir; bu bölmələrin hər birində hansı sətirlərin, əgər varsa, serverə hələ də toxunduğu açıq şəkildə göstərilir.

Serverin Hazırlanması

Sistemi yeniləyin

Bir şey quraşdırmadan əvvəl, paket siyahısını yeniləyin və quraşdırılmış paketləri təkmilləşdirin:

apt update -y && apt upgrade -y
Quraşdırılmış paketləri yeniləmək üçün istifadə olunan əmr. Paket yeniləmə çıxışı. Paket yeniləməsi zamanı nüvə yeniləmə bildirişi göstərilir Paket yeniləməsi zamanı xidmətlərin yenidən başlatması sorğusu göstərilir.

Əgər bu, nüvəni yeniləyirsə, davam etməzdən əvvəl yenidən başlatmaq yaxşı bir fikirdir. (APT və Linux paket menecerlərinin necə işlədiyi barədə məlumat üçün Linux Paket Menecerlərinə baxın .) Yoxlayın:

cat /var/run/reboot-required
Yenidən başlatmağın tələb olunub-olunmadığını yoxlamaq üçün istifadə olunan əmr. Yenidən başlatma tələb edən yoxlamanın çıxışı.

Əgər fayl mövcuddursa, əvvəlcə 'reboot' əmri ilə yenidən başladın, təxminən 30 saniyə gözləyin, sonra yenidən qoşulun.

Bu təlimatda istifadə olunan alətləri quraşdırın

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

curl/wget və tar/xz-utils shadowsocks-rust buraxılış arxivini yükləmək və açmaq üçün lazımdır; ufw aşağıda konfiqurasiya edilmiş firewalldır; qrencode 7-ci bölmədə hazır klient linkini skan edilə bilən QR koduna çevirir.

Tələb olunan server yardım proqramlarını quraşdırmaq üçün istifadə olunan əmr.

Firewall (UFW) konfiqurasiya edin

UFW qaydaları haqqında daha çox məlumat üçün Linux-da Firewall-ın konfiqurasiyasına baxın.

Lazım olan iki portu açın: SSH üçün 22/tcp (bu qaydanı atlayın və serverə girişi itirmək riski ilə üzləşəcəksiniz) və 8388, həm tcp, həm də udp — Shadowsocks həm TCP əlaqələrini, həm də UDP əlaqələrini proksi edir (DNS və bəzi oyunlar/tətbiqlər üçün faydalıdır), buna görə də portun hər iki istiqaməti açıq olmalıdır.

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

Hər üç qayda ufw status çıxışında ALLOW kimi göstərilməlidir. Daha sonra config.json faylında portu dəyişdirsəniz, bu qaydaları uyğunlaşdırmaq üçün yeniləyin.

Konfiqurasiya edilmiş SSH və Shadowsocks qaydalarını göstərən UFW statusu.

Server Proqramının Quraşdırılması

Aşağıdakı iki seçimdən birini seçin. A seçimi (shadowsocks-rust) tövsiyə olunur: bu, fəal şəkildə hazırlanmış tətbiqdir və bu təlimatda sonradan istifadə edilən müasir AEAD-2022 şifrələrini dəstəkləyir. Hazır sistemli vahidi olan sadə apt paketindən istifadə etmək və AEAD-2022-yə ehtiyacınız yoxdursa, B seçimi (shadowsocks-libev) əla seçimdir.

A seçimi — shadowsocks-rust (tövsiyə olunur)

Shadowsocks-rust, cari buraxılışlarla birlikdə apt paketi göndərmir, ona görə də layihənin GitHub buraxılışlarından əvvəlcədən qurulmuş statik ikili faylı yükləməklə quraşdırılır. GitHub API-dən ən son buraxılış etiketini əldə edin və uyğun Linux x86_64 arxivini yükləyin:

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 buraxılış arxivini yükləmək üçün istifadə olunan əmr.

Əgər VPS-iniz x86_64 əvəzinə arm64-dürsə (`uname -m` ilə yoxlayın), yuxarıdakı fayl adında x86_64-unknown-linux-gnu-nu aarch64-unknown-linux-gnu ilə əvəz edin.

Arxivi çıxarın və ikili faylları sistem daxilində quraşdırı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
shadowsocks-rust binar fayllarını çıxarmaq və quraşdırmaq üçün istifadə olunan əmr.

İkili faylın yerində olduğunu və quraşdırılmış versiyanı yoxlayın:

ssserver --version
ssserver versiyası quraşdırılıb.

Konfiqurasiya faylının yerləşəcəyi qovluğu yaradın:

mkdir -p /etc/shadowsocks-rust
shadowsocks-rust konfiqurasiya qovluğunun yaradılması.

Bu təlimat, quraşdırıcı skriptini bash-a yükləmək əvəzinə, sabit bir versiya quraşdırır. Daha sonra yeniləmək üçün yuxarıdakı iki əmri yeni SS_VER axtarışı ilə yenidən işə salın, xidməti dayandırın, ikili faylı dəyişdirin və yenidən başladın (Bölmə 6).

Seçim B — shadowsocks-libev (alternativ, uyğun paket)

Shadowsocks-libev, Ubuntu-nun kainat depolarına (Ubuntu 16.10+) və Debian-ın əsas depolarına (Debian 8+) daxildir, buna görə də 22.04/24.04 və ya Debian 11/12-də üçüncü tərəf PPA-ya ehtiyac yoxdur:

apt install -y shadowsocks-libev
Paket deposundan shadowsocks-libev quraşdırmaq üçün istifadə olunan əmr.

Əgər apt paketin tapılmadığını bildirirsə, kainat deposu deaktivdir; onu aktivləşdirin və yenidən cəhd edin:

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

Paket öz systemd bölmələrini quraşdırır (standart konfiqurasiya üçün shadowsocks-libev.service, üstəgəl adlanan hər bir nümunə konfiqurasiyası üçün [email protected] ) və avtomatik olaraq /etc/shadowsocks-libev/config.json yaradır — 4-6-cı bölmələrdə rust əmrləri ilə yanaşı libev-ə xas əmrlər və fayl yolları da qeyd olunur. Bu təlimatın qalan müştəri bölmələri (7-13) hər iki server tətbiqinə eyni şəkildə tətbiq olunur, çünki hər ikisi eyni Shadowsocks/SIP002 protokolunu naqildə danışır.

Şifrə Yaratmaq və Şifrə Seçmək

Shadowsocks identifikasiyası, hər iki tərəfin razılaşmalı olduğu tək ortaq parol və şifrədir (şifrələmə metodudur) — idarə etmək üçün ayrıca UUID, açar cütü və ya sertifikat yoxdur.

Şifrə ailələri

  • AEAD-2022 (tövsiyə olunur, yalnız shadowsocks-rust üçün): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305. Daha güclü təkrarlama qorunması və bir portu paylaşan birdən çox istifadəçi üçün dəstək ilə daha yeni dizayn (SIP022). Şifrə, şifrənin açar uzunluğuna tam uyğun base64 sətri olmalıdır (128 bitlik variantlar üçün 16 bayt, 256 bitlik variant üçün 32 bayt).
  • Klassik AEAD (həm rust, həm də libev tərəfindən dəstəklənir): aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305. Köhnə klientlər və shadowsocks-libev ilə geniş uyğunluq təşkil edir; parol istənilən parol ifadəsi ola bilər, çünki o, birbaşa açar material kimi istifadə edilmək əvəzinə, açar çıxarma funksiyası vasitəsilə verilir.

Bu təlimatda shadowsocks-rust serveri üçün 2022-blake3-aes-256-gcm istifadə olunur, çünki bu, ən güclü və ən aktual seçimdir və sonradan tövsiyə olunan hər bir klient (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) onu dəstəkləyir. Əgər 3-cü bölmədə shadowsocks-libev quraşdırmısınızsa, bunun əvəzinə chacha20-ietf-poly1305 və ya aes-256-gcm istifadə edin, çünki libev AEAD-2022 tətbiq etmir.

Açar yaradın (shadowsocks-rust)

ssservice genkey -m "2022-blake3-aes-256-gcm"
shadowsocks-libev üçün təsadüfi parol yaratmaq üçün istifadə olunan əmr.

Bu, base64 sətrini çap edir — bu sizin parolunuzdur. Onu təhlükəsiz bir yerə kopyalayın; onu həm 5-ci bölmədəki server konfiqurasiyasına, həm də 7-ci bölmədəki klient linkinə yapışdıracaqsınız.

Təsadüfi parol ifadəsi yaradıldı.

Şifrə seçin (shadowsocks-libev)

shadowsocks-libev tərəfindən istifadə edilən klassik AEAD şifrələri üçün, kifayət qədər uzun təsadüfi sətir işləyir, çünki o, xam açar kimi istifadə edilmək əvəzinə PBKDF/HKDF vasitəsilə işə salınır. Birini aşağıdakı ilə yaradın:

openssl rand -base64 32

Server Konfiqurasiyasının Yazılması

Kölgə corabları-pas

Redaktə etmək üçün konfiqurasiya faylını açın:

nano /etc/shadowsocks-rust/config.json

Aşağıdakı şablonu 4-cü bölmədən öz parolunuzu (və 8388-dən dəyişdirmisinizsə, 2-ci bölmədən portu) əvəz edərək yapışdırın:

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

Faylı saxlamaq üçün Ctrl+O (WriteOut) düymələrini, fayl adını təsdiqləmək üçün Enter düyməsini, sonra isə nano-dan çıxmaq üçün Ctrl+X düymələrini basın.

Vacib sahələr: server bütün interfeyslərdə dinləyir (0.0.0.0); server_port 2-ci bölmədə açılan portdur; parol/metod 4-cü bölmədən olan etimadnamə və şifrədir; mode həm TCP, həm də UDP ötürməsini təmin edir; timeout saniyələrlə boş bağlantı fasiləsidir; nofile məşğul serverlər üçün fayl təsviri limitini artırır.

JSON faylını və ikili faylın onu systemd-ə qoşmadan əvvəl qəbul etdiyini təsdiqləyin:

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 vahidini yaradın (shadowsocks-rust)

İkili versiya sistemli vahid göndərmir, ona görə də birini yaradın:

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

Yuxarıdakı kimi yadda saxla və çıxın, sonra systemd-ə yeni bölmə faylını götürməsini deyin:

systemctl daemon-reload

Shadowsocks-libev

apt paketi artıq /etc/shadowsocks-libev/config.json faylını standart (yalnız döngü, təsadüfi parol) konfiqurasiyası və öz systemd vahidi ilə yaratmışdır. Redaktə etmək üçün açın:

shadowsocks-libev konfiqurasiya faylını açmaq üçün istifadə olunan əmr.
nano /etc/shadowsocks-libev/config.json

Məzmunu aşağıdakılarla əvəz edin:

{
    "server":"0.0.0.0",
    "server_port":8388,
    "password":"YOUR-PASSPHRASE-HERE",
    "method":"chacha20-ietf-poly1305",
    "mode":"tcp_and_udp",
    "timeout":300
}
shadowsocks-libev konfiqurasiyasının nümunəsi.

Varsayılan konfiqurasiya server: ["::1", "127.0.0.1"] istifadə edir (yalnız döngü); onu "0.0.0.0" olaraq dəyişdirmək serverə ictimai IP-dən əlçatan edir — yuxarıdakı şablon əvəzinə stok faylını kopyalamısınızsa, bunu atlamayın.

Xidməti Başlat və Avtomatik Başlatı Aktivləşdir

Kölgə corabları-pas

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

Status aktiv (işləyir) kimi göstərilməlidir. Portda (hər iki protokolda) bir şeyin həqiqətən dinlənildiyini təsdiqləyin:

Server 8388 TCP və UDP portunda dinləyir.
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'

Xidmət başlamazsa, niyə olduğunu anlamağın ən sürətli yolu systemd jurnalıdır (ümumiyyətlə Linux jurnallarını oxumaq haqqında məlumat üçün Linux jurnallarını necə oxumaq və harada tapmaq barədə məqaləyə baxın ):

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

Shadowsocks-libev

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

Portu və qeydləri shadowsocks-rust üçün olduğu kimi yoxlayın, xidmət adını əvəz edin:

shadowsocks-libev xidmətini yenidən başlatmaq, aktivləşdirmək və yoxlamaq üçün istifadə olunan əmrlər. Shadowsocks-libev xidmət statusu aktiv (işləyir) göstərir.
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager

Müştəri Əlaqəsi Bağlantısının Qurulması

Shadowsocks klientləri konfiqurasiya faylı əvəzinə tək bir ss:// paylaşma linkini (SIP002 URL formatı) idxal edir. Link, URL-in istifadəçi məlumatı hissəsində şifrəni və parolu base64 kimi kodlaşdırır:

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

Serverdə base64 hissəsini qurun (bu, əl ilə kodlaşdırma zamanı baş verə biləcək hər hansı bir səhvin qarşısını alır):

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"

Nümunə çıxışı (yer tutucu açarı ilə):

Nümunə olaraq yaradılan ss:// əlaqə linki (illüstrativ).
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server

#-dən sonrakı mətn sadəcə istənilən klientdə sərbəst şəkildə adlandıra biləcəyiniz bir ekran etiketidir. shadowsocks-libev serveri üçün METHOD="chacha20-ietf-poly1305" (və ya aes-256-gcm) və onun parol ifadəsini 4-cü bölmədən əvəz edin. 

Mobil müştərilərin birbaşa skan edə bilməsi üçün onu QR koduna çevirin:

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

PNG faylını scp ilə öz kompüterinizə kopyalayın, serverdən deyil, kompüterinizin terminalından (və ya Windows-da PowerShell-dən) işə salın:

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

Windows-dan qoşulma

Bu bölmədəki hər şey SSH üzərindən deyil, Windows kompüterinizdə baş verir — klient proksi-serverdən istifadə edəcək cihazda işləməlidir.

v2rayN-i quraşdırın

v2rayN, VLESS, VMess, Trojan və digər proqramlarla yanaşı, Shadowsocks dəstəyinə malik pulsuz, aktiv şəkildə saxlanılan GUI klientidir. Ən son versiyanı layihənin səhifəsindən yükləyin.

Windows 64-bit .zip aktivini əldə edin (müstəqil versiyanın son v2rayN versiyalarına görə ayrıca .NET işləmə müddətinə ehtiyacı yoxdur), onu istənilən yerdən çıxarın və v2rayN.exe faylını işə salın.

Serveri idxal edin

Bölmə 7-də quraşdırılmış ss:// linkini panoya kopyalayın (və ya QR PNG-ni scp ilə kopyalayın və açın), sonra v2rayN-də Serverlər → Panoyadan toplu URL-i import et seçin (və ya QR kodunu daxili skaner vasitəsilə skan edin). Yeni server profili siyahıda #-dən sonra təyin etdiyiniz etiketlə görünür.

Profilə sağ klikləyin və onu aktiv olaraq seçin, sonra əsas pəncərənin alətlər panelindən sistem proksisini (və ya bütün maşını yönləndirmək üçün TUN rejimini) aktivləşdirin.

MacOS-dan qoşulur

Bu bölmədəki hər şey SSH üzərindən deyil, Mac-da baş verir.

ShadowsocksX-NG-ni quraşdırın

ShadowsocksX-NG, Shadowsocks üçün uzun müddətdir mövcud olan yerli macOS GUI klientidir; hazırkı buraxılış xətti Intel ilə birlikdə yerli Apple Silicon versiyasını təqdim edir. Ən son .dmg faylını buraxılış səhifəsindən yükləyin.

.dmg faylını açın və ShadowsocksX-NG faylını Applications bölməsinə sürüşdürün, sonra işə salın — menyu çubuğunda bir işarə kimi görünür.

 

Serveri idxal edin

7-ci bölmədən ss:// linkini panoya kopyalayın, sonra menyu çubuğu işarəsi → Serverlər → Server Seçimləri → aşağı sol küncdəki + işarəsini vurun və "Kartofdan İdxal Et" seçimini edin (və ya PNG faylını açdıqdan sonra QR kodunu "Ekrandan QR Kodunu Skan Et" ilə skan edin). Menyu çubuğunun açılan menyusundan yeni profil seçin, sonra "Shadowsocks: On" seçimini dəyişin və eyni menyudan "PAC Auto" və ya "Qlobal" yönləndirmə rejimini seçin.

Linux Masaüstündən Qoşulma

Bu bölmədəki hər şey VPS-də deyil, öz Linux kompüterinizdə baş verir.

Yerli klienti quraşdırın

Əgər 3-cü bölmədə serverə shadowsocks-rust quraşdırmısınızsa, eyni buraxılış arxivində SOCKS5/HTTP lokal proxy klienti olan sslocal var. Onu server binar faylı ilə eyni şəkildə yükləyin və quraşdırın (əgər x86_64-unknown-linux-gnu deyilsə, masaüstünüz üçün OS/arch şəkilçisini tənzimləyin):

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/

Konfiqurasiya edin və işə salın

127.0.0.1:1080 üzərində SOCKS5 proksi olaraq kiçik bir lokal dinləmə konfiqurasiyası yaradın:

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

Brauzerinizi və ya sistem şəbəkə parametrlərinizi 127.0.0.1:1080 ünvanında yerləşən SOCKS5 proxy-sinə yönləndirin. GUI üçün Nekoray və ya ShadowsocksX-Qt5 stilindəki çəngəllər 7-ci bölmədən eyni ss:// linkini idxal edə və sslocal-ı əl ilə işə salmaq əvəzinə sizin üçün idarə edə bilər.

Android-dən qoşulma

Burada hər şey SSH üzərindən deyil, Android cihazınızda baş verir.

Müştəri quraşdırın

İki yaxşı seçim:

  • Android üçün Shadowsocks — shadowsocks təşkilatının rəsmi müştərisi. Onu Google Play-dən quraşdırın ("Shadowsocks" axtarın) və ya Play sizin cihazınızda mövcud deyilsə, APK-nı birbaşa layihənin buraxılış səhifəsindən yükləyin. rayon.
  • v2rayNG — v2rayN-in Android analoqu, VLESS/VMess/Trojan ilə yanaşı Shadowsocks-ı dəstəkləyir; birdən çox protokol üçün bir tətbiq istəyirsinizsə faydalıdır növləri.

Serveri idxal edin

Hər iki tətbiqdə: + düyməsinə toxunun, 7-ci bölmədən ss:// linkini kopyaladıqdan sonra "Buferdən idxal et" və ya "QR kodunu skan et" seçin və kameranı PNG-yə yönəldin. İdxal olunmuş profili seçmək üçün onu vurun, sonra qoşulma düyməsinə toxunun. Android ilk dəfə VPN icazəsi istəyəcək - tunelin qurulması üçün təsdiqləyin. 

iOS-dan qoşulma

Burada hər şey SSH üzərindən deyil, iPhone və ya iPad-də baş verir.

Shadowsocks-a uyğun bir klient quraşdırın

Shadowrocket, Shadowsocks dəstəyi ilə ən çox istifadə edilən iOS klientidir; əksər mağazalarda ödənişli bir tətbiqdir. Onu App Store-da axtarın və ya açın.

Streisand, VLESS, Trojan və digər protokollarla yanaşı Shadowsocks-ı da dəstəkləyən pulsuz, açıq mənbəli alternativdir.

App Store kataloqları vitrin/regiona görə dəyişir və zamanla dəyişə bilər; əgər heç biri sizin mağazanızda görünmürsə, App Store-da "Shadowsocks" və ya "V2Box" axtarın.

Serveri idxal edin

ss:// linkini panoya kopyalayın, klienti açın və onun "Panoya Əlavə Et/İdxal Et" seçimindən istifadə edin və ya 7-ci bölmədən QR kodunu klientin daxili skaneri ilə skan edin. Yeni profili aktivləşdirin; iOS ilk dəfə VPN konfiqurasiya icazəsi istəyəcək və bunu Face ID, Touch ID və ya parolunuz vasitəsilə təsdiqləməlisiniz.

Bağlantının yoxlanılması

Tunel 8, 9, 10, 11 və ya 12-ci bölmələrdən aktiv olduqda, öz cihazınıza (SSH sessiyasına deyil) qayıdın və brauzerdə istənilən "mənim IP ünvanım nədir" yoxlayıcısını açın — göstərilən ünvan VPS-inizin IP ünvanı olan your_IP_address ilə uyğun olmalıdır.

Server tərəfindən yoxlamaq üçün systemd jurnalını bağlantı fəaliyyəti üçün yoxlayın və portda qurulmuş sessiyaları təsdiqləyin (rust jurnalı üçün ssserver və ya libev jurnalı üçün shadowsocks-libev istifadə edin):

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

Referans:

Sahə

Dəyər

ünvan

VPS-inizin ictimai IP ünvanı

port

8388 (eyni port 2-ci bölmədə açılıb)

parol

Bölmə 4-də yaradılan açar/parol ifadəsi

Üsul

2022-blake3-aes-256-gcm (rust) və ya chacha20-ietf-poly1305 (libev) — hər iki tərəfdə tam uyğun olmalıdır

mode

tcp_and_udp — həm TCP proksi-serverini, həm də UDP rölesini (DNS, bəzi oyunlar) aktivləşdirir

Plugin

Bu təlimatda heç biri istifadə edilməyib — Shadowsocks-ın işləməsi üçün heç bir SNI, sertifikat və ya nəqliyyat plagini tələb olunmur

Nəticə

Bu təlimatı izləməklə, VPS-iniz öz Shadowsocks serverini — ya müasir AEAD-2022 şifrəsi ilə shadowsocks-rust, ya da Ubuntu/Debian-ın öz deposundan shadowsocks-libev — — sizin tərəfinizdən heç bir hərəkət edilmədən yenidən başlatmadan sağ çıxan systemd xidməti kimi işlədir.

Daha çox istifadəçi əlavə olunur:

  • Ən sadə: ikinci bir parol yaradın (Bölmə 4) və öz konfiqurasiya faylı və systemd vahidi ilə fərqli bir portda ikinci bir ssserver/shadowsocks-libev instansiyasını işə salın, sonra həmin port üçün 5-7-ci bölmələri təkrarlayın.
  • AEAD-2022 şifrəsi ilə shadowsocks-rust, config.json-dakı "istifadəçilər" massivi (Genişləndirilə bilən Şəxsiyyət Başlıqları, SIP022) vasitəsilə bir port və parol çıxarma açarını paylaşan birdən çox istifadəçini də dəstəkləyir — tək bir portda istifadəçi başına trafik uçotuna ehtiyacınız varsa, dəqiq sintaksis üçün shadowsocks-rust README-nin Konfiqurasiya bölməsinə baxın.

Server işləyərkən riayət etməyə dəyər bir neçə vərdiş:

  • Serveri yeniləyin. shadowsocks-rust üçün, vaxtaşırı olaraq 3-cü bölmədən yükləmə və quraşdırma addımlarını yeni versiya axtarışı ilə yenidən işə salın, sonra systemctl ssserver-i yenidən başladın. shadowsocks-libev üçün isə sadə apt yeniləməsi bunu əhatə edir.
  • config.json faylını serverdən kənarda gizli bir yerdə ehtiyat nüsxələyin. Bu fayl hər bir klientin parolunu saxlayır; onu itirmək hər cihaz üçün etimadnamənin bərpası deməkdir.
  • Cihaz itirildikdə və ya klient oğurlandıqda parolu dəyişdirin: yenisini yaradın (Bölmə 4), config.json faylını yeniləyin, xidməti yenidən başladın və qalan hər bir cihaz üçün klient bağlantısını yenidən qurun (Bölmə 7).

Bağlantı baş tutmasa, ardıcıllığı yoxlayın:

  • xidmət statusu (systemctl status ssserver --no-pager və ya shadowsocks-libev) və jurnal (journalctl -u ssserver -n 50 --no-pager)
  • firewall qaydaları (ufw statusu — port həm tcp, həm də udp üçün açıq olmalıdır)
  • portun artıq başqa bir xidmətlə əlaqəli olmadığı (ss -lntp | grep ':8388' ​​yalnız ssserver/ss-server göstərməlidir)
  • klientdəki parol, metod və port config.json ilə tam uyğun gəlir — uyğunsuz bir simvol əl sıxışmasını səssizcə uğursuz edir və adətən açıq bir səhv əvəzinə bağlantı vaxtı kimi göstərilir.
  • Əgər klient yalnız tcp_only deyil, UDP (proxy üzərindən DNS, bəzi oyunlar/tətbiqlər) tələb edirsə, serverdə bu rejim tcp_and_udp olaraq təyin olunur.

Shadowsocks-ı digər variantlarla müqayisə edirsiniz? Yüksək filtrlənmiş şəbəkədə barmaq izi əldə etmək daha çətin olan TLS-kamuflyaj əsaslı protokol üçün Xray VLESS Reality Guide , WireGuard əsaslı alternativlər üçün serverinizdə AmneziaWG Server Yerləşdirmə Təlimatı və WireGuard əsaslı alternativlər üçün Wireguard VPN-i necə qurmaq olar və ya itkili və ya yüksək filtrlənmiş şəbəkələr üçün qurulmuş iki protokol üçün Hysteria2 və TUIC quraşdırmasına baxın . Tam tunel quraşdırması əvəzinə yalnız sadə bir proxy-yə ehtiyacınız varsa, CentOS/ArchLinux-da 3proxy konfiqurasiyası daha yüngül alternativdir və Linux-da köhnə VPN server quraşdırması: PPTP və ya OpenVPN?, qurulması daha asan, lakin DPI-nin aşkarlanması və bloklanması üçün daha asan olan protokolları əhatə edir. Proksi işə düşdükdən sonra ümumi server sərtləşməsi üçün Linux İstifadəçiləri: İdarəetmə və İcazələr bölməsinə baxın.

❮ Əvvəlki məqalə Xray VLESS Reallıq Bələdçisi: VPS, Windows, Mac, Android, iPhone
Növbəti məqalə ❯ VMmanager 6 Təhlükəsizlik Hadisəsi: Nə Baş Verdi və Nə Edilməli

Bizdən VPS haqqında soruşun

Günün və ya gecənin istənilən vaxtında suallarınızı cavablandırmağa hər zaman hazırıq.