mirror of
https://github.com/SagerNet/sing-box.git
synced 2025-08-22 10:07:36 +08:00
Fix outbound start
This commit is contained in:
parent
1468d83895
commit
22782ca6fc
@ -56,6 +56,14 @@ func (m *Manager) Start(stage adapter.StartStage) error {
|
|||||||
m.started = true
|
m.started = true
|
||||||
m.stage = stage
|
m.stage = stage
|
||||||
if stage == adapter.StartStateStart {
|
if stage == adapter.StartStateStart {
|
||||||
|
if m.defaultTag != "" && m.defaultOutbound == nil {
|
||||||
|
defaultEndpoint, loaded := m.endpoint.Get(m.defaultTag)
|
||||||
|
if !loaded {
|
||||||
|
m.access.Unlock()
|
||||||
|
return E.New("default outbound not found: ", m.defaultTag)
|
||||||
|
}
|
||||||
|
m.defaultOutbound = defaultEndpoint
|
||||||
|
}
|
||||||
if m.defaultOutbound == nil {
|
if m.defaultOutbound == nil {
|
||||||
directOutbound, err := m.defaultOutboundFallback()
|
directOutbound, err := m.defaultOutboundFallback()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -66,14 +74,6 @@ func (m *Manager) Start(stage adapter.StartStage) error {
|
|||||||
m.outboundByTag[directOutbound.Tag()] = directOutbound
|
m.outboundByTag[directOutbound.Tag()] = directOutbound
|
||||||
m.defaultOutbound = directOutbound
|
m.defaultOutbound = directOutbound
|
||||||
}
|
}
|
||||||
if m.defaultTag != "" && m.defaultOutbound == nil {
|
|
||||||
defaultEndpoint, loaded := m.endpoint.Get(m.defaultTag)
|
|
||||||
if !loaded {
|
|
||||||
m.access.Unlock()
|
|
||||||
return E.New("default outbound not found: ", m.defaultTag)
|
|
||||||
}
|
|
||||||
m.defaultOutbound = defaultEndpoint
|
|
||||||
}
|
|
||||||
outbounds := m.outbounds
|
outbounds := m.outbounds
|
||||||
m.access.Unlock()
|
m.access.Unlock()
|
||||||
return m.startOutbounds(append(outbounds, common.Map(m.endpoint.Endpoints(), func(it adapter.Endpoint) adapter.Outbound { return it })...))
|
return m.startOutbounds(append(outbounds, common.Map(m.endpoint.Endpoints(), func(it adapter.Endpoint) adapter.Outbound { return it })...))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user