开源项目 VERT:1.6 万星的浏览器本地文件转换器,图片视频文档全在自家机器上转,文件永不上传
VERT
一个纯前端的文件格式转换站:不用后端、不上传文件,一切转换都发生在你的浏览器里
项目速览
项目 内容 仓库 VERT-sh/VERT 语言 TypeScript(Svelte + WebAssembly) Stars 约 1.6 万 协议 GPL-3.0 定位 本地优先的网页版文件转换工具 部署 纯静态站点,Docker 一键自托管
它想解决什么问题
在线文件转换器的商业模式基本都写在隐私条款里:上传的文件存在谁的服务器上、保留多久、会不会被拿去训练模型——没人说得清。VERT 的定位一句话:转换全部在客户端完成——图片、视频、音频、文档用 WebAssembly 在你的机器上转,文件从头到尾不离开浏览器。没有上传等待、没有文件大小焦虑、没有隐私后顾之忧,还免费。
核心机制拆解
1. WebAssembly 承载转换内核。 ffmpeg.wasm 处理音视频、各类图像编解码器处理图片、文档库处理 office/pdf 互转——把成熟的 C/C++ 工具编译到浏览器里跑。代价是首次加载要下载 WASM 模块(有缓存),收益是零服务器成本、无限并发、天然离线可用。
2. PWA 架构。 装到桌面就是个本地应用;断网也能转换已缓存的格式,”在线工具”的形态 + “本地软件”的实质。
3. 自托管友好。 纯静态产物,Docker 一行起服务;团队内网部署一个,全公司的格式转换需求就不用再经过任何第三方。
4. 与客户端工具流的合流。 它和 sql.js(浏览器跑 SQLite)、pyodide(浏览器跑 Python)、dompdf.js(纯前端 HTML 转矢量 PDF)代表同一条路线:**”能用 WASM 在客户端算的,就别劳驾服务器”**。文件类工具是这个路线最早成熟的领域。
安装与上手
在线版开箱即用;自托管:
1 | docker run -d -p 3000:80 ghcr.io/vert-sh/vert:latest |
点评
亮点:把”隐私优先”做成了产品默认值而不是营销话术——文件不出浏览器,这个承诺在架构层面就是真的;1.6 万星在纯工具类项目里算相当亮眼;WASM 路线跑通后扩展格式成本很低(找个对应编译目标就行)。
局限:首次加载 WASM 模块体积不小,弱网环境体验打折;超大文件受浏览器内存上限约束,GB 级视频转换不如原生 ffmpeg 稳;GPL-3.0 对商业集成有传染性要求;文档类格式的还原精度与桌面软件还有差距。
适合人群:隐私敏感用户、要给团队部署内部转换服务的运维、以及所有想看看”纯前端能做到什么程度”的前端开发者——VERT 是 WASM 客户端计算的最佳教学案例之一。
评论