自有产品

我亲自构建并运维的作品

这些是我自己的产品,而非客户项目。它们是我工作方式最清楚的公开证据:它们的安全、升级和故障都由我负责。

Clacks

上线

旧版账户的邮件桥接

"重要的不是消息本身,而是发送它。"

— GNU Terry Pratchett

一个基于Symfony的应用程序,将POP3和IMAP邮箱账户桥接到Gmail。轮询旧版邮件服务器,安全地将消息直接转发到您的Gmail收件箱——无存储、无延迟,只有与过滤器和规则完全兼容的无缝投递。

主要功能

POP3 & IMAP支持
基于纯PHP套接字的轮询,无需ext-imap依赖
Gmail API集成
使用Gmail messages.import实现原生过滤器兼容性
安全直通
邮件内容直接传入 Gmail,从不存储
多账户管理
将多个旧版账户连接到一个或多个Gmail目标
AdminLTE仪表板
用于账户管理和监控的现代Web界面

技术栈

Symfony 7 PHP 8.2+ Gmail API libsodium AdminLTE 3 Webpack Encore MariaDB

案例研究

问题
把旧的 POP3 和 IMAP 邮箱中的邮件导入 Gmail,让 Gmail 自身的过滤器、标签和垃圾邮件识别照常生效——就像邮件原本就直接投递到了 Gmail。
我的角色
由我设计、构建并运维:邮件客户端、Gmail 集成、凭据加密、任务调度以及付费方案。
约束
它需要的每一项 Gmail 权限都被 Google 列为受限权限,这意味着要通过安全审核,并且必须为申请的每一项权限说明理由。此外,一个接触他人邮件的服务,应当尽可能少地保留邮件。
决策
导入而非转发:邮件通过 Gmail 的 messages.import 进入,过滤器和垃圾邮件识别照常运作。只申请五项范围很窄的权限,并刻意不申请 gmail.readonly——应用从不读取任何已有的 Gmail 邮件。不保留邮件内容:邮件在一次处理中完成拉取和导入,只保留元数据——发件人、主题、日期以及防止重复导入的标识符——并按保留期限清除。POP3 和 IMAP 客户端直接基于套接字编写,而不依赖 PHP 的 IMAP 扩展。必须存储的密钥信息,例如邮箱密码和 Gmail 刷新令牌,则用密钥加密密钥进行加密。
取舍
导入需要受限权限,而受限权限会带来 Google 的审核。转发本可以避开这两者——但也会破坏过滤器和标签,而那恰恰是整件事的意义所在。
结果
一项正在运行的服务,提供免费和付费方案,将 POP3 和 IMAP 邮箱连接到一个或多个 Gmail 收件箱。
依据
每一项受限权限都对照使用它的具体 API 调用写有文档,并且在正式评估之前,代码已按照 Google 的 CASA Tier 2 标准核查过。

Markest

上线

多文档Markdown粘贴板

"最好的文档是人们真正阅读的文档。"

— Markest

一个功能完整的Markdown粘贴板,用于创建包含多个链接文档、侧边栏导航和美观阅读体验的粘贴内容。支持订阅计划、协作者、客户端加密、可嵌入查看器和RESTful API——全部支持10种语言的国际化。

主要功能

多文档粘贴
每个粘贴最多50个Markdown文件,支持内部链接、侧边栏导航和ZIP导出
订阅计划
通过Stripe提供免费和付费层级,可配置粘贴、存储和功能限制
安全与隐私
客户端加密、密码保护、阅后即焚和TOTP 2FA
RESTful API
Bearer令牌认证,支持API密钥、权限和完整的CRUD操作
协作与分享
邀请协作者、嵌入粘贴、浏览公共目录和自定义主题

技术栈

Symfony 7.4 PHP 8.3+ CommonMark 2.8 Stripe XChaCha20-Poly1305 MariaDB

案例研究

问题
一个支持多文档 Markdown 和 HTML 的 pastebin。支持 HTML,就意味着要在与用户账户相同的网站上,存储和提供任何人编写的标记。
我的角色
由我设计、构建并运维,包括发布、访问控制、协作以及付费方案。
约束
HTML 粘贴需要按原样运行,包括其中的脚本,所以把它们过滤掉就会破坏这项功能。而且可见性规则——公开、不公开列出、密码保护、签名链接、协作者——必须在每一条提供粘贴内容的路由上都成立。
决策
隔离而非净化:存储的 HTML 从不在应用自身的源上渲染。它只通过一条专用路由,在不含 allow-same-origin 的 Content-Security-Policy 沙箱下提供,因此运行在一个不透明的源上,无法访问网站的 Cookie 或会话。同时,所有提供粘贴内容的入口都通过同一个检查来判定访问权限,这样就没有任何控制器各自保存一份可见性规则。
取舍
被隔离的 HTML 无法触及查看者的页面或网站的存储,因此依赖正常源的嵌入内容在粘贴中无法工作。这一限制是有意为之:正是它让任意脚本远离用户账户。
结果
一个正在运行的多文档 pastebin,提供免费和付费方案、REST API、协作者以及十种语言的界面。
依据
这两条规则都被记录为长期有效的架构决策。统一的访问检查是在一次安全审计发现各路由之间的可见性检查出现偏差之后引入的。

Boot

上线

ADHD友好的生产力操作系统

"测试骨架,构建身体,层叠心智。"

— Boot

一个围绕BOS(BIEEII Operating System)状态机构建的ADHD友好生产力系统。Boot将您的一天建模为结构化阶段——激活、执行、维护和关机——使用90分钟专注块、能量感知的任务评分和平静的仪式来保持您在正轨上而不会感到过载。

主要功能

BOS状态机
六个确定性状态引导您的一天从启动经过深度工作到夜间关机,具有分层权限控制
90分钟专注块
包含预热、核心专注和冷却阶段的结构化时间容器——加上切换冲动日志和暂停/恢复
智能预测与RAB评分
基于优先级、截止日期紧迫性、能量匹配、情绪偏向、项目相关性和新鲜度的确定性任务排名
NSIL夜间关机
基于仪式的关机序列:发货日志、约束捕获、明日种子和输入锁定,干净地结束您的一天
沙盒化反思窗口
块间限时反思期,用于回顾进展、写日志和规划,而不打断工作流

技术栈

Symfony 7 PHP 8.3+ Stripe XChaCha20-Poly1305 Google OAuth Webpack Encore MariaDB

有需要解决的问题吗?

如果它看起来是我可以构建、自动化或修复的事情,请告诉我。

聊聊您的项目