R-AScan


NameR-AScan JSON
Version 0.0.12 PyPI version JSON
download
home_pageNone
SummaryRusher Automatic Scan
upload_time2025-07-10 06:36:40
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg)
![License](https://img.shields.io/badge/license-MIT-green.svg)
![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows-lightgrey.svg)
![Status](https://img.shields.io/badge/status-active-brightgreen.svg)
![Contributions](https://img.shields.io/badge/contributions-welcome-orange.svg)
![Issues](https://img.shields.io/badge/issues-open-important.svg)

# R-AScan (Rusher Automatic Scanner)

## Overview

R-AScan is a modular, multithreaded vulnerability scanner framework written in Python. It dynamically loads all `.py` scanner modules in the `scanners/` directory and executes them against a target. Each module returns structured output and is saved to a JSON file for analysis.

<img width="1158" alt="image" src="https://github.com/user-attachments/assets/7e4c4fc0-fc61-4e7d-acdd-542956fa261f" />

## Features

- Modular architecture (drop-in `.py` modules)
- Multithreaded execution using thread pool
- Auto-update scanner modules from GitHub
- JSON output format
- CLI-based execution with multiple options
- Includes scanners for:
  - Local File Inclusion (LFI)
  - Remote Code Execution (RCE)
  - Cross-Site Scripting (XSS)
  - Server-Side Request Forgery (SSRF)
  - SQL Injection (SQLi)
  - Open Redirect
  - Security Headers
  - Sensitive Files
  - Fingerprinting
  - Admin Panel Finder
  - Rate Limiting
  - SSTI
  - LDAP Injection
  - and others

## Requirements

- Python 3.8 or newer
- `requests` library

## Installation

Repository clone:

```bash
git clone https://github.com/ICWR-TEAM/R-AScan
cd R-AScan
pip install -r requirements.txt
python3 R-AScan.py --help
````

Install with PIP:

```bash
python3 -m pip install R-AScan
````

## Usage

```bash
python3 R-AScan.py -x <target> [options]
```
Or (Install with PIP)
```bash
R-AScan -x <target> [options]
```

```
$$$$$$$\           $$$$$$\   $$$$$$\                               
$$  __$$\         $$  __$$\ $$  __$$\                              
$$ |  $$ |        $$ /  $$ |$$ /  \__| $$$$$$$\ $$$$$$\  $$$$$$$\  
$$$$$$$  |$$$$$$\ $$$$$$$$ |\$$$$$$\  $$  _____|\____$$\ $$  __$$\ 
$$  __$$< \______|$$  __$$ | \____$$\ $$ /      $$$$$$$ |$$ |  $$ |
$$ |  $$ |        $$ |  $$ |$$\   $$ |$$ |     $$  __$$ |$$ |  $$ |
$$ |  $$ |        $$ |  $$ |\$$$$$$  |\$$$$$$$\\$$$$$$$ |$$ |  $$ |
\__|  \__|        \__|  \__| \______/  \_______|\_______|\__|  \__|
===================================================================
[+] R-AScan (Rusher Automatic Scan) | HarshXor - incrustwerush.org
===================================================================

[-] [A target must be specified unless the --update option is used]

usage: R-AScan.py [-h] [-x TARGET] [-t THREADS] [-o OUTPUT] [-p PORT] [--path PATH] [--update] [--verbose] [--optimize]

options:
  -h, --help            show this help message and exit
  -x, --target TARGET   Target host (domain or IP)
  -t, --threads THREADS
                        Number of threads to use (default: 5)
  -o, --output OUTPUT   Custom output file path (optional)
  -p, --port PORT       Custom PORT HTTP/S (optional)
  --path PATH           Custom PATH URL HTTP/S (optional)
  --update              Only update scanner modules without scanning
  --verbose             Verbose detail log
  --optimize            Optimize result with machine learning
```

### Examples

```bash
python3 R-AScan.py -x example.com
python3 R-AScan.py -x 192.168.1.1 -t 10 -o output.json
python3 R-AScan.py --update
```
Or (Install with PIP)
```bash
R-AScan -x example.com
R-AScan -x 192.168.1.1 -t 10 -o output.json
R-AScan --update
```

### Arguments

* `-x`, `--target` — Target domain or IP address (required unless using `--update`)
* `-t`, `--threads` — Number of threads (default: 5)
* `-o`, `--output` — Path to save JSON result (optional)
* `-p`, `--port` - Custom PORT HTTP/S (optional)
* `--path` - Custom PATH URL HTTP/S (optional)
* `--update` — Update scanner modules from GitHub and exit
* `--verbose` — Print detailed output from each module
* `--optimize` - Optimize result with machine learning

## Output

The scan result will be saved as:

```
scan_output-<target>.json
```

If the `-o` option is specified, it will be saved to the given custom path.

Each scanner module contributes a dictionary entry in the JSON output, grouped under the `result` key.

## Writing a Custom Module

1. Create a new Python file in `scanners/`, for example `my_scan.py`
2. Define a function `scan(args)` that returns a dictionary or list
3. Access the target using `args.target`

### Example

```python
import requests

def scan(args):
    url = f"http://{args.target}/test"
    try:
        response = requests.get(url, timeout=10)
        return {
            "url": url,
            "status_code": response.status_code
        }
    except Exception as e:
        return {"error": str(e)}
```

The main framework will automatically discover and execute this module.

## Updating Modules

To update scanner modules directly from the GitHub repository:

```bash
python3 R-AScan.py --update
```
Or (Install with PIP)
```bash
python3 R-AScan.py --update
```

All `.py` files in the `scanners/` directory will be downloaded and replaced.

## License

This project is licensed under the MIT License.

Developed by HarshXor — [https://incrustwerush.org](https://incrustwerush.org)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "R-AScan",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "HarshXor <harshxor@incrustwerush.org>",
    "download_url": "https://files.pythonhosted.org/packages/d6/8e/36d4796d9422f6b236cf01c659e91893e7560a7d0d8d4af26569136b346f/r_ascan-0.0.12.tar.gz",
    "platform": null,
    "description": "![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg)\n![License](https://img.shields.io/badge/license-MIT-green.svg)\n![Platform](https://img.shields.io/badge/platform-Linux%20%7C%20Windows-lightgrey.svg)\n![Status](https://img.shields.io/badge/status-active-brightgreen.svg)\n![Contributions](https://img.shields.io/badge/contributions-welcome-orange.svg)\n![Issues](https://img.shields.io/badge/issues-open-important.svg)\n\n# R-AScan (Rusher Automatic Scanner)\n\n## Overview\n\nR-AScan is a modular, multithreaded vulnerability scanner framework written in Python. It dynamically loads all `.py` scanner modules in the `scanners/` directory and executes them against a target. Each module returns structured output and is saved to a JSON file for analysis.\n\n<img width=\"1158\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7e4c4fc0-fc61-4e7d-acdd-542956fa261f\" />\n\n## Features\n\n- Modular architecture (drop-in `.py` modules)\n- Multithreaded execution using thread pool\n- Auto-update scanner modules from GitHub\n- JSON output format\n- CLI-based execution with multiple options\n- Includes scanners for:\n  - Local File Inclusion (LFI)\n  - Remote Code Execution (RCE)\n  - Cross-Site Scripting (XSS)\n  - Server-Side Request Forgery (SSRF)\n  - SQL Injection (SQLi)\n  - Open Redirect\n  - Security Headers\n  - Sensitive Files\n  - Fingerprinting\n  - Admin Panel Finder\n  - Rate Limiting\n  - SSTI\n  - LDAP Injection\n  - and others\n\n## Requirements\n\n- Python 3.8 or newer\n- `requests` library\n\n## Installation\n\nRepository clone:\n\n```bash\ngit clone https://github.com/ICWR-TEAM/R-AScan\ncd R-AScan\npip install -r requirements.txt\npython3 R-AScan.py --help\n````\n\nInstall with PIP:\n\n```bash\npython3 -m pip install R-AScan\n````\n\n## Usage\n\n```bash\npython3 R-AScan.py -x <target> [options]\n```\nOr (Install with PIP)\n```bash\nR-AScan -x <target> [options]\n```\n\n```\n$$$$$$$\\           $$$$$$\\   $$$$$$\\                               \n$$  __$$\\         $$  __$$\\ $$  __$$\\                              \n$$ |  $$ |        $$ /  $$ |$$ /  \\__| $$$$$$$\\ $$$$$$\\  $$$$$$$\\  \n$$$$$$$  |$$$$$$\\ $$$$$$$$ |\\$$$$$$\\  $$  _____|\\____$$\\ $$  __$$\\ \n$$  __$$< \\______|$$  __$$ | \\____$$\\ $$ /      $$$$$$$ |$$ |  $$ |\n$$ |  $$ |        $$ |  $$ |$$\\   $$ |$$ |     $$  __$$ |$$ |  $$ |\n$$ |  $$ |        $$ |  $$ |\\$$$$$$  |\\$$$$$$$\\\\$$$$$$$ |$$ |  $$ |\n\\__|  \\__|        \\__|  \\__| \\______/  \\_______|\\_______|\\__|  \\__|\n===================================================================\n[+] R-AScan (Rusher Automatic Scan) | HarshXor - incrustwerush.org\n===================================================================\n\n[-] [A target must be specified unless the --update option is used]\n\nusage: R-AScan.py [-h] [-x TARGET] [-t THREADS] [-o OUTPUT] [-p PORT] [--path PATH] [--update] [--verbose] [--optimize]\n\noptions:\n  -h, --help            show this help message and exit\n  -x, --target TARGET   Target host (domain or IP)\n  -t, --threads THREADS\n                        Number of threads to use (default: 5)\n  -o, --output OUTPUT   Custom output file path (optional)\n  -p, --port PORT       Custom PORT HTTP/S (optional)\n  --path PATH           Custom PATH URL HTTP/S (optional)\n  --update              Only update scanner modules without scanning\n  --verbose             Verbose detail log\n  --optimize            Optimize result with machine learning\n```\n\n### Examples\n\n```bash\npython3 R-AScan.py -x example.com\npython3 R-AScan.py -x 192.168.1.1 -t 10 -o output.json\npython3 R-AScan.py --update\n```\nOr (Install with PIP)\n```bash\nR-AScan -x example.com\nR-AScan -x 192.168.1.1 -t 10 -o output.json\nR-AScan --update\n```\n\n### Arguments\n\n* `-x`, `--target` \u2014 Target domain or IP address (required unless using `--update`)\n* `-t`, `--threads` \u2014 Number of threads (default: 5)\n* `-o`, `--output` \u2014 Path to save JSON result (optional)\n* `-p`, `--port` - Custom PORT HTTP/S (optional)\n* `--path` - Custom PATH URL HTTP/S (optional)\n* `--update` \u2014 Update scanner modules from GitHub and exit\n* `--verbose` \u2014 Print detailed output from each module\n* `--optimize` - Optimize result with machine learning\n\n## Output\n\nThe scan result will be saved as:\n\n```\nscan_output-<target>.json\n```\n\nIf the `-o` option is specified, it will be saved to the given custom path.\n\nEach scanner module contributes a dictionary entry in the JSON output, grouped under the `result` key.\n\n## Writing a Custom Module\n\n1. Create a new Python file in `scanners/`, for example `my_scan.py`\n2. Define a function `scan(args)` that returns a dictionary or list\n3. Access the target using `args.target`\n\n### Example\n\n```python\nimport requests\n\ndef scan(args):\n    url = f\"http://{args.target}/test\"\n    try:\n        response = requests.get(url, timeout=10)\n        return {\n            \"url\": url,\n            \"status_code\": response.status_code\n        }\n    except Exception as e:\n        return {\"error\": str(e)}\n```\n\nThe main framework will automatically discover and execute this module.\n\n## Updating Modules\n\nTo update scanner modules directly from the GitHub repository:\n\n```bash\npython3 R-AScan.py --update\n```\nOr (Install with PIP)\n```bash\npython3 R-AScan.py --update\n```\n\nAll `.py` files in the `scanners/` directory will be downloaded and replaced.\n\n## License\n\nThis project is licensed under the MIT License.\n\nDeveloped by HarshXor \u2014 [https://incrustwerush.org](https://incrustwerush.org)\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Rusher Automatic Scan",
    "version": "0.0.12",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4b40aa26dc54adb4c8751079f4f13c09c3c2b7430c9d81a66231356d4f3f48c6",
                "md5": "e3b58541af63554cf6a8ac3c2759d389",
                "sha256": "090f6c9fb6818a50bee2c34eee9749ff7298de6cddea018cd158b9626714ba5d"
            },
            "downloads": -1,
            "filename": "r_ascan-0.0.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e3b58541af63554cf6a8ac3c2759d389",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 54684,
            "upload_time": "2025-07-10T06:36:39",
            "upload_time_iso_8601": "2025-07-10T06:36:39.204080Z",
            "url": "https://files.pythonhosted.org/packages/4b/40/aa26dc54adb4c8751079f4f13c09c3c2b7430c9d81a66231356d4f3f48c6/r_ascan-0.0.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d68e36d4796d9422f6b236cf01c659e91893e7560a7d0d8d4af26569136b346f",
                "md5": "7acaedcdd080dadfaa155bd0929889f7",
                "sha256": "fd2ba6ee68b502f213edf735198081ae899ae77497124962fd3e535cfb14113a"
            },
            "downloads": -1,
            "filename": "r_ascan-0.0.12.tar.gz",
            "has_sig": false,
            "md5_digest": "7acaedcdd080dadfaa155bd0929889f7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 31445,
            "upload_time": "2025-07-10T06:36:40",
            "upload_time_iso_8601": "2025-07-10T06:36:40.392709Z",
            "url": "https://files.pythonhosted.org/packages/d6/8e/36d4796d9422f6b236cf01c659e91893e7560a7d0d8d4af26569136b346f/r_ascan-0.0.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-10 06:36:40",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "r-ascan"
}
        
Elapsed time: 0.94296s