
Локально размещенная страница для шпаргалок. В настоящее время используется для реверс-инжиниринга и размещается в лабораториях, чтобы я мог ограничить или отказаться от (заблокировать с помощью брандмауэра) трафика за пределами экземпляра(ов).
Легковесный веб-сервер с контентным управлением для размещения интерактивных шпаргалок и справочных материалов. Идеально подходит для CTF-заданий (Capture The Flag), реверс-инжиниринга и технической документации. Лучше всего использовать в лабораторных средах, где нужно ограничить или отказаться от внешнего трафика, сохраняя доступ к полезному материалу.
*** Я немного укрепил скрипт, но перед использованием и/или развёртыванием в лабораторной среде следует проверить его ***
Клонируйте или скачайте этот репозиторий:
git clone https://github.com/JimmyAder/CheatSheetHost.git
cd CheatSheetHost
Запустите сервер:
python3 host_content_site.py
Откройте браузер по адресу http://127.0.0.1:8766
Сервер автоматически создаст файлы по умолчанию, если они отсутствуют.
http://127.0.0.1:8766http://[ваш-локальный-ip]:8766 (отображается при запуске)GET /api/pages: Возвращает JSON-список доступных слаг-идентификаторов страницШпаргалки хранятся в виде JSON-файлов в каталоге pages/. Каждый файл определяет одну страницу со следующей структурой:
{
"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 определяет путь URL (автоматически генерируется из имени файла, если не указано)Отредактируйте site_template.html, чтобы изменить внешний вид:
:root для цветов и макетаПараметры командной строки:
python3 host_content_site.py --host 0.0.0.0 --port 8080
--host: IP-адрес для привязки (по умолчанию: 0.0.0.0)--port: Номер порта (по умолчанию: 8766)CheatSheetHost/
├── host_content_site.py # Основной скрипт сервера
├── site_template.html # HTML-шаблон и CSS
├── pages/ # JSON-файлы шпаргалок
│ ├── ctf-cheatsheet.json
│ ├── gdb-cheatsheet.json
│ └── ...
└── README.md # Этот файл
pages/http.server из Pythonpython3 host_content_site.py
site_template.html для стилизацииЭтот проект является открытым исходным кодом. Можете использовать, изменять и распространять.