JimmyAder/CheatSheetHost
GitHub: JimmyAder/CheatSheetHost
一个基于Python的本地速查表Web服务器,专为CTF竞赛、逆向工程和安全研究设计的轻量级参考文档托管工具。
Stars: 0 | Forks: 0
# CheatSheet 主机
一个轻量级、内容驱动的 Web 服务器,用于托管交互式速查表和参考资料。非常适合 CTF(夺旗赛)挑战、逆向工程和技术文档。
## 功能特性
- **简单的基于 JSON 的内容**:使用易于编辑的 JSON 文件定义速查表
- **响应式设计**:适配台式机、平板电脑和移动设备
- **复古终端主题**:怀旧的黑底绿字 CRT 显示器美学
- **局域网可访问**:在本地网络内共享速查表
- **多种板块类型**:表格、文本块、代码片段和 ASCII 表格
- **热重载**:刷新浏览器即可即时查看更改
- **多线程服务器**:处理多个并发连接
## 快速开始
### 前置条件
- Python 3.8 或更高版本
### 安装说明
1. 克隆或下载此仓库:
git clone https://github.com/yourusername/CheatSheetHost.git
cd CheatSheetHost
2. 运行服务器:
python3 host_content_site.py
3. 在浏览器中打开 `http://127.0.0.1:8766`
如果默认文件不存在,服务器将自动创建它们。
## 使用方法
### 访问站点
- **本地访问**:`http://127.0.0.1:8766`
- **网络访问**:`http://[your-local-ip]:8766`(启动时显示)
### 导航
- **主页**:列出所有可用的速查表
- **单独页面**:点击任意速查表查看其内容
- **导航栏**:指向所有页面的快速链接
### API 端点
- `GET /api/pages`:返回可用页面 slug 的 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
}
}
```
### 板块类型
- **table**:以表格格式显示的键值对
- **text**:纯文本内容(支持换行)
- **code**:语法高亮的代码块
- **ascii**:特殊 ASCII 字符表(可选)
### 文件命名
- 文件应以描述性方式命名(例如 `gdb-cheatsheet.json`)
- `slug` 字段决定 URL 路径(如果省略,则从文件名自动生成)
- JSON 必须有效;无效的文件会被跳过并给出警告
## 自定义
### 样式
编辑 `site_template.html` 以修改外观:
- `:root` 中的 CSS 变量,用于控制颜色和布局
- 针对不同屏幕尺寸的响应式断点
- 终端风格的设计元素
### 服务器配置
命令行选项:
```
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 # Main server script
├── site_template.html # HTML template and CSS
├── pages/ # Cheatsheet JSON files
│ ├── ctf-cheatsheet.json
│ ├── gdb-cheatsheet.json
│ └── ...
└── README.md # This file
```
## 内置速查表
- **CTF Master Sheet**:寄存器、系统调用和常用技术
- **Bitwise / Crypto Pattern Recognition**:用于识别位运算、编码器、哈希和加密模式的参考
- **GDB/x64dbg**:调试命令和工作流程
- **Ghidra**:逆向工程工具快捷键
- **IDA Pro**:反汇编热键和功能
- **Neovim**:编辑器命令和配置
- **Python for Reverse Engineering**:用于解析、解码和重建算法的实用 Python 参考
- **WinDbg**:Windows 调试命令
- **x64 Assembly**:指令参考
- **x64 Shellcode Syscalls**:系统调用号
- **x86-32 Assembly**:32 位汇编参考
### 添加新速查表
1. 在 `pages/` 目录中创建一个新的 JSON 文件
2. 遵循上述 JSON 结构
3. 刷新浏览器进行测试
4. 提交 pull request
### 改进代码
- 服务器使用 Python 的 `http.server` 模块构建
- 支持并发请求的多线程
- 最小依赖(仅标准库)
### 报告问题
- 检查服务器日志中的 JSON 解析错误
- 确保 JSON 文件有效
- 在不同的浏览器/设备上测试
## 开发
### 从源代码运行
```
python3 host_content_site.py
```
### 测试更改
- 编辑 JSON 文件并刷新浏览器
- 修改 `site_template.html` 以更改样式
- 若修改了 Python 代码请重启服务器
## 许可证
本项目是开源的。可随意使用、修改和分发。
## 支持
- 如有问题或疑问,请开启 GitHub issue
- 欢迎通过 pull request 贡献代码
- 如果觉得有用,请给仓库一个 Star!
标签:CTF工具, Homebrew安装, HTTP服务, JSON, Python, Ruby, Web服务器, 云资产清单, 代码片段, 参考手册, 复古终端, 多模态安全, 局域网共享, 技术文档, 文档管理, 无后门, 本地服务器, 极简主义, 漏洞搜索, 知识库, 自托管, 逆向工程, 速查表