शॅडोसॉक्स हा एक हलका, SOCKS5-आधारित एनक्रिप्टेड प्रॉक्सी प्रोटोकॉल आहे, जो मूळतः सामान्य नेटवर्क्सवरील ट्रॅफिक-शेपिंग आणि ब्लॉकिंग टाळण्यासाठी तयार करण्यात आला होता. संपूर्ण VPN च्या विपरीत, तो केवळ तोच ट्रॅफिक प्रॉक्सी करतो जो एखादे ॲप्लिकेशन त्याला स्पष्टपणे पाठवते, त्यात प्रोटोकॉल ओव्हरहेड जवळजवळ नसतो आणि तो मर्यादित कनेक्शन्सवरसुद्धा चांगल्या प्रकारे काम करतो. VLESS+Reality प्रमाणे तो खऱ्या TLS हँडशेकची नक्कल करण्याचा प्रयत्न करत नाही — त्याची ताकद त्याच्या साधेपणात, विस्तृत क्लायंट सपोर्टमध्ये (राउटर्स, फोन्स, ब्राउझर्स) आणि अत्यंत कमी लेटन्सीमध्ये आहे. मात्र, याची किंमत म्हणजे, बारकाईने तपासल्या जाणाऱ्या नेटवर्कवर ट्रॅफिक पॅटर्नद्वारे त्याला ओळखणे काहीसे सोपे जाते.
सक्रियपणे देखरेख केल्या जाणाऱ्या सर्व्हरच्या दोन अंमलबजावणी आहेत:
- shadowsocks-rust — shadowsocks संस्थेची, रस्ट (Rust) मध्ये लिहिलेली आधुनिक संदर्भ अंमलबजावणी (reference implementation). ती नवीन AEAD-2022 सायफर फॅमिलीला समर्थन देते, तिचा सक्रियपणे विकास केला जात आहे, आणि या मार्गदर्शिकेत तपशीलवारपणे हीच अंमलबजावणी स्थापित (install) आणि कॉन्फिगर (configure) केली आहे.
- shadowsocks-libev — ही जुनी C अंमलबजावणी आहे. बग दुरुस्तीसाठी याची देखभाल अजूनही केली जाते, हे स्वतःच्या systemd युनिट्ससह एक तयार apt पॅकेज म्हणून उपलब्ध आहे, आणि जर तुम्हाला कोणत्याही मॅन्युअल बायनरी हाताळणीशिवाय अत्यंत सोपे इन्स्टॉल हवे असेल तर हा एक चांगला पर्याय आहे. या मार्गदर्शिकेत विभाग ३ मध्ये एक पर्यायी इन्स्टॉलेशन मार्ग म्हणून याचा समावेश आहे.
या मार्गदर्शिकेत वेब पॅनल किंवा डॉकरचा वापर न करता, कमांड लाइनद्वारे सर्व्हर मॅन्युअली कसा कॉन्फिगर करायचा हे सांगितले आहे. जिथे जिथे "IP address" हे फील्ड दिसेल, तिथे तुमच्या VPS चा खरा IP पत्ता टाका.
तुम्हाला काय लागेल: Ubuntu 22.04/24.04 किंवा Debian 11/12 वर चालणारा एक VPS, रूट ऍक्सेस, तुमच्या VPS चा IP ऍड्रेस, आणि एक मोकळा UDP/TCP पोर्ट (या मार्गदर्शिकेत 8388, जो Shadowsocks चा डिफॉल्ट पोर्ट आहे, वापरला आहे).
तुमच्याकडे अजून सर्वर नाही का? सर्वर कसा ऑर्डर करायचा आणि त्याचे पैसे कसे भरायचे ते पहा.
सर्वप्रथम याची इतर सेल्फ-होस्टेड पर्यायांशी तुलना करत आहात का? TLS-कॅमोफ्लाज-आधारित पर्यायासाठी एक्सरे व्हीलेस रिॲलिटी गाईड (Xray VLESS Reality Guide) , वायरगार्ड-आधारित पर्यायासाठी ॲम्नेझियाडब्ल्यूजी सर्व्हर डिप्लॉयमेंट गाईड (AmneziaWG Server Deployment Guide) , किंवा इतर दोन आधुनिक प्रॉक्सी प्रोटोकॉलसाठी हिस्टेरिया२ आणि टीयूआयसी सेटअप (Hysteria2 and TUIC setup) पहा.
सर्व्हरशी कनेक्ट करत आहे
विंडोज (पुट्टी)
PuTTY उघडा, होस्ट नेम फील्डमध्ये तुमच्या VPS चा IP पत्ता टाका, पोर्ट 22 वर सेट करा आणि तुमच्या VPS प्रदात्याने तुम्हाला ईमेल केलेल्या पासवर्डचा वापर करून रूट म्हणून लॉग इन करा.
सर्व्हर आयपी पत्ता: तुमचा आयपी पत्ता
रूट म्हणून लॉगिन करा
पासवर्ड: तुमचा पासवर्ड
PuTTY/SSH द्वारे कनेक्ट करण्याच्या सविस्तर मार्गदर्शनासाठी, SSH द्वारे लिनक्स सर्व्हरला कसे कनेक्ट करावे ते पहा.
लिनक्स / मॅकओएस (टर्मिनल)
ssh root@your_IP_address
खालील सर्व कमांड्स सर्व्हरवर, याच SSH सेशनमध्ये चालवल्या जातात — यामध्ये विभाग २ ते ७, तसेच विभाग १३ मधील सर्व्हर-साइड तपासण्यांचा समावेश आहे. विभाग ८-१२ (क्लायंट ॲप्स इन्स्टॉल करणे आणि कॉन्फिगर करणे) त्याऐवजी तुमच्या स्वतःच्या Windows/macOS/Linux/Android/iOS डिव्हाइसवर चालतात, कारण प्रॉक्सी चालवण्यासाठी त्याच डिव्हाइसची आवश्यकता असते; त्या प्रत्येक विभागात स्पष्टपणे सांगितले आहे की कोणत्या ओळी, असल्यास, अजूनही सर्व्हरशी संपर्क साधतात.
सर्व्हर तयार करणे
सिस्टम अद्यतनित करा
काहीही इन्स्टॉल करण्यापूर्वी, पॅकेज लिस्ट रिफ्रेश करा आणि इन्स्टॉल केलेले पॅकेजेस अपग्रेड करा.
apt update -y && apt upgrade -y
जर यामुळे कर्नल अपग्रेड होत असेल, तर पुढे जाण्यापूर्वी रीबूट करणे उचित राहील. (apt आणि लिनक्स पॅकेज मॅनेजर कसे काम करतात याबद्दलच्या उजळणीसाठी, लिनक्स पॅकेज मॅनेजर पहा .) यासह तपासा:
cat /var/run/reboot-required
जर फाईल अस्तित्वात असेल, तर प्रथम 'reboot' वापरून रीबूट करा, सुमारे ३० सेकंद थांबा, आणि नंतर पुन्हा कनेक्ट करा.
या मार्गदर्शिकेत वापरलेली साधने स्थापित करा.
apt install -y curl wget tar xz-utils ufw qrencode
shadowsocks-rust रिलीज आर्काइव्ह मिळवण्यासाठी आणि अनपॅक करण्यासाठी 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 सायफरला समर्थन देते. जर तुम्हाला तयार systemd युनिट असलेले साधे apt पॅकेज वापरायचे असेल आणि AEAD-2022 ची आवश्यकता नसेल, तर पर्याय B (shadowsocks-libev) हा एक चांगला पर्याय आहे.
पर्याय अ — शॅडोसॉक्स-रस्ट (शिफारस केलेला)
Shadowsocks-rust सध्याच्या रिलीझसोबत apt पॅकेज देत नाही, म्हणून ते प्रोजेक्टच्या GitHub रिलीझमधून प्रीबिल्ट स्टॅटिक बायनरी डाउनलोड करून इन्स्टॉल केले जाते. GitHub API वरून नवीनतम रिलीझ टॅग मिळवा आणि जुळणारे Linux x86_64 आर्काइव्ह डाउनलोड करा:
SS_VER=$(curl -s https://api.github.com/repos/shadowsocks/shadowsocks-rust/releases/latest | grep -Po '"tag_name": "\K[^"]*')
echo "Latest version: $SS_VER"
cd /root
wget "https://github.com/shadowsocks/shadowsocks-rust/releases/download/${SS_VER}/shadowsocks-${SS_VER}.x86_64-unknown-linux-gnu.tar.xz"
जर तुमचा VPS हा x86_64 ऐवजी arm64 असेल (`uname -m` वापरून तपासा), तर वरील फाइलनावामध्ये x86_64-unknown-linux-gnu च्या जागी aarch64-unknown-linux-gnu वापरा.
आर्काइव्ह एक्स्ट्रॅक्ट करा आणि संपूर्ण सिस्टमवर बायनरी इन्स्टॉल करा:
tar -xf shadowsocks-*.tar.xz
install -m 755 ssserver ssservice ssmanager ssurl /usr/local/bin/
rm -f shadowsocks-*.tar.xz ssserver ssservice ssmanager ssurl sslocal 2>/dev/null
बायनरी योग्य ठिकाणी आहे याची खात्री करा आणि स्थापित केलेली आवृत्ती तपासा:
ssserver --version
कॉन्फिगरेशन फाईल ठेवण्यासाठी डिरेक्टरी तयार करा:
mkdir -p /etc/shadowsocks-rust
हे मार्गदर्शक, बॅशमध्ये इंस्टॉलर स्क्रिप्ट पाइप करण्याऐवजी एक निश्चित आवृत्ती स्थापित करते. नंतर अपग्रेड करण्यासाठी, नवीन SS_VER लुकअपसह वरील दोन कमांड पुन्हा चालवा, सेवा थांबवा, बायनरी बदला आणि ती पुन्हा सुरू करा (विभाग ६).
पर्याय बी — shadowsocks-libev (पर्यायी, apt पॅकेज)
Shadowsocks-libev हे Ubuntu च्या युनिव्हर्स रेपॉजिटरीमध्ये (Ubuntu 16.10+) आणि Debian च्या मुख्य रेपॉजिटरीमध्ये (Debian 8+) समाविष्ट आहे, त्यामुळे 22.04/24.04 किंवा Debian 11/12 वर कोणत्याही थर्ड-पार्टी PPA ची आवश्यकता नाही:
apt install -y shadowsocks-libev
जर apt ने पॅकेज सापडले नाही असे कळवले, तर युनिव्हर्स रिपॉझिटरी अक्षम केलेली आहे; ती सक्षम करा आणि पुन्हा प्रयत्न करा:
add-apt-repository universe && apt update && apt install -y shadowsocks-libev
हे पॅकेज स्वतःचे systemd युनिट्स (डिफॉल्ट कॉन्फिगसाठी shadowsocks-libev.service, तसेच प्रत्येक इन्स्टन्सच्या नावाच्या कॉन्फिगसाठी [email protected] ) इन्स्टॉल करते आणि /etc/shadowsocks-libev/config.json आपोआप तयार करते — विभाग ४-६ मध्ये रस्ट कमांड्स आणि फाईल पाथ्ससोबत libev-विशिष्ट कमांड्स आणि फाईल पाथ्सची नोंद आहे. या गाईडमधील क्लायंट विभागांचा उर्वरित भाग (७-१३) दोन्ही सर्व्हर अंमलबजावणींना सारखाच लागू होतो, कारण दोन्ही वायरवर समान Shadowsocks/SIP002 प्रोटोकॉल वापरतात.
पासवर्ड तयार करणे आणि सांकेतिक लिपी निवडणे
शॅडोसॉक्स ऑथेंटिकेशनमध्ये एकच सामायिक पासवर्ड आणि एक सायफर (एनक्रिप्शन पद्धत) असते, ज्यावर दोन्ही पक्षांनी सहमत असणे आवश्यक आहे — यामध्ये व्यवस्थापित करण्यासाठी कोणताही वेगळा UUID, की पेअर किंवा सर्टिफिकेट नसतो.
सायफर कुटुंबे
- AEAD-2022 (शिफारस केलेले, फक्त shadowsocks-rust साठी): 2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm, 2022-blake3-chacha20-poly1305. अधिक मजबूत रिप्ले संरक्षणासह आणि एक पोर्ट वापरणाऱ्या अनेक वापरकर्त्यांसाठी समर्थनासह नवीन डिझाइन (SIP022). पासवर्ड हा सायफरच्या की लांबीइतकाच बेस64 स्ट्रिंग असणे आवश्यक आहे (128-बिट प्रकारांसाठी 16 बाइट्स, 256-बिट प्रकारासाठी 32 बाइट्स).
- क्लासिक AEAD (rust आणि libev दोन्हीद्वारे समर्थित): aes-256-gcm, aes-128-gcm, chacha20-ietf-poly1305. जुन्या क्लायंट्स आणि shadowsocks-libev सोबत मोठ्या प्रमाणावर सुसंगत; पासवर्ड कोणताही पासफ्रेज असू शकतो, कारण तो थेट की मटेरियल म्हणून वापरण्याऐवजी की-डेरिवेशन फंक्शनमधून फीड केला जातो.
या मार्गदर्शिकेत shadowsocks-rust सर्व्हरसाठी 2022-blake3-aes-256-gcm वापरले आहे, कारण तो सर्वात शक्तिशाली आणि अद्ययावत पर्याय आहे आणि नंतर शिफारस केलेले प्रत्येक क्लायंट (v2rayN, v2rayNG, Shadowrocket, Streisand, ShadowsocksX-NG) त्याला समर्थन देतात. जर तुम्ही विभाग ३ मध्ये shadowsocks-libev स्थापित केले असेल, तर त्याऐवजी 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
खालील टेम्पलेटमध्ये, विभाग ४ मधील तुमचा स्वतःचा पासवर्ड (आणि जर तुम्ही पोर्ट ८३८८ वरून बदलला असेल तर विभाग २ मधील पोर्ट) घालून पेस्ट करा:
{
"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) ऐकतो; server_port हे विभाग २ मध्ये उघडलेले पोर्ट आहे; password/method हे विभाग ४ मधील क्रेडेन्शियल आणि सायफर आहेत; mode हे TCP आणि UDP दोन्ही रिलेइंग सक्षम करते; timeout हे सेकंदांमधील निष्क्रिय-कनेक्शन टाइमआउट आहे; nofile व्यस्त सर्व्हरसाठी फाइल-डिस्क्रिप्टर मर्यादा वाढवते.
JSON ला systemd मध्ये जोडण्यापूर्वी, ते प्रमाणित करा आणि बायनरी ते स्वीकारते याची खात्री करा.
ssserver -c /etc/shadowsocks-rust/config.json --help >/dev/null && echo "binary OK"
python3 -m json.tool /etc/shadowsocks-rust/config.json >/dev/null && echo "JSON OK"
सिस्टमडी युनिट (शॅडोसॉक्स-रस्ट) तयार करा
बायनरी रिलीजमध्ये systemd युनिट समाविष्ट नाही, म्हणून एक तयार करा:
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 ही फाईल डीफॉल्ट (फक्त लूपबॅक, यादृच्छिक पासवर्ड) कॉन्फिगरेशन आणि स्वतःच्या systemd युनिटसह तयार केली आहे. संपादनासाठी ती उघडा:
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
}
डीफॉल्ट कॉन्फिगमध्ये server: ["::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'
जर सेवा सुरू होण्यास अयशस्वी झाली, तर त्याचे कारण पाहण्याचा सर्वात जलद मार्ग म्हणजे सिस्टमडी जर्नल (सर्वसाधारणपणे लिनक्स लॉग वाचण्याबद्दल पार्श्वभूमीसाठी, लिनक्स लॉग कसे वाचावेत आणि ते कोठे शोधावे हे पहा ):
journalctl -u ssserver -n 50 --no-pager
शॅडोसॉक्स-लिबेव्ह
systemctl restart shadowsocks-libev
systemctl enable shadowsocks-libev
systemctl status shadowsocks-libev --no-pager
shadowsocks-rust प्रमाणेच पोर्ट आणि लॉग तपासा, फक्त सेवेचे नाव बदला:
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager
क्लायंट कनेक्शन लिंक तयार करणे
शॅडोसॉक्स क्लायंट कॉन्फिग फाईलऐवजी एकच ss:// शेअर लिंक (SIP002 URL फॉरमॅट) इम्पोर्ट करतात. ही लिंक URL च्या 'userinfo' भागामध्ये सायफर आणि पासवर्ड base64 म्हणून एन्कोड करते.
ss://base64(method:password)@your_IP_address:port#label
सर्व्हरवर base64 भाग तयार करा (यामुळे हाताने एन्कोडिंग करताना होणाऱ्या टायपिंगच्या चुका टाळता येतात):
METHOD="2022-blake3-aes-256-gcm"
PASSWORD="YOUR-GENERATED-KEY-HERE"
USERINFO=$(echo -n "${METHOD}:${PASSWORD}" | base64 -w0)
echo "ss://${USERINFO}@your_IP_address:8388#My-SS-Server"
उदाहरण आउटपुट (प्लेसहोल्डर की सह):
ss://MjAyMi1ibGFrZTMtYWVzLTI1Ni1nY206eHl6X2V4YW1wbGVfa2V5X2hlcmU=@your_IP_address:8388#My-SS-Server
# नंतरचा मजकूर हे फक्त एक डिस्प्ले लेबल आहे, ज्याचे नाव तुम्ही कोणत्याही क्लायंटमध्ये सहजपणे बदलू शकता. shadowsocks-libev सर्व्हरसाठी, त्याऐवजी विभाग ४ मधील METHOD="chacha20-ietf-poly1305" (किंवा aes-256-gcm) आणि त्याचा पासफ्रेज वापरा.
त्याचे QR कोडमध्ये रूपांतर करा जेणेकरून मोबाईल वापरकर्ते ते थेट स्कॅन करू शकतील:
qrencode -o ~/ss-client.png "ss://${USERINFO}@your_IP_address:8388#My-SS-Server"
सर्व्हरवरून नव्हे, तर तुमच्या संगणकाच्या टर्मिनलवरून (किंवा विंडोजवरील पॉवरशेलवरून) scp चालवून PNG फाईल तुमच्या स्वतःच्या संगणकावर कॉपी करा:
scp root@your_IP_address:~/ss-client.png .
विंडोजवरून कनेक्ट करत आहे
या विभागातील सर्व काही तुमच्या विंडोज पीसीवर घडते, SSH द्वारे नाही — क्लायंट त्या डिव्हाइसवर चालणे आवश्यक आहे जे प्रत्यक्षात प्रॉक्सीचा वापर करेल.
v2rayN स्थापित करा
v2rayN हा एक विनामूल्य, सक्रियपणे देखरेख केला जाणारा GUI क्लायंट आहे, ज्यामध्ये VLESS, VMess, Trojan आणि इतरांसोबतच नेटिव्ह Shadowsocks चे समर्थन आहे. प्रोजेक्टच्या पेजवरून नवीनतम रिलीज डाउनलोड करा.
विंडोज 64-बिट .zip असेट घ्या (अलीकडील v2rayN आवृत्त्यांनुसार, स्वयंपूर्ण बिल्डला स्वतंत्र .NET रनटाइमची आवश्यकता नाही), ते कुठेही एक्स्ट्रॅक्ट करा आणि v2rayN.exe चालवा.
सर्व्हर आयात करा
विभाग ७ मध्ये दिलेली ss:// लिंक तुमच्या क्लिपबोर्डवर कॉपी करा (किंवा scp वापरून QR PNG कॉपी करून उघडा), त्यानंतर v2rayN मध्ये सर्व्हर्स → क्लिपबोर्डवरून बल्क URL आयात करा (किंवा अंगभूत स्कॅनरद्वारे QR कोड स्कॅन करा) निवडा. नवीन सर्व्हर प्रोफाइल, # नंतर तुम्ही सेट केलेल्या लेबलसह यादीमध्ये दिसेल.
प्रोफाइलवर राईट-क्लिक करून ते सक्रिय म्हणून निवडा, त्यानंतर मुख्य विंडोच्या टूलबारमधून सिस्टम प्रॉक्सी (किंवा संपूर्ण मशीन राउट करण्यासाठी TUN मोड) सक्षम करा.
macOS वरून कनेक्ट करत आहे
या विभागातील सर्व काही तुमच्या मॅकवर घडते, SSH द्वारे नाही.
ShadowsocksX-NG स्थापित करा
ShadowsocksX-NG हा Shadowsocks साठीचा दीर्घकाळ चालणारा नेटिव्ह macOS GUI क्लायंट आहे; सध्याच्या रिलीझ लाइनमध्ये इंटेल सोबत नेटिव्ह ॲपल सिलिकॉन बिल्डचा समावेश आहे. रिलीझ पेजवरून नवीनतम .dmg डाउनलोड करा.
.dmg फाईल उघडा आणि ShadowsocksX-NG ला ॲप्लिकेशन्समध्ये ड्रॅग करा, त्यानंतर ते लाँच करा — ते मेनू बारमध्ये एका आयकॉनच्या रूपात दिसेल.
सर्व्हर आयात करा
विभाग ७ मधील ss:// लिंक तुमच्या क्लिपबोर्डवर कॉपी करा, नंतर मेन्यू-बार आयकॉन → सर्व्हर्स → सर्व्हर प्रेफरन्सेस → तळाशी-डावीकडील + वर क्लिक करा आणि "इम्पोर्ट फ्रॉम पेस्टबोर्ड" निवडा (किंवा PNG उघडल्यानंतर "स्कॅन क्यूआर कोड फ्रॉम स्क्रीन" वापरून क्यूआर कोड स्कॅन करा). मेन्यू-बार ड्रॉपडाउनमधून नवीन प्रोफाइल निवडा, नंतर "शॅडोसॉक्स: ऑन" टॉगल करा आणि त्याच मेन्यूमधून "पीएसी ऑटो" किंवा "ग्लोबल" रूटिंग मोड निवडा.
लिनक्स डेस्कटॉपवरून कनेक्ट करणे
या विभागातील सर्व काही तुमच्या स्वतःच्या लिनक्स मशीनवर घडते, व्हीपीएसवर नाही.
स्थानिक क्लायंट स्थापित करा
जर तुम्ही विभाग ३ मध्ये सर्व्हरवर shadowsocks-rust इन्स्टॉल केले असेल, तर त्याच रिलीज आर्काइव्हमध्ये 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/
कॉन्फिगर करा आणि चालवा
127.0.0.1:1080 वर SOCKS5 प्रॉक्सी म्हणून ऐकणारे एक छोटे स्थानिक कॉन्फिग तयार करा:
mkdir -p ~/.config/shadowsocks-rust
cat > ~/.config/shadowsocks-rust/local.json << 'EOF'
{
"server": "your_IP_address",
"server_port": 8388,
"password": "YOUR-GENERATED-KEY-HERE",
"method": "2022-blake3-aes-256-gcm",
"local_address": "127.0.0.1",
"local_port": 1080,
"mode": "tcp_and_udp"
}
EOF
sslocal -c ~/.config/shadowsocks-rust/local.json
तुमचा ब्राउझर किंवा सिस्टम नेटवर्क सेटिंग्ज 127.0.0.1:1080 वरील SOCKS5 प्रॉक्सीकडे निर्देशित करा. GUI साठी, Nekoray किंवा ShadowsocksX-Qt5-शैलीतील फोर्क्स विभाग ७ मधील तीच ss:// लिंक आयात करू शकतात आणि sslocal स्वतः चालवण्याऐवजी तुमच्यासाठी त्याचे व्यवस्थापन करू शकतात.
अँड्रॉइडवरून कनेक्ट करत आहे
येथील सर्व काही तुमच्या अँड्रॉइड डिव्हाइसवर घडते, SSH द्वारे नाही.
क्लायंट स्थापित करा
दोन चांगले पर्याय:
- अँड्रॉइडसाठी शॅडोसॉक्स — शॅडोसॉक्स संस्थेचा अधिकृत क्लायंट. हे गूगल प्ले वरून इन्स्टॉल करा ("शॅडोसॉक्स" शोधा), किंवा तुमच्या अँड्रॉइड डिव्हाइसवर प्ले उपलब्ध नसल्यास, प्रोजेक्टच्या रिलीज पेजवरून थेट APK डाउनलोड करा. प्रदेश
- v2rayNG — v2rayN चे अँड्रॉइड समकक्ष, जे VLESS/VMess/Trojan सोबत Shadowsocks ला समर्थन देते; जर तुम्हाला एकाच ॲपद्वारे अनेक प्रोटोकॉल वापरायचे असतील तर उपयुक्त. प्रकार
सर्व्हर आयात करा
कोणत्याही ॲपमध्ये: + बटणावर टॅप करा, विभाग ७ मधून ss:// लिंक कॉपी केल्यानंतर "क्लिपबोर्डवरून आयात करा" (Import from clipboard) निवडा, किंवा "QR कोड स्कॅन करा" (Scan QR code) निवडून कॅमेरा PNG वर धरा. आयात केलेले प्रोफाइल निवडण्यासाठी त्यावर टॅप करा, त्यानंतर कनेक्ट बटणावर टॅप करा. पहिल्यांदा अँड्रॉइड VPN परवानगी मागेल — टनेल स्थापित करण्यासाठी ती मंजूर करा.
iOS वरून कनेक्ट करत आहे
येथील सर्व काही तुमच्या आयफोन किंवा आयपॅडवर घडते, SSH द्वारे नाही.
शॅडोसॉक्स-सक्षम क्लायंट स्थापित करा
शॅडोरॉकेट हा शॅडोसॉक्स सपोर्ट असलेला सर्वाधिक वापरला जाणारा iOS क्लायंट आहे; बहुतेक स्टोअरफ्रंट्सवर हे एक सशुल्क ॲप आहे. ॲप स्टोअरमध्ये ते शोधा किंवा उघडा.
स्ट्रेइसँड हा एक विनामूल्य, मुक्त-स्रोत पर्याय आहे जो VLESS, ट्रोजन आणि इतर प्रोटोकॉलसह शॅडोसॉक्सला देखील समर्थन देतो.
अॅप स्टोअर कॅटलॉग प्रत्येक स्टोअरफ्रंट/प्रदेशानुसार वेगवेगळे असतात आणि ते कालांतराने बदलू शकतात; जर तुमच्या कॅटलॉगमध्ये दोन्हीपैकी काहीही दिसत नसेल, तर अॅप स्टोअरमध्ये "Shadowsocks" किंवा "V2Box" शोधा.
सर्व्हर आयात करा
ss:// लिंक तुमच्या क्लिपबोर्डवर कॉपी करा, क्लायंट उघडा आणि त्याचा 'ॲड/इम्पोर्ट फ्रॉम क्लिपबोर्ड' पर्याय वापरा, किंवा क्लायंटच्या अंगभूत स्कॅनरने विभाग ७ मधील QR कोड स्कॅन करा. नवीन प्रोफाइल चालू करा; iOS पहिल्यांदा VPN-कॉन्फिगरेशन परवानगीसाठी विचारेल, ज्याला तुम्हाला फेस आयडी, टच आयडी किंवा तुमच्या पासकोडद्वारे मान्यता द्यावी लागेल.
कनेक्शन सत्यापित करत आहे
सेक्शन 8, 9, 10, 11, किंवा 12 मधून टनेल सक्रिय असताना, तुमच्या स्वतःच्या डिव्हाइसवर परत जा (SSH सेशनवर नाही) आणि ब्राउझरमध्ये कोणताही "माझा IP काय आहे" चेकर उघडा — दाखवलेला पत्ता तुमच्या VPS च्या IP पत्त्याशी, your_IP_address, जुळला पाहिजे.
त्याऐवजी सर्व्हरच्या बाजूने पडताळणी करण्यासाठी, कनेक्शन ॲक्टिव्हिटीसाठी systemd जर्नल तपासा आणि पोर्टवर स्थापित सत्रांची पुष्टी करा (rust जर्नलसाठी ssserver, किंवा libev जर्नलसाठी shadowsocks-libev वापरा):
journalctl -u ssserver -n 50 --no-pager
ss -tnp | grep ':8388'
संदर्भ:
|
फील्ड |
मूल्य |
|
पत्ता |
तुमच्या व्हीपीएसचा सार्वजनिक आयपी पत्ता |
|
पोर्ट |
४४३ (विभाग २ मध्ये उघडलेले तेच बंदर) |
|
पासवर्ड |
विभाग ४ मध्ये तयार केलेली की/पासफ्रेज |
|
पद्धत |
2022-blake3-aes-256-gcm (rust) किंवा chacha20-ietf-poly1305 (libev) — दोन्ही बाजूंना तंतोतंत जुळले पाहिजे |
|
मोड |
tcp_and_udp — TCP प्रॉक्सींग आणि UDP रिले (DNS, काही गेम्स) दोन्ही सक्षम करते |
|
प्लगइन |
या मार्गदर्शिकेत कशाचाही वापर केलेला नाही — शॅडोसॉक्सला कार्य करण्यासाठी कोणत्याही SNI, सर्टिफिकेट किंवा ट्रान्सपोर्ट प्लगइनची आवश्यकता नसते. |
निष्कर्ष
या मार्गदर्शिकेचे अनुसरण केल्याने तुमचा व्हीपीएस (VPS) स्वतःचा शॅडोसॉक्स सर्व्हर — एकतर आधुनिक AEAD-2022 सायफरसह शॅडोसॉक्स-रस्ट, किंवा उबंटू/डेबियनच्या स्वतःच्या रेपॉजिटरीमधील शॅडोसॉक्स-लिबेव्ह — एक सिस्टमडी (systemd) सेवा म्हणून चालवतो, जो तुमच्या कोणत्याही कृतीशिवाय रीबूटनंतरही चालू राहतो.
अधिक वापरकर्ते जोडणे:
- सर्वात सोपा मार्ग: दुसरा पासवर्ड तयार करा (विभाग 4) आणि वेगळ्या पोर्टवर स्वतःच्या कॉन्फिग फाइल आणि सिस्टमडी युनिटसह दुसरा ssserver/shadowsocks-libev इन्स्टन्स चालवा, नंतर त्या पोर्टसाठी विभाग 5-7 ची पुनरावृत्ती करा.
- AEAD-2022 सायफर वापरणारे shadowsocks-rust, config.json मधील "users" ॲरे (एक्सटेन्सिबल आयडेंटिटी हेडर्स, SIP022) द्वारे एकाच पोर्ट आणि पासवर्ड-डेरिवेशन की शेअर करणाऱ्या अनेक युझर्सना देखील सपोर्ट करते — जर तुम्हाला एकाच पोर्टवर प्रत्येक युझरनुसार ट्रॅफिक अकाउंटिंगची आवश्यकता असेल, तर अचूक सिंटॅक्ससाठी shadowsocks-rust README चा कॉन्फिगरेशन विभाग पहा.
सर्व्हर सुरू झाल्यावर जपण्यासारख्या काही सवयी:
- सर्व्हर अद्ययावत ठेवा. shadowsocks-rust साठी, विभाग ३ मधील डाउनलोड आणि इन्स्टॉल करण्याच्या पायऱ्या वेळोवेळी नवीन आवृत्ती तपासून पुन्हा चालवा, त्यानंतर systemctl restart ssserver ही कमांड चालवा. shadowsocks-libev साठी, फक्त apt upgrade ही कमांड पुरेशी आहे.
- config.json चा बॅकअप सर्वरपासून दूर, कुठेतरी खाजगी ठिकाणी घ्या. त्यात प्रत्येक क्लायंटचा पासवर्ड असतो; तो गमावल्यास प्रत्येक डिव्हाइससाठी क्रेडेन्शियल्स पुन्हा तयार करावी लागतील.
- डिव्हाइस हरवल्यास किंवा क्लायंट हॅक झाल्यास पासवर्ड बदला: नवीन पासवर्ड तयार करा (विभाग 4), config.json अपडेट करा, सेवा रीस्टार्ट करा आणि प्रत्येक उर्वरित डिव्हाइससाठी क्लायंट लिंक पुन्हा तयार करा (विभाग 7).
कनेक्शन येत नसल्यास, या क्रमाने तपासा:
- सेवेची स्थिती (systemctl status ssserver --no-pager, किंवा shadowsocks-libev) आणि जर्नल (journalctl -u ssserver -n 50 --no-pager)
- फायरवॉलचे नियम (ufw status — पोर्ट tcp आणि udp दोन्हीसाठी खुला असणे आवश्यक आहे)
- की ते पोर्ट आधीच दुसऱ्या सेवेद्वारे बाउंड केलेले नाही (ss -lntp | grep ':8388' ने फक्त ssserver/ss-server दाखवले पाहिजे)
- क्लायंटमधील पासवर्ड, मेथड आणि पोर्ट हे config.json शी तंतोतंत जुळले पाहिजेत — एक जरी अक्षर जुळले नाही तरी हँडशेक प्रक्रिया कोणतीही सूचना न देता अयशस्वी होते, आणि सहसा स्पष्ट त्रुटीऐवजी कनेक्शन टाइमआउट म्हणून दिसून येते.
- जर क्लायंटला फक्त tcp_only चीच नव्हे, तर UDP ची (उदा. DNS-over-proxy, काही गेम्स/ॲप्स) गरज असेल, तर सर्व्हरवर तो मोड tcp_and_udp वर सेट केला जातो.
शॅडोसॉक्सची इतर पर्यायांशी तुलना करत आहात का? जास्त फिल्टरिंग असलेल्या नेटवर्कवर ओळखायला कठीण असलेल्या TLS-कॅमोफ्लाज-आधारित प्रोटोकॉलसाठी ' एक्सरे व्हीलेस रिॲलिटी गाईड' (Xray VLESS Reality Guide) , वायरगार्ड-आधारित पर्यायांसाठी 'अम्नेझियाडब्ल्यूजी सर्व्हर डिप्लॉयमेंट गाईड' (AmneziaWG Server Deployment Guide) आणि 'तुमच्या सर्व्हरवर वायरगार्ड व्हीपीएन कसे सेट करावे' (How to set up Wireguard VPN on your server), किंवा लॉसी (lossy) किंवा जास्त फिल्टरिंग असलेल्या नेटवर्कसाठी तयार केलेल्या दोन प्रोटोकॉलसाठी 'हिस्टेरिया२ आणि टीयूआयसी सेटअप' (Hysteria2 and TUIC setup) पहा . जर तुम्हाला संपूर्ण टनेलिंग सेटअपऐवजी फक्त एक साधा प्रॉक्सी हवा असेल, तर CentOS/ArchLinux वरील 3proxy कॉन्फिगरेशन हा एक खूप हलका पर्याय आहे, आणि Linux वरील जुना VPN सर्व्हर सेटअप: 'पीपीटीपी की ओपनव्हीपीएन?' (PPTP or OpenVPN?) मध्ये अशा प्रोटोकॉलचा समावेश आहे जे सेट करायला सोपे आहेत पण DPI ला शोधून ब्लॉक करणे खूप सोपे आहे. एकदा प्रॉक्सी सुरू झाल्यावर सर्व्हरला अधिक सुरक्षित करण्यासाठी, 'Linux वापरकर्ते: व्यवस्थापन आणि परवानग्या' (Linux Users: Management and Permissions) पहा.