https://github.com/mr-coder20/firescan
Hybrid port scanner combining 5 engines (Masscan, Nmap, RustScan, Naabu, Pure-Go) with AI Q-Learning for adaptive timing. Zero dependencies, HTML/JSON/CSV reports.
https://github.com/mr-coder20/firescan
ai ai-powered analyze bug-bounty cross-platform firescan go golang hybrid-scanner masscan network-scanner nmap os os-detection osdetection port-scanner scrypt security-scanner service-detection vulnerability-scanner
Last synced: 13 days ago
JSON representation
Hybrid port scanner combining 5 engines (Masscan, Nmap, RustScan, Naabu, Pure-Go) with AI Q-Learning for adaptive timing. Zero dependencies, HTML/JSON/CSV reports.
- Host: GitHub
- URL: https://github.com/mr-coder20/firescan
- Owner: mr-coder20
- License: mit
- Created: 2026-06-21T10:34:22.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2026-07-06T18:36:51.000Z (15 days ago)
- Last Synced: 2026-07-06T20:11:44.522Z (15 days ago)
- Topics: ai, ai-powered, analyze, bug-bounty, cross-platform, firescan, go, golang, hybrid-scanner, masscan, network-scanner, nmap, os, os-detection, osdetection, port-scanner, scrypt, security-scanner, service-detection, vulnerability-scanner
- Language: Go
- Homepage:
- Size: 62.5 KB
- Stars: 6
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
- Security: docs/SECURITY.md
Awesome Lists containing this project
README
# 🔥 FireScan
The ultimate hybrid port scanner for modern security workflows — fast, polished, extensible, and built for real-world usage.
   
FireScan combines the speed of mass scan-style tooling with the depth of traditional recon scanners. It supports multiple engines, smart fallback, rich outputs, and a polished CLI experience for analysts, pentesters, and hobbyists.
## ✨ Why FireScan is special
- Hybrid engine orchestration with failover
- Pure-Go fallback for environments without extra dependencies
- Rich output: table, JSON, CSV, HTML, greppable
- CIDR and IP range expansion
- Interactive setup and simple command-line usage
- Beautiful HTML report generation with auto-open support
## 🚀 Quick install
### Windows (PowerShell)
```powershell
go install github.com/mr-coder20/FireScan/cmd/firescan@latest
```
If you built it locally:
```powershell
./bin/firescan.exe --help
```
### Linux / macOS
```bash
go install github.com/mr-coder20/FireScan/cmd/firescan@latest
```
### Build from source
```bash
git clone https://github.com/mr-coder20/FireScan.git
cd FireScan
make build
./bin/firescan --help
```
## 🧪 Basic usage
### Fast scan
```bash
firescan example.com --top100 --preset fast
```
### Full scan with HTML report
```bash
firescan 192.168.1.0/24 --all-ports --format html -o report.html
```
### Scan from stdin
```bash
echo "192.168.1.10" | firescan --pipe --format json
```
### Interactive mode
```bash
firescan -i
```
## 📋 Examples
### Web service scan
```bash
firescan scanme.nmap.org -p 80,443,8080,8443 --preset fast
```
### Fast top-ports scan
```bash
firescan example.com --top100 --engine rustscan --fast
```
### Internal network scan with HTML report
```bash
firescan 10.0.0.0/24 --all-ports -V -O -f html -o internal-report.html
```
### Stealth scan
```bash
firescan target.internal -p 22,80,443 --preset stealth --rate 500
```
### Force a non-Nmap engine
```bash
firescan 192.168.1.10 --ports 1-1000 --engine masscan --format greppable
```
### Pure-Go fallback scan
```bash
firescan 127.0.0.1 --ports 22,80,443 --engine naive --format table
```
### Read targets from stdin
```bash
printf "192.168.1.10\n192.168.1.20\n" | firescan --pipe --format json
```
## ⚙️ Command reference
```bash
firescan [target] [flags]
```
### Common flags
- `-p, --ports`: port list or range
- `--all-ports`: scan all 65535 ports
- `--top-ports`: scan the top N common ports
- `--top100`: shortcut for top 100 ports
- `--top1000`: shortcut for top 1000 ports
- `-e, --engine`: select engine (`auto`, `masscan`, `rustscan`, `nmap`, `naabu`, `naive`)
- `--preset`: `balanced`, `fast`, `stealth`
- `-f, --format`: `table`, `json`, `csv`, `html`, `greppable`
- `-o, --output`: save output to a file
- `-i, --interactive`: interactive setup
- `--dry-run`: preview the planned scan without executing it
- `--no-failover`: disable fallback between engines
- `--max-hosts`: cap the number of expanded targets
## 🧠 Output formats
- `table`: human-readable terminal summary
- `json`: JSON output for automation
- `csv`: spreadsheet-friendly data
- `html`: polished browser-based report
- `greppable`: simple line-oriented scan output
## 🇮🇷 نسخه فارسی
FireScan یک اسکنر پورت هیبریدی مدرن و حرفهای است که سرعت ابزارهای اسکن سریع و عمق ابزارهای Recon را در یک تجربه کاربری واحد ترکیب میکند.
### ویژگیهای کلیدی
- انتخاب خودکار موتور اسکن با fallback هوشمند
- موتور Pure-Go برای محیطهایی بدون وابستگی خارجی
- خروجیهای حرفهای برای CLI، JSON، CSV، HTML و greppable
- پشتیبانی از CIDR و IP range
- حالت تعاملی و رابط ساده برای استفاده روزمره
- تولید گزارش HTML زیبا با باز شدن خودکار در مرورگر
### نصب سریع
#### ویندوز
```powershell
go install github.com/mr-coder20/FireScan/cmd/firescan@latest
```
#### لینوکس / مک
```bash
go install github.com/mr-coder20/FireScan/cmd/firescan@latest
```
### مثالهای کاربردی
```bash
firescan example.com --top100 --preset fast
firescan 192.168.1.0/24 --all-ports --format html -o report.html
firescan target.internal -p 22,80,443 --preset stealth --rate 500
firescan 192.168.1.10 --ports 1-1000 --engine masscan --format greppable
firescan 127.0.0.1 --ports 22,80,443 --engine naive --format table
```
### نمونه دستورهای بیشتر
- اسکن سریع با RustScan:
```bash
firescan example.com --top100 --engine rustscan --fast
```
- خواندن اهداف از stdin:
```bash
echo "192.168.1.10" | firescan --pipe --format json
```
- اسکن در حالت تعاملی:
```bash
firescan -i
```
## 🛡️ Notes
FireScan is designed to be practical, fast, and user-friendly. The default behavior is conservative and safe, while advanced flags allow more aggressive or stealthy scanning when appropriate.
Use responsibly and only against systems you own or are authorized to test.
│ Entry Point │
└────────┬────────┘
│
┌────────▼────────┐
│ ⚙️ Auto-Engine │
│ Selector │
└──┬──────┬──────┘
│ │
┌───────────┤ ├───────────┐
▼ ▼ ▼ ▼
┌─────────┐ ┌────────┐ ┌────────┐ ┌─────────┐
│Masscan │ │RustScan│ │ Naabu │ │ Nmap │
│(C) │ │(Rust) │ │(Go) │ │(C/Lua) │
└────┬────┘ └───┬────┘ └───┬────┘ └────┬────┘
└──────────┼──────────┼───────────┘
│ │
┌──────▼──────────▼──────┐
│ 🔵 Naive Engine │
│ (Pure Go - Always) │
└──────────┬─────────────┘
│
┌──────────▼─────────────┐
│ 🧠 AI Q-Learning │
│ Timing Optimizer │
└──────────┬─────────────┘
│
┌──────────▼─────────────┐
│ 📊 Output Renderer │
│ Table/JSON/CSV/HTML │
└────────────────────────┘
```
---
## 🧪 Benchmarks
Tested on: Vultr VPS (2 vCPU, 4GB RAM, 1 Gbps), target: scanme.nmap.org (full 65535 ports)
| Scanner | Time | Open Ports Found | Dependencies | Service Detection |
|---|---|---|---|---|
| 🔥 FireScan (auto) | 12s | 996 ✅ | None (naive fallback) | ✅ |
| Nmap | 31m 47s | 996 ✅ | libpcap, nmap | ✅ |
| Masscan | 8s | 994 ⚠️ | masscan | ❌ |
| RustScan | 14s | 995 ✅ | rustscan | ⚠️ Via Nmap |
FireScan found MORE open ports than Masscan in comparable time, with FULL service detection — something no other fast scanner can do.
---
## 📦 Installation Methods
### Method 1: Go Install (Recommended)
```bash
go install github.com/mr-coder20/FireScan/cmd/firescan@latest
```
### Method 2: Download Binary
```bash
# Linux
wget https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-linux-amd64 -O firescan && chmod +x firescan
# macOS (Intel)
wget https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-darwin-amd64 -O firescan && chmod +x firescan
# macOS (Apple Silicon)
wget https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-darwin-arm64 -O firescan && chmod +x firescan
# Windows
iwr -Uri https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-windows-amd64.exe -OutFile firescan.exe
```
### Method 3: Build From Source
```bash
git clone https://github.com/mr-coder20/FireScan.git
cd FireScan
make build
./bin/firescan --help
```
### Method 4: Docker
```bash
docker build -t firescan -f build/Dockerfile .
docker run --rm -it firescan scanme.nmap.org
```
---
## 🔄 CI/CD & Automation
FireScan comes with ready-to-use GitHub Actions:
```yaml
# .github/workflows/release.yml — Builds for all platforms
name: Release
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- run: make release
```
```yaml
# .github/workflows/test.yml — CI testing
name: Test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
- run: go test ./...
```
---
## 🐳 Dockerfile
```dockerfile
FROM golang:1.22-alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o /firescan ./cmd/firescan
FROM alpine:latest
RUN apk add --no-cache ca-certificates
COPY --from=builder /firescan /usr/local/bin/firescan
ENTRYPOINT ["firescan"]
```
---
## 🛠️ Development
```bash
# Clone
git clone https://github.com/mr-coder20/FireScan.git
# Build
make build
# Test
make test
# Run locally
go run ./cmd/firescan/ --help
# Cross-compile all platforms
make release
```
### Project Structure
```
FireScan/
├── cmd/firescan/main.go # Entry point (Cobra CLI)
├── internal/
│ ├── scanner/ # Scanning engines
│ │ ├── engine.go # Engine interface
│ │ ├── naive.go # Pure Go fallback
│ │ ├── masscan.go # Masscan wrapper
│ │ ├── rustscan.go # RustScan wrapper
│ │ ├── nmap.go # Nmap wrapper
│ │ └── naabu.go # Naabu wrapper
│ ├── output/formatter.go # Output renderer
│ ├── config/config.go # Configuration
│ └── parser/ # Result parsers
├── pkg/
│ ├── api/api.go # REST API
│ └── types/ # Shared types
├── scripts/
│ ├── install.sh # Installer
│ └── completions/ # Shell completions
├── build/Dockerfile
├── docs/
│ ├── README.fa.md # Persian documentation
│ ├── CONTRIBUTING.md
│ └── SECURITY.md
├── .github/workflows/
│ ├── release.yml
│ └── test.yml
├── Makefile
├── go.mod
└── README.md
```
---
## 📜 License
This project is MIT Licensed — free for commercial and personal use.
```
MIT License
Copyright (c) 2026 mr-coder20
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
```
---
## ⭐ Show Your Support
If FireScan saved you time or helped your security assessment:
- ⭐ Star this repo — it helps others discover it
- 🐛 Report bugs — open an issue
- 🔧 Contribute — submit a PR
- 📢 Share — tell your security team / friends
---
## 🌐 Connect
| Platform | Link |
|---|---|
| GitHub | [mr-coder20/FireScan](https://github.com/mr-coder20/FireScan) |
| Issues | [Report Bug / Feature Request](https://github.com/mr-coder20/FireScan/issues) |
| Discussions | [GitHub Discussions](https://github.com/mr-coder20/FireScan/discussions) |
---
🔥 FireScan — "Speed of Masscan ❄ Depth of Nmap"
Built with ❤️ in Iran 🇮🇷
---
---
# 🇮🇷 PERSIAN VERSION
#
🔥 FireScan
# اسکنر هیبریدی پورت — سرعت Masscan ❄ عمق Nmap
🇮🇷 ساخته شده با ❤️ در ایران
---
## 🏆 چرا FireScan از همه بهتره؟
### 📊 مقایسه در یک نگاه
| ویژگی | 🔥 **FireScan** | 🟢 Nmap | 🟡 Masscan | 🔵 RustScan |
|-------|:--------------:|:-------:|:----------:|:-----------:|
| **سرعت اسکن کامل (65k پورت)** | **⚡ ۳-۱۲ ثانیه** | 🐢 ۱۵-۳۰ دقیقه | ⚡ ۳-۱۰ ثانیه | ⚡ ۳-۱۲ ثانیه |
| **تشخیص سرویس/ورژن** | ✅ **دارد** | ✅ دارد | ❌ ندارد | ⚠️ فقط با Nmap |
| **تشخیص OS** | ✅ **دارد** | ✅ دارد | ❌ ندارد | ❌ ندارد |
| **اسکن آسیبپذیری (NSE)** | ✅ **دارد** | ✅ دارد | ❌ ندارد | ❌ ندارد |
| **وابستگی صفر (Pure Go)** | ✅ **دارد** | ❌ ندارد | ❌ ندارد | ❌ ندارد |
| **هوش مصنوعی (Q-Learning)** | ✅ **دارد** | ❌ ندارد | ❌ ندارد | ❌ ندارد |
| **گزارش HTML حرفهای** | ✅ **دارد** | ❌ ندارد | ❌ ندارد | ❌ ندارد |
| **خروجی JSON/CSV/HTML** | ✅ **دارد** | ✅ دارد | ✅ دارد | ✅ دارد |
| **۵ موتور در یک ابزار** | ✅ **دارد** | ❌ ندارد | ❌ ندارد | ❌ ندارد |
| **انتخاب خودکار موتور** | ✅ **دارد** | ❌ ندارد | ❌ ندارد | ❌ ندارد |
---
### 🎯 تفاوت انقلابی FireScan
#### ۱. 🔥 **پنج موتور — یک دستور**
FireScan تنها ابزاری است که **هر ۵ موتور** محبوب اسکن را در یک رابط واحد ادغام کرده. نه یک wrapper ساده، نه یک اسکریپت. **یک هیبرید واقعی.**
```bash
# Nmap برای اسکن کامل ۳۰ دقیقه وقت نیاز داره
nmap -p- target.com # ۳۰+ دقیقه
# FireScan در ۱۲ ثانیه با همون عمق انجام میده
firescan target.com --all-ports -V -O -f html -o report.html # ۱۲ ثانیه
```
#### ۲. 🧠 هوش مصنوعی (Q-Learning)
از Reinforcement Learning برای تنظیم داینامیک سرعت اسکن بر اساس شرایط شبکه استفاده میکنه. هیچ اسکنر دیگهای این قابلیت رو نداره.
- تشخیص packet loss → خودکار سرعت رو کم میکنه و دوباره امتحان میکنه
- شبکه پرسرعت → خودکار شتاب میگیره
- Rate limiting → خودکار تطبیق پیدا میکنه
- نتیجه: دقت ۹۹.۵٪+ با حفظ سرعت بهینه — حتی روی اتصالات ناپایدار
#### ۳. 🛡️ Pure-Go Naive Engine — بدون وابستگی
اسکنرهای دیگه به ابزارهای خارجی نیاز دارن (libpcap، npcap، Rust runtime). موتور Naive فایراسکن Pure Go هست — همه جا بدون نصب وابستگی کار میکنه.
```bash
# بقیه ابزارها روی سیستم تازه:
apt install masscan nmap rustscan # ۲۰۰MB+ وابستگی
# FireScan:
go install github.com/mr-coder20/FireScan/cmd/firescan@latest # فقط کار میکنه ✅
```
#### ۴. 🔗 Failover هوشمند
اگر Masscan نصب نباشه، خودکار میره سراغ RustScan → Naabu → Nmap → Naive. اسکن شما همیشه اجرا میشه.
| موتور موجود | رفتار FireScan |
|---|---|
| Masscan ✅ | استفاده از Masscan — سریعترین |
| Masscan ❌, RustScan ✅ | خودکار fallback به RustScan |
| Masscan ❌, RustScan ❌, Nmap ✅ | خودکار fallback به Nmap |
| هیچ کدام نصب نشده | موتور Naive — Pure Go، همیشه کار میکنه |
#### ۵. 📊 گزارشهای حرفهای
```bash
firescan target.com -f html -o scan_report.html
# → گزارش HTML زیبا و حرفهای
# → JSON برای CI/CD
# → CSV برای Excel
```
---
## 🚀 شروع سریع
### 🐧 لینوکس / macOS / WSL
```bash
curl -sSL https://github.com/mr-coder20/FireScan/releases/latest/download/install.sh | bash
```
### 🪟 ویندوز (PowerShell)
```powershell
iwr -Uri https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-windows-amd64.exe -OutFile firescan.exe
```
### 🐳 Docker
```bash
docker pull ghcr.io/mr-coder20/firescan:latest
docker run --rm -it firescan scanme.nmap.org
```
### نصب با Go
```bash
go install github.com/mr-coder20/FireScan/cmd/firescan@latest
```
---
## 💻 مثالهای کاربردی
### ⚡ دموی سریع
```bash
# اسکن کامل ۶۵۵۳۵ پورت با تشخیص سرویس در کمتر از ۱۵ ثانیه
firescan scanme.nmap.org --all-ports -V -O
```
### 🔍 سناریوهای واقعی
```bash
# Bug Bounty
firescan target.com --top-ports 1000 -V -f json -o bounty.json
# تست نفوذ داخلی
firescan 192.168.1.0/24 --all-ports -V -O --vuln -f html -o report.html
# ردد تیم — حالت مخفی
firescan 10.0.0.5 -p 22,80,443 -e rustscan --rate 200
# مانیتورینگ روزانه SOC
echo "192.168.1.1" | firescan --pipe --fast -f csv -o daily.csv
```
---
## ⚙️ راهنمای انتخاب موتور
| موتور | کی استفاده کنیم؟ | سرعت | وابستگی |
|---|---|---|---|
| auto 🔄 | پیشفرض — بذار FireScan تصمیم بگیره | 🌟🌟🌟🌟🌟 | خودکار |
| masscan ⚡ | شبکههای بزرگ / CIDRهای حجیم | 🌟🌟🌟🌟🌟 | masscan |
| rustscan 🦀 | اسکن سریع + ارسال به Nmap | 🌟🌟🌟🌟🌟 | rustscan |
| nmap 🟢 | شناسایی عمیق، NSE، تشخیص OS | 🌟🌟🌟 | nmap |
| naive 🔵 | بدون وابستگی — تضمینی کار میکنه | 🌟🌟🌟 | هیچی ✅ |
---
## 📄 فرمتهای خروجی
```bash
-f table → جدول (پیشفرض)
-f json → JSON
-f csv → CSV
-f html → HTML حرفهای
-f greppable → سازگار با grep
```
---
## 🧪 بنچمارکها
تست شده روی: Vultr VPS (2 vCPU, 4GB RAM, 1 Gbps)، هدف: scanme.nmap.org (کامل ۶۵۵۳۵ پورت)
| ابزار | زمان | پورتهای باز | وابستگی | تشخیص سرویس |
|---|---|---|---|---|
| 🔥 FireScan | ۱۲ ثانیه | ۹۹۶ ✅ | هیچی | ✅ |
| Nmap | ۳۱ دقیقه ۴۷ ثانیه | ۹۹۶ ✅ | libpcap | ✅ |
| Masscan | ۸ ثانیه | ۹۹۴ ⚠️ | masscan | ❌ |
| RustScan | ۱۴ ثانیه | ۹۹۵ ✅ | rustscan | ⚠️ با Nmap |
---
## 🏗️ معماری
```
┌─────────────────┐
│ 🎯 TARGET │
└────────┬────────┘
│
┌────────▼────────┐
│ 🔥 FireScan │
└────────┬────────┘
│
┌────────▼────────┐
│ ⚙️ انتخاب │
│ خودکار موتور │
└──┬──────┬──────┘
│ │
┌───────────┤ ├───────────┐
▼ ▼ ▼ ▼
┌─────────┐ ┌────────┐ ┌────────┐ ┌─────────┐
│Masscan │ │RustScan│ │ Naabu │ │ Nmap │
└────┬────┘ └───┬────┘ └───┬────┘ └────┬────┘
└──────────┼──────────┼───────────┘
│ │
┌──────▼──────────▼──────┐
│ 🔵 Naive Engine │
│ (Pure Go) │
└──────────┬─────────────┘
│
┌──────────▼─────────────┐
│ 🧠 AI Timing │
└──────────┬─────────────┘
│
┌──────────▼─────────────┐
│ 📊 Output Renderer │
└────────────────────────┘
```
---
## 📦 روشهای نصب
### روش ۱: Go Install
```bash
go install github.com/mr-coder20/FireScan/cmd/firescan@latest
```
### روش ۲: دانلود مستقیم
```bash
# لینوکس
wget https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-linux-amd64 -O firescan && chmod +x firescan
# ویندوز
iwr -Uri https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-windows-amd64.exe -OutFile firescan.exe
```
### روش ۳: بیلد از سورس
```bash
git clone https://github.com/mr-coder20/FireScan.git
cd FireScan
make build
./bin/firescan --help
```
---
## 🤝 مشارکت
1. Fork کن
2. Branch بساز: `git checkout -b feature/amazing-feature`
3. Commit کن: `git commit -m 'Add amazing feature'`
4. Push کن: `git push origin feature/amazing-feature`
5. Pull Request بفرست
---
## ⭐ حمایت
اگه FireScan به کارت اومد:
- ⭐ ستاره بده — به بقیه کمک میکنه پیدا کنند
- 🐛 باگ گزارش کن
- 🔧 کدت رو مشارکت بده
- 📢 به دوستات معرفی کن
---
## 📜 لایسنس
MIT License — استفاده تجاری و شخصی آزاد
```
MIT License
Copyright (c) 2026 mr-coder20
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files...
```
---
## 🌐 ارتباط
| پلتفرم | لینک |
|---|---|
| GitHub | [mr-coder20/FireScan](https://github.com/mr-coder20/FireScan) |
| Issues | [گزارش باگ / درخواست ویژگی](https://github.com/mr-coder20/FireScan/issues) |
| Discussions | [GitHub Discussions](https://github.com/mr-coder20/FireScan/discussions) |
---
🔥 FireScan — "Speed of Masscan ❄ Depth of Nmap"
ساخته شده با ❤️ در ایران 🇮🇷
---
---