summaryrefslogtreecommitdiff
path: root/src/startup.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/startup.rs')
-rw-r--r--src/startup.rs25
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]);
+ }
+}