add privoxy usage example

This commit is contained in:
postscriptum 2026-02-03 01:38:05 +02:00
parent d0e4f6b626
commit 4de4bb63d5

View file

@ -127,15 +127,15 @@ WantedBy=multi-user.target
### Підключення ZNC до серверів IRC через проксі HTTP/SOCKS
На користувачів Tor/I2P - тут чекає не приємний сюрприз: станом на зараз, рішення "з коробки" немає, хоча подібний [запит](https://github.com/znc/znc/issues/143) було створено ще в далекому 2012 році.
Користувачів Tor/I2P - тут чекає не приємний сюрприз: станом на зараз, рішення "з коробки" немає, хоча подібний [запит](https://github.com/znc/znc/issues/143) було створено ще в далекому 2012 році.
Для вирішення цієї проблеми, на офіційному сайті є [інструкція на прикладі проксування через Tor](https://wiki.znc.in/Tor#.onion_Resolution). Особисто для себе - обрав спосіб з proxychains:
Для вирішення цієї проблеми, на офіційному сайті є [інструкція на прикладі проксування через Tor](https://wiki.znc.in/Tor#.onion_Resolution). Особисто для себе, обрав спосіб з proxychains:
``` bash
apt install proxychains4
```
Я користуюсь IRC-каналами I2P та Yggdrasil, в стандартному файлі конфігурації `/etc/proxychains4.conf`, вказав тільки два рядка:
Я читаю IRC-канали I2P та Yggdrasil, в стандартному файлі конфігурації `/etc/proxychains4.conf`, вказав тільки два рядки:
``` /etc/proxychains4.conf
# ігнорувати проксі для IRC-серверів Yggdrasil
@ -158,7 +158,32 @@ ExecStart=/usr/bin/proxychains /usr/bin/znc -f
* `systemctl daemon-reload` - застосовуємо оновлення конфігурації systemd
* `systemctl restart znc` - перезапускаємо баунсер ZNC
В інших випадках, конфігурація залежатиме від конкретних серверів IRC та їх мереж.
Щоб одночасно користуватись декількома проксі (наприклад, I2P і Tor) ланцюжків `proxychains` не достатньо. Я пробував вказувати послідовність через опцію `dynamic_chain` але схоже, вона працює не так як я це інтуїтивно розумію. Колись, не розібравшись, взагалі [поставив окремий баунсер soju](https://devzone.org.ua/post/vstanovlennia-ta-bazove-nalashtuvannia-irc-baunsera-soju), але в ньому є аналогічна проблема з підтримкою проксі з коробки і якщо анонімних мереж більше двох, то піднімати по баунсеру на кожну - вже нагадує цирк і марнотратство ресурсів сервера.
Згодом, проблему динамічної маршрутизації підмереж я вирішив додаванням до `proxychains` ще одного, маршрутного сервера на базі `privoxy`:
``` bash
apt install privoxy
```
В конфігурації `privoxy` нічого не змінював, лише додав в кінець файлу два рядки:
``` /etc/privoxy/config
forward .i2p 127.0.0.1:4444
forward-socks5t .onion 127.0.0.1:9150 .
```
* послідовність правил `forward` тут важлива: якщо спробувати (як радить ШІ) додати на початок або в кінець ланцюга `forward / .` - тоді щонайменше у версії privoxy `4.0.0-2` ця опція перехопить на себе взагалі усі запити в пріоритеті, а без неї все працює: не релевантний домену трафік піде напряму (в моєму випадку - на Yggdrasil, коли у вас це може бути Інтернет)
* у разі будь разі будь яких проблем з підключенням, у тому ж файлі конфігурації, зверніть увагу на опцію `debug`, зокрема коди `4096` і `128` (файл журналів стандартно знаходиться в `/var/log/privoxy/logfile`)
* порт `9150` - стандартний для роутера [Arti](https://devzone.org.ua/post/vstanovlennia-onion-routera-arti-z-pidkliuchenniam-do-merezi-tor-cherez-yggdrasil), не переплутайте з класичним `9050`
Після цього, у файлі `/etc/proxychains4.conf` замість проксі в прикладі, вказуємо:
``` /etc/proxychains4.conf
[ProxyList]
http 127.0.0.1 8118
```
* важливо вказати саме `http` бо сервер `privoxy` працює саме на цьому протоколі
* порт і хост на прикладі - стандартні (як і `::1`)
## Підключення клієнтів IRC до ZNC