शैडोस्कॉक्स दस्तावेज

शैडोस्कोक्स कॉन्फ़िगरेशन प्रारूप

फ़ाइल को कॉन्फ़िगर करें

शैडोस्कोक्स JSON प्रारूप कॉन्फ़िगरेशन लेता है:

{

    "सर्वर": "my_server_ip",

    "सर्वर_पोर्ट":8388,

    "स्थानीय_पोर्ट":1080,

    "पासवर्ड": "बारफू!",

    "विधि": "चाचा20-आईईटीएफ-पॉली1305"

}

JSON प्रारूप

  • सर्वर: आपका होस्टनाम या सर्वर IP (IPv4/IPv6)।
  • सर्वर_पोर्ट: सर्वर पोर्ट नंबर।
  • local_port: स्थानीय पोर्ट नंबर।
  • पासवर्ड: ट्रांसफर को एन्क्रिप्ट करने के लिए इस्तेमाल किया जाने वाला पासवर्ड।
  • विधि: एन्क्रिप्शन विधि।

एन्क्रिप्शन विधि

हम अपने सर्वर को कॉन्फ़िगर करते हैं और अनुशंसा करते हैं कि आप चाचा20-ietf-poly1305 AEAD सिफर का उपयोग करें क्योंकि यह एन्क्रिप्शन की सबसे मजबूत विधि है। 

यदि आप अपने खुद के शैडोस्कॉक्स सर्वर को कॉन्फ़िगर कर रहे हैं, तो आप “चाचा20-आईईटीएफ-पॉली1305” या “एईएस-256-जीसीएम” में से किसी एक को चुन सकते हैं।

यूआरआई और क्यूआर कोड

Android / IOS के लिए शैडोस्कॉक्स भी BASE64 एन्कोडेड URI प्रारूप कॉन्फ़िगरेशन लेता है:

ss://BASE64-ENCODED-STRING-बिना-पैडिंग#TAG

 

सादा यूआरआई होना चाहिए: एसएस: // विधि: पासवर्ड @ होस्टनाम: पोर्ट

उपरोक्त URI RFC3986 का पालन नहीं करता है। इस मामले में पासवर्ड सादा पाठ होना चाहिए, प्रतिशत-एन्कोडेड नहीं।



उदाहरण: हम 192.168.100.1:8888 पर एक सर्वर का उपयोग कर रहे हैं का उपयोग bf-cfb एन्क्रिप्शन विधि और पासवर्ड परीक्षण/!@#:

 

फिर, सादे यूआरआई के साथ एसएस://बीएफ-सीएफबी:परीक्षण/!@#:@192.168.100.1:8888, हम BASE64 एन्कोडेड URI उत्पन्न कर सकते हैं: 

 

> कंसोल.लॉग ("ss: //" + btoa ("bf-cfb: test/!@#:@192.168.100.1:8888"))

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

इन URI को व्यवस्थित और पहचानने में सहायता के लिए, आप BASE64 एन्कोडेड स्ट्रिंग के बाद एक टैग जोड़ सकते हैं:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

को संबोधित करते

शैडोस्कोक्स SOCKS5 पता प्रारूप में पाए जाने वाले पतों का उपयोग करता है:

[1-बाइट प्रकार] [परिवर्तनीय-लंबाई वाला होस्ट] [2-बाइट पोर्ट]

 

यहाँ पता प्रकार परिभाषित हैं:

  • 0x01 : होस्ट एक 4-बाइट IPv4 पता है।
  • 0x03 : होस्ट एक चर लंबाई स्ट्रिंग है, जो 1-बाइट लंबाई से शुरू होती है, जिसके बाद अधिकतम 255-बाइट डोमेन नाम होता है।
  • 0x04 : होस्ट एक 16-बाइट IPv6 पता है।

 

पोर्ट नंबर एक 2-बाइट बड़ा एंडियन अहस्ताक्षरित पूर्णांक है।

टीसीपी

एसएस-लोकल क्लाइंट पेलोड डेटा के बाद लक्षित पते से शुरू होने वाले एन्क्रिप्टेड डेटा भेजकर एसएस-रिमोट से कनेक्शन शुरू करता है। उपयोग किए गए सिफर के आधार पर एन्क्रिप्शन अलग होगा।

[लक्ष्य पता] [पेलोड]

एसएस-रिमोट एन्क्रिप्टेड डेटा प्राप्त करता है, फिर लक्ष्य पते को डिक्रिप्ट और पार्स करता है। फिर यह लक्ष्य के लिए एक नया टीसीपी कनेक्शन बनाता है और इसे पेलोड डेटा अग्रेषित करता है। ss-remote लक्ष्य से एक उत्तर प्राप्त करता है, फिर डेटा को एन्क्रिप्ट करता है और इसे वापस ss-local में तब तक भेजता है जब तक कि यह डिस्कनेक्ट न हो जाए।

आपत्तिजनक उद्देश्यों के लिए, स्थानीय और रिमोट को पहले पैकेट में कुछ पेलोड के साथ हैंडशेक डेटा भेजना चाहिए।

यूडीपी

एसएस-लोकल एन्क्रिप्टेड डेटा पैकेट भेजता है जिसमें लक्षित पता और एसएस-रिमोट को पेलोड होता है।

[लक्ष्य पता] [पेलोड]

एन्क्रिप्टेड पैकेट प्राप्त होने के बाद, एसएस-रिमोट डिक्रिप्ट करता है और लक्षित पते को पार्स करता है। इसके बाद यह लक्ष्य को पेलोड के साथ एक नया डेटा पैकेट भेजता है। एसएस-रिमोट लक्ष्य से डेटा पैकेट प्राप्त करता है और प्रत्येक पैकेट में लक्ष्य पते को पेलोड में जोड़ता है। एन्क्रिप्ट की गई प्रतियाँ ss-local को वापस भेजी जाती हैं।

[लक्ष्य पता] [पेलोड]

एसएस-लोकल के लिए नेटवर्क एड्रेस ट्रांसलेशन करने वाले एसएस-रिमोट के लिए इस प्रक्रिया को उबाला जा सकता है।

अपना 5-दिन का निःशुल्क परीक्षण प्रारंभ करें