这些工具用到的开源软件
这些工具在很大程度上,是对别人做的开源工作的一次细心组装。下面是在你浏览器里运行的东西,以及它们各自的许可证。
| Software | Licence | Used for |
|---|---|---|
| DB-IP Country Lite | CC BY 4.0 | IP → country table, downloaded once and searched inside your browser (What is my IP) |
| tldts | MIT | Public Suffix List lookups for the DMARC organisational domain |
| @noble/ed25519 | MIT | Ed25519 DKIM signatures where the browser has no Ed25519 in WebCrypto |
| disposable-email-domains | MIT | List of throwaway e-mail domains |
| pdf-lib | MIT | Writing and editing PDF files |
| pdf.js (pdfjs-dist) | Apache-2.0 | Rendering PDF pages and extracting text |
| libheif (libheif-js) | LGPL-3.0 | Decoding HEIC/HEIF photos |
| jSquash codecs | Apache-2.0 | JPEG, PNG, WebP and AVIF encoding (MozJPEG, libwebp, libavif, OxiPNG) |
| FFmpeg (ffmpeg.wasm) | GPL-2.0-or-later | Video and audio conversion |
| Tesseract (tesseract.js) | Apache-2.0 | Optical character recognition |
| OpenCV (@techstark/opencv-js) | Apache-2.0 | Document edge detection in the camera scanner |
| ONNX Runtime Web | MIT | Running the background-removal models |
| U-2-Netp | Apache-2.0 | Background removal — fast model |
| MODNet | Apache-2.0 | Background removal — portrait model |
| ISNet general use | MIT | Background removal — high-quality model |
| SheetJS (xlsx) | Apache-2.0 | Reading and writing Excel files |
| Mammoth | BSD-2-Clause | Converting DOCX to HTML |
| Marked | MIT | Markdown to HTML |
| Turndown | MIT | HTML to Markdown |
| Prettier | MIT | Formatting JSON, HTML, CSS, JavaScript, Markdown and YAML |
| sql-formatter | MIT | Formatting SQL |
| js-yaml | MIT | YAML parsing |
| PapaParse | MIT | CSV parsing |
| jsdiff | BSD-3-Clause | Text comparison |
| pixelmatch | ISC | Visual comparison of rendered pages |
| QRCode | MIT | QR code generation |
| JsBarcode | MIT | CODE128, EAN-13/JAN and ITF barcodes |
| zxing-wasm (zxing-cpp) | MIT / Apache-2.0 | Reading QR codes and barcodes |
| qpdf (@jspawn/qpdf-wasm) | Apache-2.0 | AES-256 PDF encryption, decryption and structure inspection |
| kuromoji.js + IPADIC | Apache-2.0 | Japanese morphological analysis for furigana |
| kanji (data lists) | MPL-2.0 | JLPT and school-grade kanji lists |
| HarfBuzz (harfbuzzjs) | MIT / Old MIT | Font subsetting (hb-subset) |
| woff2 (wawoff2) | MIT / Apache-2.0 | WOFF2 compression |
| opentype.js | MIT | Building TrueType fonts from drawn glyphs |
| JSZip | MIT | Building ZIP downloads |
| exifr | MIT | Reading EXIF, IPTC and XMP metadata |
| c2pa-web | MIT | Verifying C2PA Content Credentials |
| SortableJS | MIT | Drag-and-drop reordering |
| LOCA | MIT | Few-shot object counting model (the “count anything” mode of the photo counter) |
| Vite + vite-plugin-pwa (Workbox) | MIT | Build tooling and the offline service worker |
LGPL 声明(libheif)
HEIC/HEIF 的解码使用 libheif,采用 LGPL v3 许可。它作为一个独立、未经修改的 WebAssembly 文件提供,并没有链接进我们自己的代码,所以你可以自由地用你自己编译的同一个库把它替换掉。源码见上面的链接。
GPL 声明(FFmpeg)
视频和音频工具会在你使用它们的那一刻,从公共 CDN(jsDelivr)加载 ffmpeg.wasm。那一版 FFmpeg 采用 GPL v2 或更高版本许可;它的源码由 FFmpeg 项目和上面链接处的 ffmpeg.wasm 项目发布。
模型
机器学习模型会在你使用需要它们的工具时从 Hugging Face 下载,之后由你的浏览器缓存。我们特意只用许可宽松的模型 —— 不要“禁止商用”的权重,也不要任何会给使用这些页面的人带来 copyleft 义务的东西。