Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Samuraizer — NotebookLM на стероидах — создан специально для исследователей безопасности. | Kitploit
Инструменты/GitHubGitHub/zomry1/samuraizer
OSINT (Разведка открытых источников)Сбор информацииУтилиты и фреймворкиРазведка угрозМашинное ОбучениеОбучение и ОбразованиеКраулерПодобранные Ресурсы
GitHubzomry1/samuraizer

Samuraizer

NotebookLM на стероидах — создан специально для исследователей безопасности.

Репозиторий
2945 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Samuraizer

Samuraizer — Движок базы знаний по кибербезопасности

NotebookLM на стероидах — создан специально для исследователей безопасности.

Self-hosted Built For
License Python React GitHub last commit

💡 Зачем нужен Samuraizer?

Каждый исследователь безопасности знает это чувство — вы находите интересный GitHub-репозиторий, свежий разбор CVE, пост в блоге о новой технике эксплуатации. Вы пересылаете его себе в WhatsApp. Он сразу же теряется в чате. Через несколько недель вам действительно нужна эта статья — и её нет.

Перестаньте отправлять себе ссылки, которые вы никогда больше не найдёте — отправьте их в Samuraizer один раз, и они будут резюмированы, помечены тегами и останутся доступными для поиска навсегда.

До 😵После 🗡️

Разрозненные ссылки, тонущие в истории чата

🔐 Локальная конфиденциальность (только локальный режим)

🎯 Режим повышенной приватности (только локально) — запуск с ollama, все данные остаются на вашем устройстве.

  • 🗄️ Локальное векторное хранилище в samuraizer.db + локальные AI-эмбеддинги через Ollama.
  • ⚡ Полностью работает офлайн после загрузки моделей (ollama pull qwen3:4b, ollama pull qwen3-embedding:8b).
  • ✅ Отлично подходит для команд безопасности и исследователей, которым требуются изолированные/автономные конфигурации.

🧩 Что вы получаете (краткий обзор)

🔍 Анализ — вставьте URL, наблюдайте за потоком результатов

  • 📝 Вставьте один или несколько URL (GitHub-репозитории, разборы CVE, посты в блогах, видео YouTube) — результаты поступают в реальном времени
  • 📄 Загружайте файлы прямо из браузера или Telegram — полный текст извлекается, анализируется, сохраняется и отображается в интерфейсе
    • поддерживаемые форматы: .pdf, .docx, .pptx, .txt, .md
  • 🗞️ Сканер блогов: вставьте главную страницу блога и извлеките все ссылки на статьи для пакетного анализа одним кликом
  • ✨ Рекомендованное к прочтению: на вкладке «Анализ» каждый сеанс отображается непрочитанная запись, чтобы вы не забывали о своей очереди

🗂️ База знаний

  • ✏️ Редактирование тегов прямо в списке (добавление/удаление тегов для записей, лент и элементов списков)
  • 🔎 Семантический поиск (векторный поиск через эмбеддинги Gemini) + классический полнотекстовый поиск
  • 🧩 Облако тегов + множественная фильтрация (по тегу, категории, источнику, списку, статусу прочтения/полезности)
  • 📚 Управление списками — группировка записей в ручные списки, списки RSS или списки каналов
  • 👁️‍🗨️ Предпросмотр при наведении (карточки с кратким содержанием) и кнопки быстрого копирования

🗺️ Граф знаний

  • Визуализируйте всю базу знаний в виде интерактивного силового графа
  • Записи и теги — узлы; рёбра показывают, какие теги связывают статьи
  • Кликните, чтобы предпросмотреть запись; двойной клик — открыть исходный URL
  • Цветовая маркировка по категории (CVE, статья, инструмент, видео, блог и т.д.)
  • Поиск тегов для подсветки связанных кластеров по всему графу

📡 RSS-ленты и подписки на YouTube

  • Добавляйте RSS/Atom-ленты — сервер опрашивает их каждый час, автоматически загружает и создаёт краткое содержание новых постов
  • Новые посты автоматически добавляются в базу знаний
  • Каждая лента становится отдельным списком, что упрощает пакетный просмотр
  • Элементы ленты отображают метаданные источника и могут быть помечены тегами/отфильтрованы как любые другие записи

🎥 Подписки на YouTube-каналы

  • Подпишитесь на каналы YouTube по URL (например, https://www.youtube.com/@handle, /channel/UCxxx)
  • Предпросмотрите последние видео перед подпиской и выберите, какие видео анализировать
  • После подписки выбранные видео анализируются немедленно; будущие загрузки автоматически опрашиваются каждый час
  • Работает через API /yt-channels и отображается в интерфейсе в разделах RSS/YT

🤖 Telegram-бот (опционально)

  • Отправьте любой URL боту — он анализирует его через тот же бэкенд и возвращает форматированную карточку
  • Отправьте PDF-файл — бот загружает, анализирует и возвращает карточку результата со ссылкой для просмотра/скачивания файла
  • Прямые обновления прогресса по мере выполнения анализа
  • Получает уведомление «Рекомендовано к прочтению» — бот активно предлагает непрочитанные записи

Анализ URL

Ежедневная рекомендация

💬 Чат (RAG + потоковая передача + закреплённый контекст)

  • Задавайте вопросы по своей базе знаний — ответы цитируются из наиболее подходящих записей
  • ⚡ Потоковые ответы с живым набором текста и оценками релевантности для каждого источника
  • 🗂️ Несколько сеансов чата с сохранённой историей и выбором модели
  • 📌 Закрепляйте конкретные статьи как контекст — введите @ для автодополнения или используйте кнопку обзора @
    • Когда записи закреплены, Gemini отвечает только на основе этих статей — никакого шума от RAG
    • Закреплённые записи отображаются в виде чипов над полем ввода; источники показывают значок 📌 вместо оценки
    • Идеально для глубокого погружения в конкретный PDF, разбор или CVE

RAG-чат с оценками источников

Чат с закреплённым контекстом

[!IMPORTANT] Формируйте будущее Samuraizer! Сейчас мы голосуем за новые функции, такие как локальные LLM и экспорт в Obsidian. Проголосовать здесь!


🏗 Архитектура (высокоуровневая)

root@kitploit:~
flowchart LR
  Browser[Browser UI] -->|HTTP| Frontend[React Frontend]
  Frontend -->|REST/NDJSON| Backend[Flask API]
  Backend -->|SQL| SQLite[(samuraizer.db)]
  Backend -->|API| Gemini[Gemini 2.5 Flash]
  Backend -->|local API| Ollama[Ollama - Local LLM]
  Backend -->|GitHub API| GitHub[GitHub]
  Backend -->|RSS| RSS[RSS feeds]
  Telegram[Telegram Bot] -->|HTTP| Backend

🧠 Как это работает (от начала до конца)

  1. Отправьте URL или PDF через веб-интерфейс (или Telegram-бота).
  2. Бэкенд определяет тип (GitHub-репозиторий, пост в блоге, RSS-лента, PDF и т.д.) и загружает/извлекает содержимое.
  3. Содержимое отправляется в Gemini 2.5 Flash для генерации:
    • Краткого содержания
    • Категории и тегов
    • (Опционально) эмбеддингов, используемых для семантического поиска
  4. Результаты сохраняются в samuraizer.db и отображаются во фронтенде.
  5. Фронтенд позволяет:
    • Фильтровать по тегам, категории, источнику, списку, флагам прочтения/полезности
    • Редактировать теги прямо в списке (изменения сохраняются через PATCH /entries/<id>)
    • Использовать семантический поиск (векторный поиск по эмбеддингам Gemini)
  6. RSS-ленты опрашиваются периодически; новые посты автоматически загружаются.

🧰 Технологический стек

СлойТехнологии / Библиотеки
Бэкенд

🚀 Настройка

Выберите предпочитаемый способ настройки:

⚙️ Локальная настройка (ручная установка)

0) Клонирование репозитория 📥

root@kitploit:~
git clone https://github.com/zomry1/Samuraizer.git
cd Samuraizer

1) Конфигурация 🔐

Скопируйте .env.example в .env и заполните свои значения. Вы также можете открыть веб-интерфейс, перейти на вкладку Настройки и изменить настройки (провайдер, ключи API, названия моделей Ollama, названия моделей эмбеддингов) перед сохранением.

root@kitploit:~
cp .env.example .env
🐳 Docker-настройка (рекомендуется)

Самый простой способ запустить полный стек — одна команда собирает и запускает всё.

0) Клонирование репозитория 📥

root@kitploit:~
git clone https://github.com/zomry1/Samuraizer.git
cd Samuraizer

1) Конфигурация 🔐

root@kitploit:~
cp .env.example .env
# Отредактируйте .env и заполните GEMINI_API_KEY (и любые другие необходимые значения)

2) Сборка и запуск ▶️

Все Docker-файлы находятся в папке docker/. Запускайте команды из корня проекта:

Gemini (облако) — по умолчанию:

root@kitploit:~
docker compose -f docker/docker-compose.yml up -d

Ollama на CPU:

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama up -d

Ollama на NVIDIA GPU:

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-nvidia up -d

📺 Получение транскриптов YouTube

Почему не youtube-transcript-api?

В первоначальной реализации использовалась open-source библиотека Python youtube-transcript-api. Она хорошо работает локально, но на практике имеет критическое ограничение: YouTube агрессивно блокирует IP-адреса, которые совершают автоматические запросы транскриптов, особенно:

  • IP-адреса, принадлежащие облачным провайдерам / VPS-хостам (AWS, GCP, Azure, Hetzner и т.д.)
  • IP-адреса, которые слишком часто обращаются к конечной точке транскриптов

Это означает, что после анализа всего нескольких видео весь сервер может быть заблокирован, и каждый последующий запрос транскрипта будет завершаться ошибкой IPBlocked / RequestBlocked — полностью нарушая анализ видео YouTube.

Текущее решение: transcriptapi.com

Samuraizer теперь использует transcriptapi.com — сторонний платный API, который обрабатывает получение транскриптов YouTube на своей стороне, используя инфраструктуру, которая не блокируется.

Плюсы:

  • Нет блокировок IP — они решают проблему анти-бота за вас
  • Простой REST API (GET /api/v2/youtube/transcript)
📦 Конечные точки API

Анализ URL

POST /analyze

Тело:

root@kitploit:~
{ "url": "https://github.com/owner/repo" }

Анализ PDF

POST /analyze-pdf

Тело: multipart/form-data с полем file, содержащим файл .pdf. Потоковые NDJSON-события в том же формате, что и /analyze (с использованием имени файла в качестве ключа url).

Получение сохранённого PDF

GET /entries/<id>/pdf — отображает PDF в браузере. GET /entries/<id>/pdf?dl=1 — отправляет PDF как загрузку файла.


🙌 Участие в разработке

  1. Форкните репозиторий
  2. Создайте ветку
  3. Внесите изменения
  4. Отправьте Pull Request

⚖️ Лицензия

MIT

Скачать инструмент

Проанализировано, помечено тегами и готово к поиску
Python, Flask, SQLite, feedparser, PyMuPDF
LLMGemini 2.5 Flash (Gemini API), Ollama (локально опционально)
ФронтендReact 18, Vite, Tailwind CSS
Ботpython-telegram-bot v20
Транскриптыtranscriptapi.com
ПеременнаяОбязательноГде взять
LLM_PROVIDERНетgemini (по умолчанию, облако) или ollama (локально)
GEMINI_API_KEYПри geminiGoogle AI Studio → Получить API-ключ
OLLAMA_URLПри ollamaURL API Ollama (по умолчанию: http://localhost:11434)
OLLAMA_MODELПри ollamaМодель для рассуждений (по умолчанию: qwen3:14b)
OLLAMA_EMBED_MODELПри ollamaМодель эмбеддингов (по умолчанию: qwen3-embedding:8b)
TELEGRAM_BOT_TOKENНетСоздать бота через @BotFather в Telegram
GITHUB_TOKENНетGitHub → Настройки → Настройки разработчика → Персональные токены доступа — повышает лимит API с 60 до 5 000 запросов/час
TRANSCRIPTAPIНетtranscriptapi.com/dashboard/api-keys — требуется для получения транскриптов YouTube
SAMURAIZER_URLНетURL вашего бэкенда (по умолчанию: http://localhost:8000), используется Telegram-ботом
🏠 Локальный режим (Ollama)

Запустите Samuraizer полностью офлайн с Ollama:

root@kitploit:~
# Установка CLI Ollama (зависит от платформы)
# macOS
curl -fsSL https://ollama.com/install.sh | sh

# Windows
irm https://ollama.com/install.ps1 | iex

# Linux (Ubuntu/Debian)
curl -fsSL https://ollama.com/install.sh | sh
root@kitploit:~
# Запуск службы Ollama
ollama serve

# Установка моделей
ollama pull qwen3:4b            # для рассуждений
ollama pull qwen3-embedding:8b  # для эмбеддингов

# Установка провайдера в .env
LLM_PROVIDER=ollama

Если у вас уже были эмбеддинги Gemini, переключение на Ollama автоматически удалит их при следующем запуске (несовпадение размерностей). Повторно встраивайте через интерфейс или POST /entries/embed-all.

2) Установка зависимостей 📦

root@kitploit:~
# Создание и активация виртуального окружения
python -m venv .venv
source .venv/bin/activate  # На Windows: .venv\Scripts\activate

pip install -r requirements.txt

cd frontend
npm install
cd ..

3) Запуск бэкенда ▶️

root@kitploit:~
python server.py

4) Запуск фронтенда 🌐 (новый терминал)

root@kitploit:~
cd frontend
npm run dev

5) (Опционально) Запуск Telegram-бота 🤖 (новый терминал)

root@kitploit:~
python telegram_bot.py
Предварительные требования для NVIDIA GPU

Windows (WSL 2):

  1. Установите последние NVIDIA Game Ready / Studio драйверы на Windows — отдельный драйвер Linux внутри WSL не нужен.
  2. Установите WSL 2: откройте PowerShell от имени администратора и выполните:
    root@kitploit:~
    wsl --install
    wsl --update
    
  3. Установите Docker Desktop для Windows и в его настройках:
    • Основные → включите "Use the WSL 2 based engine"
    • Ресурсы → Интеграция WSL → включите для вашего дистрибутива

Docker Desktop для Windows автоматически включает среду выполнения контейнеров NVIDIA — дополнительные действия не требуются.

Linux:

Установите NVIDIA Container Toolkit:

root@kitploit:~
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Ollama на AMD GPU (требуется GPU с поддержкой ROCm + драйвер amdgpu на Linux):

root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-amd up -d

Всё готово. Фронтенд доступен по адресу http://localhost, API — по адресу http://localhost:8000.

Подсказка: При использовании любого профиля Ollama установите LLM_PROVIDER=ollama в вашем .env. OLLAMA_URL автоматически устанавливается в http://ollama:11434 внутри контейнеров — изменять его не нужно.

После первого запуска с Ollama загрузите модели (используйте имя контейнера, соответствующее запущенному профилю):

root@kitploit:~
# --profile ollama
docker exec -it samuraizer-ollama-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-1 ollama pull qwen3-embedding:8b

# --profile ollama-nvidia
docker exec -it samuraizer-ollama-nvidia-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-nvidia-1 ollama pull qwen3-embedding:8b

# --profile ollama-amd
docker exec -it samuraizer-ollama-amd-1 ollama pull qwen3:4b
docker exec -it samuraizer-ollama-amd-1 ollama pull qwen3-embedding:8b
  • Бэкенд и фронтенд автоматически перезапускаются в случае сбоя.
  • Docker хранит базу данных и файл журнала в каталоге data/ проекта, а резервные копии — в db_backups/.
  • Файлы моделей Ollama хранятся в томе Docker ollama_data (сохраняются между перезапусками).
  • Telegram-бот по умолчанию отключён. Объедините профили, чтобы включить его вместе с Ollama:
root@kitploit:~
docker compose -f docker/docker-compose.yml --profile ollama-nvidia --profile bot up -d

Обновление

root@kitploit:~
git pull
docker compose -f docker/docker-compose.yml up -d --build

Остановка

root@kitploit:~
docker compose -f docker/docker-compose.yml down
  • Доступен бесплатный тариф; кредиты списываются только при успехе (HTTP 200)
  • Коды ошибок с возможностью повторной попытки (408 / 503) с чёткой семантикой
  • Минусы:

    • Не бесплатно за пределами бесплатного тарифа (оплата на основе кредитов)
    • Внешняя зависимость — если их сервис недоступен, получение транскриптов завершается ошибкой
    • Данные проходят через третью сторону

    Настройка: Добавьте в .env:

    root@kitploit:~
    TRANSCRIPTAPI=your_key_here
    

    Получить ключ можно на transcriptapi.com/dashboard/api-keys.

    Альтернативы, которые стоит рассмотреть

    ВариантКак работаетРиск блокировки IPСтоимость
    transcriptapi.com (текущий)Управляемый REST APIНет (их проблема)На основе кредитов
    yt-dlpСкачивает субтитры через --write-sub --skip-downloadНизкий (имитирует браузер)Бесплатно, самостоятельно
    youtube-transcript-api + cookiesПередача Netscape cookies.txt из сессии браузера с авторизациейСредний (риск для аккаунта-однодневки)Бесплатно
    YouTube Data API v3Официальный API Google, без скрапингаНетБесплатная квота, затем платно
    SupadataАналогичный управляемый REST APIНетБесплатный тариф (100 запросов/день)

    Лучшая бесплатная альтернатива: yt-dlp — активно поддерживается, имитирует реальные запросы браузера и вряд ли будет заблокирован так же быстро, как обычный HTTP-запрос. Для переключения замените _fetch_youtube_content на вызов yt-dlp --write-auto-sub --sub-format vtt --skip-download и разбор полученного файла .vtt.

    Список записей

    GET /entries (поддерживает фильтры: search, category, tag, source, list_id, read, useful)

    Подписки на YouTube-каналы

    • GET /yt-channels — список подписанных каналов (id, channel_id, channel_url, name, last_checked)
    • POST /yt-channels/preview — тело { "url": "https://www.youtube.com/@handle" }, возвращает информацию о канале + последние видео (url/title/published)
    • POST /yt-channels — тело { "url": "...", "name": "optional", "analyze_urls": ["https://...", ...] }; создание подписки и опциональный анализ выбранных видео
    • POST /yt-channels/<id>/poll — немедленный ручной опрос канала
    • DELETE /yt-channels/<id> — удаление подписки

    Управление тегами

    • Редактирование тегов осуществляется через PATCH /entries/<id> с JSON { "tags": ["tag1","tag2"] }