
Un service d'arrière-plan simple qui contrôle à distance les fenêtres sur MQTT.
Table des matières
├── .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
Une brève description de la mise en page:
README.md est une description détaillée du projet.go.mod est un manuel de référence détaillé pour le système de modules dans ce projet.go.sum est un fichier détaillé de la somme de contrôle de la dépendance directe et indirecte requise par le module.main.go est le fichier principal du programme.docs contient des documents de projet.control contient des packages principaux pour l'interaction avec l'API WIN 10, chaque sous-répertoire de control est un package principal.mosquitto contient un package logique MQTT.tray contient un package de logique d'application du plateau système.tools contiennent des packages configurator YAML et logger .configs contient un exemple de fichier config.yaml. Si vous utilisez un fichier binaire:
Windows 10Si vous utilisez le code source:
Windows 10Go 1.18 or greater Téléchargez le fichier EXE ou allez à partir de la page des versions et exécutez-la:
warden.exe
go run main.go (if you wanna start it from source files)
Les paramètres de configuration doivent être placés dans des fichiers de configuration dans le répertoire de travail d'où vous lancez Warden.
| Propriété | Description | Exemple | Obligatoire |
|---|---|---|---|
| courtier | URL du courtier MQTT | 127.0.0.1 | Oui |
| nom d'utilisateur | Nom d'utilisateur au courtier MQTT | administrer | Oui |
| mot de passe | Mot de passe au courtier MQTT | mot de passe | Oui |
| applications | Liste des applications pour désactiver | app.exe | Non |
Warden recherchera ce fichier dans le répertoire de travail actuel (répertoire d'où vous avez lancé Warden). S'il n'y a pas de fichier conf, Warnen créera un fichier par défaut. Modifiez ce fichier ou créez un fichier config.yaml et mettez-y les paramètres souhaités. Ou copiez simplement un exemple de ce fichier à partir du dossier de configuration dans le dépôt.
Exemple de fichier:
broker: 127.0.0.1
username: admin
password: password
apps:
- game.exe
- app.exe
Soit dit en passant, Warden vous validera la configuration avant de commencer et vous remarquera si vous oubliez quelque chose!
CLI a les mêmes paramètres que le fichier config plus un a ajouté et si vous oubliez que l'un des params Warden en utilisera un par défaut.
| Propriété | Description | Drapeau | Défaut |
|---|---|---|---|
| pas de débogage | désactive le mode de débogage | -n / --nodebug | aucun |
| configurer | Remplace les données de config.yaml avec CLI Config | -C / - Config | aucun |
| courtier | URL du courtier MQTT | -B / - Broker | hôte local |
| nom d'utilisateur | Nom d'utilisateur au courtier MQTT | -U / --User | administrer |
| mot de passe | Mot de passe au courtier MQTT | -p / - pass | administrer |
(!!!) Vous devez utiliser l'indicateur de configuration si vous souhaitez remplacer config.yaml (!!!)
Exemple:
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 commence à se connecter immédiatement après le lancement. Il fait du fichier warden.log dans le répertoire de travail actuel et écraser tous les 7 jours 
La charge utile de tous les messages est soit une chaîne brute ou un élément JSON valide (peut-être un primitif, comme un seul entier).
Exemple de charges utiles du message valide:
0100truetest stringPC_HOSTNAME est le nom du système de votre PC Windows. Sujet: directeur / pc_hostname / statut / en ligne
Charge utile: bool
Persistant: oui
Vrai - vivant, faux - mort.
Sujet: directeur / pc_hostname / statut / volume
Charge utile: int dans la plage 0-100
Persistant: non
Envoyer l'état actuel du volume maître toutes les 3 secondes.
Sujet: directeur / pc_hostname / statut / muet
Charge utile: bool
Persistant: non
Envoyez le statut de muet actuel toutes les 5 secondes.
PC_HOSTNAME est le nom du système de votre PC Windows. Sujet: directeur / pc_hostname / commandes / arrêt
Charge utile: -
Déclencher l'arrêt immédiat du système.
Sujet: directeur / pc_hostname / commandes / redémarrage
Charge utile: -
Déclencher le redémarrage du système immédiat.
Sujet: directeur / pc_hostname / commandes / sommeil
Charge utile: -
Déclencher un sommeil immédiat du système.
Sujet: directeur / pc_hostname / commandes / volume
Charge utile: int dans la plage 0-100
Le déclencheur modifie le volume maître du système.
Sujet: directeur / pc_hostname / commandes / muet
Charge utile: booléen
"True" - Trigger Mutes Volume System Volume. "FALSE" - déclencher le volume du système incomparable.
Sujet: directeur / pc_hostname / commandes / applications
Charge utile: chaîne
"config" - désactive toutes les applications du fichier config "app.exe" - désactive toute application spécifiée
Vous pouvez le construire par vous-même.
go build -o bin/warden.exe -ldflags "-H windowsgui"
J'ajouterai volontiers de nouvelles choses, si quelqu'un demande!
Changelog
Copyright 2022 Alexandra Chichko <[email protected]>
Licencié sous la licence Apache, version 2.0 (la "licence"); Vous ne pouvez pas utiliser ce logiciel sauf conforme à la licence. Vous pouvez obtenir une copie de la licence à
http://www.apache.org/licenses/license-2.0
Sauf exiger la loi applicable ou convenu par écrit, les logiciels distribués en vertu de la licence sont distribués sur une base «tel quel», sans garantie ni conditions d'aucune sorte, expresse ou implicite. Voir la licence pour la langue spécifique régissant les autorisations et les limitations sous la licence.