
MQTT上のWindowsをリモートで制御するシンプルなバックグラウンドサービス。
目次
├── .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には、Win 10 APIとの対話のためのメインパッケージが含まれています。各controlのサブディレクトリはメインパッケージです。mosquittoはMQTTロジックパッケージが含まれています。trayには、システムトレイアプリロジックパッケージが含まれています。toolsには、YAML configuratorおよびloggerパッケージが含まれています。configsはconfig.yamlファイルの例が含まれています。 バイナリファイルを使用する場合:
Windows 10ソースコードを使用する場合:
Windows 10Go 1.18 or greater exeをダウンロードするか、[リリース]ページからファイルに移動して実行します。
warden.exe
go run main.go (if you wanna start it from source files)
構成パラメーターは、ワーデンを起動する場所からワーキングディレクトリ内の構成ファイルに配置する必要があります。
| 財産 | 説明 | 例 | 必須 |
|---|---|---|---|
| ブローカ | MQTTブローカーのURL | 127.0.0.1 | はい |
| ユーザー名 | MQTTブローカーへのユーザー名 | 管理者 | はい |
| パスワード | MQTTブローカーへのパスワード | パスワード | はい |
| アプリ | 電源を切るためのアプリリスト | app.exe | いいえ |
ワーデンは、現在の作業ディレクトリ(Where where wardenedsのディレクトリ)でこのファイルを探します。 confファイルWarnenがデフォルトファイルを作成します。このファイルを変更するか、 config.yamlファイルを作成し、目的のパラメーターを入れます。または、このファイルの例をリポジトリの構成フォルダーからコピーするだけです。
例ファイル:
broker: 127.0.0.1
username: admin
password: password
apps:
- game.exe
- app.exe
ちなみに、ワーデンは開始する前に構成を検証し、何かを忘れているかどうかに気づきます!
CLIは、configファイルと追加された1つと同じパラメーターを持ち、Params Wardenの1つを忘れてもデフォルト1を使用します。
| 財産 | 説明 | フラグ | デフォルト |
|---|---|---|---|
| デバッグなし | デバッグモードをオフにします | -n / - nodebug | なし |
| config | CLI configを使用してconfig.yamlデータをオーバーライドします | -c / --config | なし |
| ブローカ | MQTTブローカーのURL | -b / -broker | localhost |
| ユーザー名 | 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 PCのシステム名です。トピック: Warden/PC_HOSTNAME/STATUS/ONLINE
ペイロード:ブール
永続的:はい
True -Alive、False -Dead。
トピック: Warden/PC_HostName/Status/Volume
ペイロード:範囲0〜100のINT
永続的:いいえ
3秒ごとに現在のマスターボリュームステータスを送信します。
トピック: Warden/PC_HOSTNAME/STATUS/MUTED
ペイロード:ブール
永続的:いいえ
5秒ごとに現在のミュートステータスを送信します。
PC_HOSTNAMEは、Windows PCのシステム名です。トピック: Warden/PC_Hostname/Commands/Shutdown
ペイロード: -
即時システムのシャットダウンをトリガーします。
トピック: Warden/PC_HostName/Commands/Reboot
ペイロード: -
即時システムの再起動をトリガーします。
トピック: Warden/PC_HostName/Commands/Sleep
ペイロード: -
即時システムの睡眠をトリガーします。
トピック: Warden/PC_HOSTNAME/コマンド/ボリューム
ペイロード:範囲0〜100のINT
トリガーシステムのマスターボリュームを変更します。
トピック: Warden/PC_HostName/Commands/Mute
ペイロード:ブール波
「true」 - トリガーミュートシステムのボリューム。 「false」 - システムボリュームを解除するトリガー。
トピック: Warden/PC_HostName/Commands/Apps
ペイロード:文字列
"config" - config file "app.exe"からすべてのアプリをオフにします - 指定されたアプリをオフにします
自分で構築できます。
go build -o bin/warden.exe -ldflags "-H windowsgui"
誰かがリクエストするなら、私は喜んで新しいものを追加します!
Changelog
Copyright 2022 Alexandra Chichko <[email protected]>
Apacheライセンス、バージョン2.0(「ライセンス」)に基づいてライセンスされています。ライセンスに準拠していることを除いて、このソフトウェアを使用することはできません。ライセンスのコピーを取得できます
http://www.apache.org/licenses/license-2.0
適用法で要求されていないか、書面で合意されていない限り、ライセンスに基づいて配布されたソフトウェアは、明示または黙示のいずれかの保証または条件なしに、「現状のまま」に基づいて配布されます。ライセンスに基づく権限と制限を管理する特定の言語のライセンスを参照してください。