Skip to content

Hiddify

Hiddify is a proxy and VPN client. Protocol Launcher allows you to generate Hiddify URL scheme links.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

Notes

Hiddify documents the active URL scheme as hiddify://import/<sublink>#name. The <sublink> value may be a Clash link, Singbox link, v2ray sublink, or a single proxy link. The older install-sub, install-config, and install-proxy URL forms are marked deprecated in Hiddify's documentation, so this module does not expose helpers for them.

Hiddify's Profile Title section lists the URL fragment, anything after #, as one source for the imported profile title. Use placeholder or synthetic values in examples and tests. Do not publish real subscription tokens, proxy passwords, or private server names.

Import Config

On-Demand
ts
import { importConfig } from 'protocol-launcher/hiddify'

const url = importConfig({
  sublink: 'https://hiddify.com/autosub',
  name: 'name',
})

Import Subscription URL

On-Demand
ts
import { importSubscriptionUrl } from 'protocol-launcher/hiddify'

const url = importSubscriptionUrl({
  sublink: 'https://example.com/subscriptions/v2ray.txt',
})

Import Proxy URL

On-Demand
ts
import { importProxyUrl } from 'protocol-launcher/hiddify'

const url = importProxyUrl({
  sublink: 'trojan://REPLACE_WITH_PASSWORD@example.com:443#name',
})

Generated URLs

ts
importConfig({
  sublink: 'https://hiddify.com/autosub',
  name: 'name',
})
// => 'hiddify://import/https://hiddify.com/autosub#name'

importSubscriptionUrl({
  sublink: 'https://example.com/subscriptions/v2ray.txt',
})
// => 'hiddify://import/https://example.com/subscriptions/v2ray.txt'

importProxyUrl({
  sublink: 'trojan://REPLACE_WITH_PASSWORD@example.com:443#name',
})
// => 'hiddify://import/trojan://REPLACE_WITH_PASSWORD@example.com:443#name'

References