Документация → Установка и настройка модулей

Liqpay

Ставим модули perl
cd /usr/ports/textproc/p5-XML-Simple && make install clean
cd /usr/ports/security/p5-Digest-SHA1 && make install clean
cd /usr/ports/www/p5-LWP-UserAgent-WithCache/ && make install clean
cd /usr/ports/security/p5-Crypt-SSLeay/ && make install clean
cd /usr/ports/www/p5-LWP-Protocol-https && make install clean
perl /usr/local/nodeny/install.pl -x

Заходим на https://www.liqpay.com/, вводим свой номер телефона, получаем sms, вводим цифровой пароль из sms. Заходим в меню «Подключить магазин» → «Мой магазин». Будут запрошены реквизиты карты. Введите карту Приватбанка, поскольку процент при выводе денег будет меньше.

На следующем шаге заполняем профиль магазина, в данном случае это данные вашей компании. Выбор средств - «на карту», ниже выбираем карту, данные которой заполняли на предыдущем шаге. Ставим галку на чекбоксе «я ознакомлен с условиями договора».

На следующем шаге нам покажут id мерчанта и подпись, которые нужно скопировать и ввести в соответствующие поля настроек раздела Liqpay в админке NoDeny+.

На титульной странице админки NoDeny+ нажимаем на «Балансы Liqpay». Должны получить нулевые балансы по всем валютам.

До недавнего времени пополнения клиентов не шли сразу на вашу карту, а оседали на внутреннем счете, который можно было увидеть через «Балансы Liqpay». Сейчас каждый платеж сразу выводится на карту. Поэтому, если вы хотите включить услугу пополнения мобильных телефонов, вы должны самостоятельно перевести на счет Liqpay некоторую сумму.

NonStop24

cd /usr/ports/textproc/p5-XML-Simple && make install clean
cp /usr/local/nodeny/modules/nonstop24/nonstop24.pl /usr/local/www/apache22/cgi-bin/
chown www /usr/local/www/apache22/cgi-bin/nonstop24.pl
chmod 500 /usr/local/www/apache22/cgi-bin/nonstop24.pl
perl /usr/local/nodeny/install.pl -x

В админке NoDeny заходим в настройки в раздел nonstop24 и заполняем. Service Id устанавливаем, например, в Internet. Для тестирования регистрируемся на http://protocol.24nonstop.com.ua. Изменяем настройки:

URL к серверу провайдера = https://ваш сайт/cgi-bin/nonstop24.pl
ваш тип Аутентификации = отсутствует
Секретное слово = то, которое вы указали в настройках модуля
Метод = GET
Метод шифрования = MD5

Далее создайте новый Service Id = Internet (вы указывали в настройках выше) и начинайте тестирование. Ошибки можете смотреть в логе:

tail -n40 /usr/local/nodeny/logs/nonstop24_err.log 

Pingserver

Ставим arping
cd /usr/ports/net/arping
make install clean
Запускаем pingserver
/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d &
Проверяем
curl http://127.0.0.1:8081/?ip=127.0.0.1\&count=10\&cmd=ping
Должны получить cookie данной сессии, проверяем результат
curl http://127.0.0.1:8081/?ip=127.0.0.1\&cmd=cookie\&cookie=123456-12345678
Должны получить 0% потерь
ping: 0.0
Чтобы потери выводились на карту
cd /usr/ports/www/p5-LWP-UserAgent-WithCache/ && make install clean
cd /usr/ports/security/p5-Crypt-SSLeay/ && make install clean
cd /usr/ports/www/p5-LWP-Protocol-https && make install clean
Автозапуск pingserver
echo '/usr/bin/perl /usr/local/nodeny/nokernel.pl -m=pingserver -d &' >> /etc/rc.local

Модуль покупки файлов download

Позволяет клиентам покупать файлы, например, антивирусы, в личном кабинете, используя свой счет. При передаче url другому пользователю, скачивание файла будет заблокировано, если тот не купил его.

В настройках создайте услугу типа 'basic' в теге которой укажите: «download:имя_файла». Файл поместите в директорию /usr/local/nodeny/download/. В имени файла допустимы только латинские буквы, цыфры, точки и символ подчеркивания.

В админке в настройках клиентской статистике добавьте плагин download.

Radius атрибуты

Модуль позволяет добавлять произвольные атрибуты в radreply пакет radius-сервера в зависимости от тарифа абонента. Это может быть альтернативой скрипту noserver, который управляет фаерволом или скоростями на mikrotik. В этом случае правила скорости (либо иные другие) будет устанавливать сам сервер PPPoE или DHCP.

Например
    Service-Type = Framed-User,
    Framed-Protocol = PPP,
    Framed-IP-Address = 192.168.100.5,
    Framed-IP-Netmask = 255.255.255.0,
    ERX-Service-Activate:1+= "pppoe_local(10m,10m,15m,15m)"
    ERX-Primary-Dns = 8.8.8.8

Здесь атрибут ERX-Service-Activate устанавливает скорость абоненту по разным направлениям.

После установки модуля, в безлимитных услугах появится параметр Radius, в который следует вписать дополнительные radius-атрибуты по-одному на каждую строку.

Например
ERX-Service-Activate:1+= "pppoe_local(10m,10m,15m,15m)"
ERX-Primary-Dns = 8.8.8.8
В mysql необходимо выполнить
DROP FUNCTION strSplit;
CREATE FUNCTION strSplit(x MEDIUMTEXT, delim MEDIUMTEXT, pos int) RETURNS MEDIUMTEXT
RETURN 
    TRIM(BOTH '\r' FROM TRIM(
    REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos), LENGTH(SUBSTRING_INDEX(x, delim, pos - 1)) + 1), delim, '')
    ));
DROP PROCEDURE IF EXISTS `radreply`;
DELIMITER $$
CREATE PROCEDURE `radreply`(IN login VARCHAR(64))
BEGIN
  DECLARE usr_id INT;
  DECLARE usr_ip VARCHAR(15) DEFAULT NULL;
  DECLARE add_attr MEDIUMTEXT;
  DECLARE line MEDIUMTEXT;
  DECLARE i INT DEFAULT 1;

  SELECT id INTO usr_id FROM users WHERE name=login LIMIT 1;
  SELECT get_ip(usr_id) INTO usr_ip;
  SELECT radius_attr INTO add_attr FROM users_services
    WHERE uid=usr_id AND tags LIKE '%,inet,%' LIMIT 1;

  SELECT NULL,login,'Framed-IP-Address',usr_ip,'=';
  SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','=';
  SELECT NULL,login,'Framed-Protocol','PPP','=';

  attr_loop: WHILE TRUE DO
    SELECT strSplit(add_attr, '\n', i) INTO line;
    IF LENGTH(line) = 0 OR i > 20 THEN LEAVE attr_loop; END IF;
    IF line LIKE '%+=%' THEN
        SELECT NULL,login,strSplit(line, '+=', 1),strSplit(line, '+=', 2),'+=';
    ELSEIF line LIKE '%=%' THEN
        SELECT NULL,login,strSplit(line, '=', 1),strSplit(line, '=', 2),'=';
    END IF;
    SET i = i + 1;
  END WHILE;
END$$
DELIMITER ;
Проверяем в консоли mysql
call radreply('Test1');

Где Test1 логин абонента.