|
|
@@ -67,145 +67,145 @@ import (
|
|
|
)
|
|
|
|
|
|
const (
|
|
|
- NetworkLatencyMultiplier = "NetworkLatencyMultiplier"
|
|
|
- TacticsWaitPeriod = "TacticsWaitPeriod"
|
|
|
- TacticsRetryPeriod = "TacticsRetryPeriod"
|
|
|
- TacticsRetryPeriodJitter = "TacticsRetryPeriodJitter"
|
|
|
- TacticsTimeout = "TacticsTimeout"
|
|
|
- ConnectionWorkerPoolSize = "ConnectionWorkerPoolSize"
|
|
|
- TunnelConnectTimeout = "TunnelConnectTimeout"
|
|
|
- EstablishTunnelTimeout = "EstablishTunnelTimeout"
|
|
|
- EstablishTunnelWorkTime = "EstablishTunnelWorkTime"
|
|
|
- EstablishTunnelPausePeriod = "EstablishTunnelPausePeriod"
|
|
|
- EstablishTunnelPausePeriodJitter = "EstablishTunnelPausePeriodJitter"
|
|
|
- EstablishTunnelServerAffinityGracePeriod = "EstablishTunnelServerAffinityGracePeriod"
|
|
|
- StaggerConnectionWorkersPeriod = "StaggerConnectionWorkersPeriod"
|
|
|
- StaggerConnectionWorkersJitter = "StaggerConnectionWorkersJitter"
|
|
|
- LimitIntensiveConnectionWorkers = "LimitIntensiveConnectionWorkers"
|
|
|
- IgnoreHandshakeStatsRegexps = "IgnoreHandshakeStatsRegexps"
|
|
|
- PrioritizeTunnelProtocolsProbability = "PrioritizeTunnelProtocolsProbability"
|
|
|
- PrioritizeTunnelProtocols = "PrioritizeTunnelProtocols"
|
|
|
- PrioritizeTunnelProtocolsCandidateCount = "PrioritizeTunnelProtocolsCandidateCount"
|
|
|
- InitialLimitTunnelProtocolsProbability = "InitialLimitTunnelProtocolsProbability"
|
|
|
- InitialLimitTunnelProtocols = "InitialLimitTunnelProtocols"
|
|
|
- InitialLimitTunnelProtocolsCandidateCount = "InitialLimitTunnelProtocolsCandidateCount"
|
|
|
- LimitTunnelProtocolsProbability = "LimitTunnelProtocolsProbability"
|
|
|
- LimitTunnelProtocols = "LimitTunnelProtocols"
|
|
|
- LimitTLSProfilesProbability = "LimitTLSProfilesProbability"
|
|
|
- LimitTLSProfiles = "LimitTLSProfiles"
|
|
|
- LimitQUICVersionsProbability = "LimitQUICVersionsProbability"
|
|
|
- LimitQUICVersions = "LimitQUICVersions"
|
|
|
- FragmentorProbability = "FragmentorProbability"
|
|
|
- FragmentorLimitProtocols = "FragmentorLimitProtocols"
|
|
|
- FragmentorMinTotalBytes = "FragmentorMinTotalBytes"
|
|
|
- FragmentorMaxTotalBytes = "FragmentorMaxTotalBytes"
|
|
|
- FragmentorMinWriteBytes = "FragmentorMinWriteBytes"
|
|
|
- FragmentorMaxWriteBytes = "FragmentorMaxWriteBytes"
|
|
|
- FragmentorMinDelay = "FragmentorMinDelay"
|
|
|
- FragmentorMaxDelay = "FragmentorMaxDelay"
|
|
|
- FragmentorDownstreamProbability = "FragmentorDownstreamProbability"
|
|
|
- FragmentorDownstreamLimitProtocols = "FragmentorDownstreamLimitProtocols"
|
|
|
- FragmentorDownstreamMinTotalBytes = "FragmentorDownstreamMinTotalBytes"
|
|
|
- FragmentorDownstreamMaxTotalBytes = "FragmentorDownstreamMaxTotalBytes"
|
|
|
- FragmentorDownstreamMinWriteBytes = "FragmentorDownstreamMinWriteBytes"
|
|
|
- FragmentorDownstreamMaxWriteBytes = "FragmentorDownstreamMaxWriteBytes"
|
|
|
- FragmentorDownstreamMinDelay = "FragmentorDownstreamMinDelay"
|
|
|
- FragmentorDownstreamMaxDelay = "FragmentorDownstreamMaxDelay"
|
|
|
- ObfuscatedSSHMinPadding = "ObfuscatedSSHMinPadding"
|
|
|
- ObfuscatedSSHMaxPadding = "ObfuscatedSSHMaxPadding"
|
|
|
- TunnelOperateShutdownTimeout = "TunnelOperateShutdownTimeout"
|
|
|
- TunnelPortForwardDialTimeout = "TunnelPortForwardDialTimeout"
|
|
|
- TunnelRateLimits = "TunnelRateLimits"
|
|
|
- AdditionalCustomHeaders = "AdditionalCustomHeaders"
|
|
|
- SpeedTestPaddingMinBytes = "SpeedTestPaddingMinBytes"
|
|
|
- SpeedTestPaddingMaxBytes = "SpeedTestPaddingMaxBytes"
|
|
|
- SpeedTestMaxSampleCount = "SpeedTestMaxSampleCount"
|
|
|
- SSHKeepAliveSpeedTestSampleProbability = "SSHKeepAliveSpeedTestSampleProbability"
|
|
|
- SSHKeepAlivePaddingMinBytes = "SSHKeepAlivePaddingMinBytes"
|
|
|
- SSHKeepAlivePaddingMaxBytes = "SSHKeepAlivePaddingMaxBytes"
|
|
|
- SSHKeepAlivePeriodMin = "SSHKeepAlivePeriodMin"
|
|
|
- SSHKeepAlivePeriodMax = "SSHKeepAlivePeriodMax"
|
|
|
- SSHKeepAlivePeriodicTimeout = "SSHKeepAlivePeriodicTimeout"
|
|
|
- SSHKeepAlivePeriodicInactivePeriod = "SSHKeepAlivePeriodicInactivePeriod"
|
|
|
- SSHKeepAliveProbeTimeout = "SSHKeepAliveProbeTimeout"
|
|
|
- SSHKeepAliveProbeInactivePeriod = "SSHKeepAliveProbeInactivePeriod"
|
|
|
- HTTPProxyOriginServerTimeout = "HTTPProxyOriginServerTimeout"
|
|
|
- HTTPProxyMaxIdleConnectionsPerHost = "HTTPProxyMaxIdleConnectionsPerHost"
|
|
|
- FetchRemoteServerListTimeout = "FetchRemoteServerListTimeout"
|
|
|
- FetchRemoteServerListRetryPeriod = "FetchRemoteServerListRetryPeriod"
|
|
|
- FetchRemoteServerListStalePeriod = "FetchRemoteServerListStalePeriod"
|
|
|
- RemoteServerListSignaturePublicKey = "RemoteServerListSignaturePublicKey"
|
|
|
- RemoteServerListURLs = "RemoteServerListURLs"
|
|
|
- ObfuscatedServerListRootURLs = "ObfuscatedServerListRootURLs"
|
|
|
- PsiphonAPIRequestTimeout = "PsiphonAPIRequestTimeout"
|
|
|
- PsiphonAPIStatusRequestPeriodMin = "PsiphonAPIStatusRequestPeriodMin"
|
|
|
- PsiphonAPIStatusRequestPeriodMax = "PsiphonAPIStatusRequestPeriodMax"
|
|
|
- PsiphonAPIStatusRequestShortPeriodMin = "PsiphonAPIStatusRequestShortPeriodMin"
|
|
|
- PsiphonAPIStatusRequestShortPeriodMax = "PsiphonAPIStatusRequestShortPeriodMax"
|
|
|
- PsiphonAPIStatusRequestPaddingMinBytes = "PsiphonAPIStatusRequestPaddingMinBytes"
|
|
|
- PsiphonAPIStatusRequestPaddingMaxBytes = "PsiphonAPIStatusRequestPaddingMaxBytes"
|
|
|
- PsiphonAPIPersistentStatsMaxCount = "PsiphonAPIPersistentStatsMaxCount"
|
|
|
- PsiphonAPIConnectedRequestPeriod = "PsiphonAPIConnectedRequestPeriod"
|
|
|
- PsiphonAPIConnectedRequestRetryPeriod = "PsiphonAPIConnectedRequestRetryPeriod"
|
|
|
- FetchSplitTunnelRoutesTimeout = "FetchSplitTunnelRoutesTimeout"
|
|
|
- SplitTunnelRoutesURLFormat = "SplitTunnelRoutesURLFormat"
|
|
|
- SplitTunnelRoutesSignaturePublicKey = "SplitTunnelRoutesSignaturePublicKey"
|
|
|
- SplitTunnelDNSServer = "SplitTunnelDNSServer"
|
|
|
- FetchUpgradeTimeout = "FetchUpgradeTimeout"
|
|
|
- FetchUpgradeRetryPeriod = "FetchUpgradeRetryPeriod"
|
|
|
- FetchUpgradeStalePeriod = "FetchUpgradeStalePeriod"
|
|
|
- UpgradeDownloadURLs = "UpgradeDownloadURLs"
|
|
|
- UpgradeDownloadClientVersionHeader = "UpgradeDownloadClientVersionHeader"
|
|
|
- TotalBytesTransferredNoticePeriod = "TotalBytesTransferredNoticePeriod"
|
|
|
- MeekDialDomainsOnly = "MeekDialDomainsOnly"
|
|
|
- MeekLimitBufferSizes = "MeekLimitBufferSizes"
|
|
|
- MeekCookieMaxPadding = "MeekCookieMaxPadding"
|
|
|
- MeekFullReceiveBufferLength = "MeekFullReceiveBufferLength"
|
|
|
- MeekReadPayloadChunkLength = "MeekReadPayloadChunkLength"
|
|
|
- MeekLimitedFullReceiveBufferLength = "MeekLimitedFullReceiveBufferLength"
|
|
|
- MeekLimitedReadPayloadChunkLength = "MeekLimitedReadPayloadChunkLength"
|
|
|
- MeekMinPollInterval = "MeekMinPollInterval"
|
|
|
- MeekMinPollIntervalJitter = "MeekMinPollIntervalJitter"
|
|
|
- MeekMaxPollInterval = "MeekMaxPollInterval"
|
|
|
- MeekMaxPollIntervalJitter = "MeekMaxPollIntervalJitter"
|
|
|
- MeekPollIntervalMultiplier = "MeekPollIntervalMultiplier"
|
|
|
- MeekPollIntervalJitter = "MeekPollIntervalJitter"
|
|
|
- MeekApplyPollIntervalMultiplierProbability = "MeekApplyPollIntervalMultiplierProbability"
|
|
|
- MeekRoundTripRetryDeadline = "MeekRoundTripRetryDeadline"
|
|
|
- MeekRoundTripRetryMinDelay = "MeekRoundTripRetryMinDelay"
|
|
|
- MeekRoundTripRetryMaxDelay = "MeekRoundTripRetryMaxDelay"
|
|
|
- MeekRoundTripRetryMultiplier = "MeekRoundTripRetryMultiplier"
|
|
|
- MeekRoundTripTimeout = "MeekRoundTripTimeout"
|
|
|
- TransformHostNameProbability = "TransformHostNameProbability"
|
|
|
- PickUserAgentProbability = "PickUserAgentProbability"
|
|
|
- LivenessTestMinUpstreamBytes = "LivenessTestMinUpstreamBytes"
|
|
|
- LivenessTestMaxUpstreamBytes = "LivenessTestMaxUpstreamBytes"
|
|
|
- LivenessTestMinDownstreamBytes = "LivenessTestMinDownstreamBytes"
|
|
|
- LivenessTestMaxDownstreamBytes = "LivenessTestMaxDownstreamBytes"
|
|
|
- ReplayCandidateCount = "ReplayCandidateCount"
|
|
|
- ReplayDialParametersTTL = "ReplayDialParametersTTL"
|
|
|
- ReplayTargetUpstreamBytes = "ReplayTargetUpstreamBytes"
|
|
|
- ReplayTargetDownstreamBytes = "ReplayTargetDownstreamBytes"
|
|
|
- ReplaySSH = "ReplaySSH"
|
|
|
- ReplayObfuscatorPadding = "ReplayObfuscatorPadding"
|
|
|
- ReplayFragmentor = "ReplayFragmentor"
|
|
|
- ReplayTLSProfile = "ReplayTLSProfile"
|
|
|
- ReplayRandomizedTLSProfile = "ReplayRandomizedTLSProfile"
|
|
|
- ReplayFronting = "ReplayFronting"
|
|
|
- ReplayHostname = "ReplayHostname"
|
|
|
- ReplayQUICVersion = "ReplayQUICVersion"
|
|
|
- ReplayObfuscatedQUIC = "ReplayObfuscatedQUIC"
|
|
|
- ReplayLivenessTest = "ReplayLivenessTest"
|
|
|
- ReplayUserAgent = "ReplayUserAgent"
|
|
|
- ReplayAPIRequestPadding = "ReplayAPIRequestPadding"
|
|
|
- APIRequestUpstreamPaddingMinBytes = "APIRequestUpstreamPaddingMinBytes"
|
|
|
- APIRequestUpstreamPaddingMaxBytes = "APIRequestUpstreamPaddingMaxBytes"
|
|
|
- APIRequestDownstreamPaddingMinBytes = "APIRequestDownstreamPaddingMinBytes"
|
|
|
- APIRequestDownstreamPaddingMaxBytes = "APIRequestDownstreamPaddingMaxBytes"
|
|
|
- PersistentStatsMaxStoreRecords = "PersistentStatsMaxStoreRecords"
|
|
|
- PersistentStatsMaxSendBytes = "PersistentStatsMaxSendBytes"
|
|
|
- RecordRemoteServerListPersistentStats = "RecordRemoteServerListPersistentStats"
|
|
|
- RecordFailedTunnelPersistentStats = "RecordFailedTunnelPersistentStats"
|
|
|
+ NetworkLatencyMultiplier = "NetworkLatencyMultiplier"
|
|
|
+ TacticsWaitPeriod = "TacticsWaitPeriod"
|
|
|
+ TacticsRetryPeriod = "TacticsRetryPeriod"
|
|
|
+ TacticsRetryPeriodJitter = "TacticsRetryPeriodJitter"
|
|
|
+ TacticsTimeout = "TacticsTimeout"
|
|
|
+ ConnectionWorkerPoolSize = "ConnectionWorkerPoolSize"
|
|
|
+ TunnelConnectTimeout = "TunnelConnectTimeout"
|
|
|
+ EstablishTunnelTimeout = "EstablishTunnelTimeout"
|
|
|
+ EstablishTunnelWorkTime = "EstablishTunnelWorkTime"
|
|
|
+ EstablishTunnelPausePeriod = "EstablishTunnelPausePeriod"
|
|
|
+ EstablishTunnelPausePeriodJitter = "EstablishTunnelPausePeriodJitter"
|
|
|
+ EstablishTunnelServerAffinityGracePeriod = "EstablishTunnelServerAffinityGracePeriod"
|
|
|
+ StaggerConnectionWorkersPeriod = "StaggerConnectionWorkersPeriod"
|
|
|
+ StaggerConnectionWorkersJitter = "StaggerConnectionWorkersJitter"
|
|
|
+ LimitIntensiveConnectionWorkers = "LimitIntensiveConnectionWorkers"
|
|
|
+ IgnoreHandshakeStatsRegexps = "IgnoreHandshakeStatsRegexps"
|
|
|
+ PrioritizeTunnelProtocolsProbability = "PrioritizeTunnelProtocolsProbability"
|
|
|
+ PrioritizeTunnelProtocols = "PrioritizeTunnelProtocols"
|
|
|
+ PrioritizeTunnelProtocolsCandidateCount = "PrioritizeTunnelProtocolsCandidateCount"
|
|
|
+ InitialLimitTunnelProtocolsProbability = "InitialLimitTunnelProtocolsProbability"
|
|
|
+ InitialLimitTunnelProtocols = "InitialLimitTunnelProtocols"
|
|
|
+ InitialLimitTunnelProtocolsCandidateCount = "InitialLimitTunnelProtocolsCandidateCount"
|
|
|
+ LimitTunnelProtocolsProbability = "LimitTunnelProtocolsProbability"
|
|
|
+ LimitTunnelProtocols = "LimitTunnelProtocols"
|
|
|
+ LimitTLSProfilesProbability = "LimitTLSProfilesProbability"
|
|
|
+ LimitTLSProfiles = "LimitTLSProfiles"
|
|
|
+ LimitQUICVersionsProbability = "LimitQUICVersionsProbability"
|
|
|
+ LimitQUICVersions = "LimitQUICVersions"
|
|
|
+ FragmentorProbability = "FragmentorProbability"
|
|
|
+ FragmentorLimitProtocols = "FragmentorLimitProtocols"
|
|
|
+ FragmentorMinTotalBytes = "FragmentorMinTotalBytes"
|
|
|
+ FragmentorMaxTotalBytes = "FragmentorMaxTotalBytes"
|
|
|
+ FragmentorMinWriteBytes = "FragmentorMinWriteBytes"
|
|
|
+ FragmentorMaxWriteBytes = "FragmentorMaxWriteBytes"
|
|
|
+ FragmentorMinDelay = "FragmentorMinDelay"
|
|
|
+ FragmentorMaxDelay = "FragmentorMaxDelay"
|
|
|
+ FragmentorDownstreamProbability = "FragmentorDownstreamProbability"
|
|
|
+ FragmentorDownstreamLimitProtocols = "FragmentorDownstreamLimitProtocols"
|
|
|
+ FragmentorDownstreamMinTotalBytes = "FragmentorDownstreamMinTotalBytes"
|
|
|
+ FragmentorDownstreamMaxTotalBytes = "FragmentorDownstreamMaxTotalBytes"
|
|
|
+ FragmentorDownstreamMinWriteBytes = "FragmentorDownstreamMinWriteBytes"
|
|
|
+ FragmentorDownstreamMaxWriteBytes = "FragmentorDownstreamMaxWriteBytes"
|
|
|
+ FragmentorDownstreamMinDelay = "FragmentorDownstreamMinDelay"
|
|
|
+ FragmentorDownstreamMaxDelay = "FragmentorDownstreamMaxDelay"
|
|
|
+ ObfuscatedSSHMinPadding = "ObfuscatedSSHMinPadding"
|
|
|
+ ObfuscatedSSHMaxPadding = "ObfuscatedSSHMaxPadding"
|
|
|
+ TunnelOperateShutdownTimeout = "TunnelOperateShutdownTimeout"
|
|
|
+ TunnelPortForwardDialTimeout = "TunnelPortForwardDialTimeout"
|
|
|
+ TunnelRateLimits = "TunnelRateLimits"
|
|
|
+ AdditionalCustomHeaders = "AdditionalCustomHeaders"
|
|
|
+ SpeedTestPaddingMinBytes = "SpeedTestPaddingMinBytes"
|
|
|
+ SpeedTestPaddingMaxBytes = "SpeedTestPaddingMaxBytes"
|
|
|
+ SpeedTestMaxSampleCount = "SpeedTestMaxSampleCount"
|
|
|
+ SSHKeepAliveSpeedTestSampleProbability = "SSHKeepAliveSpeedTestSampleProbability"
|
|
|
+ SSHKeepAlivePaddingMinBytes = "SSHKeepAlivePaddingMinBytes"
|
|
|
+ SSHKeepAlivePaddingMaxBytes = "SSHKeepAlivePaddingMaxBytes"
|
|
|
+ SSHKeepAlivePeriodMin = "SSHKeepAlivePeriodMin"
|
|
|
+ SSHKeepAlivePeriodMax = "SSHKeepAlivePeriodMax"
|
|
|
+ SSHKeepAlivePeriodicTimeout = "SSHKeepAlivePeriodicTimeout"
|
|
|
+ SSHKeepAlivePeriodicInactivePeriod = "SSHKeepAlivePeriodicInactivePeriod"
|
|
|
+ SSHKeepAliveProbeTimeout = "SSHKeepAliveProbeTimeout"
|
|
|
+ SSHKeepAliveProbeInactivePeriod = "SSHKeepAliveProbeInactivePeriod"
|
|
|
+ HTTPProxyOriginServerTimeout = "HTTPProxyOriginServerTimeout"
|
|
|
+ HTTPProxyMaxIdleConnectionsPerHost = "HTTPProxyMaxIdleConnectionsPerHost"
|
|
|
+ FetchRemoteServerListTimeout = "FetchRemoteServerListTimeout"
|
|
|
+ FetchRemoteServerListRetryPeriod = "FetchRemoteServerListRetryPeriod"
|
|
|
+ FetchRemoteServerListStalePeriod = "FetchRemoteServerListStalePeriod"
|
|
|
+ RemoteServerListSignaturePublicKey = "RemoteServerListSignaturePublicKey"
|
|
|
+ RemoteServerListURLs = "RemoteServerListURLs"
|
|
|
+ ObfuscatedServerListRootURLs = "ObfuscatedServerListRootURLs"
|
|
|
+ PsiphonAPIRequestTimeout = "PsiphonAPIRequestTimeout"
|
|
|
+ PsiphonAPIStatusRequestPeriodMin = "PsiphonAPIStatusRequestPeriodMin"
|
|
|
+ PsiphonAPIStatusRequestPeriodMax = "PsiphonAPIStatusRequestPeriodMax"
|
|
|
+ PsiphonAPIStatusRequestShortPeriodMin = "PsiphonAPIStatusRequestShortPeriodMin"
|
|
|
+ PsiphonAPIStatusRequestShortPeriodMax = "PsiphonAPIStatusRequestShortPeriodMax"
|
|
|
+ PsiphonAPIStatusRequestPaddingMinBytes = "PsiphonAPIStatusRequestPaddingMinBytes"
|
|
|
+ PsiphonAPIStatusRequestPaddingMaxBytes = "PsiphonAPIStatusRequestPaddingMaxBytes"
|
|
|
+ PsiphonAPIPersistentStatsMaxCount = "PsiphonAPIPersistentStatsMaxCount"
|
|
|
+ PsiphonAPIConnectedRequestPeriod = "PsiphonAPIConnectedRequestPeriod"
|
|
|
+ PsiphonAPIConnectedRequestRetryPeriod = "PsiphonAPIConnectedRequestRetryPeriod"
|
|
|
+ FetchSplitTunnelRoutesTimeout = "FetchSplitTunnelRoutesTimeout"
|
|
|
+ SplitTunnelRoutesURLFormat = "SplitTunnelRoutesURLFormat"
|
|
|
+ SplitTunnelRoutesSignaturePublicKey = "SplitTunnelRoutesSignaturePublicKey"
|
|
|
+ SplitTunnelDNSServer = "SplitTunnelDNSServer"
|
|
|
+ FetchUpgradeTimeout = "FetchUpgradeTimeout"
|
|
|
+ FetchUpgradeRetryPeriod = "FetchUpgradeRetryPeriod"
|
|
|
+ FetchUpgradeStalePeriod = "FetchUpgradeStalePeriod"
|
|
|
+ UpgradeDownloadURLs = "UpgradeDownloadURLs"
|
|
|
+ UpgradeDownloadClientVersionHeader = "UpgradeDownloadClientVersionHeader"
|
|
|
+ TotalBytesTransferredNoticePeriod = "TotalBytesTransferredNoticePeriod"
|
|
|
+ MeekDialDomainsOnly = "MeekDialDomainsOnly"
|
|
|
+ MeekLimitBufferSizes = "MeekLimitBufferSizes"
|
|
|
+ MeekCookieMaxPadding = "MeekCookieMaxPadding"
|
|
|
+ MeekFullReceiveBufferLength = "MeekFullReceiveBufferLength"
|
|
|
+ MeekReadPayloadChunkLength = "MeekReadPayloadChunkLength"
|
|
|
+ MeekLimitedFullReceiveBufferLength = "MeekLimitedFullReceiveBufferLength"
|
|
|
+ MeekLimitedReadPayloadChunkLength = "MeekLimitedReadPayloadChunkLength"
|
|
|
+ MeekMinPollInterval = "MeekMinPollInterval"
|
|
|
+ MeekMinPollIntervalJitter = "MeekMinPollIntervalJitter"
|
|
|
+ MeekMaxPollInterval = "MeekMaxPollInterval"
|
|
|
+ MeekMaxPollIntervalJitter = "MeekMaxPollIntervalJitter"
|
|
|
+ MeekPollIntervalMultiplier = "MeekPollIntervalMultiplier"
|
|
|
+ MeekPollIntervalJitter = "MeekPollIntervalJitter"
|
|
|
+ MeekApplyPollIntervalMultiplierProbability = "MeekApplyPollIntervalMultiplierProbability"
|
|
|
+ MeekRoundTripRetryDeadline = "MeekRoundTripRetryDeadline"
|
|
|
+ MeekRoundTripRetryMinDelay = "MeekRoundTripRetryMinDelay"
|
|
|
+ MeekRoundTripRetryMaxDelay = "MeekRoundTripRetryMaxDelay"
|
|
|
+ MeekRoundTripRetryMultiplier = "MeekRoundTripRetryMultiplier"
|
|
|
+ MeekRoundTripTimeout = "MeekRoundTripTimeout"
|
|
|
+ TransformHostNameProbability = "TransformHostNameProbability"
|
|
|
+ PickUserAgentProbability = "PickUserAgentProbability"
|
|
|
+ LivenessTestMinUpstreamBytes = "LivenessTestMinUpstreamBytes"
|
|
|
+ LivenessTestMaxUpstreamBytes = "LivenessTestMaxUpstreamBytes"
|
|
|
+ LivenessTestMinDownstreamBytes = "LivenessTestMinDownstreamBytes"
|
|
|
+ LivenessTestMaxDownstreamBytes = "LivenessTestMaxDownstreamBytes"
|
|
|
+ ReplayCandidateCount = "ReplayCandidateCount"
|
|
|
+ ReplayDialParametersTTL = "ReplayDialParametersTTL"
|
|
|
+ ReplayTargetUpstreamBytes = "ReplayTargetUpstreamBytes"
|
|
|
+ ReplayTargetDownstreamBytes = "ReplayTargetDownstreamBytes"
|
|
|
+ ReplaySSH = "ReplaySSH"
|
|
|
+ ReplayObfuscatorPadding = "ReplayObfuscatorPadding"
|
|
|
+ ReplayFragmentor = "ReplayFragmentor"
|
|
|
+ ReplayTLSProfile = "ReplayTLSProfile"
|
|
|
+ ReplayRandomizedTLSProfile = "ReplayRandomizedTLSProfile"
|
|
|
+ ReplayFronting = "ReplayFronting"
|
|
|
+ ReplayHostname = "ReplayHostname"
|
|
|
+ ReplayQUICVersion = "ReplayQUICVersion"
|
|
|
+ ReplayObfuscatedQUIC = "ReplayObfuscatedQUIC"
|
|
|
+ ReplayLivenessTest = "ReplayLivenessTest"
|
|
|
+ ReplayUserAgent = "ReplayUserAgent"
|
|
|
+ ReplayAPIRequestPadding = "ReplayAPIRequestPadding"
|
|
|
+ APIRequestUpstreamPaddingMinBytes = "APIRequestUpstreamPaddingMinBytes"
|
|
|
+ APIRequestUpstreamPaddingMaxBytes = "APIRequestUpstreamPaddingMaxBytes"
|
|
|
+ APIRequestDownstreamPaddingMinBytes = "APIRequestDownstreamPaddingMinBytes"
|
|
|
+ APIRequestDownstreamPaddingMaxBytes = "APIRequestDownstreamPaddingMaxBytes"
|
|
|
+ PersistentStatsMaxStoreRecords = "PersistentStatsMaxStoreRecords"
|
|
|
+ PersistentStatsMaxSendBytes = "PersistentStatsMaxSendBytes"
|
|
|
+ RecordRemoteServerListPersistentStatsProbability = "RecordRemoteServerListPersistentStatsProbability"
|
|
|
+ RecordFailedTunnelPersistentStatsProbability = "RecordFailedTunnelPersistentStatsProbability"
|
|
|
)
|
|
|
|
|
|
const (
|
|
|
@@ -416,10 +416,10 @@ var defaultClientParameters = map[string]struct {
|
|
|
APIRequestDownstreamPaddingMinBytes: {value: 0, minimum: 0},
|
|
|
APIRequestDownstreamPaddingMaxBytes: {value: 1024, minimum: 0},
|
|
|
|
|
|
- PersistentStatsMaxStoreRecords: {value: 200, minimum: 1},
|
|
|
- PersistentStatsMaxSendBytes: {value: 65536, minimum: 1},
|
|
|
- RecordRemoteServerListPersistentStats: {value: true},
|
|
|
- RecordFailedTunnelPersistentStats: {value: true},
|
|
|
+ PersistentStatsMaxStoreRecords: {value: 200, minimum: 1},
|
|
|
+ PersistentStatsMaxSendBytes: {value: 65536, minimum: 1},
|
|
|
+ RecordRemoteServerListPersistentStatsProbability: {value: 1.0, minimum: 0.0},
|
|
|
+ RecordFailedTunnelPersistentStatsProbability: {value: 0.0, minimum: 0.0},
|
|
|
}
|
|
|
|
|
|
// IsServerSideOnly indicates if the parameter specified by name is used
|