mirror of
https://github.com/SagerNet/sing-box.git
synced 2026-05-13 05:51:36 +00:00
Fix hysteria2 realm server
This commit is contained in:
parent
cad8997750
commit
44033f9f2e
4 changed files with 24 additions and 1 deletions
|
|
@ -21,6 +21,9 @@ The realm only carries control-plane signaling. Once hole-punching succeeds, all
|
|||
... // Listen Fields
|
||||
|
||||
"tls": {},
|
||||
|
||||
... // HTTP2 Fields
|
||||
|
||||
"users": [
|
||||
{
|
||||
"name": "",
|
||||
|
|
@ -35,6 +38,10 @@ The realm only carries control-plane signaling. Once hole-punching succeeds, all
|
|||
|
||||
See [Listen Fields](/configuration/shared/listen/) for details.
|
||||
|
||||
### HTTP2 Fields
|
||||
|
||||
See [HTTP2 Fields](/configuration/shared/http2/) for details.
|
||||
|
||||
### Fields
|
||||
|
||||
#### tls
|
||||
|
|
|
|||
|
|
@ -21,6 +21,9 @@ Realm 只承载控制信令。打洞成功后,所有代理流量在客户端
|
|||
... // 监听字段
|
||||
|
||||
"tls": {},
|
||||
|
||||
... // HTTP2 字段
|
||||
|
||||
"users": [
|
||||
{
|
||||
"name": "",
|
||||
|
|
@ -35,6 +38,10 @@ Realm 只承载控制信令。打洞成功后,所有代理流量在客户端
|
|||
|
||||
参阅 [监听字段](/zh/configuration/shared/listen/) 了解详情。
|
||||
|
||||
### HTTP2 字段
|
||||
|
||||
参阅 [HTTP2 字段](/zh/configuration/shared/http2/) 了解详情。
|
||||
|
||||
### 字段
|
||||
|
||||
#### tls
|
||||
|
|
|
|||
|
|
@ -152,5 +152,6 @@ type HysteriaRealmUser struct {
|
|||
type HysteriaRealmServiceOptions struct {
|
||||
ListenOptions
|
||||
InboundTLSOptionsContainer
|
||||
HTTP2Options
|
||||
Users []HysteriaRealmUser `json:"users"`
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import (
|
|||
"errors"
|
||||
"net"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/sagernet/sing-box/adapter"
|
||||
boxService "github.com/sagernet/sing-box/adapter/service"
|
||||
|
|
@ -23,6 +24,7 @@ import (
|
|||
"github.com/go-chi/chi/v5/middleware"
|
||||
"github.com/go-chi/render"
|
||||
"golang.org/x/net/http2"
|
||||
"golang.org/x/net/http2/h2c"
|
||||
)
|
||||
|
||||
func RegisterRealmService(registry *boxService.Registry) {
|
||||
|
|
@ -96,7 +98,13 @@ func NewRealmService(ctx context.Context, logger log.ContextLogger, tag string,
|
|||
Listen: options.ListenOptions,
|
||||
}),
|
||||
httpServer: &http.Server{
|
||||
Handler: chiRouter,
|
||||
Handler: h2c.NewHandler(chiRouter, &http2.Server{
|
||||
IdleTimeout: time.Duration(options.IdleTimeout),
|
||||
ReadIdleTimeout: time.Duration(options.KeepAlivePeriod),
|
||||
MaxUploadBufferPerStream: int32(options.StreamReceiveWindow.Value()),
|
||||
MaxUploadBufferPerConnection: int32(options.ConnectionReceiveWindow.Value()),
|
||||
MaxConcurrentStreams: uint32(options.MaxConcurrentStreams),
|
||||
}),
|
||||
ConnContext: func(ctx context.Context, _ net.Conn) context.Context {
|
||||
return log.ContextWithNewID(ctx)
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue