2026-07-11 00:59:03 +08:00
|
|
|
//go:build !linux
|
|
|
|
|
|
|
|
|
|
package netns
|
|
|
|
|
|
|
|
|
|
import (
|
2026-07-11 15:52:20 +08:00
|
|
|
"github.com/sagernet/sing-box/adapter"
|
|
|
|
|
"github.com/sagernet/sing-box/option"
|
2026-07-11 00:59:03 +08:00
|
|
|
E "github.com/sagernet/sing/common/exceptions"
|
2026-07-11 15:52:20 +08:00
|
|
|
"github.com/sagernet/sing/common/logger"
|
2026-07-11 00:59:03 +08:00
|
|
|
)
|
|
|
|
|
|
2026-07-11 15:52:20 +08:00
|
|
|
type Manager struct{}
|
2026-07-11 00:59:03 +08:00
|
|
|
|
2026-07-11 15:52:20 +08:00
|
|
|
func NewManager(logger logger.ContextLogger, namespaces []option.NetworkNamespace, holderArgs []string) (*Manager, error) {
|
|
|
|
|
if len(namespaces) > 0 {
|
|
|
|
|
return nil, E.New("network namespaces are only supported on Linux")
|
2026-07-11 00:59:03 +08:00
|
|
|
}
|
2026-07-11 15:52:20 +08:00
|
|
|
return &Manager{}, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (m *Manager) Name() string {
|
|
|
|
|
return "netns"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (m *Manager) Start(stage adapter.StartStage) error {
|
2026-07-11 00:59:03 +08:00
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
2026-07-11 15:52:20 +08:00
|
|
|
func (m *Manager) Close() error {
|
2026-07-11 00:59:03 +08:00
|
|
|
return nil
|
|
|
|
|
}
|
2026-07-11 15:52:20 +08:00
|
|
|
|
|
|
|
|
func (m *Manager) ResolvePath(nameOrPath string) string {
|
|
|
|
|
return nameOrPath
|
|
|
|
|
}
|