
CyberChef 离线部署与核心用法本地运行的加密、编码与数据分析工具【免费下载链接】CyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef在隔离网络或断网环境中处理加密、编码过的数据时在线工具无法使用而把敏感数据上传到外部平台又不可行。CyberChef 是一个在浏览器内完成的加密、编码、压缩与数据分析 Web 应用所有数据处理都在你本机的浏览器里执行输入和配方配置不会发送到任何服务器因此可以整体打包到内网、虚拟机中离线运行。仓库自带的 OCR 测试图tests/samples/files/testocr.png可用于验证 Optical Character Recognition 操作的输出把项目跑起来两种方式部署本地离线版方式一Docker 部署推荐只需要 Docker不需要任何构建工具链。Dockerfile 分两步先用node:24-alpine镜像执行npm run build生成静态站点再把产物拷入nginxinc/nginx-unprivileged镜像。git clone https://gitcode.com/GitHub_Trending/cy/CyberChef cd CyberChef docker build --tag cyberchef --ulimit nofile10000 . docker run -it -p 8080:8080 cyberchef也可以使用官方预构建镜像跳过构建过程docker run -it -p 8080:8080 ghcr.io/gchq/cyberchef:latest验证运行成功浏览器打开http://localhost:8080能看到四个区域即部署成功——右上角输入框、右下角输出框、最左侧操作列表带搜索框、中间空白配方区。输入区支持直接拖入文件上限约 2GB。方式二Node.js 源码构建前置条件Node.js v24见 package.json 中engines: node 24 27。git clone https://gitcode.com/GitHub_Trending/cy/CyberChef cd CyberChef npm install npm startnpm start启动开发服务器http://localhost:8080支持热更新npm run build则在build/prod目录产出生产构建可以拷到任意静态服务器上离线访问。核心用法三个典型处理场景界面操作逻辑统一左侧搜索并点击操作名加入配方中间配方区可拖拽调整顺序参数在配方条目内联设置输入区放数据输出区看结果。场景一未知编码数据的逐层还原Base64 → gzip拿到一段来源不明的 Base64 文本先解开看里面是什么。把数据粘贴进输入框左侧依次点选From_Base64、Gunzip、To_Hex三个操作加入配方Auto Bake 默认开启输出即时刷新。预期结果步骤说明From_Base64若数据实际是 gzip 压缩流输出区出现1f 8b 08 00开头的高字节内容Gunzip输出变为可读文本To_Hex需要进一步核对二进制时用十六进制视图确认字节每加一个操作输出即重新计算可以直观看到数据在每一步的形态。场景二自动探测多层编码Magic 操作面对嵌套编码Base64 套 gzip 再套其他编码逐层手动试错很慢。Magic操作会用多种启发式技术字符集、校验等自动识别当前数据下的编码层当检测到一个能讲通数据的操作时输出区出现 magic 图标点击图标即可自动应用该解码操作循环操作即可剥开多层编码。实现见 src/core/lib/Magic.mjs。场景三按行拆分后批量转换时间戳一批 Unix 时间戳里混着 Base64 编码的行用控制流操作按行分别处理Fork按换行符拆分数据逐行处理Conditional_Jump对检测为 Base64 的行跳到base64标签先解码再统一经From_UNIX_Timestamp转成可读日期。相关操作实现src/core/operations/Fork.mjs、src/core/operations/ConditionalJump.mjs。亮点功能深入纯客户端架构与深度链接为什么数据不会离开你的机器CyberChef 的全部处理逻辑都以静态前端形式分发运行时不依赖任何后端接口配方配置、输入文本和文件从加载到处理全程只存在于浏览器内存中大计算跑在 Web Worker 里Worker 入口见 src/core/ChefWorker.js。这带来一个实用特性——在应用左上角可以下载一份完整的 CyberChef 副本直接放进虚拟机或封闭网络中使用不依赖构建环境。因此离线部署的本质只是多一个静态文件服务器容器里跑 nginx 只是为了方便分发。深度链接把整个处理流程压缩进 URLURL hash 支持三个参数recipe操作与参数的序列化、inputBase64 编码的输入、theme。例如#recipeFrom_Base64()inputSGVsbG8打开页面即自动完成输入填充与解码。在离线环境里这条链接本身就是配方的存档格式收藏 URL 即可复现整个处理流程不需要依赖本地存储。常见坑与排错现象访问http://localhost:8080显示其他站点或 404。原因8080 端口被本机其他服务占用。解决改映射端口docker run -it -p 9090:8080 cyberchef再访问http://localhost:9090。现象拖入几百 MB 的大文件后界面卡顿、每次改动都长时间等待。原因Auto Bake 在每次输入或配方变化后都自动重新执行全流程。解决关闭 Auto Bake 改为手动触发烘焙并用操作上的断点单步执行定位耗时步骤。现象重新打开页面后之前保存的配方找不到了。原因配方默认保存在浏览器 localStorage清除站点数据会一并清掉。解决重要配方用 Save recipe 之外的方式再存一份例如把 URL hash 复制下来作为离线存档。现象npm run build报内存不足out-of-memory。原因Node 默认 V8 堆上限小于构建所需内存。解决执行npm run setheapsize把堆上限设为 2048MB 后重试。现象页面样式错乱、部分操作不可用。原因浏览器过旧官方仅保证 Chrome 50 与 Firefox 38见 package.json 的browserslist。解决升级到较新的 Chrome 或 Firefox。进一步探索官方说明与配方示例README.md输入输出与操作的浏览器测试脚本tests/browser/、tests/node/每个操作的实现源码src/core/operations/核心类型与错误处理src/core/dishTypes/、src/core/errors/许可证为 Apache 2.0贡献新操作可运行npm run newop脚手架脚本会交互式引导完成操作创建src/core/config/scripts/newOperation.mjs改动以 Pull Request 形式提交。CyberChef 适合需要离线处理数据的场景隔离网络中的安全分析、断网环境的应急响应与教学培训。如果你的处理对象是 2GB 以内的文本或二进制文件且要求数据全程不离开本机把静态构建拷进目标机器、用任意静态服务器托管就能直接投入使用。【免费下载链接】CyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考