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, 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.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file autodialer-0.4.0.tar.gz.
File metadata
- Download URL: autodialer-0.4.0.tar.gz
- Upload date:
- Size: 41.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
069ea5c44c3e136827b62099206eb968377e4e5c9a4b7edb7a68e2113f7e6bf9
|
|
| MD5 |
198a39c4ba3029ad27dea0adac60c317
|
|
| BLAKE2b-256 |
7dfa0458cbe852b01077b117c05ecb4152a88ed1cbef43148452a5a1b5366db0
|
Provenance
The following attestation bundles were made for autodialer-0.4.0.tar.gz:
Publisher:
release.yml on ByteFlowing1337/AutoDialer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autodialer-0.4.0.tar.gz -
Subject digest:
069ea5c44c3e136827b62099206eb968377e4e5c9a4b7edb7a68e2113f7e6bf9 - Sigstore transparency entry: 1474582067
- Sigstore integration time:
-
Permalink:
ByteFlowing1337/AutoDialer@3f918391951f0afd0ec1d6d556b7ccb67b48e540 -
Branch / Tag:
refs/tags/0.3.1 - Owner: https://github.com/ByteFlowing1337
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f918391951f0afd0ec1d6d556b7ccb67b48e540 -
Trigger Event:
release
-
Statement type:
File details
Details for the file autodialer-0.4.0-py3-none-any.whl.
File metadata
- Download URL: autodialer-0.4.0-py3-none-any.whl
- Upload date:
- Size: 39.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48ee97ddf739cc76fabd4a373114cd3170524911755efb1b75508613efcb3db5
|
|
| MD5 |
b86664c7129b5b25ead40c712d7d052b
|
|
| BLAKE2b-256 |
78384907695c57862837b2bcceb563f1d27d5b892fa4f5f19b68478ed1c2f3d5
|
Provenance
The following attestation bundles were made for autodialer-0.4.0-py3-none-any.whl:
Publisher:
release.yml on ByteFlowing1337/AutoDialer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
autodialer-0.4.0-py3-none-any.whl -
Subject digest:
48ee97ddf739cc76fabd4a373114cd3170524911755efb1b75508613efcb3db5 - Sigstore transparency entry: 1474582225
- Sigstore integration time:
-
Permalink:
ByteFlowing1337/AutoDialer@3f918391951f0afd0ec1d6d556b7ccb67b48e540 -
Branch / Tag:
refs/tags/0.3.1 - Owner: https://github.com/ByteFlowing1337
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@3f918391951f0afd0ec1d6d556b7ccb67b48e540 -
Trigger Event:
release
-
Statement type: