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

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

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'