From f1dfa0988359aa6dfe9e2d8830f8a6f8e870098d Mon Sep 17 00:00:00 2001 From: postscriptum Date: Mon, 2 Feb 2026 10:19:14 +0200 Subject: [PATCH] add localhost config example, minor corrections --- ...chenniam-do-merezi-tor-cherez-yggdrasil.md | 62 +++++++++++++++---- 1 file changed, 51 insertions(+), 11 deletions(-) diff --git a/post/vstanovlennia-onion-routera-arti-z-pidkliuchenniam-do-merezi-tor-cherez-yggdrasil.md b/post/vstanovlennia-onion-routera-arti-z-pidkliuchenniam-do-merezi-tor-cherez-yggdrasil.md index 4c93701..cb50d90 100644 --- a/post/vstanovlennia-onion-routera-arti-z-pidkliuchenniam-do-merezi-tor-cherez-yggdrasil.md +++ b/post/vstanovlennia-onion-routera-arti-z-pidkliuchenniam-do-merezi-tor-cherez-yggdrasil.md @@ -116,17 +116,53 @@ ufw allow from a.a.a.a to b.b.b.b port 9150 proto tcp * `a.a.a.a` - хост клієнта * `b.b.b.b` - хост сервера -## Системний сервіс - -Сервіс systemd я пускаю від окремого користувача, до теки якого складатиму журнали і файл конфігурації: +Для подальшого запуску з systemd, користувача створив наступним чином: ``` bash sudo useradd -m arti ``` +* тобто, з домашньою текою, де роутер зберігатиме дані сесії за замочуванням - використовуючи змінні оточення `${ARTI_CACHE}` і `${ARTI_LOCAL_DATA}` -Приклад конфігурації для Debian є [в репозиторії](https://gitlab.torproject.org/tpo/core/arti/-/blob/main/debian/systemd/arti.service), але в мене вона інша: +### Локальний хост +Я довго думав, яким чином організувати багато-користувацький простір, щоб не конфліктували між собою сесії при запуску через системний сервіс. Взагалі, роутер розрахований на запуск від поточного системного користувача з подальшим зберіганням даних сесії в його домашній теці. Утім, я хочу обмежити доступ цього експериментального софту до моїх персональних даних в робочому середовищі. + +Можливо, це не правильно, але оскільки сервіс один, я організував профіль роутера наступним чином: + +``` bash +useradd -s /usr/sbin/nologin -Mr arti ``` +* створюється прихований системний користувач `arti` без домашньої теки + +Тепер знадобляться дві нові теки: + +``` bash +sudo mkdir /var/lib/arti +sudo mkdir /var/log/arti +``` + +На які потрібно дати права: + +``` bash +sudo chown arti:arti -R /var/lib/arti +sudo chown arti:arti -R /var/log/arti +``` + +У файлі конфігурації, вказуємо: + +``` config.toml +[storage] +state_dir = "/var/lib/arti/state" +cache_dir = "/var/lib/arti/cache" +port_info_file = "/var/lib/arti/public/port_info.json" +``` +* варто звернути увагу на всі змінні оточення (які починаються на `$`) але мені вистачило перевизначення тільки вказаних + +### Системний сервіс + +Приклад конфігурації для Debian є в [репозиторії](https://gitlab.torproject.org/tpo/core/arti/-/blob/main/debian/systemd/arti.service): + +``` /etc/systemd/system/arti.service [Unit] Description=System Tor Service (Arti) After=network.target @@ -138,7 +174,7 @@ Type=simple User=arti Group=arti -ExecStart=/usr/local/bin/arti --config /home/arti/config.toml -l warn proxy +ExecStart=/usr/local/bin/arti --config /path/to/config.toml -l warn proxy ExecReload=/bin/kill -HUP ${MAINPID} KillSignal=SIGINT @@ -151,14 +187,18 @@ ProtectHome=yes ProtectSystem=full CapabilityBoundingSet=CAP_NET_BIND_SERVICE -StandardOutput=file:///home/arti/debug.log -StandardError=file:///home/arti/error.log +# StandardOutput=file:///path/to/debug.log +# StandardError=file:///path/to/error.log [Install] WantedBy=multi-user.target ``` -* `systemctl restart arti` - (пере)запустити сервер: -* `systemctl enable arti` - авто-запуск при старті системи +* вказати актуальний шлях `/path/to/config.toml` - це може бути домашня тека або простір `/etc` + +Керування: + +* `sudo systemctl restart arti` - (пере)запустити сервер: +* `sudo systemctl enable arti` - авто-запуск при старті системи * `systemctl status arti` - перевірити статус служби ## Підключення клієнтських застосунків @@ -207,7 +247,7 @@ curl --socks5-hostname 127.0.0.1:9150 -I http://acetonemadzhxzi2e5tomavam6xpucdf ### Контроль витоків трафіку -Реалізації журналів я не довіряю і додатково перевіряю трафік графічною утилітою Etherape: +Реалізації журналів я не довіряю і додатково перевіряю трафік графічною утилітою [Etherape](https://etherape.sourceforge.io): ``` bash apt install etherape @@ -226,7 +266,7 @@ sudo etherape Тому я вирішив проблему скидання кешу видаленням директорії профілю: ``` bash -rm -rf ~/.local/share/arti +rm -rf /home/arti/.local/share/arti ``` * у вас цей шлях може різнитися, в залежності від способу запуску роутера