1 unstable release

0.1.0 Feb 14, 2024

#12 in #onion

MIT license

32KB
194 lines

arti-axum

crates.io Documentation MIT

This crate allows you to run your axum http server as a tor hidden service using arti.

Example

For a full example, take a look at hello_world.rs.

let tor_client = TorClient::create_bootstrapped(TorClientConfig::default()).await?;

let (onion_service, rend_requests) = tor_client.launch_onion_service(
    OnionServiceConfigBuilder::default()
        .nickname("hello-world".to_owned().try_into().unwrap())
        .build()?,
)?;

let stream_requests = handle_rend_requests(rend_requests);

let app = Router::new().route("/", routing::get(|| async { "Hello, World!" }));

println!("serving at: http://{}", onion_service.onion_name().unwrap());

arti_axum::serve(stream_requests, app).await;

Dependencies

~36–50MB
~792K SLoC