Skip to content

feat(servers): add Reality support for anytls; fix vless flow#29

Merged
web-ppanel merged 1 commit intoperfect-panel:mainfrom
Ember-Moth:dev
Mar 13, 2026
Merged

feat(servers): add Reality support for anytls; fix vless flow#29
web-ppanel merged 1 commit intoperfect-panel:mainfrom
Ember-Moth:dev

Conversation

@Ember-Moth
Copy link
Contributor

💻 变更类型 | Change Type

  • ✨ feat
  • 🐛 fix

🔀 变更说明 | Description of Change

feat: 为 anytls 协议添加 Reality 支持

  • SECURITY.anytls 枚举新增 "reality" 选项
  • anytls Zod schema 补充 5 个 Reality 字段:
    reality_server_addr / reality_server_port /
    reality_private_key / reality_public_key / reality_short_id
  • getProtocolDefaultConfig 中同步追加上述字段的 null 默认值
  • 表单新增 Reality 字段分组,reality_private_key 支持一键生成密钥对
    并联动填充 reality_public_key(复用 generateRealityKeyPair
  • cert_mode / cert_dns_provider / cert_dns_env 的可见条件从
    security !== "none" 收窄为 security === "tls"
    避免在 Reality 模式下展示无关的证书申请字段

fix: 修正 vless flow 配置项的枚举值与显示约束

  • FLOWS.vless 中移除已废弃的 xtls-rprx-direct
    xtls-rprx-splice(xray-core v1.8+ 已移除)
  • 收紧 flow 字段的显示条件:
    • encryption === "mlkem768x25519plus" 时,无视传输层直接显示
    • 否则需满足 transport === "tcp"security ∈ { tls, reality }

📝 补充信息 | Additional Information

anytls 的 Reality 实现与 vless 保持字段命名和生成逻辑完全一致,
便于后续统一维护。

constraints

anytls:
- Add "reality" "tls" to SECURITY.anytls enum
- Extend anytls Zod schema with reality_server_addr /
  reality_server_port /
  reality_private_key / reality_public_key / reality_short_id fields
- Add Reality defaults (all null) to getProtocolDefaultConfig
- Add "reality" field group in useProtocolFields with one-click key-pair
  generation (shared generateRealityKeyPair / generateRealityShortId)
- Scope cert_mode / cert_dns_provider / cert_dns_env visibility to
  security === "tls" only (cert fields are irrelevant under Reality)

vless:
- Remove deprecated flow values xtls-rprx-direct and xtls-rprx-splice
  from FLOWS.vless (removed in xray-core v1.8+)
- Tighten flow field condition:
  visible when encryption === "mlkem768x25519plus" (transport-agnostic),
  or when transport === "tcp" && security ∈ { tls, reality }
@netlify
Copy link

netlify bot commented Mar 13, 2026

Deploy Preview for ppane-docs ready!

Name Link
🔨 Latest commit be24ba0
🔍 Latest deploy log https://app.netlify.com/projects/ppane-docs/deploys/69b3b308a78eb100087c46f1
😎 Deploy Preview https://deploy-preview-29--ppane-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@web-ppanel web-ppanel merged commit 29312f1 into perfect-panel:main Mar 13, 2026
4 checks passed
@web-ppanel
Copy link
Contributor

Thank you for your contribution! This PR has been automatically merged by the triage bot as it passed all checks and appears to be a beneficial improvement. Welcome to continue contributing to the project! 🎉

@web-ppanel
Copy link
Contributor

🎉 This PR is included in version 1.4.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants