API संदर्भ
प्रॉक्सी खरीद और नवीनीकरण को स्वचालित करें।
परिचय
प्लान सूची देखने, सदस्यताएं देखने, नए प्रॉक्सी खरीदने, सक्रिय सदस्यताओं को नवीनीकृत करने और स्वचालित IP रोटेशन कॉन्फ़िगर करने के लिए प्रोग्रामेटिक इंटरफेस।
API एक ही endpoint उपयोग करती है: /api/proxy। GET ऑपरेशन के लिए op को query string में भेजें; POST ऑपरेशन के लिए op को JSON body में भेजें।
त्वरित शुरुआत
Dashboard -> API Keys में API key बनाएं और हर request के header में भेजें।
BASE="https://makeadsafe.com"
API_KEY="rk_your_long_lived_api_key" सभी ID लोअरकेस अल्फ़ान्यूमेरिक मान होते हैं।
POST /api/proxyके जरिए{"op":"trial","planId":"..."}के साथ ट्रायल जारी करना केवल चुनी हुई API keys के लिए उपलब्ध है। अपनी key पर यह क्षमता सक्षम कराने के लिए support से संपर्क करें। ट्रायल उपयोग की निगरानी की जाती है और दुरुपयोग की स्थिति में इसे सीमित या अक्षम किया जा सकता है।
उपलब्ध प्लान
API key के मालिक के लिए उपलब्ध सक्रिय प्रॉक्सी प्लान लौटाता है।
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"
}
}
]
} सक्रिय सदस्यताएं
आपकी सदस्यताएं लौटाता है, जिनमें credentials, protocol URLs और IP rotation डेटा शामिल है।
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
}
}
]
} रिन्यूअल प्लान
किसी विशेष सदस्यता को नवीनीकृत करने के लिए योग्य प्लान लौटाता है।
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
}
]
} उपलब्ध नेटवर्क
किसी विशेष सब्सक्रिप्शन को स्विच करने के लिए उपलब्ध नेटवर्क लौटाता है।
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 अनुरोध में networks[].id को targetNetwork के रूप में इस्तेमाल करें।
सदस्यता खरीदें
चुने गए प्लान के साथ आपके बैलेंस से एक या कई नई सदस्यताएं बनाता है।
वैकल्पिक फ़ील्ड:
couponCode: खरीद पर वैध कूपन लागू करता है।repeatCount: धनात्मक पूर्णांक, डिफ़ॉल्ट1; हर बनाई गई सदस्यता की अवधि और कीमत को गुणा करता है।quantity: धनात्मक पूर्णांक, डिफ़ॉल्ट1; एक ही अनुरोध में कई सदस्यताएं बनाता है।os: सभी बनाए गए प्रॉक्सी पर लागू पैसिव OS फ़िंगरप्रिंट;ios,macos,android,win10याwin11।multiप्लान के लिए उपलब्ध नहीं है।
{
"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"
}
]
} यदि केवल एक सदस्यता बनाई जाती है, तो gateway subscriptions की जगह subscription लौटा सकता है। subscription/subscriptions के आइटम वही संरचना इस्तेमाल करते हैं जो GET /api/proxy?op=subscriptions में मिलती है।
सदस्यता नवीनीकरण
किसी मौजूदा सदस्यता को योग्य रिन्यूअल प्लान के साथ नवीनीकृत करता है।
वैकल्पिक फ़ील्ड:
couponCode: नवीनीकरण पर वैध कूपन लागू करता है।repeatCount: धनात्मक पूर्णांक, डिफ़ॉल्ट1; नवीनीकरण की अवधि और कीमत दोनों को गुणा करता है।
{
"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
} कनेक्शन क्रेडेंशियल बदलें
प्रमाणित यूज़र (JWT) या API key मालिक की सक्रिय सदस्यता के लिए कनेक्शन क्रेडेंशियल दोबारा जनरेट करता है।
{
"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"
} ऑटो-रोटेशन नीति सेट करें
सक्रिय सदस्यता के लिए स्वचालित IP रोटेशन कॉन्फ़िगर करता है। यह सेटिंग केवल उन कनेक्शनों के लिए उपलब्ध है जिनमें "rotate": { "available": true } हो।
rotationPolicy के लिए अनुमत मान: 0, 5, 10, 15, 30, 60 मिनट। ऑटो-रोटेशन बंद करने के लिए 0 का उपयोग करें।
{
"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
} कनेक्शन नेटवर्क बदलें
सक्रिय सब्सक्रिप्शन को किसी अन्य उपलब्ध नेटवर्क में ले जाता है।
{
"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
}
}
} गेटवे त्रुटियां
400अमान्य JSON body400Body एक object होना चाहिए400opगायब है या अज्ञात है400planId/subscriptionId/targetNetwork/rotationPolicyगायब या अमान्य है400repeatCountयाquantityअमान्य है400osअमान्य है401Unauthorized402बैलेंस अपर्याप्त है403Forbidden404सदस्यता नहीं मिली409इस सदस्यता के लिए रोटेशन नीति उपलब्ध नहीं है409स्टॉक समाप्त, प्लान/नेटवर्क निष्क्रिय, या सदस्यता की स्थिति अमान्य है409multiप्लान के लिए OS चयन उपलब्ध नहीं है429Rate limited500Internal error