XProxy REST API: IP Döndürme, Durum ve Proxy Listesi
XProxy REST API, kendi kodunuzun basit HTTP çağrılarıyla mobil proxy’lerinizi listelemesini, IP’lerini döndürmesini, durumlarını okumasını ve modemleri yeniden başlatmasını sağlar. Box’ınızın adresini çağırın, gereken yerde panel girişinizi ekleyin; hepsi bu.
Gerekenler: Basic veya üstü plan (Fiyatlar; Free planda IP rotasyonu yoktur) ve box’ınızın adresi. Ağınızın dışından çağıracaksanız panel kullanıcı adınız ve şifreniz de gerekir.
Kısaca
Box’ınızın adresi, örneğin http://192.168.1.100. Ayrı bir API sunucusu yoktur.
Çağrılar panel kullanıcı adınızı ve şifrenizi (HTTP Basic) kullanır. Rotasyon ve durum çağrıları, Force API Auth’u açmadığınız sürece giriş gerektirmez.
info_list modemleri listeler, rotate_ip yeni bir IP alır, status ne zaman hazır olduğunu söyler.
XProxy API’nin temel URL’si nedir?
Temel URL, XProxy box’ınızın adresidir; panel portu 80 değilse port da eklenir:
| Nereden çağırıyorsunuz | Temel URL |
|---|---|
| Yerel ağınız | http://192.168.1.100 (box’ın adresi) |
| Farklı bir panel portu | http://192.168.1.100:8080 (bkz. Paneli güvenceye alma) |
| İnternet | http://myproxy.duckdns.org, genel adresiniz veya VPS adresi. Box’a NAT Forwarding, VPS Forwarding veya Tailscale ile ulaşın. |
https://’yi yalnızca alan adınız HTTPS sunuyorsa ekleyin. Bağlantılar ve API çağrıları için ayrı bir alan adını Proxy Settings → Address’te ayarlayabilirsiniz.
REST API’ye nasıl giriş yapılır?
Ayrı bir API anahtarı yoktur. Giriş gerektiren bir çağrı, HTTP Basic kimlik doğrulaması olarak panel kullanıcı adınızı ve şifrenizi kullanır; bu, Paneli güvenceye alma sayfasında belirlediğiniz girişin aynısıdır.
| Çağrı | Giriş |
|---|---|
Rotasyon, durum ve yeniden başlatma: /api/v1/rotate_ip/…, /api/v1/status/…, /api/v1/reboot/… ve eski /reset, /status bağlantıları | Force API Auth’u açana kadar yok. Açtıktan sonra HTTP Basic. |
Listeler ve diğer her şey: /api/v1/info_list, /api/v1/proxy_list/…, /proxy_list, /reset_all, /reset_by_port, /status_by_port | Yerel ağınızın dışından HTTP Basic. |
| Yerel ağınızdaki bir cihaz, beyaz listedeki bir IP veya bir Tailscale cihazı (izin verilmişse) | Giriş yok. Force LAN Auth ve Force API Auth bunu değiştirir. |
| Kendi token’ı olan bir müşteri proxy’si (Business plan) | Bağlantıdaki token. Bkz. Selling Platform nasıl kullanılır. |
API token’ı var mı?
Panelin kendisi POST /v2/auth/login ile giriş yapar. Yanıt olarak dönen token, yalnızca kullanıcı adınızın ve şifrenizin Base64 ile yazılmış hâlidir; bu yüzden onu şifre kadar gizli tutun. Betikleriniz aynı girişi her çağrıda HTTP Basic ile gönderebilir.
# 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 panelde nerede?
Kenar çubuğunda API Reference’ı açın. Burada apidocs.xproxy.io adresindeki tam belgelere bağlantı ve çoğu kişinin başladığı üç çağrı bulunur.

info_list, rotate_ip/position, status/position.Hangi uç noktaları çağırabilirim?
Aksi belirtilmedikçe tüm çağrılar GET’tir. <position> modemin numarasıdır (1 = ilk modem). <proxy>, proxy’sinin host:port değeridir.
| Uç nokta | Ne yapar | Giriş gerekli mi? |
|---|---|---|
/api/v1/info_list?page=&limit= | Modemleri listeler: portlar, genel IP, son rotasyon, cihaz bilgisi. Yanıt: data ve total. | Evet |
/api/v1/proxy_list/<type> | Düz metin, her satırda bir proxy. Türler: proxy, socks5, proxy_ipv6, socks5_ipv6, vless, vless_ipv6, ss. | Evet |
/api/v1/rotate_ip/position/<position> | O modem için yeni bir IP alır. | Hayır* |
/api/v1/rotate_ip/proxy/<proxy> | Aynısı, proxy’ye göre. | Hayır* |
/api/v1/status/position/<position>/api/v1/status/proxy/<proxy> | Modemin genel IP’si ve durumu. | Hayır* |
/api/v1/reboot/position/<position>/api/v1/reboot/proxy/<proxy> | Modemi yeniden başlatır. | Hayır* |
/reset?proxy=<proxy>, /status?proxy=<proxy> | Eski rotasyon ve durum bağlantıları. Paneldeki LINK düğmesi bunlardan birini kopyalar. | Hayır* |
/reset_all | Tüm modemleri döndürür. | Evet |
{"port": 4001} ile POST /reset_by_port | O proxy portunun modemini döndürür. | Evet |
/status_by_port?port=4001 | Proxy portuna göre durum. | Evet |
Evet = yerel ağınızın dışından panel girişi. Hayır* = Force API Auth açılana kadar giriş yok. Tüm parametreleriyle tam liste API belgelerinde.
Proxy’lerimi API ile nasıl listelerim?
# 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'Kendi yerel ağınızdan veya beyaz listedeki bir IP’den çağırıyorsanız -u’yu kaldırabilirsiniz.
Kısaltılmış yanıt:
{
"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
}Her öğedeki diğer alanlar: 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 ve device_extra_info.
IP’yi API ile nasıl döndürürüm?
rotate_ip’yi çağırın, ardından modem yeni bir IP ile MODEM_READY olana kadar status’u okuyun. Aynı çağrılar, zamanlayıcı ve rotasyon bağlantısı IP nasıl değiştirilir sayfasındadır.
# 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 açık değilse giriş gerekmez. Açıksa -u admin:YOUR_PASSWORD ekleyin.
Aracım için düz bir proxy listesini nasıl alırım?
# 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:4002Diğer türler: proxy_ipv6, socks5_ipv6, vless, vless_ipv6 ve ss. VLESS ve Shadowsocks paylaşım bağlantıları verir ve Premium veya üstü plan gerektirir.
API’nin giriş istemesini nasıl sağlarım?
General Settings → System Setting → Security’yi açın, Force API Auth’u ① açın ve kaydedin ③. Çağrılarınızın gönderecek bir girişi olması için önce bir kullanıcı adı ve şifre kaydedin ②.

Yanıtlar ne anlama gelir?
| Aldığınız yanıt | Anlamı |
|---|---|
{"status": true, "msg": "command_sent"} | Rotasyon başladı. Yeni IP birkaç saniye sonra gelir. |
need_upgrade | Planınızda IP rotasyonu yok. Bkz. Aboneliğinizi yönetin. |
modem_resetting veya MODEM_RESETTING | O modemde zaten bir rotasyon sürüyor. |
MODEM_STOPPED | Modem durdurulmuş, bu yüzden döndürülemez. |
slot_not_found, MODEM_NOT_FOUND | O port veya konumda modem yok. |
invalid_format_proxy | Proxy host:port biçiminde olmalıdır. |
MODEM_DISCONNECTED | Modem kapalı veya çıkarılmış. |
COLLISION_IP | IP, rotasyondan öncekiyle aynı (yalnızca IP unchanged detect açıkken). |
HTTP 401, {"message": "Unauthorized…"} | Çağrı panel girişi gerektiriyor. Girişi ekleyin veya beyaz listedeki bir IP’den çağırın. |
| HTTP 403, Access Denied | Domain Only açık. IP adresiyle değil, alan adıyla çağırın. |
SSS
XProxy API anahtarını nereden alırım?
API anahtarı yoktur. Panel kullanıcı adınızı ve şifrenizi HTTP Basic girişi olarak kullanın veya yerel ağınızdan girişsiz çağırın. Rotasyon ve durum bağlantıları için giriş yalnızca Force API Auth’u açtıktan sonra gerekir.
Mobil proxy IP’sini koddan nasıl döndürürüm?
Box’ınıza GET /api/v1/rotate_ip/position/1 gönderin. Hemen command_sent yanıtını verir. Ardından msg MODEM_READY olana ve public_ip değişene kadar /api/v1/status/position/1’i çağırın.
Ne sıklıkla döndürebilirim?
Aynı modemde başka bir rotasyon sürerken yeni rotasyon reddedilir (modem_resetting). Bir portun iki rotasyonu arasındaki en kısa süreyi Rotation Settings’te de ayarlayabilirsiniz.
API’yi ağımın dışından çağırabilir miyim?
Evet, box’a dışarıdan ulaşabildiğiniz anda. Temel URL olarak bir alan adı veya genel adres kullanın ve panel girişinizi ekleyin. Rotasyon bağlantılarının da giriş istemesi için Force API Auth’u açın.
Müşterilerim API’yi kullanabilir mi?
Proxy’leri için token içeren kendi bağlantılarını alırlar (Business plan); böylece panel girişinize hiç ihtiyaç duymazlar. Bkz. Selling Platform nasıl kullanılır.
Sırada ne var?
Zamanlayıcıyla döndürün, çağrılarınızı koruyun veya proxy’leri bir araca bağlayın.

