diff --git a/src/setup.rs b/src/setup.rs index 4d7efce..513e7ed 100644 --- a/src/setup.rs +++ b/src/setup.rs @@ -145,8 +145,14 @@ impl Setup { pub fn setup(&mut self) -> Result<(), Error> { self.set_up = true; - let tun_name = self.tun.clone(); + unsafe { + if libc::getuid() != 0 { + return Err("Automatic setup requires root privileges".into()); + } + } + + let tun_name = self.tun.clone(); // TODO: This is not optimal. ctrlc::set_handler(move || { Self::shutdown(tun_name.clone());