mirror of
https://github.com/SagerNet/sing-tun.git
synced 2025-03-31 10:27:39 +03:00
36 lines
831 B
Go
36 lines
831 B
Go
package tun
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/sagernet/sing/common/control"
|
|
"github.com/sagernet/sing/common/logger"
|
|
N "github.com/sagernet/sing/common/network"
|
|
|
|
"go4.org/netipx"
|
|
)
|
|
|
|
const (
|
|
DefaultAutoRedirectInputMark = 0x2023
|
|
DefaultAutoRedirectOutputMark = 0x2024
|
|
)
|
|
|
|
type AutoRedirect interface {
|
|
Start() error
|
|
Close() error
|
|
UpdateRouteAddressSet()
|
|
}
|
|
|
|
type AutoRedirectOptions struct {
|
|
TunOptions *Options
|
|
Context context.Context
|
|
Handler N.TCPConnectionHandlerEx
|
|
Logger logger.Logger
|
|
NetworkMonitor NetworkUpdateMonitor
|
|
InterfaceFinder control.InterfaceFinder
|
|
TableName string
|
|
DisableNFTables bool
|
|
CustomRedirectPort func() int
|
|
RouteAddressSet *[]*netipx.IPSet
|
|
RouteExcludeAddressSet *[]*netipx.IPSet
|
|
}
|