一个功能丰富的命令备忘小工具。项目分为本机管理版和 GitHub Pages 公开只读版,两者共享公开的命令数据,但管理凭据和 GitHub Token 不会部署到公开站点。
| 版本 | 入口 | 用途 |
|---|---|---|
| 本机管理版 | admin/index.html |
添加、编辑、删除、导入和同步命令 |
| 公开只读版 | 仓库根目录 index.html |
搜索、筛选、复制和导出公开命令 |
GitHub Pages 使用 GitHub Actions 发布一个只包含只读页面和公开数据的构建产物,admin/ 不会进入部署包。作为额外保护,即使管理页被放到其他非本机环境,它也会停止初始化,不读取数据、不连接 GitHub API。
- 命令管理 — 增删改查常用命令,支持主分类 + 子分类 + 标签
- 收藏系统 — ⭐ 星标收藏常用命令,一键筛选
- 模糊搜索 — 支持多词空格分隔 + 字符级模糊匹配
- 复制追踪 — 自动记录每条命令的复制次数,按使用频率排序
- 导出导入 — JSON / Markdown / CSV 三种格式导出,支持 JSON 导入
- 批量操作 — 多选命令后批量删除或导出
- 撤销删除 — 删除后 5 秒内可一键恢复
- 键盘快捷键 — 按
?查看所有快捷键 - 分页浏览 — 每页 30 条,平滑翻页
- 暗色主题 — 护眼深色 UI,自定义滚动条
- ☁️ 云同步 — 通过 GitHub API 多设备数据同步
在仓库根目录启动本地服务器:
python3 -m http.server 8787然后访问:
http://127.0.0.1:8787/admin/
不要直接使用 file:// 打开管理页。固定使用同一个地址和端口,可让浏览器继续使用原有的本地管理员账号和 Token 配置。
所有管理数据自动保存在该本地来源的 localStorage 中,关闭页面后不会丢失。
公开站点通过 .github/workflows/deploy-pages.yml 部署。Pages 的发布来源应设置为 GitHub Actions,工作流只打包以下文件:
index.html
app.js
styles.css
.nojekyll
data/data.json
公开地址保持为:
https://ironmole666.github.io/linux-command/
点击顶部 JSON / MD / CSV 按钮可导出数据,导入按钮可恢复之前导出的 JSON 文件。
数据默认存在当前浏览器 localStorage 中,如需在多个电脑/浏览器间共享数据,可使用 GitHub 云同步:
- 打开 GitHub Fine-grained Token 页面
- 点击 Generate new token → Fine-grained token
- 填写 Token name(如
命令管理器),Repository access 选Only select repositories→ 选中ironmole666/linux-command - Permissions 展开 Contents → 选 Read and write
- 生成并复制 Token
- 打开本机管理页
http://127.0.0.1:8787/admin/,点击🔐 登录管理→ 创建本地管理员账号 → 登录后点击统计栏的未连接状态(或顶部☁️ 同步按钮) - 粘贴 Token → 点击 测试连接 → 保存并同步
- 公开站点:只能浏览、搜索、复制和导出,没有登录入口和 GitHub API 写入代码
- 本机管理版:点击
🔐 登录管理→ 输入用户名和密码 → 进入管理界面 - 增删改命令:自动推送到 GitHub(状态栏显示
同步中…→已同步) - 页面加载:本机管理版从 GitHub API 拉取;公开站点读取同一仓库中的只读 JSON
- 手动同步:点击顶部
☁️ 同步按钮或状态栏的⟳图标 - 每台管理设备需要创建本地管理员账号并配置一次 Token;管理员凭据不再上传到公开仓库
访客: GitHub Pages → 只读部署产物 data/data.json(只读,无认证)
管理员: localhost → localStorage → GitHub API(读写,需要 Token)
GitHub Pages ← GitHub Actions ← GitHub仓库 data/data.json
↑
本机管理员写入/读取
| 主分类 | 子分类 |
|---|---|
| 🐧 Linux | 系统管理、文件操作、网络、进程、用户管理、防火墙 |
| 🪟 Windows | 系统管理、网络、进程、用户管理 |
| 🔴 渗透测试 | Nmap、SQLMap、Metasploit、密码破解、Web测试、无线测试 |
| 💻 开发工具 | Git、Docker、NPM/Node、Python、数据库、构建工具 |
分类和子分类可自由扩展,新增的子分类会自动保存。
本项目没有后端服务器。管理认证仅用于保护本机管理界面,真正的云端写入权限仍由 GitHub Token 决定:
| 你能在 F12 → Application → Local Storage 看到 | 实际风险 |
|---|---|
admin_creds = { username, algorithm, salt, passwordHash } |
仅保存在 localhost;用于防止本机误操作,不上传仓库 |
github_token |
仅保存在 localhost;持有 Token 可读写你的 GitHub 仓库 data/data.json |
commandManagerData |
全部命令数据,明文可见 |
这意味着:
- 任何人若能使用你的已解锁电脑并访问该 localhost 页面,仍可能通过 DevTools 绕过本地登录
- 这个工具的设计目标是 防误操作 而非 防攻击
- 真正关键的防线是你的 GitHub Token——持有 Token 才能修改云端数据
- Token 应限制为此仓库的 Contents read/write 权限,设置有效期并定期轮换
data/data.json只允许包含准备公开分享的命令数据,不要保存密码、Token、真实内网信息或其他敏感内容