2024-02-05 12:45:45 +00:00
|
|
|
use anyhow::Result;
|
|
|
|
use clap::Parser;
|
|
|
|
use env_logger::Env;
|
2024-02-06 09:07:18 +00:00
|
|
|
use hyphanet::NetworkService;
|
2024-02-05 12:45:45 +00:00
|
|
|
|
|
|
|
#[derive(Parser, Debug)]
|
|
|
|
struct NetworkArgs {
|
2024-02-11 06:43:09 +00:00
|
|
|
#[arg(long, default_value = "192.168.42.1/24")]
|
|
|
|
ipv4_network: String,
|
|
|
|
|
|
|
|
#[arg(long, default_value = "fe80::1/10")]
|
|
|
|
ipv6_network: String,
|
2024-02-05 12:45:45 +00:00
|
|
|
}
|
|
|
|
|
2024-02-05 19:10:02 +00:00
|
|
|
#[tokio::main]
|
|
|
|
async fn main() -> Result<()> {
|
2024-02-05 12:45:45 +00:00
|
|
|
env_logger::Builder::from_env(Env::default().default_filter_or("warn")).init();
|
|
|
|
let args = NetworkArgs::parse();
|
2024-02-11 06:43:09 +00:00
|
|
|
let mut service = NetworkService::new(args.ipv4_network, args.ipv6_network)?;
|
2024-02-05 19:10:02 +00:00
|
|
|
service.watch().await?;
|
2024-02-05 12:45:45 +00:00
|
|
|
Ok(())
|
|
|
|
}
|