Skip to content

feat(egress): support Trojan, VLESS, SS, and VMess proxies - #890

Open
MMortise wants to merge 2 commits into
chenyme:mainfrom
MMortise:feature/proxy-schema-support
Open

feat(egress): support Trojan, VLESS, SS, and VMess proxies#890
MMortise wants to merge 2 commits into
chenyme:mainfrom
MMortise:feature/proxy-schema-support

Conversation

@MMortise

Copy link
Copy Markdown
Contributor

Summary

  • parse, validate, and canonicalize Trojan, VLESS, Shadowsocks, and VMess share links
  • route Build, browser TLS, pinned HTTPS, and subscription-fetch traffic through real embedded tunnel dialers
  • strip share-link remarks from stored identities so renaming a node does not recreate it
  • update proxy import validation, UI help, credential redaction, and bilingual documentation

Supported tunnel variants

  • TCP and WebSocket transports
  • TLS for Trojan, VLESS, and VMess
  • Shadowsocks SIP002 and legacy links using AES-128-GCM, AES-256-GCM, or ChaCha20-IETF-Poly1305

Unsupported transport/security variants are rejected during import instead of being accepted and failing later at request time. FlareSolverr remains limited to HTTP/SOCKS proxy URLs and returns an explicit error for tunnel share links.

Deferred

Hysteria and TUIC are intentionally not implemented in this PR and remain rejected by validation. They can be added separately with protocol-specific client implementations and tests.

Verification

  • cd backend && go test ./...
  • cd frontend && pnpm lint
  • cd frontend && pnpm build
  • git diff --check

Parse and normalize Trojan, VLESS, Shadowsocks, and VMess share links, then route Build, browser, pinned HTTPS, and subscription fetch traffic through embedded dialers. Update validation, UI help, redaction, docs, and protocol coverage tests.

Hysteria and TUIC remain unsupported and are intentionally deferred.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant