Skip to content
This repository was archived by the owner on Aug 1, 2026. It is now read-only.

Repository files navigation

Recon Mapper

A professional node-based investigation mapping platform designed for digital forensics and ethical hacking reconnaissance. Built with React Flow, this application enables security researchers and investigators to visually map out complex investigation workflows, track evidence chains, and document reconnaissance findings.

πŸš€ Features

Core Functionality

  • Interactive Flow Mapping: Drag-and-drop interface for creating investigation workflows
  • Multiple Investigation Flows: Create and manage multiple separate investigation projects
  • Real-time Collaboration Ready: Architecture supports future collaborative features
  • Auto-save: Automatic persistence of all work to local storage
  • Export Capabilities: Export flows as JSON data or PNG images

Node Types

  • Web Endpoints: Map API endpoints, websites, and web services with authentication details
  • SSH Access: Document SSH connections with host, port, and authentication methods
  • RDP Access: Track Remote Desktop connections and credentials
  • Credentials: Securely store and organize various types of credentials (passwords, tokens, keys)
  • Artifacts: Document evidence files with metadata (hashes, file types, sizes)
  • Custom Nodes: Build your own node types with the integrated node builder

Advanced Features

  • Undo/Redo: Full history management with 50-step undo/redo capability
  • Keyboard Shortcuts: Efficient workflow with keyboard navigation
  • Node Editing: Double-click any node to edit its properties
  • Flow Management: Create, rename, delete, and switch between investigation flows
  • Import/Export: Share flows via JSON files or export visual representations
  • Responsive Design: Works on desktop and tablet devices

πŸ› οΈ Technology Stack

Frontend Framework

  • React 18 - Modern React with hooks and concurrent features
  • TypeScript - Type-safe development
  • Vite - Fast build tool and development server

UI Components

  • shadcn/ui - Modern, accessible component library
  • Tailwind CSS - Utility-first CSS framework
  • Radix UI - Unstyled, accessible UI primitives
  • Lucide React - Beautiful icon library

Flow Management

  • React Flow - Powerful library for creating node-based diagrams
  • HTML2Canvas - Export flows as images

State Management

  • React Query - Server state management (extensible for future API integration)
  • Local Storage - Client-side persistence

Development Tools

  • ESLint - Code linting
  • PostCSS - CSS processing
  • Autoprefixer - CSS vendor prefixing

πŸ“‹ Prerequisites

  • Node.js 18.0.0 or higher
  • npm 8.0.0 or higher (or yarn/pnpm)

πŸš€ Getting Started

Installation

  1. Clone the repository

    git clone https://github.com/Samarthegde/recon-mapper.git
    cd recon-mapper
  2. Install dependencies

    npm install
  3. Start the development server

    npm run dev
  4. Open your browser Navigate to http://localhost:8080 to access the application.

Build for Production

npm run build

The built files will be in the dist/ directory.

Preview Production Build

npm run preview

πŸ“– Usage Guide

Creating Your First Investigation Flow

  1. Start a New Flow: Click the "New Flow" button in the flow manager
  2. Add Nodes: Drag node types from the palette on the left onto the canvas
  3. Connect Nodes: Drag from the connection points on nodes to create relationships
  4. Edit Properties: Double-click any node to edit its details
  5. Save Progress: All changes are automatically saved to your browser's local storage

Node Types Overview

Web Endpoint Node

  • Configure API endpoints with methods (GET, POST, PUT, DELETE)
  • Set authentication types (None, Basic, Bearer, API Key)
  • Track response status codes

SSH/RDP Access Nodes

  • Document connection details (host, port, username)
  • Specify authentication methods
  • Useful for tracking infrastructure access points

Credential Node

  • Securely store various credential types
  • Support for passwords, tokens, and keys
  • Visual indicators for credential types

Artifact Node

  • Document evidence files and their metadata
  • Include file hashes for integrity verification
  • Track file sizes and types

Custom Nodes

  • Create specialized node types for your specific investigation needs
  • Define custom properties and visual styling
  • Extend the platform for domain-specific requirements

Keyboard Shortcuts

  • Delete/Backspace: Remove selected nodes and connections
  • Ctrl+Z (Cmd+Z on Mac): Undo last action
  • Ctrl+Y (Cmd+Y on Mac): Redo last action
  • Ctrl+Shift+Z: Alternative redo shortcut

Exporting and Sharing

  • JSON Export: Save your flow as structured data for backup or sharing
  • PNG Export: Generate visual representations of your investigation flows
  • Import: Load previously exported JSON files to restore flows

πŸ—οΈ Project Structure

src/
β”œβ”€β”€ components/
β”‚   β”œβ”€β”€ nodes/           # Individual node type components
β”‚   β”œβ”€β”€ forms/           # Node property editing forms
β”‚   β”œβ”€β”€ ui/              # Reusable UI components
β”‚   └── ...              # Other UI components
β”œβ”€β”€ hooks/               # Custom React hooks
β”œβ”€β”€ lib/                 # Utility functions
β”œβ”€β”€ pages/               # Route components
β”œβ”€β”€ types/               # TypeScript type definitions
└── ...

πŸ”§ Configuration

Environment Variables

The application currently uses local storage for persistence. Future versions may support:

  • Remote API integration
  • Database storage
  • Cloud synchronization

Customization

  • Themes: Built-in dark/light mode support via next-themes
  • Node Styling: Customize node appearances through CSS variables
  • Custom Node Builder: Create specialized node types for specific use cases

🀝 Contributing

We welcome contributions from the security research community!

Development Setup

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes and ensure tests pass
  4. Commit your changes: git commit -m 'Add amazing feature'
  5. Push to the branch: git push origin feature/amazing-feature
  6. Open a Pull Request

Code Style

  • Follow the existing TypeScript and React patterns
  • Use ESLint configuration for code quality
  • Write meaningful commit messages
  • Document new features and node types

πŸ™ Acknowledgments

πŸ“ž Support

For questions, bug reports, or feature requests:

  • Open an issue on GitHub
  • Join the discussion in our community forums

Note: This tool is designed for ethical security research and digital forensics. Always ensure you have proper authorization before conducting any reconnaissance activities.

About

A professional node-based investigation mapping platform designed for digital forensics and ethical hacking reconnaissance. Built with React Flow, this application enables security researchers and investigators to visually map out complex investigation workflows, track evidence chains, and document reconnaissance findings.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages