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.2.tar.gz (14.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.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: twinbird-0.1.2.tar.gz
  • Upload date:
  • Size: 14.7 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.2.tar.gz
Algorithm Hash digest
SHA256 671b74874c2d614efcde351047f4c86cb7569b3ff6b3d00b63cec3f1a5a87ad3
MD5 4e5dc8150fe3104a631b556c0f79e6e2
BLAKE2b-256 9ad44990acee71ec0fc398bebf3930aa934ea2207cc537558a2bbab412454e3b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: twinbird-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 11.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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 540390e7ab4900c7dcc4dcf359d1b21b690b3224ec580c3e49d1aa24d5057e59
MD5 6d59fa4fde3defb938bd0e811f019a64
BLAKE2b-256 de5d39606672d293d2a0a71d071496674fc050426c50dbfec4b8184993455ba6

See more details on using hashes here.

Provenance

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