
Layanan latar belakang sederhana yang mengontrol Windows dari jarak jauh lebih dari MQTT.
Daftar isi
├── .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
Deskripsi singkat tentang tata letak:
README.md adalah deskripsi terperinci dari proyek ini.go.mod adalah manual referensi terperinci untuk sistem modul dalam proyek ini.go.sum adalah file terperinci dari checksum ketergantungan langsung dan tidak langsung yang diperlukan oleh modul.main.go adalah file utama program.docs berisi dokumentasi proyek.control berisi paket utama untuk interaksi dengan WIN 10 API, setiap subdirektori control adalah paket utama.mosquitto berisi paket logika MQTT.tray berisi paket logika aplikasi baki sistem.tools berisi paket configurator dan logger YAML.configs berisi contoh file config.yaml. Jika Anda menggunakan file biner:
Windows 10Jika Anda menggunakan kode sumber:
Windows 10Go 1.18 or greater Unduh halaman EXE atau Go dari rilis dan jalankan:
warden.exe
go run main.go (if you wanna start it from source files)
Parameter konfigurasi harus ditempatkan di file konfigurasi di direktori kerja dari tempat Anda meluncurkan Warden.
| Milik | Keterangan | Contoh | Wajib |
|---|---|---|---|
| makelar | URL dari broker MQTT | 127.0.0.1 | Ya |
| nama belakang | Nama pengguna untuk broker MQTT | admin | Ya |
| kata sandi | Kata sandi untuk broker MQTT | kata sandi | Ya |
| aplikasi | Daftar aplikasi untuk mematikan | app.exe | TIDAK |
Warden akan mencari file ini di direktori kerja saat ini (direktori dari tempat Anda meluncurkan Warden). Jika tidak ada file conf Warnen akan membuat file default. Ubah file ini atau buat file config.yaml dan masukkan parameter yang diinginkan ke dalamnya. Atau cukup salin contoh file ini dari folder config di repo.
Contoh File:
broker: 127.0.0.1
username: admin
password: password
apps:
- game.exe
- app.exe
Ngomong -ngomong, Warden akan memvalidasi konfigurasi Anda sebelum memulai dan memperhatikan Anda apakah Anda lupa sesuatu!
CLI memiliki parameter yang sama dengan file config plus satu ditambahkan dan jika Anda lupa salah satu Params Warden akan menggunakan default satu.
| Milik | Keterangan | Bendera | Bawaan |
|---|---|---|---|
| tidak ada debug | Matikan Mode Debug | -n / - -nodebug | tidak ada |
| konfigurasi | overrides config.yaml data dengan CLI config | -c / --config | tidak ada |
| makelar | URL dari broker MQTT | -b / --broker | localhost |
| nama belakang | Nama pengguna untuk broker MQTT | -u / --user | admin |
| kata sandi | Kata sandi untuk broker MQTT | -p / --pass | admin |
(!!!) Anda harus menggunakan bendera konfigurasi jika Anda ingin mengganti config.yaml (!!!)
Contoh:
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 mulai masuk segera setelah peluncuran. Itu membuat file warden.log di direktori kerja saat ini dan overwrite file setiap 7 hari 
Payload semua pesan adalah string mentah atau elemen JSON yang valid (mungkin primitif, seperti bilangan bulat tunggal).
Contoh muatan pesan yang valid:
0100truetest stringPC_HOSTNAME adalah nama sistem PC Windows Anda. Topik: Warden/pc_hostname/status/online
Payload: Bool
Persisten: Ya
Benar - hidup, salah - mati.
Topik: Warden/pc_hostname/status/volume
Payload: int dalam kisaran 0-100
Persisten: Tidak
Kirim status volume master saat ini setiap 3 detik.
Topik: Warden/pc_hostname/status/diredam
Payload: Bool
Persisten: Tidak
Kirim status bisu saat ini setiap 5 detik.
PC_HOSTNAME adalah nama sistem PC Windows Anda. Topik: Warden/pc_hostname/perintah/shutdown
Payload: -
Memicu shutdown sistem segera.
Topik: Warden/pc_hostname/perintah/reboot
Payload: -
Memicu reboot sistem langsung.
Topik: Warden/pc_hostname/perintah/tidur
Payload: -
Memicu tidur sistem segera.
Topik: Warden/pc_hostname/perintah/volume
Payload: int dalam kisaran 0-100
Perubahan pemicu volume master sistem.
Topik: Warden/pc_hostname/perintah/mute
Payload: Boolean
"Benar" - Volume Sistem Mututes pemicu. "Salah" - memicu volume sistem unmutes.
Topik: Warden/pc_hostname/perintah/aplikasi
Payload: String
"config" - mematikan semua aplikasi dari file config "app.exe" - mematikan aplikasi apa pun yang ditentukan
Anda dapat membangunnya sendiri.
go build -o bin/warden.exe -ldflags "-H windowsgui"
Saya dengan senang hati akan menambahkan hal -hal baru, jika ada yang akan meminta!
Changelog
Hak Cipta 2022 Alexandra Chichko <[email protected]>
Berlisensi di bawah lisensi Apache, versi 2.0 ("lisensi"); Anda tidak boleh menggunakan perangkat lunak ini kecuali sesuai dengan lisensi. Anda dapat memperoleh salinan lisensi di
http://www.apache.org/licenses/license-2.0
Kecuali diharuskan oleh hukum yang berlaku atau disepakati secara tertulis, perangkat lunak yang didistribusikan di bawah lisensi didistribusikan berdasarkan "sebagaimana adanya", tanpa jaminan atau ketentuan dalam bentuk apa pun, baik tersurat maupun tersirat. Lihat lisensi untuk bahasa spesifik yang mengatur izin dan batasan di bawah lisensi.