Авторизация

VPN API, УПРАВЛЕНИЕ УСЛУГАМИ, АВТОМАТИЗАЦИЯ СОЕДИНЕНИЙ

для управления туннелями в системе удаленного доступа VPNKI

Содержание

ВведениеVPN API системы удаленного доступа VPNKI

API часть 1. Общие сведения и сбор статистики

1.0. Отображение статуса работы системы VPNKI

1.1. Список всех туннелей пользователя

1.2. Список активных туннелей пользователя

1.3. Статус туннелей пользователя

1.4. Статистика подключений всех туннелей пользователя

1.5. Статистика подключений определенного туннеля пользователя за указанный период времени

1.6. Отображение основных данных учетной записи пользователя

1.7. Отображение активных дополнительных услуг пользователя

1.8. Отображение данных по последним платежам

 

API часть 2. Управление услугами

2.1. Добавление нового туннеля в пользовательский аккаунт

2.2. Удаление туннеля из пользовательского аккаунта

2.3. Старт процесса OpenVPN (UDP) в пользовательской сети и получение файла настроек .ovpn

--

2.4. Добавление записи в Публикации URL

2.5. Удаление ВСЕХ записей в Публикации URL

--

2.6. Добавление Проброса TCP порта

2.7. Удаление Проброса TCP порта

2.8. Добавление / обновление адреса "Белого списка" в услуге Проброс TCP порта

--

2.9. Добавление Проброса UDP порта

2.10. Удаление Проброса UDP порта

2.11. Добавление / обновление адреса "Белого списка" в услуге Проброс UDP порта

--

2.12. Отключение туннеля на стороне сервера

2.13. Перезапуск процесса OpenVPN на сервере

--

2.14. Просмотр маршрута к сети пользователя

2.15. Добавление маршрута к сети пользователя

2.16. Удаление маршрута к сети пользователя

 

Введение в API VPNKI

API 0.4 системы VPNKI предназначен для автоматизированной работы различных приложений с нашей системой.

Обращение пользователя к ресурсам API осуществляется путем web-запроса с использованием ключа, полученного на личной странице пользователя. API системы отображает информацию в ответ на запрос пользователя в формате JSON.

Личный ключ вы можете получить внизу любой странице "Личного кабинета". Выглядит ключ приблизительно так:

VPN API, управление услугами, автоматизация соединений.

 

API часть 1. Сбор статистики


Эта часть предназначена для сбора статистики о туннелях пользователя. Доступна любому пользователю. Все запросы осуществляются методом HTTP GET

 

1.0. Актуальный статус работы системы VPNKI

Отображает актуальную информацию о работе системы VPNKI в целом с указанием протоколов и временем последней проверки (московское время). Аналог страницы https://vpnki.ru/status

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=system&action=status&key=<ключ пользователя>

 


1.1. Список всех туннелей пользователя

Отображает все туннели пользователя, ранее созданные через web-интерфейс системы или API.

Формат запроса:

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=tunnels&key=<ключ пользователя>

 

 

1.2. Список активных туннелей пользователя

Отображает список активных туннелей пользователя.

Формат запроса:

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=active&key=<ключ пользователя>

 

 

1.3. Статус туннелей пользователя

Отображает все туннели пользователя и их статус. status=0 - туннель отключен, status=1 - туннель подключен

Формат запроса:

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=stat&key=<ключ пользователя>

 

1.4. Статистика подключений всех туннелей пользователя

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

Формат запроса:

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=stat_user&key=<ключ пользователя>&ts=0000-00-00%2000-00-00&te=2016-12-12%2000-00-00

Где,

  • ts - дата и время начала интервала
  • te - дата и время окончания интервала.
  • %20 - разделитель полей дата и время (вместо пробела)

Пример: 2015-12-31%2023-59-59

Примечание: Разделить %20 может не использоваться при обращении через браузер, а использоваться обычный пробел

 

1.5. Статистика подключений определенного туннеля пользователя за указанный период времени

Отображает статистику подключений указанного туннеля пользователя за выбранный период времени.

Формат запроса:

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=stat_tunnel&key=<ключ пользователя>&tunnel=<имя туннеля>&ts=2016-10-10%2000-00-00&te=2016-10-18%2000-00-00

 

Где,

  • tunnel - имя туннеля, например user356,
  • ts - дата и время начала интервала,
  • te - дата и время окончания интервала, допускается указать словоформу NOW.
  • %20 - разделитель полей дата и время (вместо пробела)

Пример: 2015-12-31%2023-59-59

Примечание: Разделить %20 может не использоваться при обращении через браузер, а использоваться обычный пробел

 

 

1.6. Отображение основных данных пользователя

Отображает основные данные пользователя.

Формат запроса:

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=account&action=main&key=<ключ пользователя>

 

 

1.7. Отображение активных дополнительных услуг пользователя

Отображает основные данные пользователя.

Формат запроса:

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=account&action=service&key=<ключ пользователя>

 

 

1.8. Отображение последних 50 записей в таблице истории платежей

Отображает последние 50 записей.

Формат запроса:

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=log&action=payments&key=<ключ пользователя>

 

 

 

API Часть 2. Управление туннелями

 

Эта часть предназначена для автоматизированного управления туннелями. Доступна только привилегированным пользователям.

 

2.1 Добавление нового туннеля в пользовательский аккаунт

Использует метод HTTP GET. Добавляет новый туннель в пользовательский аккаунт. В ответном сообщении пользователь получит автоматически созданное имя туннеля и пароль.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=add_tunnel&key=<ключ пользователя>

 

 

2.2. Удаление туннеля из пользовательского аккаунта

Использует метод HTTP GET. Удаляет указанный пользователем туннель. В ответном сообщении пользователь получает сообщение об успехе операции.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=del_tunnel&tunnel=<имя туннеля>&key=<ключ пользователя>

 

 

 

2.3. Старт процесса OpenVPN в пользовательской сети и получение файла настроек .ovpn

Использует метод HTTP GET. Запускает процесс OpenVPN (UDP), в ответ пользователь получает: имя_файла.ovpn и его содержимое в качестве переменных JSON

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=ovpn&action=add&key=<ключ пользователя>

 

 

 

2.4. Добавление записи в Публикации URL

Использует метод HTTP GET. Добавляет указанное пользователем доменное имя. В ответном сообщении пользователь получает сообщение об успехе операции.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=url&action=add&exname=<внешнее имя>&inip=<внутренний ip>&inport=<внутренний порт>&key=<ключ пользователя>

Где:

  • exname – внешне имя, которое затем станет часть URL например: demo и полный URL будет https://aivanov78-demo.vpnki.ru
  • inip – адрес компьютера с web-сервером во внутренней сети
  • inport – порт компьютера с web-сервером (скорее всего 80)

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

 

2.5. Удаление ВСЕХ записей в Публикации URL

Использует метод HTTP GET. Удаляет все записи пользователя в Публикации URL. В ответном сообщении пользователь получает сообщение об успехе операции.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=url&action=remove&key=<ключ пользователя>

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

 

2.6. Добавление Проброса TCP порта

Использует метод HTTP GET. Создает соответствие внешнего TCP порта системы vpnki и внутреннего порта и IP адреса пользовательского устройства.

В ответном сообщении пользователь получает сообщение об успехе операции, а также выданный системой порт.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=port&action=add&inip=<внутренний ip>&inport=<внутренний порт>&key=<ключ пользователя>

Где:

  • inip – адрес компьютера с web-сервером во внутренней сети
  • inport – порт компьютера с web-сервером (скорее всего 80)

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

2.7. Удаление Проброса TCP порта

Использует метод HTTP GET. Удаляет соответствие внешнего TCP порта системы vpnki и внутреннего порта и IP адреса пользовательского устройства.

В ответном сообщении пользователь получает сообщение об успехе операции.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=port&action=delete&port=<внешний TCP порт системы vpnki>&key=<ключ пользователя>

Где:

  • port – ранее выданный TCP пользователю порт системы vpnki

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

2.8. Добавление / обновление адреса "Белого списка" в услуге Проброс TCP порта

2.8.1. Использует метод HTTP GET. Добавляет указанный пользователем адрес сети и маску в качестве адреса "Белого списка" для указанного порта TCP.

В ответном сообщении пользователь получает сообщение об успехе операции.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации порта / URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=tcpport&action=update&port=<внешний TCP порт системы vpnki>&whitelist_ip=<адрес сети белого списка>&whitelist_mask=<маска сети белого списка>&key=<ключ пользователя>

Где:

  • port – ранее выданный TCP пользователю порт системы vpnki
  • whitelist_ip - адрес сети Internet для "белого списка" (например 57.23.118.70)
  • whitelist_mask - маска сети для адреса "белого списка" (например 255.255.255.255)

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

2.8.2. Использует метод HTTP GET. Добавляет адрес сети Интернет пользователя, который произвел данный запрос в белый список для указанного порта.

В ответном сообщении пользователь получает сообщение об успехе операции.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации порта / URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=tcpport&action=update&port=<внешний TCP порт системы vpnki>&my_address=yes&key=<ключ пользователя>

Где:

  • port – ранее выданный TCP пользователю порт системы vpnki
  • my_address=yes - признак необходимости добавления IP адреса источника запроса и маски 255.255.255.255

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

 

2.9. Добавление Проброса UDP порта

Использует метод HTTP GET. Создает соответствие внешнего UDP порта системы vpnki и внутреннего порта и IP адреса пользовательского устройства.

В ответном сообщении пользователь получает сообщение об успехе операции, а также выданный системой порт.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=udpport&action=add&inip=<внутренний ip>&inport=<внутренний порт>&key=<ключ пользователя>

Где:

  • inip – адрес компьютера с web-сервером во внутренней сети
  • inport – порт компьютера с web-сервером (скорее всего 80)

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

 

2.10. Удаление Проброса UDP порта

Использует метод HTTP GET. Удаляет соответствие внешнего TCP порта системы vpnki и внутреннего порта и IP адреса пользовательского устройства.

В ответном сообщении пользователь получает сообщение об успехе операции.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=port&action=delete&port=<внешний TCP порт системы vpnki>&key=<ключ пользователя>

Где:

  • port – ранее выданный TCP пользователю порт системы vpnki

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

 

2.11. Добавление / обновление адреса "Белого списка" в услуге Проброс UDP порта

2.11.1. Использует метод HTTP GET. Добавляет указанный пользователем адрес сети и маску в качестве адреса "Белого списка" для указанного порта UDP.

В ответном сообщении пользователь получает сообщение об успехе операции.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации порта / URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=udpport&action=update&port=<внешний UDP порт системы vpnki>&whitelist_ip=<адрес сети белого списка>&whitelist_mask=<маска сети белого списка>&key=<ключ пользователя>

Где:

  • port – ранее выданный UDP пользователю порт системы vpnki
  • whitelist_ip - адрес сети Internet для "белого списка" (например 57.23.118.70)
  • whitelist_mask - маска сети для адреса "белого списка" (например 255.255.255.255)

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

2.11.2. Использует метод HTTP GET. Добавляет адрес сети Интернет пользователя, который произвел данный запрос в белый список для указанного порта.

В ответном сообщении пользователь получает сообщение об успехе операции.

Важно! Перед использованием API пользователь должен согласиться с условиями работы Публикации порта / URL через сайт.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=udpport&action=update&port=<внешний UDP порт системы vpnki>&my_address=yes&key=<ключ пользователя>

Где:

  • port – ранее выданный UDP пользователю порт системы vpnki
  • my_address=yes - признак необходимости добавления IP адреса источника запроса и маски 255.255.255.255

Важно, настройки будут применены в течении 5 минут после успешного выполнения команды!

 

2.12. Отключение туннеля на стороне сервера

Использует метод HTTP GET. Обрывает указанный туннель со стороны сервера, если туннель подключен по протоколам PPTP, L2TP, L2TP/IPsec. В случае подкючения туннеля по протоколу OpenVPN используйте перезапуск процесса OpenVPN на сервере (см. следующий пункт API)

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=manage&target=tun&action=restart&tun=<имя туннеля>&key=<ключ пользователя>

Где:

  • Имя туннеля - имя пользовательского туннеля в формате userXXXX

Выдает ошибки в случаях: наличие ошибки в имени туннеля, туннель не подключен, туннель подключен с использованием протокола OpenVPN

 

 

2.13. Перезапуск процесса OpenVPN на сервере

Использует метод HTTP GET. Посылает команду перезапуска процессу OpenVPN пользователя на сервере системы.

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=ovpn&action=restart&key=<ключ пользователя>

 

 

2.13. Просмотр маршрута к сети "за туннелем" пользователя

Использует метод HTTP GET. Отображает маршрут к сети, расположенной за туннелем указанным туннелем пользователя. В ответном сообщении пользователь получает сообщение в формате сеть, маска (в укороченном формате, например /24).

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=manage&target=route&action=show&tun=<имя туннеля>&key=<ключ пользователя>

 

 

2.14. Добавление маршрута к сети пользователя

Использует метод HTTP GET. Добавляет маршрут к сети, расположенной за туннелем указанным туннелем пользователя. В ответном сообщении пользователь получает сообщение об успехе добавления.

Сеть записыватся в формате адреса сети, например 192.168.1.0

Маска сети записывается в укороченном формате, например 24 или 16

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=manage&target=route&action=add&tun=<имя туннеля>&route=<сеть>&mask=<маска сети>&key=<ключ пользователя>

 

 

2.15. Удаление маршрута к сети пользователя

Использует метод HTTP GET. Удаляет маршрут к сети, расположенной за туннелем указанным туннелем пользователя. В ответном сообщении пользователь получает сообщение об успехе добавления.

Сеть записыватся в формате адреса сети, например 192.168.1.0

Маска сети записывается в укороченном формате, например 24 или 16

https://vpnki.ru/index.php?option=com_api&format=raw&app=webservices&resource=manage&target=route&action=del&tun=<имя туннеля>&route=<сеть>&mask=<маска сети>&key=<ключ пользователя>

 

ДОПОЛНЕНИЯ ОТ ПОЛЬЗОВАТЕЛЕЙ

--------------------------------------------------------------------------------------

Дополнение к пункту 1.3. Пользоваться статусами в MajorDoMo можно считывая их с помощью Веб переменной, для этого в ссылке указываем ссылку с ключом, а в шаблоне поиска:
[b]userХХХ","status":"(.+?)"[/b] где ХХХ номер вашего тоннеля.
Далее, просто, привязываем Веб переменную к свойству ну, а далее уже на ваше усмотрение, можно сделать оповещение и/или рестарт тоннеля. В ближайшее время я собираюсь в блоге сделать подробный мануал.

 

Обещанная статья: http://ovcher.com/umnyj-dom/kontrol-za-vpn-tonnelyami-vpnki-iz-majordomo.html

 

 

 


 

Рекомендации по выбору тарифа

Если вы не планируете передачу видео трафика, то мы рекомендуем вам начинать с выбора тарифа PLAN-MYDEV. Если передача видео будет осуществляться, то стоит сразу начинать с PLAN-VIDEO. Если скорости хватать не будет, то в любое время вы можете изменить тариф на более скоростной.

Если вы используете нашу систему для решения бизнес задач, то начинайте с аналогичных тарифов с приставкой BUSINESS-.

Контролировать объем переданного трафика вы можете на странице с графиками использования.

Узнать реальную скорость своего VPN соединения вы можете утилитой iperf3 на странице "Инструменты". Стоит отметить, что вопрос скорости передачи полезных данных будет зависеть от трех факторов:

  • от типа используемого протокола VPN;
  • типа транспортного протокола - TCP или UDP;
  • физической удаленности вашего устройства от нашего сервера.

Худшим вариантом по скорости окажется вариант, когда в качестве транспортного протокола для VPN соединения используется TCP. При этом ваше устройство размещено далеко от сервера VPNKI. В этом случае, реальная скорость передачи данных будет определяться необходимостью подтверждения передачи каждого пакета в протоколе TCP.

 


 

ДОПОЛНИТЕЛЬНО ПО ТЕМЕ КОНФИГУРАЦИИ УДАЛЕННОГО ДОСТУПА

Кроме настройки по этой инструкции вам могут пригодиться другие примеры конфигурации и использования системы.

  • Рабочий стол через RDP и OpenVPN. Ссылка здесь.
  • Выставить FTP сервер через проброс TCP порта. Ссылка здесь.

 

ОБЩАЯ ИНФОРМАЦИЯ О БЛИЗКИХ ТЕМАХ

По ссылкам ниже вы можете ознакомиться с информацией, связанной с темой VPN соединений.

  • Про удалённый доступ к компьютеру можно. Можно почитать на нашем сайте.
  • Про VPN и протоколы можно почитать здесь.