Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    OpenVPN. enhance admin interface.

    Scheduled Pinned Locked Moved Russian
    1 Posts 1 Posters 680 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      StanislawK
      last edited by

      Внимание! это для продвинутых пользователей.  Любое неаккуртное движение может всё полностью поломать.

      Маленькие хитрости. (для  pFsense 2.0 release,  pFsense 2.1 release и на промежуточных версиях тоже работает)

      Хитрость 1.

      Добавляем рюшечки полезности и наглядности на страничку Client Specific Override.

      http://192.168.1.1/vpn_openvpn_csc.php

      Редактируем файл  /usr/local/www/vpn_openvpn_csc.php

      примерно в районе 679 строки. следующий код.

      									$i = 0;
      					foreach($a_csc as $csc):
      						$disabled = "no";
      						if (isset($csc['disable']))
      							$disabled = "**yes**";
      				?>
      
      

      заменяем вот на такой:

      									$i = 0;
      					foreach($a_csc as $csc):
      						$disabled = "  no";
      						if (isset($csc['disable']))
                                                              { 
      							$disabled = "**yes**";
                                                              } 
      						$block = "|  no";
                                                      if ((isset($csc['block']))&(htmlspecialchars($csc['block']>"")))
                                                              {
                                                               $block = "| yes"; 
      							}
      				?>
      
      

      Несколькими строками ниже

      Дополняем так, чтобы получилось следующее:

      Хитрость 2.

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

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

      http://192.168.1.1/status_openvpn.php

      Редактируем /usr/local/www/status_openvpn.php

      находим строку

      в версии 2.1  это  примерно 142 строка.

      приводим к следующему виду

      function cmp($a, $b) 
      {
      	return (ip2long($a['virtual_addr'])==ip2long($b['virtual_addr']))?0:(ip2long($a['virtual_addr'])>ip2long($b['virtual_addr']))?1:-1;
      }
      
      foreach ($servers as $server): 
      ?>
      
      

      далее, примерно на 17 строк ниже

      приводим к виду

      uasort(&$server['conns'], "cmp");
      foreach ($server['conns'] as $conn): 
      ?>
      

      Готово. 
      Тут же, есть следующая Хитрость 2.2.

      Если этот блок php кода сделать таким:

      uasort(&$server['conns'], "cmp");
      foreach ($server['conns'] as $conn): 
      $eveodd=$eveodd+1; 
      if ($eveodd % 2) 
        {
          $clrbkgtb="";
        } 
      else 
        {
          $clrbkgtb="e";
        }  ?>
      

      а далее 6 (шесть) строк

      Исправить на

      то визуально станет значительно красивше.
      особенно, если  в /usr/local/www/themes/code-red/all.css 
      (или в соответсвенном для  используемой тобой теме)

      добавить описание стиля .listlre  (скопировав из .listlr )

      немножко изменив цвет фона ячейки таблицы .

      vpn.ovpn.csc.jpg
      vpn.ovpn.csc.jpg_thumb
      status.openvpn.jpg
      status.openvpn.jpg_thumb

      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.