Управление Tor с помощью Nyx

Управляем Tor из консоли с помощью Nyx

Кро­ме того, что сер­вис Tor мож­но запус­кать, оста­нав­ли­вать, пере­за­пус­кать, смот­реть ста­тус и т.д. из кон­со­ли Linux с помо­щью systemctl, с ним мож­но про­де­лы­вать ещё неко­то­рые полез­ные опе­ра­ции, такие как:

  • ини­ци­и­ро­ва­ние «созда­ния новой лич­но­сти»;
  • про­смотр гра­фи­ка входящего/исходящего тра­фи­ка;
  • про­смотр уста­нов­лен­ных под­клю­че­ний;
  • интер­ак­тив­ная прав­ка кон­фи­га torrc с выво­дом подроб­ной помо­щи по каж­дой опции;
  • про­смотр лога рабо­ты с воз­мож­но­стью уста­нов­ки филь­тров на отоб­ра­же­ние.

Это дале­ко не весь спи­сок функ­ций, кото­рые предо­став­ля­ет кон­соль­ная ути­ли­та для управ­ле­ния Tor под назва­ни­ем Nyx.

Установка Nyx

На офи­ци­аль­ном сай­те Tor есть инструк­ция по уста­нов­ке nyx для раз­ных дис­три­бу­ти­вов Linux. Рас­смот­рим самые попу­ляр­ные вари­ан­ты.

Debian GNU/Linux, Ubuntu, Kubuntu, Xubuntu, Linux Mint

Для Debian и сото­ва­ри­щи вро­де Ubutnu под­го­тов­лен пакет в офи­ци­аль­ном репо­зи­то­рии дис­три­бу­ти­ва. Уста­нав­ли­ва­ет­ся коман­дой в кон­со­ли:

sudo apt install nyx

Arch Linux, Manjaro

В офи­ци­аль­ном репо­зи­то­рии паке­тов Arch Linux и Manjaro так же есть гото­вый пакет, уста­нав­ли­ва­ет­ся стан­дарт­но:

sudo pacman -S nyx

Другие варианты

Так как nyx напи­сан на Python, его мож­но уста­но­вить мене­дже­ром python-паке­тов pip. Для это­го вна­ча­ле уста­на­нав­ли­ва­ем в систе­му пакет python-setuptools, затем с помо­щью него уста­нав­ли­ва­ем pip:

sudo easy_install pip

после чего ста­вим сам Nyx:

sudo pip install nyx

Настройка Tor для возможности управления из Nyx

Для без­опас­но­го под­клю­че­ния к кон­троль­но­му пор­ту Tor, закро­ем к нему доступ с помо­щью паро­ля. Для нача­ла нуж­но полу­чить строч­ку с хешем паро­ля. Выпол­ня­ем в кон­со­ли:

tor --hash-password SUPER_STRONG_PASSWORD

Строч­ку «SUPER_STRONG_PASSWORD» нуж­но заме­нить на соб­ствен­ный надёж­ный пароль. В ответ полу­ча­ем что-то вро­де:

16:9DCFFCC33B0E468D607F0D304A842F02458A4C95B20AC8D4F7C406E307

В кон­фи­гу­ра­ци­он­ном фай­ле /etc/tor/torrc нуж­но най­ти и рас­ком­мен­ти­ро­вать стро­ку кон­фи­гу­ра­ции, отве­ча­ю­щую за вклю­че­ние воз­мож­но­сти управ­лять Tor с помо­щью кон­троль­но­го пор­та:

ControlPort 9051

Далее рас­ком­мен­ти­ру­ем стро­ку, кото­рая вклю­ча­ет защи­ту досту­па к кон­троль­но­му пор­ту Tor с помо­щью паро­ля:

HashedControlPassword [...]

В дан­ной стро­ке нуж­но заме­нить зна­че­ние с хешем паро­ля по умол­ча­нию на своё, сге­не­ри­ро­ван­ное шагом ранее коман­дой tor –hash-password. В моём при­ме­ре полу­чит­ся:

HashedControlPassword 16:9DCFFCC33B0E468D607F0D304A842F02458A4C95B20AC8D4F7C406E307

Вы меня­е­те зна­че­ние на своё. Пере­за­пус­ка­ем Tor.

sudo systemctl restart tor.service

Настройка Nyx

Кон­фи­гу­ра­ци­он­ный файл отдель­но для каж­до­го поль­зо­ва­те­ля нахо­дит­ся в ката­ло­ге

~/.nyx/config

Откры­ва­ем его для редак­ти­ро­ва­ния любым тек­сто­вым редак­то­ром и встав­ля­ем стро­ку:

password SUPER_STRONG_PASSWORD

Где зна­че­ние «SUPER_STRONG_PASSWORD» – заме­ня­ем на пароль, хеш кото­ро­го гене­ри­ро­ва­ли коман­дой tor –hash-password на преды­ду­щем эта­пе. Сохра­ня­ем и закры­ва­ем файл.

Если захо­те­лось настро­ить Nyx «под себя», вот при­мер кон­фи­гу­ра­ци­он­но­го фай­ла с ком­мен­та­ри­я­ми:

https://nyx.torproject.org/nyxrc.sample

Запуск и использование

Запус­ка­ет­ся nyx соот­вет­ству­ю­щей коман­дой в кон­со­ли от теку­ще­го поль­зо­ва­те­ля:

nyx

После запус­ка поль­зо­ва­те­лю сра­зу отоб­ра­жа­ет­ся гра­фик приёма/передачи дан­ных и лог Tor.

Окно Konsole с запущенным Nyx
При­мер рабо­ты Nyx

Кла­ви­шей «m» вызы­ва­ет­ся меню ути­ли­ты, с помо­щью кото­рой мож­но управ­лять её рабо­той: созда­вать новую лич­ность, пере­клю­чать отоб­ра­же­ние инфор­ма­ции, пра­вить кон­фиг и т.д. По нажа­тию кла­ви­ши «h» выво­дит­ся справ­ка.