const blog = { title: '', focus: 'LATEST', updated: '2026.07.17' } function latest() { return '重新定义 Wireline:不锁你数据的 mac' }
const blog = { title: '', focus: 'LATEST', updated: '2026.07.10' } function latest() { return '【技术分享】一个字母管住所有 SSH:我写了个叫' }
const blog = { title: '', focus: 'LATEST', updated: '2026.06.26' } function latest() { return '一条命令把本地文件夹变成公网链接:我的 `h` ' }
const blog = { title: '', focus: 'LATEST', updated: '2026.06.04' } function latest() { return '不 fork 内核,怎么用 mihomo / s' }
const blog = { title: '', focus: 'IAI', updated: '2026.06.03' } function latest() { return '从「部署一下」到一个能打开的网址:我做了个内部一' }
最新文章
持续记录与沉淀
重新定义 Wireline:不锁你数据的 macOS SSH 舰队管理器(AI 只是杠杆)
上一版这篇文章,我把 Wireline 介绍成「一个不锁定你的 macOS SSH 客户端,还带个会动手的 AI 副驾」。用了一阵子、也看了一圈同类产品之后,我觉得这个定义得改——不是产品变了,是我想清楚了它到底强...
【技术分享】一个字母管住所有 SSH:我写了个叫 s 的连接管理器
当服务器从 3 台变成 30 台,ssh 这件事就开始变得难受了。IP 记不住,密钥和密码混着来,有的机器登进去还得手动 sudo -i,换台电脑连密码都得重配。我一直想要一个足够简单的命令:记住一个短别名、甚至什...
一条命令把本地文件夹变成公网链接:我的 `h` 小工具
缘起经常会遇到这种场景:手头有个打包好的 ios.ipa、一个 Windows 安装包,或者一份临时构建产物,要发给同事或测试同学。微信传大文件要压缩、要等转存;网盘要登录、要等审核;scp 对方又不一定方便。我想...
不 fork 内核,怎么用 mihomo / sing-box 封一个自己的 VPN 客户端
TL;DR:桌面把 mihomo 当子进程、移动把 sing-box 编成进程内的库,外面用 Flutter 套一层 UI + 认证 + 配置管线。内核不改一行源码,所有定制都通过「配置打补丁 + REST API...
从「部署一下」到一个能打开的网址:我做了个内部一键部署平台
从「部署一下」到一个能打开的网址我花了一段时间,做了一个内部用的一键部署平台。这篇记录一下它为什么存在、怎么搭起来的,以及几个我自己觉得值得说的设计取舍。一、起因:一个 demo 卡在「只能在我电脑跑」事情的起点很...
【技术分享】ChatGPT 工作空间分析页不给你邮箱?不能导出?写个脚本把它补回来
在 ChatGPT Business 的「工作空间分析」(/admin/usage)页面,表格只给你名字 + 用量,没有邮箱。可当我作为 admin 看到某个人月消息量异常、或者想顺手导出一份全员邮箱清单做盘点时,...