
여러 트리거(원격, 로컬 및 네트워크)를 갖춘 Rust 기반 DeadManSwitch

Dead Man Switch는 Rust로 작성된 크로스플랫폼 보안 애플리케이션으로, 긴급 상황에서 민감한 데이터를 자동으로 보호합니다. 이 애플리케이션은 여러 트리거 메커니즘을 모니터링하고 활성화 시 즉각적인 시스템 잠금 절차(암호화 볼륨 마운트 해제 및 제어된 시스템 종료 포함)를 실행합니다.
src/config.rs를 편집하여 설정을 사용자 지정합니다:
pub fn default() -> Result<Self> {
Self::new(
"YOUR_TELEGRAM_BOT_TOKEN".to_string(),
3600, // 하트비트 제한 시간(초)
45370, // 네트워크 브로드캐스트 포트
"trigger_dms".to_string(), // 네트워크 트리거 메시지
"execute".to_string(), // 수동 트리거 명령
0x090c, // USB 공급업체 ID
0x1000, // USB 제품 ID
"auto".to_string(), // Flic IP (자동 감지)
5551, // Flic 포트
)
}
@BotFather에게 연락/newbot 명령 실행기본 형식:
./DeadManSwitch --mode <modes> [--trigger]
--mode: 쉼표로 구분된 모드 목록. 생략하면 all이 사용됩니다.--trigger: 외부 트리거를 기다리지 않고 즉시 동작을 실행하고 경고 UI를 표시합니다.사용 가능한 모드:
timer – Telegram 하트비트 타이머bot – Telegram 수동 트리거net – UDP 브로드캐스트 리스너usb – USB VID/PID 트리거flic – Flic 버튼 트리거all – 위의 모든 항목예시:
# 모든 트리거 (기본값)
./DeadManSwitch
# Telegram 하트비트 + USB만
./DeadManSwitch --mode timer,usb
# 네트워크 브로드캐스트만
./DeadManSwitch --mode net
# 수동 트리거만
./DeadManSwitch --trigger
체크인이 없으면 지정된 제한 시간 이후 자동으로 트리거됩니다.
구성:
telegram_heartbeat_timeout: 3600 // 초
실행:
./DeadManSwitch --mode timer
Telegram 명령:
/alive - 카운트다운 타이머 재설정/status - 남은 시간 조회동작:
원격 수동 제어 인터페이스.
설정:
실행:
./DeadManSwitch --mode bot
명령:
/dms execute - 수동 트리거 활성화LAN 기반 트리거 메커니즘.
구성:
broadcast_port: 45370
broadcast_message: "trigger_dms"
실행:
# 보호된 시스템
./DeadManSwitch --mode net
# 네트워크에서 트리거
echo "trigger_dms" | nc -u -b 255.255.255.255 45370
장치 연결 시 하드웨어 기반 활성화.
장치 ID 식별:
git clone https://github.com/BlackSnufkin/Rusty-Playground.git
cd Rusty-Playground/USB_mon
cargo run
# 장치를 연결하고 vendor:product ID 확인
구성:
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() // 또는 감지 시 "auto"
실행:
./DeadManSwitch --mode flic
활성화: 버튼을 길게 누르기
ActionExecutor 구성