API Referans
Proxy satın alma ve yenileme işlemlerini otomatikleştirin.
Giriş
Planları listelemek, abonelikleri görüntülemek, yeni proxy satın almak, aktif abonelikleri yenilemek ve otomatik IP rotasyonunu yapılandırmak için programatik arayüz.
API tek bir endpoint kullanır: /api/proxy. GET işlemlerinde op query string içinde gönderilir; POST işlemlerinde op JSON body içinde gönderilir.
Hızlı başlangıç
Dashboard -> API Keys üzerinden bir API anahtarı oluşturun ve her isteğin header alanında gönderin.
BASE="https://makeadsafe.com"
API_KEY="rk_your_long_lived_api_key" Tüm ID değerleri küçük harfli alfanümeriktir.
POST /api/proxyüzerinden{"op":"trial","planId":"..."}ile deneme oluşturma yalnızca seçili API anahtarları için kullanılabilir. Bu özelliği anahtarınız için etkinleştirmek üzere destek ile iletişime geçin. Deneme kullanımı izlenir ve kötüye kullanım durumunda sınırlandırılabilir veya devre dışı bırakılabilir.
Mevcut planlar
API anahtarı sahibine açık aktif proxy planlarını döndürür.
curl -sS
-H "x-api-key: $API_KEY"
"$BASE/api/proxy?op=plans" {
"ok": true,
"plans": [
{
"id": "k17m3q5v7n9p1r2t4w6y8z0a",
"connectionType": "private",
"durationMs": 2592000000,
"priceAmountCents": 1200,
"popular": true,
"remainingProxies": 20,
"network": {
"name": "NL-AMS",
"city": "Amsterdam",
"country": "NL",
"networkType": "mobile"
}
}
]
} Aktif abonelikler
Kimlik bilgileri, protokol URL’leri ve IP rotasyon verileri dahil olmak üzere aboneliklerinizi döndürür.
curl -sS
-H "x-api-key: $API_KEY"
"$BASE/api/proxy?op=subscriptions" {
"ok": true,
"subscriptions": [
{
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z",
"status": "active",
"activeUntil": 1762592000000,
"userNote": "Client A",
"rotationPolicy": 10,
"label": "12001 - NL - Private",
"networkLabel": "NL-AMS Amsterdam",
"credentials": {
"username": "u_6k8s9d",
"password": "p_2n4m6q"
},
"protocols": {
"http": "http://u_6k8s9d:[email protected]:12001",
"socks5": "socks5://u_6k8s9d:[email protected]:12001",
"vless": "vless://...",
"shadowsocks": "ss://..."
},
"rotate": {
"rotatePath": "/r/abcd1234",
"available": true
}
}
]
} Yenileme planları
Belirli bir aboneliği yenilemek için uygun olan planları döndürür.
SUB_ID="j97b2f6m1k4n8p3r5t7v9x0z"
curl -sS
-H "x-api-key: $API_KEY"
"$BASE/api/proxy?op=renewal-plans&subscriptionId=$SUB_ID" {
"ok": true,
"renewalPlans": [
{
"id": "k17m3q5v7n9p1r2t4w6y8z0a",
"connectionType": "private",
"durationMs": 2592000000,
"priceAmountCents": 1200
}
]
} Kullanılabilir ağlar
Belirli bir abonelik için geçiş yapılabilecek ağları döndürür.
SUB_ID="j97b2f6m1k4n8p3r5t7v9x0z"
curl -sS
-H "x-api-key: $API_KEY"
"$BASE/api/proxy?op=available-networks&subscriptionId=$SUB_ID" {
"ok": true,
"networks": [
{
"id": "b1c2d3e4f5g6h7j8k9m0n1p2",
"networkLabel": "DE-BER Berlin",
"country": "DE"
}
]
} switch-network isteginde targetNetwork olarak networks[].id kullanın.
Abonelik satın alma
Seçilen planı kullanarak bakiyenizden bir veya daha fazla yeni abonelik oluşturur.
İsteğe bağlı alanlar:
couponCode: satın alma işlemine geçerli bir kupon uygular.repeatCount: pozitif tamsayı, varsayılan1; oluşturulan her aboneliğin süresini ve fiyatını çarpar.quantity: pozitif tamsayı, varsayılan1; tek bir istekte birden fazla abonelik oluşturur.os: oluşturulan tüm proxy’lere uygulanan pasif işletim sistemi parmak izi;ios,macos,android,win10veyawin11.multiplanlarda kullanılamaz.
{
"op": "purchase",
"planId": "k17m3q5v7n9p1r2t4w6y8z0a",
"couponCode": "MYCODE",
"repeatCount": 3,
"os": "ios",
"quantity": 2
} curl -sS -X POST
-H "x-api-key: $API_KEY"
-H "Content-Type: application/json"
-d '{"op":"purchase","planId":"k17m3q5v7n9p1r2t4w6y8z0a","repeatCount":3,"os":"ios","quantity":2}'
"$BASE/api/proxy" {
"ok": true,
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z",
"subscriptionIds": [
"j97b2f6m1k4n8p3r5t7v9x0z",
"n38k2f6m1k4n8p3r5t7v9x0z"
],
"subscriptions": [
{
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z",
"status": "active",
"activeUntil": 1767776000000,
"label": "12001 - NL - Private",
"networkLabel": "NL-AMS Amsterdam"
},
{
"subscriptionId": "n38k2f6m1k4n8p3r5t7v9x0z",
"status": "active",
"activeUntil": 1767776000000,
"label": "12002 - NL - Private",
"networkLabel": "NL-AMS Amsterdam"
}
]
} Yalnızca bir abonelik oluşturulursa ağ geçidi subscriptions yerine subscription döndürebilir. subscription/subscriptions içindeki öğeler GET /api/proxy?op=subscriptions ile aynı yapıyı kullanır.
Abonelik yenileme
Mevcut bir aboneliği uygun bir yenileme planıyla yeniler.
İsteğe bağlı alanlar:
couponCode: yenilemeye geçerli bir kupon uygular.repeatCount: pozitif tamsayı, varsayılan1; yenileme süresini ve fiyatını çarpar.
{
"op": "renew",
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z",
"planId": "q2w4e6r8t0y2u4i6o8p0a2s4",
"couponCode": "MYCODE",
"repeatCount": 3
} curl -sS -X POST
-H "x-api-key: $API_KEY"
-H "Content-Type: application/json"
-d '{"op":"renew","subscriptionId":"j97b2f6m1k4n8p3r5t7v9x0z","planId":"q2w4e6r8t0y2u4i6o8p0a2s4","repeatCount":3}'
"$BASE/api/proxy" {
"ok": true,
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z",
"endAt": 1770368000000
} Bağlantı bilgilerini değiştir
Kimliği doğrulanmış kullanıcıya (JWT) veya API anahtarı sahibine ait aktif abonelik için bağlantı bilgilerini yeniden üretir.
{
"op": "change-credentials",
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z"
} curl -sS -X POST
-H "x-api-key: $API_KEY"
-H "Content-Type: application/json"
-d '{"op":"change-credentials","subscriptionId":"j97b2f6m1k4n8p3r5t7v9x0z"}'
"$BASE/api/proxy" {
"ok": true,
"password": "q7N3x9Lp",
"vpn": "7f3d9d4a-8b9f-4a93-9f55-2d5e3b7f1c24"
} Otomatik rotasyon politikasını ayarla
Aktif bir abonelik için otomatik IP rotasyonunu yapılandırır. Bu ayar yalnızca "rotate": { "available": true } olan bağlantılar için kullanılabilir.
rotationPolicy için izin verilen değerler: 0, 5, 10, 15, 30, 60 dakika. Otomatik rotasyonu devre dışı bırakmak için 0 kullanın.
{
"op": "set-rotation-policy",
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z",
"rotationPolicy": 10
} curl -sS -X POST
-H "x-api-key: $API_KEY"
-H "Content-Type: application/json"
-d '{"op":"set-rotation-policy","subscriptionId":"j97b2f6m1k4n8p3r5t7v9x0z","rotationPolicy":10}'
"$BASE/api/proxy" {
"ok": true
} Bağlantı ağını değiştir
Aktif bir aboneliği kullanılabilir başka bir ağa taşır.
{
"op": "switch-network",
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z",
"targetNetwork": "b1c2d3e4f5g6h7j8k9m0n1p2"
} curl -sS -X POST
-H "x-api-key: $API_KEY"
-H "Content-Type: application/json"
-d '{"op":"switch-network","subscriptionId":"j97b2f6m1k4n8p3r5t7v9x0z","targetNetwork":"b1c2d3e4f5g6h7j8k9m0n1p2"}'
"$BASE/api/proxy" {
"ok": true,
"subscription": {
"subscriptionId": "j97b2f6m1k4n8p3r5t7v9x0z",
"status": "active",
"activeUntil": 1762592000000,
"userNote": "Client A",
"rotationPolicy": 10,
"label": "12001 - DE - Private",
"networkLabel": "DE-BER Berlin",
"credentials": {
"username": "u_6k8s9d",
"password": "p_2n4m6q"
},
"protocols": {
"http": "http://u_6k8s9d:[email protected]:12001",
"socks5": "socks5://u_6k8s9d:[email protected]:12001",
"vless": "vless://...",
"shadowsocks": "ss://..."
},
"rotate": {
"rotatePath": "/r/abcd1234",
"available": true
}
}
} Ağ geçidi hataları
400Geçersiz JSON body400Body bir nesne olmalıdır400Eksik veya bilinmeyenop400Eksik veya geçersizplanId/subscriptionId/targetNetwork/rotationPolicy400GeçersizrepeatCountveyaquantity400Geçersizos401Unauthorized402Yetersiz bakiye403Forbidden404Abonelik bulunamadı409Bu abonelik için rotasyon politikası kullanılamıyor409Tükendi, plan/ağ pasif veya abonelik durumu geçersiz409multiplanlarda işletim sistemi seçimi kullanılamaz429Rate limited500Internal error