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.
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
Ə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
Ə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.
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.
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"
Ə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
İkili faylın yerində olduğunu və quraşdırılmış versiyanı yoxlayın:
ssserver --version
Konfiqurasiya faylının yerləşəcəyi qovluğu yaradın:
mkdir -p /etc/shadowsocks-rust
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
Ə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"
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.
Ş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:
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
}
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:
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:
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ə):
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.