
Una página alojada localmente para hojas de trucos. Actualmente se usa para ingeniería inversa y está alojada en laboratorios para poder limitar o prescindir del tráfico (bloquear firewall) fuera de las instancias.
Un servidor web ligero y basado en contenido para alojar hojas de trucos interactivas y materiales de referencia. Perfecto para desafíos CTF (Capture The Flag), ingeniería inversa y documentación técnica. Es ideal para usar en laboratorios donde se desea limitar o prescindir del tráfico externo mientras se tiene acceso a material útil.
*** He endurecido un poco el script, pero deberías revisarlo antes de usarlo y/o desplegarlo en un entorno de laboratorio ***
Clona o descarga este repositorio:
git clone https://github.com/JimmyAder/CheatSheetHost.git
cd CheatSheetHost
Ejecuta el servidor:
python3 host_content_site.py
Abre tu navegador en http://127.0.0.1:8766
El servidor creará automáticamente archivos predeterminados si no existen.
http://127.0.0.1:8766http://[tu-ip-local]:8766 (se muestra al inicio)GET /api/pages: Devuelve una lista JSON de los slugs de página disponiblesLas hojas de trucos se almacenan como archivos JSON en el directorio pages/. Cada archivo define una sola página con la siguiente estructura:
{
"slug": "my-cheatsheet",
"title": "My Custom Cheatsheet",
"subtitle": "A brief description of this cheatsheet",
"sections": [
{
"type": "table",
"title": "Section Title",
"items": [
{"key": "Command", "value": "Description"},
{"key": "Another", "value": "Command"}
]
},
{
"type": "text",
"title": "Notes",
"text": "Some explanatory text here."
},
{
"type": "code",
"title": "Example Code",
"language": "python",
"code": "print('Hello, World!')"
}
],
"ascii": {
"title": "ASCII Table",
"blocks_across": 6,
"min_width_px": 920
}
}
gdb-cheatsheet.json)slug determina la ruta URL (se genera automáticamente a partir del nombre del archivo si se omite)Edita site_template.html para modificar la apariencia:
:root para colores y diseñoOpciones de línea de comandos:
python3 host_content_site.py --host 0.0.0.0 --port 8080
--host: Dirección IP a la que vincularse (predeterminado: 0.0.0.0)--port: Número de puerto (predeterminado: 8766)CheatSheetHost/
├── host_content_site.py # Script principal del servidor
├── site_template.html # Plantilla HTML y CSS
├── pages/ # Archivos JSON de hojas de trucos
│ ├── ctf-cheatsheet.json
│ ├── gdb-cheatsheet.json
│ └── ...
└── README.md # Este archivo
pages/http.server de Pythonpython3 host_content_site.py
site_template.html para cambios de estiloEste proyecto es de código abierto. Siéntete libre de usarlo, modificarlo y distribuirlo.