diff --git a/wg-event-gen/src/main.rs b/wg-event-gen/src/main.rs index 044baf0..2083709 100644 --- a/wg-event-gen/src/main.rs +++ b/wg-event-gen/src/main.rs @@ -4,9 +4,9 @@ mod listener; use crate::gen::*; use crate::listener::*; -use std::collections::HashMap; -use hex; use base64; +use hex; +use std::collections::HashMap; use std::env; use std::fmt; use std::io::prelude::*; @@ -207,7 +207,13 @@ fn main() { .expect("[interval] has to be a positive int") }) .unwrap_or(1000); - let listeners: Vec> = vec![Box::new(LogListener)]; + let mut listeners: Vec> = vec![Box::new(LogListener)]; + + let events: PathBuf = "/etc/wireguard/events.sh".into(); + + if events.exists() { + listeners.push(Box::new(ScriptListener::new(events))) + } let timeout = time::Duration::from_secs(3);