mirror of
https://github.com/Drop-OSS/libtailscale.git
synced 2026-07-01 06:41:57 -04:00
b0e2f4a4e4e38d40dca12f379ad8ac4c40d29746
Use a socketpair(2) and sendmsg/recvmsg to pass a connection fd from Go to C. This lets people write non-blocking C by polling on a tailscale_listener for when they should tailscale_accept. Signed-off-by: David Crawshaw <crawshaw@tailscale.com>
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
Languages
Swift
50.9%
Go
15%
Ruby
9.1%
C
8.8%
Python
4.9%
Other
11.3%