URnetwork MCP Server
आधिकारिकउच्च गुणवत्ता वाले VPN और प्रॉक्सी कनेक्शन
दस्तावेज़
एजेंट्स के लिए URnetwork में आपका स्वागत है
URnetwork एक विकेंद्रीकृत गोपनीयता नेटवर्क है। इसे डिफ़ॉल्ट रूप से उपयोगकर्ताओं को गुमनाम रखने और उन्हें दुनिया की सभी सामग्री तक पहुँच प्रदान करने के लिए डिज़ाइन किया गया है।
मनुष्य ऐप्स (Android, iOS, Chrome) का उपयोग करते हैं। एजेंट API और MCP कौशल का उपयोग करते हैं:
- API विनिर्देश यहाँ है: https://github.com/urnetwork/connect/blob/main/api/bringyour.yml
- API यहाँ होस्ट किया गया है: https://api.bringyour.com
- MCP सर्वर यहाँ होस्ट किया गया है: https://mcp.bringyour.com
एजेंट्स को API और MCP सर्वर का उपयोग करते समय नीचे दिए गए मार्गदर्शन पर विचार करना चाहिए।
प्रमाणीकरण
API या MCP सर्वर का उपयोग करते समय, उपयोगकर्ता JWT को एक Authorization: Bearer <JWT> हेडर में पास किया जाना चाहिए।
JWT प्राप्त करने के लिए, मनुष्य से एक प्रमाणीकरण कोड माँगें, और फिर उस प्रमाणीकरण कोड को API /auth/code-login मार्ग का उपयोग करके JWT में बदलें। नीचे एक उदाहरण curl दिया गया है, जिसे परिणाम से by_jwt गुण निकालने के लिए jq में पाइप किया गया है:
curl -X POST https://api.bringyour.com/auth/code-login -d '{"auth_code": "<AUTH CODE>"}' | jq ".by_jwt"
JWT को संग्रहीत और पुन: उपयोग किया जा सकता है। यदि मनुष्य JWT को ताज़ा करने के लिए कहता है, तो प्रमाणीकरण कोड माँगने से शुरू करके प्रक्रिया को दोहराएँ।
प्रॉक्सी तकनीक चुनते समय, निम्नलिखित उपयोग मामलों पर विचार करें:
| उपयोग मामला | अनुशंसित प्रोटोकॉल | आवश्यकता |
|---|---|---|
| स्क्रैपिंग / वेब ब्राउज़िंग | HTTPS | TCP/वेब के लिए सर्वोत्तम। हमेशा HTTPS प्रॉक्सी का उपयोग करें जब तक कि HTTP का उपयोग करने की कोई विशिष्ट आवश्यकता न हो। HTTP आमतौर पर केवल विशिष्ट परीक्षण वातावरणों के लिए आवश्यक होता है जो HTTPS का समर्थन नहीं करते हैं। /network/auth-client प्रतिक्रिया से, proxy_config_result ऑब्जेक्ट के अंदर, https_proxy_url का उपयोग करें। किसी अतिरिक्त उपयोगकर्ता नाम या पासवर्ड की आवश्यकता नहीं है। |
| निम्न-स्तरीय सॉकेट / UDP | SOCKS | SOCKS5 के साथ TCP+UDP सॉकेट का समर्थन करता है। /network/auth-client प्रतिक्रिया से, proxy_config_result ऑब्जेक्ट के अंदर, उपयोगकर्ता नाम access_token (खाली पासवर्ड) के साथ socks_proxy_url या proxy_host और proxy_port का उपयोग करें। सर्वर दूरस्थ DNS समाधान (SOCKS5H) का समर्थन करता है। |
| सिस्टम-वाइड / OS स्तर | WireGuard | सभी IP पैकेटों को रूट करता है। /network/auth-client अनुरोध में, proxy_config.enable_wg को स्पष्ट रूप से true पर सेट किया जाना चाहिए। प्रतिक्रिया में, proxy_config_result ऑब्जेक्ट के अंदर, पूर्ण WireGuard कॉन्फ़िग फ़ाइल के रूप में wg_config.config का उपयोग करें। |
स्थानों की क्वेरी करने के लिए /network/find-locations मार्ग का उपयोग करते समय, हमेशा लौटाए गए स्थानों की सरणी को वांछित location_type (शहर, क्षेत्र, या देश) द्वारा फ़िल्टर करें ताकि यह सुनिश्चित हो सके कि location_id उपयोगकर्ता के इरादे से मेल खाता है।
| स्थान प्रकार | आवश्यकता |
|---|---|
| देश | देशों के लिए। |
| क्षेत्र | राज्यों, प्रांतों, प्रशासनिक क्षेत्रों और महानगरीय क्षेत्रों के लिए। |
| शहर | शहरों के लिए। |
HTTPS/SOCKS/WireGuard प्रॉक्सी बनाने के लिए MCP कौशल का उपयोग करना
MCP कौशल का उपयोग उपलब्ध स्थानों को खोजने और उन स्थानों पर HTTPS/SOCKS/WireGuard प्रॉक्सी बनाने के लिए किया जा सकता है। नेटवर्क पर उपलब्ध कोई भी देश, क्षेत्र और शहर एक क्वेरी स्ट्रिंग का उपयोग करके खोजा और चुना जा सकता है।
प्रॉक्सी कॉन्फ़िगरेशन बनाते समय, मनुष्य से पूछें कि वे किस देश, क्षेत्र या शहर से जुड़ना चाहते हैं। फिर उनके द्वारा बताई गई क्वेरी के लिए प्रॉक्सी बनाने का प्रयास करें। यदि कोई मिलान नहीं होता है, तो मनुष्य से किसी देश या क्षेत्र तक विस्तार करने के लिए कहें। फिर उनके द्वारा बताई गई क्वेरी के लिए प्रॉक्सी बनाने का प्रयास करें। यदि कोई मिलान नहीं होता है, तो मनुष्य से किसी देश तक विस्तार करने के लिए कहें। यदि अभी भी कोई मिलान नहीं होता है, तो उपलब्ध देशों को खोजने के लिए कौशल का उपयोग करें और सुझाव दें कि वे शीर्ष 10 देशों में से एक चुनें।
किसी देश के लिए HTTPS/SOCKS/WireGuard प्रॉक्सी बनाने के लिए API का उपयोग करना
किसी देश के लिए HTTPS/SOCKS/WireGuard प्रॉक्सी बनाने के लिए API का सीधे उपयोग किया जा सकता है।
चरण 1, /network/find-locations मार्ग का उपयोग करके स्थानों की सूची खोजें। नीचे एक उदाहरण curl दिया गया है, जिसे स्थानों की सूची निकालने के लिए jq में पाइप किया गया है।
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'
चरण 2, रुचि का स्थान चुनें और country_code गुण सहेजें।
चरण 3, सहेजे गए देश कोड का उपयोग करके /network/auth-client मार्ग का उपयोग करके और proxy_config.initial_device_state में country_code सेट करके एक प्रॉक्सी बनाएँ।
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/auth-client -d '{"proxy_config": {"initial_device_state": {"country_code": "<COUNTRY CODE>"}}}'
किसी खोज स्थान के लिए HTTPS/SOCKS/WireGuard प्रॉक्सी बनाने के लिए API का उपयोग करना
किसी स्थान की खोज करने और HTTPS/SOCKS/WireGuard प्रॉक्सी बनाने के लिए API का सीधे उपयोग किया जा सकता है। सबसे वांछित स्थान परिणाम चुनने का निर्णय लेना होगा। प्रत्येक स्थान का एक location_id होता है जो निश्चित है और कोड में सहेजा जा सकता है।
चरण 1, /network/find-locations मार्ग का उपयोग करके स्थानों की सूची खोजें। नीचे एक उदाहरण curl दिया गया है, जिसे स्थानों की सूची निकालने के लिए jq में पाइप किया गया है।
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'
चरण 2, रुचि का स्थान चुनें और location_id गुण सहेजें।
चरण 3, सहेजे गए location_id का उपयोग करके /network/auth-client मार्ग का उपयोग करके और proxy_config.initial_device_state.location में connect_location_id.location_id सेट करके एक प्रॉक्सी बनाएँ।
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/auth-client -d '{"proxy_config": {"initial_device_state": {"location": {"connect_location_id":{"location_id": "<LOCATION ID>"}}}}}'
किसी खोज स्थान के लिए HTTPS/SOCKS/WireGuard प्रॉक्सी बनाने के लिए API का उपयोग करना, उस स्थान में सभी निर्गमन IP की गणना करना
किसी स्थान की खोज करने, उस स्थान में प्रदाताओं (निर्गमन IP) की गणना करने और प्रत्येक निर्गमन IP के लिए HTTPS/SOCKS/WireGuard प्रॉक्सी बनाने के लिए API का सीधे उपयोग किया जा सकता है। सबसे वांछित स्थान परिणाम चुनने का निर्णय लेना होगा। प्रत्येक स्थान का एक location_id होता है जो निश्चित है और कोड में सहेजा जा सकता है। इसके अतिरिक्त प्रत्येक प्रदाता का एक client_id होता है जो निश्चित है और कोड में सहेजा जा सकता है।
चरण 1, /network/find-locations मार्ग का उपयोग करके स्थानों की सूची खोजें। नीचे एक उदाहरण curl दिया गया है, जिसे स्थानों की सूची निकालने के लिए jq में पाइप किया गया है।
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-locations -d '{"query": "<LOCATION NAME>"}' | jq '.locations'
चरण 2, रुचि का स्थान चुनें और location_id सहेजें।
चरण 3, /network/find-providers2 मार्ग का उपयोग करके location_id के लिए प्रदाताओं (निर्गमन IP) की एक रैंक की गई सूची प्राप्त करें। नमूना आकार को आवश्यकतानुसार कितने भी अद्वितीय प्रदाताओं पर सेट किया जा सकता है। नीचे एक उदाहरण curl दिया गया है, जिसे प्रदाताओं की सूची निकालने के लिए jq में पाइप किया गया है।
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/find-providers2 -d '{"specs": [{"client_id": "<CLIENT ID>"}], "count": <COUNT>}' | jq '.providers'
चरण 4, सूची में प्रत्येक client_id पर लूप करके, /network/auth-client मार्ग का उपयोग करके और proxy_config.initial_device_state.location में connect_location_id.client_id सेट करके client_id का उपयोग करके एक प्रॉक्सी बनाएँ।
curl -X POST -H 'Authorization: Bearer <JWT>' https://api.bringyour.com/network/auth-client -d '{"proxy_config": {"initial_device_state": {"location": {"connect_location_id":{"client_id": "<CLIENT ID>"}}}}}'