libtailscale is a C library that embeds Tailscale into a process. tsnet is a Rust crate wrapping libtailscale and exposing a Rust-y API on top.
Use this library to compile Tailscale into your program and get an IP address on a tailnet, entirely from userspace.
- Rust compiler & Cargo
- Go v1.20 or higher
After running cargo init
add the following lines to your Cargo.toml
file:
tsnet = "0.1.0"
or
make archive
This will produce a libtailscale.a
file. Link it into your binary,
and use the tailscale.h
header to reference it.
Build with
cargo build
Run tests with
cargo test
Run the examples with
cargo run --example echo_server
cargo run --example echo_client
or
make shared
Please file any issues about this code or the hosted service on the issue tracker.
BSD 3-Clause for this repository, see LICENSE.