Skip to main content

Manage multiple NetBird instances with isolated configs, sockets, and interfaces

Project description

twinbird

Ruff PyPI - Version PyPI - Downloads

Manage multiple NetBird instances on a single machine with isolated configs, daemon sockets, and WireGuard interfaces.

Install

uv tool install twinbird

or

pip install twinbird

Usage

# Start a named instance
twinbird up office --management-url https://mgmt.example.com --setup-key YOUR_KEY

# Check status
twinbird status office

# List all instances
twinbird list

# Stop an instance
twinbird down office

Environment Variables

Instead of passing flags every time:

export TWINBIRD_MANAGEMENT_URL=https://mgmt.example.com
export TWINBIRD_SETUP_KEY=YOUR_KEY
twinbird up office
Variable Purpose
TWINBIRD_MANAGEMENT_URL Default management URL
TWINBIRD_SETUP_KEY Default setup key
TWINBIRD_NETBIRD_BIN Path to netbird binary (default: netbird on PATH)
TWINBIRD_CONFIG_DIR Override root config directory

How It Works

Each named instance gets:

  • Its own config directory (~/.config/twinbird/<name>/ on Linux, %APPDATA%/twinbird/<name>/ on Windows)
  • A unique daemon socket address (Unix socket on Linux/macOS, TCP port on Windows)
  • A unique WireGuard interface name (wt<N> on Linux, utun<N> on macOS)

Twinbird starts a separate netbird service run daemon per instance, then connects with netbird up — all fully isolated from the primary NetBird installation.

Requirements

  • NetBird installed and on PATH
  • Python 3.10+

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

twinbird-0.1.4.tar.gz (16.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

twinbird-0.1.4-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file twinbird-0.1.4.tar.gz.

File metadata

  • Download URL: twinbird-0.1.4.tar.gz
  • Upload date:
  • Size: 16.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for twinbird-0.1.4.tar.gz
Algorithm Hash digest
SHA256 d3162b49cf96b83d86375a9f75046cc669dd8435e77907b28c7e8c82cea5e3ca
MD5 ce459d4be9d439a1e245793de5cc91ee
BLAKE2b-256 9bfcff5ce4a41ed0b01fa66e2888e88f2317fd8edc0b6116508b3a8a012cc976

See more details on using hashes here.

Provenance

The following attestation bundles were made for twinbird-0.1.4.tar.gz:

Publisher: release.yml on OseSem/twinbird

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file twinbird-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: twinbird-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for twinbird-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ed3ce9fecf8004c9f898802468a11dff981db957ee331519949a21735fbf654b
MD5 afd4ed1e3c298964d3359f1b1a82c426
BLAKE2b-256 14d3bd127758e31a789cddfa0595cc1735b3229b216869644ed5dd3985be7283

See more details on using hashes here.

Provenance

The following attestation bundles were made for twinbird-0.1.4-py3-none-any.whl:

Publisher: release.yml on OseSem/twinbird

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page