PROJECT N° 03 · CTF TOOLKIT

CTF 乾坤

浏览器端 CTF 工具箱。

规格表 · SPEC SHEET v1
版本
开源客户端
许可
MIT
技术栈
TypeScript 98.4% / JS 1.1%
作者
枫桥 · zep4yrs 与 dzwm
仓库
github.com/zep4yrs/ctf-qiankun
更新
2026-07-27
01001000 01100101 01101100 01101100 01101111 00100000 01000011 01010100 01000110 00100000 11000110 10101010 10001010 11101110 10111010 01010101 11001100 10101010

是什么

§ 01

一个跑在浏览器端的 CTF 工具箱,把比赛和研究中常用的工具收进一个袋子。

开源版只保留客户端工具。它不包含登录、邀请码、积分、管理后台、数据库或付费服务 —— 这些都不属于这个袋子要装的东西。

工具输入默认在浏览器本地处理。适合个人学习、比赛准备,以及在已获授权的安全测试场景中快速调用一组合手的小工具,而不用在各个在线网站之间来回粘贴。

形态
静态站点 / 客户端
运行
浏览器本地
登录
不需要
数据库
付费
服务端 API
开源版不提供

功能矩阵

§ 02 · 09 类
01ENCODE

编码与文本转换

Base 系列、URL、Hex、Unicode、HTML 实体等常见编码的互转与识别,配合智能编解码快速定位。

02CRYPTO

古典密码 · 哈希 · 密码学辅助

凯撒、维吉尼亚、栅栏等古典密码,常见哈希计算与识别,以及密钥格式、填充等辅助分析。

03WEB

Web 与网络数据处理

请求参数、Cookie、JWT、HTTP 报文拆解,IP / 域名解析与网络数据可视化处理。

04STEGO

文件 · 二进制 · 隐写分析

文件头识别、Hex 查看、图片 / 音频隐写辅助、二进制结构拆解与 LSB 等常见隐写手法分析。

05FORENSIC

取证 · OSINT · PWN 与逆向辅助

内存/磁盘镜像线索提取、OSINT 信息整理、PWN payload 构造与逆向工程中的格式化、反汇编辅助。

06INDEX

搜索 · 分类 · 收藏 · 最近使用

工具搜索、按分类浏览、收藏常用工具、记录最近使用,把工具组织成顺手的工作台。

07SMART

智能编解码

自动识别输入的编码类型并尝试解码,免去在多种编码间手动试探,快速还原可读文本。

08CHAIN

多步骤操作链

把多个工具串成一条操作链,上一步的输出自动作为下一步输入,记录中间过程便于复盘。

09MANUAL

内置说明与工具手册

每个工具附带使用说明和原理简述,把"工具怎么用"和"它为什么这么算"一起放进袋子。

安全边界

§ 03

只面向已获授权的学习、比赛和安全测试。

乾坤袋里的工具本身没有攻击性,但 CTF 工具天然靠近安全研究的灰色地带。明确边界,是对工具和使用者双方的尊重。

开源版不提供服务端 API,也不会主动把工具输入发送到项目服务器。需要联网的工具会明确标注,默认情况下数据留在你自己的浏览器里。

  • 个人学习与 CTF 比赛准备
  • 已获书面授权的安全测试
  • 课堂教学与研究演示
  • 对自有系统与数据的分析
  • 未经授权的对他人系统探测
  • 任何违反当地法律法规的用途

本地运行

§ 04

克隆仓库后,用两行命令就能把乾坤袋跑起来。开发服务器默认监听本地端口,工具在浏览器里即可使用。

建议使用 Node 稳定版本,首次拉取代码后用 npm ci 安装依赖,以保证与锁定版本一致。

bash — ctf-qiankun
# 安装依赖(按锁定版本)
$ npm ci

# 启动开发服务器
$ npm run dev

  VITE ready in 420 ms
  ➜  Local:   http://127.0.0.1:5173/
  ➜  Network: use --host to expose

开发服务器启动后,浏览器打开 http://127.0.0.1:5173/ 即可使用全部客户端工具。

构建与部署

§ 05
bash — build
# 生产构建,产物输出到 dist/
$ npm run build

  ✓ built in 1.8s
  dist/index.html      0.46 kB
  dist/assets/*.js   128.4 kB │ gzip: 41.2 kB
  dist/assets/*.css   18.7 kB │ gzip:  4.1 kB

dist/ 是一个纯静态目录,可直接交给 Nginx、GitHub Pages 或 Cloudflare Pages 托管,无需服务端运行时。

构建产物是一组静态文件,部署方式很灵活:

Nginx —— 把 dist/ 指向站点根目录,配置 SPA 回退即可。

GitHub Pages —— 仓库内已包含 GitHub Actions 工作流,推送后自动构建并发布到 Pages。

Cloudflare Pages —— 构建命令 npm run build,输出目录 dist,即可全球边缘分发。

因为开源版没有服务端 API,部署后即是完整可用的客户端工具箱。

静态托管
Nginx / Caddy
Pages 类
GitHub Pages · Cloudflare Pages
运行时
无需(纯静态)
SPA 回退
需配置 index.html
GitHub Actions
已含 Pages 工作流
触发
推送主分支
产物
自动发布 dist/
环境
Node 稳定版

添加工具

§ 06

乾坤袋的工具是模块化的。所有工具代码位于 client/src/tools/,通过注册表 client/src/tools/registry.ts 统一登记。新增一个工具,本质上是写一个工具模块并在注册表里挂上它。

client/ src/ tools/ your-tool
client/ src/ tools/ registry.ts ← 注册表

新增工具时,有几条约定需要遵守,它们共同维护"输入默认不离开浏览器"这条核心承诺:

  • 01优先浏览器原生能力。能用 Web Crypto、File API、WebAssembly 完成的,尽量不引入额外依赖。
  • 02默认不上传。工具输入默认在本地处理;确需联网时必须显式标注,并由用户主动触发。
  • 03限制输入大小。对大文件/长文本设置合理上限,避免浏览器卡死或内存溢出。
  • 04附带使用说明。每个工具应提供简短的手册与原理说明,放进内置文档体系。
  • 05分类与可搜索。在注册表中填写分类、关键词,让工具能被搜索和收藏体系正确收录。
  • 06无副作用。工具应保持纯函数式风格,不在全局留下未清理的状态或持久化敏感数据。

互动演示

§ DEMO · 模拟
ctf-qiankun-demo.html · 模拟演示 在新标签打开 ↗

※ 以上为前端模拟演示,所有工具均在浏览器本地执行,不涉及网络请求。视觉风格与交互流程基于真实 CTF 乾坤袋应用还原。

READY TO USE · 开源 · MIT

把工具
收进袋子里。

CTF 乾坤袋完全开源,接受 Issue 与贡献。克隆仓库、跑起本地服务,或者直接部署到你自己的静态托管 —— 这个袋子归你自己管。