Langkau ke kandungan

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

URL asas

Alamat box anda, contohnya http://192.168.1.100. Tiada pelayan API berasingan.

Tiada kunci API

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.

Tiga panggilan untuk bermula

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 panggilanURL asas
Rangkaian setempat andahttp://192.168.1.100 (alamat box)
Port dashboard lainhttp://192.168.1.100:8080 (lihat Lindungi dashboard)
Internethttp://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.

PanggilanLog masuk
Putar, status dan but semula: /api/v1/rotate_ip/…, /api/v1/status/…, /api/v1/reboot/…, serta pautan lama /reset, /statusTiada, 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_portHTTP 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.
Jaga pautan putaran seperti kata laluan. Selagi Force API Auth dimatikan, sesiapa yang dapat mencapai box anda dan mengetahui pautan itu boleh memutar modem tersebut. Hidupkan Force API Auth jika box terbuka kepada internet.

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.

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"}'

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.

Halaman API Reference dalam panel XProxy dengan butang Open Documentation serta panggilan permulaan pantas info_list, rotate_ip dan status ditanda (data demo)
API Reference: ① Open Documentation · ② Panggilan Quick Start: 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.

EndpointFungsinyaPerlu 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_allMemutar semua modem.Ya
POST /reset_by_port dengan {"port": 4001}Memutar modem bagi port proksi itu.Ya
/status_by_port?port=4001Status 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?

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'

Dari rangkaian setempat anda sendiri, atau dari IP dalam whitelist, anda boleh meninggalkan -u.

Jawapannya, diringkaskan:

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
}

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.

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"}

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?

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

Jenis 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.

System Setting, tab Security: suis Force API Auth, medan Username dan Password serta Save ditanda (data demo)
Security → Password Authentication for dashboard: ① Force API Auth · ② Username dan Password · ③ Save.

Apakah maksud jawapan?

Anda terimaMaksud
{"status": true, "msg": "command_sent"}Putaran telah bermula. IP baharu tiba beberapa saat kemudian.
need_upgradePelan anda tiada putaran IP. Lihat Urus langganan anda.
modem_resetting atau MODEM_RESETTINGPutaran sedang berjalan pada modem itu.
MODEM_STOPPEDModem dihentikan, jadi ia tidak boleh diputar.
slot_not_found, MODEM_NOT_FOUNDTiada modem pada port atau kedudukan itu.
invalid_format_proxyProksi mesti dalam bentuk host:port.
MODEM_DISCONNECTEDModem dimatikan atau tercabut.
COLLISION_IPIP 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 DeniedDomain 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.

Masih buntu?Juruteknik boleh menyemak peranti anda dengan PIN sekali guna, atau berbual dengan kami di Telegram.