本项目为非官方的社区 OSX 作品。原版 Steamcommunity 302 的底层驱动本就是开源 Web 服务器 Caddy——本项目同样完全依赖 Caddy 运行:App 只负责解析规则、生成配置与管理服务,实际的流量转发全部由 Caddy 承担。
- 代理服务器来自 Steamcommunity 302 项目持续维护的节点
- 解析原版安装包的
S302_rules.ini/S302.ini规则与图标等文本资源 - 全程零执行原版主程序的任何二进制文件
- Caddy 引擎使用包内附带的开源官方二进制(自动识别),也可自行提供
macOS 原生 SwiftUI 重制的配置工具。App 只负责首次配置与日常维护;运行时由 Caddy 以用户级 LaunchAgent 托管——登录自启(RunAtLoad)、异常退出自动拉起(KeepAlive),无需保持 App 常驻运行。
Steamcommunity302-SwiftUI/
├── App/ # 入口
├── Views/ # 主界面与服务选择弹窗
├── ViewModels/ # Installer:安装、配置生成、launchctl 与 shell 封装
├── Services/ # CertificateManager:openssl 证书生成命令拼装
├── Utilities/ # INI 解析器
└── Resources/ # 图标资源
- 安装包导入:选择原版
.zip/.tar.gz包,自动复制到本地并解压(zip 用ditto,tar.gz 用tar) - 服务选择:解析包内
S302_rules.ini与S302.ini,弹窗勾选要代理的服务;解锁版(_unlock)与基础版规则自动互斥 - Caddy 识别:自动在解压目录中查找名为 caddy 的可执行文件,也可手动指定单独下载的 Caddy
- 配置生成:解码规则中的加密 Json 片段,按启用规则生成
steamcommunity_302.caddy.json(Caddyfile 格式)和域名清单domains.txt,安装前用caddy adapt校验合法性 - 服务控制:安装 / 启动 / 重启 / 停止 / 卸载 LaunchAgent
- 本地证书:用系统自带 openssl 生成本地 CA(
Steamcommunity302 Local CA)与站点证书(SAN 取自domains.txt),安装到钥匙串并信任 - Hosts 工具:备份
/etc/hosts→ 将启用服务的域名以127.0.0.1 <域名>写入 → 可一键恢复原始 hosts,写后自动刷新 DNS 缓存 - 上游容错:「跳过上游 HTTPS 证书校验」开关(默认开启),解决部分网络下镜像节点证书不匹配导致 502 的问题;改动后自动重新生成配置并重启服务
- 选择 Steamcommunity302 的
.zip或.tar.gz包,App 将自动解压使用 - 自动读取
S302_rules.ini/S302.ini,在弹窗中勾选需要的服务 - 自动识别包内 Caddy,或单独选择 Caddy 二进制,以进行后续步骤
- 点击「安装」生成配置并校验弹出管理员授权以一键部署并加载 LaunchAgent 服务
- 服务就绪将自动补装证书,当前用户域生成证书文件再经管理员授权并写入系统钥匙串
- 如需直连生效,使用「备份 Hosts」→「应用 Hosts」将域名写入
/etc/hosts
App 未开启沙盒(ENABLE_APP_SANDBOX = NO),所有数据位于:
~/Library/Application Support/Steamcommunity302/Content
├── Steamcommunity_302/ # 解压后的原版资源
├── Archives/ # 安装包副本
├── steamcommunity_302.caddy.json # 生成的 Caddy 配置
├── domains.txt # 当前启用服务的域名清单
├── service-selection.txt # 记录所勾选的服务
├── steamcommunity.crt / .key # 站点证书与私钥
├── steamcommunityCA.pem # 本地 CA 根证书
├── hosts.backup # /etc/hosts 备份
└── caddy.log / caddy.error.log # 服务日志
LaunchAgent 配置:~/Library/LaunchAgents/com.ncp.caddy302.plist
以下操作通过 osascript ... with administrator privileges 弹出管理员授权对话框:
- 部署 Caddy、生成证书并安装 LaunchAgent(「安装」)
- 清理重复证书、写入系统钥匙串信任、卸载证书
- 「应用 Hosts」「恢复 Hosts」修改
/etc/hosts
- 默认 Xcode 26+(部署目标 macOS 26.0)
- 使用 Xcode 打开
Steamcommunity302-SwiftUI.xcodeproj,⌘R 构建运行,无第三方依赖 - 实测环境:安装包
Steamcommunity_302.14.0.02_osx_arm64.tar.gz,系统 macOS 26.6.1(Apple Silicon, arm64)