No description
Find a file
2023-03-12 19:48:00 +01:00
.github/workflows CI: no matrix, only ubuntu 2023-03-12 19:48:00 +01:00
example libtailscale: Tailscale C library 2023-03-01 08:21:28 -08:00
python libtailscale: update tailscale_loopback 2023-03-06 11:58:20 -08:00
ruby libtailscale: update tailscale_loopback 2023-03-06 11:58:20 -08:00
rust Reformat, docs 2023-03-12 19:44:25 +01:00
tsnetctest libtailscale: EBADF on bad tailscale_listener_close fd 2023-03-11 16:53:35 -08:00
.gitignore Build it out 2023-03-12 15:47:34 +01:00
Cargo.lock Renamed and readme docs 2023-03-12 19:36:42 +01:00
Cargo.toml Renamed and readme docs 2023-03-12 19:36:42 +01:00
go.mod go.mod, go.sum: update tsnet 2023-03-07 19:54:59 -08:00
go.sum go.mod, go.sum: update tsnet 2023-03-07 19:54:59 -08:00
LICENSE LICENSE: add common 3-clause license we use 2023-03-01 20:22:42 -08:00
README.md Renamed and readme docs 2023-03-12 19:36:42 +01:00
tailscale.c libtailscale: update tailscale_loopback 2023-03-06 11:58:20 -08:00
tailscale.go libtailscale: EBADF on bad tailscale_listener_close fd 2023-03-11 16:53:35 -08:00
tailscale.h libtailscale: EBADF on bad tailscale_listener_close fd 2023-03-11 16:53:35 -08:00
tailscale_test.go libtailscale: Tailscale C library 2023-03-01 08:21:28 -08:00

tsnet - bindings for libtailscale.

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.

Requirements

  • Rust compiler & Cargo
  • Go v1.20 or higher

Getting started

After running cargo init add the following lines to your Cargo.toml file:

tsnet = "0.1.0"

Development

Build with

cargo build

Run tests with

cargo test

Run the examples with

cargo run --example echo_server
cargo run --example echo_client

Bugs

Please file any issues about this code or the hosted service on the issue tracker.

License

BSD 3-Clause for this repository, see LICENSE.