fix(hysteria): standard geco share links and persistent uTLS None (#6325)

- Export standard gecko obfs query params in hysteria2 share links
- Enforce packet size bounds across Go and TypeScript link handlers
- Persist uTLS None explicitly and initialize new TLS inbounds to chrome
- Tear down stackTun safely without closeMu deadlock against WriteNotify

Co-authored-by: rqzbeh <rqzbeh@users.noreply.github.com>
This commit is contained in:
Rouzbeh†
2026-09-03 18:05:07 +03:30
committed by GitHub
parent f9898e0b24
commit 540caa4e93
14 changed files with 514 additions and 111 deletions
+6 -1
View File
@@ -66,6 +66,7 @@ type remoteRoutingFetch struct {
}
type remoteRoutingResolver struct {
refreshWG sync.WaitGroup
mu sync.Mutex
loadMu sync.Mutex
loaded bool
@@ -154,7 +155,11 @@ func (r *remoteRoutingResolver) resolveEntry(kind remoteRoutingKind, raw string)
r.inflight[key] = fetch
r.mu.Unlock()
common.GoRecover("remote-routing-refresh", func() { r.refresh(key, cached, hasCached, fetch) })
r.refreshWG.Add(1)
common.GoRecover("remote-routing-refresh", func() {
defer r.refreshWG.Done()
r.refresh(key, cached, hasCached, fetch)
})
if hasCached {
return cached, true, nil
}