ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

CyberChef 两种部署方式实测:从源码构建到容器化加解密编码服务

CyberChef 两种部署方式实测:从源码构建到容器化加解密编码服务 CyberChef 两种部署方式实测从源码构建到容器化加解密编码服务【免费下载链接】CyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChefCyberChef 是一款浏览器端数据处理工具支持 AES、DES、Blowfish 等加解密、Base64 等编码、压缩、哈希与二进制分析运算。本文以 11.4.0 版本为例说明 CyberChef 的安装、部署与配置流程覆盖源码构建和 Docker 容器化两条路线并附常见报错与调优参数。所有运算在浏览器本地完成服务端只负责分发静态文件因此部署本身没有后端状态。项目要求当前稳定版本11.4.0见 package.jsonNode.js24 27推荐 24 LTS见 .nvmrcnpm随 Node.js 附带建议 9Docker24.x 及以上仅容器化路线需要操作系统Windows 10/11、macOS、LinuxUbuntu 18.04 前置条件自检按顺序执行以下验证命令全部通过再进入部署必须Node.js v24。node -v输出应为v24.x.x。低于 24 或高于 27 时npm install会因 engine 校验直接失败。必须git。git --version输出形如git version 2.34.1。可选Docker走容器化路线才需要。docker version应能同时输出 Client 与 Server 信息Server 部分报错说明 Docker 守护进程未启动。 部署实操路线一源码构建步骤 1拉取仓库并进入项目目录。git clone https://gitcode.com/GitHub_Trending/cy/CyberChef cd CyberChef预期输出当前目录下出现CyberChef其中包含package.json与Gruntfile.js。步骤 2安装依赖。postinstall钩子会自动修补crypto-api依赖的导入方式不要跳过。npm install预期输出结尾出现added 700 packages in xx s全程无npm ERR!。国内网络慢可先执行npm config set registry https://registry.npmmirror.com。步骤 3生产构建仅在需要自托管静态产物时执行。npm run build预期输出build/prod目录生成内含index.html、cyberchef.js与static资源目录。步骤 4启动开发服务器带热更新适合日常验证。npm start预期输出webpack 编译完成后终端提示Project is running at http://localhost:8080/浏览器打开即可看到输入区、输出区、左侧操作列表与中间配方区。路线二Docker 容器化官方 Dockerfile 为两阶段构建node:24-alpine负责npm ci与npm run build产物拷贝进nginxinc/nginx-unprivileged非特权 nginx 镜像默认监听 8080 端口。步骤 1构建镜像。docker build --tag cyberchef --ulimit nofile10000 .预期输出每个阶段末尾出现Successfully built总耗时数分钟主要花在npm ci与构建阶段。步骤 2运行容器同时完成端口映射、数据卷挂载与资源限制。docker run -d --name cyberchef -p 8080:8080 --memory2g --cpus2 -v /opt/cyberchef/static:/usr/share/nginx/html cyberchef三个要点端口映射-p 8080:8080宿主机 8080 对应容器内 nginx 的 8080与本机服务冲突时改左侧端口如-p 9000:8080。数据卷挂载-vCyberChef 无服务端数据默认可以不挂仅当要用本地build/prod的产物覆盖镜像内静态文件时才挂载到/usr/share/nginx/html。资源限制--memory2g --cpus2防止容器异常占用宿主机内存nginx 分发静态文件时该配额足够。预期输出docker ps中 STATUS 为UpPORTS 列显示0.0.0.0:8080-8080/tcp。部署验证浏览器访问http://localhost:8080确认四个主要区域输入、输出、操作列表、配方区正常渲染后用仓库自带的 OCR 样例图验证操作链路将图片拖入输入框添加 Optical Character Recognition 操作能识别出图中文字即说明依赖加载完整。⚙️ 进阶配置与调优1. 提高 Node 堆内存上限。改哪里package.json中的setheapsize脚本改成什么设置NODE_OPTIONS--max_old_space_size2048为什么大配方在 webpack 构建阶段容易触发堆溢出先把上限固定到 2048MB 再重跑构建。npm run setheapsize npm run build2. 更换监听端口。改哪里Gruntfile.js 中 devServer 的端口读取grunt.option(port)默认 8080改成什么启动命令追加--port9000为什么8080 常被其他服务占用通过命令行参数切换端口不需要改任何源码。npx grunt dev --port90003. 容器运行期限额。改哪里docker run启动参数改成什么--memory2g --cpus2为什么镜像是纯静态分发构建与运行解耦运行时只需 nginx 服务文件限额可以挡住资源被异常占满的情况。⚠️ 高频故障速查现象错误信息原文原因解决命令npm ERR! Unsupported engine ... required: { node: 24 27 }Node 版本不在支持区间nvm install 24 nvm use 24EADDRINUSE: address already in use :::80808080 端口已被占用npx grunt dev --port9000FATAL ERROR: ... Allocation failed - JavaScript heap out of memory构建阶段堆内存不足npm run setheapsize后重跑npm run buildnpm ERR! code EACCESnpm install期间npm 缓存或全局目录权限不足npm cache clean --force npm installdocker: Error response from daemon: pull access denied拉取官方预构建镜像时网络受限无法访问镜像仓库docker build --tag cyberchef --ulimit nofile10000 .各操作的实现代码集中在 src/core/operations/排查具体运算行为时可从对应文件入手。部署完成后浏览器访问对应端口即可开始使用全部数据处理在浏览器本地完成不会发送到服务器。【免费下载链接】CyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis项目地址: https://gitcode.com/GitHub_Trending/cy/CyberChef创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表