webfind 0.5.0

Self-hosted native search engine for AI agents — pure CLI, zero cost
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
pub async fn run(
    listen: String,
    cidr: Option<String>,
    source_ips: Option<String>,
) -> anyhow::Result<()> {
    let listen_addr = listen.parse()?;
    let ips: Vec<std::net::IpAddr> = if let Some(c) = cidr {
        webfind::engine::proxy_server::generate_ips_from_cidr(&c)?
    } else if let Some(list) = source_ips {
        list.split(',')
            .map(|s| s.trim().parse())
            .collect::<Result<Vec<_>, _>>()?
    } else {
        anyhow::bail!("provide either --cidr or --source-ips");
    };
    let server = webfind::engine::proxy_server::ProxyServer::new(listen_addr, ips);
    server.run().await
}