Отримання ключа#

Отримуємо свій токен у налаштуваннях користувача.

image

І копіюємо отриманий ключ.

image

Специфікація#

Базовий URL: https://api.privateflare.com

Для авторизації необхідно передати заголовок X-Auth-Key зі значенням API ключа.

Доступні методи#

МетодШляхОпис
GET/meІнформація про користувача
GET/domains/Список доменів
GET/domains/{domain}Деталі обраного домену
POST/domains/Створити новий домен
PATCH/domains/{domain}Оновити параметри домену
DELETE/domains/{domain}Видалити домен
GET/domains/{domain}/uptimeСтатистика часу відповіді сервера
GET/tasks/Активні завдання на генерацію сертифікатів
GET/security/iplist/Список списків IP
POST/security/iplist/Створити список IP
PATCH/security/iplist/{listid}Оновити список IP
DELETE/security/iplist/{listid}Видалити список IP
PUT/security/iplist/{listid}/{ip}Додати IP до списку блокування
DELETE/security/iplist/{listid}/{ip}Видалити IP зі списку блокування
GET/nodes/Список нод
GET/domains/{domain}/dnsrecordsDNS записи домену
POST/domains/{domain}/dnsrecordsСтворити DNS запис
PATCH/domains/{domain}/dnsrecords/{id}Оновити DNS запис
DELETE/domains/{domain}/dnsrecords/{id}Видалити DNS запис
GET/domains/{domain}/certexportЕкспорт SSL сертифіката (ZIP)
GET/domains/{domain}/activatensАктивувати NS записи
GET/domains/{domain}/deactivatensДеактивувати NS записи
Інформація#
# приклад для cURL
curl --location 'https://api.privateflare.com/me/' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
Список доменів#
# приклад для cURL
curl --location 'https://api.privateflare.com/domains/' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
Один домен#
# приклад для cURL
curl --location 'https://api.privateflare.com/domains/domain.com' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
Створення домену#
# приклад для cURL
curl --location 'https://api.privateflare.com/domains/' \
--header 'Content-Type: application/json' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--data '{
    "enabled": true,
    "domain": "domain.com",
    "mask": "yandex.info",
    "ssl": true,
    "tags": ["tag1","tag2"],
    "backend": "127.0.0.1",
    "fhttps": true,
    "cachelevel": 1
}'
ПолеТипОпис
enabledboolАктивність домену
domainstringІм’я домену
maskstringМаска домену
sslboolАктивність SSL
tagsstring[]Список тегів
backendstringIP бекенду
failoverstringIP резервного бекенду
fhttpsboolПримусовий редирект з http на https
cachelevelintРівень кешування (0-3)
sjschallengeboolJS Challenge (аналог Under Attack)
baseprotectionboolБазовий WAF захист
bwlimitintЛіміт пропускної здатності, KB/s (0 = без обмежень)
geomodeintГео-фільтрація: 0=вимк, 1=дозволити лише, 2=заблокувати
geoliststring[]Список кодів країн (ISO 3166-1 alpha-2)
bind_nodeint[]Прив’язка до конкретних нод (порожній = всі ноди)
cachelargefilesboolКешування великих файлів на нодах
Модифікація параметрів домену#
# приклад для cURL
curl --location 'https://api.privateflare.com/domains/domain.com' \
--header 'Content-Type: application/json' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--data '{
    "enabled": true
}'

Зверніть увагу, що можна передавати ЛИШЕ ЗМІНЮВАНІ параметри.

Видалення домену#
# приклад для cURL
curl --location --request DELETE 'https://api.privateflare.com/domains/domain.com' \
--header 'Content-Type: application/json' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
Створити список блокування#
# приклад для cURL
curl --location 'https://api.privateflare.com/security/iplist/' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--header 'Content-Type: application/json' \
--data '{
    "name": "list name",
    "ips": ["1.1.1.1"],
    "allnodes": true,
    "nodes": []
}'
ПолеОпис
nameІм’я списку
ipsСписок IP
allnodesВикористовувати на всіх нодах
nodesСписок нод, на яких список буде застосовано
DNS записи домену#
curl --location 'https://api.privateflare.com/domains/domain.com/dnsrecords' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
Створення DNS запису#
curl --location 'https://api.privateflare.com/domains/domain.com/dnsrecords' \
--header 'Content-Type: application/json' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx' \
--data '{
    "name": "@",
    "type": 1,
    "value": "1.2.3.4",
    "ttl": 3600,
    "target": []
}'
ПолеТипОпис
namestringІм’я запису (@ для кореня)
typeintТип запису: 1=A, 2=AAAA, 3=CNAME, 4=MX, 5=NS, 6=TXT, 7=SOA, 8=SRV
valuestringЗначення запису
ttlintTTL у секундах
priorityintПріоритет (для MX, SRV)
targetint[]Гео-прив’язка: ID країн/континентів для GeoDNS (порожній = загальний запис)
Активація NS записів#

Для використання DNS-сервісу PrivateFlare (ns1.privateflare.com, ns2.privateflare.com):

curl --location 'https://api.privateflare.com/domains/domain.com/activatens' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
Додати IP до списку блокування та заблокувати#
curl --location --request PUT 'https://api.privateflare.com/security/iplist/6/2.2.2.2' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx'
Видалити IP зі списку блокування та розблокувати#
curl --location --request DELETE 'https://api.privateflare.com/security/iplist/6/2.2.2.2' \
--header 'X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxx'