portchecker.io: онлайн-утилита для проверки статуса портов

portchecker.io: онлайн-утилита для проверки статуса портов

portchecker.io — это онлайн-утилита для проверки статуса портов на заданных хостах или IP-адресах. Проект полезен для разработчиков и сетевых администраторов, так как помогает диагностировать сетевые настройки, проверять правила файрвола и оценивать возможные точки доступа.

В отличие от более сложных аналогов, portchecker.io предлагает минималистичное решение с низким уровнем зависимостей. Он использует стеки на Python с фреймворком Litestar для бэкенда и Node.js для фронтенда. Доступен как в виде Docker-контейнеров, так и в виде стэндэлон-версий. Запуск фронтенда происходит с помощью npm, а для API нужен Python и Poetry для управления пакетами.

Обрати внимание, что для работы проекта требуется Node версии 26 и выше, а также Python 3.13. Убедись, что ознакомился с документацией, прежде чем начнешь настройку.

Проект portchecker.io представляет собой открытый API, который позволяет проверять доступность портов на указанных именах хостов или IP-адресах. Он полезен для разработчиков и сетевых администраторов, помогая в диагностике сетевых настроек, проверке правил брандмауэра и оценке возможных точек доступа.

Как установить и запустить проект

Проект состоит из двух контейнеров: фронтенд, который представляет собой статический HTML-файл, и бэкенд — простой API, построенный с использованием Litestar. Он задуман как максимально простой и с минимальными зависимостями.

Для начала работы ты можешь развернуть как отдельно, так и с помощью Docker.

Запуск отдельно

  • Фронтенд:
    
    $ cd frontend/web
    $ npm install
    $ npm run dev
            
    Доступ к фронтенду будет по адресу http://0.0.0.0:8080.
  • API:
    
    $ cd backend/api
    $ poetry install
    $ uvicorn main:app --host 0.0.0.0 --port 8000 --reload
            
    API будет доступен по адресу http://0.0.0.0:8000.

Запуск с помощью Docker


$ docker-compose -f docker-compose-dev.yml up --build

При запуске с помощью Docker фронтенд будет работать по адресу http://0.0.0.0:8080, а API — по адресу http://0.0.0.0:8000.

Документация и API

Маршруты и спецификации API можно найти в документации проекта.

Ограничения и переменные окружения

Проект использует несколько переменных окружения, которые можно настроить в файлах Docker или в твоем окружении при работе с portchecker отдельно. Например, можно установить переменные для URL API, а также значения по умолчанию для хоста и порта:

  • API_URL: URL API, по умолчанию http://api:8000.
  • DEFAULT_HOST: Позволяет задать значение хоста по умолчанию для UI.
  • DEFAULT_PORT: Позволяет задать значение порта по умолчанию для UI.

Мониторинг

Доступен эндпоинт `/metrics` для сбора метрик по API, включая время отклика и коды состояния. Можно интегрировать данные метрики в Prometheus и построить дашборд в Grafana.

Если ты заинтересован в внесении изменений или улучшений, проект поддерживает участие внешних разработчиков через систему вопросов и предложений на GitHub.

Для поддержки проекта ты можешь выразить свою благодарность, оставив звезду на GitHub или сделав небольшое пожертвование.

Открыть на GitHub: dsgnr/portchecker.io →

Что нового на GitHub — короткие обзоры на русском Новые обзоры приходят в Telegram. Без спама, по делу.
Подписаться

Похожие статьи

Популярные темы на сайте