
DeadManSwitch بلغة rust مع عدة مشغلات (بعيدة ومحلية وشبكية)

Dead Man Switch هو تطبيق أمني متعدد المنصات مكتوب بلغة Rust يحمي البيانات الحساسة تلقائيًا في حالات الطوارئ. يراقب التطبيق آليات تشغيل متعددة وينفذ إجراءات إغلاق فورية للنظام عند تفعيلها، بما في ذلك فك تثبيت وحدات التخزين المشفرة وإيقاف تشغيل النظام بشكل مضبوط.
عدّل src/config.rs لتخصيص الإعدادات:
pub fn default() -> Result<Self> {
Self::new(
"YOUR_TELEGRAM_BOT_TOKEN".to_string(),
3600, // Heartbeat timeout (seconds)
45370, // Network broadcast port
"trigger_dms".to_string(), // Network trigger message
"execute".to_string(), // Manual trigger command
0x090c, // USB vendor ID
0x1000, // USB product ID
"auto".to_string(), // Flic IP (auto-detected)
5551, // Flic port
)
}
@BotFather على تيليغرام/newbotالصيغة الأساسية:
./DeadManSwitch --mode <modes> [--trigger]
--mode: قائمة مفصولة بفواصل من الأنماط. إذا تم حذفه، يتم استخدام all.--trigger: تنفيذ الإجراءات فورًا وعرض واجهة التنبيه، دون انتظار أي مشغل خارجي.الأنماط المتاحة:
timer – مؤقت نبضات تيليغرامbot – تشغيل يدوي عبر تيليغرامnet – مستمع بث UDPusb – مشغل USB VID/PIDflic – مشغل زر Flicall – جميع ما سبقأمثلة:
# All triggers (default)
./DeadManSwitch
# Only Telegram heartbeat + USB
./DeadManSwitch --mode timer,usb
# Only network broadcast
./DeadManSwitch --mode net
# Manual trigger only
./DeadManSwitch --trigger
يتم التشغيل تلقائيًا بعد انقضاء فترة المهلة المحددة دون تسجيل وصول.
التهيئة:
telegram_heartbeat_timeout: 3600 // seconds
التنفيذ:
./DeadManSwitch --mode timer
أوامر تيليغرام:
/alive - إعادة تعيين مؤقت العد التنازلي/status - الاستعلام عن الوقت المتبقيالسلوك:
واجهة تحكم يدوي عن بُعد.
الإعداد:
التنفيذ:
./DeadManSwitch --mode bot
الأمر:
/dms execute - تفعيل التشغيل اليدويآلية تشغيل قائمة على الشبكة المحلية.
التهيئة:
broadcast_port: 45370
broadcast_message: "trigger_dms"
التنفيذ:
# Protected machine
./DeadManSwitch --mode net
# Trigger from network
echo "trigger_dms" | nc -u -b 255.255.255.255 45370
تفعيل قائم على العتاد عند توصيل الجهاز.
تحديد معرفات الأجهزة:
git clone https://github.com/BlackSnufkin/Rusty-Playground.git
cd Rusty-Playground/USB_mon
cargo run
# Connect device and note vendor:product IDs
التهيئة:
usb_vendor_id: 0x090c
usb_product_id: 0x1000
التنفيذ:
./DeadManSwitch --mode usb
آلية تفعيل عبر زر فيزيائي.
تثبيت الخادم:
إقران الزر:
./simpleclient scan
./simpleclient connect <button_address>
التهيئة:
flic_ip: "192.168.1.242".to_string() // or "auto" for detection
التنفيذ:
./DeadManSwitch --mode flic
التفعيل: اضغط الزر مع الاستمرار
ActionExecutor لفك التثبيت وإيقاف التشغيل عند التفعيل