Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Unifi AP — лимит данных, UniFi Network
 
Планируется ли добавить возможность ограничивать объем данных, которые клиент использует? Или есть какой-нибудь способ это сделать? Я уже реализовал ограничение скорости.
 
Спасибо, дружище, очень ценю. Посмотрю всё внимательно. 😀
 
@Mathieu

Извиняюсь, я только сейчас увидел твоё сообщение, когда @diabolix опубликовал своё. Для Windows путь такой:  
C:\Users\[Соответствующий пользователь]\Ubiquiti UniFi\data\sites\[Название сайта]\portal\bundle
 
Страница входа (index.html) на сервере UniFi содержит следующую ссылку:  

" class="action" style="width:150px;">Ограниченный бесплатный доступ Купить ваучер


Эта ссылка ведёт на страницу free-access.php:  
<?php  
require_once('inc/html.inc.php');  
require_once('class.unifi.php');  

$error = array();  

htmlHeader();  
?>  
<h2>Бесплатный доступ</h2>  
<div class="free-access">  

<?php  
if(isset($_REQUEST['mac']))
{  
   try  
   {  
       $unifi = new unifi();  
       $logged = $unifi->authorizeGuest($_REQUEST['mac']);

       if($logged)  
       {  
           ?>  
           <div class="success">  
                   <h4>Успех</h4>  
                   

Спасибо, вы вошли в систему.

           </div>  
           <?php  
       }  
       else  
       {  
           $error[] = 'Извините, вход не удался.';
       }  
   }  
   catch(Exception $e)  
   {  
        $error[] = $e->getMessage();
   }  
}  
else  
{  
   $error[] = 'Извините, вход не удался.';
}  
?>  

</div>  
<?php  
if(count($error) > 0)  
{  
   ?>  
   <div class="error">  
       <h4>Произошли следующие ошибки:</h4>  
       <?php  
       for($i=0;$i<count($error);$i++)  
       {  
           echo '

'.$error[$i].'

';  
       }  
       ?>  
   </div>  
   <?php  
}  

htmlFooter();  

<EDIT> Забыл включить функцию authorizeGuest из class.unifi. Она делает следующее:  

public function authorizeGuest($mac, $duration = 24)  
{  
   $logged = false;  
   $data = array();  

   if($this->isValidMac($mac))  
   {  
       $data['cmd'] = 'authorize-guest';
       $data['mac'] = $mac;
       // $data['minutes'] = $duration*60;
       $data['up'] = $this->authorise_up;
       $data['down'] = $this->authorise_down;
       $data['bytes'] = $this->authorise_quota;
       $json = json_encode($data);  

       // Отправляем команду через API  
       curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, TRUE);  
       curl_setopt($this->ch, CURLOPT_URL, $this->server.$this->site_path.'/cmd/stamgr');  
       curl_setopt($this->ch, CURLOPT_POSTFIELDS, 'json='.$json);  

       $result = curl_exec($this->ch);  

       $json_result = json_decode($result);  

       // $created = $json_result->data[0];

       $result_code = $json_result->meta->rc;  

       if($result_code == "ok")  
       {  
           $logged = true;  
       }  
   }  

   return $logged;  
}  

И установлены такие параметры:  

private $authorise_up = 1024; //кб/с  
private $authorise_down = 1024; //кб/с  
private $authorise_quota = 125; //Мб  

Да, мы в Канаде и предпочитаем писать "authorise" вместо "authorize". Вот такая вот некоторая путаница получается. 😀
 
Я хочу добиться того же самого, но, похоже, этого так и не решили. jchesnut, как вообще получить «Ограниченную бесплатную опцию»? В общем, я хочу аутентифицировать пользователей, и чтобы их выкидывало, как только они превысят лимит в 50 Мб, но при этом не хочется, чтобы они вводили коды ваучеров перед тем, как начать пользоваться интернетом, потому что это геморрой. У меня стоит Ubuntu.
 
Можешь предоставить это для среды Windows, пожалуйста, Мэтт? Я бы хотел внедрить CAP для пары клиентов с помощью портала UniFi.
 
@bradn

На какой операционной системе работает контроллер? Можно ограничить это разными способами, но самый простой — изменить файл messages.bundles. Я могу дать полный путь, но мне нужно знать, на какой ОС у вас контроллер, чтобы указать правильный путь.
 
Это то, что нужно нашему индивидуальному заказчику, который использует UNIFI и хочет раздавать бесплатный интернет, но при этом ограничивать объём загрузки до x Мб. Вы упомянули, что это можно настроить в гостевом портале, но я не могу это найти — не подскажете, какую версию портала вы используете и где именно это можно настроить?
 
Хорошо, вот где я сейчас: у меня настроена скорость для гостевых данных — 1 Мбит/с на загрузку и 512 Кбит/с на выгрузку, неограниченное количество пользователей. Гостевая сеть (SSID) без аутентификации. Основная сеть (SSID) с аутентификацией.

Я включил гостевой портал без аутентификации, срок аренды — 1 час. Я знаю немного HTML, но не могу понять, куда и что нужно вставить, чтобы реализовать ограничение по трафику. Поищу информацию.
 
Зайдите в контроллер, затем в Настройки > Управление гостями. Поставьте галочку «Включить настройку портала» и примените изменения. Затем откройте папку C:\Users\[Username]\Ubiquiti UniFi\data\sites\default\portal — там хранятся ваши HTML-файлы.
 
Microsoft Windows 8.1 64 бит. Мне смотреть в C:\Users\Username\Ubiquiti Unifi\? Я поковырялся там, увидел папку webapps root, но не хотел лазить по странным местам.
 
Я могу дать вам путь к HTML, но не могу помочь напрямую с его изменением. Мне просто нужно знать, на какой операционной системе у вас работает контроллер, чтобы дать правильный путь.
Страницы: 1
Читают тему (гостей: 1)