Добавление ZennoPoster воркера

Порядок

  1. На машине с ZennoPoster запустите шаблон zpServer.zp.
  2. В логе выполнения появится строка регистрации — одна строка JSON:
{"machine":"WORKER-01","host":"192.168.0.10","external":"203.0.113.5","port":22222,"firewall":"off","portRule":"no"}
  1. Скопируйте её целиком.
  2. Откройте ZP7, нажмите NODES и вставьте строку в поле добавления узла.

Узел появится в списке. Дальше z3nDash сам опрашивает его состояние.

Запуск при каждом старте ZennoPoster

zpServer.zp должен отработать после каждого запуска ZennoPoster: адрес машины и состояние брандмауэра могут измениться, а регистрация их фиксирует.

Способ выбираете сами — автозапуск шаблона средствами ZennoPoster либо расписание в Tasker. Повторный запуск поверх уже зарегистрированного узла ничего не ломает: запись обновляется, а не дублируется.

Что должно быть в строке

Разбор выполняет ZpNodeStore.TryParse.

Обязательны:

  • machine — имя машины, непустое;
  • port — от 1 до 65535;
  • host или external — достаточно любого из двух.

Необязательны: external, firewall, portRule.

Вместо portRule принимается булево поле urlacl: true читается как yes, false — как no.

Хвостовая одиночная кавычка отбрасывается перед разбором, поэтому строку можно копировать из лога как есть, не вычищая её вручную.

Что z3nDash делает дальше

Узел хранится в таблице zp_nodes текущей схемы. host и port идут в запросы:

GET  http://HOST:PORT/state
POST http://HOST:PORT/command
GET  http://HOST:PORT/log
GET  http://HOST:PORT/traffic

Логи и трафик узел отдаёт из файлов на своей машине; z3nDash их не хранит, а пробрасывает запрос через GET /zp/log и GET /zp/traffic. См. Logs и Traffic.

Проверка

  1. Откройте ZP7.
  2. Убедитесь, что узел появился в списке.
  3. Проверьте загрузку состояния.
  4. Отправьте команду запуска или остановки.
  5. Откройте allLogs и traffic — узел должен отвечать в обоих окнах.

Версия z3n7 на узле

Окно traffic запрашивает хвост файла параметром tail. Если узел отдаёт первые N записей вместо последних, значит на нём сборка z3n7.dll без поддержки tail: данные будут, но не те. Обновите сборку на узле.