GhostNet: Публикация Локальных Сервисов

gna_agent предоставляет возможность публиковать локальные TCP-сервисы, делая их доступными для других узлов в вашей приватной сети GhostNet. Это позволяет легко делиться внутренними ресурсами, такими как веб-серверы, базы данных или SSH-доступ, без необходимости прямого маппинга портов или сложных настроек прокси.


1. Принцип Работы

  1. Объявление Сервиса: Администратор или пользователь на gna_agent указывает, какой локальный TCP-сервис (порт и протокол) он хочет опубликовать.
  2. Информирование Lighthouse: gna_agent включает информацию об опубликованных сервисах в свой регулярный "отчет" (AgentReport), который отправляется gna_lighthouse.
  3. Отображение в Панели: gna_lighthouse агрегирует информацию о всех опубликованных сервисах и отображает их в своей административной веб-панели.
  4. Доступ для других Агентов: Другие gna_agent в сети GhostNet могут получать доступ к опубликованному сервису, обращаясь к виртуальному IP-адресу (10.0.0.X) агента, который его опубликовал, по указанному порту.

2. Какие Сервисы Можно Опубликовать

gna_agent позволяет публиковать любой локальный TCP-сервис:

  • Веб-серверы: HTTP (порт 80), HTTPS (порт 443), а также кастомные порты (например, 8000, 3000).
  • SSH: Порт 22.
  • Базы данных: MySQL (3306), PostgreSQL (5432), MongoDB (27017) и т.д.
  • Любые другие TCP-сервисы на любых портах.

3. Процесс Публикации

  1. Выбор опции: В интерактивном CLI-меню gna_agent выберите "6. 📢 Опубликовать Ресурс (Сайт/Сервис)".
  2. Выбор действия: Вам будут предложены опции: "Добавить сервис", "Удалить сервис", "Список активных".
  3. Добавление сервиса:
    • Выберите "Добавить сервис".
    • Введите Название сервиса (например, "Мой Блог", "Dev DB").
    • Введите Порт, на котором сервис прослушивает локально (например, 8000).
    • Укажите Протокол (например, http, https, ssh, tcp).
  4. Обновление: После добавления сервис будет включен в следующий AgentReport и отправлен Lighthouse. Он появится в веб-панели Lighthouse и станет доступен для других агентов.

4. Доступ к Опубликованным Сервисам

  • Пример: Если gna_agent с виртуальным IP 10.0.0.5 опубликовал HTTP-сервис "My Web Server" на порту 8000, любой другой gna_agent в сети GhostNet сможет получить к нему доступ по адресу:
    http://10.0.0.5:8000
    
  • DNS: Если для узла 10.0.0.5 настроен DNS-алиас (например, webserver.ghost), доступ также возможен по:
    http://webserver.ghost:8000
    
  • Важно: gna_lighthouse не выступает в роли прокси для опубликованных сервисов. Он лишь информирует других агентов об их существовании. Фактический трафик идет напрямую от агента-клиента к агенту-серверу (P2P) или через Lighthouse как ретранслятор.

5. Управление Опубликованными Сервисами

  • Список активных: В меню "Публикация Ресурса" вы можете просмотреть список всех сервисов, которые ваш gna_agent в данный момент публикует.
  • Удаление сервиса: Выберите "Удалить сервис" и укажите, какой сервис вы хотите прекратить публиковать. gna_agent обновит свой AgentReport, и Lighthouse исключит этот сервис из списка.