开发时经常要在本地、测试、预发几套 hosts 之间来回切换。我一直不太放心让多个工具同时修改 /etc/hosts :Docker Desktop 、VPN 客户端刚写进去的内容,或者自己手动添加的行,下一次切换时都可能被覆盖,而且事前没有任何提醒。 所以我用 Swift 写了一个 macOS 原生工具: hostflip 。MIT 开源,免费使用。 https://github.com/heronapp/hostflip 它的核心思路只有一条: hosts 文件是你的,不是工具的。 主要能力 外部改动先审后写 。其他工具或你手动修改 hosts 后,hostflip 会检测差异并停止写入,在应用内显示 diff ;只有明确处理完差异后才会继续,不会默默覆盖。 基线保留,方案集中管理 。首次启动时将 /etc/hosts 导入为只读的 Base Hosts ,合并时始终放在最前;激活方案集中放在文件末尾,并用 hostflip:begin / hostflip:end 标出起止位置,卸载后也容易识别和手工删除。 保留原始备...