EnglishRSS

部署用户门户

用户门户(freenet-user-portal)是 FreeNet 部署的面向消费者层。用户使用邮箱注册,系统自动在面板上开通 VPN 账号,并在 Web 控制台自助完成配置下载、二维码、用量与到期查询。

门户与面板完全解耦:仅通过面板管理 API(HMAC API key)和公开订阅链接通信,状态全部保存在自己的 Postgres 中,不触碰面板代码。面板升级不会影响门户。

用户 ──▶ 用户门户 :8082 ──▶ 控制面板 API ──▶ 网关节点
│
└──▶ freenet-sub-convert :8081 ──▶ /api/v1/sub/{token}?format=…

最终用户访问门户的 /api/v1/sub/{token} 端点,由它代理到转换器(未配置转换器时回落到面板的原始 vless:// 端点)。

两层身份,永不混淆:

  • 门户用户 —— 真实的人:邮箱、密码、订单。
  • 面板账号 —— VPN 服务实例:配额、到期、peers。

两者通过绑定表关联(user_id ↔ account_id 加上账号的订阅 token,AES-256-GCM 静态加密存储)。门户只是一个代理:把用户意图翻译成面板 API 调用,门户用户从不直接接触面板。

配合 freenet-sub-convert 部署后,同一条订阅链接可以服务所有主流客户端:vless(VLESS 客户端),以及 clash / mihomo、singbox、surge、shadowrocket 与 quantumultx。用户在门户 Subscription 页面(/console/subscription)按平台与客户端选择,支持一键导入链接与分客户端二维码;也可以直接把链接粘贴进客户端,由 User-Agent 识别决定格式。