webtools-cli 1.0.0__py3-none-any.whl
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.
- webtools/__init__.py +4 -0
- webtools/__main__.py +5 -0
- webtools/cli.py +15 -0
- webtools/core.py +2596 -0
- webtools/web/Web_Tools.png +0 -0
- webtools/web/index.html +1102 -0
- webtools/web/script.js +1805 -0
- webtools/web/style.css +71 -0
- webtools_cli-1.0.0.dist-info/METADATA +110 -0
- webtools_cli-1.0.0.dist-info/RECORD +14 -0
- webtools_cli-1.0.0.dist-info/WHEEL +5 -0
- webtools_cli-1.0.0.dist-info/entry_points.txt +2 -0
- webtools_cli-1.0.0.dist-info/licenses/LICENSE +21 -0
- webtools_cli-1.0.0.dist-info/top_level.txt +1 -0
webtools/web/style.css
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
|
|
2
|
+
body {
|
|
3
|
+
font-family: 'Outfit', sans-serif;
|
|
4
|
+
}
|
|
5
|
+
.glass-dark {
|
|
6
|
+
background: rgba(30, 41, 59, 0.7);
|
|
7
|
+
backdrop-filter: blur(20px);
|
|
8
|
+
border: 1px solid #ffffff14;
|
|
9
|
+
}
|
|
10
|
+
@keyframes border-rotate {
|
|
11
|
+
100% { transform: translate(-50%, -50%) rotate(360deg); }
|
|
12
|
+
}
|
|
13
|
+
.loading-beam-border {
|
|
14
|
+
position: relative; overflow: hidden !important; border-color: transparent !important;
|
|
15
|
+
}
|
|
16
|
+
.loading-beam-border::before {
|
|
17
|
+
content: ''; position: absolute; top: 50%; left: 50%; width: 200%; height: 200%;
|
|
18
|
+
background: conic-gradient(from 0deg, transparent 60%, #6366f1cc 80%, #ec4899 100%);
|
|
19
|
+
animation: border-rotate 3s linear infinite;
|
|
20
|
+
transform: translate(-50%, -50%); z-index: -2;
|
|
21
|
+
}
|
|
22
|
+
.loading-beam-border::after {
|
|
23
|
+
content: ''; position: absolute; inset: 0.5px; background: #1e293b; border-radius: inherit; z-index: -1;
|
|
24
|
+
}
|
|
25
|
+
.code-editor {
|
|
26
|
+
font-family: 'JetBrains Mono', monospace; background: #1e1e1e; color: #d4d4d4;
|
|
27
|
+
}
|
|
28
|
+
.preview-frame {
|
|
29
|
+
background: white; border: none; width: 100%; height: 600px; border-radius: 0.75rem;
|
|
30
|
+
}
|
|
31
|
+
::-webkit-scrollbar { width: 8px; height: 8px; }
|
|
32
|
+
::-webkit-scrollbar-track { background: transparent; }
|
|
33
|
+
::-webkit-scrollbar-thumb { background: #475569; border-radius: 4px; }
|
|
34
|
+
.tab-active { border-bottom: 2px solid #3d3e5a; color: #a3a3c9; }
|
|
35
|
+
.video-card { background: transparent !important; border: 1px solid #00000000 !important; box-shadow: 0 0 10px #0000004d !important; }
|
|
36
|
+
.video-card:hover { box-shadow: 0 0 20px #00000080 !important; border-color: #000000 !important; }
|
|
37
|
+
.scrape-btn-custom { background: linear-gradient(#020617, #020617) padding-box, linear-gradient(to right, #db2777, #7c3aed) border-box; border: 2px solid transparent !important; border-radius: 0.75rem; transition: all 0.3s ease; }
|
|
38
|
+
.scrape-btn-custom:hover { background: linear-gradient(#0f172a, #0f172a) padding-box, linear-gradient(to right, #db2777, #7c3aed) border-box; }
|
|
39
|
+
.scrape-btn-custom:active { transform: scale(0.95); }
|
|
40
|
+
.hacker-theme { --bg-color: #000000; --text-color: #00ff41; --accent-color: #008F11; background-color: var(--bg-color) !important; color: var(--text-color) !important; font-family: 'JetBrains Mono', monospace !important; }
|
|
41
|
+
.hacker-theme .glass-dark { background: rgba(0, 10, 0, 0.95); border: 1px solid var(--text-color); box-shadow: 0 0 10px var(--accent-color); }
|
|
42
|
+
.hacker-theme .text-slate-400, .hacker-theme .text-slate-500, .hacker-theme .text-gray-400 { color: #008F11 !important; }
|
|
43
|
+
.hacker-theme .text-white, .hacker-theme h1, .hacker-theme h2, .hacker-theme h3 { color: var(--text-color) !important; }
|
|
44
|
+
.hacker-theme input, .hacker-theme select, .hacker-theme textarea { background-color: #001100 !important; border-color: var(--text-color) !important; color: var(--text-color) !important; }
|
|
45
|
+
.hacker-theme .scrape-btn-custom { background: #000 !important; border: 1px solid var(--text-color) !important; box-shadow: 0 0 15px var(--text-color) !important; color: var(--text-color) !important; }
|
|
46
|
+
.hacker-theme svg { color: var(--text-color) !important; }
|
|
47
|
+
@property --beam-angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
|
|
48
|
+
.tab-gradient-border { position: relative; background: transparent !important; border: none !important; box-shadow: none !important; }
|
|
49
|
+
.tab-gradient-border::before { content: ""; position: absolute; inset: 0; border-radius: 1rem; padding: 2px; background: conic-gradient(from var(--beam-angle), #00000000); -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; z-index: 0; animation: beam-rotate 4s linear infinite; }
|
|
50
|
+
@keyframes beam-rotate { to { --beam-angle: 360deg; } }
|
|
51
|
+
.tree-view { font-family: 'JetBrains Mono', monospace; font-size: 0.85rem; }
|
|
52
|
+
.tree-item { position: relative; padding-left: 1.5rem; margin-top: 0.5rem; }
|
|
53
|
+
.tree-item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 1px; background: #334155; }
|
|
54
|
+
.tree-item::after { content: ""; position: absolute; left: 0; top: 0.7rem; width: 1rem; height: 1px; background: #334155; }
|
|
55
|
+
.tree-item:last-child::before { height: 0.7rem; }
|
|
56
|
+
@keyframes blurFadeIn {
|
|
57
|
+
from { opacity: 0; filter: blur(10px); transform: scale(0.95); }
|
|
58
|
+
to { opacity: 1; filter: blur(0); transform: scale(1); } }
|
|
59
|
+
.animate-blur-fade {
|
|
60
|
+
animation: blurFadeIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
61
|
+
}
|
|
62
|
+
#tab-intel.tab-active {
|
|
63
|
+
border-bottom: 2px solid #f9741628; /* Orange-500 */
|
|
64
|
+
color: #f9741688;
|
|
65
|
+
}
|
|
66
|
+
#tab-intel:hover {
|
|
67
|
+
color: #fdbb7437; /* Orange-500 */
|
|
68
|
+
}
|
|
69
|
+
#content-intel ::-webkit-scrollbar-thumb {
|
|
70
|
+
background: #c2400c75;
|
|
71
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: webtools-cli
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: Advanced Web Intelligence & Scraping Toolkit with CLI and Web UI
|
|
5
|
+
Author: Abhinav Adarsh
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/abhinavgautam08/webtools
|
|
8
|
+
Keywords: web-scraping,osint,seo,intelligence,cli
|
|
9
|
+
Classifier: Development Status :: 4 - Beta
|
|
10
|
+
Classifier: Environment :: Console
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
19
|
+
Requires-Python: >=3.9
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
License-File: LICENSE
|
|
22
|
+
Requires-Dist: flask
|
|
23
|
+
Requires-Dist: requests
|
|
24
|
+
Requires-Dist: beautifulsoup4
|
|
25
|
+
Requires-Dist: qrcode
|
|
26
|
+
Requires-Dist: opencv-python
|
|
27
|
+
Requires-Dist: numpy
|
|
28
|
+
Requires-Dist: textblob
|
|
29
|
+
Requires-Dist: Pillow
|
|
30
|
+
Requires-Dist: mtranslate
|
|
31
|
+
Requires-Dist: colorama
|
|
32
|
+
Requires-Dist: pyreadline3; platform_system == "Windows"
|
|
33
|
+
Provides-Extra: playwright
|
|
34
|
+
Requires-Dist: playwright; extra == "playwright"
|
|
35
|
+
Dynamic: license-file
|
|
36
|
+
|
|
37
|
+
<p align="center">
|
|
38
|
+
<img src="Web_Tools.png" alt="WebTools CLI" width="180">
|
|
39
|
+
</p>
|
|
40
|
+
|
|
41
|
+
<h1 align="center">WebTools CLI</h1>
|
|
42
|
+
|
|
43
|
+
<p align="center">
|
|
44
|
+
<strong>Advanced Web Intelligence & Scraping Toolkit</strong><br>
|
|
45
|
+
<em>OSINT - SEO - AI Analysis - Security Scanner</em>
|
|
46
|
+
</p>
|
|
47
|
+
|
|
48
|
+
<p align="center">
|
|
49
|
+
<img src="https://img.shields.io/badge/python-3.9+-blue?logo=python&logoColor=white" alt="Python">
|
|
50
|
+
<img src="https://img.shields.io/badge/license-MIT-green" alt="License">
|
|
51
|
+
<img src="https://img.shields.io/badge/version-1.0.0-cyan" alt="Version">
|
|
52
|
+
</p>
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Install
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
pip install webtools-cli
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Usage
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Launch CLI
|
|
66
|
+
webtools
|
|
67
|
+
|
|
68
|
+
# Or via Python module
|
|
69
|
+
python -m webtools
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Features
|
|
73
|
+
|
|
74
|
+
| Feature | Description |
|
|
75
|
+
|---------|-------------|
|
|
76
|
+
| **Web Mode** | Full web UI with Cloudflare tunnel + QR code sharing |
|
|
77
|
+
| **CLI Intelligence** | Deep scan any URL from terminal |
|
|
78
|
+
| **Security Scanner** | Threat detection, honeypot traps, CSRF checks |
|
|
79
|
+
| **SEO Analyzer** | Score, headings, broken links, image audit |
|
|
80
|
+
| **AI Analysis** | Sentiment, readability, keywords, summarization |
|
|
81
|
+
| **OSINT** | Emails, phones, locations, social media, tech stack |
|
|
82
|
+
| **Smart Media** | Image quality filter + video deep-scan with sniffer |
|
|
83
|
+
| **Proxy Intelligence** | Smart proxy rotation with learning algorithm |
|
|
84
|
+
| **Playwright Fallback** | Handles SPAs and auth walls automatically |
|
|
85
|
+
| **Performance Tracker** | Phase-by-phase timing with historical stats |
|
|
86
|
+
|
|
87
|
+
## CLI Commands
|
|
88
|
+
|
|
89
|
+
| Command | Description |
|
|
90
|
+
|---------|-------------|
|
|
91
|
+
| `/web` or `/w` | Launch Web UI mode |
|
|
92
|
+
| `/cli` or `/c` | Launch CLI Intelligence mode |
|
|
93
|
+
| `/image` or `/i` | Image Forensics & AI Detection |
|
|
94
|
+
| `/help` or `/h` | Show all commands |
|
|
95
|
+
| `/history` or `/hi` | View scan history |
|
|
96
|
+
| `/clear` | Purge scraped data |
|
|
97
|
+
| `/quit` or `/q` | Exit |
|
|
98
|
+
|
|
99
|
+
## Requirements
|
|
100
|
+
|
|
101
|
+
- Python 3.9+
|
|
102
|
+
- Optional: `playwright` for SPA/auth wall bypass
|
|
103
|
+
|
|
104
|
+
## Author
|
|
105
|
+
|
|
106
|
+
**Abhinav Adarsh**
|
|
107
|
+
|
|
108
|
+
## License
|
|
109
|
+
|
|
110
|
+
MIT
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
webtools/__init__.py,sha256=HPeuyQLcNYLxmDmrmB5ReayMEwxVYno5Plo2ZqCTemU,134
|
|
2
|
+
webtools/__main__.py,sha256=l7MYvzHN8vhinGLBswA94jhLFK_-tma-8ZhsAfYCt2w,130
|
|
3
|
+
webtools/cli.py,sha256=9EIJ5QzAwFg2X45HzKt5LZ3aM0aV0kwHGir7MkUVe0g,368
|
|
4
|
+
webtools/core.py,sha256=EfEw_-OJsoYcMikedZE2peguxh1ROmGUpnAgi-FoGD4,115528
|
|
5
|
+
webtools/web/Web_Tools.png,sha256=sIHtvfMb--VCNPsr7Kxy8TPXKN8Lg-Gy3_k05s4JJZQ,821220
|
|
6
|
+
webtools/web/index.html,sha256=2JIBaPeLQRRFqp9jnkl-ktQyhW7e8UlnCTJK5cdUKKY,84450
|
|
7
|
+
webtools/web/script.js,sha256=2zX6If8WMGtQJWqgWavids6HXeUEwveNP_SQQSdN5xk,85903
|
|
8
|
+
webtools/web/style.css,sha256=W92qZj91GP1jcPfbjmBw-EIhyDjYA7eJuRT25c1u7R0,4868
|
|
9
|
+
webtools_cli-1.0.0.dist-info/licenses/LICENSE,sha256=5HtgnCmHt4vPqwQqd4QLxPxrt-05oQ5RPKNGQj6SCug,1092
|
|
10
|
+
webtools_cli-1.0.0.dist-info/METADATA,sha256=j968e3e4Xllu6LUrrrkMoBweQZ2yvMYfSdz0Qqv-WQY,3290
|
|
11
|
+
webtools_cli-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
12
|
+
webtools_cli-1.0.0.dist-info/entry_points.txt,sha256=gWYedmPYX6hRW-u8hGBb_WSx38duVUCTZRIKv8R5M04,47
|
|
13
|
+
webtools_cli-1.0.0.dist-info/top_level.txt,sha256=jV4uiEQ7e7-BbtlbTSRdG_X5iO9p5kwej33e8ChGcTY,9
|
|
14
|
+
webtools_cli-1.0.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Abhinav Adarsh
|
|
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.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
webtools
|