压缩和校验管线
压缩管线
魔曰使用多阶压缩管线,在加密之前对输入数据执行压缩。通过自适应算法选择和智能内容检测来选择合适的压缩策略。
针对短文本,本项目使用针对短文本优化的 Unishox2 压缩算法,避免了通用压缩算法(如 GZIP 等)文件头过重的问题。一般数据(>1KB)则采用 GZIP。
针对链接和常见域名编排了字典,有效提高特定链接(例如网盘链接)的压缩效率。
压缩后会执行效率验证,如果出现无效压缩,则自动回落到原始数据。
压缩总流程
URL 针对性优化
魔曰对一些协议头,域名和 TLD 执行了特殊优化。编排了一个自定义字典。
| 字典分配 | 标识符 | 域名和关键字 |
|---|---|---|
| 国内网盘 | 254 | lanzou, pan.quark.cn ... |
| 国际网盘 | 245 | mypikpak.com, mega.nz... |
| 国内网站 | 253 | baidu.com, b23.tv... |
| 国际网站 | 252 | google.com, youtube.com... |
| 国际网站 | 244 | wikipedia.org, github.com... |
| 日本网站 | 251 | pixiv.net, nicovideo.jp... |
| 资源网站 | 250 | ———— |
校验管线
项目使用轻量化的 卢恩算法(US2950048, ISO/IEC 7812-1) 来对解密结果做简单校验,能够检出 70%的错误。
卢恩算法比起 Hmac 和 AES-GCM,安全性稍弱,但它十分轻量,校验位仅占一个字节。
