syntax = "proto3"; package xray.proxy.freedom; option csharp_namespace = "Xray.Proxy.Freedom"; option go_package = "github.com/xtls/xray-core/proxy/freedom"; option java_package = "com.xray.proxy.freedom"; option java_multiple_files = true; import "common/protocol/server_spec.proto"; message DestinationOverride { xray.common.protocol.ServerEndpoint server = 1; } message Fragment { uint64 packets_from = 1; uint64 packets_to = 2; uint64 length_min = 3; uint64 length_max = 4; uint64 interval_min = 5; uint64 interval_max = 6; } message Noise { uint64 length_min = 1; uint64 length_max = 2; uint64 delay_min = 3; uint64 delay_max = 4; bytes str_noise = 5; } message Config { enum DomainStrategy { AS_IS = 0; USE_IP = 1; USE_IP4 = 2; USE_IP6 = 3; USE_IP46 = 4; USE_IP64 = 5; FORCE_IP = 6; FORCE_IP4 = 7; FORCE_IP6 = 8; FORCE_IP46 = 9; FORCE_IP64 = 10; } DomainStrategy domain_strategy = 1; uint32 timeout = 2 [deprecated = true]; DestinationOverride destination_override = 3; uint32 user_level = 4; Fragment fragment = 5; uint32 proxy_protocol = 6; repeated Noise noises = 7; }