# V2Ray / Xray protocols

VLESS, VMess, Trojan, Shadowsocks, Hysteria2, and TUIC are proxy protocols from the V2Ray/Xray ecosystem. Each takes a single **Connection URL**: paste the full share link, and TunnelHQ tests it with the Xray or sing-box engine.

:::tip[New to TunnelHQ?]
Start with the [Quick start](/docs/quickstart/).
:::

## Adding a monitor

Paste the share link into **Add monitor**. TunnelHQ detects the protocol from the link, and the text after `#` becomes the monitor's name.

| Field | Required | Details |
| --- | --- | --- |
| Connection URL | Yes | The full share link. |

To add many links at once, or to follow a provider's subscription URL, use [Import monitors](/docs/import/).

## Connection URLs

### VLESS

A lightweight, stateless protocol, often paired with Reality or XTLS.

```text title="Connection URL"
vless://<uuid>@vpn.example.com:443?type=tcp&security=reality&...#My-VLESS
```

### VMess

The original V2Ray protocol. Share links are base64-encoded JSON, which TunnelHQ decodes for you.

```text title="Connection URL"
vmess://eyJhZGQiOiJ2cG4uZXhhbXBsZS5jb20iLCJwb3J0IjoiNDQzIiwicHMiOiJNeS1WTWVzcyIsLi4ufQ==
```

### Trojan

Makes traffic look like ordinary HTTPS.

```text title="Connection URL"
trojan://<password>@vpn.example.com:443?sni=example.com#My-Trojan
```

### Shadowsocks

A widely used encrypted SOCKS5 proxy.

```text title="Connection URL"
ss://<base64(method:password)>@vpn.example.com:8388#My-Shadowsocks
```

The older form, with the whole address base64-encoded, works too: `ss://<base64(method:password@host:port)>#name`.

### Hysteria2

A QUIC-based protocol designed for lossy networks. Links starting with `hy2://` work too.

```text title="Connection URL"
hysteria2://<password>@vpn.example.com:443?sni=example.com#My-Hysteria2
```

### TUIC

A QUIC-based protocol with low handshake latency.

```text title="Connection URL"
tuic://<uuid>:<password>@vpn.example.com:443?congestion_control=bbr#My-TUIC
```

## When a check fails

For VLESS and Shadowsocks, the most common failure is **Tunnel established - Internet is stuck**, followed by **Tunnel unreachable**.

- **Tunnel established - Internet is stuck**: the proxy connection worked, but traffic through it didn't reach the internet. Check the server's outbound routing, its DNS, and whether its outbound traffic is blocked.
- **Tunnel unreachable**: the connection didn't come up. Check that the server is running, that the host and port in the link are reachable, and that the link's credentials and transport settings (such as `security`, `sni`, and `type`) match the server's.

[What a failed check says](/docs/concepts/monitors/#what-a-failed-check-says) lists every failure message.
