1.7 KiB
1.7 KiB
API Ping Service
Un servicio moderno de ping construido con Next.js 15 que permite realizar pruebas de conectividad de red de forma segura y controlada.
🚀 Características
- Rate Limiting: Máximo 10 peticiones por minuto por IP para prevenir abuso
- Validación de seguridad: Bloquea IPs privadas, localhost y rangos reservados
- Interfaz moderna: UI responsiva con Tailwind CSS
- Tiempo real: Resultados en tiempo real con indicadores de progreso
- Estadísticas completas: Métricas detalladas de latencia, pérdida de paquetes, etc.
- API RESTful: Endpoints bien documentados para integración
🔧 Instalación
# Instalar dependencias
npm install
# Ejecutar en modo desarrollo
npm run dev
# Ejecutar en producción
npm run build
npm start
📡 API Endpoints
POST /api/ping
Realiza una prueba de ping al destino especificado.
Request Body:
{
"target": "8.8.8.8", // IP o hostname (requerido)
"count": 4, // Número de pings (1-10, default: 4)
"timeout": 5000 // Timeout en ms (1000-10000, default: 5000)
}
GET /api/status
Obtiene información del estado del servicio y estadísticas del cliente.
🛡️ Seguridad
Rate Limiting
- Límite: 10 peticiones por minuto por IP
- Ventana deslizante: Se renueva automáticamente
Validaciones
- ✅ IPs públicas válidas (IPv4/IPv6)
- ✅ Hostnames válidos según RFC 1123
- ❌ IPs privadas, localhost y rangos reservados
🎨 Interfaz de Usuario
- Responsive: Optimizada para móviles y escritorio
- Dark Mode: Soporte completo para tema oscuro
- Tiempo Real: Indicadores de progreso durante las pruebas
- Quick Select: Botones rápidos para destinos comunes