David Crawshaw 926893f68c libtailscale: take a C.int, not a Go int
This was compiling because of the implicit integer conversion on the C
side. But -1 was becoming INT32MAX. Which was an invalid fd, so the logs
were hidden just as if the fd were -1. But it filled strace with EBADF.

Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
2023-03-07 12:36:29 -08:00
2023-03-01 08:21:28 -08:00
2023-03-06 11:58:20 -08:00
2023-03-06 11:58:20 -08:00

libtailscale

libtailscale is a C library that embeds Tailscale into a process.

Use this library to compile Tailscale into your program and get an IP address on a tailnet, entirely from userspace.

Building

With the latest version of Go, run:

go build -buildmode=c-archive

This will produce a libtailscale.a file. Link it into your binary, and use the tailscale.h header to reference it.

It is also possible to build a shared library using

go build -buildmode=c-shared

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.

Description
⚠️ ARCHIVED: Original GitHub repository no longer exists. Preserved as backup on 2026-01-30T23:26:04.739Z
Readme BSD-3-Clause 205 KiB
Languages
Swift 50.9%
Go 15%
Ruby 9.1%
C 8.8%
Python 4.9%
Other 11.3%