Skip to main content

diodos

diodos is a CLI daemon that monitors your network and automatically attempts login when a captive portal is detected.

Features

  • Checks connectivity on a configurable interval.
  • Detects likely captive-portal redirects.
  • Submits configured credentials automatically.
  • Works with python -m diodos and the installed diodos command.

Installation

With uv (recommended)

Install as a global CLI tool:

uv tool install diodos

Run without installing globally:

uvx diodos run

With pip (alternative)

pip install diodos

From source

git clone <your-repo-url>
cd Diodos
uv sync

Usage

diodos run

Or:

python -m diodos run

On first run, diodos creates a default config file and opens it for editing.

Configuration

Default config path:

  • Linux: ~/.config/diodos/config.toml (or $XDG_CONFIG_HOME/diodos/config.toml)
  • macOS: ~/Library/Application Support/diodos/config.toml
  • Windows: %APPDATA%/diodos/config.toml

Example:

[network_check]
url = "https://example.com"
msg = "Success"
interval = 60

[login]
url = "https://portal.example.com/login"

[login.credentials]
username = "your-username"
password = "your-password"

Development

Build distributables:

uv build

Validate package metadata:

uvx twine check dist/*

Download files

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

Source Distribution

diodos-0.1.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

diodos-0.1.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file diodos-0.1.0.tar.gz.

File metadata

  • Download URL: diodos-0.1.0.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for diodos-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4e0a9d97aea1cb4616612adcf0fb24b65a3a6df4d0d868e0eecf45f2d5791318
MD5 3d584a8f336ba00e534e713f62a580f7
BLAKE2b-256 99c26db44d510e6834c3e826bc88ee735218ef81ccee43927bda3f50853f451c

See more details on using hashes here.

Provenance

The following attestation bundles were made for diodos-0.1.0.tar.gz:

Publisher: publish-pypi.yml on RushiVivek/Diodos

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

File details

Details for the file diodos-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: diodos-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for diodos-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 33a97905c245ad778d81d753e3fad5a4bf4df068a30830ebf7d4ffdd232188cd
MD5 facc4a433ad5728b79335bf4b9dc9692
BLAKE2b-256 a21aa5b9fc4bd1dcbb15e37ca5da4470939cc49a9537fcee2262c7c7256e6b37

See more details on using hashes here.

Provenance

The following attestation bundles were made for diodos-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on RushiVivek/Diodos

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

0.1.0 This release

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