Содержание статьи
Я думал было заканчивать серию, но вы продолжаете присылать мне утилиты, которые считаете незаслуженно забытыми на (веб-) страницах Хакера. Поэтому сегодняшняя подборка будет почти полностью состоять из присланных читателями инструментов, часть из которых я уже взял себе на вооружение. Думаю, и в твой чемоданчик что‑то найдется. Пошли смотреть!
Работа с файлами
Goful
Goful — это новенький двухпанельный файловый менеджер, написанный на Go. Он поддерживает многие полезные фичи вроде группового переименования с помощью регулярок и поиска. Есть встроенный терминал и многие другие полезности.
Управляется он немного непривычно, но удобно: вместо шоткатов из двух‑трех кнопок здесь положено нажимать всего по одной. Например:
- пробелом можно выбрать один или несколько файлов (как клики с зажатым Ctrl в графических средах);
-
\
перебрасывает в корневую директорию (немного неочевидно, потому что слеш тут обратный, а не прямой, как принято в никсах); -
i
— посмотреть файл в страничном просмотрщике; -
b
— добавить закладку на файл; -
f
/
— открыть поиск по файлам в текущей папке; -
K
— создать папку; -
d
— перейти по пути.
Само собой, это лишь малая часть команд. Полный список есть в README репозитория.
Установить Goful можно одним из двух способов. Первый — просто скачать и запустить бинарный релиз из репозитория на GitHub. Для второго понадобится установленный на твоей машине Go:
go install github.com/anmitsu/goful@latest
Goful и так выглядит неплохо, но можно его еще и кастомизировать: менять управление, цвета, интерпретатор встроенной командной строки, редакторы и просмотрщики. Конфигурационного файла нет, вместо этого предлагается править main.
, после чего переустановить командой go
.
Nnn
Nnn — это один из самых минималистичных консольных файловых менеджеров. Его главное преимущество — простота и нетребовательность, хотя последнее в мире домашних компьютеров с 32 Гбайт оперативки стало неактуально.
В Ubuntu ты можешь установить nnn прямо из репозитория:
sudo apt install nnn
Теперь когда угодно пиши nnn
, и можешь лететь по каталогам с ветерком! Встроенную справку в любой момент можно открыть, нажав знак вопроса.
Ncdu
Ncdu (NCurses Disk Usage) — это прокачанная версия du
, которая показывает занятое место в красивом псевдографическом интерфейсе.
С ncdu ты можешь не только смотреть, сколько занимают файлы в каком‑то каталоге, но и легко перемещаться между ними, а если решишь удалить что‑то ненужное, то достаточно будет нажать кнопку d. Естественно, по случайному нажатию программа ничего не удалит — в нее встроен новейший телепатический анализатор, который проверит твои намерения, запросив подтверждение.
Установка проста как два рубля:
sudo apt install ncdu
При запуске ncdu просканирует текущую папку и выдаст результаты. Путь для сканирования можно указать первым аргументом:
ncdu /
Утилита работает с впечатляющей скоростью, чем немало радует.
Diffoscope
Когда обычного diff
мало, может пригодиться diffoscope. Кроме текстовых файлов, эта штуковина умеет сравнивать папки, архивы, бинарники, ISO-образы, PDF-документы и кучу всего еще — поддерживается около 70 типов файлов. Полный список доступен в выводе diffoscope
.
Установка на Debian и Ubuntu делается одной командой:
sudo apt install diffoscope
Правда, при такой установке на чистую Ubuntu скачалось 1124 пакета суммарным объемом около полутора гигабайт, потому что в зависимостях есть Python, Java и X-сервер. Зачем это консольной утилите — неизвестно.
Есть версия для Docker:
docker run --rm -t -w $(pwd) -v $(pwd):$(pwd):ro registry.salsa.debian.org/reproducible-builds/diffoscope
А еще есть версия diffoscope для браузера — try.diffoscope.org (на скриншоте именно она).
Eget
Eget — это классная утилита, с помощью которой можно устанавливать софт из репозиториев GitHub, где авторы разместили релизы с бинарниками.
Если бы eget можно было установить с помощью eget, то достаточно было бы написать
eget zyedidia/eget
Если же eget у тебя еще нет, придется воспользоваться готовым релизом или скриптом‑установщиком:
curl https://zyedidia.github.io/eget.sh | sh
Сеть
Wireproxy
Если тебе нужно использовать Wireguard, но по каким‑то причинам не хочется поднимать полноценный клиент, обрати внимание на wireproxy. Он подключается к пиру по протоколу Wireguard, но не создает новый сетевой интерфейс, а поднимает SOCKS5-прокси, который ты можешь указывать в своих программах.
Установка сводится к трем строчкам в терминале:
git clone https://github.com/octeep/wireproxy
cd wireproxy
go build ./cmd/wireproxy
Если же у тебя нет Go — не беда, просто скачай собранный релиз.
Запуск требует всего одного параметра:
./wireproxy -c <config file>
Конфиг — стандартный для Wireguard, но в него нужно добавить две секции (комментарии оставил для ясности):
# TCPServerTunnel is a tunnel listening on wireguard,# and it forwards any TCP traffic received to the specified target via local network.# Flow:# <an app on your wireguard network> --(wireguard)--> 172.16.31.2:3422 --> localhost:25545[TCPServerTunnel]ListenPort = 3422Target = localhost:25545# SOCKS5 creates a SOCKS5 proxy on your LAN, and all traffic would be routed via wireguard.[Socks5]BindAddress = 127.0.0.1:25344# SOCKS5 authentication parameters, specifying username and password enables# proxy authentication.#Username = ...# Avoid using spaces in the password field#Password = ...
Более подробно про wireproxy читай в репозитории проекта.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»