Лучший VPS сервер, который мне удалось найти: https://justhost.ru

  • Больше 30 стран локаций
  • Возможность 50 раз сменить страну и ip адрес вашего сервера
  • Все тарифы подходят для VPN и Proxy
  • Установка Mikrotik routerOS и linux из коробки
  • Оплата Российскими картами
  • Стоимость от 79 рублей в месяц за промо тариф

Требования

  • Запущенный OpenVPN-сервер
  • Включённый Management Interface
  • PHP с поддержкой сокетов

Включение Management Interface

Добавьте следующую строку в конфигурацию сервера server.conf:

management localhost 7667

Перезапустите OpenVPN-сервер.


Получение списка подключённых пользователей (PHP)

Пример PHP-скрипта для получения онлайн-пользователей через Management Interface:

<?php
function get_online_users() {

    $fp = fsockopen("localhost", 7667, $errno, $errstr, 30);

    if (!$fp) {
        return [];

    } else {
        fwrite($fp, "status\n");

        $data = [];
        $do_get = false;

        while (!feof($fp)) {
            $get = fgets($fp, 128);

            if (preg_match('#ROUTING TABLE#', $get))
                break;

            if ($do_get)
                $data[] = $get;

            if (preg_match('#Common Name#i', $get))
                $do_get = true;
        }

        fclose($fp);
    }

    return $data;
}

print_r(get_online_users());
?>

Результат

  • Скрипт подключается к Management Interface OpenVPN
  • Выполняет команду status
  • Возвращает список активных подключений

TAGS: OpenVPN, management interface, PHP, VPN, monitoring