
خدمة خلفية بسيطة تتحكم عن بعد في 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.tray على حزمة منطق تطبيق علبة النظام.tools على حزم configurator و logger Yaml.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)
يجب وضع معلمات التكوين في ملفات التكوين في دليل العمل من حيث تقوم بتشغيل 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 لديها نفس المعلمات مثل ملف التكوين بالإضافة إلى واحد إضافته ، وإذا نسيت أن واحدة من Params Warden سوف تستخدم الافتراضي واحد.
| ملكية | وصف | علَم | تقصير |
|---|---|---|---|
| لا تصحيح | يؤدي إيقاف تشغيل وضع التصحيح | -n / -Nodebug | لا أحد |
| تكوين | يتجاوز config.yaml بيانات مع cli config | -C / - -Config | لا أحد |
| وسيط | عنوان URL لسيط MQTT | -B / -Broker | المضيف المحلي |
| اسم المستخدم | اسم المستخدم إلى وسيط MQTT | -u / -المستخدم | مسؤل |
| كلمة المرور | كلمة المرور إلى وسيط MQTT | -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 أيام 
الحمولة الحمولة لجميع الرسائل هي إما سلسلة RAW أو عنصر JSON صالح (ربما بدائية ، مثل عدد صحيح واحد).
مثال على حمولة رسائل صالحة:
0100truetest stringPC_HOSTNAME هو اسم نظام جهاز الكمبيوتر الخاص بك. الموضوع: Warden/PC_HostName/Status/Online
الحمولة: Bool
الثابت: نعم
صحيح - حي ، خطأ - ميت.
الموضوع: Warden/PC_HostName/الحالة/الحجم
الحمولة الحمولة: int في المدى 0-100
الثابت: لا
إرسال حالة الصوت الرئيسية الحالية كل 3 ثوان.
الموضوع: Warden/PC_HostName/status/mued
الحمولة: Bool
الثابت: لا
إرسال حالة كتم الحالية كل 5 ثوان.
PC_HOSTNAME هو اسم نظام جهاز الكمبيوتر الخاص بك. الموضوع: Warden/PC_HostName/أوامر/إيقاف
حمولة: -
تشغيل إيقاف تشغيل النظام الفوري.
الموضوع: Warden/PC_HostName/أوامر/إعادة تشغيل
حمولة: -
تشغيل إعادة تشغيل النظام الفوري.
الموضوع: Warden/PC_HostName/أوامر/النوم
حمولة: -
تسبب في النوم الفوري للنوم.
الموضوع: Warden/PC_HostName/أوامر/حجم
الحمولة الحمولة: int في المدى 0-100
يغير الزناد حجم النظام.
الموضوع: Warden/PC_HostName/أوامر/كتم
الحمولة الحمولة: منطقية
"True" - Trigger Mutes System Loome. "خطأ" - توجيه حجم النظام Unmutes.
الموضوع: Warden/PC_HostName/أوامر/تطبيقات
حمولة: سلسلة
"config" - يقوم بإيقاف تشغيل جميع التطبيقات من ملف config "app.exe" - إيقاف تشغيل أي تطبيق محدد
يمكنك بنائه بنفسك.
go build -o bin/warden.exe -ldflags "-H windowsgui"
سأضيف بكل سرور أشياء جديدة ، إذا طلب أي شخص!
Changelog
حقوق الطبع والنشر 2022 Alexandra Chichko <[email protected]>
مرخصة بموجب ترخيص Apache ، الإصدار 2.0 ("الترخيص") ؛ لا يجوز لك استخدام هذا البرنامج إلا في الامتثال للترخيص. يمكنك الحصول على نسخة من الترخيص على
http://www.apache.org/licenses/license-2.0
ما لم يكن مطلوبًا بموجب القانون المعمول به أو الموافقة على الكتابة ، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي" ، دون ضمانات أو شروط من أي نوع ، إما صريحة أو ضمنية. راجع ترخيص الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.