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.3.tar.gz (15.9 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.3-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: twinbird-0.1.3.tar.gz
  • Upload date:
  • Size: 15.9 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.3.tar.gz
Algorithm Hash digest
SHA256 1a5ace96d12d2451843b64ead0fa41b16e1bf85295578dfb4272620deaf76667
MD5 7e8790f0a2465e45a8be7b7b8fe4e0fd
BLAKE2b-256 79fe8e27a7c63af990461910ed097d92ac002c77ac0c5d1b95e8839c9ef4d4dc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: twinbird-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 12.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 545a217ac53746e29178513aa008765eed2e03a9acb1222a2f8401989716f6ef
MD5 4a354e6c660d50059c804521abc3c090
BLAKE2b-256 fc8914ab9c17bd2ac5ee8e4a362b0d0e6b340096d947e64fffe1ab9965539991

See more details on using hashes here.

Provenance

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