diff --git a/Makefile b/Makefile index ef62d66..49f02d5 100644 --- a/Makefile +++ b/Makefile @@ -43,7 +43,7 @@ back-build: embed-ui back-deps cd $(BACK_DIR) && go build -o knocker-serve . run: back-build - cd $(BACK_DIR) && GO_KNOCKER_SERVE_PASS=$(PASS) GO_KNOCKER_SERVE_PORT=$(PORT) ./knocker-serve serve + cd $(BACK_DIR) && GO_KNOCKER_SERVE_PASS=$(PASS) GO_KNOCKER_SERVE_PORT=$(PORT) ./knocker-serve -v serve run-bg: back-build cd $(BACK_DIR) && nohup env GO_KNOCKER_SERVE_PASS=$(PASS) GO_KNOCKER_SERVE_PORT=$(PORT) ./knocker-serve serve > /tmp/knocker.log 2>&1 & echo $$! && sleep 1 && tail -n +1 /tmp/knocker.log | sed -n '1,60p' diff --git a/article/embed-gui-guide.md b/article/embed-gui-guide.md index e96df86..9d44ef1 100644 --- a/article/embed-gui-guide.md +++ b/article/embed-gui-guide.md @@ -12,19 +12,22 @@ version: 1.0.0 ## Содержание -1. [Введение](#введение) -2. [Идея и архитектура](#идея-и-архитектура) -3. [Минимальный GUI](#минимальный-gui) -4. [Сборка фронтенда](#сборка-фронтенда) -5. [Встраивание в Go-сервис](#встраивание-в-go-сервис) -6. [API: контракт и примеры](#api-контракт-и-примеры) -7. [Запуск и проверка](#запуск-и-проверка) -8. [FAQ и типичные ошибки](#faq-и-типичные-ошибки) +- [Встраиваем веб-GUI в консольную утилиту: практический гайд](#встраиваем-веб-gui-в-консольную-утилиту-практический-гайд) + - [Содержание](#содержание) + - [Введение](#введение) + - [Идея и архитектура](#идея-и-архитектура) + - [Минимальный GUI](#минимальный-gui) + - [Сборка фронтенда](#сборка-фронтенда) + - [Встраивание в Go-сервис](#встраивание-в-go-сервис) + - [API: контракт и примеры](#api-контракт-и-примеры) + - [Запуск и проверка](#запуск-и-проверка) + - [FAQ и типичные ошибки](#faq-и-типичные-ошибки) ## Введение Задача: добавить простой веб-интерфейс к консольной утилите, собрать его один раз и отдавать статические файлы прямо из бинарника или из каталога рядом. В качестве примера используем минимальный UI со следующими полями: -- Targets (строка вида `tcp:host:port;udp:host:port`) + +- Targets (строка вида `tcp:host:port;udp:host:port...`) - Delay (например `1s`) - Флаг Wait connection - Кнопка Execute @@ -42,6 +45,7 @@ version: 1.0.0 Мы упростили компонент до минимума в ветке `for-article`. Основной экран — одна форма и кнопка запуска. Ключевой шаблон компонента: + ```12:60:/home/su/projects/articles/embed-gui-article/ui/src/app/knock/knock-page.component.html
Эта функциональность требует браузер с поддержкой File System Access API:
-Ваш браузер: {{ browserInfo }}
- -- Эта версия поддерживает прямое редактирование файлов на диске. - Файлы будут автоматически перезаписываться после шифрования/дешифрования. -
-- ✅ Доступные возможности: -
-