mirror of
https://github.com/SagerNet/sing-box.git
synced 2025-02-02 14:17:00 +00:00
Remove legacy warnings
This commit is contained in:
parent
c7067ff5e8
commit
407b08975c
|
@ -7,7 +7,6 @@ import (
|
||||||
|
|
||||||
"github.com/sagernet/sing-box/adapter"
|
"github.com/sagernet/sing-box/adapter"
|
||||||
"github.com/sagernet/sing-box/common/dialer/conntrack"
|
"github.com/sagernet/sing-box/common/dialer/conntrack"
|
||||||
"github.com/sagernet/sing-box/common/warning"
|
|
||||||
C "github.com/sagernet/sing-box/constant"
|
C "github.com/sagernet/sing-box/constant"
|
||||||
"github.com/sagernet/sing-box/option"
|
"github.com/sagernet/sing-box/option"
|
||||||
"github.com/sagernet/sing/common/control"
|
"github.com/sagernet/sing/common/control"
|
||||||
|
@ -17,41 +16,6 @@ import (
|
||||||
"github.com/sagernet/tfo-go"
|
"github.com/sagernet/tfo-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
var warnBindInterfaceOnUnsupportedPlatform = warning.New(
|
|
||||||
func() bool {
|
|
||||||
return !(C.IsLinux || C.IsWindows || C.IsDarwin)
|
|
||||||
},
|
|
||||||
"outbound option `bind_interface` is only supported on Linux and Windows",
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnRoutingMarkOnUnsupportedPlatform = warning.New(
|
|
||||||
func() bool {
|
|
||||||
return !C.IsLinux
|
|
||||||
},
|
|
||||||
"outbound option `routing_mark` is only supported on Linux",
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnReuseAdderOnUnsupportedPlatform = warning.New(
|
|
||||||
func() bool {
|
|
||||||
return !(C.IsDarwin || C.IsDragonfly || C.IsFreebsd || C.IsLinux || C.IsNetbsd || C.IsOpenbsd || C.IsSolaris || C.IsWindows)
|
|
||||||
},
|
|
||||||
"outbound option `reuse_addr` is unsupported on current platform",
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnProtectPathOnNonAndroid = warning.New(
|
|
||||||
func() bool {
|
|
||||||
return !C.IsAndroid
|
|
||||||
},
|
|
||||||
"outbound option `protect_path` is only supported on Android",
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnTFOOnUnsupportedPlatform = warning.New(
|
|
||||||
func() bool {
|
|
||||||
return !(C.IsDarwin || C.IsFreebsd || C.IsLinux || C.IsWindows)
|
|
||||||
},
|
|
||||||
"outbound option `tcp_fast_open` is unsupported on current platform",
|
|
||||||
)
|
|
||||||
|
|
||||||
type DefaultDialer struct {
|
type DefaultDialer struct {
|
||||||
dialer4 tfo.Dialer
|
dialer4 tfo.Dialer
|
||||||
dialer6 tfo.Dialer
|
dialer6 tfo.Dialer
|
||||||
|
@ -66,7 +30,6 @@ func NewDefault(router adapter.Router, options option.DialerOptions) *DefaultDia
|
||||||
var dialer net.Dialer
|
var dialer net.Dialer
|
||||||
var listener net.ListenConfig
|
var listener net.ListenConfig
|
||||||
if options.BindInterface != "" {
|
if options.BindInterface != "" {
|
||||||
warnBindInterfaceOnUnsupportedPlatform.Check()
|
|
||||||
bindFunc := control.BindToInterface(router.InterfaceFinder(), options.BindInterface, -1)
|
bindFunc := control.BindToInterface(router.InterfaceFinder(), options.BindInterface, -1)
|
||||||
dialer.Control = control.Append(dialer.Control, bindFunc)
|
dialer.Control = control.Append(dialer.Control, bindFunc)
|
||||||
listener.Control = control.Append(listener.Control, bindFunc)
|
listener.Control = control.Append(listener.Control, bindFunc)
|
||||||
|
@ -80,7 +43,6 @@ func NewDefault(router adapter.Router, options option.DialerOptions) *DefaultDia
|
||||||
listener.Control = control.Append(listener.Control, bindFunc)
|
listener.Control = control.Append(listener.Control, bindFunc)
|
||||||
}
|
}
|
||||||
if options.RoutingMark != 0 {
|
if options.RoutingMark != 0 {
|
||||||
warnRoutingMarkOnUnsupportedPlatform.Check()
|
|
||||||
dialer.Control = control.Append(dialer.Control, control.RoutingMark(options.RoutingMark))
|
dialer.Control = control.Append(dialer.Control, control.RoutingMark(options.RoutingMark))
|
||||||
listener.Control = control.Append(listener.Control, control.RoutingMark(options.RoutingMark))
|
listener.Control = control.Append(listener.Control, control.RoutingMark(options.RoutingMark))
|
||||||
} else if router.DefaultMark() != 0 {
|
} else if router.DefaultMark() != 0 {
|
||||||
|
@ -88,11 +50,9 @@ func NewDefault(router adapter.Router, options option.DialerOptions) *DefaultDia
|
||||||
listener.Control = control.Append(listener.Control, control.RoutingMark(router.DefaultMark()))
|
listener.Control = control.Append(listener.Control, control.RoutingMark(router.DefaultMark()))
|
||||||
}
|
}
|
||||||
if options.ReuseAddr {
|
if options.ReuseAddr {
|
||||||
warnReuseAdderOnUnsupportedPlatform.Check()
|
|
||||||
listener.Control = control.Append(listener.Control, control.ReuseAddr())
|
listener.Control = control.Append(listener.Control, control.ReuseAddr())
|
||||||
}
|
}
|
||||||
if options.ProtectPath != "" {
|
if options.ProtectPath != "" {
|
||||||
warnProtectPathOnNonAndroid.Check()
|
|
||||||
dialer.Control = control.Append(dialer.Control, control.ProtectPath(options.ProtectPath))
|
dialer.Control = control.Append(dialer.Control, control.ProtectPath(options.ProtectPath))
|
||||||
listener.Control = control.Append(listener.Control, control.ProtectPath(options.ProtectPath))
|
listener.Control = control.Append(listener.Control, control.ProtectPath(options.ProtectPath))
|
||||||
}
|
}
|
||||||
|
@ -101,9 +61,6 @@ func NewDefault(router adapter.Router, options option.DialerOptions) *DefaultDia
|
||||||
} else {
|
} else {
|
||||||
dialer.Timeout = C.TCPTimeout
|
dialer.Timeout = C.TCPTimeout
|
||||||
}
|
}
|
||||||
if options.TCPFastOpen {
|
|
||||||
warnTFOOnUnsupportedPlatform.Check()
|
|
||||||
}
|
|
||||||
var udpFragment bool
|
var udpFragment bool
|
||||||
if options.UDPFragment != nil {
|
if options.UDPFragment != nil {
|
||||||
udpFragment = *options.UDPFragment
|
udpFragment = *options.UDPFragment
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
package warning
|
|
||||||
|
|
||||||
import (
|
|
||||||
"sync"
|
|
||||||
|
|
||||||
"github.com/sagernet/sing-box/log"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Warning struct {
|
|
||||||
logger log.Logger
|
|
||||||
check CheckFunc
|
|
||||||
message string
|
|
||||||
checkOnce sync.Once
|
|
||||||
}
|
|
||||||
|
|
||||||
type CheckFunc = func() bool
|
|
||||||
|
|
||||||
func New(checkFunc CheckFunc, message string) Warning {
|
|
||||||
return Warning{
|
|
||||||
check: checkFunc,
|
|
||||||
message: message,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (w *Warning) Check() {
|
|
||||||
w.checkOnce.Do(func() {
|
|
||||||
if w.check() {
|
|
||||||
log.Warn(w.message)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
|
@ -21,7 +21,6 @@ import (
|
||||||
"github.com/sagernet/sing-box/common/mux"
|
"github.com/sagernet/sing-box/common/mux"
|
||||||
"github.com/sagernet/sing-box/common/process"
|
"github.com/sagernet/sing-box/common/process"
|
||||||
"github.com/sagernet/sing-box/common/sniff"
|
"github.com/sagernet/sing-box/common/sniff"
|
||||||
"github.com/sagernet/sing-box/common/warning"
|
|
||||||
C "github.com/sagernet/sing-box/constant"
|
C "github.com/sagernet/sing-box/constant"
|
||||||
"github.com/sagernet/sing-box/experimental/libbox/platform"
|
"github.com/sagernet/sing-box/experimental/libbox/platform"
|
||||||
"github.com/sagernet/sing-box/log"
|
"github.com/sagernet/sing-box/log"
|
||||||
|
@ -43,27 +42,6 @@ import (
|
||||||
"github.com/sagernet/sing/common/uot"
|
"github.com/sagernet/sing/common/uot"
|
||||||
)
|
)
|
||||||
|
|
||||||
var warnDefaultInterfaceOnUnsupportedPlatform = warning.New(
|
|
||||||
func() bool {
|
|
||||||
return !(C.IsLinux || C.IsWindows || C.IsDarwin)
|
|
||||||
},
|
|
||||||
"route option `default_mark` is only supported on Linux and Windows",
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnDefaultMarkOnNonLinux = warning.New(
|
|
||||||
func() bool {
|
|
||||||
return !C.IsLinux
|
|
||||||
},
|
|
||||||
"route option `default_mark` is only supported on Linux",
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnFindProcessOnUnsupportedPlatform = warning.New(
|
|
||||||
func() bool {
|
|
||||||
return !(C.IsLinux || C.IsWindows || C.IsDarwin)
|
|
||||||
},
|
|
||||||
"route option `find_process` is only supported on Linux, Windows, and macOS",
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ adapter.Router = (*Router)(nil)
|
var _ adapter.Router = (*Router)(nil)
|
||||||
|
|
||||||
type Router struct {
|
type Router struct {
|
||||||
|
@ -114,16 +92,6 @@ func NewRouter(
|
||||||
inbounds []option.Inbound,
|
inbounds []option.Inbound,
|
||||||
platformInterface platform.Interface,
|
platformInterface platform.Interface,
|
||||||
) (*Router, error) {
|
) (*Router, error) {
|
||||||
if options.DefaultInterface != "" {
|
|
||||||
warnDefaultInterfaceOnUnsupportedPlatform.Check()
|
|
||||||
}
|
|
||||||
if options.DefaultMark != 0 {
|
|
||||||
warnDefaultMarkOnNonLinux.Check()
|
|
||||||
}
|
|
||||||
if options.FindProcess {
|
|
||||||
warnFindProcessOnUnsupportedPlatform.Check()
|
|
||||||
}
|
|
||||||
|
|
||||||
router := &Router{
|
router := &Router{
|
||||||
ctx: ctx,
|
ctx: ctx,
|
||||||
logger: logFactory.NewLogger("router"),
|
logger: logFactory.NewLogger("router"),
|
||||||
|
|
|
@ -4,13 +4,6 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/sagernet/sing-box/adapter"
|
"github.com/sagernet/sing-box/adapter"
|
||||||
"github.com/sagernet/sing-box/common/warning"
|
|
||||||
C "github.com/sagernet/sing-box/constant"
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnPackageNameOnNonAndroid = warning.New(
|
|
||||||
func() bool { return !C.IsAndroid },
|
|
||||||
"rule item `package_name` is only supported on Android",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ RuleItem = (*PackageNameItem)(nil)
|
var _ RuleItem = (*PackageNameItem)(nil)
|
||||||
|
@ -21,7 +14,6 @@ type PackageNameItem struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewPackageNameItem(packageNameList []string) *PackageNameItem {
|
func NewPackageNameItem(packageNameList []string) *PackageNameItem {
|
||||||
warnPackageNameOnNonAndroid.Check()
|
|
||||||
rule := &PackageNameItem{
|
rule := &PackageNameItem{
|
||||||
packageNames: packageNameList,
|
packageNames: packageNameList,
|
||||||
packageMap: make(map[string]bool),
|
packageMap: make(map[string]bool),
|
||||||
|
|
|
@ -5,13 +5,6 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/sagernet/sing-box/adapter"
|
"github.com/sagernet/sing-box/adapter"
|
||||||
"github.com/sagernet/sing-box/common/warning"
|
|
||||||
C "github.com/sagernet/sing-box/constant"
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnProcessNameOnNonSupportedPlatform = warning.New(
|
|
||||||
func() bool { return !(C.IsLinux || C.IsWindows || C.IsDarwin) },
|
|
||||||
"rule item `process_name` is only supported on Linux, Windows and macOS",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ RuleItem = (*ProcessItem)(nil)
|
var _ RuleItem = (*ProcessItem)(nil)
|
||||||
|
@ -22,7 +15,6 @@ type ProcessItem struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewProcessItem(processNameList []string) *ProcessItem {
|
func NewProcessItem(processNameList []string) *ProcessItem {
|
||||||
warnProcessNameOnNonSupportedPlatform.Check()
|
|
||||||
rule := &ProcessItem{
|
rule := &ProcessItem{
|
||||||
processes: processNameList,
|
processes: processNameList,
|
||||||
processMap: make(map[string]bool),
|
processMap: make(map[string]bool),
|
||||||
|
|
|
@ -4,13 +4,6 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/sagernet/sing-box/adapter"
|
"github.com/sagernet/sing-box/adapter"
|
||||||
"github.com/sagernet/sing-box/common/warning"
|
|
||||||
C "github.com/sagernet/sing-box/constant"
|
|
||||||
)
|
|
||||||
|
|
||||||
var warnProcessPathOnNonSupportedPlatform = warning.New(
|
|
||||||
func() bool { return !(C.IsLinux || C.IsWindows || C.IsDarwin) },
|
|
||||||
"rule item `process_path` is only supported on Linux, Windows and macOS",
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ RuleItem = (*ProcessPathItem)(nil)
|
var _ RuleItem = (*ProcessPathItem)(nil)
|
||||||
|
@ -21,7 +14,6 @@ type ProcessPathItem struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewProcessPathItem(processNameList []string) *ProcessPathItem {
|
func NewProcessPathItem(processNameList []string) *ProcessPathItem {
|
||||||
warnProcessPathOnNonSupportedPlatform.Check()
|
|
||||||
rule := &ProcessPathItem{
|
rule := &ProcessPathItem{
|
||||||
processes: processNameList,
|
processes: processNameList,
|
||||||
processMap: make(map[string]bool),
|
processMap: make(map[string]bool),
|
||||||
|
|
|
@ -4,16 +4,9 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/sagernet/sing-box/adapter"
|
"github.com/sagernet/sing-box/adapter"
|
||||||
"github.com/sagernet/sing-box/common/warning"
|
|
||||||
C "github.com/sagernet/sing-box/constant"
|
|
||||||
F "github.com/sagernet/sing/common/format"
|
F "github.com/sagernet/sing/common/format"
|
||||||
)
|
)
|
||||||
|
|
||||||
var warnUserOnNonLinux = warning.New(
|
|
||||||
func() bool { return !C.IsLinux },
|
|
||||||
"rule item `user` is only supported on Linux",
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ RuleItem = (*UserItem)(nil)
|
var _ RuleItem = (*UserItem)(nil)
|
||||||
|
|
||||||
type UserItem struct {
|
type UserItem struct {
|
||||||
|
@ -22,7 +15,6 @@ type UserItem struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewUserItem(users []string) *UserItem {
|
func NewUserItem(users []string) *UserItem {
|
||||||
warnUserOnNonLinux.Check()
|
|
||||||
userMap := make(map[string]bool)
|
userMap := make(map[string]bool)
|
||||||
for _, protocol := range users {
|
for _, protocol := range users {
|
||||||
userMap[protocol] = true
|
userMap[protocol] = true
|
||||||
|
|
|
@ -4,16 +4,9 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/sagernet/sing-box/adapter"
|
"github.com/sagernet/sing-box/adapter"
|
||||||
"github.com/sagernet/sing-box/common/warning"
|
|
||||||
C "github.com/sagernet/sing-box/constant"
|
|
||||||
F "github.com/sagernet/sing/common/format"
|
F "github.com/sagernet/sing/common/format"
|
||||||
)
|
)
|
||||||
|
|
||||||
var warnUserIDOnNonLinux = warning.New(
|
|
||||||
func() bool { return !C.IsLinux },
|
|
||||||
"rule item `user_id` is only supported on Linux",
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ RuleItem = (*UserIdItem)(nil)
|
var _ RuleItem = (*UserIdItem)(nil)
|
||||||
|
|
||||||
type UserIdItem struct {
|
type UserIdItem struct {
|
||||||
|
@ -22,7 +15,6 @@ type UserIdItem struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewUserIDItem(userIdList []int32) *UserIdItem {
|
func NewUserIDItem(userIdList []int32) *UserIdItem {
|
||||||
warnUserIDOnNonLinux.Check()
|
|
||||||
rule := &UserIdItem{
|
rule := &UserIdItem{
|
||||||
userIds: userIdList,
|
userIds: userIdList,
|
||||||
userIdMap: make(map[int32]bool),
|
userIdMap: make(map[int32]bool),
|
||||||
|
|
Loading…
Reference in a new issue