
Простая фоновая служба, которая удаленно управляет Windows через MQTT.
Оглавление
├── .github
├── .gitignore
├── README.md
├── go.mod
├── go.sum
├── main.go
├── docs
│ └── README.md
├── control
│ ├── power
│ │ └── power.go
│ ├── app
│ │ └── app.go
│ └── sound
│ └── sound.go
├── tools
│ ├── configurator
│ │ └── configurator.go
│ └── logger
│ └── logger.go
├── tray
│ ├── tray.go
│ │
│ └── icon.go
├── mosquitto
│ ├── mosquitto.go
│ │
│ └── sensors.go
└── configs
└── config.yaml
Краткое описание макета:
README.md - подробное описание проекта.go.mod - это подробное справочное руководство для модульной системы в этом проекте.go.sum - это подробный файл контрольной суммы прямой и косвенной зависимости, требуемой модулем.main.go - это основной файл программного обеспечения.docs содержит проектные документации.control содержит основные пакеты для взаимодействия с API Win 10, каждый подкаталог control является основным пакетом.mosquitto содержит логический пакет MQTT.tray содержит логический пакет приложений для системного лотка.tools содержат пакеты configurator YAML и logger .configs содержит пример файла config.yaml. Если вы используете двоичный файл:
Windows 10Если вы используете исходный код:
Windows 10Go 1.18 or greater Загрузите файл EXE или GO со страницы релизов и выполните его:
warden.exe
go run main.go (if you wanna start it from source files)
Параметры конфигурации должны быть размещены в файлах конфигурации в рабочем каталоге, откуда вы запускаете Warden.
| Свойство | Описание | Пример | Обязательный |
|---|---|---|---|
| маклер | URL -адрес брокера MQTT | 127.0.0.1 | да |
| имя пользователя | Имя пользователя для брокера MQTT | администратор | да |
| пароль | Пароль для брокера MQTT | пароль | да |
| приложения | Список приложений для отключения | app.exe | нет |
Warden будет искать этот файл в текущем рабочем каталоге (каталог, откуда вы запустили Warden). Если нет файла conf, Warnen создаст файл по умолчанию. Измените этот файл или создайте файл config.yaml и вставьте в него нужные параметры. Или просто скопируйте пример этого файла из папки конфигурации в репо.
Пример файла:
broker: 127.0.0.1
username: admin
password: password
apps:
- game.exe
- app.exe
Кстати, Warden подтвердит вам конфигурацию перед началом и заметит вас, забудете ли вы что -то!
CLI имеет те же параметры, что и файл конфигурации, а также один добавлен один, и если вы забыли, что один из Warden Params Warden будет использовать по умолчанию.
| Свойство | Описание | Флаг | По умолчанию |
|---|---|---|---|
| Нет отладки | Отключение режима отладки | -n / -nodebug | никто |
| конфигурация | переопределять данные config.yaml с помощью CLI Config | -c / -config | никто |
| маклер | URL -адрес брокера MQTT | -b / -брокер | местный хост |
| имя пользователя | Имя пользователя для брокера MQTT | -u / -User | администратор |
| пароль | Пароль для брокера MQTT | -p / - -пасс | администратор |
(!!!) Вы должны использовать флаг конфигурации, если хотите переопределить config.yaml (!!!)
Пример:
warden.exe -n
warden.exe -c -n -b 192.168.1.1 -u sasha -p password
warden.exe --cli --nodebug --broker 192.168.1.1 --user sasha --pass 12345678
warden.exe -c -n --broker 192.168.1.1 --user sasha -p 12345678
Уорден начинает регистрироваться сразу после запуска. Он делает файл warden.log в текущем рабочем каталоге и перезаписывает каждые 7 дней 
Полезной нагрузкой всех сообщений является либо необработанной строкой, либо действительным элементом JSON (возможно, примитивом, как одно целое число).
Пример действительных сообщений полезных нагрузков:
0100truetest stringPC_HOSTNAME - это название системы вашего ПК с Windows. Тема: Warden/PC_HOSTNAME/Status/Online
Полезная нагрузка: bool
Постоянный: Да
Правда - жив, ложь - мертвый.
Тема: Warden/PC_HOSTNAME/Статус/Том
Полезная нагрузка: int в диапазоне 0-100
Постоянный: нет
Отправляйте текущий статус главного объема каждые 3 секунды.
Тема: Warden/PC_HOSTNAME/Status/Приглушение
Полезная нагрузка: bool
Постоянный: нет
Отправляйте текущий статус немой каждые 5 секунд.
PC_HOSTNAME - это название системы вашего ПК с Windows. Тема: Warden/PC_HOSTNAME/Команды/Выключение
Полезная нагрузка: -
Запустите немедленное отключение системы.
Тема: Warden/PC_HOSTNAME/Команды/перезагрузка
Полезная нагрузка: -
Запустить немедленную перезагрузку системы.
Тема: Warden/PC_HOSTNAME/Команды/Sleep
Полезная нагрузка: -
Запустить немедленный системный сон.
Тема: Warden/PC_HOSTNAME/Команды/Том
Полезная нагрузка: int в диапазоне 0-100
Триггер изменяет мастер -объем системы.
Тема: Warden/PC_HOSTNAME/Команды/MUTE
Полезная нагрузка: логический
«Истинно» - Trigger Mutes System Golume. «Неверно» - триггер носит нормы системы.
Тема: Warden/PC_HOSTNAME/Команды/Приложения
Полезная нагрузка: строка
«Конфигурация» - Отключает все приложения из файла config «app.exe» - выключает любое указанное приложение
Вы можете построить это самостоятельно.
go build -o bin/warden.exe -ldflags "-H windowsgui"
Я с радостью добавлю новые вещи, если кто -нибудь запросит!
Изменение
Copyright 2022 Александра Чичко <[email protected]>
Лицензировано по лицензии Apache, версия 2.0 («Лицензия»); Вы не можете использовать это программное обеспечение, кроме как в соответствии с лицензией. Вы можете получить копию лицензии на
http://www.apache.org/licenses/license-2.0
Если это не требуется применимого законодательства или не согласовано в письменной форме, программное обеспечение, распространяемое по лицензии, распределяется по основам «как есть», без каких -либо гарантий или условий, явных или подразумеваемых. См. Лицензию для конкретного языка, регулирующих разрешения и ограничения по лицензии.