Все статьи

Необычные утилиты Linux: Portmaster, EWW, Tabiew и другие

Необычные утилиты Linux: Portmaster, EWW, Tabiew и другие

Один из частых вопросов под моими роликами про Obsidian звучал так: «А что, если в очередном обновлении приложение начнёт отправлять твои заметки на сервер?» Риск действительно есть у любой программы, которая сама скачивает обновления и плагины. Мой ответ — не доверие разработчику, а контроль: приложение без доступа в интернет просто не сможет ничего отправить.

С этого начинается подборка необычных утилит Linux, которые дают больше контроля над системой, ускоряют работу с файлами и данными и делают окружение удобнее. Почти все из них работают и на macOS, а часть — на Windows.

Portmaster: файрвол для каждого приложения

Portmaster — открытый сетевой экран с интерфейсом, который работает на Linux и Windows. Слева список приложений, которые выходили в сеть, справа — их соединения: куда, когда, разрешено или заблокировано. Для каждой программы можно задать свои правила или одной кнопкой запретить ей интернет целиком.

Как это решает мой вопрос про Obsidian. Obsidian построен на Electron, и в списке Portmaster он виден как отдельное приложение. Я нажимаю «Block Connection» — и Obsidian теряет доступ в сеть. Проверка: захожу в каталог плагинов, пытаюсь установить плагин — ничего не грузится. Значит, и неожиданное обновление не прилетит. Сняли блокировку — всё снова работает.

Кому ещё я бы отрезал интернет:

  • менеджеру паролей вроде KeePassXC — ему не нужна сеть для работы с локальной базой;
  • офисному пакету: если открыть документ с вредоносным макросом, он не сможет скачать полезную нагрузку или отправить данные;
  • программам учёта финансов и другим локальным приложениям;
  • LM Studio и подобным инструментам после загрузки модели, если нужна гарантия, что запросы никуда не уходят.

Ещё в Portmaster можно блокировать отдельные домены и включить защищённый DNS для всей системы. Я эту опцию не использую: DNS у меня настроен на роутере с OpenWrt, и локальная настройка перехватила бы запросы раньше. Если включаете свой DNS, потом обязательно проверьте на сайте вроде dnsleaktest.com, какой сервер реально отвечает.

BlobDrop и mat2: перетаскивание файлов из терминала

BlobDrop открывает маленькое окно с файлом, который можно перетащить мышью в браузер, мессенджер или любое другое приложение:

blobdrop screenshot.png

Сам по себе он похож на grep: в одиночку мало что делает, но отлично встраивается в цепочки команд. Мой пример — отправка картинок без метаданных. Сначала mat2 удаляет метаданные (камера, геопозиция, программа), затем BlobDrop отдаёт чистый файл на перетаскивание:

mat2 photo.jpg && blobdrop photo.cleaned.jpg

Я повесил это на пользовательское действие в файловом менеджере Thunar: правый клик по изображению → «Очистить и перетащить». То же самое можно сделать алиасом или горячей клавишей.

EWW: панели и виджеты любой сложности

EWW (ElKowar's Wacky Widgets) — система виджетов на Rust. Это не готовая панель вроде Waybar или Polybar, а конструктор: вы описываете панели, всплывающие меню, календари, плееры и регуляторы в собственном конфиге, а данные берёте из любых скриптов на Bash или Python.

На скриншотах сообщества встречаются вертикальные панели с папками, батареей и Wi-Fi, меню с числом писем и аптаймом, плееры с визуализацией спектра. Порог входа выше, чем у Waybar, но и возможностей больше. Если настраивать с нуля не хочется, можно начать с чужих готовых конфигов и постепенно переделать их под себя. Сам я пока остаюсь на Polybar, но EWW — следующий кандидат.

SpeedRead: быстрое чтение простого текста

SpeedRead показывает текст по одному слову в фиксированной точке экрана — глазам не нужно бегать по строкам:

cat note.md | ./speedread -w 250

По умолчанию скорость 250 слов в минуту, во время чтения её меняют клавишами [ и ], пауза — пробел. Даже на очень высоких скоростях лёгкий текст читается, но понимание падает — это хорошо известное ограничение такого способа. Поэтому я использую его для простых вещей: повторить свои заметки, пробежать лёгкую книгу. Техническую литературу так читать не стоит.

Tartarus Startpage: своя стартовая страница браузера

Tartarus Startpage заменяет домашнюю страницу Firefox или Chromium на собственную панель: ссылки с иконками и цветами, горячие клавиши для каждого сайта, поиск, несколько «рабочих столов» с разными наборами ссылок, время и погода. Всё описывается в конфиге, поэтому одну и ту же страницу легко перенести на любую систему.

downloader-cli: красивые загрузки из терминала

downloader-cli — простой загрузчик с понятным прогресс-баром. Ставится из PyPI или AUR, команда — dw:

pip install downloader-cli
dw https://example.com/archive.tar.gz ~/Downloads/

Его можно использовать и из кода:

from downloader_cli.download import Download

Download("https://example.com/archive.tar.gz").download()

В проекте всего несколько файлов, поэтому он хорош как учебная основа: например, переписать его на Rust и упаковать для разных дистрибутивов.

Hellwal: палитра терминала под обои

Многие используют pywal: он берёт доминирующие цвета обоев и применяет их к терминалу и другим программам. Но репозиторий pywal давно в архиве. Быстрая альтернатива на C — Hellwal:

hellwal -i ~/images/wallpaper.png
hellwal -i ~/images --random     # случайные обои из папки

Палитра записывается в ~/.cache/hellwal/ по шаблонам, а флаг --script позволяет выполнить свою команду после генерации — например, перезагрузить панель. Я добавил вызов Hellwal в свой скрипт смены обоев на Win+W.

GGH и Tabiew: SSH и таблицы в терминале

GGH — лёгкая обёртка над SSH. Команда ggh показывает интерактивный список прошлых подключений, а ggh - — список хостов из ~/.ssh/config с поиском. SSH при этом не заменяется, просто перестаёшь вспоминать адреса и порты.

Tabiew открывает табличные данные прямо в терминале: CSV, TSV, JSON, Parquet, Excel, SQLite и другие форматы. Есть навигация в стиле Vim и SQL-запросы к открытому файлу:

sudo pacman -S tabiew
tw data.csv

Для быстрого взгляда на выгрузку или вложенный JSON это удобнее, чем открывать офисный пакет.

Только для красоты: tty-clock и terminal-rain

Две утилиты, которые часто ищут по скриншотам с Reddit: tty-clock рисует крупные часы в терминале (tty-clock -c — по центру), а terminal-rain-lightning — анимацию дождя с молниями. Пользы для продуктивности ноль, но для скриншотов оболочки — самое то.

Что из этого поставить первым

Задача Инструмент
Запретить приложению интернет Portmaster
Отправлять файлы из терминала мышью BlobDrop + mat2
Своя панель и виджеты EWW
Палитра под обои Hellwal
Быстрый доступ к серверам GGH
Просмотр CSV и JSON Tabiew

Если вы храните заметки в Obsidian, начните с Portmaster: о том, как устроена моя система заметок, я писал в статье Obsidian после трёх лет. Для остального окружения пригодятся 10 полезных программ для Linux и разбор мониторинга Linux.

Источники