diff options
| author | pwnnex <pwnnex@proton.me> | 2026-04-22 19:02:05 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-22 19:02:05 +0300 |
| commit | 530c1597b87b95b1f22c6c25ab9a6041849b5a42 (patch) | |
| tree | 475c624ceb876648c494efd5672320ece6beac39 /sub/subClashService.go | |
| parent | c8e16d8c417680b6169bbe63d576c79b884961b8 (diff) | |
| parent | 17f67ef3a51537cbb32b2fcd3884c26434f4ee62 (diff) | |
Merge pull request #4086 from pwnnex/fix/hysteria2-protocol-aliases
hysteria: accept "hysteria2" as a protocol string (#4081)
Diffstat (limited to 'sub/subClashService.go')
| -rw-r--r-- | sub/subClashService.go | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/sub/subClashService.go b/sub/subClashService.go index d0445aa4..7b6b8214 100644 --- a/sub/subClashService.go +++ b/sub/subClashService.go @@ -159,13 +159,10 @@ func (s *SubClashService) getProxies(inbound *model.Inbound, client model.Client } func (s *SubClashService) buildProxy(inbound *model.Inbound, client model.Client, stream map[string]any, extraRemark string) map[string]any { - // Hysteria (v1 / v2) doesn't ride an xray `streamSettings.network` - // transport and the TLS story is handled inside hysteria itself, so - // applyTransport / applySecurity below don't model it. Build the - // proxy directly. Without this, hysteria inbounds fell into the - // `default: return nil` branch and silently vanished from the - // generated Clash config. - if inbound.Protocol == model.Hysteria { + // Hysteria has its own transport + TLS model, applyTransport / + // applySecurity don't fit. IsHysteria also covers the literal + // "hysteria2" protocol string (#4081). + if model.IsHysteria(inbound.Protocol) { return s.buildHysteriaProxy(inbound, client, extraRemark) } |
