REST API XProxy: Putar IP, Status & Senarai Proksi
REST API XProxy membolehkan kod anda sendiri menyenaraikan proksi mudah alih anda, memutar IP, membaca status dan membut semula modem dengan panggilan HTTP biasa. Panggil alamat box anda, tambah log masuk dashboard jika perlu, dan selesai.
Anda perlukan: pelan Basic atau lebih tinggi (Harga; pelan Free tiada putaran IP) dan alamat box anda. Dari luar rangkaian anda, juga nama pengguna dan kata laluan dashboard.
Ringkasnya
Alamat box anda, contohnya http://192.168.1.100. Tiada pelayan API berasingan.
Panggilan menggunakan nama pengguna dan kata laluan dashboard anda (HTTP Basic). Panggilan putaran dan status tidak memerlukan log masuk melainkan anda menghidupkan Force API Auth.
info_list menyenaraikan modem, rotate_ip mendapatkan IP baharu, status memberitahu bila ia sedia.
Apakah URL asas API XProxy?
URL asas ialah alamat XProxy box anda, berserta port dashboard jika ia bukan 80:
| Lokasi panggilan | URL asas |
|---|---|
| Rangkaian setempat anda | http://192.168.1.100 (alamat box) |
| Port dashboard lain | http://192.168.1.100:8080 (lihat Lindungi dashboard) |
| Internet | http://myproxy.duckdns.org, alamat awam anda, atau alamat VPS. Capai box melalui NAT Forwarding, VPS Forwarding atau Tailscale. |
Tambah https:// hanya jika domain anda menyediakan HTTPS. Anda boleh menetapkan domain berasingan untuk pautan dan panggilan API dalam Proxy Settings → Address.
Bagaimanakah cara log masuk ke REST API?
Tiada kunci API berasingan. Panggilan yang memerlukan log masuk menggunakan nama pengguna dan kata laluan dashboard anda sebagai pengesahan HTTP Basic, iaitu log masuk yang sama yang anda tetapkan dalam Lindungi dashboard.
| Panggilan | Log masuk |
|---|---|
Putar, status dan but semula: /api/v1/rotate_ip/…, /api/v1/status/…, /api/v1/reboot/…, serta pautan lama /reset, /status | Tiada, sehingga anda menghidupkan Force API Auth. Selepas itu HTTP Basic. |
Senarai dan semua yang lain: /api/v1/info_list, /api/v1/proxy_list/…, /proxy_list, /reset_all, /reset_by_port, /status_by_port | HTTP Basic, dari luar rangkaian setempat anda. |
| Peranti dalam rangkaian setempat anda, IP dalam whitelist, atau peranti Tailscale (jika dibenarkan) | Tiada log masuk. Force LAN Auth dan Force API Auth mengubahnya. |
| Proksi pelanggan dengan token sendiri (pelan Business) | Token dalam pautan. Lihat Cara menggunakan Selling Platform. |
Adakah token API?
Panel sendiri log masuk dengan POST /v2/auth/login. Ia menjawab dengan token yang hanyalah nama pengguna dan kata laluan anda dalam Base64, jadi rahsiakannya seperti kata laluan. Skrip anda boleh menghantar log masuk yang sama dengan HTTP Basic pada setiap panggilan.
# 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"}'Di manakah API dalam panel?
Buka API Reference di bar sisi. Ia memaut ke dokumentasi penuh di apidocs.xproxy.io dan menyenaraikan tiga panggilan yang biasanya digunakan untuk bermula.

info_list, rotate_ip/position, status/position.Endpoint manakah yang boleh saya panggil?
Semua panggilan ialah GET melainkan dinyatakan. <position> ialah nombor modem (1 = modem pertama). <proxy> ialah host:port proksinya.
| Endpoint | Fungsinya | Perlu log masuk? |
|---|---|---|
/api/v1/info_list?page=&limit= | Menyenaraikan modem: port, IP awam, putaran terakhir, maklumat peranti. Jawapan: data dan total. | Ya |
/api/v1/proxy_list/<type> | Teks biasa, satu proksi bagi setiap baris. Jenis: proxy, socks5, proxy_ipv6, socks5_ipv6, vless, vless_ipv6, ss. | Ya |
/api/v1/rotate_ip/position/<position> | Mendapatkan IP baharu untuk modem itu. | No* |
/api/v1/rotate_ip/proxy/<proxy> | Sama, mengikut proksi. | No* |
/api/v1/status/position/<position>/api/v1/status/proxy/<proxy> | IP awam dan keadaan modem. | No* |
/api/v1/reboot/position/<position>/api/v1/reboot/proxy/<proxy> | Membut semula modem. | No* |
/reset?proxy=<proxy>, /status?proxy=<proxy> | Pautan putaran dan status yang lama. Butang LINK dalam panel menyalin satu daripadanya. | No* |
/reset_all | Memutar semua modem. | Ya |
POST /reset_by_port dengan {"port": 4001} | Memutar modem bagi port proksi itu. | Ya |
/status_by_port?port=4001 | Status mengikut port proksi. | Ya |
Ya = log masuk dashboard, dari luar rangkaian setempat anda. No* = tiada log masuk sehingga Force API Auth dihidupkan. Senarai penuh, dengan setiap parameter, ada dalam dokumentasi API.
Bagaimanakah cara menyenaraikan proksi saya dengan 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'Dari rangkaian setempat anda sendiri, atau dari IP dalam whitelist, anda boleh meninggalkan -u.
Jawapannya, diringkaskan:
{
"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
}Medan lain dalam setiap item: 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 dan device_extra_info.
Bagaimanakah cara memutar IP dengan API?
Panggil rotate_ip, kemudian baca status sehingga modem menjadi MODEM_READY dengan IP baharu. Panggilan yang sama, pemasa dan pautan putaran ada dalam Cara menukar 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"}Log masuk tidak diperlukan melainkan Force API Auth dihidupkan. Jika dihidupkan, tambah -u admin:YOUR_PASSWORD.
Bagaimanakah cara mendapatkan senarai proksi teks biasa untuk alat saya?
# 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:4002Jenis lain: proxy_ipv6, socks5_ipv6, vless, vless_ipv6 dan ss. VLESS dan Shadowsocks memberikan pautan kongsi dan memerlukan pelan Premium atau lebih tinggi.
Bagaimanakah cara membuat API meminta log masuk?
Buka General Settings → System Setting → Security, hidupkan Force API Auth ① dan simpan ③. Simpan nama pengguna dan kata laluan dahulu ②, supaya panggilan anda mempunyai log masuk untuk dihantar.

Apakah maksud jawapan?
| Anda terima | Maksud |
|---|---|
{"status": true, "msg": "command_sent"} | Putaran telah bermula. IP baharu tiba beberapa saat kemudian. |
need_upgrade | Pelan anda tiada putaran IP. Lihat Urus langganan anda. |
modem_resetting atau MODEM_RESETTING | Putaran sedang berjalan pada modem itu. |
MODEM_STOPPED | Modem dihentikan, jadi ia tidak boleh diputar. |
slot_not_found, MODEM_NOT_FOUND | Tiada modem pada port atau kedudukan itu. |
invalid_format_proxy | Proksi mesti dalam bentuk host:port. |
MODEM_DISCONNECTED | Modem dimatikan atau tercabut. |
COLLISION_IP | IP sama seperti sebelum putaran (hanya apabila IP unchanged detect dihidupkan). |
HTTP 401, {"message": "Unauthorized…"} | Panggilan memerlukan log masuk dashboard. Tambahkannya, atau panggil dari IP dalam whitelist. |
| HTTP 403, Access Denied | Domain Only dihidupkan. Panggil dengan nama domain, bukan alamat IP. |
Soalan lazim
Di manakah saya boleh mendapatkan kunci API XProxy?
Tiada kunci API. Gunakan nama pengguna dan kata laluan dashboard anda sebagai log masuk HTTP Basic, atau panggil tanpa log masuk dari rangkaian setempat anda. Untuk pautan putaran dan status, log masuk hanya diperlukan selepas anda menghidupkan Force API Auth.
Bagaimanakah cara memutar IP proksi mudah alih daripada kod?
Hantar GET /api/v1/rotate_ip/position/1 ke box anda. Ia menjawab command_sent serta-merta. Kemudian panggil /api/v1/status/position/1 sehingga msg menjadi MODEM_READY dan public_ip telah berubah.
Berapa kerap saya boleh memutar?
Putaran ditolak selagi putaran lain sedang berjalan pada modem yang sama (modem_resetting). Anda juga boleh menetapkan masa paling singkat antara dua putaran sesuatu port dalam Rotation Settings.
Bolehkah saya memanggil API dari luar rangkaian saya?
Boleh, setelah box dapat dicapai dari luar. Gunakan domain atau alamat awam sebagai URL asas dan tambah log masuk dashboard anda. Hidupkan Force API Auth, supaya pautan putaran juga memintanya.
Bolehkah pelanggan saya menggunakan API?
Mereka mendapat pautan sendiri dengan token untuk proksi mereka (pelan Business), jadi mereka tidak memerlukan log masuk dashboard anda. Lihat Cara menggunakan Selling Platform.
Apa seterusnya?
Putar mengikut pemasa, lindungi panggilan anda, atau sambungkan proksi ke dalam alat.

