生活在字典树上 —— 存储和匹配海量的域名和 IP 地址
如果你经受过正经的 CS 教育(在课堂上亦或是自学),那么你无需花费过多的时间读完本文;本文试图讲解的数据结构非常基础、你理应早就掌握了。原本我甚至不屑于将这些内容写成一篇文章,但是在见识到网络反审查社区参与者的平均水平和技术素养的多样性之后,我觉得这么一篇最基础的数据结构的扫盲科普还是很有必要的。

如果你经受过正经的 CS 教育(在课堂上亦或是自学),那么你无需花费过多的时间读完本文;本文试图讲解的数据结构非常基础、你理应早就掌握了。原本我甚至不屑于将这些内容写成一篇文章,但是在见识到网络反审查社区参与者的平均水平和技术素养的多样性之后,我觉得这么一篇最基础的数据结构的扫盲科普还是很有必要的。

2001 年 4 月 IETF 通过的 RFC3089 中所描述的 Fake IP,是四层代理分流场景下 性能相对最佳、体验相对最好、实现相对最简单的「最佳实践」。相比之下,Real IP 模式下为了尽可能接近 Fake IP 的性能、体验,需要大量额外配置、付出更多的代价。
我使用 Surge Mac 作为网络核心有一段时间了。虽然 Surge 官方提供了一份「中国区用户推荐最小配置」,但是为了发挥 Surge 全部潜力的话、彻底值回 Surge 的售价、实现我的复杂需求,我添加了许多自定义的配置。
众所周知,DNS 的作用与电话簿类似,将人类可读的域名映射到机器可读 IP 地址、使人更方便地访问互联网。DNS 是非常重要的互联网基础设施,对于改善上网冲浪的体验中的重要程度不容小觑。
KoolClash 经过了这么些个版本的迭代,内部逻辑也变化了很多次。我原本以为只要把使用步骤写成文档,用户看了就能够正常的使用。但是在 GitHub 上看到那些我根本看不懂的 issue 的时候,我觉得,还是需要水一篇文章科普一下 KoolClash 的工作机制。
虽然 Fake IP 这个概念早在 2001 年就被提出来了,但是到 Clash 提供 fake-ip 增强模式以后,依然有很多人对 Fake IP 这个概念以及其作用知之甚少。本文就简单谈谈在代理环境中,TCP 连接建立之前发生的事。由于移动设备操作系统中网络栈相对复杂,本文的例子也并不一定适用于移动端环境。文章中也许会存在很多错误,也希望各路大佬的勘误和斧正。 不使用代理 如果在不...
KoolClash 从一开始设计就是为了将 Clash 放在路由器或者网关设备上运行。在 Clash 0.14.0 版本推出 fake-ip 模式以后,KoolClash 实现了相对完善的代理网关。
Clash 是一个使用 Go 开发的、基于规则的多平台代理客户端,支持诸多协议,拥有像 Surge 一样强大的代理规则,现在已经有了在 Windows、macOS、Android 上的客户端。KoolClash 是运行在 Koolshare OpenWrt/LEDE 的 Clash 客户端。