mirror of
https://github.com/SagerNet/sing-box.git
synced 2025-06-13 21:54:13 +08:00
feat: adding smart dialer options compatible with outline-sdk parameters
This commit is contained in:
parent
eb07c7a79e
commit
ca78520e6a
51
option/smart_dialer.go
Normal file
51
option/smart_dialer.go
Normal file
@ -0,0 +1,51 @@
|
||||
package option
|
||||
|
||||
// SmartDialerOutboundOptions set the outbound options used by the outline-sdk
|
||||
// smart dialer. You can find more details about the parameters by looking
|
||||
// through the implementation: https://github.com/Jigsaw-Code/outline-sdk/blob/v0.0.18/x/smart/stream_dialer.go#L65-L100
|
||||
// Or check the documentation README: https://github.com/Jigsaw-Code/outline-sdk/tree/v0.0.18/x/smart
|
||||
type SmartDialerOutboundOptions struct {
|
||||
DialerOptions
|
||||
DNSResolvers []DNSEntryConfig `json:"dns,omitempty"`
|
||||
TLS []string `json:"tls,omitempty"`
|
||||
}
|
||||
|
||||
// DNSEntryConfig specifies a list of resolvers to test and they can be one of
|
||||
// the attributes (system, https, tls, udp or tcp)
|
||||
type DNSEntryConfig struct {
|
||||
// System is used for using the system as a resolver, if you want to use it
|
||||
// provide an empty object.
|
||||
System *struct{} `json:"system,omitempty"`
|
||||
// HTTPS use an encrypted DNS over HTTPS (DoH) resolver.
|
||||
HTTPS *HTTPSEntryConfig `json:"https,omitempty"`
|
||||
// TLS use an encrypted DNS over TLS (DoT) resolver.
|
||||
TLS *TLSEntryConfig `json:"tls,omitempty"`
|
||||
// UDP use a UDP resolver
|
||||
UDP *UDPEntryConfig `json:"udp,omitempty"`
|
||||
// TCP use a TCP resolver
|
||||
TCP *TCPEntryConfig `json:"tcp,omitempty"`
|
||||
}
|
||||
|
||||
type HTTPSEntryConfig struct {
|
||||
// Domain name of the host.
|
||||
Name string `json:"name,omitempty"`
|
||||
// Host:port. Defaults to Name:443.
|
||||
Address string `json:"address,omitempty"`
|
||||
}
|
||||
|
||||
type TLSEntryConfig struct {
|
||||
// Domain name of the host.
|
||||
Name string `json:"name,omitempty"`
|
||||
// Host:port. Defaults to Name:853.
|
||||
Address string `json:"address,omitempty"`
|
||||
}
|
||||
|
||||
type UDPEntryConfig struct {
|
||||
// Host:port.
|
||||
Address string `json:"address,omitempty"`
|
||||
}
|
||||
|
||||
type TCPEntryConfig struct {
|
||||
// Host:port.
|
||||
Address string `json:"address,omitempty"`
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user