Sigwait

Sigwait 的个人网站。

为 Debian、Ubuntu 和 Fedora 创建持久化 Live 镜像

Live ISO 写入 U 盘后,所有修改重启即消失,根源在于 ISO9660 是只读文件系统。本文逐一拆解三大发行版的持久化方案:Ubuntu 需 kernel 参数 persistent 搭配 casper-rw 分区;Debian 需 persistence 参数加 persistence 分区和配置文件;Fedora 需 selinux=0.overlay=LABEL=foo:/bar 参数加对应目录。作者还分享了一个"hacky但管用"的做法:直接用 sed 在.iso 中做等长字节替换来注入 kernel 参数,以及更可靠的方案——从.iso 中提取 squashfs 根文件系统,自制 ext4 镜像配合精简 grub.cfg 重新打包。附两个 GitHub 仓库提供了完整的自动化脚本,支持 QEMU 快速验证。
评论点赞收藏75 天前

图片链接混淆技术探析

等网站用 blob URL 替代普通 img 标签 src,防止热链接和 AI 爬虫直接抓取图片。作者深入逆向分析了这套混淆方案:服务器对 JPEG 图片做 AES-CTR 加密(仅加密前 1024 字节以平衡性能),加密密钥藏在 HTTP 返回头 X-Obfuscate 中,再经 rot13+base64 二次混淆;前端通过 fetch 下载密文、解密后推入 blob、用 URL.createObjectURL 创建临时链接注入 DOM。作者还写了自定义 HTML 元素 img-blob 封装这一流程,并调侃这本质上是对用户不友好、反 Web 精神的米老鼠级 DRM,顺便测试了一下 DeepSeek 能否破解——结果 AI 折腾 9 分钟失败还浪费了水资源。文章技术细节扎实,观点鲜明,附带可复现的 curl 验证和源码示例。
评论点赞收藏251 天前

离线数学:使用 MathJax 将 LaTeX 转换为 SVG

Pandoc 的 --mathjax 选项依赖 CDN 脚本,离线或 EPUB 阅读器上无法渲染数学公式。本文作者给出了一种实用的纯离线方案:用 jsdom + MathJax 将 LaTeX 公式原地转为内联 SVG 节点,最终 HTML 无需 JavaScript、不请求任何外部资源。作者分享了自己从 2016 年用 phantomjs(难调试、库版本锁定)到如今用 jsdom(速度已可接受)的亲身踩坑经历,并给出了完整代码(mathjax-embed,140 行左右,GitHub 开源)和使用示例。适合有 Pandoc/LaTeX 离线文档生成需求的读者,是一篇有真实技术判断和一手经验的工程笔记。
评论点赞收藏285 天前

压缩工具对比评测(2024)

10种压缩工具在真实数据上的实测对决:xz并非总是最优。作者用29行shell脚本对bzip2、zstd、xz等在Emacs源码和XML文件上做了横向评测,结果bzip2和rzip在压缩率上表现突出,表明依赖常识选压缩工具可能错过更优选择。脚本全公开、可复现,自动处理目录打包、压缩器列表遍历,并用gnuplot配合C预处理器生成双纵轴柱状图。附完整代码和实测数据,适合有压缩需求的开发者直接取用验证。
评论点赞收藏328 天前

Adobe Reader 安装包体积历年增长变迁

作者用图表追踪了Adobe Reader从1993年Reader 1.0约4.5MB膨胀到如今Windows版25.x安装包687MB的全过程,并直指其中塞入了AI功能、自动更新和云服务广告。对比仅8MB的轻量级替代SumatraPDF,观点鲜明地控诉软件臃肿化。数据来源公开可复现,帖子在Hacker News引发热烈讨论,作者还自嘲图表做得像"犯罪现场",人味十足。
评论点赞收藏355 天前

文件名中转义序列引发的busybox终端混乱

在Linux中用printf创建包含ANSI颜色控制符(如\033[1;33m\033[44m,黄字蓝底)的文件名后,busybox tar list命令会直接输出转义码而非正确转义,导致终端显示炸裂。ls正确转义了特殊字符,GNU tar和bsdtar也能妥善处理,唯独busybox踩坑。作者贴出了完整复现命令和busybox版本号(1.36.1-8.fc41),这是一个实用的小众踩坑记录——如果你在嵌入式或容器场景下用busybox打包带特殊字符的文件名,很可能中招。
评论点赞收藏503 天前

Shell 明信片

把 Shell 脚本当成电子明信片寄给别人——收件人在终端跑一下就能看到里面的内容,这个新奇的点子来自一位极客的技术博客。作者从最简实现开始:用 base64 + gzip 把 1992 年的 ANSI 字符画嵌入脚本;随后加入 RC4 加密实现密码保护,并借助 Cosmopolitan Libc 工具链生成真正跨平台的可执行体,用 Ruby erb 模板自动构建最终脚本。全文完整给出了所有代码(Shell 脚本、C 语言 RC4 实现、Makefile),解释了每一步的设计取舍和踩坑经验,最后还不忘提醒 RC4 已不再安全。全篇充满个人探索的趣味和一手技术细节,适合喜欢 Unix/Linux、Shell 脚本和复古极客文化的读者深入把玩。
评论点赞收藏947 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。