इस गाइड में, Outline SDK के कमांड लाइन टूल का इस्तेमाल करने का तरीका बताया गया है. इससे, रिमोट से नेटवर्क में होने वाले रुकावटों को समझने और उनसे बचने में मदद मिलती है. इस सेशन में, आपको नेटवर्क रुकावट को मेज़र करने, उसे रोकने की रणनीतियों को टेस्ट करने, और नतीजों का विश्लेषण करने के लिए, SDK टूल इस्तेमाल करने का तरीका पता चलेगा. इस गाइड में, resolve
, fetch
, और http2transport
टूल के बारे में बताया गया है.
Outline SDK टूल का इस्तेमाल शुरू करना
Outline SDK टूल का इस्तेमाल सीधे कमांड लाइन से किया जा सकता है.
डीएनएस रिज़ॉल्यूशन
resolve
टूल की मदद से, किसी खास रिज़ॉल्वर की मदद से डीएनएस लुकअप किए जा सकते हैं.
किसी डोमेन के A रिकॉर्ड को हल करने के लिए:
go run github.com/Jigsaw-Code/outline-sdk/x/tools/resolve@latest -resolver 8.8.8.8 -type A 1.2.3.4.nip.io
CNAME रिकॉर्ड को हल करने के लिए:
go run github.com/Jigsaw-Code/outline-sdk/x/tools/resolve@latest -resolver 8.8.8.8 -type CNAME www.google.com
वेबपेज फ़ेच करना
fetch
टूल का इस्तेमाल करके, किसी वेबपेज का कॉन्टेंट वापस पाया जा सकता है.
go run github.com/Jigsaw-Code/outline-sdk/x/tools/fetch@latest https://example.com
यह कनेक्शन को QUIC का इस्तेमाल करने के लिए भी मजबूर कर सकता है.
go run github.com/Jigsaw-Code/outline-sdk/x/tools/fetch@latest -proto=h3 https://www.youtube.com
लोकल प्रॉक्सी का इस्तेमाल करना
http2transport
टूल, आपके ट्रैफ़िक को रूट करने के लिए एक लोकल प्रॉक्सी बनाता है.
Shadowsocks ट्रांसपोर्ट की मदद से लोकल प्रॉक्सी शुरू करने के लिए:
go run github.com/Jigsaw-Code/outline-sdk/x/tools/http2transport@latest -localAddr 127.0.0.1:8080 -transport "ss://{your_shadowsocks_credentials}"
इसके बाद, इस प्रॉक्सी का इस्तेमाल curl जैसे अन्य टूल के साथ किया जा सकता है:
curl -p -x http://127.0.0.1:8080 https://ipinfo.io
नीतियों के उल्लंघन से जुड़ी रणनीतियों के बारे में बताना
Outline SDK की मदद से, नेटवर्क से जुड़ी समस्याओं को हल करने के लिए अलग-अलग रणनीतियां बनाई जा सकती हैं. इन रणनीतियों को नेटवर्क से जुड़ी अलग-अलग समस्याओं को हल करने के लिए इस्तेमाल किया जा सकता है. इन रणनीतियों के बारे में ज़्यादा जानकारी, go दस्तावेज़ में दी गई है.
अलग-अलग रणनीतियां
इन रणनीतियों को मिलाकर, पाबंदियों को चकमा देने की ज़्यादा बेहतर तकनीकें बनाई जा सकती हैं.
- TLS फ़्रैगमेंटेशन के साथ डीएनएस-ओवर-एचटीटीपीएस:
doh:name=cloudflare-dns.com&address=cloudflare.net:443 | tlsfrag:1
- डोमेन फ़्रंटिंग के साथ SOCKS5-over-TLS:
tls:sni=decoy.example.com&certname=[HOST] | socks5:[HOST]:[PORT]
- Shadowsocks की मदद से मल्टी-हॉप रूटिंग:
ss://[USERINFO1]@[HOST1]:[PORT1] | ss://[USERINFO2]@[HOST2]:[PORT2] | ss://[USERINFO3]@[HOST3]:[PORT3]
रिमोट ऐक्सेस और मेज़रमेंट
अलग-अलग इलाकों में नेटवर्क में रुकावट को मेज़र करने के लिए, रिमोट प्रॉक्सी का इस्तेमाल किया जा सकता है. कनेक्ट करने के लिए, रिमोट प्रॉक्सी ढूंढे या बनाए जा सकते हैं.
रिमोट ऐक्सेस के विकल्प
fetch
टूल का इस्तेमाल करके, अलग-अलग तरीकों से कनेक्शन की जांच की जा सकती है.
Outline सर्वर
Shadowsocks ट्रांसपोर्ट का इस्तेमाल करके, किसी स्टैंडर्ड Outline सर्वर से रिमोट तौर पर कनेक्ट करें.
go run github.com/Jigsaw-Code/outline-sdk/x/tools/fetch@latest -timeout 15 -transport "ss://{remote_shadowsocks_credentials}" https://ipinfo.io | jq
एसएसएच पर SOCKS5
एसएसएच टनल का इस्तेमाल करके, SOCKS5 प्रॉक्सी बनाएं.
ssh -D 127.0.0.1:1080 -C -N $USER@$HOST:$PORT
फ़ेच का इस्तेमाल करके उस टनल से कनेक्ट करना
go run github.com/Jigsaw-Code/outline-sdk/x/tools/fetch@latest -timeout 15 -transport "socks5://localhost:1080" https://ipinfo.io | jq
केस स्टडी: ईरान में YouTube को ब्लॉक करने की सुविधा को बायपास करना
यहां नेटवर्क में रुकावट का पता लगाने और उसे बायपास करने का एक उदाहरण दिया गया है.
ब्लॉक का पता लगाना
ईरान की किसी प्रॉक्सी के ज़रिए YouTube के होम पेज को फ़ेच करने पर, अनुरोध का समय खत्म हो जाता है. इससे पता चलता है कि YouTube को ब्लॉक किया गया है.
export TRANSPORT="ss://{remote_shadowsocks_credentials}"
go run github.com/Jigsaw-Code/outline-sdk/x/tools/fetch@latest -timeout 15 -transport "${TRANSPORT}|override:host=$(dig +short www.youtube.com | tail -1)" https://www.youtube.com
यह निर्देश टाइम आउट की वजह से पूरा नहीं हो पाता.
TLS फ़्रैगमेंटेशन की मदद से बायपास करना
ट्रांसपोर्ट में TLS फ़्रैगमेंटेशन जोड़कर, हम इस ब्लॉक को बायपास कर सकते हैं.
go run github.com/Jigsaw-Code/outline-sdk/x/tools/fetch@latest -timeout 15 -transport "${TRANSPORT}|override:host=$(dig +short www.youtube.com | tail -1)|tlsfrag:1" https://www.youtube.com | grep -oe '<title>.*</title>'
इस निर्देश से, YouTube के होम पेज का टाइटल <title>YouTube</title>
मिल जाता है.
TLS फ़्रैगमेंटेशन और डीएनएस-ओवर-एचटीटीपीएस की मदद से बायपास करना
go run github.com/Jigsaw-Code/outline-sdk/x/tools/fetch@latest -timeout 15 -transport "${TRANSPORT}|tlsfrag:1|doh:name=cloudflare-dns.com&address=www.cloudflare.net" https://www.youtube.com | grep -oe '<title>.*</title>'
इससे भी <title>YouTube</title>
दिखता है.
Outline सर्वर की मदद से बायपास करना
go run github.com/Jigsaw-Code/outline-sdk/x/tools/fetch@latest -timeout 15 -transport "${TRANSPORT}|ss://<your_shadowsocks_credentials>" https://www.youtube.com | grep -oe '<title>.*</title>'
इससे भी <title>YouTube</title>
दिखता है.
ज़्यादा विश्लेषण और संसाधन
चर्चा और सवालों के लिए, Outline SDK के चर्चा ग्रुप पर जाएं.