Luminet / README.md
koesan's picture
Update README.md
173f5e5 verified
---
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](https://img.shields.io/badge/Docker-Hub-blue?logo=docker)](https://hub.docker.com)
[![Hugging Face](https://img.shields.io/badge/🤗-Hugging%20Face-yellow)](https://huggingface.co/spaces)
[![Python](https://img.shields.io/badge/Python-3.11+-blue?logo=python)](https://python.org)
[![License](https://img.shields.io/badge/License-MIT-green)](LICENSE)
**🇬🇧 English** | [🇹🇷 Türkçe](#-türkçe---proje-açıklaması)
---
## 📖 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)
```bash
# 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
```bash
# Pull and run from Docker Hub
docker run -p 7860:7860 koesan/luminet:latest
```
### Manual Installation
```bash
# 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:
```python
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
```dockerfile
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
```bash
# 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:
```python
# 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
```bash
# 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
```bash
# 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](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
- **Issues**: [GitHub Issues](https://github.com/koesan/Luminet/issues)
- **Discussions**: [GitHub Discussions](https://github.com/koesan/Luminet/discussions)
- **Email**: koesan@example.com
---
# 🇹🇷 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)
```bash
# 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
```bash
# 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ı
```bash
# 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](LICENSE) dosyasına bakın.
---
<div align="center">
<p>Made with ❤️ by the Luminet community</p>
<p>🌟 Star this repo if you find it useful!</p>
</div>