Skip to content

Latest commit

 

History

History
51 lines (40 loc) · 3.59 KB

File metadata and controls

51 lines (40 loc) · 3.59 KB

TODO

  • Добавить CLI-интерфейс поверх scraper_core.py - Парсинг аргументов через argparse / typer - Поддержка конфиг-файла (.yaml / .toml) с настройками по умолчанию

  • Поддержка нескольких платформ - Экспериментальная поддержка non-CTFd движков (например, Scoreboard-фреймворков/самописных панелей) через адаптеры - Интерфейс BasePlatformClient с реализациями CTFdClient, XXXClient и т.п.

  • Улучшенная обработка ошибок - Красивый вывод в веб-интерфейсе: какие задачи упали, HTTP-коды, ретраи - Логи в файл с таймстампами и уровнем (INFO/WARN/ERROR)

  • Фильтры задач - Качать только задачи определённых категорий (Web, Crypto, OSINT, Forensic, Misc, Rev, Pwn и т.д.) - Фильтр по минимальному/максимальному количеству очков - Флаг «качать только unsolved» (если CTFd в API отдаёт solved_by_me)

  • Экспорт в другие форматы - Генерация JSON/YAML с метаданными задач (id, title, category, value, url, локальный путь) - Экспорт в формат, совместимый с локальными CTF-платформами / учебными стендами

  • Кэширование и инкрементальные обновления - Не перекачивать файлы, если они уже есть и размер совпадает - Режим "update": докачивать только новые таски и новые файлы

  • Улучшения веб-интерфейса - Выбор категорий/диапазона очков прямо в форме перед стартом - Прогресс-бар по количеству скачанных задач - Страница с логом выполнения (live-лог через SSE/WebSocket)

  • Документация и примеры - Примеры использования scraper_core.run_scrape() из CLI-скриптов - Скриншоты веб-интерфейса - Раздел «рецепты»: бэкап всего CTF, скачивание конкретного ID, интеграция в CI/CD

  • Тестирование - Юнит-тесты для разбора URL, парсинга категорий, генерации путей - Моки для CTFd API (например, через respx) и тесты без реального интернета

  • Настройки структуры директорий - Опция выбирать схему: - <out_dir>/<Category>/<Title>/… (как сейчас) - <out_dir>/<Title>/… - <out_dir>/<Category>/<ID>_<Title>/… - Шаблон пути через форматную строку ({category}/{id}_{name})

  • Поддержка защищённых инстансов - Автообновление токена, если CTFd настроен на короткоживущие access tokens - Поддержка доп. заголовков (например, внутренние SSO-прокси)