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

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

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}/dnsrecords DNS записи домену
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
}'
Поле Тип Опис
enabled bool Активність домену
domain string Ім’я домену
mask string Маска домену
ssl bool Активність SSL
tags string[] Список тегів
backend string IP бекенду
failover string IP резервного бекенду
fhttps bool Примусовий редирект з http на https
cachelevel int Рівень кешування (0-3)
sjschallenge bool JS Challenge (аналог Under Attack)
baseprotection bool Базовий WAF захист
bwlimit int Ліміт пропускної здатності, KB/s (0 = без обмежень)
geomode int Гео-фільтрація: 0=вимк, 1=дозволити лише, 2=заблокувати
geolist string[] Список кодів країн (ISO 3166-1 alpha-2)
bind_node int[] Прив’язка до конкретних нод (порожній = всі ноди)
cachelargefiles bool Кешування великих файлів на нодах
Модифікація параметрів домену#
# приклад для 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": []
}'
Поле Тип Опис
name string Ім’я запису (@ для кореня)
type int Тип запису: 1=A, 2=AAAA, 3=CNAME, 4=MX, 5=NS, 6=TXT, 7=SOA, 8=SRV
value string Значення запису
ttl int TTL у секундах
priority int Пріоритет (для MX, SRV)
target int[] Гео-прив’язка: 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'