首页 › weekly › Flash死透十年,Rust把它救活了

Flash死透十年,Rust把它救活了:本期开源挖掘手记

概述:这一轮挖掘刻意避开大模型洪流的峰顶,去山脚找那些“十年后还能跑”的东西。两条主线:一条是把“必须交出去的文件和数据”收回本地——PDF工具箱、无损剪辑、打卡小站、书签库;另一条是给互联网旧资产续命——死掉的Flash、404的链接、被算法流淹没的订阅权。8个仓库里有两个星标未破两千的冷门好货,全部开箱即用或一键部署。


1. ruffle-rs/ruffle —— 用Rust给整个Flash时代做器官移植

仓库:github.com/ruffle-rs/ruffle | 星标量级:1万+ | 更新:持续活跃( nightly 几乎日更)

2020年最后一天,Adobe 拔掉了 Flash Player 的电源,二十年的互动内容一夜变砖——小游戏、动画、课件、早期网页艺术。Ruffle 做的事是把 Flash Player 整个用 Rust 重写一遍:ActionScript 虚拟机(AVM1/AVM2)、渲染器、音频,编译成 WebAssembly 后直接跑在现代浏览器里,不需要装任何插件。它最硬的成绩是获得了 Newgrounds 和互联网档案馆(Internet Archive)的官方采用——你去 archive.org 点开一个2003年的 Flash 游戏,背后跑的就是 Ruffle。用内存安全的语言重写一个以漏洞闻名的播放器,本身就是教科书级的工程示范。网站主只需引入一段脚本,老 swf 就能复活,玩家全程无感。

2. Stirling-Tools/Stirling-PDF —— 把PDF的命,从在线工具手里夺回来

仓库:github.com/Stirling-Tools/Stirling-PDF | 星标量级:数万 | 更新:高频迭代

所有在线 PDF 工具都有同一个潜规则:你把合同、简历、标书传上去,“免费”处理,代价是文件进了别人的服务器。Stirling-PDF 是一个 Docker 容器,一条命令部署后,50多种 PDF 操作全部在自己内网完成——合并、拆分、压缩、OCR识别、转 Office/图片、加水印、密码加固、元数据清理、内容涂黑、签名校验。底层是 Java(Spring Boot + PDFBox),稳定压倒花哨,同时暴露完整的 REST API,可以被脚本批量调用。这个项目已经走出了“个人玩具”阶段:据项目官网,作者已围绕它成立公司,提供企业版和商业支持,是开源工具商业化路径的活样本。

3. mifi/lossless-cut —— 剪视频不渲染,剪刀直接剪进码流

仓库:github.com/mifi/lossless-cut | 星标量级:数万 | 更新:活跃

传统剪辑的隐藏成本是“重新渲染”:只剪掉片头10秒,软件也要把整个4K文件重编码一遍,一小时素材等半小时进度条。LosslessCut 的思路完全不同——它调用 ffmpeg 的流复制(stream copy)能力,直接在封装容器层面切割数据包,不碰视频帧本身,所以是秒级操作、零画质损失。关键帧不齐导致的首尾黑帧问题,它也提供精确模式兜底。除了剪切,还能拼接多段、抽取/替换音轨、导出字幕、翻录相机原始格式(MTS/M2TS 这类“剪辑软件不认”的文件它照单全收)。对于婚礼、会议、监控、运动相机素材的粗剪,它把工序从“小时”压到“分钟”。

4. DIYgod/RSSHub —— 万物皆可RSS的发电机

仓库:github.com/DIYgod/RSSHub | 星标量级:3万+ | 更新:活跃,路由社区共建

信息流时代的悖论:你想关注的账号、期刊、高校通知、政府公告,全被锁在各家App里,用算法决定给你看什么。RSSHub 用“路由”的方式把没有RSS的网站统一改造成标准订阅源——微博、B站、豆瓣、知乎、各种公告页,社区贡献的路由数以千计,一条 URL 就是一个源。它是 Node.js 服务,官方公共实例 rsshub.app 可直接用,自部署则能解锁完整路由和缓存;配合 RSSHub Radar 浏览器扩展,打开任何页面一键发现可用源,再丢给 Miniflux、FreshRSS 这类阅读器消费。作者 DIYgod 是中文开源圈的传奇独立开发者,这个项目维护了近十年。

5. yjs/yjs —— 所有协同编辑器背后,都站着一个不写文档的男人

仓库:github.com/yjs/yjs | 星标量级:1.5万+ | 更新:持续维护

多人协作产品最难啃的骨头从来不是界面,而是冲突:两个人同时改同一段文字,谁的算数?主流解法要么自建 OT 服务器(运维地狱),要么——用 Yjs。它是一个 CRDT(无冲突复制数据类型)库,核心是 YATA 算法:任何设备、任何顺序、任何拓扑下同步,最终状态必然一致,离线编辑再上线也能自动合并。对外暴露的是 Y.Map、Y.Text、Y.Array 这样自然的数据结构,配合 y-websocket / y-webrtc / IndexedDB 等 provider 自由组网,与 Monaco(VS Code内核)、ProseMirror、TipTap 都有官方绑定。很多你叫得出名的协同产品,底层其实都是它。作者 Kevin Jahns 长年一人维护核心,社区生态(如 TipTap 团队的 Hocuspocus 后端)已自成体系。

6. lxgw/LxgwWenKai —— 一肉身补上万字形,中文圈最体面的免费楷体

仓库:github.com/lxgw/LxgwWenKai | 星标量级:1万+ | 更新:持续补字迭代

中文字体是个残酷的行业:商业授权动辄数千到数十万,免费字体又普遍缺“正文级”的选择——能做标题的花哨,能排正文的没气质。霞鹜文楷(LXGW WenKai)的路径很聪明:以日本 Fontworks 开源的 Klee One(一款自带手写体温的教科书楷体)为底,由作者 lxgw 一人以一己之力补齐中文常用字、调整字形、增加字重,衍生出 Lite、Mono(等宽)、Screen(屏幕优化)等版本,OFL 许可下个人商用全免费。它现在是中文播客笔记、公众号排版、独立出版物里出镜率极高的字体,GitHub 上万星标在字体项目里几乎是断层式存在。

7. daya0576/beaverhabits —— 习惯打卡这件事,配不上订阅费

仓库:github.com/daya0576/beaverhabits | 星标量级:千余(小众) | 更新:活跃

市面上的习惯打卡App几乎清一色订阅制,且数据锁在云端——你坚持了300天的记录,本质上属于服务器,不属于你。Beaver Habits 是中文开发者维护的自托管方案:一个极简的每日打卡小站,日历视图 + 连续记录,手机浏览器打开顺手就用,一个 Docker 容器部署完事,数据躺在自己的硬盘里。它刻意不做社交、不做游戏化、不做AI教练——打卡这件事的全部需求就是“打开、点一下、看见连续记录”,多余功能都是打扰。这类“把订阅App还原成一个容器”的项目,是自托管社区最健康的物种。

8. Kovah/LinkAce —— 给每个书签配一个“防404保险”

仓库:github.com/Kovah/LinkAce | 星标量级:约两千(小众) | 更新:稳定维护

收藏链接的终极宿命是404:三年后你想引用那篇关键文章,网站已经不存在了。LinkAce 的杀手锏不是书签管理本身,而是每保存一个链接,自动往互联网档案馆(Wayback Machine)提交一份存档,并周期性检查所有链接的健康状态,死链提前报警。在此基础上才是常规动作:标签体系、全文搜索、批量导入、REST API、多用户支持,Docker 部署。作者 Kovah 是德国独立开发者,这个项目以节奏稳定、文档完善著称——它解决的“链接腐烂”问题随时间推移只会更严重,需求面在扩大而不是缩小。


横向对比

仓库 类型 星标量级* 上手难度 适用场景
ruffle-rs/ruffle 怀旧/模拟器 1万+ ⭐⭐ Flash资产复活、数字档案
Stirling-Tools/Stirling-PDF 自托管文档工具 数万 ⭐ 内网PDF处理、敏感文件
mifi/lossless-cut 视频工具 数万 ⭐ 无损剪切、素材粗剪
DIYgod/RSSHub 信息聚合 3万+ ⭐⭐ 打破算法流、情报订阅
yjs/yjs 开发者库 1.5万+ ⭐⭐⭐⭐ 协同编辑、local-first
lxgw/LxgwWenKai 字体/设计 1万+ ⭐ 中文排版、免费商用
daya0576/beaverhabits 自托管生活应用 千余 ⭐ 习惯打卡、数据自主
Kovah/LinkAce 自托管书签 约两千 ⭐⭐ 防链接腐烂、知识资产

*注:本轮采编环境离线完成,星标为量级参考(其中 beaverhabits 与 LinkAce 属千星级小众项目),精确数字请以各仓库主页实时数据为准。

本期地图:

mindmap
  root((第四轮挖掘))
    即装即用区
      Stirling-PDF
      LosslessCut
      Beaver Habits
    开发者基建区
      Yjs
      RSSHub
    长线情怀区
      Ruffle
      霞鹜文楷
    防腐防忘区
      LinkAce

难度与价值分布:

flowchart TD
  A["零门槛·立刻受益"] --> A1["Stirling-PDF"]
  A --> A2["LosslessCut"]
  A --> A3["Beaver Habits"]
  B["低门槛·改变习惯"] --> B1["RSSHub"]
  B --> B2["LinkAce"]
  C["高门槛·高回报"] --> C1["Yjs"]
  D["无需动手·感受工程"] --> D1["Ruffle"]
  D --> D2["霞鹜文楷"]

本期之最

参考来源

本篇基于各项目仓库与官方文档的知识积累整理;本轮采编环境离线,未能联网核对实时数据,星标数为量级估计,请以官方页面为准。

  1. ruffle-rs/ruffle — Ruffle 项目仓库(另见官网 ruffle.rs)
  2. Stirling-Tools/Stirling-PDF — Stirling-PDF 项目仓库
  3. mifi/lossless-cut — LosslessCut 项目仓库(另见 losslesscut.app)
  4. DIYgod/RSSHub — RSSHub 项目仓库(文档见 docs.rsshub.app)
  5. yjs/yjs — Yjs 项目仓库(文档见 docs.yjs.dev)
  6. lxgw/LxgwWenKai — 霞鹜文楷项目仓库
  7. daya0576/beaverhabits — Beaver Habits 项目仓库
  8. Kovah/LinkAce — LinkAce 项目仓库(另见 linkace.org)

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入