Skip to main content

AutoDialer is an automation script designed to interact with routers using APIs.

Project description

AutoDialer

AutoDialer is a cross-platform Python CLI package for router APIs, designed to rotate public IP addresses automatically and streamline router interactions.

Why AutoDialer?

  • Convenient IP rotation on dynamic lines without manual router reboot.
  • Cross-platform (Windows, Linux, macOS, FreeBSD).
  • CLI-first usage for scripts and automation.

Installation

Using pip (recommended)

pip install autodialer

Using uv

If you prefer uv for faster environment and dependency management:

# install from PyPI
uv tool install autodialer

# run directly
autodialer

For local development:

uv sync
uv pip install -e .
uv run autodialer --help

From source (development)

python -m venv .venv

# Windows (PowerShell)
. .\.venv\Scripts\Activate.ps1

# Linux/macOS
source .venv/bin/activate

python -m pip install -e .

Configuration

Create a .env file in your working directory:

Variable Description
PANEL_USERNAME Router panel username (defaults to admin)
PANEL_PASSWORD Router panel password
PPPOE_USERNAME ISP PPPoE username (optional; used when you want to overwrite the router's saved PPPoE config before reconnecting)
PPPOE_PASSWORD ISP PPPoE password (optional; used when you want to overwrite the router's saved PPPoE config before reconnecting)
ASN Target ASN (optional unless not using --force)

Example:

PANEL_USERNAME='admin'
PANEL_PASSWORD='your_router_panel_password'
PPPOE_USERNAME='your_pppoe_username'
PPPOE_PASSWORD='your_pppoe_password'
ASN='AS9929'

Usage

After installation, use the CLI directly:

autodialer
autodialer --force
autodialer --asn AS9929
autodialer-devices --tplink

Arguments:

  • -f, --force: force reconnection even if ASN is already matched.
  • -a, --asn: target ASN (for example AS9929 or 9929).

Behavior:

  • AutoDialer detects current WAN protocol and applies matching reconnection action.
  • PPPoE uses disconnect/connect flow and reuses the router's saved credentials by default.
  • If PPPOE_USERNAME and PPPOE_PASSWORD are set, AutoDialer updates the router's PPPoE config before reconnecting.
  • DHCP uses DHCP renew flow and shares the same ASN/check/retry control logic.
  • ASUSWRT routers use panel authentication plus WAN restart through the ASUS web API.

Notes

  • TP-Link and ASUS routers are supported by default.
  • Keep .env private and never commit credentials.

Thanks for using AutoDialer.

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

autodialer-0.2.3.tar.gz (29.8 kB view details)

Uploaded Source

Built Distribution

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

autodialer-0.2.3-py3-none-any.whl (31.6 kB view details)

Uploaded Python 3

File details

Details for the file autodialer-0.2.3.tar.gz.

File metadata

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

File hashes

Hashes for autodialer-0.2.3.tar.gz
Algorithm Hash digest
SHA256 4533b46155d6b5909e15f5cedcdd488c156096cb16ed40adaecd4af5ab4ba419
MD5 5d7071ba0dad139493f92a8ee53efe7d
BLAKE2b-256 387359005bc4c8d90457b46c3c79cbcee585c040aac2497bef08d93a8516aa5b

See more details on using hashes here.

Provenance

The following attestation bundles were made for autodialer-0.2.3.tar.gz:

Publisher: release.yml on ByteFlowing1337/AutoDialer

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

File details

Details for the file autodialer-0.2.3-py3-none-any.whl.

File metadata

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

File hashes

Hashes for autodialer-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 d74c878974f614ba634e9e107d73d16c4909c4caf3d413551d7e854588454295
MD5 21a2b584b8427b351496032a22256a86
BLAKE2b-256 8e4863c88d2ba080333cc749ad99be7680fd3fd4c5fd2029b5614cfb5723858a

See more details on using hashes here.

Provenance

The following attestation bundles were made for autodialer-0.2.3-py3-none-any.whl:

Publisher: release.yml on ByteFlowing1337/AutoDialer

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