Skip to content

TUIC

A recently popular Chinese-made simple protocol based on QUIC, the selling point is the BBR congestion control algorithm.

Warning

Even though GFW rarely blocks UDP-based proxies, such protocols actually have far more characteristics than TCP based proxies.

Specification Binary Characteristics Active Detect Hiddenness
GitHub

Password Generator

Generated UUID Generated Password Action

Server Example

 {
  "inbounds": [
    {
      "type": "tuic",
      "listen": "::",
      "listen_port": 8080,
      "users": [
        {
          "name": "sekai",
          "uuid": "<uuid>",
          "password": "<password>"
        }
      ],
      "congestion_control": "bbr",
      "tls": {
        "enabled": true,
        "server_name": "example.org",
        "key_path": "/path/to/key.pem",
        "certificate_path": "/path/to/certificate.pem"
      }
    }
  ]
}
{
  "inbounds": [
    {
      "type": "tuic",
      "listen": "::",
      "listen_port": 8080,
      "users": [
        {
          "name": "sekai",
          "uuid": "<uuid>",
          "password": "<password>"
        }
      ],
      "congestion_control": "bbr",
      "tls": {
        "enabled": true,
        "server_name": "example.org",
        "acme": {
          "domain": "example.org",
          "email": "[email protected]"
        }
      }
    }
  ]
}
{
  "inbounds": [
    {
      "type": "tuic",
      "listen": "::",
      "listen_port": 8080,
      "users": [
        {
          "name": "sekai",
          "uuid": "<uuid>",
          "password": "<password>"
        }
      ],
      "congestion_control": "bbr",
      "tls": {
        "enabled": true,
        "server_name": "example.org",
        "acme": {
          "domain": "example.org",
          "email": "[email protected]",
          "dns01_challenge": {
            "provider": "cloudflare",
            "api_token": "my_token"
          }
        }
      }
    }
  ]
}

Client Example

{
  "outbounds": [
    {
      "type": "tuic",
      "server": "127.0.0.1",
      "server_port": 8080,
      "uuid": "<uuid>",
      "password": "<password>",
      "congestion_control": "bbr",
      "tls": {
        "enabled": true,
        "server_name": "example.org"
      }
    }
  ]
}

Tip

Use sing-box merge command to merge configuration and certificate into one file.

{
  "outbounds": [
    {
      "type": "tuic",
      "server": "127.0.0.1",
      "server_port": 8080,
      "uuid": "<uuid>",
      "password": "<password>",
      "congestion_control": "bbr",
      "tls": {
        "enabled": true,
        "server_name": "example.org",
        "certificate_path": "/path/to/certificate.pem"
      }
    }
  ]
}
{
  "outbounds": [
    {
      "type": "tuic",
      "server": "127.0.0.1",
      "server_port": 8080,
      "uuid": "<uuid>",
      "password": "<password>",
      "congestion_control": "bbr",
      "tls": {
        "enabled": true,
        "server_name": "example.org",
        "insecure": true
      }
    }
  ]
}