Получить токен
URL ваш ip:8000/api/auth/login/
Запросы к серверу API осуществляются только авторизованными пользователями, через передачу в HTTP заголовке (Authorization) специального сгенерированного токена. Для получения токена необходимо выполнить POST запросы с передачей в теле запроса строки в формате json c логином и паролем администратора.
Параметр | Тип | Описание |
---|---|---|
username | Строка | Логин администратора |
password | Строка | Пароль администратора |
curl <ваш IP>:8000/api/auth/login/ \
-X POST \
-H 'Content-Type: application/json' \
-D '{"username":<логин>, "password":<пароль>}'
{
"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 пользователе для делегирования управления портом |
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:[]\
}'
{
"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 пользователе для делегирования управления портом |
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:[]\
}'
{
"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 модели модема |
curl :8000/api/devices/modem/list \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd10
-D '{"filter":{"active":true, "reconnect_type":"link"}}'
[
{
"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 | Строка | Символьный код модели модема |
curl :8000/api/devices/modem/type \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd10
[
{
"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»
curl :8000/api/devices/modem/reconnect \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[30]}'
{
"result": "ok"
}
Список неактивных сетевых интерфейсов
URL ваш ip:8000/api/devices/interface/list
Данный метод позволят получить список сетевых интерфейсов, которые еще не добавлены в порты. Метод необходим при создании нового порта.
Описание полей сетевых интерфейсов
Параметр | Тип | Описание |
---|---|---|
ifname | Строка | Название сетевого интерфейса |
ip | Строка | Ip выданный DHCP сервером модема |
gateway | Строка | Ip адрес модема |
curl :8000/api/devices/interface/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
[
{
"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 | Строка | Название ОС |
curl :8000/api/devices/osfp/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
[
{
"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 | Булево | Обязательное поле (вкл/выкл) активности подмены |
curl :8000/api/devices/modem/osfp \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[30], "osid":7}'
{
"result": "ok"
}
Список операторов
URL ваш ip:8000/api/devices/operators/list
Список операторов заполняется автоматически, при добавлении модема в порты и установленной сим-карты.
Описание полей
Параметр | Тип | Описание |
---|---|---|
id | Число | Id оператора |
name | Строка | Наименование оператора |
curl :8000/api/devices/operators/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
[
{
"id": 1,
"name": "MeGafon RUS"
},
{
"id": 2,
"name": "MTS RUS"
}
]
Список типов сетей
URL ваш ip:8000/api/devices/network/list
Список типов сетей заполняется автоматически, при добавлении модема в порты и установленной сим-карты. Зависит от качества связи в месте установки прокси фермы.
Описание полей
Параметр | Тип | Описание |
---|---|---|
id | Число | Id оператора |
name | Строка | Наименование оператора |
curl :8000/api/devices/network/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
[
{
"id": 1,
"name": "LTE 4G"
},
{
"id": 2,
"name": "UMTS 3G"
}
]
Статистика по операторам
URL ваш ip:8000/api/devices/statistic/ip
Метод позволяет получить статистику по количеству (pool) «белых» ip адресов по провайдерам. Ip адреса добавляются при отправлении задания на смену ip порта.
Описание полей
Параметр | Тип | Описание |
---|---|---|
name | Строка | Название оператора |
count | Число | Количества ip-адресов выданных за период работы портов |
curl :8000/api/devices/statistic/ip \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
[
{
"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 оператора |
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}}'
{
"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 | Дата время | Дата добавления |
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}}'
{
"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" отключает порт |
curl :8000/api/devices/modem/active \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1], "active":true}'
{
"result": "ok"
}
Состояние служб
URL ваш ip:8000/api/devices/services/status
Метод выводит состояние служб работы сервера
Описание полей
Параметр | Тип | Описание |
---|---|---|
normal | Булево | Служба мониторинга |
osfp | Булево | Служба подмены TCP |
reconnect | Булево | Служба смены IP |
scheduler | Булево | Служба планировщика |
high | Булево | Служба операций |
rabbitmq | Булево | Сервер заданий |
curl :8000/api/devices/modem/status \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
{
"normal": true,
"osfp": true,
"reconnect": true,
"scheduler": true,
"proxy": true,
"rabbitmq": true
}
Остановка службы
URL ваш ip:8000/api/devices/services/stop
Метод позволяет остановить службу передав методом POST в теле запроса в формате json название службы.
curl :8000/api/devices/services/stop \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"name":"proxy"}'
{
"result": "ok"
}
Запуск службы
URL ваш ip:8000/api/devices/services/start
Метод позволяет запустить службу передав методом POST в теле запроса в формате json название службы.
curl :8000/api/devices/services/start \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"name":"proxy"}'
{
"result": "ok"
}
Статистика сервера
URL ваш ip:8000/api/dashboard/cpu
Метод позволяет получить информацию о состоянии сервера:
Параметр | Тип | Описание |
---|---|---|
cpu | Число | Нагрузка на процессор в процентах |
memory | Объект | Информация о ОЗУ |
uptime | Объект | Информация о времени работы сервера |
Объект memory
Параметр | Тип | Описание |
---|---|---|
total | Число | Всего доступно ОЗУ |
used | Число | Использовано ОЗУ |
Объект uptime
Параметр | Тип | Описание |
---|---|---|
seconds | Число | Время работы сервера в секундах без перезагрузки |
humanize | Строка | Время работы в человеко понятной форме |
curl :8000/api/dashboard/cpu \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
{
"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) |
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}}'
{
"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 с гигабитными портами).
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":[]\
}'
{
"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 прокси и в теле запроса поля, аналогичные что при создании.
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": []\
}'
{
"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 отключают прокси |
curl :8000/api/proxy/active \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1], "active":true}'
{
"result": "ok"
}
Удаление прокси
URL ваш ip:8000/api/proxy/del
Метод позволяет удалить прокси.
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
id | Список | Список ID прокси |
curl :8000/api/proxy/del \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1,2,3]}'
{
"result": "ok"
}
Создание прокси пользователя
URL ваш ip:8000/api/proxy/auth/add
Параметр | Тип | Описание |
---|---|---|
login | Строка | Логин пользователя в формате (a-z0-9_) |
password | Строка | Пароль пользователя |
bitrate_in | Число | Скорость приема в бит/сек (0 - без ограничений) |
bitrate_out | Число | Скорость передачи в бит/сек (0 - без ограничений) |
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}'
{
"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 - без ограничений) |
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\
}'
{
"id":1,
"login": "kraken",
"password": "kraken",
"bitrate_in":0,
"bitrate_out":0
}
Список прокси пользователей
URL ваш ip:8000/api/proxy/auth/list
Метод позволяет получить список пользователей прокси профилей.
Описание полей списка
Параметр | Тип | Описание |
---|---|---|
id | Число | ID прокси |
name | Строка | Логин прокси пользователя |
curl :8000/api/proxy/auth/list \
-X GET \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
[{
"id":1,
"name": "user"
{
"id":2,
"name ": "user-1"
}]
Удаление прокси пользователя
URL ваш ip:8000/api/proxy/auth/del
Параметр | Тип | Описание |
---|---|---|
id | Массив | Массив id прокси пользователей |
curl :8000/api/proxy/auth/del \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id": [1,2,3,4]}'
{
"result": "ok"
}
Удаление ip пользователя
URL ваш ip:8000/api/proxy/ip/del
Параметр | Тип | Описание |
---|---|---|
id | Массив | Массив id ip пользователей |
curl :8000/api/proxy/ip/del \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id": [1,2,3,4]}'
{
"result": "ok"
}
Создание пользователя
URL ваш ip:8000/api/users/add
Параметр | Тип | Обязательно | Описание |
---|---|---|---|
username | Строка | Да | Логин пользователя в формате (a-z0-9_) больше 4-х симоволов |
password | Строка | Да | Пароль пользователя (не менее 6 символово, содержать букцы и цифры) |
per_password | Строка | Да | Повтор пароль пользователя |
Строка | Да | E-mail пользователя, должен быть уникальным | |
first_name | Строка | Нет | Имя пользователя |
last_name | Строка | Нет | Фамилия пользователя |
is_active | Булево | Да | Активность пользователя |
userprofile | Объект | Да | Дополнительная информация о пользователе |
Описание полей userprofile
Параметр | Тип | Обязательно | Описание |
---|---|---|---|
phone | Строка | Нет | Телефон пользователя |
timezone | Строка | Да | Часовой пояс пользователя |
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":""\
}\
}'
{
"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 | Строка | Нет | Повтор пароль пользователя |
Строка | Да | E-mail пользователя, должен быть уникальным | |
first_name | Строка | Нет | Имя пользователя |
last_name | Строка | Нет | Фамилия пользователя |
is_active | Булево | Да | Активность пользователя |
userprofile | Объект | Да | Дополнительная информация о пользователе |
Описание полей userprofile
Параметр | Тип | Обязательно | Описание |
---|---|---|---|
phone | Строка | Нет | Телефон пользователя |
timezone | Строка | Да | Часовой пояс пользователя |
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":""\
}\
}'
{
"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 | Строка | Повтор пароль пользователя |
Строка | E-mail пользователя, должен быть уникальным | |
first_name | Строка | Имя пользователя |
last_name | Строка | Фамилия пользователя |
is_active | Булево | Активность пользователя |
userprofile | Объект | Дополнительная информация о пользователе |
curl :8000/api/users/list \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{ "pagination":{"perpage":10, "page":1}}'
{
"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 отключают пользователей |
curl :8000/api/users/active \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1], "active":true}'
{
"result": "ok"
}
Удаление пользователя
URL ваш ip:8000/api/users/del
Метод позволяет удалить пользователей.
Параметры запроса
Параметр | Тип | Описание |
---|---|---|
id | Список | Список ID пользователей |
curl :8000/api/users/del \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Token 3e09523f098175d5fa5083e04c80b4286c05bcd0
-D '{"id":[1,2,3]}'
{
"result": "ok"
}