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, BSD).
- CLI-first usage for scripts and automation.
Installation
pip install autodialer
[!NOTE] Only TP-Link, ZTE and ASUS routers are supported now.
[!WARNING] Keep
.envprivate and never commit credentials.
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 override (optional) |
PPPOE_PASSWORD |
ISP PPPoE password override (optional) |
ASN |
Optional library-level default ASN. The CLI currently expects the ASN to be passed explicitly with --asn <ASN>. |
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 --force
autodialer --asn AS9929
autodialer-devices
autodialer --change
Arguments:
-f,--force: force reconnection even if ASN is already matched.-a,--asn: target ASN (for exampleAS9929or9929).-c,--change: change the IP address.
Behavior:
autodialerwith no arguments is invalid; use one of--force,--asn <ASN>, or--change.- 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_USERNAMEandPPPOE_PASSWORDare set, AutoDialer updates the router's PPPoE config before reconnecting. - DHCP uses DHCP renew flow and shares the same ASN/check/retry control logic.
Documentation
- Setup and CLI details:
docs/getting-started.md - Detection and reconnection flow:
docs/how-it-works.md - Contribution guide:
CONTRIBUTING.md
Thanks for using AutoDialer.
Release files for AutoDialer 0.4.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| autodialer-0.4.5.tar.gz | 43.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| autodialer-0.4.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 85.3 kB
Release files / autodialer-0.4.5.tar.gz
| Download URL | autodialer-0.4.5.tar.gz |
|---|---|
| Size | 43.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26ef0e4ae5d0c7e94ed045b8c5dd285b103dfde82c854b2e547af497ae98ae05
|
|
BLAKE2b-256 checksum How to use checksums |
d0fd68ff2f12fd7bb357c396218644691b479f24656041f7da35d22e51a7d1f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.
Transparency logRelease files / autodialer-0.4.5-py3-none-any.whl
| Download URL | autodialer-0.4.5-py3-none-any.whl |
|---|---|
| Size | 41.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8c1a218c6350a8153f4f48bcea76339c8bcac848e23f685b0e3efe565783440e
|
|
BLAKE2b-256 checksum How to use checksums |
789a656151df9575b0799c773bf4a818282161f75f4c0bf4e38cad9f82399840
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 28, 2026.
Transparency log