AutoDialer 0.2.2__tar.gz → 0.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. {autodialer-0.2.2/src/AutoDialer.egg-info → autodialer-0.2.4}/PKG-INFO +20 -44
  2. autodialer-0.2.2/README.MD → autodialer-0.2.4/README.md +19 -43
  3. {autodialer-0.2.2 → autodialer-0.2.4}/pyproject.toml +1 -1
  4. {autodialer-0.2.2 → autodialer-0.2.4/src/AutoDialer.egg-info}/PKG-INFO +20 -44
  5. {autodialer-0.2.2 → autodialer-0.2.4}/src/AutoDialer.egg-info/SOURCES.txt +15 -4
  6. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/__init__.py +3 -1
  7. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/apis/__init__.py +3 -1
  8. autodialer-0.2.4/src/autodialer/apis/routers/asus/__init__.py +3 -0
  9. autodialer-0.2.4/src/autodialer/apis/routers/asus/asus_api.py +455 -0
  10. autodialer-0.2.4/src/autodialer/apis/routers/base_api.py +11 -0
  11. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/apis/routers/tplink/tplink_api.py +33 -22
  12. autodialer-0.2.4/src/autodialer/apis/routers/zte/zte_api.py +434 -0
  13. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/apis/utils/check_isp.py +17 -12
  14. autodialer-0.2.4/src/autodialer/apis/utils/check_vendor.py +122 -0
  15. autodialer-0.2.4/src/autodialer/apis/utils/get_gateway.py +199 -0
  16. autodialer-0.2.4/src/autodialer/apis/utils/get_vendor_api.py +75 -0
  17. autodialer-0.2.2/src/autodialer/apis/routers/tplink/tplink_get_devices.py → autodialer-0.2.4/src/autodialer/apis/utils/print_devices_table.py +0 -9
  18. autodialer-0.2.4/src/autodialer/config/__init__.py +0 -0
  19. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/config/config.py +1 -0
  20. autodialer-0.2.4/src/autodialer/encode/zte_encode.py +9 -0
  21. autodialer-0.2.4/src/autodialer/get_devices.py +37 -0
  22. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/reconnection.py +28 -26
  23. autodialer-0.2.4/tests/test_asus_api.py +193 -0
  24. autodialer-0.2.4/tests/test_check_vendor.py +125 -0
  25. autodialer-0.2.4/tests/test_get_gateway.py +96 -0
  26. autodialer-0.2.4/tests/test_get_vendor_api.py +39 -0
  27. {autodialer-0.2.2 → autodialer-0.2.4}/tests/test_reconnection.py +20 -1
  28. autodialer-0.2.4/tests/test_tplink_api.py +105 -0
  29. autodialer-0.2.4/tests/test_zte_api.py +450 -0
  30. autodialer-0.2.2/src/autodialer/apis/utils/check_router_vendor.py +0 -63
  31. autodialer-0.2.2/src/autodialer/apis/utils/get_gateway.py +0 -39
  32. autodialer-0.2.2/src/autodialer/apis/utils/get_vendor_api.py +0 -12
  33. autodialer-0.2.2/src/autodialer/get_devices.py +0 -23
  34. autodialer-0.2.2/tests/test_get_gateway.py +0 -51
  35. {autodialer-0.2.2 → autodialer-0.2.4}/LICENSE +0 -0
  36. {autodialer-0.2.2 → autodialer-0.2.4}/setup.cfg +0 -0
  37. {autodialer-0.2.2 → autodialer-0.2.4}/src/AutoDialer.egg-info/dependency_links.txt +0 -0
  38. {autodialer-0.2.2 → autodialer-0.2.4}/src/AutoDialer.egg-info/entry_points.txt +0 -0
  39. {autodialer-0.2.2 → autodialer-0.2.4}/src/AutoDialer.egg-info/requires.txt +0 -0
  40. {autodialer-0.2.2 → autodialer-0.2.4}/src/AutoDialer.egg-info/top_level.txt +0 -0
  41. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/apis/routers/__init__.py +0 -0
  42. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/apis/routers/tplink/__init__.py +0 -0
  43. {autodialer-0.2.2/src/autodialer/config → autodialer-0.2.4/src/autodialer/apis/routers/zte}/__init__.py +0 -0
  44. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/apis/utils/is_target_asn.py +0 -0
  45. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/encode/__init__.py +0 -0
  46. {autodialer-0.2.2 → autodialer-0.2.4}/src/autodialer/encode/tplink_security_encode.py +0 -0
  47. {autodialer-0.2.2 → autodialer-0.2.4}/tests/test_check_isp.py +0 -0
  48. {autodialer-0.2.2 → autodialer-0.2.4}/tests/test_pppoe.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AutoDialer
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: AutoDialer is an automation script designed to interact with routers using APIs.
5
5
  Author-email: Byte Flow <fakeshadow1337@gmail.com>
6
6
  License-Expression: GPL-3.0-only
@@ -23,52 +23,23 @@ Requires-Dist: requests<3
23
23
  Dynamic: license-file
24
24
 
25
25
  # AutoDialer
26
-
26
+ ![AutoDialer](img/AutoDialer.png)
27
27
  AutoDialer is a cross-platform Python CLI package for router APIs, designed to rotate public IP addresses automatically and streamline router interactions.
28
28
 
29
29
  ## Why AutoDialer?
30
30
  - Convenient IP rotation on dynamic lines without manual router reboot.
31
- - Cross-platform (Windows, Linux, macOS, FreeBSD).
31
+ - Cross-platform (Windows, Linux, macOS, BSD).
32
32
  - CLI-first usage for scripts and automation.
33
33
 
34
34
  ## Installation
35
35
 
36
- ### Using pip (recommended)
37
36
  ```bash
38
37
  pip install autodialer
39
38
  ```
40
39
 
41
- ### Using uv
42
- If you prefer `uv` for faster environment and dependency management:
43
-
44
- ```bash
45
- # install from PyPI
46
- uv tool install autodialer
47
-
48
- # run directly
49
- autodialer
50
- ```
51
-
52
- For local development:
53
-
54
- ```bash
55
- uv sync
56
- uv pip install -e .
57
- uv run autodialer --help
58
- ```
59
-
60
- ### From source (development)
61
- ```bash
62
- python -m venv .venv
63
-
64
- # Windows (PowerShell)
65
- . .\.venv\Scripts\Activate.ps1
66
-
67
- # Linux/macOS
68
- source .venv/bin/activate
69
-
70
- python -m pip install -e .
71
- ```
40
+ ## Notes
41
+ - **Only** TP-Link, ZTE and ASUS routers are supported now.
42
+ - Keep `.env` private and never commit credentials.
72
43
 
73
44
  ## Configuration
74
45
 
@@ -76,13 +47,15 @@ Create a `.env` file in your working directory:
76
47
 
77
48
  | Variable | Description |
78
49
  | :--- | :--- |
50
+ | `PANEL_USERNAME` | Router panel username (defaults to `admin`) |
79
51
  | `PANEL_PASSWORD` | Router panel password |
80
- | `PPPOE_USERNAME` | ISP PPPoE username (required for PPPoE lines) |
81
- | `PPPOE_PASSWORD` | ISP PPPoE password (required for PPPoE lines) |
82
- | `ASN` | Target ASN (optional unless not using `--force`) |
52
+ | `PPPOE_USERNAME` | ISP PPPoE username override (optional) |
53
+ | `PPPOE_PASSWORD` | ISP PPPoE password override (optional) |
54
+ | `ASN` | Optional library-level default ASN. The CLI currently expects the ASN to be passed explicitly with `--asn <ASN>`. |
83
55
 
84
56
  Example:
85
57
  ```bash
58
+ PANEL_USERNAME='admin'
86
59
  PANEL_PASSWORD='your_router_panel_password'
87
60
  PPPOE_USERNAME='your_pppoe_username'
88
61
  PPPOE_PASSWORD='your_pppoe_password'
@@ -94,10 +67,9 @@ ASN='AS9929'
94
67
  After installation, use the CLI directly:
95
68
 
96
69
  ```bash
97
- autodialer
98
70
  autodialer --force
99
71
  autodialer --asn AS9929
100
- autodialer-devices --tplink
72
+ autodialer-devices
101
73
  ```
102
74
 
103
75
  Arguments:
@@ -105,13 +77,17 @@ Arguments:
105
77
  - `-a`, `--asn`: target ASN (for example `AS9929` or `9929`).
106
78
 
107
79
  Behavior:
80
+ - `autodialer` currently requires either `--force` or `--asn <ASN>`.
108
81
  - AutoDialer detects current WAN protocol and applies matching reconnection action.
109
- - PPPoE uses disconnect/connect flow with configured PPPoE credentials.
82
+ - PPPoE uses disconnect/connect flow and reuses the router's saved credentials by default.
83
+ - If `PPPOE_USERNAME` and `PPPOE_PASSWORD` are set, AutoDialer updates the router's PPPoE config before reconnecting.
110
84
  - DHCP uses DHCP renew flow and shares the same ASN/check/retry control logic.
111
85
 
112
- ## Notes
113
- - Current API payloads are primarily tailored for TP-Link router firmware behavior.
114
- - Keep `.env` private and never commit credentials.
86
+ ## Documentation
87
+
88
+ - Setup and CLI details: [`docs/getting-started.md`](docs/en/docs/getting-started.md)
89
+ - Detection and reconnection flow: [`docs/how-it-works.md`](docs/en/docs/how-it-works.md)
90
+ - Contribution guide: [`CONTRIBUTING.md`](CONTRIBUTING.md)
115
91
 
116
92
  ---
117
93
  Thanks for using AutoDialer.
@@ -1,50 +1,21 @@
1
1
  # AutoDialer
2
-
2
+ ![AutoDialer](img/AutoDialer.png)
3
3
  AutoDialer is a cross-platform Python CLI package for router APIs, designed to rotate public IP addresses automatically and streamline router interactions.
4
4
 
5
5
  ## Why AutoDialer?
6
6
  - Convenient IP rotation on dynamic lines without manual router reboot.
7
- - Cross-platform (Windows, Linux, macOS, FreeBSD).
7
+ - Cross-platform (Windows, Linux, macOS, BSD).
8
8
  - CLI-first usage for scripts and automation.
9
9
 
10
10
  ## Installation
11
11
 
12
- ### Using pip (recommended)
13
12
  ```bash
14
13
  pip install autodialer
15
14
  ```
16
15
 
17
- ### Using uv
18
- If you prefer `uv` for faster environment and dependency management:
19
-
20
- ```bash
21
- # install from PyPI
22
- uv tool install autodialer
23
-
24
- # run directly
25
- autodialer
26
- ```
27
-
28
- For local development:
29
-
30
- ```bash
31
- uv sync
32
- uv pip install -e .
33
- uv run autodialer --help
34
- ```
35
-
36
- ### From source (development)
37
- ```bash
38
- python -m venv .venv
39
-
40
- # Windows (PowerShell)
41
- . .\.venv\Scripts\Activate.ps1
42
-
43
- # Linux/macOS
44
- source .venv/bin/activate
45
-
46
- python -m pip install -e .
47
- ```
16
+ ## Notes
17
+ - **Only** TP-Link, ZTE and ASUS routers are supported now.
18
+ - Keep `.env` private and never commit credentials.
48
19
 
49
20
  ## Configuration
50
21
 
@@ -52,13 +23,15 @@ Create a `.env` file in your working directory:
52
23
 
53
24
  | Variable | Description |
54
25
  | :--- | :--- |
26
+ | `PANEL_USERNAME` | Router panel username (defaults to `admin`) |
55
27
  | `PANEL_PASSWORD` | Router panel password |
56
- | `PPPOE_USERNAME` | ISP PPPoE username (required for PPPoE lines) |
57
- | `PPPOE_PASSWORD` | ISP PPPoE password (required for PPPoE lines) |
58
- | `ASN` | Target ASN (optional unless not using `--force`) |
28
+ | `PPPOE_USERNAME` | ISP PPPoE username override (optional) |
29
+ | `PPPOE_PASSWORD` | ISP PPPoE password override (optional) |
30
+ | `ASN` | Optional library-level default ASN. The CLI currently expects the ASN to be passed explicitly with `--asn <ASN>`. |
59
31
 
60
32
  Example:
61
33
  ```bash
34
+ PANEL_USERNAME='admin'
62
35
  PANEL_PASSWORD='your_router_panel_password'
63
36
  PPPOE_USERNAME='your_pppoe_username'
64
37
  PPPOE_PASSWORD='your_pppoe_password'
@@ -70,10 +43,9 @@ ASN='AS9929'
70
43
  After installation, use the CLI directly:
71
44
 
72
45
  ```bash
73
- autodialer
74
46
  autodialer --force
75
47
  autodialer --asn AS9929
76
- autodialer-devices --tplink
48
+ autodialer-devices
77
49
  ```
78
50
 
79
51
  Arguments:
@@ -81,13 +53,17 @@ Arguments:
81
53
  - `-a`, `--asn`: target ASN (for example `AS9929` or `9929`).
82
54
 
83
55
  Behavior:
56
+ - `autodialer` currently requires either `--force` or `--asn <ASN>`.
84
57
  - AutoDialer detects current WAN protocol and applies matching reconnection action.
85
- - PPPoE uses disconnect/connect flow with configured PPPoE credentials.
58
+ - PPPoE uses disconnect/connect flow and reuses the router's saved credentials by default.
59
+ - If `PPPOE_USERNAME` and `PPPOE_PASSWORD` are set, AutoDialer updates the router's PPPoE config before reconnecting.
86
60
  - DHCP uses DHCP renew flow and shares the same ASN/check/retry control logic.
87
61
 
88
- ## Notes
89
- - Current API payloads are primarily tailored for TP-Link router firmware behavior.
90
- - Keep `.env` private and never commit credentials.
62
+ ## Documentation
63
+
64
+ - Setup and CLI details: [`docs/getting-started.md`](docs/en/docs/getting-started.md)
65
+ - Detection and reconnection flow: [`docs/how-it-works.md`](docs/en/docs/how-it-works.md)
66
+ - Contribution guide: [`CONTRIBUTING.md`](CONTRIBUTING.md)
91
67
 
92
68
  ---
93
69
  Thanks for using AutoDialer.
@@ -2,7 +2,7 @@
2
2
  name = "AutoDialer"
3
3
  authors = [{name = "Byte Flow", email = "fakeshadow1337@gmail.com"}]
4
4
  description = "AutoDialer is an automation script designed to interact with routers using APIs."
5
- readme = "README.MD"
5
+ readme = "README.md"
6
6
  requires-python = ">=3.10"
7
7
  license = "GPL-3.0-only"
8
8
  dynamic = ["version"]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AutoDialer
3
- Version: 0.2.2
3
+ Version: 0.2.4
4
4
  Summary: AutoDialer is an automation script designed to interact with routers using APIs.
5
5
  Author-email: Byte Flow <fakeshadow1337@gmail.com>
6
6
  License-Expression: GPL-3.0-only
@@ -23,52 +23,23 @@ Requires-Dist: requests<3
23
23
  Dynamic: license-file
24
24
 
25
25
  # AutoDialer
26
-
26
+ ![AutoDialer](img/AutoDialer.png)
27
27
  AutoDialer is a cross-platform Python CLI package for router APIs, designed to rotate public IP addresses automatically and streamline router interactions.
28
28
 
29
29
  ## Why AutoDialer?
30
30
  - Convenient IP rotation on dynamic lines without manual router reboot.
31
- - Cross-platform (Windows, Linux, macOS, FreeBSD).
31
+ - Cross-platform (Windows, Linux, macOS, BSD).
32
32
  - CLI-first usage for scripts and automation.
33
33
 
34
34
  ## Installation
35
35
 
36
- ### Using pip (recommended)
37
36
  ```bash
38
37
  pip install autodialer
39
38
  ```
40
39
 
41
- ### Using uv
42
- If you prefer `uv` for faster environment and dependency management:
43
-
44
- ```bash
45
- # install from PyPI
46
- uv tool install autodialer
47
-
48
- # run directly
49
- autodialer
50
- ```
51
-
52
- For local development:
53
-
54
- ```bash
55
- uv sync
56
- uv pip install -e .
57
- uv run autodialer --help
58
- ```
59
-
60
- ### From source (development)
61
- ```bash
62
- python -m venv .venv
63
-
64
- # Windows (PowerShell)
65
- . .\.venv\Scripts\Activate.ps1
66
-
67
- # Linux/macOS
68
- source .venv/bin/activate
69
-
70
- python -m pip install -e .
71
- ```
40
+ ## Notes
41
+ - **Only** TP-Link, ZTE and ASUS routers are supported now.
42
+ - Keep `.env` private and never commit credentials.
72
43
 
73
44
  ## Configuration
74
45
 
@@ -76,13 +47,15 @@ Create a `.env` file in your working directory:
76
47
 
77
48
  | Variable | Description |
78
49
  | :--- | :--- |
50
+ | `PANEL_USERNAME` | Router panel username (defaults to `admin`) |
79
51
  | `PANEL_PASSWORD` | Router panel password |
80
- | `PPPOE_USERNAME` | ISP PPPoE username (required for PPPoE lines) |
81
- | `PPPOE_PASSWORD` | ISP PPPoE password (required for PPPoE lines) |
82
- | `ASN` | Target ASN (optional unless not using `--force`) |
52
+ | `PPPOE_USERNAME` | ISP PPPoE username override (optional) |
53
+ | `PPPOE_PASSWORD` | ISP PPPoE password override (optional) |
54
+ | `ASN` | Optional library-level default ASN. The CLI currently expects the ASN to be passed explicitly with `--asn <ASN>`. |
83
55
 
84
56
  Example:
85
57
  ```bash
58
+ PANEL_USERNAME='admin'
86
59
  PANEL_PASSWORD='your_router_panel_password'
87
60
  PPPOE_USERNAME='your_pppoe_username'
88
61
  PPPOE_PASSWORD='your_pppoe_password'
@@ -94,10 +67,9 @@ ASN='AS9929'
94
67
  After installation, use the CLI directly:
95
68
 
96
69
  ```bash
97
- autodialer
98
70
  autodialer --force
99
71
  autodialer --asn AS9929
100
- autodialer-devices --tplink
72
+ autodialer-devices
101
73
  ```
102
74
 
103
75
  Arguments:
@@ -105,13 +77,17 @@ Arguments:
105
77
  - `-a`, `--asn`: target ASN (for example `AS9929` or `9929`).
106
78
 
107
79
  Behavior:
80
+ - `autodialer` currently requires either `--force` or `--asn <ASN>`.
108
81
  - AutoDialer detects current WAN protocol and applies matching reconnection action.
109
- - PPPoE uses disconnect/connect flow with configured PPPoE credentials.
82
+ - PPPoE uses disconnect/connect flow and reuses the router's saved credentials by default.
83
+ - If `PPPOE_USERNAME` and `PPPOE_PASSWORD` are set, AutoDialer updates the router's PPPoE config before reconnecting.
110
84
  - DHCP uses DHCP renew flow and shares the same ASN/check/retry control logic.
111
85
 
112
- ## Notes
113
- - Current API payloads are primarily tailored for TP-Link router firmware behavior.
114
- - Keep `.env` private and never commit credentials.
86
+ ## Documentation
87
+
88
+ - Setup and CLI details: [`docs/getting-started.md`](docs/en/docs/getting-started.md)
89
+ - Detection and reconnection flow: [`docs/how-it-works.md`](docs/en/docs/how-it-works.md)
90
+ - Contribution guide: [`CONTRIBUTING.md`](CONTRIBUTING.md)
115
91
 
116
92
  ---
117
93
  Thanks for using AutoDialer.
@@ -1,5 +1,5 @@
1
1
  LICENSE
2
- README.MD
2
+ README.md
3
3
  pyproject.toml
4
4
  src/AutoDialer.egg-info/PKG-INFO
5
5
  src/AutoDialer.egg-info/SOURCES.txt
@@ -12,19 +12,30 @@ src/autodialer/get_devices.py
12
12
  src/autodialer/reconnection.py
13
13
  src/autodialer/apis/__init__.py
14
14
  src/autodialer/apis/routers/__init__.py
15
+ src/autodialer/apis/routers/base_api.py
16
+ src/autodialer/apis/routers/asus/__init__.py
17
+ src/autodialer/apis/routers/asus/asus_api.py
15
18
  src/autodialer/apis/routers/tplink/__init__.py
16
19
  src/autodialer/apis/routers/tplink/tplink_api.py
17
- src/autodialer/apis/routers/tplink/tplink_get_devices.py
20
+ src/autodialer/apis/routers/zte/__init__.py
21
+ src/autodialer/apis/routers/zte/zte_api.py
18
22
  src/autodialer/apis/utils/check_isp.py
19
- src/autodialer/apis/utils/check_router_vendor.py
23
+ src/autodialer/apis/utils/check_vendor.py
20
24
  src/autodialer/apis/utils/get_gateway.py
21
25
  src/autodialer/apis/utils/get_vendor_api.py
22
26
  src/autodialer/apis/utils/is_target_asn.py
27
+ src/autodialer/apis/utils/print_devices_table.py
23
28
  src/autodialer/config/__init__.py
24
29
  src/autodialer/config/config.py
25
30
  src/autodialer/encode/__init__.py
26
31
  src/autodialer/encode/tplink_security_encode.py
32
+ src/autodialer/encode/zte_encode.py
33
+ tests/test_asus_api.py
27
34
  tests/test_check_isp.py
35
+ tests/test_check_vendor.py
28
36
  tests/test_get_gateway.py
37
+ tests/test_get_vendor_api.py
29
38
  tests/test_pppoe.py
30
- tests/test_reconnection.py
39
+ tests/test_reconnection.py
40
+ tests/test_tplink_api.py
41
+ tests/test_zte_api.py
@@ -1,4 +1,4 @@
1
- __version__ = "0.2.2"
1
+ __version__ = "0.2.4"
2
2
 
3
3
  from .apis.utils.check_isp import check_isp, check_isp_with_retries
4
4
  from .apis.utils.get_gateway import (
@@ -6,10 +6,12 @@ from .apis.utils.get_gateway import (
6
6
  get_gateway_ip_on_unix,
7
7
  get_gateway_ip_on_windows,
8
8
  )
9
+ from .apis.routers.asus.asus_api import AsusAPI
9
10
  from .apis.routers.tplink.tplink_api import TPLinkAPI
10
11
  from .apis.utils.is_target_asn import is_target_asn
11
12
 
12
13
  __all__ = [
14
+ "AsusAPI",
13
15
  "check_isp",
14
16
  "check_isp_with_retries",
15
17
  "get_gateway_ip_on_linux",
@@ -1,10 +1,12 @@
1
+ from .routers.asus.asus_api import AsusAPI
1
2
  from .routers.tplink.tplink_api import TPLinkAPI
2
3
  from .utils.check_isp import check_isp
3
4
  from .utils.check_isp import check_isp_with_retries
4
5
  from .utils.get_gateway import get_gateway_ip
5
- from .utils.check_router_vendor import check_router_vendor
6
+ from .utils.check_vendor import check_router_vendor
6
7
 
7
8
  __all__ = [
9
+ "AsusAPI",
8
10
  "TPLinkAPI",
9
11
  "check_isp",
10
12
  "check_isp_with_retries",
@@ -0,0 +1,3 @@
1
+ from .asus_api import AsusAPI
2
+
3
+ __all__ = ["AsusAPI"]