mirror of
https://github.com/SagerNet/sing-box.git
synced 2024-12-25 02:05:38 +08:00
55 lines
2.4 KiB
Go
55 lines
2.4 KiB
Go
package option
|
|
|
|
import "github.com/sagernet/sing/common/json/badoption"
|
|
|
|
type ExperimentalOptions struct {
|
|
CacheFile *CacheFileOptions `json:"cache_file,omitempty"`
|
|
ClashAPI *ClashAPIOptions `json:"clash_api,omitempty"`
|
|
V2RayAPI *V2RayAPIOptions `json:"v2ray_api,omitempty"`
|
|
Debug *DebugOptions `json:"debug,omitempty"`
|
|
}
|
|
|
|
type CacheFileOptions struct {
|
|
Enabled bool `json:"enabled,omitempty"`
|
|
Path string `json:"path,omitempty"`
|
|
CacheID string `json:"cache_id,omitempty"`
|
|
StoreFakeIP bool `json:"store_fakeip,omitempty"`
|
|
StoreRDRC bool `json:"store_rdrc,omitempty"`
|
|
RDRCTimeout badoption.Duration `json:"rdrc_timeout,omitempty"`
|
|
}
|
|
|
|
type ClashAPIOptions struct {
|
|
ExternalController string `json:"external_controller,omitempty"`
|
|
ExternalUI string `json:"external_ui,omitempty"`
|
|
ExternalUIDownloadURL string `json:"external_ui_download_url,omitempty"`
|
|
ExternalUIDownloadDetour string `json:"external_ui_download_detour,omitempty"`
|
|
Secret string `json:"secret,omitempty"`
|
|
DefaultMode string `json:"default_mode,omitempty"`
|
|
ModeList []string `json:"-"`
|
|
AccessControlAllowOrigin badoption.Listable[string] `json:"access_control_allow_origin,omitempty"`
|
|
AccessControlAllowPrivateNetwork bool `json:"access_control_allow_private_network,omitempty"`
|
|
|
|
// Deprecated: migrated to global cache file
|
|
CacheFile string `json:"cache_file,omitempty"`
|
|
// Deprecated: migrated to global cache file
|
|
CacheID string `json:"cache_id,omitempty"`
|
|
// Deprecated: migrated to global cache file
|
|
StoreMode bool `json:"store_mode,omitempty"`
|
|
// Deprecated: migrated to global cache file
|
|
StoreSelected bool `json:"store_selected,omitempty"`
|
|
// Deprecated: migrated to global cache file
|
|
StoreFakeIP bool `json:"store_fakeip,omitempty"`
|
|
}
|
|
|
|
type V2RayAPIOptions struct {
|
|
Listen string `json:"listen,omitempty"`
|
|
Stats *V2RayStatsServiceOptions `json:"stats,omitempty"`
|
|
}
|
|
|
|
type V2RayStatsServiceOptions struct {
|
|
Enabled bool `json:"enabled,omitempty"`
|
|
Inbounds []string `json:"inbounds,omitempty"`
|
|
Outbounds []string `json:"outbounds,omitempty"`
|
|
Users []string `json:"users,omitempty"`
|
|
}
|