--- title: URL scheme in HiddifyApp --- # URL Scheme in HiddifyApp We extend the protocol defined [here](https://web.archive.org/web/20230323111527/docs.cfw.lbyczf.com/contents/urlscheme.html#%E4%B8%8B%E8%BD%BD%E9%85%8D%E7%BD%AE). ## Download configuration Supports quick import of configuration files using URL Scheme: ``` hiddify://import/#name vmess://.... vless://... ss://... trojan://... ``` `` is either clash link, singbox link, v2ray sublink, or single proxy link
deprecated ``` hiddify://install-sub?url=# hiddify://install-config?url=# hiddify://install-proxy?url=# ```
### Examples: #### Example Deeplink ``` hiddify://import/https://hiddify.com/autosub#name hiddify://import/trojan://your_password@aws-ar-buenosaires-1.f1cflineb.com:443#name ``` ##### Example Sub link content ###### v2ray format ``` # http_WS_direct_vless تست vless://64177752-4266-4e00-94e3-1b8ececc6623@ip.sslip.io: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://64177752-4266-4e00-94e3-1b8ececc6623@ip.sslip.io: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_تست # ssconfig ssconf://s3.amazonaws.com/beedynconprd/ng4lf90ip01zstlyle4r0t56x1qli4cvmt2ws6nh0kdz1jpgzyedogxt3mpxfbxi.json#BeePass", # Reality vless://409f106a-b2f2-4416-b186-5429c9979cd9@54.38.144.4:2053?encryption=none&flow=&fp=chrome&pbk=SbVKOEMjK0sIlbwg4akyBg5mL5KZwwB-ed4eEE7YnRc&security=reality&serviceName=xyz&sid=&sni=discordapp.com&type=grpc#رایگان | REALITY | @EliV2ray | FR🇫🇷 | 0️⃣1️⃣ # Vless vless://25da296e-1d96-48ae-9867-4342796cd742@172.67.149.95:443?encryption=none&fp=chrome&host=vless.229feb8b52a0e7e117ea76f8b591bcb3.workers.dev&path=%2F%3Fed%3D2048&security=tls&sni=vless.229feb8b52a0e7e117ea76f8b591bcb3.workers.dev&type=ws#رایگان | VLESS | @Helix_Servers | US🇺🇸 | 0️⃣1️⃣ # Vmess vmess://eyJhZGQiOiI1MS4xNjEuMTMwLjE3MyIsImFpZCI6IjAiLCJhbHBuIjoiIiwiZnAiOiIiLCJob3N0IjoiIiwiaWQiOiJkNDNlZTVlMy0xYjA3LTU2ZDctYjJlYS04ZDIyYzQ0ZmRjNjYiLCJuZXQiOiJ0Y3AiLCJwYXRoIjoiIiwicG9ydCI6IjgwODAiLCJzY3kiOiJjaGFjaGEyMC1wb2x5MTMwNSIsInNuaSI6IiIsInRscyI6IiIsInR5cGUiOiJub25lIiwidiI6IjIiLCJwcyI6Ilx1MDYzMVx1MDYyN1x1MDZjY1x1MDZhZlx1MDYyN1x1MDY0NiB8IFZNRVNTIHwgQFdhdGFzaGlfVlBOIHwgQVVcdWQ4M2NcdWRkZTZcdWQ4M2NcdWRkZmEgfCAwXHVmZTBmXHUyMGUzMVx1ZmUwZlx1MjBlMyJ9" # ss ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTp0T3dPeXZsWGlZNUFUSkFVT3BYTlBO@5.35.34.107:55990#%D8%B1%D8%A7%DB%8C%DA%AF%D8%A7%D9%86+%7C+SS+%7C+%40iP_CF+%7C+RU%F0%9F%87%B7%F0%9F%87%BA+%7C+0%EF%B8%8F%E2%83%A31%EF%B8%8F%E2%83%A3" # TUIC tuic://3618921b-adeb-4bd3-a2a0-f98b72a674b1:dongtaiwang@108.181.24.7:23450?allow_insecure=1&alpn=h3&congestion_control=bbr&sni=www.google.com&udp_relay_mode=native#رایگان | TUIC | @V2rayCollector | CA🇨🇦 | 0️⃣1️⃣ # Hysteria1 hysteria://host:443?protocol=udp&auth=123456&peer=sni.domain&insecure=1&upmbps=100&downmbps=100&alpn=hysteria&obfs=xplus&obfsParam=123456#remarks", # Hysteria2 hysteria2://letmein@example.com/?insecure=1&obfs=salamander&obfs-password=gawrgura&pinSHA256=deadbeef&sni=real.example.com # SSH ssh://user:pass@server:22/?pk=pk&hk=hk" # Trojan trojan://your_password@aws-ar-buenosaires-1.f1cflineb.com:443?host=aws-ar-buenosaires-1.f1cflineb.com&path=%2Ff1rocket&security=tls&sni=aws-ar-buenosaires-1.f1cflineb.com&type=ws#رایگان | TROJAN | @VmessProtocol | RELAY🚩 | 0️⃣1️⃣" #Wireguard wg://[server]:222/?pk=[private_key]&local_address=10.0.0.2/24&peer_pk=[peer_public_key]&pre_shared_key=[pre_shared_key]&workers=[workers]&mtu=[mtu]&reserved=0,0,0 ``` ###### v2ray link format ``` #normal exmaple hiddify://import/https://raw.githubusercontent.com/yebekhe/TelegramV2rayCollector/fe3637db4ece53e56ac99ea09dbefa34466f280f/sub/normal/mix #base64 example hiddify://import/https://raw.githubusercontent.com/yebekhe/TelegramV2rayCollector/fe3637db4ece53e56ac99ea09dbefa34466f280f/sub/base64/mix ``` ###### Singbox format ``` hiddify://import/https://raw.githubusercontent.com/yebekhe/TelegramV2rayCollector/fe3637db4ece53e56ac99ea09dbefa34466f280f/singbox/sfasfi/mixLite.json ``` ##### Clash format ``` hiddify://import/https://raw.githubusercontent.com/yebekhe/TelegramV2rayCollector/d6ce7b907eeb58abf503c283af192e7bc915d143/clash/mix.yml ``` # Profile Title: We use the first item from the following list if it is not empty or null - "Profile-Title" header - "content-disposition" header (described bellow) - URL Fragment (anything after # in the url) - the last part of the URL as the configuration file name. Any `.txt` `.json` `.yaml` or `.yml` will be removed ### Response headers #### Profile-Title 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` #### content-disposition 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" ``` #### profile-update-interval 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 ``` #### subscription-userinfo 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](https://github.com/crossutility/Quantumult/blob/master/extra-subscription-feature.md) ``` subscription-userinfo: upload=455727941; download=6174315083; totl=1073741824000; expire=1671815872 ``` #### profile-web-page-url 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 #### support-url 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 #### moved-permanently-to 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. #### DNS 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) #### Example
![image](https://user-images.githubusercontent.com/114227601/230938537-db2b697c-fa58-41fb-a2d7-b11f749d5de8.png)
In this example: ``` پروفایل یک = usage=+ (if more than 80% of total :yellow, more than 100% :red) total= روزباقیمانه=relative date of (if less than 7 days: yellow, less than zero: red) مشاهده= open browser with ``` 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. # if you can not modify HTTP header (e g. In GitHub) You can add headers in the first 10 lines of the file with skip characters such as `//` for json or `#` for Yaml and sub links E.g., ``` #profile-title: Hiddify #profile-title: base64:base64string #profile-update-interval: 1 #subscription-userinfo: upload=455727941; download=6174315083; total=1073741824000; expire=1671815872 #support-url: https://t.me/hiddify #profile-web-page-url: https://hiddify.com ``` # Fragment Parameters If you want to use Fragment in your links, you have to consider the following parameters ``` &fragment=size,sleep,hellotls ``` For example, you just need to put the following information in your links `&fragment=10-100,100-200,hellotls` # MUX parameter If you want to setup Mux parameters in your link ``` mux : "smux/h2mux/yamux" mux_max : "number" e.g. 6 mux_min : "number" e.g. 2 mux_pad : "true/false" mux_down : "number in mbps" e.g. 100 mux_up : "number in mbps" e.g. 200 ``` Here: - `mux` can be one of `smux`, `yamux`, `h2mux` - `mux_max` is the maximum number of connections. - `mux_min` is the minimum number of streams. - `mux_pad` is a true or false parameter which turns on or off this feature on MUX. It Should be the same with the server. - `mux_down` is the download bandwidth for MUX in mbps. - `mux_up` is the upload bandwidth for MUX in mbps. Example: `mux=smux&mux_max=4&mux_min=0&mix_pad=false&mux_up=10&mux_down=10`