Skip to content

hysteria outbound is broken #5619

Description

@teidesu

Integrity requirements

  • I have read all the comments in the issue template and ensured that this issue meet the requirements.
  • I confirm that I have read the documentation, understand the meaning of all the configuration items I wrote, and did not pile up seemingly useful options or default values.
  • I provided the complete config and logs, rather than just providing the truncated parts based on my own judgment.
  • I searched issues and did not find any similar issues.
  • The problem can be successfully reproduced in the latest Release

Description

judging by the logs, it seems as if xray is trying to connect to the hysteria server via tcp, while hysteria is udp (quic)? might be something else

Reproduction Method

  1. set up a hysteria outbound like below
  2. try doing some request through the proxy

Client config

Details

{
  "routing" : {
    "name" : "all_to_main",
    "domainStrategy" : "AsIs",
    "rules" : [
      {
        "type" : "field",
        "outboundTag" : "arumi hysteria via yarik",
        "port" : "0-65535"
      }
    ]
  },
  "inbounds" : [
    {
      "listen" : "127.0.0.1",
      "protocol" : "socks",
      "settings" : {
        "ip" : "127.0.0.1",
        "auth" : "noauth",
        "udp" : true
      },
      "tag" : "socksinbound",
      "port" : 7890
    },
    {
      "listen" : "127.0.0.1",
      "protocol" : "http",
      "settings" : {
        "timeout" : 0
      },
      "tag" : "httpinbound",
      "port" : 7891
    }
  ],
  "dns" : {
    "servers" : [
      "localhost"
    ]
  },
  "log" : {
    "error" : "\/var\/folders\/yj\/1m4jz_qs3qn535_872gplgkc0000gn\/T\/cenmrev.v2rayx.log\/error.log",
    "loglevel" : "debug",
    "access" : "\/var\/folders\/yj\/1m4jz_qs3qn535_872gplgkc0000gn\/T\/cenmrev.v2rayx.log\/access.log"
  },
  "outbounds" : [
    {
      "sendThrough" : "0.0.0.0",
      "hysteriaSettings" : {
        "password" : "[...]",
        "down" : "100 mbps",
        "udphop" : {
          "interval" : 30,
          "port" : "443"
        },
        "up" : "100 mbps",
        "auth" : "password",
        "version" : 2
      },
      "settings" : {
        "version" : 2,
        "address" : "[...]",
        "port" : 443
      },
      "protocol" : "hysteria",
      "tag" : "arumi hysteria via yarik",
      "network" : "hysteria"
    }
  ]
}

Server config

n/a

Client log

Details

2026/01/28 21:09:54.272197 [Info] [1812142422] proxy/http: request to Method [GET] Host [2ip.ru] with URL [http://2ip.ru/]
2026/01/28 21:09:54.272374 [Info] [1812142422] app/dispatcher: taking detour [arumi hysteria via yarik] for [tcp:2ip.ru:80]
2026/01/28 21:09:54.272451 [Info] [1812142422] transport/internet/tcp: dialing TCP to tcp:[server ip]:443
2026/01/28 21:09:54.272487 [Debug] [1812142422] transport/internet: dialing to tcp:[server ip]:443
2026/01/28 21:09:54.327791 [Info] [1812142422] proxy/hysteria: tunneling request to tcp:2ip.ru:80 via TCP:[server ip]:443
2026/01/28 21:09:54.482608 [Info] [1812142422] app/proxyman/outbound: app/proxyman/outbound: failed to process outbound traffic > proxy/hysteria: connection ends > proxy/hysteria: invalid message length
2026/01/28 21:09:54.482742 [Warning] [1812142422] proxy/http: failed to read response from 2ip.ru > io: read/write on closed pipe
2026/01/28 21:09:54.483075 [Info] [1812142422] app/proxyman/inbound: connection ends > proxy/http: failed to read http request > EOF

Server log

n/a

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions