owenclave / app/src/main/java/io/nekohasekai/sagernet/Constants.kt

github - dev - back to tree - upstream
/****************************************************************************** * * * Copyright (C) 2021 by nekohasekai * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation, either version 3 of the License, or * * (at your option) any later version. * * * * This program is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * * along with this program. If not, see . * * * ******************************************************************************/ package io.nekohasekai.sagernet const val CONNECTION_TEST_URL = "https://own.owenewans.org/ip" object Key { const val DB_PUBLIC = "configuration.db" const val DB_PROFILE = "sager_net.db" const val PERSIST_ACROSS_REBOOT = "isAutoConnect" const val APP_THEME = "appTheme" const val APP_LOGO = "appLogo" const val NIGHT_THEME = "nightTheme" const val APP_LANGUAGE = "appLanguage" const val SERVICE_MODE = "serviceMode" const val MODE_VPN = "vpn" const val MODE_PROXY = "proxy" const val REMOTE_DNS = "remoteDns" const val DIRECT_DNS = "directDns" const val BOOTSTRAP_DNS = "bootstrapDns" const val USE_LOCAL_DNS_AS_DIRECT_DNS = "useLocalDnsAsDirectDns" const val USE_LOCAL_DNS_AS_BOOTSTRAP_DNS = "useLocalDnsAsBootstrapDns" const val ENABLE_DNS_ROUTING = "enableDnsRouting" const val ENABLE_FAKEDNS = "enableFakeDns" const val HIJACK_DNS = "hijackDns0" const val DNS_HOSTS = "dnsHosts0" const val REMOTE_DNS_QUERY_STRATEGY = "remoteDnsQueryStrategy" const val DIRECT_DNS_QUERY_STRATEGY = "directDnsQueryStrategy" const val EDNS_CLIENT_IP = "ednsClientIp" const val ENABLE_VPN_INTERFACE_IPV6_ADDRESS = "enableVPNInterfaceIPv6Address" const val PROXY_APPS = "proxyApps" const val BYPASS_MODE = "bypassMode" const val INDIVIDUAL = "individual" const val METERED_NETWORK = "meteredNetwork" const val DOMAIN_STRATEGY = "domainStrategy" const val TRAFFIC_SNIFFING = "trafficSniffing" const val DESTINATION_OVERRIDE = "destinationOverride" const val OUTBOUND_DOMAIN_STRATEGY = "outboundDomainStrategy" const val OUTBOUND_DOMAIN_STRATEGY_FOR_DIRECT = "outboundDomainStrategyForDirect" const val OUTBOUND_DOMAIN_STRATEGY_FOR_SERVER = "outboundDomainStrategyForServer" const val BYPASS_LAN = "bypassLan" const val SOCKS_PORT = "socksPort" const val ALLOW_ACCESS = "allowAccess" const val SPEED_INTERVAL = "speedInterval" const val SHOW_DIRECT_SPEED = "showDirectSpeed" const val LOCAL_DNS_PORT = "portLocalDns" const val REQUIRE_DNS_INBOUND = "requireDnsInbound" const val REQUIRE_SOCKS = "requireSocks" const val SOCKS_USERNAME = "socksUsername" const val SOCKS_PASSWORD = "socksPassword" const val SOCKS_UDP = "socksUDP" const val SOCKS_UDP_WARNING_DISABLE = "socksUDPWarningDisable" const val REQUIRE_HTTP = "requireHttp" const val HTTP_USERNAME = "httpUsername" const val HTTP_PASSWORD = "httpPassword" const val APPEND_HTTP_PROXY = "appendHttpProxy" const val HTTP_PROXY_EXCEPTION = "httpProxyException" const val HTTP_PORT = "httpPort" const val REQUIRE_TRANSPROXY = "requireTransproxy" const val TRANSPROXY_PORT = "transproxyPort" const val CONNECTION_TEST_URL = "connectionTestURL" const val PROBE_URL = "probeUrl" const val PROBE_INTERVAL = "probeInterval" const val ROUTE_MODE = "routeMode" const val RULES_PROVIDER = "rulesProvider" const val RULES_GEOSITE_URL = "rulesGeositeUrl" const val RULES_GEOIP_URL = "rulesGeoipUrl" const val LOG_LEVEL = "logLevel" const val LOG_LEVEL_DEBUG_WARNING_DISABLE = "logLevelDebugWarningDisable" const val ENABLE_DEBUG = "enableDebug" const val PPROF_SERVER = "pprofServer" const val ALWAYS_SHOW_ADDRESS = "alwaysShowAddress" const val SHOW_GROUP_NAME = "showGroupName" const val PROVIDER_ROOT_CA = "providerRootCA" const val INTERRUPT_REUSED_CONNECTIONS = "interruptReusedConnections0" const val TUN_IMPLEMENTATION = "tunImplementation" const val ENABLE_PCAP = "enablePcap" const val MTU = "mtu" const val DISCARD_ICMP = "discardICMP" const val ALLOW_APPS_BYPASS_VPN = "allowAppsBypassVpn" const val ACQUIRE_WAKE_LOCK = "acquireWakeLock" const val STUN_SERVERS = "stunServers" const val FAB_STYLE = "fabStyle" const val USE_IEC_UNIT = "useIECUnit" const val QUERY_ALL_PACKAGES_ALTERNATIVE_METHOD = "queryAllPackagesAlternativeMethod" const val ENABLE_FRAGMENT = "enableFragment" const val ENABLE_FRAGMENT_FOR_DIRECT = "enableFragmentForDirect" const val FRAGMENT_METHOD = "fragmentMethod" const val REALITY_DISABLE_X25519MLKEM768 = "realityDisableX25519Mlkem768" const val HYSTERIA2_OMIT_MAX_DATAGRAM_FRAME_SIZE = "hysteria2OmitMaxDatagramFrameSize" const val GRPC_SERVICE_NAME_COMPAT = "grpcServiceNameCompat" const val PROFILE_SECURITY_ADVISORY = "profileSecurityAdvisory" const val SOCKS_PROXY_CHAIN_ENABLED = "socksProxyChainEnabled" const val SOCKS_PROXY_CHAIN_HOST = "socksProxyChainHost" const val SOCKS_PROXY_CHAIN_PORT = "socksProxyChainPort" const val SOCKS_PROXY_CHAIN_USERNAME = "socksProxyChainUsername" const val SOCKS_PROXY_CHAIN_PASSWORD = "socksProxyChainPassword" const val ENABLE_TWPS2 = "enableTwps2" const val TWPS2_STRATEGY = "twps2Strategy" const val ENABLE_UNLOCK_RU = "enableUnlockRu" const val DIRECT_PROXY_MODE = "directProxyMode" const val APP_TRAFFIC_STATISTICS = "appTrafficStatistics" const val PROFILE_TRAFFIC_STATISTICS = "profileTrafficStatistics" const val PROFILE_DIRTY = "profileDirty" const val PROFILE_ID = "profileId" const val PROFILE_NAME = "profileName" const val PROFILE_GROUP = "profileGroup" const val PROFILE_STARTED = "profileStarted" const val PROFILE_CURRENT = "profileCurrent" const val SERVER_ADDRESS = "serverAddress" const val SERVER_PORT = "serverPort" const val SERVER_USERNAME = "serverUsername" const val SERVER_PASSWORD = "serverPassword" const val SERVER_METHOD = "serverMethod" const val SERVER_PLUGIN_CATEGORY = "serverPluginCategory" const val SERVER_PLUGIN = "serverPlugin" const val SERVER_PLUGIN_CONFIGURE = "serverPluginConfigure" const val SERVER_PASSWORD1 = "serverPassword1" const val SERVER_PROTOCOL = "serverProtocol" const val SERVER_PROTOCOL_PARAM = "serverProtocolParam" const val SERVER_OBFS = "serverObfs" const val SERVER_OBFS_PARAM = "serverObfsParam" const val SERVER_USER_ID = "serverUserId" const val SERVER_ALTER_ID = "serverAlterId" const val SERVER_SECURITY = "serverSecurity" const val SERVER_NETWORK = "serverNetwork" const val SERVER_HEADER = "serverHeader" const val SERVER_HOST = "serverHost" const val SERVER_PATH = "serverPath" const val SERVER_SNI = "serverSNI" const val SERVER_ENCRYPTION = "serverEncryption" const val SERVER_ENCRYPTION_FOR_VLESS = "serverEncryptionForVless" const val SERVER_ALPN = "serverALPN" const val SERVER_CERTIFICATES = "serverCertificates" const val SERVER_PINNED_CERTIFICATE_CHAIN = "serverPinnedCertificateChain" const val SERVER_PINNED_CERTIFICATE_PUBLIC_KEY = "serverPinnedCertificatePublicKey" const val SERVER_PINNED_CERTIFICATE = "serverPinnedCertificate" const val SERVER_FLOW = "serverFlow" const val SERVER_QUIC_SECURITY = "serverQuicSecurity" const val SERVER_WS_MAX_EARLY_DATA = "serverWsMaxEarlyData" const val SERVER_SPLITHTTP_MODE = "serverSplithttpMode" const val SERVER_SPLITHTTP_EXTRA = "serverSplithttpExtra" const val SERVER_WS_BROWSER_FORWARDING = "serverWsBrowserForwarding" const val SERVER_SH_BROWSER_FORWARDING = "serverShBrowserForwarding" const val SERVER_EARLY_DATA_HEADER_NAME = "serverEarlyDataHeaderName" const val SERVER_CONFIG = "serverConfig" const val SERVER_PACKET_ENCODING = "serverPacketEncoding" const val SERVER_UTLS_FINGERPRINT = "serverUTLSFingerprint" const val SERVER_ECH_ENABLED = "serverEchEnabled" const val SERVER_ECH_CONFIG = "serverEchConfig" const val SERVER_MTLS_CERTIFICATE = "serverMtlsCertificate" const val SERVER_MTLS_CERTIFICATE_PRIVATE_KEY = "serverMtlsCertificatePrivateKey" const val SERVER_REALITY_PUBLIC_KEY = "serverRealityPublicKey" const val SERVER_REALITY_SHORT_ID = "serverRealityShortId" const val SERVER_REALITY_MLDSA65_VERIFY = "serverRealityMldsa65Verify" const val SERVER_REALITY_FINGERPRINT = "serverRealityFingerprint" const val SERVER_REALITY_DISABLE_X25519MLKEM768 = "serverRealityDisableX25519Mlkem768" const val SERVER_GRPC_CATAGORY = "serverGrpcCategory" const val SERVER_GRPC_SERVICE_NAME_COMPAT = "serverGrpcServiceNameCompat" const val SERVER_GRPC_MULTI_MODE = "serverGrpcMultiMode" const val SERVER_MEKYA_KCP_SEED = "serverMekyaKcpSeed" const val SERVER_MEKYA_KCP_HEADER_TYPE = "serverMekyaKcpHeaderType" const val SERVER_MEKYA_URL = "serverMekyaUrl" const val SERVER_SECURITY_CATEGORY = "serverSecurityCategory" const val SERVER_WS_CATEGORY = "serverWsCategory" const val SERVER_SH_CATEGORY = "serverShCategory" const val SERVER_HEADERS = "serverHeaders" const val SERVER_ALLOW_INSECURE = "serverAllowInsecure" const val SERVER_AUTH_TYPE = "serverAuthType" const val SERVER_UPLOAD_SPEED = "serverUploadSpeed" const val SERVER_DOWNLOAD_SPEED = "serverDownloadSpeed" const val SERVER_VMESS_EXPERIMENTS_CATEGORY = "serverVMessExperimentsCategory" const val SERVER_VMESS_EXPERIMENTAL_AUTHENTICATED_LENGTH = "serverVMessExperimentalAuthenticatedLength" const val SERVER_VMESS_EXPERIMENTAL_NO_TERMINATION_SIGNAL = "serverVMessExperimentalNoTerminationSignal" const val SERVER_MUX = "serverMux" const val SERVER_MUX_CONCURRENCY = "serverMuxConcurrency" const val SERVER_MUX_PACKET_ENCODING = "serverMuxPacketEncoding" const val SERVER_PRIVATE_KEY = "serverPrivateKey" const val SERVER_LOCAL_ADDRESS = "serverLocalAddress" const val SERVER_INSECURE_CONCURRENCY = "serverInsecureConcurrency" const val SERVER_MTU = "serverMTU" const val SERVER_SS_EXPERIMENTS_CATEGORY = "serverSsExperimentsCategory" const val SERVER_REDUCED_IV_HEAD_ENTROPY = "serverReducedIvHeadEntropy" const val SERVER_BROOK_UDP_OVER_STREAM = "serverBrookUdpOverStream" const val SERVER_UDP_RELAY_MODE = "serverUDPRelayMode" const val SERVER_CONGESTION_CONTROLLER = "serverCongestionController" const val SERVER_DISABLE_SNI = "serverDisableSNI" const val SERVER_REDUCE_RTT= "serverReduceRTT" const val SERVER_MIERU_MUX_LEVEL = "serverMieruMuxLevel" const val SERVER_MIERU_HANDSHAKE_MODE = "serverMieruHandshakeMode" const val SERVER_MIERU_TRAFFIC_PATTERN = "serverMieruTrafficPattern" const val SERVER_WIREGUARD_RESERVED = "serverWireGuardReserved" const val SERVER_WIREGUARD_KEEPALIVE_INTERVAL = "serverWireGuardKeepaliveInterval" const val SERVER_ANYTLS_IDLE_SESSION_CHECK_INTERVAL = "serverAnyTLSIdleSessionCheckInterval" const val SERVER_ANYTLS_IDLE_SESSION_TIMEOUT = "serverAnyTLSIdleSessionTimeout" const val SERVER_ANYTLS_MIN_IDLE_SESSION = "serverAnyTLSMinIdleSession" const val SERVER_ANYTLS_DISABLE_REUSE = "serverAnyTLSDisableReuse" const val SERVER_SERVER_NAME_TO_VERIFY = "serverServerNameToVerify" const val SERVER_HYSTERIA2_OMIT_MAX_DATAGRAM_FRAME_SIZE = "serverHysteria2OmitMaxDatagramFrameSize" const val SERVER_SSH_KEEPALIVE_INTERVAL = "serverSSHKeepaliveInterval" const val SERVER_PORTS = "serverPorts" const val SERVER_HOP_INTERVAL = "serverHopInterval" const val SERVER_HOP_INTERVAL_MIN = "serverHopIntervalMin" const val SERVER_HOP_INTERVAL_MAX = "serverHopIntervalMax" const val SERVER_HYSTERIA2_BBR_PROFILE = "serverHysteria2BBRProfile" const val SERVER_HYSTERIA2_OBFS_TYPE = "serverHysteria2ObfsType" const val SERVER_HYSTERIA2_GECKO_MIN_PACKET_SIZE = "serverHysteria2GeckoMinPacketSize" const val SERVER_HYSTERIA2_GECKO_MAX_PACKET_SIZE = "serverHysteria2GeckoMaxPacketSize" const val SERVER_SNELL_VERSION = "serverSnellVersion" const val SERVER_SNELL_REUSE = "serverSnellReuse" const val SERVER_SNELL_PSK = "serverSnellPSK" const val SERVER_SNELL_USER_KEY = "serverSnellUserKey" const val SERVER_SNELL_OBFS_MODE = "serverSnellObfsMode" const val SERVER_SNELL_OBFS_HOST = "serverSnellObfsHost" const val SERVER_SNELL_MODE = "serverSnellMode" const val SERVER_OLCRTC_AUTH_PROVIDER = "serverOlcrtcAuthProvider" const val SERVER_OLCRTC_TRANSPORT = "serverOlcrtcTransport" const val SERVER_OLCRTC_ROOM_ID = "serverOlcrtcRoomId" const val SERVER_OLCRTC_ENCRYPTION_KEY = "serverOlcrtcEncryptionKey" const val SERVER_OLCRTC_DNS_SERVER = "serverOlcrtcDnsServer" const val SERVER_OLCRTC_SOCKS_HOST = "serverOlcrtcSocksHost" const val SERVER_OLCRTC_SOCKS_PORT = "serverOlcrtcSocksPort" const val SERVER_NAIVE_NO_POST_QUANTUM = "serverNaiveNoPostQuantum" const val SERVER_SHADOWQUIC_DISABLE_ALPN = "serverShadowQUICDisableALPN" const val SERVER_SHADOWQUIC_USE_SUNNYQUIC = "serverShadowQUICUseSunnyQUIC" const val SERVER_SING_UOT_CATEGORY = "serverSingUotCategory" const val SERVER_SING_MUX_CATEGORY = "serverSingMuxCategory" const val SERVER_SING_UOT = "serverSingUot" const val SERVER_SING_MUX = "serverSingMux" const val SERVER_SING_MUX_PROTOCOL = "serverSingMuxProtocol" const val SERVER_SING_MUX_MAX_CONNECTIONS = "serverSingMuxMaxConnections" const val SERVER_SING_MUX_MIN_STREAMS = "serverSingMuxMinStreams" const val SERVER_SING_MUX_MAX_STREAMS = "serverSingMuxMaxStreams" const val SERVER_SING_MUX_PADDING = "serverSingMuxPadding" const val SERVER_SING_SNELL_CATEGORY = "serverSingSnellCategory" const val EXPERIMENTAL_FLAGS = "experimentalFlags" const val BALANCER_TYPE = "balancerType" const val BALANCER_GROUP = "balancerGroup" const val BALANCER_STRATEGY = "balancerStrategy" const val BALANCER_NAME_FILTER = "balancerNameFilter" const val BALANCER_NAME_FILTER1 = "balancerNameFilter1" const val BALANCER_USE_LANDING_PROXY = "balancerUseLandingProxy" const val BALANCER_USE_FRONT_PROXY = "balancerUseFrontProxy" const val ROUTE_NAME = "routeName" const val ROUTE_DOMAIN = "routeDomain" const val ROUTE_IP = "routeIP" const val ROUTE_PORT = "routePort" const val ROUTE_SOURCE_PORT = "routeSourcePort" const val ROUTE_NETWORK = "routeNetwork" const val ROUTE_SOURCE = "routeSource" const val ROUTE_PROTOCOL = "routeProtocol" const val ROUTE_ATTRS = "routeAttrs" const val ROUTE_OUTBOUND = "routeOutbound" const val ROUTE_OUTBOUND_RULE = "routeOutboundRule" const val ROUTE_PACKAGES = "routePackages" const val ROUTE_CUSTOM_PACKAGE_NAME_OR_UID = "routeCustomPackageNameOrUid" const val ROUTE_NETWORK_TYPE = "routeNetworkType" const val ROUTE_SSID = "routeSSID" const val GROUP_NAME = "groupName" const val GROUP_TYPE = "groupType" const val GROUP_ORDER = "groupOrder" const val GROUP_FRONT_PROXY_OUTBOUND = "groupFrontProxyOutbound" const val GROUP_LANDING_PROXY_OUTBOUND = "groupLandingOutbound" const val GROUP_FRONT_PROXY = "groupFrontProxy" const val GROUP_LANDING_PROXY = "groupLandingProxy" const val GROUP_SUBSCRIPTION = "groupSubscription" const val SUBSCRIPTION_TYPE = "subscriptionType" const val SUBSCRIPTION_LINK = "subscriptionLink" const val SUBSCRIPTION_DEDUPLICATION = "subscriptionDeduplication" const val SUBSCRIPTION_UPDATE = "subscriptionUpdate" const val SUBSCRIPTION_UPDATE_WHEN_CONNECTED_ONLY = "subscriptionUpdateWhenConnectedOnly" const val SUBSCRIPTION_USER_AGENT = "subscriptionUserAgent" const val SUBSCRIPTION_AUTO_UPDATE = "subscriptionAutoUpdate" const val SUBSCRIPTION_AUTO_UPDATE_DELAY = "subscriptionAutoUpdateDelay" const val SUBSCRIPTION_LAST_UPDATED = "subscriptionLastUpdated" const val SUBSCRIPTION_BYTES_USED = "subscriptionBytesUsed" const val SUBSCRIPTION_BYTES_REMAINING = "subscriptionBytesRemaining" const val SUBSCRIPTION_EXPIRY_DATE = "subscriptionExpiryDate" const val SUBSCRIPTION_NAME_FILTER = "subscriptionNameFilter" const val SUBSCRIPTION_NAME_FILTER1 = "subscriptionNameFilter1" const val SUBSCRIPTION_HTTP_HEADERS = "subscriptionHTTPHeaders" const val SUBSCRIPTION_AGE_PRIVATE_KEY = "subscriptionAgePrivateKey" const val EDITING_ASSET_NAME = "editingAssetName" const val ASSET_NAME = "assetName" const val ASSET_URL = "assetUrl" const val TASKER_ACTION = "taskerAction" const val TASKER_PROFILE = "taskerProfile" const val TASKER_PROFILE_ID = "taskerProfileId" const val RULES_FIRST_CREATE = "rulesFirstCreate" const val DO_NOT_SHOW_RULE_EXPORT_WARNING = "doNotShowRuleExportWarning" } object TunImplementation { const val GVISOR = 0 const val SYSTEM = 1 } object RootCAProvider { const val MOZILLA = 0 const val SYSTEM = 1 const val SYSTEM_AND_USER = 2 // for https://github.com/golang/go/issues/71258 const val CUSTOM = 3 } object GroupType { const val BASIC = 0 const val SUBSCRIPTION = 1 } object SubscriptionType { const val RAW = 0 const val OOCv1 = 1 // removed const val SIP008 = 2 const val AGE = 3 } object ExtraType { const val NONE = 0 const val OOCv1 = 1 // removed const val SIP008 = 2 } object GroupOrder { const val ORIGIN = 0 const val BY_NAME = 1 const val BY_DELAY = 2 } object Action { const val SERVICE = "io.nekohasekai.sagernet.SERVICE" const val CLOSE = "io.nekohasekai.sagernet.CLOSE" const val RELOAD = "io.nekohasekai.sagernet.RELOAD" const val ABORT = "io.nekohasekai.sagernet.ABORT" const val THEME_CHANGED = "io.nekohasekai.sagernet.THEME_CHANGED" const val EXTRA_PROFILE_ID = "io.nekohasekai.sagernet.EXTRA_PROFILE_ID" } object LogLevel { const val NONE = 0 const val ERROR = 1 const val WARNING = 2 const val INFO = 3 const val DEBUG = 4 } object FabStyle { const val SagerNet = 0 const val Shadowsocks = 1 } object RouteMode { const val RULE = 0 const val GLOBAL = 1 const val DIRECT = 2 } object TLS_FRAGMENTATION_METHOD { const val TLS_RECORD_FRAGMENTATION = 0 const val TCP_SEGMENTATION = 1 const val TLS_RECORD_FRAGMENTATION_AND_TCP_SEGMENTATION = 2 }