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.1.tar.gz (11.5 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.1-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for twinbird-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ae760d823a3a00d3b0b8bb2b596070e975e4fbe854a754cdd100da197e6f16ec
MD5 9dab0eef9c54a1111968cde76594c4ce
BLAKE2b-256 a91933f14e918d18c4eda50e0935b1b097b4a38b8421ab9804fe5b3ad7efe8cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for twinbird-0.1.1.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.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for twinbird-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 85bc7e9b672a46e59243abbe7608cc05dc5e5bb787311fa99b6c9a03a2b085b4
MD5 e582e1a0c785827fa00e2eecb9b763dc
BLAKE2b-256 3ed15716d34467b8b27a67711d997ee48b7cbb38216585de18808de65ec3461b

See more details on using hashes here.

Provenance

The following attestation bundles were made for twinbird-0.1.1-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