geiserx_tailscale 0.57.6

A work-in-progress pure-Rust Tailscale implementation (fork of tailscale/tailscale-rs)
docs.rs failed to build geiserx_tailscale-0.57.6
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: geiserx_tailscale-0.57.3

A fork of tailscale/tailscale-rs.

tailscale-rs is a work-in-progress Tailscale library written in Rust, with language bindings to C, Elixir, and Python.

[!NOTE] This project is not associated with Tailscale Inc. — it is an independent, unofficial fork. See Legal.

[!CAUTION] This software is unstable and insecure.

I welcome enthusiasm and interest, but please do not build production software using these libraries or rely on it for data privacy until I've had a chance to batten down some hatches and complete a third-party audit.

See Caveats for more details.

Features

  • TCP and UDP sockets on the tailnet from an in-process WireGuard data plane.
  • Direct peer-to-peer connections through NAT traversal (STUN, Disco, CallMeMaybe), falling back to DERP relays.
  • MagicDNS and split DNS, fail-closed by default.
  • Using subnet routers and exit nodes (opt-in), with the exit node changeable at runtime.
  • Tailscale Serve handlers: Proxy, Text, TcpForward, Path and Redirect.
  • Tailnet Lock peer signature enforcement (partial, see SECURITY.md).
  • An optional Go-style tsnet::Server facade.
  • C, Elixir and Python bindings. Talks to the Go client, tsnet and libtailscale.

Quick start

Inside a binary crate, with Rust 1.94.1 or newer:

cargo add geiserx_tailscale --rename tailscale
TS_RS_EXPERIMENT=this_is_unstable_software cargo run

The crate is published as geiserx_tailscale and imported as tailscale, and every program linked against it needs TS_RS_EXPERIMENT set as above. A UDP client sample and the tsnet facade are in Getting started, and more in examples/.

Documentation

The documentation is at geiserx.github.io/tailscale-rs, and the API reference on docs.rs.

Legal

This project is not associated with Tailscale Inc. It is an independent, unofficial fork. "Tailscale" is a trademark of Tailscale Inc.; it is used here only to describe interoperability and the upstream project this is forked from.

WireGuard is a registered trademark of Jason A. Donenfeld.

License

BSD-3-Clause.