Shadowsocks एक हल्का, SOCKS5-आधारित इन्क्रिप्टेड प्रोक्सी प्रोटोकल हो जुन मूल रूपमा साधारण नेटवर्कहरूमा ट्राफिक-आकार र ब्लकिङबाट बच्नको लागि डिजाइन गरिएको हो। पूर्ण VPN भन्दा फरक, यसले केवल अनुप्रयोगले स्पष्ट रूपमा पठाएको ट्राफिकलाई प्रोक्सी गर्दछ, लगभग कुनै प्रोटोकल ओभरहेड छैन, र सीमित जडानहरूमा पनि राम्रोसँग काम गर्दछ। यसले VLESS+Reality ले जस्तै वास्तविक TLS ह्यान्डशेकको नक्कल गर्ने प्रयास गर्दैन - यसको बल सरलता, फराकिलो ग्राहक समर्थन (राउटरहरू, फोनहरू, ब्राउजरहरू), र धेरै कम विलम्बता हो, जसको लागतमा भारी निरीक्षण गरिएको नेटवर्कमा ट्राफिक ढाँचाद्वारा फिंगरप्रिन्ट गर्न केही सजिलो हुन्छ।
त्यहाँ दुई सक्रिय रूपमा मर्मत गरिएका सर्भर कार्यान्वयनहरू छन्:
- shadowsocks-rust — shadowsocks संगठनबाट आधुनिक सन्दर्भ कार्यान्वयन, जुन Rust मा लेखिएको छ। यसले नयाँ AEAD-2022 साइफर परिवारलाई समर्थन गर्दछ, सक्रिय रूपमा विकसित गरिएको छ, र यो गाइडले विस्तृत रूपमा स्थापना र कन्फिगर गर्ने कार्यान्वयन हो।
- shadowsocks-libev — पुरानो C कार्यान्वयन। यो अझै पनि बग समाधानहरूको लागि कायम राखिएको छ, यसको आफ्नै systemd एकाइहरू सहितको तयार-निर्मित उपयुक्त प्याकेजको रूपमा पठाइन्छ, र यदि तपाईं कुनै म्यानुअल बाइनरी ह्यान्डलिङ बिना पूर्ण सरल स्थापना चाहनुहुन्छ भने यो राम्रो विकल्प हो। यो गाइडले यसलाई खण्ड ३ मा वैकल्पिक स्थापना मार्गको रूपमा समेट्छ।
यो गाइडले वेब प्यानल वा डकर प्रयोग नगरी कमाण्ड लाइन मार्फत सर्भरलाई म्यानुअली कसरी कन्फिगर गर्ने भनेर वर्णन गर्दछ। जहाँ "IP ठेगाना" फिल्ड देखिन्छ, त्यसलाई आफ्नो VPS को वास्तविक IP ठेगानाले प्रतिस्थापन गर्नुहोस्।
तपाईंलाई के चाहिन्छ: Ubuntu 22.04/24.04 वा Debian 11/12 चल्ने VPS, रूट पहुँच, तपाईंको VPS को IP ठेगाना, र नि:शुल्क UDP/TCP पोर्ट (यस गाइडले 8388 प्रयोग गर्दछ, Shadowsocks पूर्वनिर्धारित)।
के तपाईंसँग अहिलेसम्म सर्भर छैन? सर्भर कसरी अर्डर गर्ने र त्यसको लागि भुक्तानी गर्ने हेर्नुहोस् ।
पहिले यसलाई अन्य स्व-होस्ट गरिएका विकल्पहरूसँग तुलना गर्दै हुनुहुन्छ? TLS-क्यामोफ्लाज-आधारित विकल्पको लागि Xray VLESS Reality Guide , WireGuard-आधारित विकल्पको लागि AmneziaWG सर्भर डिप्लोयमेन्ट गाइड , वा दुई अन्य आधुनिक प्रोक्सी प्रोटोकलहरूको लागि Hysteria2 र TUIC सेटअप हेर्नुहोस्।
सर्भरमा जडान गर्दै
विन्डोज (पुट्टी)
PuTTY खोल्नुहोस्, Host Name फिल्डमा आफ्नो VPS IP ठेगाना प्रविष्ट गर्नुहोस्, पोर्टलाई २२ मा सेट गर्नुहोस्, र तपाईंको VPS प्रदायकले तपाईंलाई इमेल गरेको पासवर्ड प्रयोग गरेर रूटको रूपमा लग इन गर्नुहोस्।
सर्भर IP ठेगाना: तपाईंको IP ठेगाना
लगइन गर्नुहोस्: रूट
पासवर्ड: तपाईंको पासवर्ड
PuTTY/SSH मार्फत जडान गर्ने विस्तृत मार्गनिर्देशनको लागि, SSH मार्फत लिनक्स सर्भरमा कसरी जडान गर्ने हेर्नुहोस् ।
लिनक्स / म्याकोस (टर्मिनल)
ssh root@your_IP_address
तलका सबै आदेशहरू सर्भरमा चलाइएका छन्, यही SSH सत्रमा — जसले खण्ड २ देखि ७ सम्म समेट्छ, साथै खण्ड १३ मा सर्भर-साइड जाँचहरू पनि समावेश गर्दछ। खण्ड ८–१२ (क्लाइन्ट एपहरू स्थापना र कन्फिगर गर्ने) तपाईंको आफ्नै Windows/macOS/Linux/Android/iOS उपकरणमा हुन्छ, किनकि त्यो उपकरण प्रोक्सी चलाउन आवश्यक छ; ती प्रत्येक खण्डले स्पष्ट रूपमा भन्छ कि कुन लाइनहरू, यदि कुनै छन् भने, अझै पनि सर्भरलाई छुन्छ।
सर्भर तयार गर्दै
प्रणाली अद्यावधिक गर्नुहोस्
केहि पनि स्थापना गर्नु अघि, प्याकेज सूची ताजा गर्नुहोस् र स्थापित प्याकेजहरू अपग्रेड गर्नुहोस्:
apt update -y && apt upgrade -y
यदि यसले कर्नेललाई अपग्रेड गर्छ भने, जारी राख्नु अघि रिबुट गर्नु राम्रो विचार हो। (एप्ट र लिनक्स प्याकेज प्रबन्धकहरूले कसरी काम गर्छन् भन्ने बारे रिफ्रेसरको लागि, लिनक्स प्याकेज प्रबन्धकहरू हेर्नुहोस् ।) जाँच गर्नुहोस्:
cat /var/run/reboot-required
यदि फाइल अवस्थित छ भने, पहिले 'रिबुट' प्रयोग गरेर रिबुट गर्नुहोस्, लगभग ३० सेकेन्ड पर्खनुहोस्, त्यसपछि पुन: जडान गर्नुहोस्।
यस गाइडले प्रयोग गर्ने उपकरणहरू स्थापना गर्नुहोस्
apt install -y curl wget tar xz-utils ufw qrencode
shadowsocks-rust रिलीज अभिलेख ल्याउन र अनप्याक गर्न curl/wget र tar/xz-utils आवश्यक पर्दछ; ufw तल कन्फिगर गरिएको फायरवाल हो; qrencode ले खण्ड ७ मा समाप्त क्लाइन्ट लिङ्कलाई स्क्यान गर्न मिल्ने QR कोडमा परिणत गर्दछ।
फायरवाल (UFW) कन्फिगर गर्नुहोस्
UFW नियमहरूको बारेमा थप जानकारीको लागि, Linux मा फायरवाल कन्फिगर गर्दै हेर्नुहोस् ।
तपाईंलाई आवश्यक पर्ने दुई पोर्टहरू खोल्नुहोस्: 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 एकाइको साथ प्लेन एप्ट प्याकेज प्रयोग गर्न चाहनुहुन्छ र AEAD-2022 आवश्यक छैन भने विकल्प B (shadowsocks-libev) राम्रो विकल्प हो।
विकल्प 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 छ भने (`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
यो गाइडले bash मा इन्स्टलर स्क्रिप्ट पाइप गर्नुको सट्टा निश्चित संस्करण स्थापना गर्दछ। पछि अपग्रेड गर्न, माथिका दुई आदेशहरूलाई नयाँ SS_VER लुकअपको साथ पुन: चलाउनुहोस्, सेवा रोक्नुहोस्, बाइनरी बदल्नुहोस्, र यसलाई पुन: सुरु गर्नुहोस् (खण्ड ६)।
विकल्प B — shadowsocks-libev (वैकल्पिक, उपयुक्त प्याकेज)
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 प्रोटोकल बोल्छन्।
पासवर्ड उत्पन्न गर्ने र साइफर छनौट गर्ने
Shadowsocks प्रमाणीकरण भनेको एकल साझा पासवर्ड र एउटा साइफर (इन्क्रिप्शन विधि) हो जसमा दुवै पक्ष सहमत हुनुपर्छ — व्यवस्थापन गर्न कुनै छुट्टै UUID, कुञ्जी जोडी, वा प्रमाणपत्र छैन।
साइफर परिवारहरू
- AEAD-२०२२ (सिफारिस गरिएको, shadowsocks-rust मात्र): २०२२-blake3-aes-128-gcm, २०२२-blake3-aes-256-gcm, २०२२-blake3-chacha20-poly1305। बलियो रिप्ले सुरक्षा र एउटै पोर्ट साझा गर्ने धेरै प्रयोगकर्ताहरूको लागि समर्थन सहितको नयाँ डिजाइन (SIP022)। पासवर्ड साइफरको कुञ्जी लम्बाइको ठ्याक्कै base64 स्ट्रिङ हुनुपर्छ (१२८-बिट भेरियन्टहरूको लागि १६ बाइटहरू, २५६-बिट भेरियन्टहरूको लागि ३२ बाइटहरू)।
- क्लासिक AEAD (रस्ट र 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) ले यसलाई समर्थन गर्दछ। यदि तपाईंले खण्ड 3 मा shadowsocks-libev स्थापना गर्नुभएको छ भने, यसको सट्टा chacha20-ietf-poly1305 वा aes-256-gcm प्रयोग गर्नुहोस्, किनकि libev ले AEAD-2022 लागू गर्दैन।
एउटा कुञ्जी उत्पन्न गर्नुहोस् (shadowsocks-rust)
ssservice genkey -m "2022-blake3-aes-256-gcm"
यसले base64 स्ट्रिङ प्रिन्ट गर्छ — त्यो तपाईंको पासवर्ड हो। यसलाई कतै सुरक्षित ठाउँमा प्रतिलिपि गर्नुहोस्; तपाईंले यसलाई खण्ड ५ मा रहेको सर्भर कन्फिगरेसन र खण्ड ७ मा रहेको क्लाइन्ट लिङ्क दुवैमा टाँस्नुहुनेछ।
पासफ्रेज छान्नुहोस् (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 थिच्नुहोस्, त्यसपछि nano बाट बाहिर निस्कन Ctrl+X थिच्नुहोस्।
महत्त्वपूर्ण क्षेत्रहरू: सर्भरले सबै इन्टरफेसहरूमा सुन्छ (०.०.०.०); सर्भर_पोर्ट खण्ड २ मा खोलिएको पोर्ट हो; पासवर्ड/विधि खण्ड ४ बाट प्रमाण र साइफर हो; मोडले TCP र UDP रिलेइङ दुवैलाई सक्षम बनाउँछ; टाइमआउट भनेको सेकेन्डमा निष्क्रिय-जडान समय समाप्त हुन्छ; nofile ले व्यस्त सर्भरहरूको लागि फाइल-वर्णनकर्ता सीमा बढाउँछ।
systemd मा तार गर्नु अघि JSON लाई प्रमाणित गर्नुहोस् र बाइनरीले यसलाई स्वीकार गर्दछ:
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 एकाइ सिर्जना गर्नुहोस् (shadowsocks-rust)
बाइनरी रिलिजले 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
}
पूर्वनिर्धारित कन्फिगरेसनले सर्भर प्रयोग गर्दछ: ["::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
सेवाको नाम प्रतिस्थापन गर्दै, shadowsocks-rust को लागि जस्तै गरी पोर्ट र लगहरू जाँच गर्नुहोस्:
ss -lntp | grep ':8388'
ss -lunp | grep ':8388'
journalctl -u shadowsocks-libev -n 50 --no-pager
ग्राहक जडान लिङ्क निर्माण गर्दै
Shadowsocks क्लाइन्टहरूले कन्फिग फाइलको सट्टा एउटा मात्र ss:// शेयर लिङ्क (SIP002 URL ढाँचा) आयात गर्छन्। लिङ्कले URL को प्रयोगकर्ता जानकारी भागमा 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 लाई आफ्नो कम्प्युटरमा प्रतिलिपि गर्नुहोस्, सर्भरबाट होइन, तपाईंको कम्प्युटरको टर्मिनल (वा विन्डोजमा PowerShell) बाट चलाउनुहोस्:
scp root@your_IP_address:~/ss-client.png .
विन्डोजबाट जडान गर्दै
यस खण्डमा भएका सबै कुरा तपाईंको विन्डोज पीसीमा हुन्छ, SSH मार्फत होइन — क्लाइन्टले वास्तवमा प्रोक्सी प्रयोग गर्ने उपकरणमा चल्नुपर्छ।
v2rayN स्थापना गर्नुहोस्
v2rayN एक नि:शुल्क, सक्रिय रूपमा मर्मत गरिएको GUI क्लाइन्ट हो जसमा VLESS, VMess, Trojan, र अन्यको साथमा नेटिभ Shadowsocks समर्थन छ। परियोजनाको पृष्ठबाट पछिल्लो रिलीज डाउनलोड गर्नुहोस् ।
Windows 64-bit .zip सम्पत्ति लिनुहोस् (एक स्व-निहित बिल्डलाई हालसालै v2rayN संस्करणहरू जस्तै छुट्टै .NET रनटाइम आवश्यक पर्दैन), यसलाई जहाँसुकै निकाल्नुहोस्, र v2rayN.exe चलाउनुहोस्।
सर्भर आयात गर्नुहोस्
खण्ड ७ मा निर्मित ss:// लिङ्कलाई आफ्नो क्लिपबोर्डमा प्रतिलिपि गर्नुहोस् (वा scp सहित QR PNG प्रतिलिपि गर्नुहोस् र यसलाई खोल्नुहोस्), त्यसपछि v2rayN मा सर्भरहरू → क्लिपबोर्डबाट बल्क URL आयात गर्नुहोस् (वा बिल्ट-इन स्क्यानर मार्फत QR कोड स्क्यान गर्नुहोस्) छनौट गर्नुहोस्। नयाँ सर्भर प्रोफाइल तपाईंले # पछि सेट गर्नुभएको लेबलको साथ सूचीमा देखा पर्दछ।
प्रोफाइलमा दायाँ क्लिक गर्नुहोस् र यसलाई सक्रियको रूपमा चयन गर्नुहोस्, त्यसपछि मुख्य विन्डोको उपकरणपट्टीबाट प्रणाली प्रोक्सी (वा सम्पूर्ण मेसिन राउट गर्न TUN मोड) सक्षम गर्नुहोस्।
macOS बाट जडान गर्दै
यस खण्डमा भएका सबै कुरा तपाईंको म्याकमा हुन्छ, SSH मार्फत होइन।
ShadowsocksX-NG स्थापना गर्नुहोस्
ShadowsocksX-NG Shadowsocks को लागि लामो समयदेखि चलिरहेको नेटिभ macOS GUI क्लाइन्ट हो; हालको रिलीज लाइनले Intel सँगसँगै नेटिभ एप्पल सिलिकन बिल्ड पठाउँछ। रिलीज पृष्ठबाट नवीनतम .dmg डाउनलोड गर्नुहोस्।
.dmg खोल्नुहोस् र ShadowsocksX-NG लाई Applications मा तान्नुहोस्, त्यसपछि यसलाई सुरु गर्नुहोस् — यो मेनु पट्टीमा आइकनको रूपमा देखिन्छ।
सर्भर आयात गर्नुहोस्
खण्ड ७ बाट ss:// लिङ्कलाई आफ्नो क्लिपबोर्डमा प्रतिलिपि गर्नुहोस्, त्यसपछि तल-बायाँमा रहेको मेनु-बार आइकन → सर्भरहरू → सर्भर प्राथमिकताहरू → + मा क्लिक गर्नुहोस्, र "पेस्टबोर्डबाट आयात गर्नुहोस्" छनौट गर्नुहोस् (वा PNG खोलिसकेपछि "स्क्रिनबाट QR कोड स्क्यान गर्नुहोस्" प्रयोग गरेर QR कोड स्क्यान गर्नुहोस्)। मेनु-बार ड्रपडाउनबाट नयाँ प्रोफाइल चयन गर्नुहोस्, त्यसपछि "Shadowsocks: On" टगल गर्नुहोस् र सोही मेनुबाट "PAC Auto" वा "Global" राउटिङ मोड छनौट गर्नुहोस्।
लिनक्स डेस्कटपबाट जडान गर्दै
यस खण्डमा भएका सबै कुरा तपाईंको आफ्नै लिनक्स मेसिनमा हुन्छ, VPS मा होइन।
स्थानीय क्लाइन्ट स्थापना गर्नुहोस्
यदि तपाईंले खण्ड ३ मा सर्भरमा 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/
कन्फिगर गर्नुहोस् र चलाउनुहोस्
१२७.०.०.१:१०८० मा 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
१२७.०.०.१:१०८० मा रहेको SOCKS5 प्रोक्सीमा आफ्नो ब्राउजर वा प्रणाली नेटवर्क सेटिङहरू देखाउनुहोस्। GUI को लागि, Nekoray वा ShadowsocksX-Qt5-शैली फोर्कहरूले खण्ड ७ बाट उही ss:// लिङ्क आयात गर्न सक्छन् र हातले चलाउनुको सट्टा तपाईंको लागि sslocal व्यवस्थापन गर्न सक्छन्।
एन्ड्रोइडबाट जडान गर्दै
यहाँ सबै कुरा तपाईंको एन्ड्रोइड उपकरणमा हुन्छ, SSH मार्फत होइन।
क्लाइन्ट स्थापना गर्नुहोस्
दुई राम्रा विकल्पहरू:
- एन्ड्रोइडका लागि Shadowsocks — shadowsocks संस्थाको आधिकारिक क्लाइन्ट। यसलाई Google Play बाट स्थापना गर्नुहोस् ("Shadowsocks" खोज्नुहोस्), वा यदि Play तपाईंको उपकरणमा उपलब्ध छैन भने परियोजनाको रिलीज पृष्ठबाट सिधै APK डाउनलोड गर्नुहोस्। क्षेत्र।
- v2rayNG — v2rayN को एन्ड्रोइड समकक्ष, VLESS/VMess/Trojan सँगसँगै Shadowsocks लाई समर्थन गर्दछ; यदि तपाईं धेरै प्रोटोकलहरूको लागि एउटा एप चाहनुहुन्छ भने उपयोगी। प्रकारहरू।
सर्भर आयात गर्नुहोस्
कुनै पनि एपमा: + बटन ट्याप गर्नुहोस्, खण्ड ७ बाट ss:// लिङ्क प्रतिलिपि गरेपछि "क्लिपबोर्डबाट आयात गर्नुहोस्" छनौट गर्नुहोस्, वा "QR कोड स्क्यान गर्नुहोस्" र क्यामेरालाई PNG मा देखाउनुहोस्। यसलाई चयन गर्न आयात गरिएको प्रोफाइलमा ट्याप गर्नुहोस्, त्यसपछि जडान बटन ट्याप गर्नुहोस्। एन्ड्रोइडले पहिलो पटक VPN अनुमतिको लागि प्रोम्प्ट गर्नेछ — सुरुङ स्थापना गर्न यसलाई अनुमोदन गर्नुहोस्।
iOS बाट जडान गर्दै
यहाँ सबै कुरा तपाईंको आईफोन वा आईप्याडमा हुन्छ, SSH मार्फत होइन।
Shadowsocks-सक्षम क्लाइन्ट स्थापना गर्नुहोस्
Shadowrocket Shadowsocks समर्थन भएको सबैभन्दा धेरै प्रयोग हुने iOS क्लाइन्ट हो; यो धेरैजसो स्टोरफ्रन्टहरूमा सशुल्क एप हो। यसलाई एप स्टोरमा खोज्नुहोस्, वा खोल्नुहोस्।
स्ट्रिस्यान्ड एक नि:शुल्क, खुला स्रोत विकल्प हो जसले VLESS, ट्रोजन, र अन्य प्रोटोकलहरूसँगै Shadowsocks लाई पनि समर्थन गर्दछ ।
एप स्टोर क्याटलगहरू स्टोरफ्रन्ट/क्षेत्र अनुसार फरक हुन्छन् र समयसँगै परिवर्तन हुन सक्छन्; यदि तपाईंको स्टोरमा यी दुवै देखिँदैन भने, "Shadowsocks" वा "V2Box" को लागि एप स्टोर खोज्नुहोस्।
सर्भर आयात गर्नुहोस्
ss:// लिङ्कलाई आफ्नो क्लिपबोर्डमा प्रतिलिपि गर्नुहोस्, क्लाइन्ट खोल्नुहोस्, र यसको Add/Import from clipboard विकल्प प्रयोग गर्नुहोस्, वा क्लाइन्टको बिल्ट-इन स्क्यानर प्रयोग गरेर खण्ड ७ बाट QR कोड स्क्यान गर्नुहोस्। नयाँ प्रोफाइललाई टगल गर्नुहोस्; iOS ले पहिलो पटक VPN-कन्फिगरेसन अनुमतिको लागि प्रोम्प्ट गर्नेछ, जुन तपाईंले फेस आईडी, टच आईडी, वा तपाईंको पासकोड मार्फत अनुमोदन गर्नुपर्नेछ।
जडान प्रमाणित गर्दै
खण्ड ८, ९, १०, ११, वा १२ बाट सुरुङ सक्रिय भएपछि, आफ्नो उपकरणमा फर्कनुहोस् (SSH सत्र होइन) र ब्राउजरमा कुनै पनि "what's my IP" परीक्षक खोल्नुहोस् — देखाइएको ठेगाना तपाईंको VPS को IP ठेगाना, your_IP_address सँग मेल खानुपर्छ।
सर्भर साइडबाट प्रमाणित गर्न, जडान गतिविधिको लागि systemd जर्नल जाँच गर्नुहोस् र पोर्टमा स्थापित सत्रहरू पुष्टि गर्नुहोस् (रस्ट जर्नलको लागि ssserver प्रयोग गर्नुहोस्, वा libev जर्नलको लागि shadowsocks-libev प्रयोग गर्नुहोस्):
journalctl -u ssserver -n 50 --no-pager
ss -tnp | grep ':8388'
सन्दर्भ:
|
क्षेत्र |
मूल्य |
|
ठेगाना |
तपाईंको VPS को सार्वजनिक IP ठेगाना |
|
पोर्ट |
४४३ (खण्ड २ मा खोलिएको उही पोर्ट) |
|
पासवर्ड |
खण्ड ४ मा उत्पन्न गरिएको कुञ्जी/पासफ्रेज |
|
विधि |
२०२२-ब्लेक३-एईएस-२५६-जीसीएम (रस्ट) वा चाचा२०-इइटीएफ-पोली१३०५ (लिबेभ) — दुवै तर्फ ठ्याक्कै मिल्नु पर्छ। |
|
मोड |
tcp_and_udp — TCP प्रोक्सी र UDP रिले दुवै सक्षम बनाउँछ (DNS, केही खेलहरू) |
|
जोड्नु |
यस गाइडमा कुनै पनि प्रयोग गरिएको छैन — Shadowsocks लाई काम गर्न कुनै SNI, प्रमाणपत्र, वा ट्रान्सपोर्ट प्लगइन आवश्यक पर्दैन। |
निष्कर्ष
यो गाइड पछ्याउँदा तपाईंको VPS ले आफ्नै Shadowsocks सर्भर चलाउँछ — या त आधुनिक AEAD-2022 साइफर भएको shadowsocks-rust, वा Ubuntu/Debian को आफ्नै भण्डारबाट shadowsocks-libev — एक systemd सेवाको रूपमा जुन तपाईंको तर्फबाट कुनै कार्य बिना रिबुटमा बाँच्दछ।
थप प्रयोगकर्ताहरू थप्दै:
- सबैभन्दा सरल: दोस्रो पासवर्ड उत्पन्न गर्नुहोस् (खण्ड ४) र दोस्रो ssserver/shadowsocks-libev उदाहरणलाई फरक पोर्टमा यसको आफ्नै कन्फिग फाइल र systemd एकाइको साथ चलाउनुहोस्, त्यसपछि त्यो पोर्टको लागि खण्ड ५-७ दोहोर्याउनुहोस्।
- AEAD-2022 साइफर भएको shadowsocks-rust ले config.json (Extensible Identity Headers, SIP022) मा "users" array मार्फत एउटा पोर्ट र पासवर्ड-व्युत्पन्न कुञ्जी साझा गर्ने धेरै प्रयोगकर्ताहरूलाई पनि समर्थन गर्दछ — यदि तपाईंलाई एकल पोर्टमा प्रति-प्रयोगकर्ता ट्राफिक लेखा आवश्यक छ भने सटीक वाक्य रचनाको लागि shadowsocks-rust README को कन्फिगरेसन खण्ड हेर्नुहोस्।
सर्भर चलिसकेपछि पनि कायम राख्नु पर्ने केही बानीहरू:
- सर्भर अपडेट राख्नुहोस्। shadowsocks-rust को लागि, समय समयमा नयाँ संस्करण लुकअपको साथ खण्ड ३ बाट डाउनलोड-र-स्थापना चरणहरू पुन: चलाउनुहोस्, त्यसपछि systemctl पुन: सुरु गर्नुहोस् ssserver। shadowsocks-libev को लागि, प्लेन apt अपग्रेडले यसलाई समेट्छ।
- config.json लाई सर्भरबाट बाहिर कतै निजी रूपमा ब्याकअप गर्नुहोस्। यसले प्रत्येक क्लाइन्टको पासवर्ड राख्छ; यसलाई हराउनु भनेको प्रत्येक उपकरणको लागि प्रमाणहरू पुन: उत्पन्न गर्नु हो।
- यदि कुनै उपकरण हरायो वा क्लाइन्टसँग सम्झौता भयो भने पासवर्ड घुमाउनुहोस्: नयाँ पासवर्ड उत्पन्न गर्नुहोस् (खण्ड ४), config.json अपडेट गर्नुहोस्, सेवा पुन: सुरु गर्नुहोस्, र बाँकी रहेका प्रत्येक उपकरणको लागि क्लाइन्ट लिङ्क (खण्ड ७) पुनर्निर्माण गर्नुहोस्।
यदि जडान आउँदैन भने, क्रमबद्ध रूपमा जाँच गर्नुहोस्:
- सेवा स्थिति (systemctl स्थिति ssserver --no-pager, वा shadowsocks-libev) र जर्नल (journalctl -u ssserver -n 50 --no-pager)
- फायरवाल नियमहरू (ufw स्थिति — पोर्ट tcp र udp दुवैको लागि खुला हुनुपर्छ)
- पोर्ट पहिले नै अर्को सेवाद्वारा बाँधिएको छैन भनेर (ss -lntp | grep ':8388' ले ssserver/ss-server मात्र देखाउनु पर्छ)
- क्लाइन्टमा रहेको पासवर्ड, विधि र पोर्ट config.json सँग ठ्याक्कै मिल्छ कि - एउटा बेमेल क्यारेक्टरले चुपचाप ह्यान्डशेक असफल गर्छ, सामान्यतया स्पष्ट त्रुटिको सट्टा जडान टाइमआउटको रूपमा देखा पर्दछ।
- यदि क्लाइन्टलाई tcp_only मात्र होइन तर UDP (DNS-over-proxy, केही खेलहरू/एपहरू) चाहिन्छ भने सर्भरमा त्यो मोड tcp_and_udp मा सेट गरिएको छ।
Shadowsocks लाई अन्य विकल्पहरूसँग तुलना गर्दै हुनुहुन्छ? अत्यधिक फिल्टर गरिएको नेटवर्कमा फिंगरप्रिन्ट गर्न गाह्रो हुने TLS-क्यामफ्लाज-आधारित प्रोटोकलको लागि Xray VLESS रियालिटी गाइड , WireGuard-आधारित विकल्पहरूको लागि AmneziaWG सर्भर डिप्लोयमेन्ट गाइड र तपाईंको सर्भरमा Wireguard VPN कसरी सेट अप गर्ने , वा हानिपूर्ण वा अत्यधिक फिल्टर गरिएका नेटवर्कहरूको लागि निर्मित दुई प्रोटोकलहरूको लागि Hysteria2 र TUIC सेटअप हेर्नुहोस् । यदि तपाईंलाई पूर्ण टनेलिङ सेटअपको सट्टा साधारण प्रोक्सी चाहिन्छ भने, CentOS/ArchLinux मा 3proxy कन्फिगरेसन धेरै हल्का विकल्प हो, र Linux मा पुरानो VPN सर्भर सेटअप: PPTP वा OpenVPN? ले प्रोटोकलहरू समेट्छ जुन सेटअप गर्न सजिलो छ तर DPI पत्ता लगाउन र ब्लक गर्न धेरै सजिलो छ। प्रोक्सी लाइभ भएपछि सामान्य सर्भर कडाइको लागि, Linux प्रयोगकर्ताहरू हेर्नुहोस्: व्यवस्थापन र अनुमतिहरू ।