Documentation
¶
Overview ¶
Verbatim copy of sing-box protocol/vmess/inbound.go, moved into this module so the panel can reach the unexported `service`/`users` fields that the sing-box Inbound type does not expose. That access is what lets core.UpdateInboundUsers swap an inbound's user table in place instead of tearing the listener down (see core/inbound_users.go).
UPGRADING sing-box: re-copy this file from the new tag and re-apply the change below. Nothing here will fail to compile if you forget, it will just silently keep running the old implementation.
Local change vs sing-box: the service is keyed by user name (Service[string]) instead of by list position (Service[int]). sing-box never rewrites a user list in place, so a position is a stable identity there; UpdateUsers does rewrite it, under live sessions, and a position is not. Deleting a user shifted every later one, which mis-attributed traffic and could index past the end of the name slice outright (upstream #1231). The sing-vmess import also needs an explicit `vmess` alias, since this file's own package is called vmess too.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewInbound ¶
func RegisterInbound ¶
Types ¶
type Inbound ¶
func (*Inbound) NewConnection ¶ added in v1.8.0
func (h *Inbound) NewConnection(ctx context.Context, conn net.Conn, metadata adapter.InboundContext, onClose N.CloseHandlerFunc)