Skip to end of metadata
Go to start of metadata

Механизм принудительного перенаправления пользователя в клиентский кабинет для ознакомления с сообщением.
При выполнении, для пользователя устанавливается фильтр для услуги ( на случай, если он сейчас не онлайн ). Потом запускается команда, которая находит 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%';
  • No labels