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

И копируем полученный ключ.

Спецификация#
Базовый 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'