# shuji 源映射源码恢复工具

> 命令行工具，可把源映射（source map）中内嵌的原始 JavaScript 和 CSS 源码重新写出为文件。它能读取 .map 文件，也能读取 sourceMappingURL 中内联了 Base64 或 URL 编码映射、或指向同一目录下映射文件的 JavaScript 和 CSS 文件，并可按正则表达式筛选、递归遍历目录。默认只按文件名平铺输出，使用 --preserve 则保留映射中的目录结构。

- 类型：工具
- 目标：网站
- 类别：网站分析工具
- 关联：基础工具
- 来源复核于：2026-10-19
- 收录于：2026-10-19
- 原始资源：<https://github.com/paazmaya/shuji>
- 一手来源：<https://github.com/paazmaya/shuji/blob/a97c6df48e2016fde7b072d3e8475dea3d7b872c/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/shuji/>
- 记录 JSON：<https://awesomerea.org/resources/shuji/record.json>
- 英文版：[English](https://awesomerea.org/resources/shuji/index.md)

## 使用条件与局限

- 审阅时的 npm 版本为 shuji 0.8.0，发布于 2023-12-04，要求 Node.js 14.15.0+；仓库只有标签，没有发布 GitHub Release。所审阅的 main 分支提交领先该版本 139 个提交且尚未发布：它把最低要求提高到 Node.js 24.12.0（README 已按此说明），把代码检查迁移到 Oxlint，并自 2026-10-11 起拒绝会跳出输出目录的输出路径。
- 用 npm 全局安装命令行工具，对文件或目录运行，并用 -o 指定输出目录；默认筛选条件只匹配 .map 文件，因此要扫描 .js 或 .css 文件中的内联映射需改用 -M。只读取本地文件中的映射：被引用的映射必须位于相对代码文件的路径上，不会获取远程映射。
- 只有源码内容嵌入在映射 sourcesContent 中的源文件才会被写出；只列出路径而无内容的条目会被跳过，因此未包含源码的映射无法恢复这些文件。已存在的文件不会被覆盖，所以平铺输出时同名源文件会被跳过，除非使用 --preserve。
- 采用 MIT 许可。恢复出的文件仍是原作者的代码，适用其自身条款。

## 一手来源

1. <https://github.com/paazmaya/shuji/blob/a97c6df48e2016fde7b072d3e8475dea3d7b872c/README.md>
2. <https://github.com/paazmaya/shuji/blob/a97c6df48e2016fde7b072d3e8475dea3d7b872c/package.json>
3. <https://github.com/paazmaya/shuji/blob/a97c6df48e2016fde7b072d3e8475dea3d7b872c/CHANGELOG.md>
4. <https://github.com/paazmaya/shuji/blob/a97c6df48e2016fde7b072d3e8475dea3d7b872c/lib/find-map.js>
5. <https://github.com/paazmaya/shuji/blob/a97c6df48e2016fde7b072d3e8475dea3d7b872c/lib/read-sources.js>
6. <https://github.com/paazmaya/shuji/blob/a97c6df48e2016fde7b072d3e8475dea3d7b872c/lib/write-sources.js>
7. <https://github.com/paazmaya/shuji/blob/a97c6df48e2016fde7b072d3e8475dea3d7b872c/LICENSE>
8. <https://www.npmjs.com/package/shuji/v/0.8.0>

## 同分区更多条目：网站

- [Obfuscator.io 专用反混淆工具](https://awesomerea.org/zh/resources/obfuscator-io-deobfuscator/index.md) · 工具
- [javascript-deobfuscator 通用 JavaScript 反混淆工具](https://awesomerea.org/zh/resources/ben-sb-javascript-deobfuscator/index.md) · 工具
- [mitmproxy2swagger](https://awesomerea.org/zh/resources/mitmproxy2swagger/index.md) · 工具
- [JPEXS Flash 反编译器（FFDec）](https://awesomerea.org/zh/resources/jpexs-decompiler/index.md) · 工具
- [WasmLens：探索性 WebAssembly 检查](https://awesomerea.org/zh/resources/wasmlens/index.md) · 工具
- [synchrony JavaScript 反混淆工具](https://awesomerea.org/zh/resources/synchrony/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
