-
Notifications
You must be signed in to change notification settings - Fork 42
Home
We extend the protocol defined here.
Supports quick import of configuration files using URL Scheme:
hiddify://install-sub?url=<encoded v2ray config URI>#<name>
hiddify://install-proxy?url=<encoded v2ray proxy share link>#<name>
vmess://....
vless://...
ss://...
trojan://...
# http_WS_direct_vless تست
vless://[email protected]:80?security=none&sni=ip.sslip.io&type=ws&alpn=http/1.1&path=/2LBLzR6NsjNkCN830caotU&host=ip.sslip.io&encryption=none&fp=chrome&headerType=None#http_WS_direct_vless_تست
# http_WS_direct_vmess تست
vmess://[email protected]:80?security=none&sni=ip.sslip.io&type=ws&alpn=http/1.1&path=/2LBLzR6NsjNkCN830caotU&host=ip.sslip.io&encryption=none&fp=chrome&headerType=None#http_WS_direct_vless_تست
Only a single proxy is supported
vless%3A%2F%2F64177752-4266-4e00-94e3-1b8ececc6623%40ip.sslip.io%3A80%3Fsecurity%3Dnone%26sni%3Dip.sslip.io%26type%3Dws%26alpn%3Dhttp%2F1.1%26path%3D%2F2LBLzR6NsjNkCN830caotU%26host%3Dip.sslip.io%26encryption%3Dnone%26fp%3Dchrome%26headerType%3DNone%23http_WS_direct_vless_%D8%AA%D8%B3%D8%AA%0A
If there is parameter in the url, we use for the profile title
else we use "Profile-Title" header as described in bellow
else we use "content-disposition" header as described in bellow
else we use the last part of the URL as the configuration file name. Any .txt
.yaml
or .yml
will be removed
You can use base64 encoded UTF8 name for profile title that allows you to have emoji in profile title 😍 However you use also the ascii name in the header. Example:
Profile-Title: base64:SSDinaTvuI8gSGlkZGlmeQ==
It will show the profile title as I ❤️ Hiddify
Profile-Title: I love hiddify
It will show the profile title as I love Hiddify
If the Profile-Title
is not set for backward compatibility with clash configs we use the value corresponding to filename
as the configuration file name, otherwise use the last part of the URL as the configuration file name. Any .txt
, .yaml
or .yml
will be removed
content-disposition: attachment; filename="abc.txt"
If there is a profile-update-interval
field in the response header, the configuration file automatic update interval is set to the corresponding value, in hours
profile-update-interval: 12
If the subscription-userinfo
field exists in the response header, its corresponding traffic and expiration information will be displayed in the Profiles module, specification reference here
subscription-userinfo: upload=455727941; download=6174315083; totl=1073741824000; expire=1671815872
If the profile-web-page-url
field exists in the response header, the Open web page
option will be displayed in the profile, allowing the user to jump to the corresponding portal home page
If the support-url
field exists in the response header, the support
option will be displayed in the profile, allowing the user to jump to the corresponding portal home page
If the moved-permanently-to
field exists in the response header, this will update the subscription url. It is useful when your sublink is blocked or you want to change the domain.
If the DNS
field exists in the response header, and the user did not set his/her own preferred DNS, the application will use this DNS server. (In the clash profile this setting can be override)
In this example:
پروفایل یک = <name>
usage=<download>+<upload> (if more than 80% of total :yellow, more than 100% :red)
total=<total>
روزباقیمانه=relative date of <expire> (if less than 7 days: yellow, less than zero: red)
مشاهده= open browser with <profile-web-page-url>
The usage information will be fetched by HEAD option whenever user open the application or every 1 minute (when user is focused in the application) If any of those fields are empty the corresponding data will not be shown.