XProxy REST API: IP रोटेट करें, स्टेटस और प्रॉक्सी सूची
XProxy REST API से आपका अपना कोड सादे HTTP कॉल के ज़रिए आपकी मोबाइल प्रॉक्सी की सूची ले सकता है, उनके IP रोटेट कर सकता है, उनका स्टेटस पढ़ सकता है और मॉडेम रीबूट कर सकता है. अपने box का पता कॉल करें, जहाँ ज़रूरी हो वहाँ डैशबोर्ड लॉगिन जोड़ें, बस.
आपको चाहिए: Basic प्लान या उससे ऊपर (कीमतें; Free प्लान में IP रोटेशन नहीं है) और आपके box का पता. नेटवर्क के बाहर से कॉल करने के लिए डैशबोर्ड का यूज़रनेम और पासवर्ड भी.
संक्षेप में
आपके box का पता, जैसे http://192.168.1.100. कोई अलग API सर्वर नहीं है.
कॉल आपके डैशबोर्ड का यूज़रनेम और पासवर्ड (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 कैसे इस्तेमाल करें. |
क्या कोई API token है?
पैनल ख़ुद POST /v2/auth/login से लॉगिन करता है. जवाब में एक token आता है जो सिर्फ़ Base64 में लिखा आपका यूज़रनेम और पासवर्ड है, इसलिए इसे पासवर्ड जितना ही गुप्त रखें. आपकी स्क्रिप्ट हर कॉल पर यही लॉगिन HTTP Basic से भेज सकती हैं.
# 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 पर पूरे दस्तावेज़ का लिंक है और वे तीन कॉल हैं जिनसे ज़्यादातर लोग शुरू करते हैं.

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 से अपनी प्रॉक्सी की सूची कैसे लें?
# 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 छोड़ सकते हैं.
जवाब, छोटा करके:
{
"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 कैसे बदलें में हैं.
# 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 जोड़ें.
अपने टूल के लिए प्रॉक्सी की सादी सूची कैसे लें?
# 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 ① चालू करें और सेव ③ करें. पहले एक यूज़रनेम और पासवर्ड ② सेव करें, ताकि आपके कॉल के पास भेजने के लिए लॉगिन हो.

जवाबों का क्या मतलब है?
| आपको मिलता है | मतलब |
|---|---|
{"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 Denied | Domain 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 कैसे इस्तेमाल करें.
आगे क्या?
टाइमर पर रोटेट करें, अपने कॉल सुरक्षित करें, या प्रॉक्सी को किसी टूल में लगाएँ.

