joshuaruppe/sappr

GitHub: joshuaruppe/sappr

一款面向渗透测试人员的纯浏览器端、可自托管的编码、加密、哈希识别与数字取证工具集合。

Stars: 0 | Forks: 0

sappr **渗透测试人员的工具包。** 一套快速、现代化、可自托管的工具集合, 包含你实际会用到的工具:编码/解码、哈希、哈希识别、 加密、格式化、正则表达式、转换、生成器和二进制取证。 一切均在你的浏览器中运行。无后端,不上传任何数据。 [![Vite](https://img.shields.io/badge/Vite-6-646CFF?logo=vite&logoColor=white)](https://vitejs.dev) [![React](https://img.shields.io/badge/React-18-61DAFB?logo=react&logoColor=white)](https://react.dev) [![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org) [![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-v4-38BDF8?logo=tailwindcss&logoColor=white)](https://tailwindcss.com) ![Tests](https://img.shields.io/badge/tests-303_passing-3fb950?logo=vitest&logoColor=white) ![Runs](https://img.shields.io/badge/runs-in_your_browser-6d4aff) ![License](https://img.shields.io/badge/license-AGPL_v3-3fb950) ![Use](https://img.shields.io/badge/use-authorized_testing_only-d73a49)
## 功能 - **编码 / 解码**:Base64 · Base32 · Base58 · Hex · URL 编码 · URL 解析 · HTML 实体 · JWT 解码器 · **Magic** 自动解码器 - **Crypto**:文本哈希 (MD5 → SHA-3 / BLAKE2) · HMAC · 流式文件哈希 · **哈希类型识别器** · AES 加密/解密 · XOR · ROT/Caesar · 经典密码 - **格式化**:多语言美化器 (JSON · YAML · XML · SQL · JS/TS · HTML · CSS/SCSS/LESS · GraphQL · Markdown) · 专用的 JSON 和 SQL 格式化工具 · 在 JSON / YAML / CSV / TOML 之间转换 - **Regex**:带有匹配高亮的实时测试器 · 纯英文解释器 - **转换**:Unix 时间戳 · 进制转换器 · 文本差异对比 · Unicode 检查器 - **生成**:UUID / ULID · 安全密码 · 随机 token · 二维码 - **取证**:从任何文件中提取类 `strings` 风格的可打印字符 · 从图像解码二维码 每个工具都是 [`src/tools/`](src/tools/) 下的一个独立文件夹;放入一个新工具, 它就会自动在导航栏、命令面板和启动器中完成注册。 ## 设置与访问 设置菜单(右上角)会在本地保存你的选择: - **主题**:浅色 / 深色 / 自动。 - **破解工具**:hashcat、John 或两者皆选。哈希识别器会根据你的选择, 为其生成的命令和参数进行量身定制。 - **密码门** *(可选)*:通过密码锁定实例。该 密码**仅以 Argon2id 哈希(随机 salt)的形式**存储在 `localStorage` 中, 绝不会以可恢复的形式保存,并且你可以自行选择重新提示输入密码的 频率(每次启动 / 每天 / 每周)。它会强制要求密码至少包含 10 个字符, 且必须包含大写字母 / 数字 / 特殊字符。 ## 哈希识别 哈希识别器可以识别 Active Directory / Kerberos (Kerberoast 和 AS-REP)、NetNTLM、`/etc/shadow`、数据库、 网络设备、文档、压缩包以及许多原始哈希格式中的凭据和原始哈希。对于每个可能的 匹配项,它都会生成一个可直接运行的 **hashcat** (`-m …`) 和/或 **John** (`--format=…`) 命令。它会标记格式错误的输入,而不是仅凭前缀进行猜测,并且你可以直接从 UI 中附加字典、规则文件以及 GPU / workload / fork 选项。 它内置了 hashcat 权威的 模式 → 名称 → 示例 表 (`src/tools/hash-id/hashcat-modes.generated.ts`,提取自 hashcat 基于 MIT 许可的 [example_hashes](https://hashcat.net/wiki/doku.php?id=example_hashes))。 运行 `npm run update:hash-defs` 来刷新它;该脚本还会将我们精心维护的检测器 与权威列表进行交叉核对,并标记出任何模式不匹配的情况。 ## 技术栈 Vite · React 18 · TypeScript · Tailwind CSS v4 (OKLCH tokens) · cmdk · lucide · [hash-wasm](https://github.com/Daninet/hash-wasm) (哈希 + Argon2id) · 自托管的变量字体(离线安全)。繁重的任务会按工具进行代码分割 (code-split),并在关键时刻移入 Web Workers 中执行。 ## 下载与运行(无需构建) 大多数人不需要构建任何东西。从 [最新发布版](https://github.com/joshuaruppe/sappr/releases/latest) 获取预构建的压缩包并将其 解压。然后,在该文件夹内,使用任何静态 Web 服务器为其提供服务: ``` npx serve # Node (Windows, macOS, Linux) python -m http.server 8000 # Python (use python3 on macOS/Linux) ``` 然后打开输出的 URL,或者将 nginx / Caddy 指向该文件夹。路由是 基于哈希的,因此**不需要任何重写规则**,并且每个版本都附带一个 `.sha256` 文件用于验证下载。 ## 从源码构建并运行 需要 **Node 20+**(推荐使用 Node 24 LTS)。 ``` npm install npm run dev # dev server at http://localhost:5173 (hot reload) ``` 生产构建(静态文件,可托管在任意位置): ``` npm run build # type-checks then builds to ./dist npm run preview # serve the built ./dist locally to verify ``` `dist/` 中的内容是完全静态的。你可以将它们放在任何 Web 服务器 (nginx、Caddy、`python -m http.server`、GitHub Pages 等)背后。由于路由是 基于哈希的,因此**不需要服务器重写规则**。 ## 脚本 | 脚本 | 作用 | | --- | --- | | `npm run dev` | 启动 Vite 开发服务器 | | `npm run build` | 类型检查 + 生产构建至 `dist/` 目录 | | `npm run preview` | 预览生产构建 | | `npm run typecheck` | `tsc --noEmit` | | `npm test` | 运行 Vitest 单元测试 | | `npm run update:hash-defs` | 将 hashcat 的模式表重新拉取到哈希识别器中 | ## 添加工具 请参阅 [docs/AUTHORING_TOOLS.md](docs/AUTHORING_TOOLS.md)。简而言之:创建 `src/tools//`,包含 `meta.ts`、`Tool.tsx`、`logic.ts` 和 `logic.test.ts`, 并参考 `base64` 实现。无需进行中央注册。 ## 隐私 每个工具完全在客户端运行:没有后端,你粘贴或 上传的任何内容都不会离开你的浏览器。可选的密码门也是本地的( `localStorage` 中的 Argon2id 哈希)。请注意,浏览器端的哈希/加密仅适用于 工具和分析,不能替代经过审计的生产环境密钥处理方式。 ## 路线图 - [x] 基础架构:自动发现注册表、主题设置、命令面板、可共享的哈希路由 - [x] 客户端工具集:编码 · 加密 · 格式化 · 正则表达式 · 转换 · 生成 · 取证 - [x] 设置(主题、破解器选择)+ 可选的 Argon2id 密码门 - [ ] 网络工具(IP/CIDR/MAC/UA 解析、DoH);该分类目前为占位符 - [ ] 隐写术(EXIF / LSB / magic-byte carving) - [ ] 可共享的工具状态永久链接 + PWA 更新提示 - [ ] AI 文本转换包(Unicode 技巧、emoji 隐写术、经典密码) - [ ] 可选的 Go 后端(WHOIS/RDAP、被动 DNS/地理位置)+ 服务器端认证/SSO + `/api/update-check` - [ ] 单一多架构 Docker 镜像(GHCR,cosign 签名)+ 应用内的“有可用更新”横幅 ## 许可证 [GNU Affero General Public License v3.0](LICENSE) (AGPL-3.0)。sappr 是自由且 开源的:你可以使用、研究、分享和修改它。保持其开源的约束条件是:如果你分发它, 或者将修改后的版本作为网络服务运行,你必须在相同的 AGPL 条款下 发布你的完整源代码。你可以随意 fork 并基于它进行构建,但你的版本也必须保持开源。 内置的 hashcat 模式表 (`src/tools/hash-id/hashcat-modes.generated.ts`) 基于 MIT 许可证(与 GPL 兼容)并保留其原始条款;完整通告请参阅 [THIRD-PARTY-LICENSES.md](THIRD-PARTY-LICENSES.md)。
标签:React, Syscalls, Vite, 代码示例, 前端工具, 加密解密, 安全工具箱, 数据分析, 自动化攻击