mirror of
https://github.com/wyx2685/V2bX.git
synced 2025-01-22 09:58:14 -05:00
2f1362067b
Some checks failed
Build and Release / build (386, freebsd) (push) Has been cancelled
Build and Release / build (386, linux) (push) Has been cancelled
Build and Release / build (386, windows) (push) Has been cancelled
Build and Release / build (amd64, darwin) (push) Has been cancelled
Build and Release / build (amd64, freebsd) (push) Has been cancelled
Build and Release / build (amd64, linux) (push) Has been cancelled
Build and Release / build (amd64, windows) (push) Has been cancelled
Build and Release / build (arm, 5, linux) (push) Has been cancelled
Build and Release / build (arm, 6, linux) (push) Has been cancelled
Build and Release / build (arm, 7, freebsd) (push) Has been cancelled
Build and Release / build (arm, 7, linux) (push) Has been cancelled
Build and Release / build (arm64, android) (push) Has been cancelled
Build and Release / build (arm64, darwin) (push) Has been cancelled
Build and Release / build (arm64, freebsd) (push) Has been cancelled
Build and Release / build (arm64, linux) (push) Has been cancelled
Build and Release / build (mips, linux) (push) Has been cancelled
Build and Release / build (mips64, linux) (push) Has been cancelled
Build and Release / build (mips64le, linux) (push) Has been cancelled
Build and Release / build (mipsle, linux) (push) Has been cancelled
Build and Release / build (ppc64, linux) (push) Has been cancelled
Build and Release / build (ppc64le, linux) (push) Has been cancelled
Build and Release / build (riscv64, linux) (push) Has been cancelled
Build and Release / build (s390x, linux) (push) Has been cancelled
83 lines
2.1 KiB
Go
83 lines
2.1 KiB
Go
package conf
|
|
|
|
import (
|
|
"github.com/sagernet/sing-box/option"
|
|
)
|
|
|
|
type SingConfig struct {
|
|
LogConfig SingLogConfig `json:"Log"`
|
|
NtpConfig SingNtpConfig `json:"NTP"`
|
|
OriginalPath string `json:"OriginalPath"`
|
|
}
|
|
|
|
type SingLogConfig struct {
|
|
Disabled bool `json:"Disable"`
|
|
Level string `json:"Level"`
|
|
Output string `json:"Output"`
|
|
Timestamp bool `json:"Timestamp"`
|
|
}
|
|
|
|
func NewSingConfig() *SingConfig {
|
|
return &SingConfig{
|
|
LogConfig: SingLogConfig{
|
|
Level: "error",
|
|
Timestamp: true,
|
|
},
|
|
NtpConfig: SingNtpConfig{
|
|
Enable: false,
|
|
Server: "time.apple.com",
|
|
ServerPort: 0,
|
|
},
|
|
}
|
|
}
|
|
|
|
type SingOptions struct {
|
|
TCPFastOpen bool `json:"EnableTFO"`
|
|
SniffEnabled bool `json:"EnableSniff"`
|
|
SniffOverrideDestination bool `json:"SniffOverrideDestination"`
|
|
EnableDNS bool `json:"EnableDNS"`
|
|
DomainStrategy option.DomainStrategy `json:"DomainStrategy"`
|
|
FallBackConfigs *FallBackConfigForSing `json:"FallBackConfigs"`
|
|
Multiplex *MultiplexConfig `json:"MultiplexConfig"`
|
|
}
|
|
|
|
type SingNtpConfig struct {
|
|
Enable bool `json:"Enable"`
|
|
Server string `json:"Server"`
|
|
ServerPort uint16 `json:"ServerPort"`
|
|
}
|
|
|
|
type FallBackConfigForSing struct {
|
|
// sing-box
|
|
FallBack FallBack `json:"FallBack"`
|
|
FallBackForALPN map[string]FallBack `json:"FallBackForALPN"`
|
|
}
|
|
|
|
type FallBack struct {
|
|
Server string `json:"Server"`
|
|
ServerPort string `json:"ServerPort"`
|
|
}
|
|
|
|
type MultiplexConfig struct {
|
|
Enabled bool `json:"Enable"`
|
|
Padding bool `json:"Padding"`
|
|
Brutal BrutalOptions `json:"Brutal"`
|
|
}
|
|
|
|
type BrutalOptions struct {
|
|
Enabled bool `json:"Enable"`
|
|
UpMbps int `json:"UpMbps"`
|
|
DownMbps int `json:"DownMbps"`
|
|
}
|
|
|
|
func NewSingOptions() *SingOptions {
|
|
return &SingOptions{
|
|
EnableDNS: false,
|
|
TCPFastOpen: false,
|
|
SniffEnabled: true,
|
|
SniffOverrideDestination: true,
|
|
FallBackConfigs: &FallBackConfigForSing{},
|
|
Multiplex: &MultiplexConfig{},
|
|
}
|
|
}
|