iOS 和 macOS 版 NaiveProxy:免费客户端和一键服务器
开发者 ZonD80 发布了适用于 Apple 设备的开源 NaiveProxy 客户端,解决了稳定访问全球互联网的问题。该解决方案包括一个跨平台客户端,设置直观,以及一个只需一条命令即可部署的服务器脚本。其架构模仿标准 HTTPS 流量,最大限度降低了被 DPI 系统封锁的风险。
为什么 NaiveProxy 优于传统方案
经典 VPN 协议(WireGuard、OpenVPN)由于其独特的流量特征,容易被过滤系统检测到。NaiveProxy 采用不同的方法:隧道完全模仿 Chromium 浏览器在 HTTPS 连接时的行为。这是通过以下方式实现的:
- 与接近真实浏览器的网络栈集成
- 使用无异常的标准 TLS 握手
- 通过配备 forwardproxy 的 Caddy 伪装成合法的 Web 流量
与因流行而成为大规模封锁目标的 VLESS 不同,NaiveProxy 仍不易被察觉。Shadowsocks 常常因其特定的流量特征而遭受 DPI 分析。NaiveProxy 的关键优势在于有效规避过滤与用户设备最小负载之间的平衡。
隧道架构:HTTPS 伪装如何运作
该解决方案的技术基础是 sing-box Libbox 库,在 iOS/macOS 上实现了 Packet Tunnel。服务器端基于 Caddy 和 forwardproxy 插件,以 naive 模式构建。连接时,客户端生成与 Chrome 向 HTTPS 资源发出请求完全相同的流量:
- 使用当前 Chromium 版本典型参数建立 TLS 连接
- 通过 HTTP CONNECT 传输数据,不带非标准头部
- 动态适应目标网站的行为
这种方法与经典代理形成了根本区别:流量在合法 Web 浏览中毫不显眼。即使面对深度包检测(DPI),过滤系统也无法可靠地将隧道与普通网站访问区分开来。重要的是,该解决方案不是二层 VPN——它是一个代理隧道,通过 Packet Tunnel 机制拦截所有系统流量。
服务器部署:分步指南
服务器端使用 start_server.sh 脚本实现自动化,兼容 Ubuntu、Debian 和 Alpine。安装过程只需 2 分钟,包括:
- 通过 Let’s Encrypt 生成 SSL 证书
- 设置配备 forwardproxy 的 Caddy
- 创建用于导入客户端的分享链接和二维码
部署时,在终端运行:
mkdir -p ~/naive-server && cd ~/naive-server
wget -O start_server.sh "https://raw.githubusercontent.com/ZonD80/naivetools/main/server/start\_server.sh"
chmod +x start_server.sh
screen -S naive-caddy
sudo ./start_server.sh
脚本会提示输入域名、Let’s Encrypt 邮箱以及代理凭证。完成后,你将拥有一个可立即使用的 infrastructure,支持证书自动续期。在廉价 VPS 主机上测试通过——资源需求极低。
Apple 客户端:实现特性
iOS/macOS 客户端使用基于 sing-box Libbox 的原生 Packet Tunnel 实现。主要特性:
- 支持通过二维码或链接导入配置
- 与 Shadowrocket 和 Exclave(Android)完全兼容
- 常开模式,支持自动重连
- 由于流量优化,功耗极低
该应用正在接受 App Store 审核;当前版本可通过 TestFlight 和 AppDB 获取。源代码在 GitHub(naivetools)上以 MIT 许可证开源。对于 Android,推荐使用配备 Naïve 插件的 Exclave——配置完全相同。
关键要点
- 零设置复杂度:终端用户只需扫描二维码
- 抗 DPI:流量与普通 HTTPS 浏览无异
- 最小依赖:服务器只需基础 Linux 系统
- 跨平台:配置适用于 iOS、macOS、Android
- 开源:完全代码透明,无专有组件
该解决方案非常适合注重安全与简单平衡的用户。与“盒装”方案不同,这里没有隐藏依赖或多余抽象——仅核心功能。
社区号召
该项目处于早期阶段,但已在生产环境中使用。作者号召社区参与:
- 在不同运营商网络和地区进行测试
- 提交拉取请求以改善用户体验和稳定性
- 反馈关键使用场景
对激进过滤环境下性能数据特别感兴趣。有兴趣者可通过 GitHub 或捐款支持项目。重要提示:设置隧道时请遵守所在国家法律法规。
— Editorial Team
暂无评论。