The mins block
A server delivered as Xray JSON can carry a top-level mins key. It only changes how mins presents and pings the server. It never changes traffic, and it is removed before the configuration reaches the engine, so Xray itself never sees it.
{ "remarks": "Finland 1", "mins": { "name": "Finland 1", "description": "Own DNS and routes", "flag": "fi", "icon": "house", "ping": { "type": "proxy-head", "url": "https://cp.cloudflare.com/generate_204", "timeout_ms": 3000 } }, "outbounds": [ { "tag": "proxy", "protocol": "vless", "settings": { "...": "..." } } ]}Put the block at the top level of a full Xray configuration (a JSON object without a top-level protocol), whether it is the only server or one element of a JSON array subscription. A bare outbound object accepts the same fields, but the engine then warns about the fields it does not know there.
Fields
Section titled “Fields”| Field | Type | Limits | Effect |
|---|---|---|---|
name |
string | 1 to 64 characters | Server name shown instead of remarks. |
description |
string | up to 120 characters | Description on the server’s second line and in its details. |
flag |
string | ISO 3166-1 alpha-2 code, any case, or "none" |
Country of the server. "none" switches off all automatic country detection and shows the icon. |
icon |
string | one of globe, house, briefcase, server, shield, star, lightning, game, play, cloud |
Icon used when the server has no country. Default globe. |
ping.type |
string | tcp, proxy, proxy-head, icmp |
How this server is measured. Required if ping is present. |
ping.url |
string | https:// URL |
Probe address for proxy and proxy-head. |
ping.timeout_ms |
integer | 500 to 30000 | Ping timeout in milliseconds. |
Validation never fails an import. A field outside its limits, an unknown field, or a value of the wrong type is ignored and reported as a warning in the import preview; the other fields still apply. A ping object without a valid type is ignored entirely.
Texts are shown as plain text.
Name and description
Section titled “Name and description”- Name:
mins.name, thenremarks(orremark) of the JSON, then theaddress:portof the server. - Description:
mins.description, thenmeta.serverDescriptionof the JSON, then theserverDescriptionof a link or header.
Country and flag
Section titled “Country and flag”The country is decided by the first step that gives an answer:
mins.flag("none"means no country).- A flag emoji at the start of the name, for example
🇫🇮 Finland. The emoji is removed from the displayed name; the storedremarksstays as sent. - A country name as a whole word in the name, in English or Russian (
Finland,Финляндия,USA,UK,ОАЭ).GeorgiaandJerseyare ambiguous and match only throughflag. - GeoIP, only if the server address is an IP literal and the user has a GeoIP database downloaded. Domain names are never resolved just to find a flag.
- No country: the icon is shown.
For predictable results set flag explicitly.
Ping settings and their priority
Section titled “Ping settings and their priority”For one server the ping settings are taken in this order; the first that sets a value wins:
- The user’s explicit choice for that server.
mins.pingof the server.- The subscription’s
ping-type,check-url-via-proxy,proxy-ping-timeoutandping-result, with the user’s override for the subscription. - The user’s global ping settings (default type
icmp, default URLhttps://www.gstatic.com/generate_204, timeout 5000 ms).
The provider’s own balancer (“Auto”)
Section titled “The provider’s own balancer (“Auto”)”If a full JSON configuration contains routing.balancers, the first balancer is treated as the provider’s Auto: the server is tagged with its strategy, and the user chooses in Settings → Connection → Auto priority whether to show mins Auto (the default, which picks the lowest ping) or the provider’s balancer (Provider balancer). The outbounds shown as the server’s protocol and transport are the first outbound whose tag begins with one of the balancer’s selector entries, or the first proxy outbound when there is no match.
Outbound extensions (reference)
Section titled “Outbound extensions (reference)”Inside an outbound object, mins has a second use: it stores what some share-link parameters turn into. These keys are not presentation fields.
| Key | Type | Effect |
|---|---|---|
allowInsecure |
bool | VLESS and Hysteria2. true disables TLS certificate verification; the server shows an allowInsecure warning tag. On any other protocol true makes the configuration unusable. |
fragment |
object { "length", "interval", "packets", "maxSplit" } |
TLS fragmentation for this outbound; maxSplit is optional. Same meaning as the fragmentation-* headers. |
noises |
array of { "type", "packet", "delay", "applyTo" } |
Noise packets for this outbound; applyTo is optional. Same meaning as the noises-* headers. |
Prefer the link parameters or the response headers for these.