Skip to content

Hysteria2

Changes in sing-box 1.11.0

server_ports
hop_interval

Structure

{
  "type": "hysteria2",
  "tag": "hy2-out",

  "server": "127.0.0.1",
  "server_port": 1080,
  "server_ports": [
    "2080:3000"
  ],
  "hop_interval": "",
  "up_mbps": 100,
  "down_mbps": 100,
  "obfs": {
    "type": "salamander",
    "password": "cry_me_a_r1ver"
  },
  "password": "goofy_ahh_password",
  "network": "tcp",
  "tls": {},
  "brutal_debug": false,

  ... // Dial Fields
}

You can ignore the JSON Array [] tag when the content is only one item

Difference from official Hysteria2

The official Hysteria2 supports an authentication method called userpass, which essentially uses a combination of <username>:<password> as the actual password, while sing-box does not provide this alias. If you are planning to use sing-box with the official program, please note that you will need to fill the combination as the password.

Fields

server

Required

The server address.

server_port

Required

The server port.

Ignored if server_ports is set.

server_ports

Since sing-box 1.11.0

Server port range list.

Conflicts with server_port.

hop_interval

Since sing-box 1.11.0

Port hopping interval.

30s is used by default.

up_mbps, down_mbps

Max bandwidth, in Mbps.

If empty, the BBR congestion control algorithm will be used instead of Hysteria CC.

obfs.type

QUIC traffic obfuscator type, only available with salamander.

Disabled if empty.

obfs.password

QUIC traffic obfuscator password.

password

Authentication password.

network

Enabled network

One of tcp udp.

Both is enabled by default.

tls

Required

TLS configuration, see TLS.

brutal_debug

Enable debug information logging for Hysteria Brutal CC.

Dial Fields

See Dial Fields for details.