#internet #rules #tnnl

bin+lib tnnl

tnnl gives you full control over whether and when your IoT devices should be reachable from the internet

15 releases

0.1.14 Apr 4, 2025
0.1.13 Mar 28, 2025
0.1.11 Feb 19, 2025
0.1.6 Dec 20, 2024
0.1.3 May 20, 2024

#441 in Embedded development

Download history 119/week @ 2024-12-18 4/week @ 2025-01-08 446/week @ 2025-02-12 138/week @ 2025-02-19 46/week @ 2025-02-26 161/week @ 2025-03-05 13/week @ 2025-03-12 157/week @ 2025-03-26 153/week @ 2025-04-02

332 downloads per month

MIT and maybe LGPL-3.0

62KB
1.5K SLoC

tnnl

tnnl ("tunnel") gives you full control over whether and when your IoT devices should be reachable from the internet.

It provides secure access from distant networks - anywhere in the world.


lib.rs:

Client library for tnnl

This library is for writing rust clients that are using tnnl.

tnnl ("tunnel") gives you full control over whether and when your IoT devices should be reachable from the internet. It provides secure access from distant networks - anywhere in the world.

You can use [tnnl_main] to start tnnl with configuration from envionment variables.

use tnnl::tnnl_main;
tnnl_main();

Or you can use builder::Builder if you want to have more control over the tnnl connection.

use tnnl::builder::*;
use tnnl::rules::*;
Builder::new(&"MY_SECRET_TOKEN")
    .with_client_name(&"MY_CLIENT_NAME")
    .with_client_id(&"MY_CLIENT_ID")
    .with_rule(Rule::parse("*:*-*:*")?)
    .connect().await?;

Dependencies

~5–19MB
~287K SLoC