इसे छोड़कर कंटेंट पर जाएं

XProxy REST API: IP रोटेट करें, स्टेटस और प्रॉक्सी सूची

XProxy REST API से आपका अपना कोड सादे HTTP कॉल के ज़रिए आपकी मोबाइल प्रॉक्सी की सूची ले सकता है, उनके IP रोटेट कर सकता है, उनका स्टेटस पढ़ सकता है और मॉडेम रीबूट कर सकता है. अपने box का पता कॉल करें, जहाँ ज़रूरी हो वहाँ डैशबोर्ड लॉगिन जोड़ें, बस.

आपको चाहिए: Basic प्लान या उससे ऊपर (कीमतें; Free प्लान में IP रोटेशन नहीं है) और आपके box का पता. नेटवर्क के बाहर से कॉल करने के लिए डैशबोर्ड का यूज़रनेम और पासवर्ड भी.

संक्षेप में

Base URL

आपके box का पता, जैसे http://192.168.1.100. कोई अलग API सर्वर नहीं है.

कोई API key नहीं

कॉल आपके डैशबोर्ड का यूज़रनेम और पासवर्ड (HTTP Basic) इस्तेमाल करते हैं. रोटेट और status कॉल को लॉगिन नहीं चाहिए, जब तक आप Force API Auth चालू न करें.

शुरुआत के लिए तीन कॉल

info_list मॉडेम की सूची देता है, rotate_ip नया IP लेता है, status बताता है कि वह कब तैयार है.

XProxy API का base URL क्या है?

base URL आपके XProxy box का पता है, और अगर डैशबोर्ड पोर्ट 80 नहीं है तो साथ में वह पोर्ट:

आप कहाँ से कॉल करते हैंBase URL
आपका लोकल नेटवर्कhttp://192.168.1.100 (box का पता)
डैशबोर्ड का कोई दूसरा पोर्टhttp://192.168.1.100:8080 (देखें डैशबोर्ड सुरक्षित करें)
इंटरनेटhttp://myproxy.duckdns.org, आपका पब्लिक पता, या VPS का पता. box तक NAT Forwarding, VPS Forwarding या Tailscale से पहुँचें.

https:// तभी लिखें जब आपका डोमेन HTTPS देता हो. लिंक और API कॉल के लिए अलग डोमेन Proxy Settings → Address में सेट कर सकते हैं.

REST API में लॉगिन कैसे करें?

कोई अलग API key नहीं है. जिस कॉल को लॉगिन चाहिए, वह आपके डैशबोर्ड के यूज़रनेम और पासवर्ड को HTTP Basic authentication के रूप में इस्तेमाल करता है, वही लॉगिन जो आपने डैशबोर्ड सुरक्षित करें में सेट किया है.

कॉललॉगिन
रोटेट, status और रीबूट: /api/v1/rotate_ip/…, /api/v1/status/…, /api/v1/reboot/…, और पुराने /reset, /status लिंककोई नहीं, जब तक आप Force API Auth चालू न करें. उसके बाद HTTP Basic.
सूचियाँ और बाकी सब: /api/v1/info_list, /api/v1/proxy_list/…, /proxy_list, /reset_all, /reset_by_port, /status_by_portलोकल नेटवर्क के बाहर से HTTP Basic.
आपके लोकल नेटवर्क का डिवाइस, whitelist वाला IP, या Tailscale डिवाइस (अगर अनुमति हो)कोई लॉगिन नहीं. Force LAN Auth और Force API Auth इसे बदलते हैं.
अपने token वाली ग्राहक प्रॉक्सी (Business प्लान)लिंक में मौजूद token. देखें Selling Platform कैसे इस्तेमाल करें.
रोटेशन लिंक को पासवर्ड की तरह संभालें. जब तक Force API Auth बंद है, जो भी आपके box तक पहुँच सकता है और लिंक जानता है, वह उस मॉडेम को रोटेट कर सकता है. अगर box इंटरनेट पर खुला है तो Force API Auth चालू करें.

क्या कोई API token है?

पैनल ख़ुद POST /v2/auth/login से लॉगिन करता है. जवाब में एक token आता है जो सिर्फ़ Base64 में लिखा आपका यूज़रनेम और पासवर्ड है, इसलिए इसे पासवर्ड जितना ही गुप्त रखें. आपकी स्क्रिप्ट हर कॉल पर यही लॉगिन HTTP Basic से भेज सकती हैं.

bash
# optional: check a login (answer: status true and a token)
curl -X POST 'http://192.168.1.100/v2/auth/login' \
  --header 'Content-Type: application/json' \
  --data '{"username": "admin", "password": "YOUR_PASSWORD"}'

पैनल में API कहाँ है?

साइडबार में API Reference खोलें. वहाँ apidocs.xproxy.io पर पूरे दस्तावेज़ का लिंक है और वे तीन कॉल हैं जिनसे ज़्यादातर लोग शुरू करते हैं.

XProxy पैनल का API Reference पेज, Open Documentation बटन और info_list, rotate_ip और status के quick start कॉल चिह्नित (डेमो डेटा)
API Reference: ① Open Documentation · ② Quick Start कॉल: info_list, rotate_ip/position, status/position.

मैं कौन से endpoint कॉल कर सकता हूँ?

जहाँ अलग न लिखा हो, सभी कॉल GET हैं. <position> मॉडेम का नंबर है (1 = पहला मॉडेम). <proxy> उसकी प्रॉक्सी का host:port है.

Endpointयह क्या करता हैलॉगिन चाहिए?
/api/v1/info_list?page=&limit=मॉडेम की सूची: पोर्ट, पब्लिक IP, पिछला रोटेशन, डिवाइस की जानकारी. जवाब: data और total.हाँ
/api/v1/proxy_list/<type>सादा टेक्स्ट, हर लाइन में एक प्रॉक्सी. टाइप: proxy, socks5, proxy_ipv6, socks5_ipv6, vless, vless_ipv6, ss.हाँ
/api/v1/rotate_ip/position/<position>उस मॉडेम के लिए नया IP लेता है.नहीं*
/api/v1/rotate_ip/proxy/<proxy>वही काम, प्रॉक्सी से.नहीं*
/api/v1/status/position/<position>
/api/v1/status/proxy/<proxy>
मॉडेम का पब्लिक IP और स्थिति.नहीं*
/api/v1/reboot/position/<position>
/api/v1/reboot/proxy/<proxy>
मॉडेम रीबूट करता है.नहीं*
/reset?proxy=<proxy>, /status?proxy=<proxy>पुराने रोटेट और status लिंक. पैनल का LINK बटन इनमें से एक कॉपी करता है.नहीं*
/reset_allहर मॉडेम रोटेट करता है.हाँ
POST /reset_by_port के साथ {"port": 4001}उस प्रॉक्सी पोर्ट वाले मॉडेम को रोटेट करता है.हाँ
/status_by_port?port=4001प्रॉक्सी पोर्ट के हिसाब से status.हाँ

हाँ = लोकल नेटवर्क के बाहर से डैशबोर्ड लॉगिन. नहीं* = जब तक Force API Auth चालू न हो, कोई लॉगिन नहीं. हर पैरामीटर के साथ पूरी सूची API दस्तावेज़ में है.

API से अपनी प्रॉक्सी की सूची कैसे लें?

bash
# all modems, first page of 20
curl -u admin:YOUR_PASSWORD 'http://192.168.1.100/api/v1/info_list?page=1&limit=20'

# every modem at once (leave page and limit out)
curl -u admin:YOUR_PASSWORD 'http://192.168.1.100/api/v1/info_list'

अपने लोकल नेटवर्क से, या whitelist वाले IP से, आप -u छोड़ सकते हैं.

जवाब, छोटा करके:

json
{
  "data": [
    {
      "position": 1,
      "host": "192.168.1.100",
      "proxy_port": 4001,
      "socks5_port": 5001,
      "public_ip": "203.0.113.25",
      "public_ip_ipv6": null,
      "device_manufacture": "XProxy-Hilink",
      "device_rebooting": false,
      "device_resetting": false
    }
  ],
  "total": 1
}

हर आइटम के दूसरे फ़ील्ड: proxy_port_v6, socks5_port_ipv6, vless_port, vless_port_v6, ss_port, ss_port_v6, last_updated_ip, device_imei, device_number, device_ip और device_extra_info.

API से IP कैसे रोटेट करें?

rotate_ip कॉल करें, फिर status तब तक पढ़ें जब तक मॉडेम नए IP के साथ MODEM_READY न हो जाए. यही कॉल, टाइमर और रोटेशन लिंक IP कैसे बदलें में हैं.

bash
# by position (1 = first modem)
curl 'http://192.168.1.100/api/v1/rotate_ip/position/1'

# or by proxy (host:port)
curl 'http://192.168.1.100/api/v1/rotate_ip/proxy/192.168.1.100:4001'

# the box answers at once:
# {"status": true, "msg": "command_sent"}

# check on the new IP a few seconds later
curl 'http://192.168.1.100/api/v1/status/position/1'
# {"status": true, "public_ip": "203.0.113.77", "public_ip_v6": null,
#  "last_public_ip": "203.0.113.25", "msg": "MODEM_READY"}

जब तक Force API Auth चालू न हो, लॉगिन की ज़रूरत नहीं. चालू हो तो -u admin:YOUR_PASSWORD जोड़ें.

अपने टूल के लिए प्रॉक्सी की सादी सूची कैसे लें?

bash
# plain text, one host:port per line
curl -u admin:YOUR_PASSWORD 'http://192.168.1.100/api/v1/proxy_list/proxy'
curl -u admin:YOUR_PASSWORD 'http://192.168.1.100/api/v1/proxy_list/socks5'

# 192.168.1.100:4001
# 192.168.1.100:4002

दूसरे टाइप: proxy_ipv6, socks5_ipv6, vless, vless_ipv6 और ss. VLESS और Shadowsocks शेयर लिंक देते हैं और इनके लिए Premium प्लान या उससे ऊपर चाहिए.

API से लॉगिन कैसे मँगवाएँ?

General Settings → System Setting → Security खोलें, Force API Auth ① चालू करें और सेव ③ करें. पहले एक यूज़रनेम और पासवर्ड ② सेव करें, ताकि आपके कॉल के पास भेजने के लिए लॉगिन हो.

System Setting, Security टैब: Force API Auth स्विच, Username और Password फ़ील्ड और Save चिह्नित (डेमो डेटा)
Security → Password Authentication for dashboard: ① Force API Auth · ② Username और Password · ③ Save.

जवाबों का क्या मतलब है?

आपको मिलता हैमतलब
{"status": true, "msg": "command_sent"}रोटेशन शुरू हो गया. नया IP कुछ सेकंड बाद आता है.
need_upgradeआपके प्लान में IP रोटेशन नहीं है. देखें अपना सब्सक्रिप्शन मैनेज करें.
modem_resetting या MODEM_RESETTINGउस मॉडेम पर पहले से एक रोटेशन चल रहा है.
MODEM_STOPPEDमॉडेम रुका हुआ है, इसलिए रोटेट नहीं हो सकता.
slot_not_found, MODEM_NOT_FOUNDउस पोर्ट या पोज़िशन पर कोई मॉडेम नहीं है.
invalid_format_proxyप्रॉक्सी host:port जैसी होनी चाहिए.
MODEM_DISCONNECTEDमॉडेम बंद है या निकला हुआ है.
COLLISION_IPरोटेशन से पहले वाला ही IP (सिर्फ़ तब जब IP unchanged detect चालू हो).
HTTP 401, {"message": "Unauthorized…"}कॉल को डैशबोर्ड लॉगिन चाहिए. उसे जोड़ें, या whitelist वाले IP से कॉल करें.
HTTP 403, Access DeniedDomain Only चालू है. IP पते से नहीं, डोमेन नाम से कॉल करें.

अक्सर पूछे जाने वाले सवाल

XProxy API key कहाँ से मिलेगी?

कोई API key नहीं है. डैशबोर्ड का यूज़रनेम और पासवर्ड HTTP Basic लॉगिन के रूप में इस्तेमाल करें, या लोकल नेटवर्क से बिना लॉगिन के कॉल करें. रोटेट और status लिंक के लिए लॉगिन तभी चाहिए जब आप Force API Auth चालू करें.

कोड से मोबाइल प्रॉक्सी का IP कैसे रोटेट करें?

अपने box को GET /api/v1/rotate_ip/position/1 भेजें. वह तुरंत command_sent जवाब देता है. फिर /api/v1/status/position/1 तब तक कॉल करें जब तक msg MODEM_READY न हो और public_ip बदल न जाए.

मैं कितनी बार रोटेट कर सकता हूँ?

किसी मॉडेम पर एक रोटेशन चलते समय दूसरा मना हो जाता है (modem_resetting). आप Rotation Settings में किसी पोर्ट के दो रोटेशन के बीच का न्यूनतम समय भी सेट कर सकते हैं.

क्या मैं अपने नेटवर्क के बाहर से API कॉल कर सकता हूँ?

हाँ, जब box बाहर से पहुँच में हो. base URL में डोमेन या पब्लिक पता इस्तेमाल करें और डैशबोर्ड लॉगिन जोड़ें. Force API Auth चालू करें, ताकि रोटेट लिंक भी लॉगिन माँगें.

क्या मेरे ग्राहक API इस्तेमाल कर सकते हैं?

उन्हें अपनी प्रॉक्सी के लिए token वाला अपना लिंक मिलता है (Business प्लान), इसलिए उन्हें आपके डैशबोर्ड लॉगिन की कभी ज़रूरत नहीं होती. देखें Selling Platform कैसे इस्तेमाल करें.

आगे क्या?

टाइमर पर रोटेट करें, अपने कॉल सुरक्षित करें, या प्रॉक्सी को किसी टूल में लगाएँ.

अब भी अटके हैं?एक तकनीशियन वन-टाइम PIN से आपका डिवाइस देख सकता है, या Telegram पर हमसे चैट करें।