andarlabs 2.0.0__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.
- andarlabs-2.0.0/LICENSE +21 -0
- andarlabs-2.0.0/PKG-INFO +131 -0
- andarlabs-2.0.0/README.md +107 -0
- andarlabs-2.0.0/andarlabs.egg-info/PKG-INFO +131 -0
- andarlabs-2.0.0/andarlabs.egg-info/SOURCES.txt +34 -0
- andarlabs-2.0.0/andarlabs.egg-info/dependency_links.txt +1 -0
- andarlabs-2.0.0/andarlabs.egg-info/entry_points.txt +2 -0
- andarlabs-2.0.0/andarlabs.egg-info/requires.txt +2 -0
- andarlabs-2.0.0/andarlabs.egg-info/top_level.txt +3 -0
- andarlabs-2.0.0/core/__init__.py +0 -0
- andarlabs-2.0.0/core/banner.py +32 -0
- andarlabs-2.0.0/core/config.py +16 -0
- andarlabs-2.0.0/core/logging_config.py +15 -0
- andarlabs-2.0.0/core/menu.py +19 -0
- andarlabs-2.0.0/core/tools.py +47 -0
- andarlabs-2.0.0/core/ui.py +35 -0
- andarlabs-2.0.0/main.py +99 -0
- andarlabs-2.0.0/modules/__init__.py +0 -0
- andarlabs-2.0.0/modules/about.py +20 -0
- andarlabs-2.0.0/modules/base64_tools.py +32 -0
- andarlabs-2.0.0/modules/dnslookup.py +26 -0
- andarlabs-2.0.0/modules/export_report.py +63 -0
- andarlabs-2.0.0/modules/filehash.py +23 -0
- andarlabs-2.0.0/modules/hash_tools.py +18 -0
- andarlabs-2.0.0/modules/httpheaders.py +27 -0
- andarlabs-2.0.0/modules/network.py +63 -0
- andarlabs-2.0.0/modules/ping.py +33 -0
- andarlabs-2.0.0/modules/portcheck.py +29 -0
- andarlabs-2.0.0/modules/portscan_range.py +50 -0
- andarlabs-2.0.0/modules/sslcheck.py +59 -0
- andarlabs-2.0.0/modules/subnetcalc.py +35 -0
- andarlabs-2.0.0/modules/sysinfo.py +12 -0
- andarlabs-2.0.0/modules/traceroute.py +41 -0
- andarlabs-2.0.0/pyproject.toml +38 -0
- andarlabs-2.0.0/setup.cfg +4 -0
- andarlabs-2.0.0/tests/test_tools.py +61 -0
andarlabs-2.0.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Laurensius Andar Sakaleak
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
andarlabs-2.0.0/PKG-INFO
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: andarlabs
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Cross-platform network and security CLI toolkit
|
|
5
|
+
Author: Laurensius Andar Sakaleak
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: network,security,cli,dns,diagnostics
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: Education
|
|
11
|
+
Classifier: Intended Audience :: System Administrators
|
|
12
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
13
|
+
Classifier: Operating System :: POSIX
|
|
14
|
+
Classifier: Operating System :: MacOS
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
+
Classifier: Topic :: System :: Networking :: Monitoring
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: dnspython<3,>=2.4
|
|
22
|
+
Requires-Dist: rich<15,>=13
|
|
23
|
+
Dynamic: license-file
|
|
24
|
+
|
|
25
|
+
# Andarlabs
|
|
26
|
+
|
|
27
|
+
Andarlabs adalah toolkit CLI untuk pembelajaran dan pemeriksaan dasar sistem, jaringan, serta keamanan. Gunakan hanya pada perangkat atau jaringan yang Anda miliki atau yang sudah Anda dapatkan izinnya.
|
|
28
|
+
|
|
29
|
+
## Dukungan
|
|
30
|
+
|
|
31
|
+
- Windows
|
|
32
|
+
- Kali Linux
|
|
33
|
+
- Ubuntu
|
|
34
|
+
- macOS
|
|
35
|
+
- Python 3.10+
|
|
36
|
+
|
|
37
|
+
## Instalasi
|
|
38
|
+
|
|
39
|
+
```powershell
|
|
40
|
+
python -m venv .venv
|
|
41
|
+
.venv\Scripts\activate
|
|
42
|
+
pip install -r requirements.txt
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Untuk memasang sebagai command system:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
pip install andarlabs
|
|
49
|
+
andarlabs --version
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Untuk instalasi langsung dari source repository:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
pip install .
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Di Linux/macOS:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
python3 -m venv .venv
|
|
62
|
+
source .venv/bin/activate
|
|
63
|
+
pip install -r requirements.txt
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Menjalankan
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
python main.py
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Setelah package dipasang, jalankan dengan:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
andarlabs
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Menu interaktif menyediakan informasi sistem/jaringan, DNS, ping, pemeriksaan port, HTTP headers, subnet, hashing, Base64, report, SSL/TLS, port range scan, dan traceroute.
|
|
79
|
+
|
|
80
|
+
## Mode CLI
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
python main.py --version
|
|
84
|
+
python main.py --dns example.com --record-type A
|
|
85
|
+
python main.py --hash "teks yang ingin dihitung"
|
|
86
|
+
python main.py --subnet 192.168.1.0/24
|
|
87
|
+
python main.py --report
|
|
88
|
+
python main.py --port-range 127.0.0.1 1 1024
|
|
89
|
+
python main.py --traceroute example.com
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Report disimpan di `exports/report.txt` dan `exports/report.json`. Error aplikasi dicatat di `logs/andarlabs.log`.
|
|
93
|
+
|
|
94
|
+
## Pengujian
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
python -m unittest discover -s tests -v
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Build dan publikasi package
|
|
101
|
+
|
|
102
|
+
Untuk membuat package:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
python -m pip install -r requirements-dev.txt
|
|
106
|
+
python -m build
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Hasil build berada di folder `dist/`. Uji dulu dengan TestPyPI atau virtual environment bersih. Setelah akun PyPI dan token sudah disiapkan:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
python -m twine check dist/*
|
|
113
|
+
python -m twine upload dist/*
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Setelah package berhasil diunggah, pengguna Linux dapat memasang Andarlabs dengan:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
python3 -m pip install andarlabs
|
|
120
|
+
andarlabs
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Catatan keamanan
|
|
124
|
+
|
|
125
|
+
Port scanner dan traceroute menghasilkan traffic jaringan. Jalankan hanya terhadap target yang Anda miliki atau yang secara eksplisit mengizinkan pengujian.
|
|
126
|
+
|
|
127
|
+
MD5 hanya ditampilkan untuk kompatibilitas legacy dan tidak boleh digunakan sebagai hash keamanan. Gunakan SHA-256 atau algoritma modern lain untuk kebutuhan keamanan.
|
|
128
|
+
|
|
129
|
+
## License
|
|
130
|
+
|
|
131
|
+
Project ini dirilis di bawah [MIT License](LICENSE).
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# Andarlabs
|
|
2
|
+
|
|
3
|
+
Andarlabs adalah toolkit CLI untuk pembelajaran dan pemeriksaan dasar sistem, jaringan, serta keamanan. Gunakan hanya pada perangkat atau jaringan yang Anda miliki atau yang sudah Anda dapatkan izinnya.
|
|
4
|
+
|
|
5
|
+
## Dukungan
|
|
6
|
+
|
|
7
|
+
- Windows
|
|
8
|
+
- Kali Linux
|
|
9
|
+
- Ubuntu
|
|
10
|
+
- macOS
|
|
11
|
+
- Python 3.10+
|
|
12
|
+
|
|
13
|
+
## Instalasi
|
|
14
|
+
|
|
15
|
+
```powershell
|
|
16
|
+
python -m venv .venv
|
|
17
|
+
.venv\Scripts\activate
|
|
18
|
+
pip install -r requirements.txt
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Untuk memasang sebagai command system:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
pip install andarlabs
|
|
25
|
+
andarlabs --version
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Untuk instalasi langsung dari source repository:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
pip install .
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Di Linux/macOS:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
python3 -m venv .venv
|
|
38
|
+
source .venv/bin/activate
|
|
39
|
+
pip install -r requirements.txt
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Menjalankan
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
python main.py
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Setelah package dipasang, jalankan dengan:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
andarlabs
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Menu interaktif menyediakan informasi sistem/jaringan, DNS, ping, pemeriksaan port, HTTP headers, subnet, hashing, Base64, report, SSL/TLS, port range scan, dan traceroute.
|
|
55
|
+
|
|
56
|
+
## Mode CLI
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
python main.py --version
|
|
60
|
+
python main.py --dns example.com --record-type A
|
|
61
|
+
python main.py --hash "teks yang ingin dihitung"
|
|
62
|
+
python main.py --subnet 192.168.1.0/24
|
|
63
|
+
python main.py --report
|
|
64
|
+
python main.py --port-range 127.0.0.1 1 1024
|
|
65
|
+
python main.py --traceroute example.com
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Report disimpan di `exports/report.txt` dan `exports/report.json`. Error aplikasi dicatat di `logs/andarlabs.log`.
|
|
69
|
+
|
|
70
|
+
## Pengujian
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
python -m unittest discover -s tests -v
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Build dan publikasi package
|
|
77
|
+
|
|
78
|
+
Untuk membuat package:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
python -m pip install -r requirements-dev.txt
|
|
82
|
+
python -m build
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Hasil build berada di folder `dist/`. Uji dulu dengan TestPyPI atau virtual environment bersih. Setelah akun PyPI dan token sudah disiapkan:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
python -m twine check dist/*
|
|
89
|
+
python -m twine upload dist/*
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Setelah package berhasil diunggah, pengguna Linux dapat memasang Andarlabs dengan:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
python3 -m pip install andarlabs
|
|
96
|
+
andarlabs
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Catatan keamanan
|
|
100
|
+
|
|
101
|
+
Port scanner dan traceroute menghasilkan traffic jaringan. Jalankan hanya terhadap target yang Anda miliki atau yang secara eksplisit mengizinkan pengujian.
|
|
102
|
+
|
|
103
|
+
MD5 hanya ditampilkan untuk kompatibilitas legacy dan tidak boleh digunakan sebagai hash keamanan. Gunakan SHA-256 atau algoritma modern lain untuk kebutuhan keamanan.
|
|
104
|
+
|
|
105
|
+
## License
|
|
106
|
+
|
|
107
|
+
Project ini dirilis di bawah [MIT License](LICENSE).
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: andarlabs
|
|
3
|
+
Version: 2.0.0
|
|
4
|
+
Summary: Cross-platform network and security CLI toolkit
|
|
5
|
+
Author: Laurensius Andar Sakaleak
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Keywords: network,security,cli,dns,diagnostics
|
|
8
|
+
Classifier: Development Status :: 4 - Beta
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Intended Audience :: Education
|
|
11
|
+
Classifier: Intended Audience :: System Administrators
|
|
12
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
13
|
+
Classifier: Operating System :: POSIX
|
|
14
|
+
Classifier: Operating System :: MacOS
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
|
+
Classifier: Topic :: System :: Networking :: Monitoring
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Requires-Dist: dnspython<3,>=2.4
|
|
22
|
+
Requires-Dist: rich<15,>=13
|
|
23
|
+
Dynamic: license-file
|
|
24
|
+
|
|
25
|
+
# Andarlabs
|
|
26
|
+
|
|
27
|
+
Andarlabs adalah toolkit CLI untuk pembelajaran dan pemeriksaan dasar sistem, jaringan, serta keamanan. Gunakan hanya pada perangkat atau jaringan yang Anda miliki atau yang sudah Anda dapatkan izinnya.
|
|
28
|
+
|
|
29
|
+
## Dukungan
|
|
30
|
+
|
|
31
|
+
- Windows
|
|
32
|
+
- Kali Linux
|
|
33
|
+
- Ubuntu
|
|
34
|
+
- macOS
|
|
35
|
+
- Python 3.10+
|
|
36
|
+
|
|
37
|
+
## Instalasi
|
|
38
|
+
|
|
39
|
+
```powershell
|
|
40
|
+
python -m venv .venv
|
|
41
|
+
.venv\Scripts\activate
|
|
42
|
+
pip install -r requirements.txt
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Untuk memasang sebagai command system:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
pip install andarlabs
|
|
49
|
+
andarlabs --version
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Untuk instalasi langsung dari source repository:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
pip install .
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Di Linux/macOS:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
python3 -m venv .venv
|
|
62
|
+
source .venv/bin/activate
|
|
63
|
+
pip install -r requirements.txt
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Menjalankan
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
python main.py
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Setelah package dipasang, jalankan dengan:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
andarlabs
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Menu interaktif menyediakan informasi sistem/jaringan, DNS, ping, pemeriksaan port, HTTP headers, subnet, hashing, Base64, report, SSL/TLS, port range scan, dan traceroute.
|
|
79
|
+
|
|
80
|
+
## Mode CLI
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
python main.py --version
|
|
84
|
+
python main.py --dns example.com --record-type A
|
|
85
|
+
python main.py --hash "teks yang ingin dihitung"
|
|
86
|
+
python main.py --subnet 192.168.1.0/24
|
|
87
|
+
python main.py --report
|
|
88
|
+
python main.py --port-range 127.0.0.1 1 1024
|
|
89
|
+
python main.py --traceroute example.com
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Report disimpan di `exports/report.txt` dan `exports/report.json`. Error aplikasi dicatat di `logs/andarlabs.log`.
|
|
93
|
+
|
|
94
|
+
## Pengujian
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
python -m unittest discover -s tests -v
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Build dan publikasi package
|
|
101
|
+
|
|
102
|
+
Untuk membuat package:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
python -m pip install -r requirements-dev.txt
|
|
106
|
+
python -m build
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Hasil build berada di folder `dist/`. Uji dulu dengan TestPyPI atau virtual environment bersih. Setelah akun PyPI dan token sudah disiapkan:
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
python -m twine check dist/*
|
|
113
|
+
python -m twine upload dist/*
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Setelah package berhasil diunggah, pengguna Linux dapat memasang Andarlabs dengan:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
python3 -m pip install andarlabs
|
|
120
|
+
andarlabs
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## Catatan keamanan
|
|
124
|
+
|
|
125
|
+
Port scanner dan traceroute menghasilkan traffic jaringan. Jalankan hanya terhadap target yang Anda miliki atau yang secara eksplisit mengizinkan pengujian.
|
|
126
|
+
|
|
127
|
+
MD5 hanya ditampilkan untuk kompatibilitas legacy dan tidak boleh digunakan sebagai hash keamanan. Gunakan SHA-256 atau algoritma modern lain untuk kebutuhan keamanan.
|
|
128
|
+
|
|
129
|
+
## License
|
|
130
|
+
|
|
131
|
+
Project ini dirilis di bawah [MIT License](LICENSE).
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
LICENSE
|
|
2
|
+
README.md
|
|
3
|
+
main.py
|
|
4
|
+
pyproject.toml
|
|
5
|
+
andarlabs.egg-info/PKG-INFO
|
|
6
|
+
andarlabs.egg-info/SOURCES.txt
|
|
7
|
+
andarlabs.egg-info/dependency_links.txt
|
|
8
|
+
andarlabs.egg-info/entry_points.txt
|
|
9
|
+
andarlabs.egg-info/requires.txt
|
|
10
|
+
andarlabs.egg-info/top_level.txt
|
|
11
|
+
core/__init__.py
|
|
12
|
+
core/banner.py
|
|
13
|
+
core/config.py
|
|
14
|
+
core/logging_config.py
|
|
15
|
+
core/menu.py
|
|
16
|
+
core/tools.py
|
|
17
|
+
core/ui.py
|
|
18
|
+
modules/__init__.py
|
|
19
|
+
modules/about.py
|
|
20
|
+
modules/base64_tools.py
|
|
21
|
+
modules/dnslookup.py
|
|
22
|
+
modules/export_report.py
|
|
23
|
+
modules/filehash.py
|
|
24
|
+
modules/hash_tools.py
|
|
25
|
+
modules/httpheaders.py
|
|
26
|
+
modules/network.py
|
|
27
|
+
modules/ping.py
|
|
28
|
+
modules/portcheck.py
|
|
29
|
+
modules/portscan_range.py
|
|
30
|
+
modules/sslcheck.py
|
|
31
|
+
modules/subnetcalc.py
|
|
32
|
+
modules/sysinfo.py
|
|
33
|
+
modules/traceroute.py
|
|
34
|
+
tests/test_tools.py
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
from rich.align import Align
|
|
2
|
+
from rich.console import Console, Group
|
|
3
|
+
from rich.panel import Panel
|
|
4
|
+
from rich.text import Text
|
|
5
|
+
|
|
6
|
+
from core.config import APP_NAME, TAGLINE, VERSION
|
|
7
|
+
|
|
8
|
+
Andarlabs = Console()
|
|
9
|
+
|
|
10
|
+
def show_banner():
|
|
11
|
+
title = Text(APP_NAME, style="bold bright_cyan")
|
|
12
|
+
subtitle = Text("CYBER SECURITY & NETWORK PLATFORM", style="bold white")
|
|
13
|
+
version = Text(f"v{VERSION}", style="dim cyan")
|
|
14
|
+
tagline = Text(TAGLINE.upper(), style="italic bright_green")
|
|
15
|
+
|
|
16
|
+
content = Group(
|
|
17
|
+
Align.center(title),
|
|
18
|
+
Align.center(subtitle),
|
|
19
|
+
Align.center(version),
|
|
20
|
+
Text(""),
|
|
21
|
+
Align.center(tagline),
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
Andarlabs.print(
|
|
25
|
+
Panel(
|
|
26
|
+
content,
|
|
27
|
+
border_style="bright_cyan",
|
|
28
|
+
padding=(1, 4),
|
|
29
|
+
title="[bold bright_green]SECURE TOOLKIT[/bold bright_green]",
|
|
30
|
+
subtitle="[dim]learn | build | secure[/dim]",
|
|
31
|
+
)
|
|
32
|
+
)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
import sys
|
|
3
|
+
|
|
4
|
+
APP_NAME = "ANDARLABS"
|
|
5
|
+
VERSION = "2.0.0"
|
|
6
|
+
TAGLINE = "Learn . Build . Secure"
|
|
7
|
+
|
|
8
|
+
if getattr(sys, "frozen", False):
|
|
9
|
+
PROJECT_ROOT = Path(sys.executable).resolve().parent
|
|
10
|
+
else:
|
|
11
|
+
PROJECT_ROOT = Path.cwd()
|
|
12
|
+
|
|
13
|
+
EXPORTS_PATH = PROJECT_ROOT / "exports"
|
|
14
|
+
REPORT_TXT_PATH = EXPORTS_PATH / "report.txt"
|
|
15
|
+
REPORT_JSON_PATH = EXPORTS_PATH / "report.json"
|
|
16
|
+
LOG_PATH = PROJECT_ROOT / "logs" / "andarlabs.log"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
|
|
4
|
+
from core.config import LOG_PATH
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def configure_logging():
|
|
8
|
+
LOG_PATH.parent.mkdir(parents=True, exist_ok=True)
|
|
9
|
+
logging.basicConfig(
|
|
10
|
+
filename=LOG_PATH,
|
|
11
|
+
level=logging.INFO,
|
|
12
|
+
format="%(asctime)s %(levelname)s %(name)s: %(message)s",
|
|
13
|
+
encoding="utf-8",
|
|
14
|
+
)
|
|
15
|
+
return logging.getLogger("andarlabs")
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from rich.console import Console
|
|
2
|
+
from rich.table import Table
|
|
3
|
+
|
|
4
|
+
from core.tools import TOOLS
|
|
5
|
+
|
|
6
|
+
Andarlabs = Console()
|
|
7
|
+
|
|
8
|
+
def show_menu():
|
|
9
|
+
menu = Table(title="MAIN OPERATIONS", border_style="bright_cyan", header_style="bold bright_green")
|
|
10
|
+
menu.add_column("Key", style="bold bright_yellow", justify="center", width=7)
|
|
11
|
+
menu.add_column("Operation", style="white")
|
|
12
|
+
menu.add_column("Group", style="dim cyan")
|
|
13
|
+
|
|
14
|
+
for tool in TOOLS:
|
|
15
|
+
menu.add_row(tool.key, tool.label, tool.group)
|
|
16
|
+
|
|
17
|
+
menu.add_row("0", "Exit", "SYSTEM")
|
|
18
|
+
|
|
19
|
+
Andarlabs.print(menu)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
from typing import Callable
|
|
3
|
+
|
|
4
|
+
from modules.about import about_Andarlabs
|
|
5
|
+
from modules.base64_tools import base64_tool
|
|
6
|
+
from modules.dnslookup import dns_lookup
|
|
7
|
+
from modules.export_report import export_report
|
|
8
|
+
from modules.filehash import file_hash
|
|
9
|
+
from modules.hash_tools import hash_generator
|
|
10
|
+
from modules.httpheaders import http_header_checker
|
|
11
|
+
from modules.network import network_info
|
|
12
|
+
from modules.ping import ping_host
|
|
13
|
+
from modules.portcheck import port_checker
|
|
14
|
+
from modules.portscan_range import port_range_scanner
|
|
15
|
+
from modules.sslcheck import ssl_checker
|
|
16
|
+
from modules.subnetcalc import subnet_calculator
|
|
17
|
+
from modules.sysinfo import system_info
|
|
18
|
+
from modules.traceroute import traceroute_host
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@dataclass(frozen=True)
|
|
22
|
+
class Tool:
|
|
23
|
+
key: str
|
|
24
|
+
label: str
|
|
25
|
+
group: str
|
|
26
|
+
handler: Callable
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
TOOLS = (
|
|
30
|
+
Tool("1", "System Information", "DISCOVERY", system_info),
|
|
31
|
+
Tool("2", "Network Information", "DISCOVERY", network_info),
|
|
32
|
+
Tool("3", "DNS Lookup", "NETWORK", dns_lookup),
|
|
33
|
+
Tool("4", "Ping Host", "NETWORK", ping_host),
|
|
34
|
+
Tool("5", "Port Checker", "NETWORK", port_checker),
|
|
35
|
+
Tool("6", "Port Range Scanner", "NETWORK", port_range_scanner),
|
|
36
|
+
Tool("7", "Traceroute", "NETWORK", traceroute_host),
|
|
37
|
+
Tool("8", "HTTP Header Checker", "NETWORK", http_header_checker),
|
|
38
|
+
Tool("9", "Subnet Calculator", "NETWORK", subnet_calculator),
|
|
39
|
+
Tool("10", "Hash Generator", "SECURITY", hash_generator),
|
|
40
|
+
Tool("11", "File Hash Checker", "SECURITY", file_hash),
|
|
41
|
+
Tool("12", "Base64 Encoder / Decoder", "SECURITY", base64_tool),
|
|
42
|
+
Tool("13", "SSL/TLS Checker", "WEB SECURITY", ssl_checker),
|
|
43
|
+
Tool("14", "Export Report TXT", "REPORTS", export_report),
|
|
44
|
+
Tool("15", "About Andarlabs", "SYSTEM", about_Andarlabs),
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
TOOL_HANDLERS = {tool.key: tool.handler for tool in TOOLS}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
from rich.console import Console
|
|
4
|
+
from rich.panel import Panel
|
|
5
|
+
from rich.table import Table
|
|
6
|
+
from rich.text import Text
|
|
7
|
+
|
|
8
|
+
console = Console()
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def clear_screen():
|
|
12
|
+
os.system("cls" if os.name == "nt" else "clear")
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def show_section(title, subtitle=None, color="bright_cyan"):
|
|
16
|
+
heading = Text(title.upper(), style=f"bold {color}")
|
|
17
|
+
if subtitle:
|
|
18
|
+
console.print(Panel(heading, subtitle=subtitle, border_style=color, padding=(0, 2)))
|
|
19
|
+
else:
|
|
20
|
+
console.print(Panel(heading, border_style=color, padding=(0, 2)))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def show_status(label, value, color="bright_white"):
|
|
24
|
+
console.print(f"[bold bright_cyan]{label:<14}[/bold bright_cyan] [{color}]{value}[/{color}]")
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def pause():
|
|
28
|
+
console.input("\n[dim]Tekan Enter untuk kembali ke menu...[/dim]")
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def make_table(title, columns):
|
|
32
|
+
table = Table(title=title, border_style="bright_cyan", header_style="bold bright_green")
|
|
33
|
+
table.add_column("Property", style="bright_cyan", no_wrap=True)
|
|
34
|
+
table.add_column("Value", style="white")
|
|
35
|
+
return table
|