1762348825

This commit is contained in:
postscriptum 2025-11-05 15:20:25 +02:00
parent 8e9b26a791
commit 53a4300fab

View file

@ -1,18 +1,18 @@
# Встановлення та налаштування IRC-баунсера ZNC в Linux # Встановлення та налаштування IRC-баунсера ZNC в Linux
> IRC - це один з найстарших протоколів багатокористувацького чату, який досі живий і більше того - користується чималою популярністю в колах досвідчених користувачів, які з тих чи інших причин відмовляються від сучасних рішень типу Matrix, через неординарну зміну політики. > IRC - це один з найстарших протоколів багатокористувацького чату, який досі живий і більше того - користується чималою популярністю в колах досвідчених користувачів, які з тих чи інших причин відмовляються від сучасних рішень типу Matrix, через неординарну зміну політики централізованих компаній.
> >
> Протокол IRC особливо популярний в колах адміністраторів альтернативних мереж - зокрема Yggdrasil та I2P: при певних налаштуваннях, він дозволяє забезпечити високий рівень конфіденційності, а його частково розподілена природа дозволяє розгортати федерації. > Протокол IRC особливо популярний в колах адміністраторів альтернативних мереж - зокрема Yggdrasil та I2P: при певних налаштуваннях, йому властивий високий рівень конфіденційності, а частково розподілена екосистема дозволяє розгортати стійкі до цензури федерації.
> >
> Не дивлячись на свою оманливу простоту, IRC є доволі масивним комбайном зі старих і сучасних програмних рішень і чесно кажучи, я вивчаю користування цим засобом зв'язку вже не перший рік. Нижче - нотатка стосовно одного з таких кроків. > Не дивлячись на свою оманливу простоту, IRC є доволі масивним комбайном зі старих і сучасних програмних рішень і чесно кажучи, я вивчаю користування цим засобом зв'язку вже не перший рік. Нижче - нотатка стосовно одного з таких кроків.
Баунсер (англ. bouncer) - це спеціальний клієнт IRC, який запускається на сервері 24/7 з метою постійного перебування його онлайн та ретрансляції історії повідомлень локальному клієнтові, що підключається до нього замість прямого підключення до цільового сервера IRC. Такий собі спадковий костиль, адже для протоколу IRC не передбачається збереження історії чату і без баунсера потрібно десь окремо читати логи (якщо такі надаються сервером). Баунсер (англ. bouncer) - це спеціальний клієнт IRC, який запускається на сервері 24/7 з метою постійного перебування його онлайн та ретрансляції історії повідомлень локальному клієнтові, що підключається до нього замість прямого підключення до цільового сервера IRC. Такий собі спадковий костиль, адже для протоколу IRC не передбачається збереження історії чату і без баунсера потрібно десь окремо читати логи (якщо такі надаються сервером).
В деяких випадках, баунсер на стороні сервера може бути корисним в плані підключення до різних мереж, зокрема I2P, Yggdrasil та інших, якщо ваш клієнт не підтримує гнучкі налаштування проксі для кожного з каналів. В деяких випадках, баунсер на стороні сервера може бути корисним в плані підключення до різних мереж, зокрема I2P, Yggdrasil та інших, якщо ваш клієнт не підтримує гнучкі налаштування проксі для кожного з каналів, а на сервері є розгорнута для того інфраструктура.
## Встановлення ## Встановлення
Тут я не заморочувався та поставив ZNC з репозиторію командою: Тут я не заморочувався та поставив ZNC з репозиторію однією командою:
``` bash ``` bash
apt install znc apt install znc
@ -28,7 +28,7 @@ useradd -m znc
### Створення базової конфігурації ### Створення базової конфігурації
Перед запуском ZNC, від користувача znc, потрібно створити для нього конфігурацію: Перед запуском ZNC, від користувача znc, потрібно створити для нього файл конфігурації:
``` bash ``` bash
znc --makeconf znc --makeconf
@ -54,7 +54,7 @@ ufw delete allow from aaa.aaa.aaa.aaa to bbb.bbb.bbb.bbb port 888* proto tcp
### Сервіс systemd ### Сервіс systemd
В стандартному (для Armbian) сервісі я видалив аргумент запуску `--datadir` та змінив користувача на `znc`: В стандартному (Armbian) сервісі я видалив аргумент запуску `--datadir` та змінив користувача на `znc`:
``` /lib/systemd/system/znc.service ``` /lib/systemd/system/znc.service
[Unit] [Unit]
@ -105,7 +105,7 @@ WantedBy=multi-user.target
Послідовно заповнюємо форму: Послідовно заповнюємо форму:
* Network Info - назва каналу, свого роду ID, який буде використовуватись для підключення клієнта IRC до ZNC * Network Info - назва каналу, свого роду ID, який використовується для підключення клієнта IRC до ZNC
* Nick, AltNick, Ident, RealName, BindHost - інформація для цільових серверів IRC * Nick, AltNick, Ident, RealName, BindHost - інформація для цільових серверів IRC
* Servers of this IRC network - тут пишемо хост/порт потрібного нам сервісу: наприклад якщо це Libera, то вказуємо тільки її сервери * Servers of this IRC network - тут пишемо хост/порт потрібного нам сервісу: наприклад якщо це Libera, то вказуємо тільки її сервери
@ -125,7 +125,7 @@ WantedBy=multi-user.target
### Підключення ZNC до серверів IRC через проксі HTTP/SOCKS ### Підключення ZNC до серверів IRC через проксі HTTP/SOCKS
На користувачів Tor/I2P - тут чекає не приємний сюрприз: станом на зараз, готового рішення немає, хоча подібний запит було створено ще в далекому 2012 році: На користувачів Tor/I2P - тут чекає не приємний сюрприз: станом на зараз, рішення "з коробки" немає, хоча подібний запит було створено ще в далекому 2012 році:
=> https://github.com/znc/znc/issues/143 => https://github.com/znc/znc/issues/143
Для вирішення цієї проблеми, на офіційному сайті є інструкція на прикладі підключення Tor: Для вирішення цієї проблеми, на офіційному сайті є інструкція на прикладі підключення Tor: