Luminet / README.md
koesan's picture
Update README.md
173f5e5 verified

A newer version of the Gradio SDK is available: 6.2.0

Upgrade
metadata
title: Luminet - Open Source Network Analysis Tool
emoji: 🌐
colorFrom: purple
colorTo: blue
sdk: gradio
sdk_version: 5.46.0
app_file: app.py
pinned: false

🌐 Luminet - Open Source Network Analysis Tool

Docker Hub Hugging Face Python License

🇬🇧 English | 🇹🇷 Türkçe


📖 Overview

Luminet is a comprehensive open-source network analysis tool designed for cybersecurity professionals, network administrators, and researchers. It provides detailed reconnaissance capabilities for IP addresses and domain names using only public, free data sources.

✨ Key Features

  • 🔍 RDAP/WHOIS Analysis - Comprehensive registry data lookup
  • 🌐 DNS Records Enumeration - A, AAAA, MX, NS, TXT, CNAME, SOA records
  • 🗺️ Geographic Location Mapping - IP geolocation and ISP information
  • 🛡️ Security Assessment - DNSBL checks, anonymity service detection
  • 🔒 SSL/TLS Certificate Analysis - Certificate chain and security validation
  • 📊 Network Routing Analysis - Traceroute and BGP information
  • ⚡ Real-time Ping Statistics - Latency and connectivity testing
  • 🔌 Port Scanning - Open port detection and service identification

🚀 Quick Start

Using Docker (Recommended)

# Clone the repository
git clone https://github.com/koesan/Luminet.git
cd Luminet

# Run with Docker Compose
docker-compose up -d

# Access the application
open http://localhost:7860

Using Docker Hub

# Pull and run from Docker Hub
docker run -p 7860:7860 koesan/luminet:latest

Manual Installation

# Clone repository
git clone https://github.com/koesan/Luminet.git
cd Luminet

# Install system dependencies (Ubuntu/Debian)
sudo apt update
sudo apt install -y python3 python3-pip traceroute nmap mtr dnsutils

# Create virtual environment
python3 -m venv venv
source venv/bin/activate

# Install Python dependencies
pip install -r requirements.txt

# Run the application
python main.py

📋 System Requirements

Minimum Requirements

  • OS: Linux (Ubuntu 20.04+ recommended), macOS, Windows
  • Python: 3.11 or higher
  • Memory: 512 MB RAM
  • Storage: 100 MB free space

Recommended System Tools

  • traceroute - Network path tracing
  • nmap - Port scanning capabilities
  • mtr - Enhanced network diagnostics
  • dig/nslookup - DNS utilities

🛠️ Technology Stack

Backend

  • Framework: Flask 2.3.3
  • Language: Python 3.11+
  • Networking: dnspython, requests, python-whois
  • Security: pyOpenSSL, scapy

Frontend

  • UI Framework: Bootstrap 5.3.3
  • Icons: Bootstrap Icons 1.11.3
  • Fonts: Inter (Google Fonts)
  • Styling: Custom CSS with CSS Grid & Flexbox

Infrastructure

  • Containerization: Docker & Docker Compose
  • Process Management: Gunicorn WSGI server
  • Health Monitoring: Built-in health checks

📦 Docker Deployment

For Hugging Face Spaces

Create an app.py file in your Hugging Face Space:

import subprocess
import sys

# Install system dependencies
subprocess.run(["apt-get", "update"], check=True)
subprocess.run([
    "apt-get", "install", "-y", 
    "traceroute", "nmap", "mtr", "dnsutils", "iputils-ping"
], check=True)

# Run the main application
from main import app

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=7860)

Production Deployment

FROM python:3.11-slim

RUN apt-get update && apt-get install -y \
    traceroute nmap mtr dnsutils iputils-ping \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .
EXPOSE 7860

CMD ["gunicorn", "--bind", "0.0.0.0:7860", "main:app"]

🔧 Configuration

Environment Variables

# Application settings
PORT=7860                    # Server port
SECRET_KEY=your-secret-key   # Flask secret key

# Optional API keys (for enhanced features)
IPINFO_TOKEN=your-token      # IPinfo.io API token
SHODAN_API_KEY=your-key      # Shodan API key (if available)

Custom Configuration

Edit main.py to customize:

# Request timeout settings
REQUEST_DELAY = 0.1          # Rate limiting delay
RESOLVER_TIMEOUT = 5         # DNS resolver timeout

# Feature toggles
ENABLE_PORT_SCAN = True      # Enable/disable port scanning
ENABLE_TRACEROUTE = True     # Enable/disable traceroute

🔍 Usage Examples

Web Interface

  1. Open http://localhost:7860 in your browser
  2. Enter an IP address or domain name
  3. Click "Analyze" to get comprehensive results

API Usage

# Analyze an IP address
curl -X POST http://localhost:7860/api/analyze \
  -H "Content-Type: application/json" \
  -d '{"ip": "8.8.8.8"}'

# Example response
{
  "ip": "8.8.8.8",
  "ipinfo": {
    "city": "Mountain View",
    "country": "US",
    "org": "AS15169 Google LLC"
  },
  "ping": {
    "min": "10.2 ms",
    "avg": "12.5 ms",
    "max": "15.1 ms"
  }
}

🤝 Contributing

We welcome contributions! Here's how you can help:

Development Setup

# Fork and clone the repository
git clone https://github.com/yourusername/Luminet.git
cd Luminet

# Create feature branch
git checkout -b feature/your-feature-name

# Make your changes and commit
git commit -am "Add your feature"
git push origin feature/your-feature-name

# Create a Pull Request

Code Style

  • Follow PEP 8 for Python code
  • Use meaningful variable names
  • Add docstrings for functions
  • Write unit tests for new features

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • IANA - Internet registry data
  • RIPEstat - BGP and routing information
  • ipinfo.io - Geolocation services
  • Bootstrap - UI framework
  • Flask - Web framework

📞 Support


🇹🇷 Türkçe - Proje Açıklaması

📖 Genel Bakış

Luminet, siber güvenlik uzmanları, ağ yöneticileri ve araştırmacılar için tasarlanmış kapsamlı bir açık kaynak ağ analiz aracıdır. Yalnızca halka açık, ücretsiz veri kaynaklarını kullanarak IP adresleri ve alan adları için detaylı keşif yetenekleri sağlar.

✨ Temel Özellikler

  • 🔍 RDAP/WHOIS Analizi - Kapsamlı kayıt veri arama
  • 🌐 DNS Kayıt Numaralandırması - A, AAAA, MX, NS, TXT, CNAME, SOA kayıtları
  • 🗺️ Coğrafi Konum Haritalaması - IP coğrafi konum ve ISS bilgileri
  • 🛡️ Güvenlik Değerlendirmesi - DNSBL kontrolleri, anonimlik hizmeti tespiti
  • 🔒 SSL/TLS Sertifika Analizi - Sertifika zinciri ve güvenlik doğrulaması
  • 📊 Ağ Yönlendirme Analizi - Traceroute ve BGP bilgileri
  • ⚡ Gerçek Zamanlı Ping İstatistikleri - Gecikme ve bağlanabilirlik testi
  • 🔌 Port Tarama - Açık port tespiti ve servis tanımlama

🚀 Hızlı Başlangıç

Docker Kullanarak (Önerilen)

# Depoyu klonlayın
git clone https://github.com/koesan/Luminet.git
cd Luminet

# Docker Compose ile çalıştırın
docker-compose up -d

# Uygulamaya erişin
open http://localhost:7860

Manuel Kurulum

# Depoyu klonlayın
git clone https://github.com/koesan/Luminet.git
cd Luminet

# Sistem bağımlılıklarını kurun (Ubuntu/Debian)
sudo apt update
sudo apt install -y python3 python3-pip traceroute nmap mtr dnsutils

# Sanal ortam oluşturun
python3 -m venv venv
source venv/bin/activate

# Python bağımlılıklarını kurun
pip install -r requirements.txt

# Uygulamayı çalıştırın
python main.py

📋 Sistem Gereksinimleri

Minimum Gereksinimler

  • İşletim Sistemi: Linux (Ubuntu 20.04+ önerilir), macOS, Windows
  • Python: 3.11 veya üzeri
  • Bellek: 512 MB RAM
  • Depolama: 100 MB boş alan

Önerilen Sistem Araçları

  • traceroute - Ağ yolu izleme
  • nmap - Port tarama yetenekleri
  • mtr - Gelişmiş ağ tanılama
  • dig/nslookup - DNS araçları

🛠️ Teknoloji Yığını

Arka Uç

  • Framework: Flask 2.3.3
  • Dil: Python 3.11+
  • Ağ İletişimi: dnspython, requests, python-whois
  • Güvenlik: pyOpenSSL, scapy

Ön Uç

  • UI Framework: Bootstrap 5.3.3
  • İkonlar: Bootstrap Icons 1.11.3
  • Yazı Tipleri: Inter (Google Fonts)
  • Stil: CSS Grid ve Flexbox ile özel CSS

🔍 Kullanım Örnekleri

Web Arayüzü

  1. Tarayıcınızda http://localhost:7860 adresini açın
  2. Bir IP adresi veya alan adı girin
  3. Kapsamlı sonuçlar için "Analiz Et" düğmesine tıklayın

API Kullanımı

# Bir IP adresini analiz etme
curl -X POST http://localhost:7860/api/analyze \
  -H "Content-Type: application/json" \
  -d '{"ip": "8.8.8.8"}'

📄 Lisans

Bu proje MIT Lisansı altında lisanslanmıştır - detaylar için LICENSE dosyasına bakın.


Made with ❤️ by the Luminet community

🌟 Star this repo if you find it useful!