Получить токен

URL ваш ip:8000/api/auth/login/

Запросы к серверу API осуществляются только авторизованными пользователями, через передачу в HTTP заголовке (Authorization) специального сгенерированного токена. Для получения токена необходимо выполнить POST запросы с передачей в теле запроса строки в формате json c логином и паролем администратора.

Параметр Тип Описание
username Строка Логин администратора
password Строка Пароль администратора
Запрос POST
curl <ваш IP>:8000/api/auth/login/ \
-X POST \
-H 'Content-Type: application/json' \
-D '{"username":<логин>, "password":<пароль>}'
    
Ответ json
{
    "key": "3e09523f098175d5fa5083e04c80b4286c05bcd10"
}
    

Создание порта

URL ваш ip:8000/api/devices/modem/add

Параметр Тип Обязательно Описание
name Строка Да Произвольное наименование порта
active Булево Да Активность порта
type Число Да ID модели модема
net_mode Строка Да Тип сети (lte, umts)
monitoring_interval Число Да Интервал мониторинга модема
is_osfp Булево Да Использовать подмену TCP отпечатка
osfp Число Нет ID TCP отпечатка
ifname Строка Да Название сетевого интерфейса
mtu Число Да MTU соединения, 0 испрользовать по умолчанию
reconnect_type Строка Да Тип смены ip адреса (time, link, time_link))
reconnect_interval Число Да Интервал смены ip адреса в секундах (обязательно для reconnect_type = time или time_link)
reconnect_min Число Да Минимальный шаг смены ip адреса модема
users Массив Нет Список ID пользователе для делегирования управления портом
POST запрос
curl :8000/api/devices/modem/add \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{\
	name: "p-7",\
	ifname:	"enp6s0u1u1u2u3",\
	type: 4,\
	active:	true,\
	is_osfp: false,\
	osfp: null,\
	monitoring_interval: 3,\
	mtu: 0,\
	net_mode: "lte",\
	reconnect_interval: 240,\
	reconnect_type: "time_link",\
	reconnect_min: 20,\
	users:[]\
}'
    
Ответ json
{
	"id":56,
	"name":"p-7",
	"type":4,"active":true,
	"is_osfp":false,
	"ifname":"enp6s0u1u1u2u3",
	"osfp":null,
	"reconnect_interval":240,
	"reconnect_type":"time_link",
	"reconnect_min":20,
	"users":[],
	"net_mode":"lte",
	"monitoring_interval":3,
	"mtu":0
}
    

Редактирование порта

URL ваш ip:8000/api/devices/modem/edit/{ID}

Метод позволяет получить данные порта при выполнении GET запроса ваш ip:8000/api/devices/modem/edit/{ID}, где {ID} - идентификатор порта, так и сохранить изменения при выполнении POST запроса


Параметр Тип Обязательно Описание
name Строка Да Произвольное наименование порта
active Булево Да Активность порта
type Число Да ID модели модема
net_mode Строка Да Тип сети (lte, umts)
monitoring_interval Число Да Интервал мониторинга модема
is_osfp Булево Да Использовать подмену TCP отпечатка
osfp Число Нет ID TCP отпечатка
ifname Строка Да Название сетевого интерфейса
mtu Число Да MTU соединения, 0 испрользовать по умолчанию
reconnect_type Строка Да Тип смены ip адреса (time, link, time_link))
reconnect_interval Число Да Интервал смены ip адреса в секундах (обязательно для reconnect_type = time или time_link)
reconnect_min Число Да Минимальный шаг смены ip адреса модема
users Массив Нет Список ID пользователе для делегирования управления портом
POST запрос
curl :8000/api/devices/modem/edit/56 \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{\
	name: "p-7",\
	ifname:	"enp6s0u1u1u2u3",\
	type: 4,\
	active:	true,\
	is_osfp: false,\
	osfp: null,\
	monitoring_interval: 3,\
	mtu: 0,\
	net_mode: "lte",\
	reconnect_interval: 240,\
	reconnect_type: "time_link",\
	reconnect_min: 20,\
	users:[]\
}'
    
Ответ json
{
	"id":56,
	"name":"p-7",
	"type":4,"active":true,
	"is_osfp":false,
	"ifname":"enp6s0u1u1u2u3",
	"osfp":null,
	"reconnect_interval":240,
	"reconnect_type":"time_link",
	"reconnect_min":20,
	"users":[],
	"net_mode":"lte",
	"monitoring_interval":3,
	"mtu":0
}
    

Получить список портов

URL ваш ip:8000/api/devices/modem/list

Для получения списка добавленных модемом необходимо выполнить POST запрос. Тело запроса может содержать дополнительный параметр filter в формате json для фильтрации результата вывода.

Параметры фильтрации

Параметр Тип Описание
active Булево Активные или неактивные модемы
reconnect_type Строка Тип смены ip адреса: time - по времени, link - по ссылке, time_link- по ссылке и времени
conn_dev Булево Состояние подключения сетевого устройства
conn_net Булево Состояние подключение к сети оператора
operator__id Число id оператора
network_type__id Число id типа сети
name__icontains Строка Имя порта или его часть
ifname Строка Название сетевого интерфейса

Описание полей списка портов

Параметр Тип Описание
id Число Id модема
name Строка Произвольное название модема
active Булево Устанавливаемое состояние модема. При включенном состоянии активируется сетевой интерфейс
ifname Строка Название сетевого интерфейса
ip Строка Ip выданный DHCP сервером модема
gateway Строка Ip выданный DHCP сервером модема
conn_dev Булево Состояние сетевого интерфейса модема
is_osfp Булево Использовать подмену TCP отпечатка
conn_net Булево Состояние подключение к сети оператора
conn_inet Булево Состояние подключения к интернету
reconnect Булево Состояние смены ip адреса
reconnect_type Строка Тип смены ip адреса
reconnect_interval Число Интервал смены ip адреса в секундах
reconnect_min Число Минимальный шаг смены ip адреса модема
reconnect_start Дата время Дата и время начала смены ip
reconnect_end Дата время Дата и время окончания смены ip
signal Число Уровень сигнала от 0 до 5
osfp Объект Установленный отпечаток TCP
operator Строка Наименование оператора
network_type Строка Тип сети
reconect_time Число Время в секундах до смены ip
external_ip Строка Текущий «белый» ip адрес выданный оператором
net_mode Строка Выбор сети модема (lte или umts)
monitoring_interval Число Время в секундах через которое будет выполняться мониторинг модема (минимальное значение 3)
type Число ID модели модема
Запрос POST
curl :8000/api/devices/modem/list \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd10
-D '{"filter":{"active":true, "reconnect_type":"link"}}'
    
Ответ json
[
    {
        "id": 30,
        "name": "Порт-10",
        "active": true,
        "ifname": "enp0s29f7u2u2",
        "ip": "192.168.9.100",
        "gateway": "192.168.9.1",
        "conn_dev": true,
        "is_osfp": true,
        "conn_net": true,
        "type":1,
        "conn_inet": true,
        "reconnect": false,
        "reconnect_type": "time_link",
        "reconnect_interval": 240,
        "reconnect_min": 120,
        "reconnect_start": "26 окт 2020 15:24:55",
        "reconnect_end": "26 окт 2020 15:25:01",
        "reconnect_end_hum": "3 минуты назад",
        "signal": 5,
        "rsrq": "-7dB",
        "rsrp": "-74dBm",
        "rssi": ">=-51dBm",
        "sinr": "12dB",
        "osfp": {
            "id": 7,
            "name": "SP3",
            "modem": "Windows"
        },
        "operator": "MegaFon RUS",
        "network_type": "LTE (4G)",
        "reconect_time": 30,
        "external_ip": "188.170.195.189",
        "net_mode":"lte",
        "monitoring_interval":3
    }
]
    

Получить список моделей модемов

URL ваш ip:8000/api/devices/modem/type

GET запрос позволяет получить список поддерживаемых моделей модемов

Описание полей списка модемов

Параметр Тип Описание
id Число Id модема
name Строка Наименование модели модема
code Строка Символьный код модели модема
Запрос POST
curl :8000/api/devices/modem/type \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd10
    
Ответ json
[
    {
        "id": 1,
        "code": "Huawei_h_150",
        "name": "Huawei E3372h-153"
    },
    {
        "id": 2,
        "code": "Zte_mf_833_r",
        "name": "ZTE MF833R"
    },
    {
        "id": 3,
        "code": "Zte_mf_920_ru",
        "name": "ZTE MF920RU"
    },
    {
        "id": 4,
        "code": "Huawei_h_320",
        "name": "Huawei E3372h-320"
    },
    {
        "id": 5,
        "code": "Zte_mf_823_d",
        "name": "ZTE MF823D"
    }
]
    

Смена IP адреса модема

URL ваш ip:8000/api/devices/modem/reconnect

Отправление задания на смену IP адреса одного или нескольких модемов, выполняется POST запросом в формате json, в теле запроса передается массив идентификаторов модемов. При выполнении запроса многопоточными программами происходит блокировка потока для каждого порта, что исключает рекурсию, а также не выполняются запросы, если статус модема находится в состоянии смены IP или временных ограничений параметра «reconnect_min»

POST запрос
curl :8000/api/devices/modem/reconnect \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[30]}'
    
Ответ json
{
    "result": "ok"
}
    

Список неактивных сетевых интерфейсов

URL ваш ip:8000/api/devices/modem/interface/list

Данный метод позволят получить список сетевых интерфейсов, которые еще не добавлены в порты. Метод необходим при создании нового порта.

Описание полей сетевых интерфейсов

Параметр Тип Описание
ifname Строка Название сетевого интерфейса
ip Строка Ip выданный DHCP сервером модема
gateway Строка Ip адрес модема
POST запрос
curl :8000/api/devices/modem/interface/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
    
Ответ json
[
    {
        "ifname": "enp0s29f7u2u2",
        "ip": "192.168.9.100",
         "gateway": "192.168.9.1"
    },
    {
        "ifname": "enp0s29f7u2u1",
        "ip": "192.168.10.100",
         "gateway": "192.168.10.1"
    }
]
    

Список доступных Passive OS Fingerprint

URL ваш ip:8000/api/devices/osfp/list

Для получения списка доступных отпечатков TCP, необходимо выполнить GET запрос в формате json.

Описание полей

Параметр Тип Описание
id Число Id отпечатка TCP
name Строка Версия ОС
modem Строка Название ОС
GET запрос
curl :8000/api/devices/osfp/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
    
Ответ json
[
  {
    "id": 7,
    "name": "SP3",
    "modem": "Windows"
  },
  {
    "id": 8,
    "name": "2000 SP4, XP SP1+ (2)",
    "modem": "Windows"
  },
  {
    "id": 9,
    "name": "2000 SP4",
    "modem": "Windows"
  }
]
    

Смена Passive OS Fingerprint

URL ваш ip:8000/api/devices/modem/osfp

Для смены отпечатка TCP на портах, необходимо выполнить POST запрос, передав в теле запроса в формате json id порта и id TCP отпечатка, полученный из списка доступных Passive OS Fingerprint.

Параметры запроса

Параметр Тип Описание
id Массив Массив id портов
osid Число Id отпечатка TCP
is_osfp Булево Обязательное поле (вкл/выкл) активности подмены
POST запрос
curl :8000/api/devices/modem/osfp \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[30], "osid":7}'
    
Ответ json
{
    "result": "ok"
}
    

Список операторов

URL ваш ip:8000/api/devices/operators/list

Список операторов заполняется автоматически, при добавлении модема в порты и установленной сим-карты.

Описание полей

Параметр Тип Описание
id Число Id оператора
name Строка Наименование оператора
GET запрос
curl :8000/api/devices/operators/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
    
Ответ json
[
  {
    "id": 1,
    "name": "MeGafon RUS"
  },
  {
    "id": 2,
    "name": "MTS RUS"
  }
]
    

Список типов сетей

URL ваш ip:8000/api/devices/network/list

Список типов сетей заполняется автоматически, при добавлении модема в порты и установленной сим-карты. Зависит от качества связи в месте установки прокси фермы.

Описание полей

Параметр Тип Описание
id Число Id оператора
name Строка Наименование оператора
GET запрос
curl :8000/api/devices/network/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
    
Ответ json
[
  {
    "id": 1,
    "name": "LTE 4G"
  },
  {
    "id": 2,
    "name": "UMTS 3G"
  }
]
    

Статистика по операторам

URL ваш ip:8000/api/devices/statistic/ip

Метод позволяет получить статистику по количеству (pool) «белых» ip адресов по провайдерам. Ip адреса добавляются при отправлении задания на смену ip порта.

Описание полей

Параметр Тип Описание
name Строка Название оператора
count Число Количества ip-адресов выданных за период работы портов
GET запрос
curl :8000/api/devices/statistic/ip \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
    
Ответ json
[
  {
    "name": "MeGafon RUS",
    "count":3000
  },
  {
    "name": "MTS RUS",
    "count":3000
  }
]
    

Список IP адресов операторов

URL ваш ip:8000/api/devices/ip/operator

Метод позволяет получить список IP адресов мобильных провайдеров. Список обновляется при каждой смене IP адреса на порту. При использовании модемов с одинаковыми операторами, в список добавляются только уникальные IP.

Параметры фильтра

Параметр Тип Описание
operator__name__contains Строка Имя или часть имени оператора
operator__id Число ID оператора
ip Строка Ip адрес оператора
date_create Дата время Дата время добавления IP адреса
date_create__range Список Диапазон даты времени от и до для выборки

Параметры постраничной навигации

Параметр Тип Описание
perpage Число Длина списка
page Число Номер страницы
field Строка Поле сортировки
sort Строка Направление сортировки asc или desk

Описание полей списка

Параметр Тип Описание
id Число ID списка
ip Строка Ip адрес оператора
date_create Дата время Дата добавления
operator Число ID оператора
POST запрос
curl :8000/api/devices/ip/operator \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"filter":{"operator__id":1, "osid":7}, "pagination":{"perpage":10, "page":1}}'
    
Ответ json
{
    "meta":{
        "total": 2000,
        "perpage": 10,
        "pages": 200,
        "page":1,
        "sort": "asc",
        "field": "id"
    },
    "data":[
          {
            "id": 1,
            "ip":"85.115.248.58",
            "date_create":"26 окт 2020 15:24:55",
            "operator":1
          },
          {
            "id": 2,
            "ip":"85.115.248.51",
            "date_create":"26 окт 2020 15:24:55",
            "operator":2
          }
    ]
}
    

Список IP адресов портов

URL ваш ip:8000/api/devices/ip/modem

Данный метод позволяет получить список истории смены IP для каждого из портов в различных срезах, задаваемых в параметрах фильтра. Список содержит IP адреса, которые фиксируются при каждом отправлении задания на смену IP, в том числе и неуникальные.

Параметры фильтра

Параметр Тип Описание
operator__name__contains Строка Имя или часть имени оператора
operator__id Число ID оператора
oip__ip Строка Ip адрес оператора
date_create Дата время Дата время добавления IP адреса
date_create__range Список Диапазон даты времени от и до для выборки
oip__ip__in Список Список ip адресов
network_type__id Число ID типа сети
network_type__name Строка Название типа сети
network_type__id__in Список Список ID типов сети
network_type__name__in Список Список названий типов сети

Описание полей списка

Параметр Тип Описание
id Число ID списка
oip Строка Ip адрес оператора
modem Число ID порта
network_type Число ID типа сети
osfp Число ID типа отпечатка ОС
date_create Дата время Дата добавления
POST запрос
curl :8000/api/devices/ip/modem \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"filter":{"operator__id":1, "osid":7}, "pagination":{"perpage":10, "page":1}}'
    
Ответ json
{
    "meta":{
        "total": 2000,
        "perpage": 10,
        "pages": 200,
        "page":1,
        "sort": "asc",
        "field": "id"
    },
    "data":[
          {
            "id": 1,
            "oip":"85.115.248.58",            
            "modem":1,
            "network_type":2,
            "osfp":1,
            "date_create":"26 окт 2020 15:24:55"
          },
          {
            "id": 2,
            "oip":"85.115.248.51",
            "modem":1,
            "network_type":2,
            "osfp":1,
            "date_create":"26 окт 2020 15:24:55"
          }
    ]
}
    

Отключение, включение портов

URL ваш ip:8000/api/devices/modem/active

Метод позволяет включить/отключить порты. Включение или отключение порта приводит к активации или деактивации модема и его сетевого интерфейса.

Параметры запроса

Параметр Тип Описание
id Список Список ID портов
active Булево Значение "true" включает порт, значение "false" отключает порт
POST запрос
curl :8000/api/devices/modem/active \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1], "active":true}'
    
Ответ json
{
    "result": "ok"
}
    

Состояние служб

URL ваш ip:8000/api/devices/services/status

Метод выводит состояние служб работы сервера

Описание полей

Параметр Тип Описание
normal Булево Служба мониторинга
osfp Булево Служба подмены TCP
reconnect Булево Служба смены IP
scheduler Булево Служба планировщика
high Булево Служба операций
rabbitmq Булево Сервер заданий
GET запрос
curl :8000/api/devices/modem/status \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
    
Ответ json
{
    "normal": true,
    "osfp": true,
    "reconnect": true,
    "scheduler": true,
    "proxy": true,
    "rabbitmq": true
}
    

Остановка службы

URL ваш ip:8000/api/devices/services/stop

Метод позволяет остановить службу передав методом POST в теле запроса в формате json название службы.

POST запрос
curl :8000/api/devices/services/stop \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"name":"proxy"}'
    
Ответ json
{
    "result": "ok"
}
    

Запуск службы

URL ваш ip:8000/api/devices/services/start

Метод позволяет запустить службу передав методом POST в теле запроса в формате json название службы.

POST запрос
curl :8000/api/devices/services/start \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"name":"proxy"}'
    
Ответ json
{
    "result": "ok"
}
    

Статистика сервера

URL ваш ip:8000/api/dashboard/cpu

Метод позволяет получить информацию о состоянии сервера:

Параметр Тип Описание
cpu Число Нагрузка на процессор в процентах
memory Объект Информация о ОЗУ
uptime Объект Информация о времени работы сервера

Объект memory

Параметр Тип Описание
total Число Всего доступно ОЗУ
used Число Использовано ОЗУ

Объект uptime

Параметр Тип Описание
seconds Число Время работы сервера в секундах без перезагрузки
humanize Строка Время работы в человеко понятной форме
GET запрос
curl :8000/api/dashboard/cpu \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
    
Ответ json
{
  "cpu": 28.7,
  "memory": {
    "total": 7965,
    "used": 4747
  },
  "uptime": {
    "seconds": 74327,
    "humanize": "3 дня"
  }
}
    

Список прокси

URL ваш ip:8000/api/proxy/list

Метод позволяет получить список прокси профилей.

Параметры фильтра

Параметр Тип Описание
modem__id Число ID порта
active Булево Состояние прокси (вкл/выкл)
auth Строка Тип авторизации (iponly – по ip, strong – по логину)
auth_login__login__icontains Строка Имя или часть имени логина
port Число Номер порта
auth_ip__ip__icontains Строка Имя или часть имени разрешённых ресуров
type Строка Тип прокси (http, socks)

Описание полей списка

Параметр Тип Описание
id Число ID прокси
modem Объект Объект с информацией о порте (см поля описание полей порта)
active Булево Состояние прокси (вкл/выкл)
type Строка Тип прокси (http/sosks)
auth Строка Тип авторизации (iponly – по ip, strong – по логину)
allow Массив Список разрешенных сайтов
is_local Булево Доступ к интерфейсу модема
auth_params Массив Список ip адресов при типе авторизации по ip. Список объектов логин/пароль при типе авторизации
port Число Номер порта (уникальный для каждого профиля)
date_create Дата время Дата и время создания профиля (DD MMM YYYY HH:mm:ss)
date_update Дата время Дата и время обновления профиля (DD MMM YYYY HH:mm:ss)
POST запрос
curl :8000/api/proxy/list \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"filter":{"active":true}, "pagination":{"perpage":10, "page":1}}'
    
Ответ json
{
    "meta": {
        "total": 1,
        "perpage": 10,
        "pages": 1,
        "page": 1,
        "sort": "desc",
        "field": "id"
    },
    "data": [
        {
            "id": 16,
            "modem": {
                "id": 15,
                "name": "Beeline-11-6521",
                "active": true,
                "ifname": "eth6",
                "ip": "192.168.13.100",
                "gateway": "192.168.13.1",
                "conn_dev": true,
                "conn_net": true,
                "reconnect": false,
                "reconnect_type": "time",
                "reconnect_interval": 240,
                "reconnect_min": 120,
                "operator": "MTS RUS",
                "network_type": "LTE (4G)"
            },
            "active": true,
            "type": "socks",
            "auth": "strong",
            "is_allow": true,
            "is_ports": false,
            "allow": [],
            "ports": [],
            "available": true,
            "auth_params": {
                "id": 1,
                "login": "login",
                "password": "password",
                "bitrate_in": null,
                "bitrate_out": null
            },
            "port": 1089,
            "is_local": false,
            "date_create": "12 дек 2020 12:17:32",
            "date_update": "12 дек 2020 12:17:32"
        }
    ]
}
    

Создать прокси

URL ваш ip:8000/api/proxy/add

Метод позволяет добавить прокси сервер для проксирования трафика между клиентом (ПО), подключаемому по протоколу http или sosks c авторизацией по логину или IP, и портом (модемом) мобильного интернета. Для создания прокси профиля необходимо отправить POST запрос в формате json c параметрами.

Параметр Тип Обязательно Описание
modem Число Да ID порта
type Строка Да Тип прокси ( http, socks)
active Булево Нет Состояние прокси
auth Строка Да Тип авторизации (iponly – по ip, strong – по логину)
port Число Да Номер порта
is_local Булево Нет Доступ к интерфейсу модема
auth_params Массив Да В зависимости от типа авторизации передаются параметры, для авторизации по ip – список id ip пользователя, для авторизации по логину - id логина пользователя
allow Массив Нет ID cписок разрешенных сайтов
maxconn Число Да Максиманое число подключений (если установить значение 0, то максимальное число подключений 250)
is_allow Булево Да Разрешение или запрет доступа прокси из списка allow
is_ports Булево Да Разрешение или запрет доступа портов из списка targetport
targetport Массив Нет Список портов

Если Вы сдаете прокси в аренду или вам необходимо доступ к ним из вне, то необходимо «пробросить» порты на маршрутизаторе (все зависит от модели маршрутизатора, мы рекомендуем MikroTik с гигабитными портами).

POST запрос
curl :8000/api/proxy/add \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{\
  "modem": 39,\
  "active": true,\
  "type": "socks",\
  "auth": "strong",\
  "port": 1088,\
  "is_local": false,\
  "maxconn":0,\
  "is_allow":true,\
  "is_ports":true,\
  "auth_params": [\
    2\
  ],\
  "allow": []\,
  "targetport":[]\
}'
    
Ответ json
{
  "id": 46,
  "modem": 39,
  "active": true,
  "type": "socks",
  "auth": "strong",
  "port": 1088,
  "is_local": false,
  "is_allow":true,
  "is_ports":true,
  "auth_params": 2,
  "maxconn":0,
  "allow": [],
  "targetport":[]
}
    

Редактировать прокси

URL ваш ip:8000/api/proxy/edit/{id}

Метод позволяет изменять параметры уже созданных прокси, передавая в URL запроса ID прокси и в теле запроса поля, аналогичные что при создании.

POST запрос
curl :8000/api/proxy/edit/46 \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{\
  "modem": 39,\
  "active": true,\
  "type": "socks",\
  "auth": "strong",\
  "port": 1088,\
  "is_local": false,\
  "auth_params": [\
    2\
  ],\
  "allow": []\
}'
    
Ответ json
{
  "id": 46,
  "modem": 39,
  "active": true,
  "type": "socks",
  "auth": "strong",
  "port": 1088,
  "is_local": false,
  "auth_params": 2,
  "allow": []
}
    

Отключение, включение прокси

URL ваш ip:8000/api/proxy/active

Метод позволяет отключить - включить прокси.

Параметры запроса

Параметр Тип Описание
id Список Список ID прокси
active Булево Значение true включает прокси, значение false отключают прокси
POST запрос
curl :8000/api/proxy/active \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1], "active":true}'
    
Ответ json
{
    "result": "ok"
}
    

Удаление прокси

URL ваш ip:8000/api/proxy/del

Метод позволяет удалить прокси.

Параметры запроса

Параметр Тип Описание
id Список Список ID прокси
POST запрос
curl :8000/api/proxy/del \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1,2,3]}'
    
Ответ json
{
    "result": "ok"
}
    

Создание прокси пользователя

URL ваш ip:8000/api/proxy/auth/add

Параметр Тип Описание
login Строка Логин пользователя в формате (a-z0-9_)
password Строка Пароль пользователя
bitrate_in Число Скорость приема в бит/сек (0 - без ограничений)
bitrate_out Число Скорость передачи в бит/сек (0 - без ограничений)
POST запрос
curl :8000/api/proxy/auth/add \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"login": "kraken", "password": "kraken", "bitrate_in":0, "bitrate_out":0}'
    
Ответ json
{   
    "id":1,
    "login": "kraken",
    "password": "kraken",
    "bitrate_in":0,
    "bitrate_out":0
}
    

Редактировать прокси пользователя

URL ваш ip:8000/api/proxy/auth/edit/{ID}

Метод позволяет получить данные прокси пользователя при выполении GET запроса по URL ваш ip:8000/api/proxy/auth/edit/{ID}, где {ID} - идентификатор прокси пользователя. При выполнении POST запроса сохраняются данные пользователя

Параметр Тип Описание
login Строка Логин пользователя в формате (a-z0-9_)
password Строка Пароль пользователя
bitrate_in Число Скорость приема в бит/сек (0 - без ограничений)
bitrate_out Число Скорость передачи в бит/сек (0 - без ограничений)
POST запрос
curl :8000/api/proxy/auth/edit/1 \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{\
      "login": "kraken",\
      "password": "kraken",\
      "bitrate_in":0,\
      "bitrate_out":0\
  }'
    
Ответ json
{   
    "id":1,
    "login": "kraken",
    "password": "kraken",
    "bitrate_in":0,
    "bitrate_out":0
}
    

Список прокси пользователей

URL ваш ip:8000/api/proxy/auth/list

Метод позволяет получить список пользователей прокси профилей.

Описание полей списка

Параметр Тип Описание
id Число ID прокси
name Строка Логин прокси пользователя
GET запрос
curl :8000/api/proxy/auth/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
    
Ответ json
[{   
    "id":1,
    "name": "user"
{   
    "id":2,
    "name ": "user-1"
}]
    

Удаление прокси пользователя

URL ваш ip:8000/api/proxy/auth/del

Параметр Тип Описание
id Массив Массив id прокси пользователей
POST запрос
curl :8000/api/proxy/auth/del \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id": [1,2,3,4]}'
    
Ответ json
{   
    "result": "ok"
}
    

Удаление ip пользователя

URL ваш ip:8000/api/proxy/ip/del

Параметр Тип Описание
id Массив Массив id ip пользователей
POST запрос
curl :8000/api/proxy/ip/del \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id": [1,2,3,4]}'
    
Ответ json
{   
    "result": "ok"
}
    

Создание пользователя

URL ваш ip:8000/api/users/add

Параметр Тип Обязательно Описание
username Строка Да Логин пользователя в формате (a-z0-9_) больше 4-х симоволов
password Строка Да Пароль пользователя (не менее 6 символово, содержать букцы и цифры)
per_password Строка Да Повтор пароль пользователя
email Строка Да E-mail пользователя, должен быть уникальным
first_name Строка Нет Имя пользователя
last_name Строка Нет Фамилия пользователя
is_active Булево Да Активность пользователя
userprofile Объект Да Дополнительная информация о пользователе

Описание полей userprofile

Параметр Тип Обязательно Описание
phone Строка Нет Телефон пользователя
timezone Строка Да Часовой пояс пользователя
POST запрос
curl :8000/api/users/add \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{\
    "username":"kraken",\
    "password":"1256252kraken",\
    "per_password":"1256252kraken",\
    "first_name":"",\
    "last_name":"",\
    "email":"info@kraken-proxy.ru",\
    "is_active":true,\
    "userprofile":{\
        "timezone":"Europe/Moscow",\
        "phone":""\
    }\
 }'
    
Ответ json
{
    "id": 8,
    "username": "kraken",
    "first_name": "",
    "last_name": "",
    "email": "info@kraken-proxy.ru",
    "is_staff": false,
    "is_active": true,
    "is_superuser": false,
    "userprofile": {
        "phone": null,
        "timezone": "Europe/Moscow"
    },
    "date_joined": "16 мар 2021 12:10:45"
}
    

Редактировать пользователя

URL ваш ip:8000/api/users/edit/{id}

Метод позволяет изменять параметры уже созданных пользователей, передавая в URL запроса ID пользователя и в теле запроса поля, аналогичные что при создании.

Параметр Тип Обязательно Описание
username Строка Да Логин пользователя в формате (a-z0-9_) больше 4-х симоволов
password Строка Нет Пароль пользователя (не менее 6 символово, содержать букцы и цифры)
per_password Строка Нет Повтор пароль пользователя
email Строка Да E-mail пользователя, должен быть уникальным
first_name Строка Нет Имя пользователя
last_name Строка Нет Фамилия пользователя
is_active Булево Да Активность пользователя
userprofile Объект Да Дополнительная информация о пользователе

Описание полей userprofile

Параметр Тип Обязательно Описание
phone Строка Нет Телефон пользователя
timezone Строка Да Часовой пояс пользователя
POST запрос
curl :8000/api/users/edit/8 \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{\
    "username":"kraken",\
    "password":"",\
    "per_password":"",\
    "first_name":"",\
    "last_name":"",\
    "email":"info@kraken-proxy.ru",\
    "is_active":true,\
    "userprofile":{\
        "timezone":"Europe/Moscow",\
        "phone":""\
    }\
 }'
    
Ответ json
{
    "id": 8,
    "username": "kraken",
    "first_name": "",
    "last_name": "",
    "email": "info@kraken-proxy.ru",
    "is_staff": false,
    "is_active": true,
    "is_superuser": false,
    "userprofile": {
        "phone": null,
        "timezone": "Europe/Moscow"
    },
    "date_joined": "16 мар 2021 12:10:45"
}
    

Список пользователей

URL ваш ip:8000/api/users/list

Метод позволяет получить список пользователей.

Описание полей списка

Параметр Тип Описание
username Строка Логин пользователя
password Строка Пароль пользователя (не менее 6 символово, содержать букцы и цифры)
per_password Строка Повтор пароль пользователя
email Строка E-mail пользователя, должен быть уникальным
first_name Строка Имя пользователя
last_name Строка Фамилия пользователя
is_active Булево Активность пользователя
userprofile Объект Дополнительная информация о пользователе
POST запрос
curl :8000/api/users/list \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{ "pagination":{"perpage":10, "page":1}}'
    
Ответ json
{
    "meta": {
        "total": 1,
        "perpage": 10,
        "pages": 1,
        "page": 1,
        "sort": "asc",
        "field": "id"
    },
    "data": [
        {
            "id": 5,
            "username": "user",
            "first_name": "",
            "last_name": "",
            "email": "user@user.ru",
            "is_staff": false,
            "is_active": true,
            "is_superuser": false,
            "userprofile": {
                "phone": null,
                "timezone": "Europe/Moscow"
            },
            "date_joined": "09 мар 2021 20:04:26"
        }
    ]
}
    

Отключение, включение пользователей

URL ваш ip:8000/api/users/active

Метод позволяет отключить - включить пользователей.

Параметры запроса

Параметр Тип Описание
id Список Список ID пользователей
active Булево Значение true включает прокси, значение false отключают пользователей
POST запрос
curl :8000/api/users/active \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1], "active":true}'
    
Ответ json
{
    "result": "ok"
}
    

Удаление пользователя

URL ваш ip:8000/api/users/del

Метод позволяет удалить пользователей.

Параметры запроса

Параметр Тип Описание
id Список Список ID пользователей
POST запрос
curl :8000/api/users/del \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1,2,3]}'
    
Ответ json
{
    "result": "ok"
}