
Терминальный менеджер заметок с иерархическим тегированием и привязкой файлов
| 🇬🇧 Inglese | 🇮🇹 Italiano |
|---|

NotaMy — это иерархический менеджер технических заметок, работающий в терминале и созданный для снижения ментальных затрат на переключение контекста при выполнении долгосрочных задач анализа (pentesting, реверс-инжиниринг, wargames).
Когда я начал заниматься пентeстингом и анализом бинарных файлов, я быстро осознал одну вещь:
Проблема не в том, чтобы делать заметки, — проблема в том, чтобы управлять ими с течением времени.
Анализ может длиться дни или месяцы. За это время накапливаются адреса памяти, результаты тестов, дизассемблированные данные, подозрительное поведение, неудачные попытки, идеи, которые нужно проверить — и всё это часто оказывается разбросанным по файлам и папкам.
Результат? Путаница. Постоянный поиск информации по разрозненным файлам прерывает поток мыслей и замедляет исследование.
NotaMy был создан, чтобы устранить это трение: снизить стоимость переключения контекста, сохранив при этом доступ ко всей информации из командной строки, организованной и доступной для поиска.
NotaMy — это не текстовый редактор. Это не система Markdown. Это не графическое приложение.
Это минимальная система, работающая в терминале, предназначенная для организации технических знаний в файлы заметок (контексты) и иерархические древовидные структуры узлов/тегов.
Каждый файл заметок представляет собой проект или исследование. Переключение файлов означает смену ментального пространства.
Пример:
ntm view file

Вы можете переключить контекст с помощью:
ntm setting 2
Заметки организованы в виде узлов в дереве. Каждый узел может содержать:
Вы можете хранить стикер или целую книгу. Всё в одном месте.
Пример:
ntm view note

# означает, что заметка содержит раскрываемый текст.
Вы можете развернуть каждый узел для просмотра его содержимого:
ntm view note -b

ntm add note -t "TAG" -c "Краткий комментарий"
ntm add note -t "TAG" -c "Комментарий" -b
Открывается редактор, я сохраняю и выхожу, и текст вставляется в заметку.
NotaMy создан для тех, кто:
Вероятно, это не для вас, если:
NotaMy минимален и сфокусирован.
NotaMy родился из личной потребности:
Снизить ментальные затраты на переключение контекста.
Заметки — не проблема. Проблема — сложность.
В 2020 году я начал с базовой версии под названием «Note Management»: простой структурированный текст. Это уже было полезно. Затем появились MemoKeeper и MemoKeeperX с отдельными файлами и тегами. Со временем это стало частью моего ежедневного рабочего процесса: pentesting, учёба, идеи и небольшие проекты.
NotaMy — это зрелая версия этого рабочего процесса: минимальная, надёжная и адаптированная к тому, как я работаю.
Хотите узнать, почему и как родился NotaMy? Прочитайте PHILOSOPHY проекта.
git clone https://github.com/IMprojtech/NotaMy.git
cd NotaMy
make
./bin/ntm
NotaMy в ваш PATHПосле компиляции ntm вы можете захотеть запускать его откуда угодно, не вводя полный путь. Вот распространённый подход:
sudo cp ./bin/ntm /usr/local/bin/
sudo cp ./bin/ntm_nc /usr/local/bin/
Или, если вы предпочитаете локальную установку (без sudo):
mkdir -p "$HOME/.local/bin"
cp ./bin/ntm "$HOME/.local/bin/"
cp ./bin/ntm_nc "$HOME/.local/bin/"
Убедитесь, что этот каталог находится в вашем PATH. Большинство дистрибутивов Linux включают /usr/local/bin по умолчанию. Если вы использовали ~/.local/bin, убедитесь, что ваш файл инициализации оболочки добавляет его в PATH. Например, в ~/.bashrc или ~/.zshrc:
# Добавьте это, если ещё не присутствует:
export PATH="$HOME/.local/bin:$PATH"
В качестве альтернативы вы можете напрямую добавить каталог bin в файл инициализации оболочки:
export PATH="$HOME/path/to/NotaMy/bin:$PATH"
NotaMy предоставляет необязательную обёртку для Zsh, которая улучшает пользовательский опыт без изменения основной программы на C.
Обёртка добавляет:
ntm с улучшенной обработкой выводаbatfview для интерактивного просмотра заметок (fzf + bat)nocolor для удаления escape-последовательностей ANSIОбёртка позволяет временно переключить активный файл, указав его номер перед командой:
ntm 1 view note
Добавьте файл плагина в ваш ~/.zshrc:
source /path/to/NotaMy/shell/zsh/notamy.plugin.zsh
Затем перезагрузите оболочку:
source ~/.zshrc
⚠️ Интеграция с Zsh полностью необязательна. Основное приложение на C работает независимо.
Полное руководство пользователя доступно с инструкциями по установке, примерами использования и всеми поддерживаемыми командами:
📄 Читать руководство по NotaMy
Эта программа распространяется на условиях Стандартной общественной лицензии GNU (GPL), что обеспечивает свободу распространения и модификации программного обеспечения в соответствии со стандартами свободного программного обеспечения.
Автор: Catoni Mirko (IMprojtech)