Reconya AI

A powerful network reconnaissance and asset discovery tool built with Go and React, designed to help map and monitor network devices with precision and elegance.

Get Started Learn More
Reconya Dashboard

Key Features

Advanced Scanning

Comprehensive port scanning and ping sweeping to discover all devices on your network quickly and efficiently.

Device Identification

Accurate identification and classification of network devices to help you understand your network infrastructure.

Network Visualization

Clear and interactive network topology mapping for a comprehensive view of your entire network.

Event Monitoring

Real-time logging and monitoring of network events to stay informed about changes and potential issues.

Modern Dashboard

Sleek, responsive web interface for all devices, making network management accessible from anywhere.

Security Focused

Built with security in mind, helping you identify potential vulnerabilities in your network infrastructure.

Installation

Prerequisites

  • Docker and Docker Compose (for easy deployment)
  • Go 1.16+ (for development only)
  • Node.js 14+ and npm (for development only)

Quick Start

$ git clone https://github.com/Dyneteq/reconya-ai-go.git
$ cd reconya-ai-go
$ ./setup.sh

Access the application at http://localhost:3001

Manual Deployment

If you prefer to set things up manually:

  1. Configure environment variables:
    $ cp .env.example .env
  2. Build and start the containers:
    $ docker compose up -d
  3. Access the application at http://localhost:3001
Detailed Guide

Architecture

Technology Stack

  • Backend: Go API server with SQLite for storage
  • Frontend: React/TypeScript with responsive Bootstrap UI
  • Scanning: Network operations through native Go libraries
  • Real-time: Polling system with configurable intervals
  • Deployment: Docker Compose for easy setup

Database: SQLite

The application uses SQLite for its database, offering several advantages:

  • Self-contained, no separate database service required
  • Simple setup with minimal configuration
  • Perfect for personal or organizational deployments
  • Lightweight and portable
  • Data is stored locally in a single file
  • No need for database administration

Security Notes

  • Always use strong passwords in production environments
  • Use an .env file for all sensitive configuration
  • Never expose the backend API directly to the internet
  • Run with least privilege required for network scanning
  • Keep dependencies updated to patch security vulnerabilities
  • Regularly test your deployment for security issues

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository on GitHub
  2. Create your feature branch
    git checkout -b feature/amazing-feature
  3. Commit your changes
    git commit -m 'Add some amazing feature'
  4. Push to the branch
    git push origin feature/amazing-feature
  5. Open a Pull Request with a detailed description
Open an Issue