Sistema Global de Seguridad para WhatsApp
Bot de seguridad avanzado para WhatsApp con soporte global, blacklist automΓ‘tica, reportes y auditorΓa completa.
CaracterΓsticas β’ InstalaciΓ³n β’ Comandos β’ Docker β’ Arquitectura
- β Blacklist Global: Sistema de baneos permanentes con sincronizaciΓ³n automΓ‘tica
- β Auto-ExpulsiΓ³n: Expulsa automΓ‘ticamente usuarios baneados al unirse a grupos
- β ValidaciΓ³n Internacional: Soporte para nΓΊmeros de +195 paΓses (formato E.164)
- β AuditorΓa Completa: Registro detallado de todas las acciones con timestamps
- β Sistema de Reportes: Seguimiento de usuarios sospechosos con historial
- β ExportaciΓ³n MΓΊltiple: Genera reportes en PDF y Excel profesionales
- β BΓΊsqueda Avanzada: Localiza usuarios en blacklist y reportes instantΓ‘neamente
- β Panel Web: Interfaz moderna con Next.js 15 y React 19
- β TypeScript: CΓ³digo type-safe y mantenible
- β Arquitectura Modular: Comandos y eventos separados
- β Docker Ready: Despliegue 24/7 con un solo comando
- β ReconexiΓ³n AutomΓ‘tica: Sistema resiliente con backoff exponencial
- β QR Code Auth: AutenticaciΓ³n segura sin pairing code
- Node.js 22+ (Descargar)
- npm o pnpm
- Docker Desktop (opcional, para despliegue 24/7)
# Clonar el repositorio
git clone https://github.com/tu-usuario/sentrix-security-bot.git
cd sentrix-security-bot
# Instalar dependencias
npm install
# Iniciar en modo desarrollo
npm run devnpm run dev
# Bot: Terminal
# Panel: http://localhost:3000npm run botnpm run dev:webnpm run build
npm startLa forma mΓ‘s fΓ‘cil y confiable de ejecutar SentriX 24/7:
# Iniciar bot y panel web
npm run docker:up
# Ver logs en tiempo real
npm run docker:logs
# Ver estado de contenedores
npm run docker:status
# Reiniciar servicios
npm run docker:restart
# Detener todo
npm run docker:down
# Reconstruir despuΓ©s de cambios
npm run docker:build- sentrix-bot: Bot de WhatsApp (puerto interno)
- sentrix-web: Panel web en http://localhost:3000
Los siguientes directorios se montan como volΓΊmenes:
src/auth/- SesiΓ³n de WhatsApp (QR code)src/data/- Blacklist, reportes, configuraciΓ³nsrc/logs/- AuditorΓa y logs del sistemasrc/exports/- Archivos PDF y Excel generados
| Comando | DescripciΓ³n | Ejemplo |
|---|---|---|
/ban <nΓΊmero> <motivo> |
Banear usuario permanentemente | /ban +573001234567 spam |
/blacklist |
Ver lista completa de baneados | /blacklist |
/kick black <nΓΊmero> |
Expulsar usuario especΓfico del grupo | /kick black +573001234567 |
/kick allblack |
Expulsar todos los baneados del grupo | /kick allblack |
| Comando | DescripciΓ³n | Ejemplo |
|---|---|---|
/addreport <nΓΊmero> <motivo> |
Agregar reporte de usuario | /addreport +573001234567 comportamiento sospechoso |
/report |
Ver todos los reportes activos | /report |
/buscar <nΓΊmero> |
Buscar usuario en blacklist y reportes | /buscar +573001234567 |
| Comando | DescripciΓ³n | Ejemplo |
|---|---|---|
/ping |
Verificar latencia del bot | /ping |
/menu |
Mostrar menΓΊ completo de comandos | /menu |
/setprefijo <nuevo> |
Cambiar prefijo de comandos | /setprefijo ! |
/export <tipo> |
Exportar datos (pdf/excel) | /export pdf o /export excel |
SentriX utiliza una arquitectura de dos procesos independientes que se comunican vΓa WebSocket:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β SENTRIX SYSTEM β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββββββ ββββββββββββββββββββ β
β β Panel Web β β WhatsApp Bot β β
β β (Next.js 15) ββββββββββΊβ (Baileys) β β
β β Express + WS β Socket β TypeScript β β
β ββββββββββββββββββββ ββββββββββββββββββββ β
β β β β
β β β β
β βΌ βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Persistent Storage (JSON) β β
β β β’ blacklist.json β’ reports.json β β
β β β’ config.json β’ audit.json β β
β βββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- ConexiΓ³n: Bot se conecta a WhatsApp vΓa QR code
- Monitoreo: Escucha eventos de mensajes y grupos
- ValidaciΓ³n: Verifica comandos y permisos de admin
- Procesamiento: Ejecuta comandos modulares
- Persistencia: Guarda cambios en JSON local
- AuditorΓa: Registra todas las acciones
- SincronizaciΓ³n: Actualiza panel web vΓa WebSocket
``` src/ βββ index.ts # Punto de entrada βββ handler.ts # Manejador de comandos βββ types/ # Definiciones TypeScript βββ commands/ # Comandos individuales β βββ ban.ts β βββ blacklist.ts β βββ addreport.ts β βββ report.ts β βββ buscar.ts β βββ ping.ts β βββ menu.ts β βββ setprefix.ts β βββ export.ts β βββ kickBlack.ts β βββ kickAllBlack.ts βββ events/ # Manejadores de eventos β βββ groupJoin.ts β βββ connection.ts βββ utils/ # Utilidades β βββ storage.ts β βββ validator.ts β βββ formatter.ts βββ data/ # Almacenamiento JSON β βββ blacklist.json β βββ reports.json β βββ config.json βββ logs/ # AuditorΓa β βββ audit.json βββ exports/ # Exportaciones βββ auth/ # SesiΓ³n de WhatsApp ```
El bot utiliza libphonenumber-js para validar nΓΊmeros de telΓ©fono de todos los paΓses del mundo en formato E.164.
Ejemplos de nΓΊmeros vΓ‘lidos:
- +1 555 123 4567 (USA)
- +52 55 1234 5678 (MΓ©xico)
- +58 424 201 1278 (Venezuela)
- +34 612 34 56 78 (EspaΓ±a)
- +86 138 0000 0000 (China)
- ExpulsiΓ³n automΓ‘tica de usuarios blacklisted al unirse a grupos
- AuditorΓa completa de todas las acciones
- ValidaciΓ³n de permisos de administrador
- Registro de actores en cada acciΓ³n
El bot puede exportar todos los datos a:
- PDF: Reporte completo con formato profesional
- Excel: Hojas separadas para blacklist, reportes y auditorΓa
- TypeScript 5 - Type-safe JavaScript
- @whiskeysockets/baileys - WhatsApp Web API
- libphonenumber-js - ValidaciΓ³n internacional de nΓΊmeros
- Pino - Logger de alto rendimiento
- tsx - TypeScript execution
- Next.js 15.2.4 - React framework
- React 19 - UI library
- TailwindCSS 4 - Utility-first CSS
- shadcn/ui - Componentes modernos
- Lucide React - Iconos
- ExcelJS - GeneraciΓ³n de archivos Excel
- PDFKit - GeneraciΓ³n de PDFs
- Sharp - Procesamiento de imΓ‘genes
- Docker - ContainerizaciΓ³n
- Docker Compose - OrquestaciΓ³n multi-contenedor
- PM2 - Process manager (alternativa)
βββββββββββββββββββββββββββββββββββββββββ
β β
SENTRIX SECURITY BOT ACTIVO β
βββββββββββββββββββββββββββββββββββββββββ
π Bot conectado y listo para moderar
π Desarrollado por Andres
β»οΈ Modo 24/7 activado
- Dashboard con estadΓsticas en tiempo real
- GestiΓ³n de blacklist y reportes
- VisualizaciΓ³n de auditorΓa
- ExportaciΓ³n de datos
- β Sin almacenamiento en la nube: Todos los datos se guardan localmente
- β AutenticaciΓ³n QR: No requiere nΓΊmero de telΓ©fono ni pairing code
- β ValidaciΓ³n de permisos: Solo administradores pueden ejecutar comandos
- β AuditorΓa completa: Registro de quiΓ©n, quΓ©, cuΓ‘ndo y dΓ³nde
- β Formato E.164: ValidaciΓ³n estricta de nΓΊmeros internacionales
# Eliminar sesiΓ³n anterior
rm -rf src/auth/*
# Reiniciar bot
npm run botPM2 tiene problemas con Node.js 22 en Windows. Usa Docker:
npm run docker:up# Cambiar puerto en docker-compose.yml
ports:
- "3001:3000" # Usa 3001 en lugar de 3000ΒΏQuieres mejorar SentriX? Β‘Las contribuciones son bienvenidas!
- Fork el proyecto
- Crea una rama para tu feature (
git checkout -b feature/AmazingFeature) - Commit tus cambios (
git commit -m 'Add: AmazingFeature') - Push a la rama (
git push origin feature/AmazingFeature) - Abre un Pull Request
ΒΏNecesitas ayuda?
- π§ Email: soporte@sentrix.com
- π¬ Discord: Γnete al servidor
- π DocumentaciΓ³n: Wiki del proyecto
- API REST para integraciΓ³n externa
- Base de datos PostgreSQL (opcional)
- Comandos con IA (OpenAI/Gemini)
- Multi-idioma (i18n)
- Sistema de roles y permisos
- EstadΓsticas avanzadas con grΓ‘ficos
- Webhooks para notificaciones
- App mΓ³vil (React Native)
Desarrollado por Andres π
MIT