Dozwolone IP (whitelist)
Ogranicz, kto może uwierzytelnić się względem pakietu proxy, zarządzając whitelist IP klientów.
GET /packages/{id}/allowed-ips
Zwraca aktualną whitelist. Pusta = każdy z login + password może się połączyć.
GET
/api/v1/packages/{id}/allowed-ipsresponse.json
{
"data": { "ips": ["203.0.113.7", "198.51.100.42"], "max": 5 },
"meta": { "version": "v1" }
}POST /packages/{id}/allowed-ips
Dodaje IP (IPv4 lub IPv6) do whitelist. Max 5 IP na pakiet. 409 gdy już istnieje, 422 przy maksimum.
POST
/api/v1/packages/{id}/allowed-ipsrequest.json
{ "ip": "203.0.113.7" }response.json
{
"data": { "ips": ["203.0.113.7", "198.51.100.42"] },
"meta": { "version": "v1" }
}DELETE /packages/{id}/allowed-ips/{ip}
Usuwa IP z whitelist. 204 przy sukcesie, 404 gdy nie istnieje.
DELETE
/api/v1/packages/{id}/allowed-ips/{ip}Uwagi
Niepusta whitelist WYŁĄCZA uwierzytelnianie hasłem: tylko klienci z dozwolonych IP mogą się połączyć. Opróżnienie listy przywraca auth po haśle.
Przykłady kodu
allowed-ips.sh
# List
curl https://raxyproxy.com/api/v1/packages/12/allowed-ips \
-H "Authorization: Bearer raxy_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Add
curl -X POST https://raxyproxy.com/api/v1/packages/12/allowed-ips \
-H "Authorization: Bearer raxy_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"ip":"203.0.113.7"}'
# Remove
curl -X DELETE https://raxyproxy.com/api/v1/packages/12/allowed-ips/203.0.113.7 \
-H "Authorization: Bearer raxy_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"allowed-ips.py
import requests
API_KEY = 'raxy_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
PACKAGE_ID = 12
HEADERS = {'Authorization': f'Bearer {API_KEY}'}
BASE = f'https://raxyproxy.com/api/v1/packages/{PACKAGE_ID}/allowed-ips'
# Snapshot my current public IP into the whitelist
my_ip = requests.get('https://api.ipify.org').text
r = requests.post(BASE, headers=HEADERS, json={'ip': my_ip})
print(r.status_code, r.json())