Механизм принудительного перенаправления пользователя в клиентский кабинет для ознакомления с сообщением.
При выполнении, для пользователя устанавливается фильтр для услуги ( на случай, если он сейчас не онлайн ). Потом запускается команда, которая находит IP всех текущих сессий на поддерживаемых серверах и добавляет их в указанные таблицы.
Поддерживается:
Локальный mpd (ipfw)
Mikrotik
Необходимо самостоятельно настроить правила редиректа для трафика IP в указанных таблицах.
При использовании модуля Internet
, необходимо дополнительно указать $conf{MSGS_REDIRECT_INTERNET} = 1;
в libexec/config.pl
Настройка
$conf{MSGS_REDIRECT_FILTER_ADD}='КОМАНДЫ СМОТРЕТЬ НИЖЕ'; | Команда, которую нужно выполнить для установки редиректа |
---|---|
$conf{MSGS_REDIRECT_FILTER_DEL}='КОМАНДЫ СМОТРЕТЬ НИЖЕ'; | Команда на удаление фильтра после прочтения сообщения |
$conf{MSGS_REDIRECT_INTERNET} = 1; | Искать сессии в таблице internet_online |
Добавьте возможность запуска msgs_filter.sh с правами апача.
echo "www-data ALL=(ALL) NOPASSWD: /usr/abills/misc/msgs_filter.sh" >> /etc/sudoers.d/abills_sudoers
Пример команд для mpd
IP для перенаправления вносятся в таблицу IPFW номер 100
$conf{MSGS_REDIRECT_FILTER_ADD}='EXEC:/usr/local/bin/sudo /usr/abills/misc/msgs_filter.sh add %UIDS%;RAD:mpd-table-static+="100=%IP%"'; $conf{MSGS_REDIRECT_FILTER_DEL}='EXEC:/usr/local/bin/sudo /usr/abills/misc/msgs_filter.sh del %UIDS% %IP%';
Пример команд для mikrotik
IP вносятся в address-list message-redirect
$conf{MSGS_REDIRECT_FILTER_ADD}='EXEC:/usr/local/bin/sudo /usr/abills/misc/msgs_filter.sh add %UIDS%;RAD:Mikrotik-Address-List=message-redirect'; $conf{MSGS_REDIRECT_FILTER_DEL}='EXEC:/usr/local/bin/sudo /usr/abills/misc/msgs_filter.sh del %UIDS%';