
OpenDoor v5.18.0
OWASP — платформа веб-разведки и обнаружения директорий
OpenDoor — платформа OWASP для веб-разведки и обнаружения директорий

OpenDoor — это открытая CLI-платформа для разведки, предназначенная для санкционированной веб-разведки, обнаружения директорий, перечисления поддоменов, снятия отпечатков, обнаружения WAF, проверки обходов, фильтрации ответов, формирования отчётов, проверок открытых редиректов, ограниченного обхода сайта и транспортных сценариев сканирования.
Она помогает исследователям безопасности, специалистам по пентесту, охотникам за багами, DevSecOps-инженерам и разработчикам выявлять открытые пути, панели входа, листинги директорий, ограниченные ресурсы, резервные копии, веб-шеллы, поддомены и другие потенциально чувствительные веб-активы.
Используйте OpenDoor только на системах, которыми вы владеете или на тестирование которых у вас есть явное разрешение.
✅ Статус проекта
🧪 Матрица CI
🚀 Быстрые ссылки
- Документация
- Быстрый старт
- Установка и обновление
- Руководство по использованию
- Практические примеры
- Журнал изменений
- Пакет PyPI
- Формула Homebrew
- Docker-образ
- Пакет AUR
- Пакет BlackArch
- Проблемы
- Участники
✨ Возможности
- обнаружение директорий;
- рекурсивное обнаружение директорий;
- ограниченный обход сайта в пределах одного источника;
- следование редиректам;
- перечисление поддоменов;
- многопоточное сканирование для более быстрого поиска;
- режимы ввода: одна цель, файл с целями, stdin, IPv4 CIDR и диапазон IPv4;
- пользовательские словари, префиксы, перемешивание для нарушения паттернов сканирования и фильтры расширений, поддержка удалённых словарей;
- пользовательские заголовки запросов, передача cookie и шаблоны сырых HTTP-запросов;
- фильтры ответов по статусу, размеру, тексту, регулярному выражению и длине тела;
- снифферы ответов для обнаружения листингов директорий, пустых ответов, известных раскрытых файлов, активных зондов теневых копий, коллаций, возможных раскрытых секретов, клиентских конечных точек, ошибок, раскрытых отладочных стектрейсов и подтверждённых уязвимостей открытого редиректа;
- умная автокалибровка для случаев soft-404, wildcard, catch-all, семантической разницы ответов и DNS-wildcard;
- определение технологических отпечатков для CMS, ecommerce-платформ, фреймворков, стеков выполнения, инфраструктуры и статуса HSTS;
- пассивные проверки рисков конфиденциальности в
--fingerprint, включая возможные поверхности HSTS, ETag/кэша и supercookie; - пассивное обнаружение WAF и обход в безопасном режиме сканирования;
- условие остановки WAF guard для завершения малополезных сканов, когда исходные классифицированные ответы в подавляющем большинстве заблокированы WAF;
- контролируемые обходные пробы заголовков и путей для заблокированных ресурсов с кодами
401и403; - отказоустойчивый рантайм сканирования с повторами, защитой от серий сбоев, обработкой транспортных ошибок, возобновляемыми сессиями и интерактивным управлением паузой/возобновлением;
- правила CI/CD для отказа по найденным категориям результатов;
- сравнительный анализ отчётов для предыдущих/текущих JSON или SQLite отчётов;
- отчёты в форматах терминала, текста, JSON, CSV, HTML, SARIF и SQLite;
- поддержка транспорта: прокси, OpenVPN, WireGuard, legacy TLS и mTLS с клиентскими сертификатами;
- последовательная ротация транспорта для пакетных сценариев;
- мастер конфигурации для повторяемых профилей сканирования;
- встроенные словари (обновл. 2026-08)
🧭 Где OpenDoor имеет смысл?
Инструмент предназначен для реальных целей, где одной только скорости недостаточно: WAF, CDN, страницы soft-404, wildcard-маршруты, ограниченные ресурсы, области с аутентификацией, нестабильные сети, пакеты из нескольких целей и сканирование с управляемым транспортом. С момента первого запуска в 2016 году до сегодняшнего дня OpenDoor кардинально изменился, превратившись из примитивного брутфорсера в новую адаптивную платформу обнаружения. Стал удобным для DevOps и QA. OpenDoor фокусируется на контекстно-зависимом обнаружении вместо слепого перебора.
Что делает OpenDoor особенным
| Возможность | Почему это важно |
|---|---|
| Сканирование, основанное на отпечатках | OpenDoor может определить вероятные CMS-платформы, фреймворки, инфраструктурных провайдеров и сигнатуры WAF до более глубокого обнаружения. Это помогает сканировать с контекстом, а не вслепую применять универсальный словарь к цели. |
| Поведение с учётом WAF | OpenDoor может обнаруживать вероятное поведение WAF / анти-бота и переключаться на более безопасный профиль выполнения с помощью --waf-safe-mode, уменьшая количество шумных заблокированных сканов и упрощая понимание защитных ответов. |
| Условие остановки WAF guard | OpenDoor может остановить скан на ранней стадии, когда исходные классифицированные ответы в подавляющем большинстве заблокированы WAF. Это позволяет не тратить длительные прогоны на словари, которые дают только повторяющиеся страницы блокировки edge/WAF. |
| Контролируемые доказательства обхода | OpenDoor может по желанию проверять заблокированные ресурсы 401 и 403 с помощью контролируемых вариантов внедрения заголовков и модификации пути. Он фиксирует точные доказательства, такие как тип обхода, вариант заголовка или пути, значение пробы, исходный код статуса и результирующий код статуса, не изменяя глобальные заголовки скана. |
| Мультисигнальная автокалибровка | OpenDoor не полагается только на код статуса или размер ответа. Он сравнивает несколько сигналов ответа, таких как хеши тела, видимый текст, семантические фразы soft-404, структуру DOM-токенов, заголовки, редиректы, стабильные заголовки, количество слов, количество строк, плотность текста, нормализованные динамические токены и эталонные значения DNS-wildcard, чтобы уменьшить ложные срабатывания soft-404 и wildcard. |
| Ограниченный обход в пределах одного источника | --crawl может обогащать сканирование директорий одношаговыми ссылками того же источника, найденными в уже просканированных HTML-ответах. Для этого используется существующий конвейер сканирования, глобальная дедупликация запросов, дедупликация отчётов по категориям и ограничения памяти, а не превращение в паука или рендерер браузера. |
| Эвристическая система плагинов-снифферов | OpenDoor включает подключаемый слой анализа ответов для эвристических снифферов, таких как секреты, стектрейсы, листинги директорий, индикаторы вредоносного ПО, теневые копии, подозрительные файлы, открытые редиректы и повторяющиеся шаблоны мягких ошибок. Это позволяет сканам выявлять значимые доказательства из тел ответов, а не сообщать только коды статуса и размеры. |
| Транспортные сценарии | OpenDoor поддерживает режимы транспорта: прямой, прокси, OpenVPN и WireGuard. Он также может ротировать транспортные профили для каждой цели в санкционированных пакетных сканах, что отличается от ручного запуска VPN перед сканером. |
| Поддержка пулов прокси | OpenDoor может использовать пулы прокси через --proxy-list, проверять доступные прокси перед сканированием и ротировать запросы по живому пулу. Это помогает длительным санкционированным сканам переживать ненадёжные маршруты без жёстко заданной единственной прокси-конечной точки. |
| Отказоустойчивый рантайм сканирования | OpenDoor спроектирован так, чтобы сохранять полезность сканов на нестабильных целях и ненадёжных сетях. Он сочетает повторы запросов, защиту от серий сбоев, обработку восстанавливаемых транспортных ошибок, ротацию прокси, WAF-зависимые условия остановки, сессии с контрольными точками и интерактивные элементы управления паузой/возобновлением, чтобы длинные сканы могли безопасно завершаться сбоем, а не молча терять покрытие. |
| Возобновляемые длительные сканы | OpenDoor может сохранять контрольные точки сканирования и возобновлять его позже. Это важно, когда сканы прерываются из-за сбоев, нестабильных сетей, заблокированных маршрутов, обрывов терминала или длительных задач с несколькими целями. |
| Пауза/возобновление во время выполнения | Нажмите Ctrl+C один раз во время сканирования, чтобы приостановить рабочие процессы, затем выберите C для продолжения или E для прерывания без использования файлов сессий. |
| Сравнительный анализ отчётов | OpenDoor может сравнивать предыдущий и текущий SQLite/JSON отчёт с помощью --diff old:new, показывая добавленные, удалённые и изменённые находки без повторного сканирования цели. Это превращает отчёты сканирования в проверки регрессии экспозиции от релиза к релизу. |
| Готовность к CI/CD | OpenDoor может возвращать ненулевой код выхода только при обнаружении выбранных категорий результатов, что делает его пригодным в качестве шлюза релиза или проверки регрессии экспозиции без пользовательских скриптов постобработки. |
| Аудируемая инженерия | OpenDoor поддерживается с помощью многоплатформенного CI, проверок покрытия, проверок пакетов, сборок документации и большого набора unittest-тестов, что упрощает аудит, внесение вклада и использование в качестве зависимости. |
🧬 Распознаваемые технологии
OpenDoor включает эвристический движок фингерпринтинга для определения вероятных стеков приложений, CMS-платформ, фреймворков, конструкторов сайтов, инструментов статических сайтов, инфраструктурных провайдеров, готовности HSTS / preload и систем WAF / анти-бот.
| Категория | Примеры |
|---|---|
| CMS | WordPress, Drupal, Joomla, TYPO3, GravCMS, Open Journal Systems, InstantCMS, DiafanCMS, CMS.S3 / Megagroup, Discuz!, NetCat |
| Электронная коммерция | Magento, WooCommerce, Shopify, PrestaShop, OpenCart, Shopware, Webasyst / Shop-Script |
| Фреймворки / платформы приложений | Laravel, Symfony, Django, Flask, FastAPI, Express, NestJS, Next.js, Nuxt, Rails, Spring |
| Среда выполнения / языковой стек | PHP, Node.js, JavaScript, Python, Ruby, .NET, Java/JVM, Elixir, статические сайты |
| Конструкторы сайтов | Wix, Webflow, Squarespace, Tilda, Duda, Hostinger Website Builder |
| Генераторы статических сайтов / документации | MkDocs, Docusaurus, Hugo, Jekyll, VitePress |
| Инфраструктура / хостинг | Cloudflare, AWS, Vercel, Netlify, GitHub Pages, GitLab Pages, Heroku, Azure, Google Cloud, Fastly, Akamai, Hostinger, DDoS-Guard, Tencent Cloud |
| Инфраструктура / серверы | Nginx, Apache HTTP Server, Microsoft IIS, Caddy, LiteSpeed, lighttpd, Tornado, Gunicorn, Uvicorn, Hypercorn, Waitress, Apache Tomcat, Eclipse Jetty, Envoy, Traefik |
| WAF / анти-бот | Cloudflare, AWS WAF, Azure Front Door, Akamai, Imperva, Sucuri, ModSecurity, DataDome, Kasada, BunkerWeb, F5 BIG-IP ASM |
| Заголовки безопасности | Наличие HSTS, max-age, includeSubDomains, директива preload, локальная готовность preload |
Полный список поддерживаемых технологий: Технологии фингерпринтинга
Запуск определения фингерпринтов:```bash opendoor --host https://example.com --fingerprint
После завершения прохода fingerprint OpenDoor выводит компактную сводку предварительного сканирования перед началом перебора по словарю:```text
Fingerprint result: cms/WordPress (95%)
Web stack: WordPress | PHP | Cloudflare
Security posture: HSTS preload-ready
Читать далее:
📦 Установка
pipx
Рекомендуется для большинства пользователей CLI:```bash pipx install opendoor
### pip```bash
python3 -m pip install --upgrade opendoor
Windows / Chocolatey
OpenDoor доступен в репозитории пакетов сообщества Chocolatey:```powershell choco install opendoor -y
Пакеты Chocolatey могут отставать от последнего релиза на GitHub/PyPI, пока проходит модерация сообщества.
### Arch Linux / AUR
OpenDoor доступен в Arch User Repository:```bash
yay -S opendoor
Homebrew
OpenDoor также доступен в менеджере пакетов Brew:```bash brew install opendoor
### Docker
OpenDoor доступен в виде официального Docker-образа проекта через GitHub Container Registry.```bash
docker pull ghcr.io/stanislav-web/opendoor:latest
docker run --rm -it ghcr.io/stanislav-web/opendoor:latest --version
Запустите сканирование и сохраните отчёты на хосте:```bash mkdir -p reports
docker run --rm
-v "$PWD/reports:/work/reports"
ghcr.io/stanislav-web/opendoor:latest
--host https://example.com
--reports json,html
--reports-dir reports
### BlackArch Linux
OpenDoor доступен в BlackArch Linux:```bash
sudo pacman -Syu
sudo pacman -S opendoor
Из исходного кода```bash
git clone https://github.com/stanislav-web/OpenDoor.git cd OpenDoor
python3 -m pip install -r requirements.txt python3 opendoor.py --help
См. полное [руководство по установке](https://opendoor.readthedocs.io/Installation-and-update/).
---
## 🚀 Быстрое использование
### Базовое сканирование каталогов```bash
opendoor --host https://example.com
Обход ссылок того же происхождения```bash
opendoor --host https://example.com --crawl
`--crawl` активируется вручную и работает только со сканированием каталогов. Он использует `GET`, извлекает консервативные HTML-атрибуты из уже просканированных ответов, сохраняет только URL-адреса того же источника, учитывает игнорируемые расширения, пропускает POST-формы и внешние источники и сообщает об обнаруженных URL-адресах через обычные группы результатов.
### Сканирование поддоменов```bash
opendoor --host example.com --scan subdomains
Список целей```bash
opendoor --hostlist targets.txt
Целевые файлы могут содержать URL-адреса, домены, IPv4-адреса, блоки IPv4 CIDR и включающие диапазоны IPv4:```text
https://example.com
app.example.com
192.168.1.10
192.168.1.0/24
192.168.1.10-192.168.1.50
Стандартный ввод```bash
cat targets.txt | opendoor --stdin
Тот же смешанный формат целей поддерживается через STDIN.
### Низкошумное сканирование```bash
opendoor \
--host https://example.com \
--method GET \
--auto-calibrate \
--include-status 200-299,301,302,403 \
--exclude-status 404,429,500-599 \
--exclude-size-range 0-256 \
--sniff endpoint,secret,shadow,openredirect,malware,skipempty,collation,indexof,file,stacktrace \
--reports std,json,csv,sarif
Снифферы ответов
Снифферы ответов классифицируют интересные тела ответов в ходе обнаружения. Они полезны, когда кода состояния и размера недостаточно, чтобы понять, что было найдено.```bash
opendoor
--host https://example.com
--method GET
--sniff endpoint,secret,shadow,openredirect,malware,stacktrace,indexof,file,collation
--reports std,json,csv,html,sqlite,sarif
Полезные снифферы включают:
| Sniffer | Назначение |
|---------------------|-------------------------------------------------------------------------------------------------------------------------------------|
| `indexof` | Обнаружение страниц со списком каталогов. |
| `file` | Обнаружение известных шаблонов раскрытия чувствительных файлов. |
| `collation` | Обнаруживает повторяющиеся или похожие на редирект резервные ответы, которые могут создавать ложные срабатывания. |
| `skipempty` | Пропускать пустые ответы. |
| `skipsizes=46` | Пропускать ответы с точными известными «шумными» размерами. |
| `skipsizes=46:1024` | Пропускать ответы внутри «шумного» диапазона размеров. |
| `stacktrace` | Обнаруживать раскрытые стектрейсы отладки/выполнения и детали внутренних ошибок. |
| `secret` | Обнаруживать возможные раскрытые API-ключи, токены, закрытые ключи и учётные данные с редактируемыми метаданными отчёта. |
| `shadow` | Активно проверять подтверждённые ответы `200 OK`, похожие на файлы, на ограниченные резервные/теневые варианты, такие как `.bak`, `.old` и шаблоны путей. |
| `openredirect` | Активно проверять параметры запроса, похожие на редирект, с контролируемыми маркерными URL и сообщать только о подтверждённых уязвимостях открытого перенаправления. |
| `endpoint` | Пассивно обнаруживать клиентские конечные точки WebSocket, Socket.IO, SSE/EventSource и AJAX в уже загруженных ответах. |
| `malware` | Обнаруживать возможное вредоносное содержимое, маркеры веб-шеллов, внедрённые скрипты или обфусцированные полезные нагрузки. |
Снифферы, зависящие от тела запроса, автоматически принудительно используют `GET`, если настроенный метод — `HEAD`.
Подробнее: [Справочник снифферов](https://opendoor.readthedocs.io/Sniffers/)
### Аутентифицированное сканирование из необработанного запроса```bash
opendoor \
--raw-request request.txt \
--scheme https \
--method GET \
--auto-calibrate \
--reports json,html,sqlite,sarif
WAF-безопасное сканирование```bash
opendoor
--host https://example.com
--waf-safe-mode
--timeout 60
--retries 5
--delay 0.5
### Отказоустойчивое сканирование
Используйте более консервативный профиль выполнения для нестабильных целей, медленных сетей, временных блокировок WAF, нестабильности прокси или длительных авторизованных сканирований.```bash
opendoor \
--host https://example.com \
--method GET \
--timeout 60 \
--retries 5 \
--retries-fail-streak 25 \
--auto-calibrate \
--waf-detect \
--waf-guard \
--session-save session.json \
--reports std,json,html
Этот профиль делает сканирование более устойчивым за счёт увеличения тайм-аута на запрос и допустимого количества повторов, ограничения прерываний лишь повторно исчерпанными путями, фильтрации soft-404 и catch-all ответов с помощью автокалибровки, остановки малополезных сканирований при преобладании ответов, заблокированных WAF, и сохранения состояния контрольной точки для последующего возобновления.
Возобновите сканирование позже:```bash opendoor --session-load session.json
Во время активного сканирования нажмите `Ctrl+C` один раз, чтобы приостановить воркеры, затем выберите `C` для продолжения или `E` для прерывания.
### Пробы обхода заголовков и путей
Используйте это только на системах, которые вам разрешено тестировать. Функция является opt-in и зондирует заблокированные ресурсы с контролируемыми временными заголовками и безопасными вариантами путей.```bash
opendoor \
--host https://example.com \
--method GET \
--waf-detect \
--header-bypass \
--header-bypass-limit 32 \
--reports std,json,csv,sarif,sqlite
Когда включён --header-bypass, OpenDoor сначала пробует настроенные варианты внедрения заголовков, а затем безопасные варианты манипуляции путём, такие как завершающий слеш, сегмент с точкой, суффикс с точкой с запятой, изменение регистра и URL-кодированный сегмент.
Настройте статусы триггеров, доверенные IP-адреса и заголовки:```bash
opendoor
--host https://example.com
--method GET
--header-bypass
--header-bypass-status 401,403
--header-bypass-ips 127.0.0.1,10.0.0.1
--header-bypass-headers X-Original-URL,X-Rewrite-URL,X-Forwarded-For,X-Real-IP
--reports json,html,sqlite,sarif,csv
### Маршрутизация через прокси
Используйте один явный прокси:```bash
opendoor --host https://example.com --proxy socks5://127.0.0.1:9050
Используйте встроенный пул ротационных прокси:```bash opendoor --host https://example.com --proxy-pool
Используйте собственный список ротационных прокси:```bash
opendoor --host https://example.com --proxy-list proxies.txt
Транспорт OpenVPN```bash
opendoor
--host https://example.com
--transport openvpn
--transport-profile ./profile.ovpn
Если OpenVPN установлен вне `PATH`, укажите бэкенд явно:```bash
opendoor \
--host https://example.com \
--transport openvpn \
--transport-profile ./profile.ovpn \
--transport-bin /opt/homebrew/sbin/openvpn
В Windows --transport-bin может указывать на C:\Program Files\OpenVPN\bin\openvpn.exe. Если графический клиент или корпоративный VPN-агент уже управляет туннелем, запустите этот VPN вне OpenDoor и запустите OpenDoor в прямом режиме.
Транспорт WireGuard```bash
opendoor
--host https://example.com
--transport wireguard
--transport-profile ./profile.conf
Дополнительные примеры:
- [Базовые сканирования](https://opendoor.readthedocs.io/examples/basic-scans/)
- [Пакетные сканирования](https://opendoor.readthedocs.io/examples/batch-scans/)
- [Сканирования с аутентификацией](https://opendoor.readthedocs.io/examples/authenticated-scans/)
- [WAF-безопасные сканирования](https://opendoor.readthedocs.io/examples/waf-safe-scans/)
- [Сканирования с обходом заголовков](https://opendoor.readthedocs.io/examples/header-bypass-scans/)
- [Сканирования через VPN-транспорт](https://opendoor.readthedocs.io/examples/vpn-transport-scans/)
- [Примеры CI/CD](https://opendoor.readthedocs.io/examples/ci-cd/)
---
### Дифференциальное сравнение отчётов
OpenDoor может сравнивать ровно два предыдущих/текущих отчёта без запуска нового сканирования. Используйте это, когда хотите увидеть, что появилось, исчезло или изменилось между двумя результатами авторизованного сканирования.
Поддерживаются только пары входных файлов SQLite-to-SQLite и JSON-to-JSON. Смешанные форматы, отсутствующие файлы, недействительные отчёты и неподдерживаемые типы отчётов вызывают корректную ошибку проверки.```bash
opendoor --diff reports/baseline/example.com.sqlite:reports/current/example.com.sqlite --reports std,json
opendoor --diff reports/baseline/example.com.json:reports/current/example.com.json --reports std,json --reports-dir ./diff
Отчёты SARIF для CI/CD
OpenDoor может экспортировать результаты в формате SARIF 2.1.0 для GitHub Code Scanning и SARIF-совместимых конвейеров безопасности.```bash
opendoor
--host https://example.com
--reports sarif,json
--reports-dir ./reports
Пример загрузки через GitHub Actions:```yaml
- name: Upload OpenDoor SARIF
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: reports/example.com/example.com.sarif
category: opendoor
🎓 Освоение OpenDoor
Серия практических статей для изучения OpenDoor на основе воспроизводимых и авторизованных рабочих процессов веб-разведки.

- Часть 1 — Контекстно-зависимая веб-разведка за пределами перебора каталогов
- Часть 2 — Малошумная разведка с редиректами, сниффингом конечных точек и ограниченным обходом
- Сопутствующая страница серии
📚 Документация
Полная документация доступна на ReadTheDocs:
- Главная
- Быстрый старт
- Установка и обновление
- Руководство по использованию
- Ввод целевых объектов
- Отчёты
- Снятие отпечатков
- Обнаружение WAF и безопасный режим
- Защита WAF
- Обход инъекций в заголовках
- Автокалибровка
- Сетевые транспорты
- Совместимость TLS и mTLS
- Транспорт OpenVPN
- Транспорт WireGuard
- Практические примеры
- Тестирование
- Вклад в проект
🧪 Разработка
Установите зависимости для разработки:```bash python3 -m venv .venv source .venv/bin/activate
python -m pip install --upgrade pip setuptools wheel python -m pip install -r requirements-dev.txt python -m pip install -e .
Запуск тестов:```bash
python -m unittest
Покрытие запуска:```bash coverage run -m unittest discover -s tests -p "test_*.py" coverage report -m
Документация по сборке:```bash
python3 -m venv .docs-venv
source .docs-venv/bin/activate
python -m pip install -r docs/requirements.txt
python -m mkdocs build --strict
Сборка артефактов пакета:```bash python -m build
См. полное [руководство по тестированию](https://opendoor.readthedocs.io/Testing/) и [руководство по внесению вклада](https://opendoor.readthedocs.io/Contribution/).
---
## 🔐 Безопасность и гигиена секретов
Не коммитьте реальные секреты и приватные транспортные профили.
Никогда не публикуйте:
- реальные профили OpenVPN;
- приватные ключи WireGuard;
- клиентские сертификаты mTLS и приватные ключи;
- файлы auth-user-pass;
- файлы cookie;
- bearer-токены;
- списки целей клиентов;
- приватные отчёты о сканировании;
- чувствительные артефакты CI.
Используйте только примеры-заглушки.
---
## ⚖️ Ответственное использование
OpenDoor — это инструмент для тестирования безопасности.
Используйте его только против систем, которыми вы владеете или на тестирование которых у вас есть явное разрешение.
Такие функции, как обнаружение WAF, WAF-безопасное сканирование, повторная отправка raw-запросов, транспортные профили и зонды обхода Header Injection, предназначены для авторизованного тестирования безопасности, защитной валидации и регрессионных проверок экспозиции.
Проект не даёт разрешения на сканирование сторонних систем, организаций, коммерческих сервисов или публичной инфраструктуры без авторизации.
---
## 🧾 Журнал изменений
См. [CHANGELOG.md](https://github.com/stanislav-web/opendoor/blob/HEAD/CHANGELOG.md) и [релизы на GitHub](https://github.com/stanislav-web/OpenDoor/releases).
---
## 🤝 Внесение вклада
Пул-реквесты приветствуются.
Перед внесением вклада ознакомьтесь с [руководством по внесению вклада](https://opendoor.readthedocs.io/Contribution/) и запустите соответствующие тесты.
OpenDoor развивается благодаря вкладу в код, обновлению документации, тестированию, отчётам об ошибках, отзывам о безопасности, идеям функций и проверке сообществом.
Спасибо всем, кто помог улучшить проект.
[](https://github.com/stanislav-web/OpenDoor/graphs/contributors)
---
## 📄 Лицензия
OpenDoor выпускается только под лицензией GNU General Public License v3.0.
См. [LICENSE](https://github.com/stanislav-web/opendoor/blob/HEAD/LICENSE).
---
## Поддержка
Если OpenDoor помогает вашей авторизованной работе по безопасности, вы можете поддержать дальнейшее сопровождение проекта через Giveth.
[Поддержать OpenDoor на Giveth](https://giveth.io/project/opendoor)
---
[](https://deepwiki.com/stanislav-web/OpenDoor) [](https://www.gnu.org/licenses/gpl-3.0)