Shellfirm: ваш персональный защитник в терминале

15 May, 2026
920
🔱 33
👥 3

Кто не знает этой боли?

Представьте: вы устали после долгого дня, автоматически набираете rm -rf * в неправильной директории... и через секунду понимаете, что только что удалили неделю работы. Или случайно делаете git reset --hard перед сохранением важных изменений. Знакомо? Именно для таких ситуаций создан Shellfirm.

Что это за проект?

Shellfirm — это утилита, которая выступает в роли «капчи» для опасных команд в терминале. Написана на Rust, работает в фоновом режиме и перехватывает потенциально опасные действия, заставляя вас подтвердить их выполнение через простую проверку (например, решить 8 + 0).

Топ-5 причин установить Shellfirm сегодня

  1. Защита от rm -rf — перехватывает команды удаления с ключами -rf и просит подтверждения
  2. Контроль над git reset --hard — спасает от случайной потери незакоммиченных изменений
  3. Блокировка опасных kubectl команд — например, delete ns не сработает без подтверждения
  4. Настраиваемые правила — можно добавить свои «опасные» шаблоны команд
  5. Кросс-шелловая поддержка — работает в bash, zsh (включая Oh My Zsh)

Как это работает технически?

Shellfirm использует pre-exec хуки в shell (для bash — через интеграцию с bash-preexec, для zsh — нативный механизм). Когда вы вводите команду:

  1. Shellfirm проверяет её по списку опасных шаблонов
  2. При совпадении показывает предупреждение и простую задачку
  3. Только после правильного ответа команда выполняется

Практические кейсы

  • Разработчики — защита от случайного rm в рабочих проектах
  • DevOps — предотвращение аварийных ситуаций с kubectl
  • Администраторы — страховка при массовых операциях с файлами
  • Все, кто работает в терминале — дополнительный «тормоз» перед необратимыми действиями

Как установить?

Для пользователей macOS проще всего через Homebrew:

Реклама
brew tap kaplanelad/tap && brew install shellfirm

Или скачать бинарный файл из релизов. Для интеграции с:

Oh My Zsh

curl https://raw.githubusercontent.com/kaplanelad/shellfirm/main/shell-plugins/shellfirm.plugin.oh-my-zsh.zsh --create-dirs -o ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/shellfirm/shellfirm.plugin.zsh

Затем добавить shellfirm в список плагинов в ~/.zshrc.

Bash

Требуется предварительная установка bash-preexec.

Вывод: кому это нужно?

Shellfirm — must-have для:

  • Рассеянных разработчиков
  • Тех, кто работает с критически важными данными
  • Команд, где несколько человек имеют доступ к терминалу

Проект с открытым исходным кодом, написан на Rust (значит, работает быстро), и что важно — уже спас немало нервных клеток у 869+ пользователей (по количеству звезд на GitHub).

После установки проверьте работу командой:

mkdir /tmp/shellfirm
cd /tmp/shellfirm
git reset --hard

И увидите магию защиты в действии!

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.