Получение ключа#

Получаем свой токен в настройках пользователя.

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'