diff options
Diffstat (limited to 'src/startup.rs')
| -rw-r--r-- | src/startup.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/startup.rs b/src/startup.rs new file mode 100644 index 0000000..32ed278 --- /dev/null +++ b/src/startup.rs @@ -0,0 +1,25 @@ +// Here we iniitialize systems crucial for nsc +use std::io::Read; + +pub fn init() -> Result<(), Box<dyn std::error::Error + Send + Sync + 'static>> { + let mut config = tun::Configuration::default(); + config + .address((10, 0, 0, 9)) + .netmask((255, 255, 255, 0)) + .destination((10, 0, 0, 1)) + .up(); + + #[cfg(target_os = "linux")] + config.platform_config(|config| { + // requiring root privilege to acquire complete functions + config.ensure_root_privileges(true); + }); + + let mut dev = tun::create(&config)?; + let mut buf = [0; 4096]; + + loop { + let amount = dev.read(&mut buf)?; + println!("{:?}", &buf[0..amount]); + } +} |
