A Python module for working seamlessly with JavaScript files.
Project description
EverythingJS
Overview
EverythingJS is a CLI tool for extracting JavaScript links from URLs or web pages, applying custom regex patterns to those JS files, and organizing the results in a structured JSON format. It’s designed for efficiency, with features like multi-threading, filtering irrelevant links, and customizable headers.
Installation
Install EverythingJS via pip:
pip install everythingjs
Features
- Extracts JavaScript links from a URL or a list of URLs.
- Converts relative links to absolute URLs.
- Applies a regex pattern to each JavaScript file, extracting relevant matches.
- Filters irrelevant JavaScript links using a predefined
nopelist. - Supports custom headers for HTTP requests.
- Outputs results in JSON format, tagged to respective JS links.
- Multi-threaded for fast processing.
Usage
Command-Line Arguments
usage: everythingjs [-h] -i INPUT [-o OUTPUT] [-v] [-H HEADER]
Extract JS links from a URL or list of URLs and apply regex to them.
optional arguments:
-h, --help Show this help message and exit.
-i INPUT, --input INPUT
URL or file containing URLs.
-o OUTPUT, --output OUTPUT
Output JSON file to save results (optional, prints to CLI if not specified).
-v, --verbose Enable verbose logging.
-H HEADER, --header HEADER
Add custom header (can be used multiple times).
Example Usage
1. Extract JavaScript links from a single URL:
everythingjs -i https://example.com
2. Extract JavaScript links from a file of URLs:
everythingjs -i urls.txt
3. Save the output to a JSON file:
everythingjs -i https://example.com -o results.json
4. Enable verbose logging:
everythingjs -i https://example.com -v
5. Add custom headers:
everythingjs -i https://example.com -H "User-Agent: CustomAgent" -H "Authorization: Bearer TOKEN"
Output
- Outputs JSON in the format:
{
"https://example.com": {
"js_links": [
"https://example.com/static/script1.js",
"https://example.com/static/script2.js"
],
"regex_matches": {
"https://example.com/static/script1.js": ["match1", "match2"],
"https://example.com/static/script2.js": ["match3"]
}
}
}
- Domains without JavaScript links are excluded from the output.
License
MIT License
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 everythingjs-0.2.1.tar.gz.
File metadata
- Download URL: everythingjs-0.2.1.tar.gz
- Upload date:
- Size: 13.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ebafe50fb7a34b76211a1448589bdb5880af256ee9060ccaf60b742e50f7cb42
|
|
| MD5 |
87c279fafef4ce395b51ab5aa4e14f09
|
|
| BLAKE2b-256 |
5643123bc76c8b11b752bb4a293a76357d86783927f28175165228103a23ae97
|
File details
Details for the file everythingjs-0.2.1-py3-none-any.whl.
File metadata
- Download URL: everythingjs-0.2.1-py3-none-any.whl
- Upload date:
- Size: 12.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c57ddd69af722557db61d2c0d1ce8b5b8903d02118a0d464114a35d6c0dc2809
|
|
| MD5 |
e3020a986db1a7f9c333ab00f7aef84f
|
|
| BLAKE2b-256 |
7a71275c0065d143593c547086232288fa8d25041d37c2755ea8819c4213f7df
|