شیڈو ساکس ایک ہلکا پھلکا، SOCKS5 پر مبنی انکرپٹڈ پراکسی پروٹوکول ہے جو اصل میں عام نیٹ ورکس پر ٹریفک کی شکل دینے اور بلاک کرنے کے لیے ڈیزائن کیا گیا ہے۔ ایک مکمل VPN کے برعکس، یہ صرف اس ٹریفک کو پراکسی کرتا ہے جسے کوئی ایپلیکیشن واضح طور پر بھیجتی ہے، اس کا تقریباً کوئی پروٹوکول نہیں ہوتا ہے، اور محدود کنکشن پر بھی اچھی طرح کام کرتا ہے۔ یہ ایک حقیقی TLS ہینڈ شیک کی نقل کرنے کی کوشش نہیں کرتا ہے جس طرح VLESS+Reality کرتا ہے — اس کی طاقت سادگی، وسیع کلائنٹ سپورٹ (راؤٹرز، فونز، براؤزرز)، اور بہت کم تاخیر ہے، جس کی قیمت پر ٹریفک پیٹرن کے ذریعے فنگر پرنٹ کرنا بہت آسان ہے۔
دو فعال طور پر برقرار رکھنے والے سرور کے نفاذ ہیں:
- shadowsacks-rust — شیڈو ساکس آرگنائزیشن سے جدید حوالہ کا نفاذ، جو Rust میں لکھا گیا ہے۔ یہ نئے AEAD-2022 سائفر فیملی کو سپورٹ کرتا ہے، فعال طور پر تیار کیا گیا ہے، اور یہ گائیڈ تفصیل سے انسٹال اور کنفیگر کرتا ہے۔
- shadowsocks-libev - پرانا C نفاذ۔ یہ اب بھی بگ فکسز کے لیے برقرار ہے، اس کے اپنے سسٹمڈ یونٹوں کے ساتھ ایک ریڈی میڈ آپٹ پیکج کے طور پر بحری جہاز، اور اگر آپ بغیر دستی بائنری ہینڈلنگ کے بالکل آسان انسٹال کرنا چاہتے ہیں تو یہ ایک اچھا انتخاب ہے۔ یہ گائیڈ سیکشن 3 میں انسٹالیشن کے متبادل راستے کے طور پر اس کا احاطہ کرتا ہے۔
یہ گائیڈ بیان کرتا ہے کہ کس طرح کمانڈ لائن کے ذریعے سرور کو دستی طور پر ترتیب دیا جائے — بغیر کسی ویب پینل یا ڈوکر کا استعمال کیے۔ جہاں بھی "IP ایڈریس" فیلڈ ظاہر ہوتا ہے، اسے اپنے VPS کے اصل IP ایڈریس سے بدل دیں۔
آپ کو کیا ضرورت ہے: Ubuntu 22.04/24.04 یا Debian 11/12 چلانے والا VPS، روٹ تک رسائی، آپ کے VPS کا IP پتہ، اور ایک مفت UDP/TCP پورٹ (یہ گائیڈ 8388 استعمال کرتا ہے، شیڈو ساکس ڈیفالٹ)۔
ابھی تک سرور نہیں ہے؟ سرور کو آرڈر کرنے اور اس کی ادائیگی کرنے کا طریقہ دیکھیں ۔
پہلے خود میزبانی کے دوسرے اختیارات کے خلاف اس کا موازنہ کرنا؟ TLS-کیموفلاج پر مبنی متبادل کے لیے Xray VLESS ریئلٹی گائیڈ ، WireGuard پر مبنی آپشن کے لیے AmneziaWG سرور ڈیپلائمنٹ گائیڈ ، یا دو دیگر جدید پراکسی پروٹوکولز کے لیے Hysteria2 اور TUIC سیٹ اپ دیکھیں ۔
سرور سے جڑ رہا ہے۔
ونڈوز (PUTY)
PuTTY کھولیں، میزبان نام کی فیلڈ میں اپنا VPS IP ایڈریس درج کریں، پورٹ کو 22 پر سیٹ کریں، اور آپ کے VPS فراہم کنندہ نے آپ کو ای میل کیے گئے پاس ورڈ کا استعمال کرتے ہوئے روٹ کے طور پر لاگ ان کریں۔
سرور کا IP پتہ: آپ کا IP پتہ
لاگ ان کے طور پر: جڑ
پاس ورڈ: آپ کا پاس ورڈ
PuTTY/SSH کے ذریعے جڑنے کی تفصیلی واک تھرو کے لیے، SSH کے ذریعے لینکس سرور سے جڑنے کا طریقہ دیکھیں ۔
لینکس / میک او ایس (ٹرمینل)
ssh root@your_IP_address
نیچے دی گئی تمام کمانڈز سرور پر چلائی جاتی ہیں، اسی SSH سیشن میں — جس میں سیکشن 2 سے 7 تک کا احاطہ کیا گیا ہے، نیز سیکشن 13 میں سرور سائیڈ چیکس۔ سیکشنز 8-12 (کلائنٹ ایپس کو انسٹال کرنا اور کنفیگر کرنا) آپ کے اپنے Windows/macOS/Linux/Android/iOS ڈیوائس پر ہوتا ہے، اس کے بجائے ڈیوائس کو چلانے کے لیے proxy کی ضرورت ہوتی ہے۔ ان حصوں میں سے ہر ایک واضح طور پر کہتا ہے کہ کون سی لائنیں، اگر کوئی ہیں، پھر بھی سرور کو چھوتی ہیں۔
سرور کی تیاری
نظام کو اپ ڈیٹ کریں
کسی بھی چیز کو انسٹال کرنے سے پہلے، پیکیج کی فہرست کو ریفریش کریں اور انسٹال کردہ پیکجوں کو اپ گریڈ کریں:
apt update -y && apt upgrade -y
اگر یہ دانا کو اپ گریڈ کرتا ہے، تو جاری رکھنے سے پہلے ریبوٹ ایک اچھا خیال ہے۔ (آپٹ پر ریفریشر کے لیے اور لینکس پیکیج مینیجر کیسے کام کرتے ہیں، لینکس پیکیج مینیجر دیکھیں ۔) اس کے ساتھ چیک کریں:
cat /var/run/reboot-required
اگر فائل موجود ہے تو پہلے 'ریبوٹ' کے ساتھ ریبوٹ کریں، ~30 سیکنڈ انتظار کریں، پھر دوبارہ جڑیں۔
ان ٹولز کو انسٹال کریں جو یہ گائیڈ استعمال کرتا ہے۔
apt install -y curl wget tar xz-utils ufw qrencode
شیڈو ساکس-رسٹ ریلیز آرکائیو کو لانے اور کھولنے کے لیے curl/wget اور tar/xz-utils کی ضرورت ہے۔ ufw ذیل میں کنفیگر کردہ فائر وال ہے۔ qrencode مکمل کلائنٹ لنک کو سیکشن 7 میں اسکین ایبل QR کوڈ میں بدل دیتا ہے۔
فائر وال کو ترتیب دیں (UFW)
UFW قوانین کے بارے میں مزید جاننے کے لیے، لینکس پر فائر وال کی تشکیل دیکھیں ۔
دو بندرگاہوں کو کھولیں جن کی آپ کو ضرورت ہوگی: SSH کے لیے 22/tcp (اس اصول کو چھوڑ دیں اور آپ کو سرور تک رسائی کھونے کا خطرہ ہے) اور 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 میں پورٹ کو تبدیل کرتے ہیں تو ان اصولوں کو میچ کرنے کے لیے اپ ڈیٹ کریں۔
سرور سافٹ ویئر انسٹال کرنا
ذیل میں دو اختیارات میں سے ایک کو منتخب کریں۔ آپشن A (shadowsocks-rust) کی سفارش کی جاتی ہے: یہ فعال طور پر تیار کردہ نفاذ ہے اور اس گائیڈ میں بعد میں استعمال ہونے والے جدید AEAD-2022 سائفرز کی حمایت کرتا ہے۔ آپشن B (shadowsocks-libev) ایک بہترین انتخاب ہے اگر آپ ایک سادہ آپٹ پیکیج کو ایک ریڈی میڈ سسٹمڈ یونٹ کے ساتھ استعمال کرنا چاہتے ہیں اور AEAD-2022 کی ضرورت نہیں ہے۔
آپشن A — شیڈو ساکس-زنگ (تجویز کردہ)
Shadowsocks-rust موجودہ ریلیز کے ساتھ مناسب پیکیج نہیں بھیجتا ہے، لہذا اسے پروجیکٹ کے 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"
اگر آپ کا VPS x86_64 کے بجائے arm64 ہے (`unname -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
تصدیق کریں کہ بائنری جگہ پر ہے اور انسٹال شدہ ورژن کو چیک کریں:
ssserver --version
وہ ڈائرکٹری بنائیں جس میں کنفیگریشن فائل رہے گی:
mkdir -p /etc/shadowsocks-rust
یہ گائیڈ انسٹالر اسکرپٹ کو bash میں پائپ کرنے کے بجائے ایک مقررہ ورژن انسٹال کرتا ہے۔ بعد میں اپ گریڈ کرنے کے لیے، اوپر کی دو کمانڈز کو ایک تازہ SS_VER تلاش کے ساتھ دوبارہ چلائیں، سروس بند کریں، بائنری کو تبدیل کریں، اور اسے دوبارہ شروع کریں (سیکشن 6)۔
آپشن B — شیڈو ساکس-لیبیو (متبادل، مناسب پیکیج)
Shadowsocks-libev Ubuntu کی کائنات کے ذخیرے (Ubuntu 16.10+) اور Debian کے مرکزی ذخیرے (Debian 8+) میں شامل ہے، اس لیے 22.04/24.04 یا Debian 11/12 پر کسی تیسرے فریق PPA کی ضرورت نہیں ہے:
apt install -y shadowsocks-libev
اگر آپٹ رپورٹ کرتا ہے کہ پیکج نہیں ملا، تو کائنات کا ذخیرہ غیر فعال ہو جاتا ہے۔ اسے فعال کریں اور دوبارہ کوشش کریں:
add-apt-repository universe && apt update && apt install -y shadowsocks-libev
پیکج اپنے سسٹمڈ یونٹس انسٹال کرتا ہے (پہلے سے طے شدہ ترتیب کے لیے shadowsocks-libev.service، علاوہ [email protected] نامی per-instance configs کے لیے) اور خود بخود /etc/shadowsocks-libev/config.json بناتا ہے — سیکشن 4-6 libev مخصوص کمانڈز کو نوٹ کرتے ہیں اور فائل کے راستے کے ساتھ ساتھ۔ اس گائیڈ کے کلائنٹ کے باقی حصے (7–13) کسی بھی سرور کے نفاذ پر یکساں طور پر لاگو ہوتے ہیں، کیونکہ دونوں تار پر ایک ہی Shadowsocks/SIP002 پروٹوکول بولتے ہیں۔
پاس ورڈ بنانا اور سائفر کا انتخاب کرنا
شیڈوساکس کی توثیق ایک واحد مشترکہ پاس ورڈ کے علاوہ ایک سائفر (انکرپشن طریقہ) ہے جس پر دونوں فریقوں کو متفق ہونا ضروری ہے — انتظام کرنے کے لیے کوئی الگ UUID، کلیدی جوڑا، یا سرٹیفکیٹ نہیں ہے۔
سائفر فیملیز
- AEAD-2022 (تجویز کردہ، صرف shadowsacks-rust): 2022-blake3-aes-128-gcm، 2022-blake3-aes-256-gcm، 2022-blake3-chacha20-poly1305۔ ایک پورٹ کا اشتراک کرنے والے متعدد صارفین کے لیے مضبوط ری پلے تحفظ اور تعاون کے ساتھ جدید ترین ڈیزائن (SIP022)۔ پاس ورڈ بالکل سائفر کی کلید کی لمبائی کا ایک بیس 64 سٹرنگ ہونا چاہیے (128 بٹ ویرینٹ کے لیے 16 بائٹس، 256 بٹ ویرینٹ کے لیے 32 بائٹس)۔
- کلاسک AEAD (زنگ اور libev دونوں سے تعاون یافتہ): aes-256-gcm، aes-128-gcm، chacha20-ietf-poly1305۔ پرانے کلائنٹس اور شیڈو ساکس-لیبیو کے ساتھ وسیع پیمانے پر ہم آہنگ؛ پاس ورڈ کوئی بھی پاس فریز ہو سکتا ہے، کیونکہ اسے کلیدی مواد کے طور پر براہ راست استعمال کرنے کے بجائے کلیدی اخذ کرنے والے فنکشن کے ذریعے کھلایا جاتا ہے۔
یہ گائیڈ شیڈو ساکس-رسٹ سرور کے لیے 2022-blake3-aes-256-gcm استعمال کرتا ہے، کیونکہ یہ سب سے مضبوط اور موجودہ آپشن ہے اور ہر کلائنٹ جو بعد میں تجویز کیا گیا ہے (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) اس کی حمایت کرتا ہے۔ اگر آپ نے سیکشن 3 میں shadowsocks-libev انسٹال کیا ہے، تو اس کے بجائے chacha20-ietf-poly1305 یا aes-256-gcm استعمال کریں، کیونکہ libev AEAD-2022 کو نافذ نہیں کرتا ہے۔
ایک کلید بنائیں (شیڈو ساکس-زنگ)
ssservice genkey -m "2022-blake3-aes-256-gcm"
یہ ایک بیس 64 سٹرنگ پرنٹ کرتا ہے - یہ آپ کا پاس ورڈ ہے۔ اسے کسی محفوظ جگہ کاپی کریں۔ آپ اسے سیکشن 5 میں سرور کنفیگریشن اور سیکشن 7 میں کلائنٹ لنک دونوں میں چسپاں کریں گے۔
پاسفریز کا انتخاب کریں (shadowsocks-libev)
shadowsocks-libev کے استعمال کردہ کلاسک AEAD سائفرز کے لیے، کوئی بھی کافی لمبی بے ترتیب سٹرنگ کام کرتی ہے، کیونکہ یہ خام کلید کے طور پر استعمال کرنے کے بجائے PBKDF/HKDF کے ذریعے چلتی ہے۔ اس کے ساتھ ایک بنائیں:
openssl rand -base64 32
سرور کنفیگریشن لکھنا
شیڈو ساکس-زنگ
ترمیم کے لیے کنفیگریشن فائل کھولیں:
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 دبائیں۔
اہم فیلڈز: سرور تمام انٹرفیس پر سنتا ہے (0.0.0.0)؛ سرور_پورٹ سیکشن 2 میں کھولی گئی بندرگاہ ہے۔ پاس ورڈ/طریقہ سیکشن 4 سے سند اور سائفر ہیں۔ موڈ TCP اور UDP دونوں کو قابل بناتا ہے۔ ٹائم آؤٹ سیکنڈوں میں بیکار کنکشن کا ٹائم آؤٹ ہے۔ 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"
سسٹمڈ یونٹ بنائیں (شیڈو ساکس-زنگ)
بائنری ریلیز سسٹمڈ یونٹ نہیں بھیجتی ہے، لہذا ایک بنائیں:
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
شیڈو ساکس-لیبیو
apt پیکیج پہلے سے ہی /etc/shadowsocks-libev/config.json ڈیفالٹ (صرف لوپ بیک، بے ترتیب پاس ورڈ) کنفیگریشن اور اس کے اپنے سسٹمڈ یونٹ کے ساتھ بنایا گیا ہے۔ ترمیم کے لیے اسے کھولیں:
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
}
پہلے سے طے شدہ ترتیب سرور کا استعمال کرتی ہے: ["::1", "127.0.0.1"] (صرف لوپ بیک)؛ اسے "0.0.0.0" میں تبدیل کرنا ہی سرور کو عوامی IP سے قابل رسائی بناتا ہے — اگر آپ نے اوپر کی ٹیمپلیٹ کے بجائے اسٹاک فائل کو کاپی کیا ہے تو اسے نہ چھوڑیں۔
سروس شروع کرنا اور آٹو اسٹارٹ کو فعال کرنا
شیڈو ساکس-زنگ
systemctl enable --now ssserver
systemctl status ssserver --no-pager
حالت کو فعال (چل رہا ہے) دکھانا چاہئے۔ تصدیق کریں کہ واقعی بندرگاہ پر کچھ سن رہا ہے (دونوں پروٹوکول):
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
اگر سروس شروع ہونے میں ناکام ہو جاتی ہے، تو یہ دیکھنے کا تیز ترین طریقہ ہے کہ systemd جرنل کیوں ہے (عام طور پر لینکس لاگز کو پڑھنے کے پس منظر کے لیے، لینکس لاگز کو کیسے پڑھا جائے اور اسے کہاں تلاش کیا جائے دیکھیں ):
journalctl -u ssserver -n 50 --no-pager
شیڈو ساکس-لیبیو
systemctl restart shadowsocks-libev
systemctl enable shadowsocks-libev
systemctl status shadowsocks-libev --no-pager
پورٹ اور لاگ کو اسی طرح چیک کریں جیسے شیڈو ساکس-رسٹ کے لیے، سروس کا نام بدل کر:
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager
کلائنٹ کنکشن لنک بنانا
شیڈوساکس کلائنٹس کنفگ فائل کے بجائے ایک سنگل ss:// شیئر لنک (SIP002 URL فارمیٹ) درآمد کرتے ہیں۔ لنک یو آر ایل کے صارف معلومات والے حصے میں سائفر اور پاس ورڈ کو بیس 64 کے بطور انکوڈ کرتا ہے:
ss://base64(method:password)@your_IP_address:port#label
سرور پر بیس 64 حصہ بنائیں (یہ ہاتھ سے انکوڈنگ سے کسی قسم کی غلطی سے بچتا ہے):
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://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"
پی این جی کو scp کے ساتھ اپنے کمپیوٹر پر کاپی کریں، اپنے کمپیوٹر کے ٹرمینل (یا ونڈوز پر پاور شیل) سے چلائیں، سرور سے نہیں۔
scp root@your_IP_address:~/ss-client.png .
ونڈوز سے جڑ رہا ہے۔
اس سیکشن میں سب کچھ آپ کے ونڈوز پی سی پر ہوتا ہے، SSH پر نہیں — کلائنٹ کو اس ڈیوائس پر چلنا پڑتا ہے جو اصل میں پراکسی استعمال کرے گا۔
v2rayN انسٹال کریں۔
v2rayN ایک مفت، فعال طور پر برقرار رکھنے والا GUI کلائنٹ ہے جس میں VLESS، VMess، Trojan، اور دیگر کے ساتھ مقامی Shadowsocks سپورٹ ہے۔ پروجیکٹ کے صفحہ سے تازہ ترین ریلیز ڈاؤن لوڈ کریں ۔
Windows 64-bit .zip اثاثہ پکڑو (حالیہ v2rayN ورژن کے مطابق ایک خود ساختہ تعمیر کو الگ سے .NET رن ٹائم کی ضرورت نہیں ہے)، اسے کہیں بھی نکالیں، اور v2rayN.exe چلائیں۔
سرور درآمد کریں۔
سیکشن 7 میں بنائے گئے ss:// لنک کو اپنے کلپ بورڈ میں کاپی کریں (یا QR PNG کو scp کے ساتھ کاپی کریں اور اسے کھولیں)، پھر v2rayN میں سرورز کا انتخاب کریں → کلپ بورڈ سے بلک یو آر ایل درآمد کریں (یا بلٹ ان سکینر کے ذریعے QR کوڈ اسکین کریں)۔ نیا سرور پروفائل فہرست میں اس لیبل کے ساتھ ظاہر ہوتا ہے جسے آپ # کے بعد سیٹ کرتے ہیں۔
پروفائل پر دائیں کلک کریں اور اسے بطور فعال منتخب کریں، پھر مین ونڈو کے ٹول بار سے سسٹم پراکسی (یا پوری مشین کو روٹ کرنے کے لیے TUN موڈ) کو فعال کریں۔
macOS سے جڑ رہا ہے۔
اس سیکشن میں سب کچھ آپ کے میک پر ہوتا ہے، SSH پر نہیں۔
ShadowsocksX-NG انسٹال کریں۔
ShadowsocksX-NG شیڈوساکس کے لیے طویل عرصے سے چلنے والا مقامی macOS GUI کلائنٹ ہے۔ موجودہ ریلیز لائن انٹیل کے ساتھ ایک مقامی ایپل سلکان کی تعمیر کو بھیجتی ہے۔ ریلیز کے صفحے سے تازہ ترین .dmg ڈاؤن لوڈ کریں ۔
.dmg کھولیں اور ShadowsocksX-NG کو ایپلی کیشنز میں گھسیٹیں، پھر اسے لانچ کریں — یہ مینو بار میں ایک آئیکن کے طور پر ظاہر ہوتا ہے۔
سرور درآمد کریں۔
سیکشن 7 سے ss:// لنک کو اپنے کلپ بورڈ میں کاپی کریں، پھر نیچے بائیں جانب مینو بار آئیکن → سرورز → سرور کی ترجیحات → + پر کلک کریں، اور "پیسٹ بورڈ سے درآمد کریں" کو منتخب کریں (یا PNG کھولنے کے بعد QR کوڈ کو "Scan QR Code from Screen" کے ساتھ اسکین کریں)۔ مینو بار ڈراپ ڈاؤن سے نیا پروفائل منتخب کریں، پھر "شیڈو ساکس: آن" کو ٹوگل کریں اور اسی مینو سے "PAC آٹو" یا "گلوبل" روٹنگ موڈ کا انتخاب کریں۔
لینکس ڈیسک ٹاپ سے جڑ رہا ہے۔
اس سیکشن میں سب کچھ آپ کی اپنی لینکس مشین پر ہوتا ہے، VPS پر نہیں۔
مقامی کلائنٹ انسٹال کریں۔
اگر آپ نے سیکشن 3 میں سرور پر شیڈو ساکس-رسٹ انسٹال کیا ہے، تو اسی ریلیز آرکائیو میں sslocal، ایک SOCKS5/HTTP لوکل پراکسی کلائنٹ ہوتا ہے۔ اسے سرور بائنری کی طرح ڈاؤن لوڈ اور انسٹال کریں (اگر یہ x86_64-unknown-linux-gnu نہیں ہے تو اپنے ڈیسک ٹاپ کے لیے OS/arch لاحقہ کو ایڈجسٹ کریں):
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/
ترتیب دیں اور چلائیں۔
SOCKS5 پراکسی کے طور پر 127.0.0.1:1080 پر سننے والی ایک چھوٹی مقامی ترتیب بنائیں:
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
127.0.0.1:1080 پر اپنے براؤزر یا سسٹم نیٹ ورک کی ترتیبات کو SOCKS5 پراکسی کی طرف اشارہ کریں۔ ایک GUI کے لیے، Nekoray یا ShadowsocksX-Qt5 طرز کے فورک سیکشن 7 سے وہی ss:// لنک درآمد کر سکتے ہیں اور ہاتھ سے چلانے کے بجائے آپ کے لیے sslocal کا نظم کر سکتے ہیں۔
اینڈرائیڈ سے منسلک ہو رہا ہے۔
یہاں سب کچھ آپ کے Android ڈیوائس پر ہوتا ہے، SSH پر نہیں۔
ایک کلائنٹ انسٹال کریں۔
دو اچھے اختیارات:
- شیڈو ساکس برائے اینڈرائیڈ — شیڈو ساکس تنظیم کا آفیشل کلائنٹ۔ اسے Google Play سے انسٹال کریں ("Shadowsocks" تلاش کریں)، یا اگر Play آپ کے خطے
- v2rayNG — v2rayN کا Android ہم منصب، VLESS/VMess/Trojan کے ساتھ شیڈو ساکس کو سپورٹ کرتا ہے۔ مفید ہے اگر آپ ایک سے زیادہ پروٹوکول کے لیے ایک ایپ چاہتے ہیں۔ اقسام.
سرور درآمد کریں۔
کسی بھی ایپ میں: + بٹن کو تھپتھپائیں، سیکشن 7 سے ss:// لنک کو کاپی کرنے کے بعد "کلپ بورڈ سے درآمد کریں" کا انتخاب کریں، یا "QR کوڈ اسکین کریں" اور کیمرے کو PNG کی طرف پوائنٹ کریں۔ درآمد شدہ پروفائل کو منتخب کرنے کے لیے اسے تھپتھپائیں، پھر کنیکٹ بٹن کو تھپتھپائیں۔ اینڈرائیڈ پہلی بار وی پی این کی اجازت کا اشارہ کرے گا - اسے سرنگ قائم کرنے کی منظوری دیں۔
iOS سے جڑ رہا ہے۔
یہاں سب کچھ آپ کے iPhone یا iPad پر ہوتا ہے، SSH پر نہیں۔
شیڈوساکس کے قابل کلائنٹ کو انسٹال کریں۔
Shadowrocket شیڈو ساکس سپورٹ کے ساتھ سب سے زیادہ استعمال ہونے والا iOS کلائنٹ ہے۔ یہ زیادہ تر اسٹور فرنٹ میں ایک بامعاوضہ ایپ ہے۔ اسے ایپ اسٹور میں تلاش کریں، یا کھولیں۔
Streisand ایک مفت، اوپن سورس متبادل ہے جو VLESS، Trojan اور دیگر پروٹوکول کے ساتھ Shadowsocks کو بھی سپورٹ کرتا ہے ۔
ایپ اسٹور کی کیٹلاگ اسٹور فرنٹ/علاقے کے لحاظ سے مختلف ہوتے ہیں اور وقت کے ساتھ ساتھ بدل سکتے ہیں۔ اگر آپ میں سے کوئی بھی نظر نہیں آتا ہے، تو "Shadowsocks" یا "V2Box" کے لیے App Store تلاش کریں۔
سرور درآمد کریں۔
ss:// لنک کو اپنے کلپ بورڈ پر کاپی کریں، کلائنٹ کو کھولیں، اور اس کا Add/import from clipboard آپشن استعمال کریں، یا کلائنٹ کے بلٹ ان اسکینر سے سیکشن 7 سے QR کوڈ اسکین کریں۔ نئے پروفائل کو آن کریں؛ iOS پہلی بار VPN کنفیگریشن کی اجازت کا اشارہ کرے گا، جسے آپ کو Face ID، Touch ID، یا اپنے پاس کوڈ کے ذریعے منظور کرنا ہوگا۔
کنکشن کی تصدیق کرنا
سیکشن 8، 9، 10، 11، یا 12 سے فعال سرنگ کے ساتھ، اپنے آلے پر واپس جائیں (SSH سیشن نہیں) اور براؤزر میں کوئی بھی "میرا IP کیا ہے" چیکر کھولیں — دکھایا گیا پتہ آپ کے VPS کے IP ایڈریس، your_IP_address سے مماثل ہونا چاہیے۔
اس کے بجائے سرور کی طرف سے تصدیق کرنے کے لیے، کنکشن کی سرگرمی کے لیے systemd جرنل کو چیک کریں اور پورٹ پر قائم سیشنز کی تصدیق کریں (رسٹ جرنل کے لیے ssserver، یا libev جرنل کے لیے shadowsocks-libev استعمال کریں):
journalctl -u ssserver -n 50 --no-pager
ss -tnp | grep ':8388'
حوالہ:
|
فیلڈ |
قدر |
|
ایڈریس |
آپ کے VPS کا عوامی IP پتہ |
|
پورٹ |
8388 (وہی بندرگاہ سیکشن 2 میں کھولی گئی) |
|
پاس ورڈ |
سیکشن 4 میں تیار کردہ کلید/ پاس فریز |
|
طریقہ |
2022-blake3-aes-256-gcm (زنگ) یا chacha20-ietf-poly1305 (libev) — دونوں اطراف سے بالکل مماثل ہونا چاہیے |
|
موڈ |
tcp_and_udp — TCP پراکسینگ اور UDP ریلے دونوں کو قابل بناتا ہے (DNS، کچھ گیمز) |
|
پلگ ان |
اس گائیڈ میں کوئی بھی استعمال نہیں کیا گیا — شیڈو ساکس کو کام کرنے کے لیے SNI، سرٹیفکیٹ، یا ٹرانسپورٹ پلگ ان کی ضرورت نہیں ہے۔ |
نتیجہ
اس گائیڈ کی پیروی کرنے سے آپ کا VPS اپنا Shadowsacks سرور چلاتا ہے — یا تو جدید AEAD-2022 سائفر کے ساتھ shadowsacks-rust، یا Ubuntu/Debian کے اپنے ذخیرے سے shadowsocks-libev — ایک سسٹمڈ سروس کے طور پر جو آپ کی طرف سے بغیر کسی کارروائی کے ریبوٹ سے بچ جاتی ہے۔
مزید صارفین کو شامل کرنا:
- سب سے آسان: دوسرا پاس ورڈ بنائیں (سیکشن 4) اور دوسری ssserver/shadowsocks-libev مثال کو کسی مختلف پورٹ پر اس کی اپنی کنفگ فائل اور سسٹمڈ یونٹ کے ساتھ چلائیں، پھر اس پورٹ کے لیے سیکشن 5–7 کو دہرائیں۔
- AEAD-2022 سائفر کے ساتھ shadowsocks-rust config.json (Extensible Identity Headers, SIP022) میں ایک پورٹ اور پاس ورڈ ڈیریویشن کلید کے ذریعے ایک پورٹ اور پاس ورڈ ڈیریویشن کلید کا اشتراک کرنے والے متعدد صارفین کو بھی سپورٹ کرتا ہے۔
سرور کے چلنے کے بعد رکھنے کے قابل چند عادات:
- سرور کو اپ ڈیٹ رکھیں۔ shadowsocks-rust کے لیے، وقتاً فوقتاً سیکشن 3 سے ڈاؤن لوڈ اور انسٹال کے مراحل کو ایک تازہ ورژن کی تلاش کے ساتھ دوبارہ چلائیں، پھر systemctl ssserver کو دوبارہ شروع کریں۔ shadowsocks-libev کے لیے، سادہ اپ گریڈ اس کا احاطہ کرتا ہے۔
- config.json کو سرور سے دور کہیں پرائیویٹ بیک اپ کریں۔ یہ ہر کلائنٹ کا پاس ورڈ رکھتا ہے۔ اسے کھونے کا مطلب ہے ہر ڈیوائس کے لیے اسناد کو دوبارہ تخلیق کرنا۔
- اگر کوئی ڈیوائس گم ہو جائے یا کلائنٹ سے سمجھوتہ کیا گیا ہو تو پاس ورڈ گھمائیں: ایک نیا بنائیں (سیکشن 4)، config.json کو اپ ڈیٹ کریں، سروس کو دوبارہ شروع کریں، اور ہر بقیہ ڈیوائس کے لیے کلائنٹ لنک (سیکشن 7) کو دوبارہ بنائیں۔
اگر کنکشن نہیں آتا ہے، ترتیب میں چیک کریں:
- سروس کی حیثیت (systemctl status ssserver --no-pager، or shadowsocks-libev) اور جرنل (journalctl -u ssserver -n 50 --no-pager)
- فائر وال کے قوانین (ufw سٹیٹس — پورٹ tcp اور udp دونوں کے لیے کھلا ہونا چاہیے)
- کہ پورٹ پہلے سے ہی کسی اور سروس کے ساتھ پابند نہیں ہے (ss -lntp | grep ':8388' کو صرف ssserver/ss-server دکھانا چاہیے)
- کہ کلائنٹ میں پاس ورڈ، طریقہ، اور پورٹ config.json سے بالکل مماثل ہے — ایک ہی مماثل کردار خاموشی سے مصافحہ کو ناکام بناتا ہے، عام طور پر کسی واضح غلطی کی بجائے کنکشن ٹائم آؤٹ کے طور پر ظاہر ہوتا ہے۔
- اس موڈ کو سرور پر tcp_and_udp پر سیٹ کیا جاتا ہے اگر کلائنٹ کو UDP (DNS-over-proxy، کچھ گیمز/ایپس) کی ضرورت ہو نہ کہ صرف tcp_only
شیڈو ساکس کا دوسرے اختیارات سے موازنہ کرنا؟ ایک TLS-کیموفلاج پر مبنی پروٹوکول کے لیے Xray VLESS ریئلٹی گائیڈ دیکھیں جو بہت زیادہ فلٹر شدہ نیٹ ورک پر فنگر پرنٹ کرنا مشکل ہے، AmneziaWG سرور ڈیپلائمنٹ گائیڈ اور WireGuard پر مبنی متبادلات کے لیے اپنے سرور پر Wireguard VPN کو کیسے ترتیب دیا جائے ، یا Hysteria2 اور TUIC کے لیے دو نقصانات یا TUIC سیٹ اپ کے لیے۔ نیٹ ورکس اگر آپ کو مکمل ٹنلنگ سیٹ اپ کے بجائے صرف ایک سادہ پراکسی کی ضرورت ہے، تو CentOS/ArchLinux پر 3proxy کنفیگریشن بہت ہلکا متبادل ہے، اور Linux پر پرانا VPN سرور سیٹ اپ: PPTP یا OpenVPN؟ ایسے پروٹوکول کا احاطہ کرتا ہے جو ترتیب دینا آسان ہے لیکن DPI کے لیے پتہ لگانا اور بلاک کرنا بہت آسان ہے۔ پراکسی کے لائیو ہونے کے بعد عام سرور کی سختی کے لیے، لینکس کے صارفین: انتظام اور اجازتیں دیکھیں ۔