Menu ▾ ▴

Tree [069dff] master /
 History

HTTPS access


File Date Author Commit
 backend 1 day ago Cristian Gaitán Cristian Gaitán [069dff] actualizacion litellm
 docs 1 day ago Cristian Gaitán Cristian Gaitán [069dff] actualizacion litellm
 frontend 1 day ago Cristian Gaitán Cristian Gaitán [069dff] actualizacion litellm
 nginx 1 day ago Cristian Gaitán Cristian Gaitán [069dff] actualizacion litellm
 systemd 1 day ago Cristian Gaitán Cristian Gaitán [069dff] actualizacion litellm
 .gitattributes 2 days ago Camilo Gaitán Camilo Gaitán [70bc9f] Ajuste de git
 .gitignore 1 day ago Cristian Gaitán Cristian Gaitán [069dff] actualizacion litellm
 README.md 2 days ago Camilo Gaitán Camilo Gaitán [d3b485] Ajuste de documentacion
 code-shield.bat 2 days ago Camilo Gaitán Camilo Gaitán [c1524e] Add Windows control panel (code-shield.bat/.ps1...
 code-shield.ps1 1 day ago Cristian Gaitán Cristian Gaitán [069dff] actualizacion litellm
 code-shield.sh 1 day ago Cristian Gaitán Cristian Gaitán [069dff] actualizacion litellm

Read Me

Code Shield

Escaneo y ofuscacion de informacion confidencial en codigo fuente (archivos
sueltos o comprimidos), con reglas de negocio persistentes y ACL + LDAP.
Backend FastAPI (Python 3.14t free-threaded) + MySQL/MariaDB, frontend
Next.js.

Primer arranque

Requisitos: uv (instala y gestiona Python
3.14t solo), Node.js 18+, y un servidor MySQL/MariaDB accesible.

cd backend
cp .env.example .env     # completar credenciales de MySQL/MariaDB y JWT_SECRET
uv sync

cd ../frontend
npm install

Ver backend/README.md para detalle de variables de
entorno, el usuario semilla (admin/admin123 — cambiarlo), y como cargar
una sede LDAP si vas a usar ENABLE_LDAP_AUTH=true.

Documentación

Manuales, arquitectura, y la especificación de la API, en
docs/:

  • docs/manuales/ — instalación desde cero, configuración
    (cada variable de entorno), uso de cada pantalla, y guía de desarrollo.
  • docs/dev/ — arquitectura, ACL/seguridad, y un doc por
    módulo (reglas, escaneo, excepciones, git/SFTP, SonarQube/ZAP,
    pipelines, claves API, administración).
  • docs/api/ + docs/swagger/ — spec OpenAPI
    exportada (YAML/JSON).
  • docs/postman/ — colección de Postman lista para
    importar, con el flujo completo del gateway de pipelines curado a mano.

Panel de control (Windows y Ubuntu/Linux)

Un solo panel para levantar backend + frontend juntos en modo desarrollo y
detenerlos/reiniciarlos sin usar comandos sueltos. Mismo diseño en ambas
plataformas: basado en puertos, no en un archivo de PIDs — "Detener" busca
quien esta escuchando en el puerto del backend (8000) o del frontend (3000)
y lo termina, funcione o no desde este panel, y "Ver estado" usa el mismo
mecanismo para no depender de un PID guardado que quede desactualizado.

Windows — doble clic en code-shield.bat (o code-shield.ps1
directo): cada proceso se abre en su propia ventana de consola, para ver
sus logs en vivo.

Ubuntu/Linux — ./code-shield.sh (si no es ejecutable:
chmod +x code-shield.sh una sola vez). Requiere lsof para la deteccion
de puertos (sudo apt install lsof si falta; si no esta, cae a ss, que
ya viene instalado en Ubuntu). Como no hay garantia de un entorno grafico
con ventanas de consola (es comun correr esto en un servidor via SSH), cada
proceso corre en segundo plano con su salida en
.codeshield-logs/backend.log y .codeshield-logs/frontend.log — la
opcion [6] del menu los sigue en vivo (tail -f), Ctrl+C para volver.

Menu en Windows (code-shield.ps1):

 [1] Iniciar (backend + frontend)
 [2] Detener / pausar
 [3] Reiniciar
 [4] Ver estado
 [5] Ver log de control (historial de inicios/paradas)
 [6] Salir del panel (los procesos siguen corriendo)

Menu en Ubuntu/Linux (code-shield.sh) — una opcion mas, para seguir los
logs en vivo ya que no hay ventana de consola propia por proceso:

 [1] Iniciar (backend + frontend)
 [2] Detener / pausar
 [3] Reiniciar
 [4] Ver estado
 [5] Ver log de control (historial de inicios/paradas)
 [6] Seguir logs en vivo (tail -f backend + frontend, Ctrl+C para volver)
 [7] Salir del panel (los procesos siguen corriendo)

Salir del panel no detiene los procesos, solo cierra el menu.

Todas las acciones (iniciar/detener/reiniciar/salir) quedan registradas con
fecha y usuario en .codeshield-logs/control.log — la opcion [5] muestra
las ultimas entradas.

Sin panel, a mano:

cd backend  && uv run uvicorn app.main:app --reload
cd frontend && npm run dev

El panel y los comandos de arriba levantan el backend en 127.0.0.1 sin
TLS, pensado para desarrollo local. No hay todavia una plantilla de
despliegue en produccion (nginx/systemd) como la de db-studio — se puede
agregar si hace falta.