Нативні модулі (для розробників)
Для звичайного використання модулі не потрібні. Цей посібник призначений для розробників і адм іністраторів, які хочуть розширити функції служби Windows або Linux за допомогою нативних бібліотек. Модулі виконуються всередині служби з її правами. Установлюйте лише довірений код; власником файлів модулів, залежностей і налаштувань має залишатися адміністратор.
Завантаження модуля
Служба читає файли *.conf із каталогу modules.d поруч із файлом налаштувань. Стандартні розташування:
| Операційна система | Каталог налаштувань модулів | Формат бібліотеки |
|---|---|---|
| Linux | /etc/mudfish-dns/modules.d/ | .so |
| Windows | %ProgramData%\Mudfish DNS\modules.d\ | .dll |
У кожному файлі вказуйте по одному абсолютному шляху до бібліотеки на рядок. Наприклад, вміст /etc/mudfish-dns/modules.d/10-policy.conf:
/usr/lib/mudfish-dns/modules/policy.so
Файли читаються в порядку імен, а рядки всередині — послідовно. Порожні рядки та рядки, що починаються з #, ігноруються. Не беріть шляхи в лапки й не використовуйте змінні середовища або коментарі наприкінці рядка: вони не інтерпретуються. У Windows також указуйте повний абсолютний шлях, навіть якщо він містить пробіли.
Після додавання, зміни або видалення модуля перезапустіть службу. У Linux використовуйте:
sudo systemctl restart mudfish-dns.service
У Windows перезапустіть службу Mudfish DNS через керування службами. Кнопки Запустити DNS, Зупинити DNS та Застосувати налаштування не перезавантажують модулі. Якщо файл налаштувань неможливо прочитати, шлях неправильний або сталася помилка завантаження чи ініціалізації, служба не запуститься. Відсутній або порожній каталог модулів допустимий.
Під час розробки можна кілька разів указати аргумент --module, щоб завантажувати бібліотеки в порядку аргументів. Це замінює автоматичне завантаження з modules.d. --config FILE також змінює розташування каталогу модулів поруч із файлом налаштувань. --restore-dns виконує відновлення без завантаження модулів.