Skip to content

mr-coder20/FireScan

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 FireScan

The ultimate hybrid port scanner for modern security workflows — fast, polished, extensible, and built for real-world usage.

Version Go Platform License

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)

go install github.com/mr-coder20/FireScan/cmd/firescan@latest

If you built it locally:

./bin/firescan.exe --help

Linux / macOS

go install github.com/mr-coder20/FireScan/cmd/firescan@latest

Build from source

git clone https://github.com/mr-coder20/FireScan.git
cd FireScan
make build
./bin/firescan --help

🧪 Basic usage

Fast scan

firescan example.com --top100 --preset fast

Full scan with HTML report

firescan 192.168.1.0/24 --all-ports --format html -o report.html

Scan from stdin

echo "192.168.1.10" | firescan --pipe --format json

Interactive mode

firescan -i

📋 Examples

Web service scan

firescan scanme.nmap.org -p 80,443,8080,8443 --preset fast

Fast top-ports scan

firescan example.com --top100 --engine rustscan --fast

Internal network scan with HTML report

firescan 10.0.0.0/24 --all-ports -V -O -f html -o internal-report.html

Stealth scan

firescan target.internal -p 22,80,443 --preset stealth --rate 500

Force a non-Nmap engine

firescan 192.168.1.10 --ports 1-1000 --engine masscan --format greppable

Pure-Go fallback scan

firescan 127.0.0.1 --ports 22,80,443 --engine naive --format table

Read targets from stdin

printf "192.168.1.10\n192.168.1.20\n" | firescan --pipe --format json

⚙️ Command reference

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 زیبا با باز شدن خودکار در مرورگر

نصب سریع

ویندوز

go install github.com/mr-coder20/FireScan/cmd/firescan@latest

لینوکس / مک

go install github.com/mr-coder20/FireScan/cmd/firescan@latest

مثال‌های کاربردی

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:
firescan example.com --top100 --engine rustscan --fast
  • خواندن اهداف از stdin:
echo "192.168.1.10" | firescan --pipe --format json
  • اسکن در حالت تعاملی:
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

# 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

git clone https://github.com/mr-coder20/FireScan.git
cd FireScan
make build
./bin/firescan --help

Method 4: Docker

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:

# .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
# .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

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

# 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
Issues Report Bug / Feature Request
Discussions GitHub Discussions

🔥 FireScan — "Speed of Masscan ❄ Depth of Nmap"

Built with ❤️ in Iran 🇮🇷


🇮🇷 PERSIAN VERSION

🔥 FireScan

اسکنر هیبریدی پورت — سرعت Masscan ❄ عمق Nmap

ورژن بیلد گو لایسنس PR

🇮🇷 ساخته شده با ❤️ در ایران


🏆 چرا FireScan از همه بهتره؟

📊 مقایسه در یک نگاه

ویژگی 🔥 FireScan 🟢 Nmap 🟡 Masscan 🔵 RustScan
سرعت اسکن کامل (65k پورت) ⚡ ۳-۱۲ ثانیه 🐢 ۱۵-۳۰ دقیقه ⚡ ۳-۱۰ ثانیه ⚡ ۳-۱۲ ثانیه
تشخیص سرویس/ورژن دارد ✅ دارد ❌ ندارد ⚠️ فقط با Nmap
تشخیص OS دارد ✅ دارد ❌ ندارد ❌ ندارد
اسکن آسیب‌پذیری (NSE) دارد ✅ دارد ❌ ندارد ❌ ندارد
وابستگی صفر (Pure Go) دارد ❌ ندارد ❌ ندارد ❌ ندارد
هوش مصنوعی (Q-Learning) دارد ❌ ندارد ❌ ندارد ❌ ندارد
گزارش HTML حرفه‌ای دارد ❌ ندارد ❌ ندارد ❌ ندارد
خروجی JSON/CSV/HTML دارد ✅ دارد ✅ دارد ✅ دارد
۵ موتور در یک ابزار دارد ❌ ندارد ❌ ندارد ❌ ندارد
انتخاب خودکار موتور دارد ❌ ندارد ❌ ندارد ❌ ندارد

🎯 تفاوت انقلابی FireScan

۱. 🔥 پنج موتور — یک دستور

FireScan تنها ابزاری است که هر ۵ موتور محبوب اسکن را در یک رابط واحد ادغام کرده. نه یک wrapper ساده، نه یک اسکریپت. یک هیبرید واقعی.

# 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 هست — همه جا بدون نصب وابستگی کار میکنه.

# بقیه ابزارها روی سیستم تازه:
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، همیشه کار میکنه

۵. 📊 گزارش‌های حرفه‌ای

firescan target.com -f html -o scan_report.html
# → گزارش HTML زیبا و حرفه‌ای
# → JSON برای CI/CD
# → CSV برای Excel

🚀 شروع سریع

🐧 لینوکس / macOS / WSL

curl -sSL https://github.com/mr-coder20/FireScan/releases/latest/download/install.sh | bash

🪟 ویندوز (PowerShell)

iwr -Uri https://github.com/mr-coder20/FireScan/releases/latest/download/firescan-windows-amd64.exe -OutFile firescan.exe

🐳 Docker

docker pull ghcr.io/mr-coder20/firescan:latest
docker run --rm -it firescan scanme.nmap.org

نصب با Go

go install github.com/mr-coder20/FireScan/cmd/firescan@latest

💻 مثال‌های کاربردی

⚡ دموی سریع

# اسکن کامل ۶۵۵۳۵ پورت با تشخیص سرویس در کمتر از ۱۵ ثانیه
firescan scanme.nmap.org --all-ports -V -O

🔍 سناریوهای واقعی

# 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 🔵 بدون وابستگی — تضمینی کار میکنه 🌟🌟🌟 هیچی ✅

📄 فرمت‌های خروجی

-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

go install github.com/mr-coder20/FireScan/cmd/firescan@latest

روش ۲: دانلود مستقیم

# لینوکس
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

روش ۳: بیلد از سورس

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
Issues گزارش باگ / درخواست ویژگی
Discussions GitHub Discussions

🔥 FireScan — "Speed of Masscan ❄ Depth of Nmap"

ساخته شده با ❤️ در ایران 🇮🇷


About

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.

Topics

Resources

License

Contributing

Security policy

Stars

6 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors