Search first
Platform/OS
Android
OS version
Android 15
Hiddify Version
4.1.1
What Happened?
Cannot add a naive:// proxy link in Hiddify. The URL input field immediately shows a red border ("Invalid URL") before any connection attempt. The backend (ray2sing) supports naive:// but the UI rejects it.
The isUrl() validator in lib/utils/validators.dart uses a regex that only accepts https://, http://, and ftp:// schemes. All proxy-specific schemes (naive://, vless://, vmess://, etc.) are rejected at the UI level when using "Add profile manually".
Additionally, LinkParser.deep() in lib/utils/link_parsers.dart only accepts hiddify, v2ray, v2rayn, v2rayng, clash, clashmeta, sing-box schemes, so QR code and deep link paths also reject naive://.
Minimal Reproducible Example (MRE)
- Open Hiddify v4.1.1 on Android
- Tap "+" → "Add profile manually"
- Paste:
naive://testuser:testpass@example.com:443#my-proxy
- Input field immediately shows red border with "Invalid URL"
- Also tried via QR code containing the same link — same result
- Also tried deep link
hiddify://import/naive://user:pass@example.com:443#tag — link not recognized
Expected Behavior
The link should be accepted and parsed by ray2sing, which already has naive:// registered in ray2sing/convert.go:
"naive://": NaiveSingbox,
The UI and deep link layers should not reject schemes that the backend can parse.
Additional Context
The issue affects all input methods (manual paste, QR code, deep link). The naive protocol was added to ray2sing in 2024 (issue #611) but the UI validator was never updated to accept it.
Application Config Options
No response
Relevant log output
No response
Are you willing to submit a PR? If you know how to fix the bug.
Search first
Platform/OS
Android
OS version
Android 15
Hiddify Version
4.1.1
What Happened?
Cannot add a
naive://proxy link in Hiddify. The URL input field immediately shows a red border ("Invalid URL") before any connection attempt. The backend (ray2sing) supportsnaive://but the UI rejects it.The
isUrl()validator inlib/utils/validators.dartuses a regex that only acceptshttps://,http://, andftp://schemes. All proxy-specific schemes (naive://,vless://,vmess://, etc.) are rejected at the UI level when using "Add profile manually".Additionally,
LinkParser.deep()inlib/utils/link_parsers.dartonly acceptshiddify,v2ray,v2rayn,v2rayng,clash,clashmeta,sing-boxschemes, so QR code and deep link paths also rejectnaive://.Minimal Reproducible Example (MRE)
naive://testuser:testpass@example.com:443#my-proxyhiddify://import/naive://user:pass@example.com:443#tag— link not recognizedExpected Behavior
The link should be accepted and parsed by
ray2sing, which already hasnaive://registered inray2sing/convert.go:The UI and deep link layers should not reject schemes that the backend can parse.
Additional Context
The issue affects all input methods (manual paste, QR code, deep link). The naive protocol was added to ray2sing in 2024 (issue #611) but the UI validator was never updated to accept it.
Application Config Options
No response
Relevant log output
No response
Are you willing to submit a PR? If you know how to fix the bug.