Premium functionality

Extended functionality comprises two areas:

  • Management of nearly all application settings

  • Specialized features for bypassing blocks

Unique Features

Subscription URL Change

If your provider has blocked the domain and users can only connect to servers and update their subscription via VPN, this parameter is for you. By specifying a new domain name as the parameter value, you’ll ensure it’s automatically replaced for all subscription users.

Example configuration:

(this text is hidden)

Subscription Domain Change

Changing the website's domain while keeping the rest of the URL unchanged.

Example configuration:

(this text is hidden)

Server Description in Subscription

Available only with a Premium ProviderID. Displays a subtitle below the server name instead of protocol labels like "VMess", "VLESS", or "Trojan".

  • Max length: 30 characters

  • Truncated with ... if too long

  • Specified after the title with ?

Example: vmess://...#MyServer?serverDescription=<base64>

Subscription Fragmentation and Fronting

Some CDNs support domain fronting. This allows you to connect to your own site through a third-party domain.

For example, by setting the connection address to visa.com and the Host header to my-domain.com, your provider will only see a request to visa.com.

You can also access your domain to retrieve a list of servers using packet fragmentation in the TLS SNI Hello.

By default, fragmentation is enabled for all subscriptions. A user can add a subscription only once; if they try to add it again and their account is not premium, the update will be denied.

URL scheme with parameters

[link]#title?[fragment]&[resolve-address]&[host]&[insecure]

fragment

[80-250,10-100,tlshello]

[length],[interval],[packets]

SNI fragmentation (not a global switch, used only for downloading subscriptions with fragmentation)

resolve-address

[domain name or IP]

Resolving address when downloading data from the subscription url

host

[domain name or IP]

Host address when downloading data from subscription url

insecure

[true/1]

Disabling server hostname check when downloading data from subscription url

Advanced fragmentation

This feature is currently in closed testing and will be available soon...

Non‑Disableable HWID

By default, HWID reporting is enabled in all Happ applications. If you want to prevent users from turning it off in the app settings, include a special parameter with the subscription.

Example configuration:

(this text is hidden)

Subscription Expiration Notification

You can enable the automatic subscription expiration notification feature. Users will receive reminders starting 3 days before their subscription ends: the app will send one notification per day for three days. This helps ensure they don’t forget to renew their subscription on time.

Notification text:

Your [name] subscription is about to expire, please remember to renew it.

Example configuration:

(this text is hidden)

Hide server settings in the subscription

Disable the ability for users of your subscription to view or edit server configurations. This setting applies to both existing subscriptions and any that will be added in the future.

Example configuration:

(this text is hidden)

Resolve server

The application can perform domain resolution for servers before establishing a connection. You can specify any DoH server, and when connecting to a server through Xray, the domain name will be replaced with the resolved IP address.

If the domain returns multiple IP addresses, the application will automatically select the one with the lowest latency (ping). However, please note: if a domain resolves to many IPs, the initial connection may take longer, since all of them will be tested beforehand.

Example configuration:

(this text is hidden)

Application Settings Management

Auto‑Connect

Enables automatically connecting the user to servers when the app starts. Additionally, using the subscription-autoconnect parameter, you can specify criteria for connecting to a particular server.

Example configuration:

(this text is hidden)

Auto‑Ping

Automatically run tests on the server list when the app opens, if needed.

Example configuration:

(this text is hidden)

Auto‑Update Subscriptions

In the app, you can enable or disable auto‑updates for all subscriptions at once — this setting applies globally. If you need to configure auto‑updates for a specific subscription only, use the free feature and follow the instructions in the general documentation. When the global setting is turned off, each subscription determines its own update schedule.

Example configuration:

(this text is hidden)

Fragmentation

This is a global setting for managing fragmentation across all subscriptions. If you need to apply fragmentation to a specific subscription or server only, use the free feature and follow the instructions in the general documentation. When the global setting is disabled, each subscription independently determines its fragmentation parameters.

Example configuration:

(this text is hidden)

Ping

This feature lets you choose how ping is performed in the app. Three methods are available: “via Proxy,” “TCP,” and “ICMP.” In “via Proxy” mode, you can also specify a URL for ping testing.

Example configuration:

(this text is hidden)

User-Agent

This feature allows you to change the User-Agent used in request headers when fetching a subscription. It is useful in cases where the provider blocks requests with non-standard or unsupported headers.

Example configuration:

(this text is hidden)

App Auto-Start

This feature allows the app to launch automatically when the device is turned on. Currently available on Android only.

Example configuration:

(this text is hidden)

Subscription Update on App Launch

This feature automatically updates the subscription each time the app is opened.

Example configuration:

(this text is hidden)

Per-app Proxy Settings (Android)

In this setting, you can specify a list of apps that should either use the VPN or bypass it. If an app is not yet installed on the device but is included in the list, it will automatically be taken into account the first time the VPN is connected after the app is installed.

Example configuration:

(this text is hidden)

Sniffing

In xray-core, sniffing is used to analyze the initial packets of a connection and automatically determine the protocol (HTTP, TLS, BitTorrent, etc.) and domain (SNI/Host).

It may affect media loading in the WeChat application. Enabled by default.

Example configuration:

(this text is hidden)

Prohibition on collapsing subscriptions

This feature disables the ability to collapse a subscription: the list of servers is always displayed fully expanded.

Example configuration:

(this text is hidden)

Ping View Mode

Allows switching between icons or time for ping display.

Example configuration:

(this text is hidden)
Mux

Mux in xray-core is a multiplexing feature that allows multiple virtual TCP connections to be transmitted over a single physical TCP connection. It is designed to reduce TCP handshake delays but not to increase throughput (it may even slow down large downloads). It is configured in the outbound settings with parameters like enabled and concurrency (min -1 max 1024).

Example configuration:

(this text is hidden)

Last updated