
บริการพื้นหลังอย่างง่ายที่ควบคุม 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 มีแพ็คเกจหลักสำหรับการโต้ตอบกับ Win 10 API แต่ละไดเรกทอรีย่อยของ control เป็นแพ็คเกจหลักmosquitto มีแพ็คเกจ MQTT Logictray มีแพ็คเกจลอจิกแอพระบบถาดtools มีแพ็คเกจ YamL configurator และ loggerconfigs มีตัวอย่างของไฟล์ 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 Broker | รหัสผ่าน | ใช่ |
| แอพพลิเคชั่น | รายการแอพสำหรับการปิด | app.exe | เลขที่ |
Warden จะค้นหาไฟล์นี้ในไดเรกทอรีการทำงานปัจจุบัน (ไดเรกทอรีที่คุณเปิดตัว Warden) หากไม่มีไฟล์ conf warnen จะสร้างไฟล์เริ่มต้น เปลี่ยนไฟล์นี้หรือสร้างไฟล์ config.yaml และใส่พารามิเตอร์ที่ต้องการลงไป หรือเพียงแค่คัดลอกตัวอย่างของไฟล์นี้จากโฟลเดอร์ config ใน repo
ตัวอย่างไฟล์:
broker: 127.0.0.1
username: admin
password: password
apps:
- game.exe
- app.exe
โดยวิธีการที่ Warden จะตรวจสอบคุณกำหนดค่าก่อนเริ่มและสังเกตเห็นคุณว่าคุณลืมอะไรบางอย่าง!
CLI มีพารามิเตอร์เดียวกันกับไฟล์ config plus หนึ่งเพิ่มและถ้าคุณลืมหนึ่งในพารามิเตอร์ผู้คุมจะใช้ค่าเริ่มต้น
| คุณสมบัติ | คำอธิบาย | ธง | ค่าเริ่มต้น |
|---|---|---|---|
| ไม่มีการดีบัก | ปิดโหมดการดีบัก | -n / -nodebug | ไม่มี |
| การกำหนดค่า | แทนที่ data.yaml data พร้อม cli config | -c / -config | ไม่มี |
| นายหน้า | URL ของนายหน้า MQTT | -b / -นายหน้า | สถานที่ตั้งของท้องถิ่น |
| ชื่อผู้ใช้ | ชื่อผู้ใช้กับนายหน้า MQTT | -u / -ผู้ใช้ | ผู้ดูแลระบบ |
| รหัสผ่าน | รหัสผ่านไปยัง MQTT Broker | -p / - -pass | ผู้ดูแลระบบ |
(!!!) คุณต้องใช้ค่าสถานะกำหนดค่าหากคุณต้องการแทนที่ 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 เริ่มเข้าสู่ระบบทันทีหลังจากเปิดตัว มันทำให้ไฟล์ warden.log ในไดเรกทอรีการทำงานปัจจุบันและการเขียนทับไฟล์ทุก ๆ 7 วัน 
น้ำหนักบรรทุกของข้อความทั้งหมดเป็นสตริงดิบหรือองค์ประกอบ JSON ที่ถูกต้อง (อาจเป็นแบบดั้งเดิมเช่นจำนวนเต็มเดียว)
ตัวอย่างข้อความที่ถูกต้อง Payloads:
0100truetest stringPC_HOSTNAME เป็นชื่อระบบของ Windows PC ของคุณ หัวข้อ: Warden/PC_Hostname/Status/Online
น้ำหนักบรรทุก: บูล
ถาวร: ใช่
จริง - มีชีวิตเท็จ - ตาย
หัวข้อ: Warden/PC_Hostname/Status/Volume
น้ำหนักบรรทุก: int ในช่วง 0-100
ถาวร: ไม่
ส่งสถานะปริมาณหลักปัจจุบันทุก 3 วินาที
หัวข้อ: Warden/PC_Hostname/Status/Maulted
น้ำหนักบรรทุก: บูล
ถาวร: ไม่
ส่งสถานะใบ้ปัจจุบันทุก ๆ 5 วินาที
PC_HOSTNAME เป็นชื่อระบบของ Windows PC ของคุณ หัวข้อ: Warden/PC_Hostname/คำสั่ง/ปิดเครื่อง
น้ำหนักบรรทุก: -
ทริกเกอร์การปิดระบบทันที
หัวข้อ: Warden/PC_Hostname/คำสั่ง/รีบูต
น้ำหนักบรรทุก: -
ทริกเกอร์ระบบรีบูตทันที
หัวข้อ: Warden/PC_Hostname/คำสั่ง/นอนหลับ
น้ำหนักบรรทุก: -
ทริกเกอร์การนอนหลับของระบบทันที
หัวข้อ: Warden/PC_Hostname/คำสั่ง/เล่ม
น้ำหนักบรรทุก: int ในช่วง 0-100
ทริกเกอร์เปลี่ยนปริมาณหลักของระบบ
หัวข้อ: Warden/PC_Hostname/คำสั่ง/เสียงใบ้
น้ำหนักบรรทุก: บูลีน
"true" - Trigger Mutes Volume "เท็จ" - ทริกเกอร์ระดับเสียงของระบบ
หัวข้อ: Warden/PC_Hostname/คำสั่ง/แอพ
น้ำหนักบรรทุก: สตริง
"config" - ปิดแอพทั้งหมดจากไฟล์ config "app.exe" - ปิดแอพที่ระบุใด ๆ
คุณสามารถสร้างมันได้ด้วยตัวเอง
go build -o bin/warden.exe -ldflags "-H windowsgui"
ฉันยินดีที่จะเพิ่มสิ่งใหม่ ๆ ถ้าใครจะขอ!
การเปลี่ยนแปลง
Copyright 2022 Alexandra Chichko <เหนื่อยกับ @gmail.com>
ได้รับใบอนุญาตภายใต้ใบอนุญาต Apache เวอร์ชัน 2.0 ("ใบอนุญาต"); คุณไม่สามารถใช้ซอฟต์แวร์นี้ยกเว้นตามใบอนุญาต คุณอาจได้รับสำเนาใบอนุญาตที่
http://www.apache.org/licenses/license-2.0
เว้นแต่ว่ากฎหมายที่บังคับใช้หรือตกลงเป็นลายลักษณ์อักษรซอฟต์แวร์ที่แจกจ่ายภายใต้ใบอนุญาตจะถูกแจกจ่ายตาม "ตามพื้นฐาน" โดยไม่มีการรับประกันหรือเงื่อนไขใด ๆ ไม่ว่าจะโดยชัดแจ้งหรือโดยนัย ดูใบอนุญาตสำหรับภาษาเฉพาะที่ควบคุมการอนุญาตและข้อ จำกัด ภายใต้ใบอนุญาต