Skip to main content

ThroneTools

Cross-platform CLI to install, reinstall, uninstall, and manage configuration for Throne(NekoRay) on Linux, macOS, and Windows.

GitHub stars GitHub forks GitHub issues Actions Status Coverage Status License: MIT PyPI Supported Python Versions

Requirements

Features

  • Cross-platform — Linux, macOS, and Windows support
  • Self-update — Update Throne to the latest release with one command
  • Geo data management — Install and verify geoip/geosite databases for sing-box

Quick Start (uv)

# from repo root
uv sync
uv run thronetools --help

Run without subcommands to show the styled help:

uv run thronetools

Commands

thronetools install
thronetools update --app {throne|nekoray}
thronetools backup --app {throne|nekoray} [--output <path-or-dir>]
thronetools restore --app {throne|nekoray} --zip <backup.zip>
thronetools remove --app {throne|nekoray}
thronetools reinstall --app {throne|nekoray} [--backup] [--output <path-or-dir>] [--force]
thronetools version --app {throne|nekoray}
thronetools geo-install --app {throne|nekoray}
thronetools hotspot enable [--iface <iface>] [--ssid <name>] [--password <pass>] [--dry-run]
thronetools hotspot disable [--dry-run]

Common Examples

# Install Throne
uv run thronetools install

# Update Throne to the latest version
uv run thronetools update --app throne

# Install/update geoip and geosite databases
uv run thronetools geo-install --app throne

# Backup Throne config to current directory
uv run thronetools backup --app throne

# Backup NekoRay config to a specific folder
uv run thronetools backup --app nekoray --output ~/Backups

# Restore Throne config
uv run thronetools restore --app throne --zip ~/Backups/throne-backup-2026-02-17.zip

# Reinstall with backup + restore flow
uv run thronetools reinstall --app throne --backup

# Show installed app details
uv run thronetools version --app throne

# Preview hotspot commands without applying changes
uv run thronetools hotspot enable --iface wlp2s0 --dry-run

Notes

  • hotspot commands are supported on Linux and macOS. On Windows, hotspot subcommands are not available.
  • Some operations require elevated privileges depending on platform/package manager.

Development

# Lint/format (Ruff is configured in pyproject.toml)
uv run ruff check .
uv run ruff format .

# Build package
uv build

Related Projects

Explore other CLI tools by Arian Omrani:

  • LinkCovery - Modern bookmark management CLI tool
  • PEM - Python Execution Manager - Schedule and execute Python scripts
  • OllamaTools - CLI tool for managing Ollama models

Install as a tool (optional)

If you want a globally available command via uv:

uv tool install .
thronetools --help

To update later:

uv tool upgrade thronetools

License

MIT License — see the LICENSE file for details.

Contributing

Contributions are welcome! Feel free to submit a pull request.

Download files

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

Source Distribution

thronetools-1.1.3.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

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

thronetools-1.1.3-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

Details for the file thronetools-1.1.3.tar.gz.

File metadata

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

File hashes

Hashes for thronetools-1.1.3.tar.gz
Algorithm Hash digest
SHA256 6a320f77e75a2898a849fada5e1809054167322be373a1ad2a5a6efd8576464d
MD5 ce8ec5454a0b6a5368b0f02d42a223cd
BLAKE2b-256 6cafa52c2796661cd3550bb8696321b645d2c1cebc81f309a2b99d5e066969a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for thronetools-1.1.3.tar.gz:

Publisher: release.yml on arian24b/thronetools

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

File details

Details for the file thronetools-1.1.3-py3-none-any.whl.

File metadata

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

File hashes

Hashes for thronetools-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a8fa503a1b8adc97754aa100f5f4816c170ba22ca170189c2e40b995b3c8b4cc
MD5 1b01726273e60151a3d7dac91aea8c73
BLAKE2b-256 226589c3c03c672eb9c2ba035c0a4c658f93ed63477f735c42cf50624f4a4e02

See more details on using hashes here.

Provenance

The following attestation bundles were made for thronetools-1.1.3-py3-none-any.whl:

Publisher: release.yml on arian24b/thronetools

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

Release history Release notifications | RSS feed

This release

1.1.3 This release

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.4

2 files

Supported by

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