Răsfoiți Sursa

Remove annotation

Rod Hynes 4 luni în urmă
părinte
comite
d737217e42
31 a modificat fișierele cu 316 adăugiri și 316 ștergeri
  1. 16 16
      psiphon/server/pb/psiphond/base_params.pb.go
  2. 34 34
      psiphon/server/pb/psiphond/dial_params.pb.go
  3. 3 3
      psiphon/server/pb/psiphond/domain_bytes.pb.go
  4. 3 3
      psiphon/server/pb/psiphond/failed_tunnel.pb.go
  5. 20 20
      psiphon/server/pb/psiphond/inproxy_broker.pb.go
  6. 48 48
      psiphon/server/pb/psiphond/inproxy_dial_params.pb.go
  7. 11 11
      psiphon/server/pb/psiphond/irregular_tunnel.pb.go
  8. 2 2
      psiphon/server/pb/psiphond/orphan_packet.pb.go
  9. 6 6
      psiphon/server/pb/psiphond/psiphond.pb.go
  10. 4 4
      psiphon/server/pb/psiphond/remote_server_list.pb.go
  11. 5 5
      psiphon/server/pb/psiphond/server_blocklist.pb.go
  12. 5 5
      psiphon/server/pb/psiphond/server_load.pb.go
  13. 2 2
      psiphon/server/pb/psiphond/server_packet.pb.go
  14. 2 2
      psiphon/server/pb/psiphond/server_panic.pb.go
  15. 5 5
      psiphon/server/pb/psiphond/server_tunnel.pb.go
  16. 6 6
      psiphon/server/pb/psiphond/tactics.pb.go
  17. 2 2
      psiphon/server/pb/psiphond/unique_user.pb.go
  18. 2 2
      psiphon/server/pb/router/router.pb.go
  19. 14 14
      psiphon/server/proto/ca.psiphon.psiphond/base_params.proto
  20. 32 32
      psiphon/server/proto/ca.psiphon.psiphond/dial_params.proto
  21. 1 1
      psiphon/server/proto/ca.psiphon.psiphond/domain_bytes.proto
  22. 1 1
      psiphon/server/proto/ca.psiphon.psiphond/failed_tunnel.proto
  23. 18 18
      psiphon/server/proto/ca.psiphon.psiphond/inproxy_broker.proto
  24. 46 46
      psiphon/server/proto/ca.psiphon.psiphond/inproxy_dial_params.proto
  25. 9 9
      psiphon/server/proto/ca.psiphon.psiphond/irregular_tunnel.proto
  26. 4 4
      psiphon/server/proto/ca.psiphon.psiphond/psiphond.proto
  27. 2 2
      psiphon/server/proto/ca.psiphon.psiphond/remote_server_list.proto
  28. 3 3
      psiphon/server/proto/ca.psiphon.psiphond/server_blocklist.proto
  29. 3 3
      psiphon/server/proto/ca.psiphon.psiphond/server_load.proto
  30. 3 3
      psiphon/server/proto/ca.psiphon.psiphond/server_tunnel.proto
  31. 4 4
      psiphon/server/proto/ca.psiphon.psiphond/tactics.proto

+ 16 - 16
psiphon/server/pb/psiphond/base_params.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/base_params.proto
 // source: ca.psiphon.psiphond/base_params.proto
 
 
 package psiphond
 package psiphond
@@ -24,24 +24,24 @@ const (
 
 
 type BaseParams struct {
 type BaseParams struct {
 	state                 protoimpl.MessageState `protogen:"open.v1"`
 	state                 protoimpl.MessageState `protogen:"open.v1"`
-	ClientAsn             *string                `protobuf:"bytes,1,opt,name=client_asn,json=clientAsn,proto3,oneof" json:"client_asn,omitempty"`                  //LowCardinality
-	ClientAso             *string                `protobuf:"bytes,2,opt,name=client_aso,json=clientAso,proto3,oneof" json:"client_aso,omitempty"`                  //LowCardinality
-	ClientBuildRev        *string                `protobuf:"bytes,3,opt,name=client_build_rev,json=clientBuildRev,proto3,oneof" json:"client_build_rev,omitempty"` //LowCardinality
-	ClientCity            *string                `protobuf:"bytes,4,opt,name=client_city,json=clientCity,proto3,oneof" json:"client_city,omitempty"`               //LowCardinality
-	ClientFeatures        []string               `protobuf:"bytes,5,rep,name=client_features,json=clientFeatures,proto3" json:"client_features,omitempty"`         //LowCardinality
-	ClientIsp             *string                `protobuf:"bytes,6,opt,name=client_isp,json=clientIsp,proto3,oneof" json:"client_isp,omitempty"`                  //LowCardinality
-	ClientPlatform        *string                `protobuf:"bytes,7,opt,name=client_platform,json=clientPlatform,proto3,oneof" json:"client_platform,omitempty"`   //LowCardinality
-	ClientRegion          *string                `protobuf:"bytes,8,opt,name=client_region,json=clientRegion,proto3,oneof" json:"client_region,omitempty"`         //LowCardinality
+	ClientAsn             *string                `protobuf:"bytes,1,opt,name=client_asn,json=clientAsn,proto3,oneof" json:"client_asn,omitempty"`
+	ClientAso             *string                `protobuf:"bytes,2,opt,name=client_aso,json=clientAso,proto3,oneof" json:"client_aso,omitempty"`
+	ClientBuildRev        *string                `protobuf:"bytes,3,opt,name=client_build_rev,json=clientBuildRev,proto3,oneof" json:"client_build_rev,omitempty"`
+	ClientCity            *string                `protobuf:"bytes,4,opt,name=client_city,json=clientCity,proto3,oneof" json:"client_city,omitempty"`
+	ClientFeatures        []string               `protobuf:"bytes,5,rep,name=client_features,json=clientFeatures,proto3" json:"client_features,omitempty"`
+	ClientIsp             *string                `protobuf:"bytes,6,opt,name=client_isp,json=clientIsp,proto3,oneof" json:"client_isp,omitempty"`
+	ClientPlatform        *string                `protobuf:"bytes,7,opt,name=client_platform,json=clientPlatform,proto3,oneof" json:"client_platform,omitempty"`
+	ClientRegion          *string                `protobuf:"bytes,8,opt,name=client_region,json=clientRegion,proto3,oneof" json:"client_region,omitempty"`
 	ClientVersion         *int64                 `protobuf:"varint,9,opt,name=client_version,json=clientVersion,proto3,oneof" json:"client_version,omitempty"`
 	ClientVersion         *int64                 `protobuf:"varint,9,opt,name=client_version,json=clientVersion,proto3,oneof" json:"client_version,omitempty"`
 	DeviceLocation        *string                `protobuf:"bytes,10,opt,name=device_location,json=deviceLocation,proto3,oneof" json:"device_location,omitempty"` //device_location uses geohash encoding
 	DeviceLocation        *string                `protobuf:"bytes,10,opt,name=device_location,json=deviceLocation,proto3,oneof" json:"device_location,omitempty"` //device_location uses geohash encoding
-	DeviceRegion          *string                `protobuf:"bytes,11,opt,name=device_region,json=deviceRegion,proto3,oneof" json:"device_region,omitempty"`       //LowCardinality
+	DeviceRegion          *string                `protobuf:"bytes,11,opt,name=device_region,json=deviceRegion,proto3,oneof" json:"device_region,omitempty"`
 	SessionId             *string                `protobuf:"bytes,12,opt,name=session_id,json=sessionId,proto3,oneof" json:"session_id,omitempty"`
 	SessionId             *string                `protobuf:"bytes,12,opt,name=session_id,json=sessionId,proto3,oneof" json:"session_id,omitempty"`
-	SponsorId             *string                `protobuf:"bytes,13,opt,name=sponsor_id,json=sponsorId,proto3,oneof" json:"sponsor_id,omitempty"`                                    //LowCardinality
-	PropagationChannelId  *string                `protobuf:"bytes,14,opt,name=propagation_channel_id,json=propagationChannelId,proto3,oneof" json:"propagation_channel_id,omitempty"` //LowCardinality
-	AppliedTacticsTag     *string                `protobuf:"bytes,15,opt,name=applied_tactics_tag,json=appliedTacticsTag,proto3,oneof" json:"applied_tactics_tag,omitempty"`          //LowCardinality
-	EgressRegion          *string                `protobuf:"bytes,16,opt,name=egress_region,json=egressRegion,proto3,oneof" json:"egress_region,omitempty"`                           //LowCardinality
+	SponsorId             *string                `protobuf:"bytes,13,opt,name=sponsor_id,json=sponsorId,proto3,oneof" json:"sponsor_id,omitempty"`
+	PropagationChannelId  *string                `protobuf:"bytes,14,opt,name=propagation_channel_id,json=propagationChannelId,proto3,oneof" json:"propagation_channel_id,omitempty"`
+	AppliedTacticsTag     *string                `protobuf:"bytes,15,opt,name=applied_tactics_tag,json=appliedTacticsTag,proto3,oneof" json:"applied_tactics_tag,omitempty"`
+	EgressRegion          *string                `protobuf:"bytes,16,opt,name=egress_region,json=egressRegion,proto3,oneof" json:"egress_region,omitempty"`
 	LastConnected         *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=last_connected,json=lastConnected,proto3,oneof" json:"last_connected,omitempty"`
 	LastConnected         *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=last_connected,json=lastConnected,proto3,oneof" json:"last_connected,omitempty"`
-	AuthorizedAccessTypes []string               `protobuf:"bytes,18,rep,name=authorized_access_types,json=authorizedAccessTypes,proto3" json:"authorized_access_types,omitempty"` //LowCardinality
+	AuthorizedAccessTypes []string               `protobuf:"bytes,18,rep,name=authorized_access_types,json=authorizedAccessTypes,proto3" json:"authorized_access_types,omitempty"`
 	unknownFields         protoimpl.UnknownFields
 	unknownFields         protoimpl.UnknownFields
 	sizeCache             protoimpl.SizeCache
 	sizeCache             protoimpl.SizeCache
 }
 }

+ 34 - 34
psiphon/server/pb/psiphond/dial_params.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/dial_params.proto
 // source: ca.psiphon.psiphond/dial_params.proto
 
 
 package psiphond
 package psiphond
@@ -27,20 +27,20 @@ type DialParams struct {
 	ConjureCached                     *bool                  `protobuf:"varint,1,opt,name=conjure_cached,json=conjureCached,proto3,oneof" json:"conjure_cached,omitempty"`
 	ConjureCached                     *bool                  `protobuf:"varint,1,opt,name=conjure_cached,json=conjureCached,proto3,oneof" json:"conjure_cached,omitempty"`
 	ConjureDelay                      *int64                 `protobuf:"varint,2,opt,name=conjure_delay,json=conjureDelay,proto3,oneof" json:"conjure_delay,omitempty"`
 	ConjureDelay                      *int64                 `protobuf:"varint,2,opt,name=conjure_delay,json=conjureDelay,proto3,oneof" json:"conjure_delay,omitempty"`
 	ConjureEmptyPacket                *bool                  `protobuf:"varint,3,opt,name=conjure_empty_packet,json=conjureEmptyPacket,proto3,oneof" json:"conjure_empty_packet,omitempty"`
 	ConjureEmptyPacket                *bool                  `protobuf:"varint,3,opt,name=conjure_empty_packet,json=conjureEmptyPacket,proto3,oneof" json:"conjure_empty_packet,omitempty"`
-	ConjureNetwork                    *string                `protobuf:"bytes,4,opt,name=conjure_network,json=conjureNetwork,proto3,oneof" json:"conjure_network,omitempty"` //LowCardinality
+	ConjureNetwork                    *string                `protobuf:"bytes,4,opt,name=conjure_network,json=conjureNetwork,proto3,oneof" json:"conjure_network,omitempty"`
 	ConjurePortNumber                 *int64                 `protobuf:"varint,5,opt,name=conjure_port_number,json=conjurePortNumber,proto3,oneof" json:"conjure_port_number,omitempty"`
 	ConjurePortNumber                 *int64                 `protobuf:"varint,5,opt,name=conjure_port_number,json=conjurePortNumber,proto3,oneof" json:"conjure_port_number,omitempty"`
-	ConjurePrefix                     *string                `protobuf:"bytes,6,opt,name=conjure_prefix,json=conjurePrefix,proto3,oneof" json:"conjure_prefix,omitempty"`          //LowCardinality
-	ConjureStun                       *string                `protobuf:"bytes,7,opt,name=conjure_stun,json=conjureStun,proto3,oneof" json:"conjure_stun,omitempty"`                //LowCardinality
-	ConjureTransport                  *string                `protobuf:"bytes,8,opt,name=conjure_transport,json=conjureTransport,proto3,oneof" json:"conjure_transport,omitempty"` //LowCardinality
+	ConjurePrefix                     *string                `protobuf:"bytes,6,opt,name=conjure_prefix,json=conjurePrefix,proto3,oneof" json:"conjure_prefix,omitempty"`
+	ConjureStun                       *string                `protobuf:"bytes,7,opt,name=conjure_stun,json=conjureStun,proto3,oneof" json:"conjure_stun,omitempty"`
+	ConjureTransport                  *string                `protobuf:"bytes,8,opt,name=conjure_transport,json=conjureTransport,proto3,oneof" json:"conjure_transport,omitempty"`
 	MeekCookieSize                    *int64                 `protobuf:"varint,9,opt,name=meek_cookie_size,json=meekCookieSize,proto3,oneof" json:"meek_cookie_size,omitempty"`
 	MeekCookieSize                    *int64                 `protobuf:"varint,9,opt,name=meek_cookie_size,json=meekCookieSize,proto3,oneof" json:"meek_cookie_size,omitempty"`
 	MeekContentType                   *string                `protobuf:"bytes,10,opt,name=meek_content_type,json=meekContentType,proto3,oneof" json:"meek_content_type,omitempty"`
 	MeekContentType                   *string                `protobuf:"bytes,10,opt,name=meek_content_type,json=meekContentType,proto3,oneof" json:"meek_content_type,omitempty"`
-	MeekCookieName                    *string                `protobuf:"bytes,11,opt,name=meek_cookie_name,json=meekCookieName,proto3,oneof" json:"meek_cookie_name,omitempty"`            //LowCardinality
-	MeekDialDomain                    *string                `protobuf:"bytes,12,opt,name=meek_dial_domain,json=meekDialDomain,proto3,oneof" json:"meek_dial_domain,omitempty"`            //LowCardinality
-	MeekDialIpAddress                 *string                `protobuf:"bytes,13,opt,name=meek_dial_ip_address,json=meekDialIpAddress,proto3,oneof" json:"meek_dial_ip_address,omitempty"` //LowCardinality
+	MeekCookieName                    *string                `protobuf:"bytes,11,opt,name=meek_cookie_name,json=meekCookieName,proto3,oneof" json:"meek_cookie_name,omitempty"`
+	MeekDialDomain                    *string                `protobuf:"bytes,12,opt,name=meek_dial_domain,json=meekDialDomain,proto3,oneof" json:"meek_dial_domain,omitempty"`
+	MeekDialIpAddress                 *string                `protobuf:"bytes,13,opt,name=meek_dial_ip_address,json=meekDialIpAddress,proto3,oneof" json:"meek_dial_ip_address,omitempty"`
 	MeekHostHeader                    *string                `protobuf:"bytes,14,opt,name=meek_host_header,json=meekHostHeader,proto3,oneof" json:"meek_host_header,omitempty"`
 	MeekHostHeader                    *string                `protobuf:"bytes,14,opt,name=meek_host_header,json=meekHostHeader,proto3,oneof" json:"meek_host_header,omitempty"`
 	MeekLimitRequest                  *int64                 `protobuf:"varint,15,opt,name=meek_limit_request,json=meekLimitRequest,proto3,oneof" json:"meek_limit_request,omitempty"`
 	MeekLimitRequest                  *int64                 `protobuf:"varint,15,opt,name=meek_limit_request,json=meekLimitRequest,proto3,oneof" json:"meek_limit_request,omitempty"`
 	MeekRedialProbability             *int64                 `protobuf:"varint,16,opt,name=meek_redial_probability,json=meekRedialProbability,proto3,oneof" json:"meek_redial_probability,omitempty"`
 	MeekRedialProbability             *int64                 `protobuf:"varint,16,opt,name=meek_redial_probability,json=meekRedialProbability,proto3,oneof" json:"meek_redial_probability,omitempty"`
-	MeekResolvedIpAddress             *string                `protobuf:"bytes,17,opt,name=meek_resolved_ip_address,json=meekResolvedIpAddress,proto3,oneof" json:"meek_resolved_ip_address,omitempty"` //LowCardinality
+	MeekResolvedIpAddress             *string                `protobuf:"bytes,17,opt,name=meek_resolved_ip_address,json=meekResolvedIpAddress,proto3,oneof" json:"meek_resolved_ip_address,omitempty"`
 	MeekSniServerName                 *string                `protobuf:"bytes,18,opt,name=meek_sni_server_name,json=meekSniServerName,proto3,oneof" json:"meek_sni_server_name,omitempty"`
 	MeekSniServerName                 *string                `protobuf:"bytes,18,opt,name=meek_sni_server_name,json=meekSniServerName,proto3,oneof" json:"meek_sni_server_name,omitempty"`
 	MeekTlsPadding                    *int64                 `protobuf:"varint,19,opt,name=meek_tls_padding,json=meekTlsPadding,proto3,oneof" json:"meek_tls_padding,omitempty"`
 	MeekTlsPadding                    *int64                 `protobuf:"varint,19,opt,name=meek_tls_padding,json=meekTlsPadding,proto3,oneof" json:"meek_tls_padding,omitempty"`
 	MeekTransformedHostName           *bool                  `protobuf:"varint,20,opt,name=meek_transformed_host_name,json=meekTransformedHostName,proto3,oneof" json:"meek_transformed_host_name,omitempty"`
 	MeekTransformedHostName           *bool                  `protobuf:"varint,20,opt,name=meek_transformed_host_name,json=meekTransformedHostName,proto3,oneof" json:"meek_transformed_host_name,omitempty"`
@@ -50,41 +50,41 @@ type DialParams struct {
 	QuicDisableClientPathMtuDiscovery *bool                  `protobuf:"varint,24,opt,name=quic_disable_client_path_mtu_discovery,json=quicDisableClientPathMtuDiscovery,proto3,oneof" json:"quic_disable_client_path_mtu_discovery,omitempty"`
 	QuicDisableClientPathMtuDiscovery *bool                  `protobuf:"varint,24,opt,name=quic_disable_client_path_mtu_discovery,json=quicDisableClientPathMtuDiscovery,proto3,oneof" json:"quic_disable_client_path_mtu_discovery,omitempty"`
 	QuicObfuscatedPsk                 *bool                  `protobuf:"varint,25,opt,name=quic_obfuscated_psk,json=quicObfuscatedPsk,proto3,oneof" json:"quic_obfuscated_psk,omitempty"`
 	QuicObfuscatedPsk                 *bool                  `protobuf:"varint,25,opt,name=quic_obfuscated_psk,json=quicObfuscatedPsk,proto3,oneof" json:"quic_obfuscated_psk,omitempty"`
 	QuicSentTicket                    *bool                  `protobuf:"varint,26,opt,name=quic_sent_ticket,json=quicSentTicket,proto3,oneof" json:"quic_sent_ticket,omitempty"`
 	QuicSentTicket                    *bool                  `protobuf:"varint,26,opt,name=quic_sent_ticket,json=quicSentTicket,proto3,oneof" json:"quic_sent_ticket,omitempty"`
-	QuicVersion                       *string                `protobuf:"bytes,27,opt,name=quic_version,json=quicVersion,proto3,oneof" json:"quic_version,omitempty"`                   //LowCardinality
-	ShadowsocksPrefix                 *string                `protobuf:"bytes,28,opt,name=shadowsocks_prefix,json=shadowsocksPrefix,proto3,oneof" json:"shadowsocks_prefix,omitempty"` //LowCardinality
+	QuicVersion                       *string                `protobuf:"bytes,27,opt,name=quic_version,json=quicVersion,proto3,oneof" json:"quic_version,omitempty"`
+	ShadowsocksPrefix                 *string                `protobuf:"bytes,28,opt,name=shadowsocks_prefix,json=shadowsocksPrefix,proto3,oneof" json:"shadowsocks_prefix,omitempty"`
 	TlsDidResume                      *bool                  `protobuf:"varint,29,opt,name=tls_did_resume,json=tlsDidResume,proto3,oneof" json:"tls_did_resume,omitempty"`
 	TlsDidResume                      *bool                  `protobuf:"varint,29,opt,name=tls_did_resume,json=tlsDidResume,proto3,oneof" json:"tls_did_resume,omitempty"`
 	TlsFragmented                     *bool                  `protobuf:"varint,30,opt,name=tls_fragmented,json=tlsFragmented,proto3,oneof" json:"tls_fragmented,omitempty"`
 	TlsFragmented                     *bool                  `protobuf:"varint,30,opt,name=tls_fragmented,json=tlsFragmented,proto3,oneof" json:"tls_fragmented,omitempty"`
 	TlsOsshSniServerName              *string                `protobuf:"bytes,31,opt,name=tls_ossh_sni_server_name,json=tlsOsshSniServerName,proto3,oneof" json:"tls_ossh_sni_server_name,omitempty"`
 	TlsOsshSniServerName              *string                `protobuf:"bytes,31,opt,name=tls_ossh_sni_server_name,json=tlsOsshSniServerName,proto3,oneof" json:"tls_ossh_sni_server_name,omitempty"`
 	TlsOsshTransformedHostName        *bool                  `protobuf:"varint,32,opt,name=tls_ossh_transformed_host_name,json=tlsOsshTransformedHostName,proto3,oneof" json:"tls_ossh_transformed_host_name,omitempty"`
 	TlsOsshTransformedHostName        *bool                  `protobuf:"varint,32,opt,name=tls_ossh_transformed_host_name,json=tlsOsshTransformedHostName,proto3,oneof" json:"tls_ossh_transformed_host_name,omitempty"`
 	TlsPadding                        *int64                 `protobuf:"varint,33,opt,name=tls_padding,json=tlsPadding,proto3,oneof" json:"tls_padding,omitempty"`
 	TlsPadding                        *int64                 `protobuf:"varint,33,opt,name=tls_padding,json=tlsPadding,proto3,oneof" json:"tls_padding,omitempty"`
-	TlsProfile                        *string                `protobuf:"bytes,34,opt,name=tls_profile,json=tlsProfile,proto3,oneof" json:"tls_profile,omitempty"` //LowCardinality
+	TlsProfile                        *string                `protobuf:"bytes,34,opt,name=tls_profile,json=tlsProfile,proto3,oneof" json:"tls_profile,omitempty"`
 	TlsSentTicket                     *bool                  `protobuf:"varint,35,opt,name=tls_sent_ticket,json=tlsSentTicket,proto3,oneof" json:"tls_sent_ticket,omitempty"`
 	TlsSentTicket                     *bool                  `protobuf:"varint,35,opt,name=tls_sent_ticket,json=tlsSentTicket,proto3,oneof" json:"tls_sent_ticket,omitempty"`
-	TlsVersion                        *string                `protobuf:"bytes,36,opt,name=tls_version,json=tlsVersion,proto3,oneof" json:"tls_version,omitempty"`                        //LowCardinality
-	ServerEntryRegion                 *string                `protobuf:"bytes,37,opt,name=server_entry_region,json=serverEntryRegion,proto3,oneof" json:"server_entry_region,omitempty"` //LowCardinality
-	ServerEntrySource                 *string                `protobuf:"bytes,38,opt,name=server_entry_source,json=serverEntrySource,proto3,oneof" json:"server_entry_source,omitempty"` //LowCardinality
+	TlsVersion                        *string                `protobuf:"bytes,36,opt,name=tls_version,json=tlsVersion,proto3,oneof" json:"tls_version,omitempty"`
+	ServerEntryRegion                 *string                `protobuf:"bytes,37,opt,name=server_entry_region,json=serverEntryRegion,proto3,oneof" json:"server_entry_region,omitempty"`
+	ServerEntrySource                 *string                `protobuf:"bytes,38,opt,name=server_entry_source,json=serverEntrySource,proto3,oneof" json:"server_entry_source,omitempty"`
 	ServerEntryTag                    *string                `protobuf:"bytes,39,opt,name=server_entry_tag,json=serverEntryTag,proto3,oneof" json:"server_entry_tag,omitempty"`
 	ServerEntryTag                    *string                `protobuf:"bytes,39,opt,name=server_entry_tag,json=serverEntryTag,proto3,oneof" json:"server_entry_tag,omitempty"`
 	ServerEntryTimestamp              *timestamppb.Timestamp `protobuf:"bytes,40,opt,name=server_entry_timestamp,json=serverEntryTimestamp,proto3,oneof" json:"server_entry_timestamp,omitempty"`
 	ServerEntryTimestamp              *timestamppb.Timestamp `protobuf:"bytes,40,opt,name=server_entry_timestamp,json=serverEntryTimestamp,proto3,oneof" json:"server_entry_timestamp,omitempty"`
-	ServerPacketManipulation          *string                `protobuf:"bytes,41,opt,name=server_packet_manipulation,json=serverPacketManipulation,proto3,oneof" json:"server_packet_manipulation,omitempty"`                      //LowCardinality
-	ServerReplayFragmentation         *bool                  `protobuf:"varint,42,opt,name=server_replay_fragmentation,json=serverReplayFragmentation,proto3,oneof" json:"server_replay_fragmentation,omitempty"`                  //LowCardinality
-	ServerReplayPacketManipulation    *bool                  `protobuf:"varint,43,opt,name=server_replay_packet_manipulation,json=serverReplayPacketManipulation,proto3,oneof" json:"server_replay_packet_manipulation,omitempty"` //LowCardinality
+	ServerPacketManipulation          *string                `protobuf:"bytes,41,opt,name=server_packet_manipulation,json=serverPacketManipulation,proto3,oneof" json:"server_packet_manipulation,omitempty"`
+	ServerReplayFragmentation         *bool                  `protobuf:"varint,42,opt,name=server_replay_fragmentation,json=serverReplayFragmentation,proto3,oneof" json:"server_replay_fragmentation,omitempty"`
+	ServerReplayPacketManipulation    *bool                  `protobuf:"varint,43,opt,name=server_replay_packet_manipulation,json=serverReplayPacketManipulation,proto3,oneof" json:"server_replay_packet_manipulation,omitempty"`
 	ServerEntryValid                  *bool                  `protobuf:"varint,44,opt,name=server_entry_valid,json=serverEntryValid,proto3,oneof" json:"server_entry_valid,omitempty"`
 	ServerEntryValid                  *bool                  `protobuf:"varint,44,opt,name=server_entry_valid,json=serverEntryValid,proto3,oneof" json:"server_entry_valid,omitempty"`
 	CandidateNumber                   *int32                 `protobuf:"varint,45,opt,name=candidate_number,json=candidateNumber,proto3,oneof" json:"candidate_number,omitempty"`
 	CandidateNumber                   *int32                 `protobuf:"varint,45,opt,name=candidate_number,json=candidateNumber,proto3,oneof" json:"candidate_number,omitempty"`
 	IsReplay                          *bool                  `protobuf:"varint,46,opt,name=is_replay,json=isReplay,proto3,oneof" json:"is_replay,omitempty"`
 	IsReplay                          *bool                  `protobuf:"varint,46,opt,name=is_replay,json=isReplay,proto3,oneof" json:"is_replay,omitempty"`
 	DialPortNumber                    *int64                 `protobuf:"varint,47,opt,name=dial_port_number,json=dialPortNumber,proto3,oneof" json:"dial_port_number,omitempty"`
 	DialPortNumber                    *int64                 `protobuf:"varint,47,opt,name=dial_port_number,json=dialPortNumber,proto3,oneof" json:"dial_port_number,omitempty"`
 	DialDuration                      *int64                 `protobuf:"varint,48,opt,name=dial_duration,json=dialDuration,proto3,oneof" json:"dial_duration,omitempty"`
 	DialDuration                      *int64                 `protobuf:"varint,48,opt,name=dial_duration,json=dialDuration,proto3,oneof" json:"dial_duration,omitempty"`
-	FrontingProviderId                *string                `protobuf:"bytes,49,opt,name=fronting_provider_id,json=frontingProviderId,proto3,oneof" json:"fronting_provider_id,omitempty"` //LowCardinality
-	NetworkType                       *string                `protobuf:"bytes,50,opt,name=network_type,json=networkType,proto3,oneof" json:"network_type,omitempty"`                        //LowCardinality
-	RelayProtocol                     *string                `protobuf:"bytes,51,opt,name=relay_protocol,json=relayProtocol,proto3,oneof" json:"relay_protocol,omitempty"`                  //LowCardinality
-	SshClientVersion                  *string                `protobuf:"bytes,52,opt,name=ssh_client_version,json=sshClientVersion,proto3,oneof" json:"ssh_client_version,omitempty"`       //LowCardinality
-	OsshPrefix                        *string                `protobuf:"bytes,53,opt,name=ossh_prefix,json=osshPrefix,proto3,oneof" json:"ossh_prefix,omitempty"`                           //LowCardinality
+	FrontingProviderId                *string                `protobuf:"bytes,49,opt,name=fronting_provider_id,json=frontingProviderId,proto3,oneof" json:"fronting_provider_id,omitempty"`
+	NetworkType                       *string                `protobuf:"bytes,50,opt,name=network_type,json=networkType,proto3,oneof" json:"network_type,omitempty"`
+	RelayProtocol                     *string                `protobuf:"bytes,51,opt,name=relay_protocol,json=relayProtocol,proto3,oneof" json:"relay_protocol,omitempty"`
+	SshClientVersion                  *string                `protobuf:"bytes,52,opt,name=ssh_client_version,json=sshClientVersion,proto3,oneof" json:"ssh_client_version,omitempty"`
+	OsshPrefix                        *string                `protobuf:"bytes,53,opt,name=ossh_prefix,json=osshPrefix,proto3,oneof" json:"ossh_prefix,omitempty"`
 	UserAgent                         *string                `protobuf:"bytes,54,opt,name=user_agent,json=userAgent,proto3,oneof" json:"user_agent,omitempty"`
 	UserAgent                         *string                `protobuf:"bytes,54,opt,name=user_agent,json=userAgent,proto3,oneof" json:"user_agent,omitempty"`
-	HttpTransform                     *string                `protobuf:"bytes,55,opt,name=http_transform,json=httpTransform,proto3,oneof" json:"http_transform,omitempty"` //LowCardinality
+	HttpTransform                     *string                `protobuf:"bytes,55,opt,name=http_transform,json=httpTransform,proto3,oneof" json:"http_transform,omitempty"`
 	DnsAttempt                        *int64                 `protobuf:"varint,56,opt,name=dns_attempt,json=dnsAttempt,proto3,oneof" json:"dns_attempt,omitempty"`
 	DnsAttempt                        *int64                 `protobuf:"varint,56,opt,name=dns_attempt,json=dnsAttempt,proto3,oneof" json:"dns_attempt,omitempty"`
-	DnsPreferred                      *string                `protobuf:"bytes,57,opt,name=dns_preferred,json=dnsPreferred,proto3,oneof" json:"dns_preferred,omitempty"`       //LowCardinality
-	DnsPreresolved                    *string                `protobuf:"bytes,58,opt,name=dns_preresolved,json=dnsPreresolved,proto3,oneof" json:"dns_preresolved,omitempty"` //LowCardinality
+	DnsPreferred                      *string                `protobuf:"bytes,57,opt,name=dns_preferred,json=dnsPreferred,proto3,oneof" json:"dns_preferred,omitempty"`
+	DnsPreresolved                    *string                `protobuf:"bytes,58,opt,name=dns_preresolved,json=dnsPreresolved,proto3,oneof" json:"dns_preresolved,omitempty"`
 	DnsQnameMismatches                *int64                 `protobuf:"varint,59,opt,name=dns_qname_mismatches,json=dnsQnameMismatches,proto3,oneof" json:"dns_qname_mismatches,omitempty"`
 	DnsQnameMismatches                *int64                 `protobuf:"varint,59,opt,name=dns_qname_mismatches,json=dnsQnameMismatches,proto3,oneof" json:"dns_qname_mismatches,omitempty"`
 	DnsQnameRandomCasing              *bool                  `protobuf:"varint,60,opt,name=dns_qname_random_casing,json=dnsQnameRandomCasing,proto3,oneof" json:"dns_qname_random_casing,omitempty"`
 	DnsQnameRandomCasing              *bool                  `protobuf:"varint,60,opt,name=dns_qname_random_casing,json=dnsQnameRandomCasing,proto3,oneof" json:"dns_qname_random_casing,omitempty"`
-	DnsTransform                      *string                `protobuf:"bytes,61,opt,name=dns_transform,json=dnsTransform,proto3,oneof" json:"dns_transform,omitempty"` //LowCardinality
+	DnsTransform                      *string                `protobuf:"bytes,61,opt,name=dns_transform,json=dnsTransform,proto3,oneof" json:"dns_transform,omitempty"`
 	DownstreamBytesFragmented         *int64                 `protobuf:"varint,62,opt,name=downstream_bytes_fragmented,json=downstreamBytesFragmented,proto3,oneof" json:"downstream_bytes_fragmented,omitempty"`
 	DownstreamBytesFragmented         *int64                 `protobuf:"varint,62,opt,name=downstream_bytes_fragmented,json=downstreamBytesFragmented,proto3,oneof" json:"downstream_bytes_fragmented,omitempty"`
 	DownstreamMaxBytesWritten         *int64                 `protobuf:"varint,63,opt,name=downstream_max_bytes_written,json=downstreamMaxBytesWritten,proto3,oneof" json:"downstream_max_bytes_written,omitempty"`
 	DownstreamMaxBytesWritten         *int64                 `protobuf:"varint,63,opt,name=downstream_max_bytes_written,json=downstreamMaxBytesWritten,proto3,oneof" json:"downstream_max_bytes_written,omitempty"`
 	DownstreamMaxDelayed              *int64                 `protobuf:"varint,64,opt,name=downstream_max_delayed,json=downstreamMaxDelayed,proto3,oneof" json:"downstream_max_delayed,omitempty"`
 	DownstreamMaxDelayed              *int64                 `protobuf:"varint,64,opt,name=downstream_max_delayed,json=downstreamMaxDelayed,proto3,oneof" json:"downstream_max_delayed,omitempty"`
@@ -97,16 +97,16 @@ type DialParams struct {
 	UpstreamMinBytesWritten           *int64                 `protobuf:"varint,71,opt,name=upstream_min_bytes_written,json=upstreamMinBytesWritten,proto3,oneof" json:"upstream_min_bytes_written,omitempty"`
 	UpstreamMinBytesWritten           *int64                 `protobuf:"varint,71,opt,name=upstream_min_bytes_written,json=upstreamMinBytesWritten,proto3,oneof" json:"upstream_min_bytes_written,omitempty"`
 	UpstreamMinDelayed                *int64                 `protobuf:"varint,72,opt,name=upstream_min_delayed,json=upstreamMinDelayed,proto3,oneof" json:"upstream_min_delayed,omitempty"`
 	UpstreamMinDelayed                *int64                 `protobuf:"varint,72,opt,name=upstream_min_delayed,json=upstreamMinDelayed,proto3,oneof" json:"upstream_min_delayed,omitempty"`
 	UpstreamOsshPadding               *int64                 `protobuf:"varint,73,opt,name=upstream_ossh_padding,json=upstreamOsshPadding,proto3,oneof" json:"upstream_ossh_padding,omitempty"`
 	UpstreamOsshPadding               *int64                 `protobuf:"varint,73,opt,name=upstream_ossh_padding,json=upstreamOsshPadding,proto3,oneof" json:"upstream_ossh_padding,omitempty"`
-	UpstreamProxyCustomHeaderNames    []string               `protobuf:"bytes,74,rep,name=upstream_proxy_custom_header_names,json=upstreamProxyCustomHeaderNames,proto3" json:"upstream_proxy_custom_header_names,omitempty"` //LowCardinality
-	UpstreamProxyType                 *string                `protobuf:"bytes,75,opt,name=upstream_proxy_type,json=upstreamProxyType,proto3,oneof" json:"upstream_proxy_type,omitempty"`                                      //LowCardinality
-	PassthroughAddress                *string                `protobuf:"bytes,76,opt,name=passthrough_address,json=passthroughAddress,proto3,oneof" json:"passthrough_address,omitempty"`                                     //LowCardinality
+	UpstreamProxyCustomHeaderNames    []string               `protobuf:"bytes,74,rep,name=upstream_proxy_custom_header_names,json=upstreamProxyCustomHeaderNames,proto3" json:"upstream_proxy_custom_header_names,omitempty"`
+	UpstreamProxyType                 *string                `protobuf:"bytes,75,opt,name=upstream_proxy_type,json=upstreamProxyType,proto3,oneof" json:"upstream_proxy_type,omitempty"`
+	PassthroughAddress                *string                `protobuf:"bytes,76,opt,name=passthrough_address,json=passthroughAddress,proto3,oneof" json:"passthrough_address,omitempty"`
 	PadResponse                       *int64                 `protobuf:"varint,77,opt,name=pad_response,json=padResponse,proto3,oneof" json:"pad_response,omitempty"`
 	PadResponse                       *int64                 `protobuf:"varint,77,opt,name=pad_response,json=padResponse,proto3,oneof" json:"pad_response,omitempty"`
 	Padding                           *int64                 `protobuf:"varint,78,opt,name=padding,proto3,oneof" json:"padding,omitempty"`
 	Padding                           *int64                 `protobuf:"varint,78,opt,name=padding,proto3,oneof" json:"padding,omitempty"`
-	ClientBpf                         *string                `protobuf:"bytes,79,opt,name=client_bpf,json=clientBpf,proto3,oneof" json:"client_bpf,omitempty"` //LowCardinality
-	ServerBpf                         *string                `protobuf:"bytes,80,opt,name=server_bpf,json=serverBpf,proto3,oneof" json:"server_bpf,omitempty"` //LowCardinality
+	ClientBpf                         *string                `protobuf:"bytes,79,opt,name=client_bpf,json=clientBpf,proto3,oneof" json:"client_bpf,omitempty"`
+	ServerBpf                         *string                `protobuf:"bytes,80,opt,name=server_bpf,json=serverBpf,proto3,oneof" json:"server_bpf,omitempty"`
 	EstablishedTunnelsCount           *int64                 `protobuf:"varint,81,opt,name=established_tunnels_count,json=establishedTunnelsCount,proto3,oneof" json:"established_tunnels_count,omitempty"`
 	EstablishedTunnelsCount           *int64                 `protobuf:"varint,81,opt,name=established_tunnels_count,json=establishedTunnelsCount,proto3,oneof" json:"established_tunnels_count,omitempty"`
 	NetworkLatencyMultiplier          *float64               `protobuf:"fixed64,82,opt,name=network_latency_multiplier,json=networkLatencyMultiplier,proto3,oneof" json:"network_latency_multiplier,omitempty"`
 	NetworkLatencyMultiplier          *float64               `protobuf:"fixed64,82,opt,name=network_latency_multiplier,json=networkLatencyMultiplier,proto3,oneof" json:"network_latency_multiplier,omitempty"`
-	SeedTransform                     *string                `protobuf:"bytes,83,opt,name=seed_transform,json=seedTransform,proto3,oneof" json:"seed_transform,omitempty"` //LowCardinality
+	SeedTransform                     *string                `protobuf:"bytes,83,opt,name=seed_transform,json=seedTransform,proto3,oneof" json:"seed_transform,omitempty"`
 	unknownFields                     protoimpl.UnknownFields
 	unknownFields                     protoimpl.UnknownFields
 	sizeCache                         protoimpl.SizeCache
 	sizeCache                         protoimpl.SizeCache
 }
 }

+ 3 - 3
psiphon/server/pb/psiphond/domain_bytes.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/domain_bytes.proto
 // source: ca.psiphon.psiphond/domain_bytes.proto
 
 
 package psiphond
 package psiphond
@@ -25,7 +25,7 @@ type DomainBytes struct {
 	state         protoimpl.MessageState `protogen:"open.v1"`
 	state         protoimpl.MessageState `protogen:"open.v1"`
 	BaseParams    *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
 	BaseParams    *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
 	Bytes         *int64                 `protobuf:"varint,100,opt,name=bytes,proto3,oneof" json:"bytes,omitempty"`
 	Bytes         *int64                 `protobuf:"varint,100,opt,name=bytes,proto3,oneof" json:"bytes,omitempty"`
-	Domain        *string                `protobuf:"bytes,101,opt,name=domain,proto3,oneof" json:"domain,omitempty"` //LowCardinality
+	Domain        *string                `protobuf:"bytes,101,opt,name=domain,proto3,oneof" json:"domain,omitempty"`
 	unknownFields protoimpl.UnknownFields
 	unknownFields protoimpl.UnknownFields
 	sizeCache     protoimpl.SizeCache
 	sizeCache     protoimpl.SizeCache
 }
 }

+ 3 - 3
psiphon/server/pb/psiphond/failed_tunnel.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/failed_tunnel.proto
 // source: ca.psiphon.psiphond/failed_tunnel.proto
 
 
 package psiphond
 package psiphond
@@ -35,7 +35,7 @@ type FailedTunnel struct {
 	LivenessTestSentUpstreamBytes       *int64                 `protobuf:"varint,105,opt,name=liveness_test_sent_upstream_bytes,json=livenessTestSentUpstreamBytes,proto3,oneof" json:"liveness_test_sent_upstream_bytes,omitempty"`
 	LivenessTestSentUpstreamBytes       *int64                 `protobuf:"varint,105,opt,name=liveness_test_sent_upstream_bytes,json=livenessTestSentUpstreamBytes,proto3,oneof" json:"liveness_test_sent_upstream_bytes,omitempty"`
 	LivenessTestUpstreamBytes           *int64                 `protobuf:"varint,106,opt,name=liveness_test_upstream_bytes,json=livenessTestUpstreamBytes,proto3,oneof" json:"liveness_test_upstream_bytes,omitempty"`
 	LivenessTestUpstreamBytes           *int64                 `protobuf:"varint,106,opt,name=liveness_test_upstream_bytes,json=livenessTestUpstreamBytes,proto3,oneof" json:"liveness_test_upstream_bytes,omitempty"`
 	RecordProbability                   *float64               `protobuf:"fixed64,107,opt,name=record_probability,json=recordProbability,proto3,oneof" json:"record_probability,omitempty"`
 	RecordProbability                   *float64               `protobuf:"fixed64,107,opt,name=record_probability,json=recordProbability,proto3,oneof" json:"record_probability,omitempty"`
-	TunnelError                         *string                `protobuf:"bytes,108,opt,name=tunnel_error,json=tunnelError,proto3,oneof" json:"tunnel_error,omitempty"` //LowCardinality
+	TunnelError                         *string                `protobuf:"bytes,108,opt,name=tunnel_error,json=tunnelError,proto3,oneof" json:"tunnel_error,omitempty"`
 	unknownFields                       protoimpl.UnknownFields
 	unknownFields                       protoimpl.UnknownFields
 	sizeCache                           protoimpl.SizeCache
 	sizeCache                           protoimpl.SizeCache
 }
 }

+ 20 - 20
psiphon/server/pb/psiphond/inproxy_broker.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/inproxy_broker.proto
 // source: ca.psiphon.psiphond/inproxy_broker.proto
 
 
 package psiphond
 package psiphond
@@ -26,43 +26,43 @@ type InproxyBroker struct {
 	BaseParams                    *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
 	BaseParams                    *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
 	AnnouncementMatchIndex        *int32                 `protobuf:"varint,100,opt,name=announcement_match_index,json=announcementMatchIndex,proto3,oneof" json:"announcement_match_index,omitempty"`
 	AnnouncementMatchIndex        *int32                 `protobuf:"varint,100,opt,name=announcement_match_index,json=announcementMatchIndex,proto3,oneof" json:"announcement_match_index,omitempty"`
 	AnnouncementQueueSize         *int32                 `protobuf:"varint,101,opt,name=announcement_queue_size,json=announcementQueueSize,proto3,oneof" json:"announcement_queue_size,omitempty"`
 	AnnouncementQueueSize         *int32                 `protobuf:"varint,101,opt,name=announcement_queue_size,json=announcementQueueSize,proto3,oneof" json:"announcement_queue_size,omitempty"`
-	AnswerError                   *string                `protobuf:"bytes,102,opt,name=answer_error,json=answerError,proto3,oneof" json:"answer_error,omitempty"` //LowCardinality
-	BrokerEvent                   *string                `protobuf:"bytes,103,opt,name=broker_event,json=brokerEvent,proto3,oneof" json:"broker_event,omitempty"` //LowCardinality
-	BrokerId                      *string                `protobuf:"bytes,104,opt,name=broker_id,json=brokerId,proto3,oneof" json:"broker_id,omitempty"`          //LowCardinality
+	AnswerError                   *string                `protobuf:"bytes,102,opt,name=answer_error,json=answerError,proto3,oneof" json:"answer_error,omitempty"`
+	BrokerEvent                   *string                `protobuf:"bytes,103,opt,name=broker_event,json=brokerEvent,proto3,oneof" json:"broker_event,omitempty"`
+	BrokerId                      *string                `protobuf:"bytes,104,opt,name=broker_id,json=brokerId,proto3,oneof" json:"broker_id,omitempty"`
 	ConnectedClients              *int64                 `protobuf:"varint,105,opt,name=connected_clients,json=connectedClients,proto3,oneof" json:"connected_clients,omitempty"`
 	ConnectedClients              *int64                 `protobuf:"varint,105,opt,name=connected_clients,json=connectedClients,proto3,oneof" json:"connected_clients,omitempty"`
 	ConnectingClients             *int64                 `protobuf:"varint,106,opt,name=connecting_clients,json=connectingClients,proto3,oneof" json:"connecting_clients,omitempty"`
 	ConnectingClients             *int64                 `protobuf:"varint,106,opt,name=connecting_clients,json=connectingClients,proto3,oneof" json:"connecting_clients,omitempty"`
 	ConnectionId                  *string                `protobuf:"bytes,107,opt,name=connection_id,json=connectionId,proto3,oneof" json:"connection_id,omitempty"`
 	ConnectionId                  *string                `protobuf:"bytes,107,opt,name=connection_id,json=connectionId,proto3,oneof" json:"connection_id,omitempty"`
-	DestinationServerId           *string                `protobuf:"bytes,108,opt,name=destination_server_id,json=destinationServerId,proto3,oneof" json:"destination_server_id,omitempty"` //LowCardinality
+	DestinationServerId           *string                `protobuf:"bytes,108,opt,name=destination_server_id,json=destinationServerId,proto3,oneof" json:"destination_server_id,omitempty"`
 	ElapsedTime                   *int64                 `protobuf:"varint,109,opt,name=elapsed_time,json=elapsedTime,proto3,oneof" json:"elapsed_time,omitempty"`
 	ElapsedTime                   *int64                 `protobuf:"varint,109,opt,name=elapsed_time,json=elapsedTime,proto3,oneof" json:"elapsed_time,omitempty"`
-	Error                         *string                `protobuf:"bytes,110,opt,name=error,proto3,oneof" json:"error,omitempty"`                                                          //LowCardinality
-	FilteredIceCandidates         []string               `protobuf:"bytes,111,rep,name=filtered_ice_candidates,json=filteredIceCandidates,proto3" json:"filtered_ice_candidates,omitempty"` //LowCardinality
-	FrontingProviderId            *string                `protobuf:"bytes,112,opt,name=fronting_provider_id,json=frontingProviderId,proto3,oneof" json:"fronting_provider_id,omitempty"`    //LowCardinality
+	Error                         *string                `protobuf:"bytes,110,opt,name=error,proto3,oneof" json:"error,omitempty"`
+	FilteredIceCandidates         []string               `protobuf:"bytes,111,rep,name=filtered_ice_candidates,json=filteredIceCandidates,proto3" json:"filtered_ice_candidates,omitempty"`
+	FrontingProviderId            *string                `protobuf:"bytes,112,opt,name=fronting_provider_id,json=frontingProviderId,proto3,oneof" json:"fronting_provider_id,omitempty"`
 	Has_IPv6                      *bool                  `protobuf:"varint,113,opt,name=has_IPv6,json=hasIPv6,proto3,oneof" json:"has_IPv6,omitempty"`
 	Has_IPv6                      *bool                  `protobuf:"varint,113,opt,name=has_IPv6,json=hasIPv6,proto3,oneof" json:"has_IPv6,omitempty"`
 	HasCommonCompartmentIds       *bool                  `protobuf:"varint,114,opt,name=has_common_compartment_ids,json=hasCommonCompartmentIds,proto3,oneof" json:"has_common_compartment_ids,omitempty"`
 	HasCommonCompartmentIds       *bool                  `protobuf:"varint,114,opt,name=has_common_compartment_ids,json=hasCommonCompartmentIds,proto3,oneof" json:"has_common_compartment_ids,omitempty"`
 	HasPersonalCompartmentIds     *bool                  `protobuf:"varint,115,opt,name=has_personal_compartment_ids,json=hasPersonalCompartmentIds,proto3,oneof" json:"has_personal_compartment_ids,omitempty"`
 	HasPersonalCompartmentIds     *bool                  `protobuf:"varint,115,opt,name=has_personal_compartment_ids,json=hasPersonalCompartmentIds,proto3,oneof" json:"has_personal_compartment_ids,omitempty"`
 	HasPrivate_IP                 *bool                  `protobuf:"varint,116,opt,name=has_private_IP,json=hasPrivateIP,proto3,oneof" json:"has_private_IP,omitempty"`
 	HasPrivate_IP                 *bool                  `protobuf:"varint,116,opt,name=has_private_IP,json=hasPrivateIP,proto3,oneof" json:"has_private_IP,omitempty"`
-	IceCandidateTypes             []string               `protobuf:"bytes,117,rep,name=ice_candidate_types,json=iceCandidateTypes,proto3" json:"ice_candidate_types,omitempty"` //LowCardinality
+	IceCandidateTypes             []string               `protobuf:"bytes,117,rep,name=ice_candidate_types,json=iceCandidateTypes,proto3" json:"ice_candidate_types,omitempty"`
 	IsPriority                    *bool                  `protobuf:"varint,118,opt,name=is_priority,json=isPriority,proto3,oneof" json:"is_priority,omitempty"`
 	IsPriority                    *bool                  `protobuf:"varint,118,opt,name=is_priority,json=isPriority,proto3,oneof" json:"is_priority,omitempty"`
 	LimitDownstreamBytesPerSecond *int64                 `protobuf:"varint,119,opt,name=limit_downstream_bytes_per_second,json=limitDownstreamBytesPerSecond,proto3,oneof" json:"limit_downstream_bytes_per_second,omitempty"`
 	LimitDownstreamBytesPerSecond *int64                 `protobuf:"varint,119,opt,name=limit_downstream_bytes_per_second,json=limitDownstreamBytesPerSecond,proto3,oneof" json:"limit_downstream_bytes_per_second,omitempty"`
 	LimitUpstreamBytesPerSecond   *int64                 `protobuf:"varint,120,opt,name=limit_upstream_bytes_per_second,json=limitUpstreamBytesPerSecond,proto3,oneof" json:"limit_upstream_bytes_per_second,omitempty"`
 	LimitUpstreamBytesPerSecond   *int64                 `protobuf:"varint,120,opt,name=limit_upstream_bytes_per_second,json=limitUpstreamBytesPerSecond,proto3,oneof" json:"limit_upstream_bytes_per_second,omitempty"`
 	MaxClients                    *int64                 `protobuf:"varint,121,opt,name=max_clients,json=maxClients,proto3,oneof" json:"max_clients,omitempty"`
 	MaxClients                    *int64                 `protobuf:"varint,121,opt,name=max_clients,json=maxClients,proto3,oneof" json:"max_clients,omitempty"`
-	NatType                       *string                `protobuf:"bytes,122,opt,name=nat_type,json=natType,proto3,oneof" json:"nat_type,omitempty"`                     //LowCardinality
-	NetworkType                   *string                `protobuf:"bytes,123,opt,name=network_type,json=networkType,proto3,oneof" json:"network_type,omitempty"`         //LowCardinality
-	NewTacticsTag                 *string                `protobuf:"bytes,124,opt,name=new_tactics_tag,json=newTacticsTag,proto3,oneof" json:"new_tactics_tag,omitempty"` //LowCardinality
+	NatType                       *string                `protobuf:"bytes,122,opt,name=nat_type,json=natType,proto3,oneof" json:"nat_type,omitempty"`
+	NetworkType                   *string                `protobuf:"bytes,123,opt,name=network_type,json=networkType,proto3,oneof" json:"network_type,omitempty"`
+	NewTacticsTag                 *string                `protobuf:"bytes,124,opt,name=new_tactics_tag,json=newTacticsTag,proto3,oneof" json:"new_tactics_tag,omitempty"`
 	OfferMatchIndex               *int64                 `protobuf:"varint,125,opt,name=offer_match_index,json=offerMatchIndex,proto3,oneof" json:"offer_match_index,omitempty"`
 	OfferMatchIndex               *int64                 `protobuf:"varint,125,opt,name=offer_match_index,json=offerMatchIndex,proto3,oneof" json:"offer_match_index,omitempty"`
 	OfferQueueSize                *int64                 `protobuf:"varint,126,opt,name=offer_queue_size,json=offerQueueSize,proto3,oneof" json:"offer_queue_size,omitempty"`
 	OfferQueueSize                *int64                 `protobuf:"varint,126,opt,name=offer_queue_size,json=offerQueueSize,proto3,oneof" json:"offer_queue_size,omitempty"`
 	PeakDownstreamBytesPerSecond  *int64                 `protobuf:"varint,127,opt,name=peak_downstream_bytes_per_second,json=peakDownstreamBytesPerSecond,proto3,oneof" json:"peak_downstream_bytes_per_second,omitempty"`
 	PeakDownstreamBytesPerSecond  *int64                 `protobuf:"varint,127,opt,name=peak_downstream_bytes_per_second,json=peakDownstreamBytesPerSecond,proto3,oneof" json:"peak_downstream_bytes_per_second,omitempty"`
 	PeakUpstreamBytesPerSecond    *int64                 `protobuf:"varint,128,opt,name=peak_upstream_bytes_per_second,json=peakUpstreamBytesPerSecond,proto3,oneof" json:"peak_upstream_bytes_per_second,omitempty"`
 	PeakUpstreamBytesPerSecond    *int64                 `protobuf:"varint,128,opt,name=peak_upstream_bytes_per_second,json=peakUpstreamBytesPerSecond,proto3,oneof" json:"peak_upstream_bytes_per_second,omitempty"`
-	PortMappingTypes              []string               `protobuf:"bytes,129,rep,name=port_mapping_types,json=portMappingTypes,proto3" json:"port_mapping_types,omitempty"` //LowCardinality
+	PortMappingTypes              []string               `protobuf:"bytes,129,rep,name=port_mapping_types,json=portMappingTypes,proto3" json:"port_mapping_types,omitempty"`
 	PreferredNatMatch             *bool                  `protobuf:"varint,130,opt,name=preferred_nat_match,json=preferredNatMatch,proto3,oneof" json:"preferred_nat_match,omitempty"`
 	PreferredNatMatch             *bool                  `protobuf:"varint,130,opt,name=preferred_nat_match,json=preferredNatMatch,proto3,oneof" json:"preferred_nat_match,omitempty"`
 	ProtocolVersion               *int32                 `protobuf:"varint,131,opt,name=protocol_version,json=protocolVersion,proto3,oneof" json:"protocol_version,omitempty"`
 	ProtocolVersion               *int32                 `protobuf:"varint,131,opt,name=protocol_version,json=protocolVersion,proto3,oneof" json:"protocol_version,omitempty"`
-	ProxyId                       *string                `protobuf:"bytes,132,opt,name=proxy_id,json=proxyId,proto3,oneof" json:"proxy_id,omitempty"`                                         //LowCardinality
-	ProxyNatType                  *string                `protobuf:"bytes,133,opt,name=proxy_nat_type,json=proxyNatType,proto3,oneof" json:"proxy_nat_type,omitempty"`                        //LowCardinality
-	ProxyPortMappingTypes         []string               `protobuf:"bytes,134,rep,name=proxy_port_mapping_types,json=proxyPortMappingTypes,proto3" json:"proxy_port_mapping_types,omitempty"` //LowCardinality
-	ServerId                      *string                `protobuf:"bytes,135,opt,name=server_id,json=serverId,proto3,oneof" json:"server_id,omitempty"`                                      //LowCardinality
-	StoredTacticsTag              *string                `protobuf:"bytes,136,opt,name=stored_tactics_tag,json=storedTacticsTag,proto3,oneof" json:"stored_tactics_tag,omitempty"`            //LowCardinality
+	ProxyId                       *string                `protobuf:"bytes,132,opt,name=proxy_id,json=proxyId,proto3,oneof" json:"proxy_id,omitempty"`
+	ProxyNatType                  *string                `protobuf:"bytes,133,opt,name=proxy_nat_type,json=proxyNatType,proto3,oneof" json:"proxy_nat_type,omitempty"`
+	ProxyPortMappingTypes         []string               `protobuf:"bytes,134,rep,name=proxy_port_mapping_types,json=proxyPortMappingTypes,proto3" json:"proxy_port_mapping_types,omitempty"`
+	ServerId                      *string                `protobuf:"bytes,135,opt,name=server_id,json=serverId,proto3,oneof" json:"server_id,omitempty"`
+	StoredTacticsTag              *string                `protobuf:"bytes,136,opt,name=stored_tactics_tag,json=storedTacticsTag,proto3,oneof" json:"stored_tactics_tag,omitempty"`
 	TimedOut                      *bool                  `protobuf:"varint,137,opt,name=timed_out,json=timedOut,proto3,oneof" json:"timed_out,omitempty"`
 	TimedOut                      *bool                  `protobuf:"varint,137,opt,name=timed_out,json=timedOut,proto3,oneof" json:"timed_out,omitempty"`
-	MeekServerHttpVersion         *string                `protobuf:"bytes,138,opt,name=meek_server_http_version,json=meekServerHttpVersion,proto3,oneof" json:"meek_server_http_version,omitempty"` //LowCardinality
+	MeekServerHttpVersion         *string                `protobuf:"bytes,138,opt,name=meek_server_http_version,json=meekServerHttpVersion,proto3,oneof" json:"meek_server_http_version,omitempty"`
 	unknownFields                 protoimpl.UnknownFields
 	unknownFields                 protoimpl.UnknownFields
 	sizeCache                     protoimpl.SizeCache
 	sizeCache                     protoimpl.SizeCache
 }
 }

+ 48 - 48
psiphon/server/pb/psiphond/inproxy_dial_params.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/inproxy_dial_params.proto
 // source: ca.psiphon.psiphond/inproxy_dial_params.proto
 
 
 package psiphond
 package psiphond
@@ -23,95 +23,95 @@ const (
 
 
 type InproxyDialParams struct {
 type InproxyDialParams struct {
 	state                                            protoimpl.MessageState `protogen:"open.v1"`
 	state                                            protoimpl.MessageState `protogen:"open.v1"`
-	InproxyBrokerClientBpf                           *string                `protobuf:"bytes,1,opt,name=inproxy_broker_client_bpf,json=inproxyBrokerClientBpf,proto3,oneof" json:"inproxy_broker_client_bpf,omitempty"`       //LowCardinality
-	InproxyBrokerDialAddress                         *string                `protobuf:"bytes,2,opt,name=inproxy_broker_dial_address,json=inproxyBrokerDialAddress,proto3,oneof" json:"inproxy_broker_dial_address,omitempty"` //LowCardinality
+	InproxyBrokerClientBpf                           *string                `protobuf:"bytes,1,opt,name=inproxy_broker_client_bpf,json=inproxyBrokerClientBpf,proto3,oneof" json:"inproxy_broker_client_bpf,omitempty"`
+	InproxyBrokerDialAddress                         *string                `protobuf:"bytes,2,opt,name=inproxy_broker_dial_address,json=inproxyBrokerDialAddress,proto3,oneof" json:"inproxy_broker_dial_address,omitempty"`
 	InproxyBrokerDnsAttempt                          *int64                 `protobuf:"varint,3,opt,name=inproxy_broker_dns_attempt,json=inproxyBrokerDnsAttempt,proto3,oneof" json:"inproxy_broker_dns_attempt,omitempty"`
 	InproxyBrokerDnsAttempt                          *int64                 `protobuf:"varint,3,opt,name=inproxy_broker_dns_attempt,json=inproxyBrokerDnsAttempt,proto3,oneof" json:"inproxy_broker_dns_attempt,omitempty"`
-	InproxyBrokerDnsPreferred                        *string                `protobuf:"bytes,4,opt,name=inproxy_broker_dns_preferred,json=inproxyBrokerDnsPreferred,proto3,oneof" json:"inproxy_broker_dns_preferred,omitempty"`       //LowCardinality
-	InproxyBrokerDnsPreresolved                      *string                `protobuf:"bytes,5,opt,name=inproxy_broker_dns_preresolved,json=inproxyBrokerDnsPreresolved,proto3,oneof" json:"inproxy_broker_dns_preresolved,omitempty"` //LowCardinality
+	InproxyBrokerDnsPreferred                        *string                `protobuf:"bytes,4,opt,name=inproxy_broker_dns_preferred,json=inproxyBrokerDnsPreferred,proto3,oneof" json:"inproxy_broker_dns_preferred,omitempty"`
+	InproxyBrokerDnsPreresolved                      *string                `protobuf:"bytes,5,opt,name=inproxy_broker_dns_preresolved,json=inproxyBrokerDnsPreresolved,proto3,oneof" json:"inproxy_broker_dns_preresolved,omitempty"`
 	InproxyBrokerDnsQnameMismatches                  *int64                 `protobuf:"varint,6,opt,name=inproxy_broker_dns_qname_mismatches,json=inproxyBrokerDnsQnameMismatches,proto3,oneof" json:"inproxy_broker_dns_qname_mismatches,omitempty"`
 	InproxyBrokerDnsQnameMismatches                  *int64                 `protobuf:"varint,6,opt,name=inproxy_broker_dns_qname_mismatches,json=inproxyBrokerDnsQnameMismatches,proto3,oneof" json:"inproxy_broker_dns_qname_mismatches,omitempty"`
 	InproxyBrokerDnsQnameMustMatch                   *bool                  `protobuf:"varint,7,opt,name=inproxy_broker_dns_qname_must_match,json=inproxyBrokerDnsQnameMustMatch,proto3,oneof" json:"inproxy_broker_dns_qname_must_match,omitempty"`
 	InproxyBrokerDnsQnameMustMatch                   *bool                  `protobuf:"varint,7,opt,name=inproxy_broker_dns_qname_must_match,json=inproxyBrokerDnsQnameMustMatch,proto3,oneof" json:"inproxy_broker_dns_qname_must_match,omitempty"`
 	InproxyBrokerDnsQnameRandomCasing                *bool                  `protobuf:"varint,8,opt,name=inproxy_broker_dns_qname_random_casing,json=inproxyBrokerDnsQnameRandomCasing,proto3,oneof" json:"inproxy_broker_dns_qname_random_casing,omitempty"`
 	InproxyBrokerDnsQnameRandomCasing                *bool                  `protobuf:"varint,8,opt,name=inproxy_broker_dns_qname_random_casing,json=inproxyBrokerDnsQnameRandomCasing,proto3,oneof" json:"inproxy_broker_dns_qname_random_casing,omitempty"`
-	InproxyBrokerDnsTransform                        *string                `protobuf:"bytes,9,opt,name=inproxy_broker_dns_transform,json=inproxyBrokerDnsTransform,proto3,oneof" json:"inproxy_broker_dns_transform,omitempty"` //LowCardinality
+	InproxyBrokerDnsTransform                        *string                `protobuf:"bytes,9,opt,name=inproxy_broker_dns_transform,json=inproxyBrokerDnsTransform,proto3,oneof" json:"inproxy_broker_dns_transform,omitempty"`
 	InproxyBrokerDownstreamBytesFragmented           *int64                 `protobuf:"varint,10,opt,name=inproxy_broker_downstream_bytes_fragmented,json=inproxyBrokerDownstreamBytesFragmented,proto3,oneof" json:"inproxy_broker_downstream_bytes_fragmented,omitempty"`
 	InproxyBrokerDownstreamBytesFragmented           *int64                 `protobuf:"varint,10,opt,name=inproxy_broker_downstream_bytes_fragmented,json=inproxyBrokerDownstreamBytesFragmented,proto3,oneof" json:"inproxy_broker_downstream_bytes_fragmented,omitempty"`
-	InproxyBrokerFrontingProviderId                  *string                `protobuf:"bytes,11,opt,name=inproxy_broker_fronting_provider_id,json=inproxyBrokerFrontingProviderId,proto3,oneof" json:"inproxy_broker_fronting_provider_id,omitempty"` //LowCardinality
-	InproxyBrokerHostHeader                          *string                `protobuf:"bytes,12,opt,name=inproxy_broker_host_header,json=inproxyBrokerHostHeader,proto3,oneof" json:"inproxy_broker_host_header,omitempty"`                           //LowCardinality
-	InproxyBrokerHttpTransform                       *string                `protobuf:"bytes,13,opt,name=inproxy_broker_http_transform,json=inproxyBrokerHttpTransform,proto3,oneof" json:"inproxy_broker_http_transform,omitempty"`                  //LowCardinality
-	InproxyBrokerId                                  *string                `protobuf:"bytes,14,opt,name=inproxy_broker_id,json=inproxyBrokerId,proto3,oneof" json:"inproxy_broker_id,omitempty"`                                                     //LowCardinality
+	InproxyBrokerFrontingProviderId                  *string                `protobuf:"bytes,11,opt,name=inproxy_broker_fronting_provider_id,json=inproxyBrokerFrontingProviderId,proto3,oneof" json:"inproxy_broker_fronting_provider_id,omitempty"`
+	InproxyBrokerHostHeader                          *string                `protobuf:"bytes,12,opt,name=inproxy_broker_host_header,json=inproxyBrokerHostHeader,proto3,oneof" json:"inproxy_broker_host_header,omitempty"`
+	InproxyBrokerHttpTransform                       *string                `protobuf:"bytes,13,opt,name=inproxy_broker_http_transform,json=inproxyBrokerHttpTransform,proto3,oneof" json:"inproxy_broker_http_transform,omitempty"`
+	InproxyBrokerId                                  *string                `protobuf:"bytes,14,opt,name=inproxy_broker_id,json=inproxyBrokerId,proto3,oneof" json:"inproxy_broker_id,omitempty"`
 	InproxyBrokerIsReplay                            *bool                  `protobuf:"varint,15,opt,name=inproxy_broker_is_replay,json=inproxyBrokerIsReplay,proto3,oneof" json:"inproxy_broker_is_replay,omitempty"`
 	InproxyBrokerIsReplay                            *bool                  `protobuf:"varint,15,opt,name=inproxy_broker_is_replay,json=inproxyBrokerIsReplay,proto3,oneof" json:"inproxy_broker_is_replay,omitempty"`
 	InproxyBrokerIsReuse                             *bool                  `protobuf:"varint,16,opt,name=inproxy_broker_is_reuse,json=inproxyBrokerIsReuse,proto3,oneof" json:"inproxy_broker_is_reuse,omitempty"`
 	InproxyBrokerIsReuse                             *bool                  `protobuf:"varint,16,opt,name=inproxy_broker_is_reuse,json=inproxyBrokerIsReuse,proto3,oneof" json:"inproxy_broker_is_reuse,omitempty"`
-	InproxyBrokerResolvedIpAddress                   *string                `protobuf:"bytes,17,opt,name=inproxy_broker_resolved_ip_address,json=inproxyBrokerResolvedIpAddress,proto3,oneof" json:"inproxy_broker_resolved_ip_address,omitempty"` //LowCardinality
-	InproxyBrokerSniServerName                       *string                `protobuf:"bytes,18,opt,name=inproxy_broker_sni_server_name,json=inproxyBrokerSniServerName,proto3,oneof" json:"inproxy_broker_sni_server_name,omitempty"`             //LowCardinality
+	InproxyBrokerResolvedIpAddress                   *string                `protobuf:"bytes,17,opt,name=inproxy_broker_resolved_ip_address,json=inproxyBrokerResolvedIpAddress,proto3,oneof" json:"inproxy_broker_resolved_ip_address,omitempty"`
+	InproxyBrokerSniServerName                       *string                `protobuf:"bytes,18,opt,name=inproxy_broker_sni_server_name,json=inproxyBrokerSniServerName,proto3,oneof" json:"inproxy_broker_sni_server_name,omitempty"`
 	InproxyBrokerTlsFragmented                       *bool                  `protobuf:"varint,19,opt,name=inproxy_broker_tls_fragmented,json=inproxyBrokerTlsFragmented,proto3,oneof" json:"inproxy_broker_tls_fragmented,omitempty"`
 	InproxyBrokerTlsFragmented                       *bool                  `protobuf:"varint,19,opt,name=inproxy_broker_tls_fragmented,json=inproxyBrokerTlsFragmented,proto3,oneof" json:"inproxy_broker_tls_fragmented,omitempty"`
-	InproxyBrokerTlsProfile                          *string                `protobuf:"bytes,20,opt,name=inproxy_broker_tls_profile,json=inproxyBrokerTlsProfile,proto3,oneof" json:"inproxy_broker_tls_profile,omitempty"` //LowCardinality
-	InproxyBrokerTlsVersion                          *string                `protobuf:"bytes,21,opt,name=inproxy_broker_tls_version,json=inproxyBrokerTlsVersion,proto3,oneof" json:"inproxy_broker_tls_version,omitempty"` //LowCardinality
+	InproxyBrokerTlsProfile                          *string                `protobuf:"bytes,20,opt,name=inproxy_broker_tls_profile,json=inproxyBrokerTlsProfile,proto3,oneof" json:"inproxy_broker_tls_profile,omitempty"`
+	InproxyBrokerTlsVersion                          *string                `protobuf:"bytes,21,opt,name=inproxy_broker_tls_version,json=inproxyBrokerTlsVersion,proto3,oneof" json:"inproxy_broker_tls_version,omitempty"`
 	InproxyBrokerTransformedHostName                 *bool                  `protobuf:"varint,22,opt,name=inproxy_broker_transformed_host_name,json=inproxyBrokerTransformedHostName,proto3,oneof" json:"inproxy_broker_transformed_host_name,omitempty"`
 	InproxyBrokerTransformedHostName                 *bool                  `protobuf:"varint,22,opt,name=inproxy_broker_transformed_host_name,json=inproxyBrokerTransformedHostName,proto3,oneof" json:"inproxy_broker_transformed_host_name,omitempty"`
-	InproxyBrokerTransport                           *string                `protobuf:"bytes,23,opt,name=inproxy_broker_transport,json=inproxyBrokerTransport,proto3,oneof" json:"inproxy_broker_transport,omitempty"` //LowCardinality
+	InproxyBrokerTransport                           *string                `protobuf:"bytes,23,opt,name=inproxy_broker_transport,json=inproxyBrokerTransport,proto3,oneof" json:"inproxy_broker_transport,omitempty"`
 	InproxyBrokerUpstreamBytesFragmented             *int64                 `protobuf:"varint,24,opt,name=inproxy_broker_upstream_bytes_fragmented,json=inproxyBrokerUpstreamBytesFragmented,proto3,oneof" json:"inproxy_broker_upstream_bytes_fragmented,omitempty"`
 	InproxyBrokerUpstreamBytesFragmented             *int64                 `protobuf:"varint,24,opt,name=inproxy_broker_upstream_bytes_fragmented,json=inproxyBrokerUpstreamBytesFragmented,proto3,oneof" json:"inproxy_broker_upstream_bytes_fragmented,omitempty"`
-	InproxyBrokerUserAgent                           *string                `protobuf:"bytes,25,opt,name=inproxy_broker_user_agent,json=inproxyBrokerUserAgent,proto3,oneof" json:"inproxy_broker_user_agent,omitempty"`                  //LowCardinality
-	InproxyClientNatType                             *string                `protobuf:"bytes,26,opt,name=inproxy_client_nat_type,json=inproxyClientNatType,proto3,oneof" json:"inproxy_client_nat_type,omitempty"`                        //LowCardinality
-	InproxyClientPortMappingTypes                    []string               `protobuf:"bytes,27,rep,name=inproxy_client_port_mapping_types,json=inproxyClientPortMappingTypes,proto3" json:"inproxy_client_port_mapping_types,omitempty"` //LowCardinality
+	InproxyBrokerUserAgent                           *string                `protobuf:"bytes,25,opt,name=inproxy_broker_user_agent,json=inproxyBrokerUserAgent,proto3,oneof" json:"inproxy_broker_user_agent,omitempty"`
+	InproxyClientNatType                             *string                `protobuf:"bytes,26,opt,name=inproxy_client_nat_type,json=inproxyClientNatType,proto3,oneof" json:"inproxy_client_nat_type,omitempty"`
+	InproxyClientPortMappingTypes                    []string               `protobuf:"bytes,27,rep,name=inproxy_client_port_mapping_types,json=inproxyClientPortMappingTypes,proto3" json:"inproxy_client_port_mapping_types,omitempty"`
 	InproxyConnectionId                              *string                `protobuf:"bytes,28,opt,name=inproxy_connection_id,json=inproxyConnectionId,proto3,oneof" json:"inproxy_connection_id,omitempty"`
 	InproxyConnectionId                              *string                `protobuf:"bytes,28,opt,name=inproxy_connection_id,json=inproxyConnectionId,proto3,oneof" json:"inproxy_connection_id,omitempty"`
 	InproxyDialBrokerOfferDuration                   *int64                 `protobuf:"varint,29,opt,name=inproxy_dial_broker_offer_duration,json=inproxyDialBrokerOfferDuration,proto3,oneof" json:"inproxy_dial_broker_offer_duration,omitempty"`
 	InproxyDialBrokerOfferDuration                   *int64                 `protobuf:"varint,29,opt,name=inproxy_dial_broker_offer_duration,json=inproxyDialBrokerOfferDuration,proto3,oneof" json:"inproxy_dial_broker_offer_duration,omitempty"`
 	InproxyDialFailedAttemptsDuration                *int64                 `protobuf:"varint,30,opt,name=inproxy_dial_failed_attempts_duration,json=inproxyDialFailedAttemptsDuration,proto3,oneof" json:"inproxy_dial_failed_attempts_duration,omitempty"`
 	InproxyDialFailedAttemptsDuration                *int64                 `protobuf:"varint,30,opt,name=inproxy_dial_failed_attempts_duration,json=inproxyDialFailedAttemptsDuration,proto3,oneof" json:"inproxy_dial_failed_attempts_duration,omitempty"`
 	InproxyDialNatDisoveryDuration                   *int64                 `protobuf:"varint,31,opt,name=inproxy_dial_nat_disovery_duration,json=inproxyDialNatDisoveryDuration,proto3,oneof" json:"inproxy_dial_nat_disovery_duration,omitempty"`
 	InproxyDialNatDisoveryDuration                   *int64                 `protobuf:"varint,31,opt,name=inproxy_dial_nat_disovery_duration,json=inproxyDialNatDisoveryDuration,proto3,oneof" json:"inproxy_dial_nat_disovery_duration,omitempty"`
 	InproxyDialWebrtcConnectionDuration              *int64                 `protobuf:"varint,32,opt,name=inproxy_dial_webrtc_connection_duration,json=inproxyDialWebrtcConnectionDuration,proto3,oneof" json:"inproxy_dial_webrtc_connection_duration,omitempty"`
 	InproxyDialWebrtcConnectionDuration              *int64                 `protobuf:"varint,32,opt,name=inproxy_dial_webrtc_connection_duration,json=inproxyDialWebrtcConnectionDuration,proto3,oneof" json:"inproxy_dial_webrtc_connection_duration,omitempty"`
 	InproxyDialWebrtcIceGatheringDuration            *int64                 `protobuf:"varint,33,opt,name=inproxy_dial_webrtc_ice_gathering_duration,json=inproxyDialWebrtcIceGatheringDuration,proto3,oneof" json:"inproxy_dial_webrtc_ice_gathering_duration,omitempty"`
 	InproxyDialWebrtcIceGatheringDuration            *int64                 `protobuf:"varint,33,opt,name=inproxy_dial_webrtc_ice_gathering_duration,json=inproxyDialWebrtcIceGatheringDuration,proto3,oneof" json:"inproxy_dial_webrtc_ice_gathering_duration,omitempty"`
-	InproxyMatchedCommonCompartments                 *bool                  `protobuf:"varint,34,opt,name=inproxy_matched_common_compartments,json=inproxyMatchedCommonCompartments,proto3,oneof" json:"inproxy_matched_common_compartments,omitempty"` //LowCardinality
+	InproxyMatchedCommonCompartments                 *bool                  `protobuf:"varint,34,opt,name=inproxy_matched_common_compartments,json=inproxyMatchedCommonCompartments,proto3,oneof" json:"inproxy_matched_common_compartments,omitempty"`
 	InproxyMatchedPersonalCompartments               *bool                  `protobuf:"varint,35,opt,name=inproxy_matched_personal_compartments,json=inproxyMatchedPersonalCompartments,proto3,oneof" json:"inproxy_matched_personal_compartments,omitempty"`
 	InproxyMatchedPersonalCompartments               *bool                  `protobuf:"varint,35,opt,name=inproxy_matched_personal_compartments,json=inproxyMatchedPersonalCompartments,proto3,oneof" json:"inproxy_matched_personal_compartments,omitempty"`
-	InproxyProxyAppliedTacticsTag                    *string                `protobuf:"bytes,36,opt,name=inproxy_proxy_applied_tactics_tag,json=inproxyProxyAppliedTacticsTag,proto3,oneof" json:"inproxy_proxy_applied_tactics_tag,omitempty"` //LowCardinality
-	InproxyProxyAsn                                  *string                `protobuf:"bytes,37,opt,name=inproxy_proxy_asn,json=inproxyProxyAsn,proto3,oneof" json:"inproxy_proxy_asn,omitempty"`                                               //LowCardinality
-	InproxyProxyAso                                  *string                `protobuf:"bytes,38,opt,name=inproxy_proxy_aso,json=inproxyProxyAso,proto3,oneof" json:"inproxy_proxy_aso,omitempty"`                                               //LowCardinality
-	InproxyProxyCity                                 *string                `protobuf:"bytes,39,opt,name=inproxy_proxy_city,json=inproxyProxyCity,proto3,oneof" json:"inproxy_proxy_city,omitempty"`                                            //LowCardinality
-	InproxyProxyClientBuildRev                       *string                `protobuf:"bytes,40,opt,name=inproxy_proxy_client_build_rev,json=inproxyProxyClientBuildRev,proto3,oneof" json:"inproxy_proxy_client_build_rev,omitempty"`          //LowCardinality
-	InproxyProxyClientPlatform                       *string                `protobuf:"bytes,41,opt,name=inproxy_proxy_client_platform,json=inproxyProxyClientPlatform,proto3,oneof" json:"inproxy_proxy_client_platform,omitempty"`            //LowCardinality
-	InproxyProxyClientVersion                        *int64                 `protobuf:"varint,42,opt,name=inproxy_proxy_client_version,json=inproxyProxyClientVersion,proto3,oneof" json:"inproxy_proxy_client_version,omitempty"`              //LowCardinality
+	InproxyProxyAppliedTacticsTag                    *string                `protobuf:"bytes,36,opt,name=inproxy_proxy_applied_tactics_tag,json=inproxyProxyAppliedTacticsTag,proto3,oneof" json:"inproxy_proxy_applied_tactics_tag,omitempty"`
+	InproxyProxyAsn                                  *string                `protobuf:"bytes,37,opt,name=inproxy_proxy_asn,json=inproxyProxyAsn,proto3,oneof" json:"inproxy_proxy_asn,omitempty"`
+	InproxyProxyAso                                  *string                `protobuf:"bytes,38,opt,name=inproxy_proxy_aso,json=inproxyProxyAso,proto3,oneof" json:"inproxy_proxy_aso,omitempty"`
+	InproxyProxyCity                                 *string                `protobuf:"bytes,39,opt,name=inproxy_proxy_city,json=inproxyProxyCity,proto3,oneof" json:"inproxy_proxy_city,omitempty"`
+	InproxyProxyClientBuildRev                       *string                `protobuf:"bytes,40,opt,name=inproxy_proxy_client_build_rev,json=inproxyProxyClientBuildRev,proto3,oneof" json:"inproxy_proxy_client_build_rev,omitempty"`
+	InproxyProxyClientPlatform                       *string                `protobuf:"bytes,41,opt,name=inproxy_proxy_client_platform,json=inproxyProxyClientPlatform,proto3,oneof" json:"inproxy_proxy_client_platform,omitempty"`
+	InproxyProxyClientVersion                        *int64                 `protobuf:"varint,42,opt,name=inproxy_proxy_client_version,json=inproxyProxyClientVersion,proto3,oneof" json:"inproxy_proxy_client_version,omitempty"`
 	InproxyProxyConnectedClients                     *int64                 `protobuf:"varint,43,opt,name=inproxy_proxy_connected_clients,json=inproxyProxyConnectedClients,proto3,oneof" json:"inproxy_proxy_connected_clients,omitempty"`
 	InproxyProxyConnectedClients                     *int64                 `protobuf:"varint,43,opt,name=inproxy_proxy_connected_clients,json=inproxyProxyConnectedClients,proto3,oneof" json:"inproxy_proxy_connected_clients,omitempty"`
 	InproxyProxyConnectingClients                    *int64                 `protobuf:"varint,44,opt,name=inproxy_proxy_connecting_clients,json=inproxyProxyConnectingClients,proto3,oneof" json:"inproxy_proxy_connecting_clients,omitempty"`
 	InproxyProxyConnectingClients                    *int64                 `protobuf:"varint,44,opt,name=inproxy_proxy_connecting_clients,json=inproxyProxyConnectingClients,proto3,oneof" json:"inproxy_proxy_connecting_clients,omitempty"`
 	InproxyProxyDeviceLocation                       *string                `protobuf:"bytes,45,opt,name=inproxy_proxy_device_location,json=inproxyProxyDeviceLocation,proto3,oneof" json:"inproxy_proxy_device_location,omitempty"`
 	InproxyProxyDeviceLocation                       *string                `protobuf:"bytes,45,opt,name=inproxy_proxy_device_location,json=inproxyProxyDeviceLocation,proto3,oneof" json:"inproxy_proxy_device_location,omitempty"`
-	InproxyProxyDeviceRegion                         *string                `protobuf:"bytes,46,opt,name=inproxy_proxy_device_region,json=inproxyProxyDeviceRegion,proto3,oneof" json:"inproxy_proxy_device_region,omitempty"`                     //LowCardinality
-	InproxyProxyFeatures                             *string                `protobuf:"bytes,47,opt,name=inproxy_proxy_features,json=inproxyProxyFeatures,proto3,oneof" json:"inproxy_proxy_features,omitempty"`                                   //LowCardinality
-	InproxyProxyFrontingProviderId                   *string                `protobuf:"bytes,48,opt,name=inproxy_proxy_fronting_provider_id,json=inproxyProxyFrontingProviderId,proto3,oneof" json:"inproxy_proxy_fronting_provider_id,omitempty"` //LowCardinality
+	InproxyProxyDeviceRegion                         *string                `protobuf:"bytes,46,opt,name=inproxy_proxy_device_region,json=inproxyProxyDeviceRegion,proto3,oneof" json:"inproxy_proxy_device_region,omitempty"`
+	InproxyProxyFeatures                             *string                `protobuf:"bytes,47,opt,name=inproxy_proxy_features,json=inproxyProxyFeatures,proto3,oneof" json:"inproxy_proxy_features,omitempty"`
+	InproxyProxyFrontingProviderId                   *string                `protobuf:"bytes,48,opt,name=inproxy_proxy_fronting_provider_id,json=inproxyProxyFrontingProviderId,proto3,oneof" json:"inproxy_proxy_fronting_provider_id,omitempty"`
 	InproxyProxyId                                   *string                `protobuf:"bytes,49,opt,name=inproxy_proxy_id,json=inproxyProxyId,proto3,oneof" json:"inproxy_proxy_id,omitempty"`
 	InproxyProxyId                                   *string                `protobuf:"bytes,49,opt,name=inproxy_proxy_id,json=inproxyProxyId,proto3,oneof" json:"inproxy_proxy_id,omitempty"`
 	InproxyProxyIsPriority                           *bool                  `protobuf:"varint,50,opt,name=inproxy_proxy_is_priority,json=inproxyProxyIsPriority,proto3,oneof" json:"inproxy_proxy_is_priority,omitempty"`
 	InproxyProxyIsPriority                           *bool                  `protobuf:"varint,50,opt,name=inproxy_proxy_is_priority,json=inproxyProxyIsPriority,proto3,oneof" json:"inproxy_proxy_is_priority,omitempty"`
-	InproxyProxyIsp                                  *string                `protobuf:"bytes,51,opt,name=inproxy_proxy_isp,json=inproxyProxyIsp,proto3,oneof" json:"inproxy_proxy_isp,omitempty"` //LowCardinality
+	InproxyProxyIsp                                  *string                `protobuf:"bytes,51,opt,name=inproxy_proxy_isp,json=inproxyProxyIsp,proto3,oneof" json:"inproxy_proxy_isp,omitempty"`
 	InproxyProxyLimitDownstreamBytesPerSecond        *int64                 `protobuf:"varint,52,opt,name=inproxy_proxy_limit_downstream_bytes_per_second,json=inproxyProxyLimitDownstreamBytesPerSecond,proto3,oneof" json:"inproxy_proxy_limit_downstream_bytes_per_second,omitempty"`
 	InproxyProxyLimitDownstreamBytesPerSecond        *int64                 `protobuf:"varint,52,opt,name=inproxy_proxy_limit_downstream_bytes_per_second,json=inproxyProxyLimitDownstreamBytesPerSecond,proto3,oneof" json:"inproxy_proxy_limit_downstream_bytes_per_second,omitempty"`
 	InproxyProxyLimitUpstreamBytesPerSecond          *int64                 `protobuf:"varint,53,opt,name=inproxy_proxy_limit_upstream_bytes_per_second,json=inproxyProxyLimitUpstreamBytesPerSecond,proto3,oneof" json:"inproxy_proxy_limit_upstream_bytes_per_second,omitempty"`
 	InproxyProxyLimitUpstreamBytesPerSecond          *int64                 `protobuf:"varint,53,opt,name=inproxy_proxy_limit_upstream_bytes_per_second,json=inproxyProxyLimitUpstreamBytesPerSecond,proto3,oneof" json:"inproxy_proxy_limit_upstream_bytes_per_second,omitempty"`
 	InproxyProxyMaxClients                           *int64                 `protobuf:"varint,54,opt,name=inproxy_proxy_max_clients,json=inproxyProxyMaxClients,proto3,oneof" json:"inproxy_proxy_max_clients,omitempty"`
 	InproxyProxyMaxClients                           *int64                 `protobuf:"varint,54,opt,name=inproxy_proxy_max_clients,json=inproxyProxyMaxClients,proto3,oneof" json:"inproxy_proxy_max_clients,omitempty"`
-	InproxyProxyNatType                              *string                `protobuf:"bytes,55,opt,name=inproxy_proxy_nat_type,json=inproxyProxyNatType,proto3,oneof" json:"inproxy_proxy_nat_type,omitempty"`             //LowCardinality
-	InproxyProxyNetworkType                          *string                `protobuf:"bytes,56,opt,name=inproxy_proxy_network_type,json=inproxyProxyNetworkType,proto3,oneof" json:"inproxy_proxy_network_type,omitempty"` //LowCardinality
+	InproxyProxyNatType                              *string                `protobuf:"bytes,55,opt,name=inproxy_proxy_nat_type,json=inproxyProxyNatType,proto3,oneof" json:"inproxy_proxy_nat_type,omitempty"`
+	InproxyProxyNetworkType                          *string                `protobuf:"bytes,56,opt,name=inproxy_proxy_network_type,json=inproxyProxyNetworkType,proto3,oneof" json:"inproxy_proxy_network_type,omitempty"`
 	InproxyProxyPeakDownstreamBytesPerSecond         *int64                 `protobuf:"varint,57,opt,name=inproxy_proxy_peak_downstream_bytes_per_second,json=inproxyProxyPeakDownstreamBytesPerSecond,proto3,oneof" json:"inproxy_proxy_peak_downstream_bytes_per_second,omitempty"`
 	InproxyProxyPeakDownstreamBytesPerSecond         *int64                 `protobuf:"varint,57,opt,name=inproxy_proxy_peak_downstream_bytes_per_second,json=inproxyProxyPeakDownstreamBytesPerSecond,proto3,oneof" json:"inproxy_proxy_peak_downstream_bytes_per_second,omitempty"`
 	InproxyProxyPeakUpstreamBytesPerSecond           *int64                 `protobuf:"varint,58,opt,name=inproxy_proxy_peak_upstream_bytes_per_second,json=inproxyProxyPeakUpstreamBytesPerSecond,proto3,oneof" json:"inproxy_proxy_peak_upstream_bytes_per_second,omitempty"`
 	InproxyProxyPeakUpstreamBytesPerSecond           *int64                 `protobuf:"varint,58,opt,name=inproxy_proxy_peak_upstream_bytes_per_second,json=inproxyProxyPeakUpstreamBytesPerSecond,proto3,oneof" json:"inproxy_proxy_peak_upstream_bytes_per_second,omitempty"`
-	InproxyProxyPortMappingTypes                     []string               `protobuf:"bytes,59,rep,name=inproxy_proxy_port_mapping_types,json=inproxyProxyPortMappingTypes,proto3" json:"inproxy_proxy_port_mapping_types,omitempty"`                   //LowCardinality
-	InproxyProxyPropagationChannelId                 *string                `protobuf:"bytes,60,opt,name=inproxy_proxy_propagation_channel_id,json=inproxyProxyPropagationChannelId,proto3,oneof" json:"inproxy_proxy_propagation_channel_id,omitempty"` //LowCardinality
+	InproxyProxyPortMappingTypes                     []string               `protobuf:"bytes,59,rep,name=inproxy_proxy_port_mapping_types,json=inproxyProxyPortMappingTypes,proto3" json:"inproxy_proxy_port_mapping_types,omitempty"`
+	InproxyProxyPropagationChannelId                 *string                `protobuf:"bytes,60,opt,name=inproxy_proxy_propagation_channel_id,json=inproxyProxyPropagationChannelId,proto3,oneof" json:"inproxy_proxy_propagation_channel_id,omitempty"`
 	InproxyProxyProtocolVersion                      *int64                 `protobuf:"varint,61,opt,name=inproxy_proxy_protocol_version,json=inproxyProxyProtocolVersion,proto3,oneof" json:"inproxy_proxy_protocol_version,omitempty"`
 	InproxyProxyProtocolVersion                      *int64                 `protobuf:"varint,61,opt,name=inproxy_proxy_protocol_version,json=inproxyProxyProtocolVersion,proto3,oneof" json:"inproxy_proxy_protocol_version,omitempty"`
-	InproxyProxyRegion                               *string                `protobuf:"bytes,62,opt,name=inproxy_proxy_region,json=inproxyProxyRegion,proto3,oneof" json:"inproxy_proxy_region,omitempty"` //LowCardinality
+	InproxyProxyRegion                               *string                `protobuf:"bytes,62,opt,name=inproxy_proxy_region,json=inproxyProxyRegion,proto3,oneof" json:"inproxy_proxy_region,omitempty"`
 	InproxyProxySessionId                            *string                `protobuf:"bytes,63,opt,name=inproxy_proxy_session_id,json=inproxyProxySessionId,proto3,oneof" json:"inproxy_proxy_session_id,omitempty"`
 	InproxyProxySessionId                            *string                `protobuf:"bytes,63,opt,name=inproxy_proxy_session_id,json=inproxyProxySessionId,proto3,oneof" json:"inproxy_proxy_session_id,omitempty"`
-	InproxyProxySponsorId                            *string                `protobuf:"bytes,64,opt,name=inproxy_proxy_sponsor_id,json=inproxyProxySponsorId,proto3,oneof" json:"inproxy_proxy_sponsor_id,omitempty"`                        //LowCardinality
-	InproxyProxyStoredTacticsTag                     *string                `protobuf:"bytes,65,opt,name=inproxy_proxy_stored_tactics_tag,json=inproxyProxyStoredTacticsTag,proto3,oneof" json:"inproxy_proxy_stored_tactics_tag,omitempty"` //LowCardinality
-	InproxyProxyClientFeatures                       []string               `protobuf:"bytes,66,rep,name=inproxy_proxy_client_features,json=inproxyProxyClientFeatures,proto3" json:"inproxy_proxy_client_features,omitempty"`               //LowCardinality
+	InproxyProxySponsorId                            *string                `protobuf:"bytes,64,opt,name=inproxy_proxy_sponsor_id,json=inproxyProxySponsorId,proto3,oneof" json:"inproxy_proxy_sponsor_id,omitempty"`
+	InproxyProxyStoredTacticsTag                     *string                `protobuf:"bytes,65,opt,name=inproxy_proxy_stored_tactics_tag,json=inproxyProxyStoredTacticsTag,proto3,oneof" json:"inproxy_proxy_stored_tactics_tag,omitempty"`
+	InproxyProxyClientFeatures                       []string               `protobuf:"bytes,66,rep,name=inproxy_proxy_client_features,json=inproxyProxyClientFeatures,proto3" json:"inproxy_proxy_client_features,omitempty"`
 	InproxyWebrtcDecoyMessagesReceived               *int64                 `protobuf:"varint,67,opt,name=inproxy_webrtc_decoy_messages_received,json=inproxyWebrtcDecoyMessagesReceived,proto3,oneof" json:"inproxy_webrtc_decoy_messages_received,omitempty"`
 	InproxyWebrtcDecoyMessagesReceived               *int64                 `protobuf:"varint,67,opt,name=inproxy_webrtc_decoy_messages_received,json=inproxyWebrtcDecoyMessagesReceived,proto3,oneof" json:"inproxy_webrtc_decoy_messages_received,omitempty"`
 	InproxyWebrtcDecoyMessagesSent                   *int64                 `protobuf:"varint,68,opt,name=inproxy_webrtc_decoy_messages_sent,json=inproxyWebrtcDecoyMessagesSent,proto3,oneof" json:"inproxy_webrtc_decoy_messages_sent,omitempty"`
 	InproxyWebrtcDecoyMessagesSent                   *int64                 `protobuf:"varint,68,opt,name=inproxy_webrtc_decoy_messages_sent,json=inproxyWebrtcDecoyMessagesSent,proto3,oneof" json:"inproxy_webrtc_decoy_messages_sent,omitempty"`
 	InproxyWebrtcDnsAttempt                          *int64                 `protobuf:"varint,69,opt,name=inproxy_webrtc_dns_attempt,json=inproxyWebrtcDnsAttempt,proto3,oneof" json:"inproxy_webrtc_dns_attempt,omitempty"`
 	InproxyWebrtcDnsAttempt                          *int64                 `protobuf:"varint,69,opt,name=inproxy_webrtc_dns_attempt,json=inproxyWebrtcDnsAttempt,proto3,oneof" json:"inproxy_webrtc_dns_attempt,omitempty"`
-	InproxyWebrtcDnsPreferred                        *string                `protobuf:"bytes,70,opt,name=inproxy_webrtc_dns_preferred,json=inproxyWebrtcDnsPreferred,proto3,oneof" json:"inproxy_webrtc_dns_preferred,omitempty"`       //LowCardinality
-	InproxyWebrtcDnsPreresolved                      *string                `protobuf:"bytes,71,opt,name=inproxy_webrtc_dns_preresolved,json=inproxyWebrtcDnsPreresolved,proto3,oneof" json:"inproxy_webrtc_dns_preresolved,omitempty"` //LowCardinality
+	InproxyWebrtcDnsPreferred                        *string                `protobuf:"bytes,70,opt,name=inproxy_webrtc_dns_preferred,json=inproxyWebrtcDnsPreferred,proto3,oneof" json:"inproxy_webrtc_dns_preferred,omitempty"`
+	InproxyWebrtcDnsPreresolved                      *string                `protobuf:"bytes,71,opt,name=inproxy_webrtc_dns_preresolved,json=inproxyWebrtcDnsPreresolved,proto3,oneof" json:"inproxy_webrtc_dns_preresolved,omitempty"`
 	InproxyWebrtcDnsQnameMismatches                  *int64                 `protobuf:"varint,72,opt,name=inproxy_webrtc_dns_qname_mismatches,json=inproxyWebrtcDnsQnameMismatches,proto3,oneof" json:"inproxy_webrtc_dns_qname_mismatches,omitempty"`
 	InproxyWebrtcDnsQnameMismatches                  *int64                 `protobuf:"varint,72,opt,name=inproxy_webrtc_dns_qname_mismatches,json=inproxyWebrtcDnsQnameMismatches,proto3,oneof" json:"inproxy_webrtc_dns_qname_mismatches,omitempty"`
 	InproxyWebrtcDnsQnameMustMatch                   *bool                  `protobuf:"varint,73,opt,name=inproxy_webrtc_dns_qname_must_match,json=inproxyWebrtcDnsQnameMustMatch,proto3,oneof" json:"inproxy_webrtc_dns_qname_must_match,omitempty"`
 	InproxyWebrtcDnsQnameMustMatch                   *bool                  `protobuf:"varint,73,opt,name=inproxy_webrtc_dns_qname_must_match,json=inproxyWebrtcDnsQnameMustMatch,proto3,oneof" json:"inproxy_webrtc_dns_qname_must_match,omitempty"`
 	InproxyWebrtcDnsQnameRandomCasing                *bool                  `protobuf:"varint,74,opt,name=inproxy_webrtc_dns_qname_random_casing,json=inproxyWebrtcDnsQnameRandomCasing,proto3,oneof" json:"inproxy_webrtc_dns_qname_random_casing,omitempty"`
 	InproxyWebrtcDnsQnameRandomCasing                *bool                  `protobuf:"varint,74,opt,name=inproxy_webrtc_dns_qname_random_casing,json=inproxyWebrtcDnsQnameRandomCasing,proto3,oneof" json:"inproxy_webrtc_dns_qname_random_casing,omitempty"`
-	InproxyWebrtcDnsTransform                        *string                `protobuf:"bytes,75,opt,name=inproxy_webrtc_dns_transform,json=inproxyWebrtcDnsTransform,proto3,oneof" json:"inproxy_webrtc_dns_transform,omitempty"` //LowCardinality
+	InproxyWebrtcDnsTransform                        *string                `protobuf:"bytes,75,opt,name=inproxy_webrtc_dns_transform,json=inproxyWebrtcDnsTransform,proto3,oneof" json:"inproxy_webrtc_dns_transform,omitempty"`
 	InproxyWebrtcLocalIceCandidateIs_IPv6            *bool                  `protobuf:"varint,76,opt,name=inproxy_webrtc_local_ice_candidate_is_IPv6,json=inproxyWebrtcLocalIceCandidateIsIPv6,proto3,oneof" json:"inproxy_webrtc_local_ice_candidate_is_IPv6,omitempty"`
 	InproxyWebrtcLocalIceCandidateIs_IPv6            *bool                  `protobuf:"varint,76,opt,name=inproxy_webrtc_local_ice_candidate_is_IPv6,json=inproxyWebrtcLocalIceCandidateIsIPv6,proto3,oneof" json:"inproxy_webrtc_local_ice_candidate_is_IPv6,omitempty"`
 	InproxyWebrtcLocalIceCandidateIsInitiator        *bool                  `protobuf:"varint,77,opt,name=inproxy_webrtc_local_ice_candidate_is_initiator,json=inproxyWebrtcLocalIceCandidateIsInitiator,proto3,oneof" json:"inproxy_webrtc_local_ice_candidate_is_initiator,omitempty"`
 	InproxyWebrtcLocalIceCandidateIsInitiator        *bool                  `protobuf:"varint,77,opt,name=inproxy_webrtc_local_ice_candidate_is_initiator,json=inproxyWebrtcLocalIceCandidateIsInitiator,proto3,oneof" json:"inproxy_webrtc_local_ice_candidate_is_initiator,omitempty"`
 	InproxyWebrtcLocalIceCandidatePort               *int64                 `protobuf:"varint,78,opt,name=inproxy_webrtc_local_ice_candidate_port,json=inproxyWebrtcLocalIceCandidatePort,proto3,oneof" json:"inproxy_webrtc_local_ice_candidate_port,omitempty"`
 	InproxyWebrtcLocalIceCandidatePort               *int64                 `protobuf:"varint,78,opt,name=inproxy_webrtc_local_ice_candidate_port,json=inproxyWebrtcLocalIceCandidatePort,proto3,oneof" json:"inproxy_webrtc_local_ice_candidate_port,omitempty"`
-	InproxyWebrtcLocalIceCandidateType               *string                `protobuf:"bytes,79,opt,name=inproxy_webrtc_local_ice_candidate_type,json=inproxyWebrtcLocalIceCandidateType,proto3,oneof" json:"inproxy_webrtc_local_ice_candidate_type,omitempty"` //LowCardinality
+	InproxyWebrtcLocalIceCandidateType               *string                `protobuf:"bytes,79,opt,name=inproxy_webrtc_local_ice_candidate_type,json=inproxyWebrtcLocalIceCandidateType,proto3,oneof" json:"inproxy_webrtc_local_ice_candidate_type,omitempty"`
 	InproxyWebrtcPaddedMessagesReceived              *int64                 `protobuf:"varint,80,opt,name=inproxy_webrtc_padded_messages_received,json=inproxyWebrtcPaddedMessagesReceived,proto3,oneof" json:"inproxy_webrtc_padded_messages_received,omitempty"`
 	InproxyWebrtcPaddedMessagesReceived              *int64                 `protobuf:"varint,80,opt,name=inproxy_webrtc_padded_messages_received,json=inproxyWebrtcPaddedMessagesReceived,proto3,oneof" json:"inproxy_webrtc_padded_messages_received,omitempty"`
 	InproxyWebrtcPaddedMessagesSent                  *int64                 `protobuf:"varint,81,opt,name=inproxy_webrtc_padded_messages_sent,json=inproxyWebrtcPaddedMessagesSent,proto3,oneof" json:"inproxy_webrtc_padded_messages_sent,omitempty"`
 	InproxyWebrtcPaddedMessagesSent                  *int64                 `protobuf:"varint,81,opt,name=inproxy_webrtc_padded_messages_sent,json=inproxyWebrtcPaddedMessagesSent,proto3,oneof" json:"inproxy_webrtc_padded_messages_sent,omitempty"`
 	InproxyWebrtcRandomizeDtls                       *bool                  `protobuf:"varint,82,opt,name=inproxy_webrtc_randomize_dtls,json=inproxyWebrtcRandomizeDtls,proto3,oneof" json:"inproxy_webrtc_randomize_dtls,omitempty"`
 	InproxyWebrtcRandomizeDtls                       *bool                  `protobuf:"varint,82,opt,name=inproxy_webrtc_randomize_dtls,json=inproxyWebrtcRandomizeDtls,proto3,oneof" json:"inproxy_webrtc_randomize_dtls,omitempty"`
 	InproxyWebrtcRemoteIceCandidateIs_IPv6           *bool                  `protobuf:"varint,83,opt,name=inproxy_webrtc_remote_ice_candidate_is_IPv6,json=inproxyWebrtcRemoteIceCandidateIsIPv6,proto3,oneof" json:"inproxy_webrtc_remote_ice_candidate_is_IPv6,omitempty"`
 	InproxyWebrtcRemoteIceCandidateIs_IPv6           *bool                  `protobuf:"varint,83,opt,name=inproxy_webrtc_remote_ice_candidate_is_IPv6,json=inproxyWebrtcRemoteIceCandidateIsIPv6,proto3,oneof" json:"inproxy_webrtc_remote_ice_candidate_is_IPv6,omitempty"`
 	InproxyWebrtcRemoteIceCandidatePort              *int64                 `protobuf:"varint,84,opt,name=inproxy_webrtc_remote_ice_candidate_port,json=inproxyWebrtcRemoteIceCandidatePort,proto3,oneof" json:"inproxy_webrtc_remote_ice_candidate_port,omitempty"`
 	InproxyWebrtcRemoteIceCandidatePort              *int64                 `protobuf:"varint,84,opt,name=inproxy_webrtc_remote_ice_candidate_port,json=inproxyWebrtcRemoteIceCandidatePort,proto3,oneof" json:"inproxy_webrtc_remote_ice_candidate_port,omitempty"`
-	InproxyWebrtcRemoteIceCandidateType              *string                `protobuf:"bytes,85,opt,name=inproxy_webrtc_remote_ice_candidate_type,json=inproxyWebrtcRemoteIceCandidateType,proto3,oneof" json:"inproxy_webrtc_remote_ice_candidate_type,omitempty"`                                         //LowCardinality
-	InproxyWebrtcStunServer                          *string                `protobuf:"bytes,86,opt,name=inproxy_webrtc_stun_server,json=inproxyWebrtcStunServer,proto3,oneof" json:"inproxy_webrtc_stun_server,omitempty"`                                                                                 //LowCardinality
-	InproxyWebrtcStunServer_RFC5780                  *string                `protobuf:"bytes,87,opt,name=inproxy_webrtc_stun_server_RFC5780,json=inproxyWebrtcStunServerRFC5780,proto3,oneof" json:"inproxy_webrtc_stun_server_RFC5780,omitempty"`                                                          //LowCardinality
-	InproxyWebrtcStunServer_RFC5780ResolvedIpAddress *string                `protobuf:"bytes,88,opt,name=inproxy_webrtc_stun_server_RFC5780_resolved_ip_address,json=inproxyWebrtcStunServerRFC5780ResolvedIpAddress,proto3,oneof" json:"inproxy_webrtc_stun_server_RFC5780_resolved_ip_address,omitempty"` //LowCardinality
-	InproxyWebrtcStunServerResolvedIpAddress         *string                `protobuf:"bytes,89,opt,name=inproxy_webrtc_stun_server_resolved_ip_address,json=inproxyWebrtcStunServerResolvedIpAddress,proto3,oneof" json:"inproxy_webrtc_stun_server_resolved_ip_address,omitempty"`                        //LowCardinality
+	InproxyWebrtcRemoteIceCandidateType              *string                `protobuf:"bytes,85,opt,name=inproxy_webrtc_remote_ice_candidate_type,json=inproxyWebrtcRemoteIceCandidateType,proto3,oneof" json:"inproxy_webrtc_remote_ice_candidate_type,omitempty"`
+	InproxyWebrtcStunServer                          *string                `protobuf:"bytes,86,opt,name=inproxy_webrtc_stun_server,json=inproxyWebrtcStunServer,proto3,oneof" json:"inproxy_webrtc_stun_server,omitempty"`
+	InproxyWebrtcStunServer_RFC5780                  *string                `protobuf:"bytes,87,opt,name=inproxy_webrtc_stun_server_RFC5780,json=inproxyWebrtcStunServerRFC5780,proto3,oneof" json:"inproxy_webrtc_stun_server_RFC5780,omitempty"`
+	InproxyWebrtcStunServer_RFC5780ResolvedIpAddress *string                `protobuf:"bytes,88,opt,name=inproxy_webrtc_stun_server_RFC5780_resolved_ip_address,json=inproxyWebrtcStunServerRFC5780ResolvedIpAddress,proto3,oneof" json:"inproxy_webrtc_stun_server_RFC5780_resolved_ip_address,omitempty"`
+	InproxyWebrtcStunServerResolvedIpAddress         *string                `protobuf:"bytes,89,opt,name=inproxy_webrtc_stun_server_resolved_ip_address,json=inproxyWebrtcStunServerResolvedIpAddress,proto3,oneof" json:"inproxy_webrtc_stun_server_resolved_ip_address,omitempty"`
 	InproxyWebrtcUseMediaStreams                     *bool                  `protobuf:"varint,90,opt,name=inproxy_webrtc_use_media_streams,json=inproxyWebrtcUseMediaStreams,proto3,oneof" json:"inproxy_webrtc_use_media_streams,omitempty"`
 	InproxyWebrtcUseMediaStreams                     *bool                  `protobuf:"varint,90,opt,name=inproxy_webrtc_use_media_streams,json=inproxyWebrtcUseMediaStreams,proto3,oneof" json:"inproxy_webrtc_use_media_streams,omitempty"`
 	unknownFields                                    protoimpl.UnknownFields
 	unknownFields                                    protoimpl.UnknownFields
 	sizeCache                                        protoimpl.SizeCache
 	sizeCache                                        protoimpl.SizeCache

+ 11 - 11
psiphon/server/pb/psiphond/irregular_tunnel.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/irregular_tunnel.proto
 // source: ca.psiphon.psiphond/irregular_tunnel.proto
 
 
 package psiphond
 package psiphond
@@ -24,19 +24,19 @@ const (
 type IrregularTunnel struct {
 type IrregularTunnel struct {
 	state                              protoimpl.MessageState `protogen:"open.v1"`
 	state                              protoimpl.MessageState `protogen:"open.v1"`
 	BaseParams                         *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
 	BaseParams                         *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
-	DuplicateAuthorizationClientAsn    *string                `protobuf:"bytes,100,opt,name=duplicate_authorization_client_asn,json=duplicateAuthorizationClientAsn,proto3,oneof" json:"duplicate_authorization_client_asn,omitempty"`          //LowCardinality
-	DuplicateAuthorizationClientAso    *string                `protobuf:"bytes,101,opt,name=duplicate_authorization_client_aso,json=duplicateAuthorizationClientAso,proto3,oneof" json:"duplicate_authorization_client_aso,omitempty"`          //LowCardinality
-	DuplicateAuthorizationClientCity   *string                `protobuf:"bytes,102,opt,name=duplicate_authorization_client_city,json=duplicateAuthorizationClientCity,proto3,oneof" json:"duplicate_authorization_client_city,omitempty"`       //LowCardinality
-	DuplicateAuthorizationClientIsp    *string                `protobuf:"bytes,103,opt,name=duplicate_authorization_client_isp,json=duplicateAuthorizationClientIsp,proto3,oneof" json:"duplicate_authorization_client_isp,omitempty"`          //LowCardinality
-	DuplicateAuthorizationClientRegion *string                `protobuf:"bytes,104,opt,name=duplicate_authorization_client_region,json=duplicateAuthorizationClientRegion,proto3,oneof" json:"duplicate_authorization_client_region,omitempty"` //LowCardinality
+	DuplicateAuthorizationClientAsn    *string                `protobuf:"bytes,100,opt,name=duplicate_authorization_client_asn,json=duplicateAuthorizationClientAsn,proto3,oneof" json:"duplicate_authorization_client_asn,omitempty"`
+	DuplicateAuthorizationClientAso    *string                `protobuf:"bytes,101,opt,name=duplicate_authorization_client_aso,json=duplicateAuthorizationClientAso,proto3,oneof" json:"duplicate_authorization_client_aso,omitempty"`
+	DuplicateAuthorizationClientCity   *string                `protobuf:"bytes,102,opt,name=duplicate_authorization_client_city,json=duplicateAuthorizationClientCity,proto3,oneof" json:"duplicate_authorization_client_city,omitempty"`
+	DuplicateAuthorizationClientIsp    *string                `protobuf:"bytes,103,opt,name=duplicate_authorization_client_isp,json=duplicateAuthorizationClientIsp,proto3,oneof" json:"duplicate_authorization_client_isp,omitempty"`
+	DuplicateAuthorizationClientRegion *string                `protobuf:"bytes,104,opt,name=duplicate_authorization_client_region,json=duplicateAuthorizationClientRegion,proto3,oneof" json:"duplicate_authorization_client_region,omitempty"`
 	DuplicateAuthorizationId           *string                `protobuf:"bytes,105,opt,name=duplicate_authorization_id,json=duplicateAuthorizationId,proto3,oneof" json:"duplicate_authorization_id,omitempty"`
 	DuplicateAuthorizationId           *string                `protobuf:"bytes,105,opt,name=duplicate_authorization_id,json=duplicateAuthorizationId,proto3,oneof" json:"duplicate_authorization_id,omitempty"`
-	DuplicateClientIp                  *string                `protobuf:"bytes,106,opt,name=duplicate_client_ip,json=duplicateClientIp,proto3,oneof" json:"duplicate_client_ip,omitempty"` //LowCardinality
+	DuplicateClientIp                  *string                `protobuf:"bytes,106,opt,name=duplicate_client_ip,json=duplicateClientIp,proto3,oneof" json:"duplicate_client_ip,omitempty"`
 	DuplicateElapsedTimeMs             *int64                 `protobuf:"varint,107,opt,name=duplicate_elapsed_time_ms,json=duplicateElapsedTimeMs,proto3,oneof" json:"duplicate_elapsed_time_ms,omitempty"`
 	DuplicateElapsedTimeMs             *int64                 `protobuf:"varint,107,opt,name=duplicate_elapsed_time_ms,json=duplicateElapsedTimeMs,proto3,oneof" json:"duplicate_elapsed_time_ms,omitempty"`
 	DuplicateSeed                      *string                `protobuf:"bytes,108,opt,name=duplicate_seed,json=duplicateSeed,proto3,oneof" json:"duplicate_seed,omitempty"`
 	DuplicateSeed                      *string                `protobuf:"bytes,108,opt,name=duplicate_seed,json=duplicateSeed,proto3,oneof" json:"duplicate_seed,omitempty"`
-	DuplicateSeedType                  *string                `protobuf:"bytes,109,opt,name=duplicate_seed_type,json=duplicateSeedType,proto3,oneof" json:"duplicate_seed_type,omitempty"` //LowCardinality
+	DuplicateSeedType                  *string                `protobuf:"bytes,109,opt,name=duplicate_seed_type,json=duplicateSeedType,proto3,oneof" json:"duplicate_seed_type,omitempty"`
 	ListenerPortNumber                 *uint32                `protobuf:"varint,110,opt,name=listener_port_number,json=listenerPortNumber,proto3,oneof" json:"listener_port_number,omitempty"`
 	ListenerPortNumber                 *uint32                `protobuf:"varint,110,opt,name=listener_port_number,json=listenerPortNumber,proto3,oneof" json:"listener_port_number,omitempty"`
-	ListenerProtocol                   *string                `protobuf:"bytes,111,opt,name=listener_protocol,json=listenerProtocol,proto3,oneof" json:"listener_protocol,omitempty"` //LowCardinality
-	TunnelError                        *string                `protobuf:"bytes,112,opt,name=tunnel_error,json=tunnelError,proto3,oneof" json:"tunnel_error,omitempty"`                //LowCardinality
+	ListenerProtocol                   *string                `protobuf:"bytes,111,opt,name=listener_protocol,json=listenerProtocol,proto3,oneof" json:"listener_protocol,omitempty"`
+	TunnelError                        *string                `protobuf:"bytes,112,opt,name=tunnel_error,json=tunnelError,proto3,oneof" json:"tunnel_error,omitempty"`
 	unknownFields                      protoimpl.UnknownFields
 	unknownFields                      protoimpl.UnknownFields
 	sizeCache                          protoimpl.SizeCache
 	sizeCache                          protoimpl.SizeCache
 }
 }

+ 2 - 2
psiphon/server/pb/psiphond/orphan_packet.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/orphan_packet.proto
 // source: ca.psiphon.psiphond/orphan_packet.proto
 
 
 package psiphond
 package psiphond

+ 6 - 6
psiphon/server/pb/psiphond/psiphond.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/psiphond.proto
 // source: ca.psiphon.psiphond/psiphond.proto
 
 
 package psiphond
 package psiphond
@@ -25,10 +25,10 @@ const (
 type Psiphond struct {
 type Psiphond struct {
 	state        protoimpl.MessageState `protogen:"open.v1"`
 	state        protoimpl.MessageState `protogen:"open.v1"`
 	Timestamp    *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3,oneof" json:"timestamp,omitempty"`
 	Timestamp    *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3,oneof" json:"timestamp,omitempty"`
-	HostId       *string                `protobuf:"bytes,2,opt,name=host_id,json=hostId,proto3,oneof" json:"host_id,omitempty"`                     //LowCardinality
-	HostType     *string                `protobuf:"bytes,3,opt,name=host_type,json=hostType,proto3,oneof" json:"host_type,omitempty"`               //LowCardinality
-	HostBuildRev *string                `protobuf:"bytes,4,opt,name=host_build_rev,json=hostBuildRev,proto3,oneof" json:"host_build_rev,omitempty"` //LowCardinality
-	Provider     *string                `protobuf:"bytes,5,opt,name=provider,proto3,oneof" json:"provider,omitempty"`                               //LowCardinality
+	HostId       *string                `protobuf:"bytes,2,opt,name=host_id,json=hostId,proto3,oneof" json:"host_id,omitempty"`
+	HostType     *string                `protobuf:"bytes,3,opt,name=host_type,json=hostType,proto3,oneof" json:"host_type,omitempty"`
+	HostBuildRev *string                `protobuf:"bytes,4,opt,name=host_build_rev,json=hostBuildRev,proto3,oneof" json:"host_build_rev,omitempty"`
+	Provider     *string                `protobuf:"bytes,5,opt,name=provider,proto3,oneof" json:"provider,omitempty"`
 	// Types that are valid to be assigned to Metric:
 	// Types that are valid to be assigned to Metric:
 	//
 	//
 	//	*Psiphond_DomainBytes
 	//	*Psiphond_DomainBytes

+ 4 - 4
psiphon/server/pb/psiphond/remote_server_list.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/remote_server_list.proto
 // source: ca.psiphon.psiphond/remote_server_list.proto
 
 
 package psiphond
 package psiphond
@@ -30,9 +30,9 @@ type RemoteServerList struct {
 	Bytes                   *int64                 `protobuf:"varint,101,opt,name=bytes,proto3,oneof" json:"bytes,omitempty"`
 	Bytes                   *int64                 `protobuf:"varint,101,opt,name=bytes,proto3,oneof" json:"bytes,omitempty"`
 	ClientDownloadTimestamp *timestamppb.Timestamp `protobuf:"bytes,102,opt,name=client_download_timestamp,json=clientDownloadTimestamp,proto3,oneof" json:"client_download_timestamp,omitempty"`
 	ClientDownloadTimestamp *timestamppb.Timestamp `protobuf:"bytes,102,opt,name=client_download_timestamp,json=clientDownloadTimestamp,proto3,oneof" json:"client_download_timestamp,omitempty"`
 	Duration                *int64                 `protobuf:"varint,103,opt,name=duration,proto3,oneof" json:"duration,omitempty"`
 	Duration                *int64                 `protobuf:"varint,103,opt,name=duration,proto3,oneof" json:"duration,omitempty"`
-	Etag                    *string                `protobuf:"bytes,104,opt,name=etag,proto3,oneof" json:"etag,omitempty"` //LowCardinality
+	Etag                    *string                `protobuf:"bytes,104,opt,name=etag,proto3,oneof" json:"etag,omitempty"`
 	Tunneled                *bool                  `protobuf:"varint,105,opt,name=tunneled,proto3,oneof" json:"tunneled,omitempty"`
 	Tunneled                *bool                  `protobuf:"varint,105,opt,name=tunneled,proto3,oneof" json:"tunneled,omitempty"`
-	Url                     *string                `protobuf:"bytes,106,opt,name=url,proto3,oneof" json:"url,omitempty"` //LowCardinality
+	Url                     *string                `protobuf:"bytes,106,opt,name=url,proto3,oneof" json:"url,omitempty"`
 	unknownFields           protoimpl.UnknownFields
 	unknownFields           protoimpl.UnknownFields
 	sizeCache               protoimpl.SizeCache
 	sizeCache               protoimpl.SizeCache
 }
 }

+ 5 - 5
psiphon/server/pb/psiphond/server_blocklist.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/server_blocklist.proto
 // source: ca.psiphon.psiphond/server_blocklist.proto
 
 
 package psiphond
 package psiphond
@@ -24,9 +24,9 @@ const (
 type ServerBlocklistHit struct {
 type ServerBlocklistHit struct {
 	state              protoimpl.MessageState `protogen:"open.v1"`
 	state              protoimpl.MessageState `protogen:"open.v1"`
 	BaseParams         *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
 	BaseParams         *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
-	BlocklistIpAddress *string                `protobuf:"bytes,100,opt,name=blocklist_ip_address,json=blocklistIpAddress,proto3,oneof" json:"blocklist_ip_address,omitempty"` //LowCardinality
-	BlocklistSource    *string                `protobuf:"bytes,101,opt,name=blocklist_source,json=blocklistSource,proto3,oneof" json:"blocklist_source,omitempty"`            //LowCardinality
-	BlocklistSubject   *string                `protobuf:"bytes,102,opt,name=blocklist_subject,json=blocklistSubject,proto3,oneof" json:"blocklist_subject,omitempty"`         //LowCardinality
+	BlocklistIpAddress *string                `protobuf:"bytes,100,opt,name=blocklist_ip_address,json=blocklistIpAddress,proto3,oneof" json:"blocklist_ip_address,omitempty"`
+	BlocklistSource    *string                `protobuf:"bytes,101,opt,name=blocklist_source,json=blocklistSource,proto3,oneof" json:"blocklist_source,omitempty"`
+	BlocklistSubject   *string                `protobuf:"bytes,102,opt,name=blocklist_subject,json=blocklistSubject,proto3,oneof" json:"blocklist_subject,omitempty"`
 	unknownFields      protoimpl.UnknownFields
 	unknownFields      protoimpl.UnknownFields
 	sizeCache          protoimpl.SizeCache
 	sizeCache          protoimpl.SizeCache
 }
 }

+ 5 - 5
psiphon/server/pb/psiphond/server_load.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/server_load.proto
 // source: ca.psiphon.psiphond/server_load.proto
 
 
 package psiphond
 package psiphond
@@ -24,8 +24,8 @@ const (
 
 
 type ServerLoadProtocol struct {
 type ServerLoadProtocol struct {
 	state              protoimpl.MessageState `protogen:"open.v1"`
 	state              protoimpl.MessageState `protogen:"open.v1"`
-	Region             *string                `protobuf:"bytes,100,opt,name=region,proto3,oneof" json:"region,omitempty"`     //LowCardinality
-	Protocol           *string                `protobuf:"bytes,101,opt,name=protocol,proto3,oneof" json:"protocol,omitempty"` //LowCardinality
+	Region             *string                `protobuf:"bytes,100,opt,name=region,proto3,oneof" json:"region,omitempty"`
+	Protocol           *string                `protobuf:"bytes,101,opt,name=protocol,proto3,oneof" json:"protocol,omitempty"`
 	AcceptedClients    *int64                 `protobuf:"varint,102,opt,name=accepted_clients,json=acceptedClients,proto3,oneof" json:"accepted_clients,omitempty"`
 	AcceptedClients    *int64                 `protobuf:"varint,102,opt,name=accepted_clients,json=acceptedClients,proto3,oneof" json:"accepted_clients,omitempty"`
 	EstablishedClients *int64                 `protobuf:"varint,103,opt,name=established_clients,json=establishedClients,proto3,oneof" json:"established_clients,omitempty"`
 	EstablishedClients *int64                 `protobuf:"varint,103,opt,name=established_clients,json=establishedClients,proto3,oneof" json:"established_clients,omitempty"`
 	unknownFields      protoimpl.UnknownFields
 	unknownFields      protoimpl.UnknownFields
@@ -92,7 +92,7 @@ func (x *ServerLoadProtocol) GetEstablishedClients() int64 {
 
 
 type ServerLoadDNS struct {
 type ServerLoadDNS struct {
 	state             protoimpl.MessageState `protogen:"open.v1"`
 	state             protoimpl.MessageState `protogen:"open.v1"`
-	DnsServer         *string                `protobuf:"bytes,100,opt,name=dns_server,json=dnsServer,proto3,oneof" json:"dns_server,omitempty"` //LowCardinality
+	DnsServer         *string                `protobuf:"bytes,100,opt,name=dns_server,json=dnsServer,proto3,oneof" json:"dns_server,omitempty"`
 	DnsCount          *int64                 `protobuf:"varint,101,opt,name=dns_count,json=dnsCount,proto3,oneof" json:"dns_count,omitempty"`
 	DnsCount          *int64                 `protobuf:"varint,101,opt,name=dns_count,json=dnsCount,proto3,oneof" json:"dns_count,omitempty"`
 	DnsDuration       *int64                 `protobuf:"varint,102,opt,name=dns_duration,json=dnsDuration,proto3,oneof" json:"dns_duration,omitempty"`
 	DnsDuration       *int64                 `protobuf:"varint,102,opt,name=dns_duration,json=dnsDuration,proto3,oneof" json:"dns_duration,omitempty"`
 	DnsFailedCount    *int64                 `protobuf:"varint,103,opt,name=dns_failed_count,json=dnsFailedCount,proto3,oneof" json:"dns_failed_count,omitempty"`
 	DnsFailedCount    *int64                 `protobuf:"varint,103,opt,name=dns_failed_count,json=dnsFailedCount,proto3,oneof" json:"dns_failed_count,omitempty"`

+ 2 - 2
psiphon/server/pb/psiphond/server_packet.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/server_packet.proto
 // source: ca.psiphon.psiphond/server_packet.proto
 
 
 package psiphond
 package psiphond

+ 2 - 2
psiphon/server/pb/psiphond/server_panic.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/server_panic.proto
 // source: ca.psiphon.psiphond/server_panic.proto
 
 
 package psiphond
 package psiphond

+ 5 - 5
psiphon/server/pb/psiphond/server_tunnel.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/server_tunnel.proto
 // source: ca.psiphon.psiphond/server_tunnel.proto
 
 
 package psiphond
 package psiphond
@@ -75,8 +75,8 @@ type ServerTunnel struct {
 	MeekPeakCachedResponseSize                    *int64                 `protobuf:"varint,145,opt,name=meek_peak_cached_response_size,json=meekPeakCachedResponseSize,proto3,oneof" json:"meek_peak_cached_response_size,omitempty"`
 	MeekPeakCachedResponseSize                    *int64                 `protobuf:"varint,145,opt,name=meek_peak_cached_response_size,json=meekPeakCachedResponseSize,proto3,oneof" json:"meek_peak_cached_response_size,omitempty"`
 	MeekPeakResponseSize                          *int64                 `protobuf:"varint,146,opt,name=meek_peak_response_size,json=meekPeakResponseSize,proto3,oneof" json:"meek_peak_response_size,omitempty"`
 	MeekPeakResponseSize                          *int64                 `protobuf:"varint,146,opt,name=meek_peak_response_size,json=meekPeakResponseSize,proto3,oneof" json:"meek_peak_response_size,omitempty"`
 	MeekUnderlyingConnectionCount                 *int64                 `protobuf:"varint,147,opt,name=meek_underlying_connection_count,json=meekUnderlyingConnectionCount,proto3,oneof" json:"meek_underlying_connection_count,omitempty"`
 	MeekUnderlyingConnectionCount                 *int64                 `protobuf:"varint,147,opt,name=meek_underlying_connection_count,json=meekUnderlyingConnectionCount,proto3,oneof" json:"meek_underlying_connection_count,omitempty"`
-	MeekServerHttpVersion                         *string                `protobuf:"bytes,148,opt,name=meek_server_http_version,json=meekServerHttpVersion,proto3,oneof" json:"meek_server_http_version,omitempty"` //LowCardinality
-	NewTacticsTag                                 *string                `protobuf:"bytes,149,opt,name=new_tactics_tag,json=newTacticsTag,proto3,oneof" json:"new_tactics_tag,omitempty"`                           //LowCardinality
+	MeekServerHttpVersion                         *string                `protobuf:"bytes,148,opt,name=meek_server_http_version,json=meekServerHttpVersion,proto3,oneof" json:"meek_server_http_version,omitempty"`
+	NewTacticsTag                                 *string                `protobuf:"bytes,149,opt,name=new_tactics_tag,json=newTacticsTag,proto3,oneof" json:"new_tactics_tag,omitempty"`
 	PeakConcurrentDialingPortForwardCountTcp      *int64                 `protobuf:"varint,150,opt,name=peak_concurrent_dialing_port_forward_count_tcp,json=peakConcurrentDialingPortForwardCountTcp,proto3,oneof" json:"peak_concurrent_dialing_port_forward_count_tcp,omitempty"`
 	PeakConcurrentDialingPortForwardCountTcp      *int64                 `protobuf:"varint,150,opt,name=peak_concurrent_dialing_port_forward_count_tcp,json=peakConcurrentDialingPortForwardCountTcp,proto3,oneof" json:"peak_concurrent_dialing_port_forward_count_tcp,omitempty"`
 	PeakConcurrentPortForwardCountTcp             *int64                 `protobuf:"varint,151,opt,name=peak_concurrent_port_forward_count_tcp,json=peakConcurrentPortForwardCountTcp,proto3,oneof" json:"peak_concurrent_port_forward_count_tcp,omitempty"`
 	PeakConcurrentPortForwardCountTcp             *int64                 `protobuf:"varint,151,opt,name=peak_concurrent_port_forward_count_tcp,json=peakConcurrentPortForwardCountTcp,proto3,oneof" json:"peak_concurrent_port_forward_count_tcp,omitempty"`
 	PeakConcurrentPortForwardCountUdp             *int64                 `protobuf:"varint,152,opt,name=peak_concurrent_port_forward_count_udp,json=peakConcurrentPortForwardCountUdp,proto3,oneof" json:"peak_concurrent_port_forward_count_udp,omitempty"`
 	PeakConcurrentPortForwardCountUdp             *int64                 `protobuf:"varint,152,opt,name=peak_concurrent_port_forward_count_udp,json=peakConcurrentPortForwardCountUdp,proto3,oneof" json:"peak_concurrent_port_forward_count_udp,omitempty"`
@@ -93,7 +93,7 @@ type ServerTunnel struct {
 	PreHandshakeRandomStreamUpstreamBytes         *int64                 `protobuf:"varint,163,opt,name=pre_handshake_random_stream_upstream_bytes,json=preHandshakeRandomStreamUpstreamBytes,proto3,oneof" json:"pre_handshake_random_stream_upstream_bytes,omitempty"`
 	PreHandshakeRandomStreamUpstreamBytes         *int64                 `protobuf:"varint,163,opt,name=pre_handshake_random_stream_upstream_bytes,json=preHandshakeRandomStreamUpstreamBytes,proto3,oneof" json:"pre_handshake_random_stream_upstream_bytes,omitempty"`
 	SplitTunnel                                   *bool                  `protobuf:"varint,164,opt,name=split_tunnel,json=splitTunnel,proto3,oneof" json:"split_tunnel,omitempty"`
 	SplitTunnel                                   *bool                  `protobuf:"varint,164,opt,name=split_tunnel,json=splitTunnel,proto3,oneof" json:"split_tunnel,omitempty"`
 	StartTime                                     *timestamppb.Timestamp `protobuf:"bytes,165,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"`
 	StartTime                                     *timestamppb.Timestamp `protobuf:"bytes,165,opt,name=start_time,json=startTime,proto3,oneof" json:"start_time,omitempty"`
-	StationIpAddress                              *string                `protobuf:"bytes,166,opt,name=station_ip_address,json=stationIpAddress,proto3,oneof" json:"station_ip_address,omitempty"` //LowCardinality
+	StationIpAddress                              *string                `protobuf:"bytes,166,opt,name=station_ip_address,json=stationIpAddress,proto3,oneof" json:"station_ip_address,omitempty"`
 	TotalPacketTunnelChannelCount                 *int64                 `protobuf:"varint,167,opt,name=total_packet_tunnel_channel_count,json=totalPacketTunnelChannelCount,proto3,oneof" json:"total_packet_tunnel_channel_count,omitempty"`
 	TotalPacketTunnelChannelCount                 *int64                 `protobuf:"varint,167,opt,name=total_packet_tunnel_channel_count,json=totalPacketTunnelChannelCount,proto3,oneof" json:"total_packet_tunnel_channel_count,omitempty"`
 	TotalPortForwardCountTcp                      *int64                 `protobuf:"varint,168,opt,name=total_port_forward_count_tcp,json=totalPortForwardCountTcp,proto3,oneof" json:"total_port_forward_count_tcp,omitempty"`
 	TotalPortForwardCountTcp                      *int64                 `protobuf:"varint,168,opt,name=total_port_forward_count_tcp,json=totalPortForwardCountTcp,proto3,oneof" json:"total_port_forward_count_tcp,omitempty"`
 	TotalPortForwardCountUdp                      *int64                 `protobuf:"varint,169,opt,name=total_port_forward_count_udp,json=totalPortForwardCountUdp,proto3,oneof" json:"total_port_forward_count_udp,omitempty"`
 	TotalPortForwardCountUdp                      *int64                 `protobuf:"varint,169,opt,name=total_port_forward_count_udp,json=totalPortForwardCountUdp,proto3,oneof" json:"total_port_forward_count_udp,omitempty"`

+ 6 - 6
psiphon/server/pb/psiphond/tactics.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/tactics.proto
 // source: ca.psiphon.psiphond/tactics.proto
 
 
 package psiphond
 package psiphond
@@ -26,8 +26,8 @@ type Tactics struct {
 	BaseParams       *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
 	BaseParams       *BaseParams            `protobuf:"bytes,1,opt,name=base_params,json=baseParams,proto3,oneof" json:"base_params,omitempty"`
 	DialParams       *DialParams            `protobuf:"bytes,2,opt,name=dial_params,json=dialParams,proto3,oneof" json:"dial_params,omitempty"`
 	DialParams       *DialParams            `protobuf:"bytes,2,opt,name=dial_params,json=dialParams,proto3,oneof" json:"dial_params,omitempty"`
 	IsTacticsRequest *bool                  `protobuf:"varint,100,opt,name=is_tactics_request,json=isTacticsRequest,proto3,oneof" json:"is_tactics_request,omitempty"`
 	IsTacticsRequest *bool                  `protobuf:"varint,100,opt,name=is_tactics_request,json=isTacticsRequest,proto3,oneof" json:"is_tactics_request,omitempty"`
-	NewTacticsTag    *string                `protobuf:"bytes,101,opt,name=new_tactics_tag,json=newTacticsTag,proto3,oneof" json:"new_tactics_tag,omitempty"`          //LowCardinality
-	StoredTacticsTag *string                `protobuf:"bytes,102,opt,name=stored_tactics_tag,json=storedTacticsTag,proto3,oneof" json:"stored_tactics_tag,omitempty"` //LowCardinality
+	NewTacticsTag    *string                `protobuf:"bytes,101,opt,name=new_tactics_tag,json=newTacticsTag,proto3,oneof" json:"new_tactics_tag,omitempty"`
+	StoredTacticsTag *string                `protobuf:"bytes,102,opt,name=stored_tactics_tag,json=storedTacticsTag,proto3,oneof" json:"stored_tactics_tag,omitempty"`
 	unknownFields    protoimpl.UnknownFields
 	unknownFields    protoimpl.UnknownFields
 	sizeCache        protoimpl.SizeCache
 	sizeCache        protoimpl.SizeCache
 }
 }
@@ -103,8 +103,8 @@ type TacticsSpeedTest struct {
 	RoundTripTimeMs *int64                 `protobuf:"varint,100,opt,name=round_trip_time_ms,json=roundTripTimeMs,proto3,oneof" json:"round_trip_time_ms,omitempty"`
 	RoundTripTimeMs *int64                 `protobuf:"varint,100,opt,name=round_trip_time_ms,json=roundTripTimeMs,proto3,oneof" json:"round_trip_time_ms,omitempty"`
 	BytesDown       *int64                 `protobuf:"varint,101,opt,name=bytes_down,json=bytesDown,proto3,oneof" json:"bytes_down,omitempty"`
 	BytesDown       *int64                 `protobuf:"varint,101,opt,name=bytes_down,json=bytesDown,proto3,oneof" json:"bytes_down,omitempty"`
 	BytesUp         *int64                 `protobuf:"varint,102,opt,name=bytes_up,json=bytesUp,proto3,oneof" json:"bytes_up,omitempty"`
 	BytesUp         *int64                 `protobuf:"varint,102,opt,name=bytes_up,json=bytesUp,proto3,oneof" json:"bytes_up,omitempty"`
-	RelayProtocol   *string                `protobuf:"bytes,103,opt,name=relay_protocol,json=relayProtocol,proto3,oneof" json:"relay_protocol,omitempty"` //LowCardinality
-	ServerRegion    *string                `protobuf:"bytes,104,opt,name=server_region,json=serverRegion,proto3,oneof" json:"server_region,omitempty"`    //LowCardinality
+	RelayProtocol   *string                `protobuf:"bytes,103,opt,name=relay_protocol,json=relayProtocol,proto3,oneof" json:"relay_protocol,omitempty"`
+	ServerRegion    *string                `protobuf:"bytes,104,opt,name=server_region,json=serverRegion,proto3,oneof" json:"server_region,omitempty"`
 	unknownFields   protoimpl.UnknownFields
 	unknownFields   protoimpl.UnknownFields
 	sizeCache       protoimpl.SizeCache
 	sizeCache       protoimpl.SizeCache
 }
 }

+ 2 - 2
psiphon/server/pb/psiphond/unique_user.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.psiphond/unique_user.proto
 // source: ca.psiphon.psiphond/unique_user.proto
 
 
 package psiphond
 package psiphond

+ 2 - 2
psiphon/server/pb/router/router.pb.go

@@ -1,7 +1,7 @@
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
 // versions:
-// 	protoc-gen-go v1.36.9
-// 	protoc        v6.32.0
+// 	protoc-gen-go v1.36.10
+// 	protoc        v6.33.0
 // source: ca.psiphon.router/router.proto
 // source: ca.psiphon.router/router.proto
 
 
 package router
 package router

+ 14 - 14
psiphon/server/proto/ca.psiphon.psiphond/base_params.proto

@@ -7,25 +7,25 @@ import "google/protobuf/timestamp.proto";
 option go_package = "github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/server/pb/psiphond";
 option go_package = "github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/server/pb/psiphond";
 
 
 message BaseParams {
 message BaseParams {
-    optional string client_asn = 1; //LowCardinality
-    optional string client_aso = 2; //LowCardinality
-    optional string client_build_rev = 3; //LowCardinality
-    optional string client_city = 4; //LowCardinality
-    repeated string client_features = 5; //LowCardinality
-    optional string client_isp = 6; //LowCardinality
-    optional string client_platform = 7; //LowCardinality
-    optional string client_region = 8; //LowCardinality
+    optional string client_asn = 1;
+    optional string client_aso = 2;
+    optional string client_build_rev = 3;
+    optional string client_city = 4;
+    repeated string client_features = 5;
+    optional string client_isp = 6;
+    optional string client_platform = 7;
+    optional string client_region = 8;
     optional int64 client_version = 9;
     optional int64 client_version = 9;
 
 
     optional string device_location = 10; //device_location uses geohash encoding
     optional string device_location = 10; //device_location uses geohash encoding
-    optional string device_region = 11; //LowCardinality
+    optional string device_region = 11;
 
 
     optional string session_id = 12;
     optional string session_id = 12;
-    optional string sponsor_id = 13; //LowCardinality
-    optional string propagation_channel_id = 14; //LowCardinality
+    optional string sponsor_id = 13;
+    optional string propagation_channel_id = 14;
 
 
-    optional string applied_tactics_tag = 15; //LowCardinality
-    optional string egress_region = 16; //LowCardinality
+    optional string applied_tactics_tag = 15;
+    optional string egress_region = 16;
     optional google.protobuf.Timestamp last_connected = 17;
     optional google.protobuf.Timestamp last_connected = 17;
-    repeated string authorized_access_types = 18; //LowCardinality
+    repeated string authorized_access_types = 18;
 }
 }

+ 32 - 32
psiphon/server/proto/ca.psiphon.psiphond/dial_params.proto

@@ -10,21 +10,21 @@ message DialParams {
     optional bool conjure_cached = 1;
     optional bool conjure_cached = 1;
     optional int64 conjure_delay = 2;
     optional int64 conjure_delay = 2;
     optional bool conjure_empty_packet = 3;
     optional bool conjure_empty_packet = 3;
-    optional string conjure_network = 4; //LowCardinality
+    optional string conjure_network = 4;
     optional int64 conjure_port_number = 5;
     optional int64 conjure_port_number = 5;
-    optional string conjure_prefix = 6; //LowCardinality
-    optional string conjure_stun = 7; //LowCardinality
-    optional string conjure_transport = 8; //LowCardinality
+    optional string conjure_prefix = 6;
+    optional string conjure_stun = 7;
+    optional string conjure_transport = 8;
 
 
     optional int64 meek_cookie_size = 9;
     optional int64 meek_cookie_size = 9;
     optional string meek_content_type = 10;
     optional string meek_content_type = 10;
-    optional string meek_cookie_name = 11; //LowCardinality
-    optional string meek_dial_domain = 12;  //LowCardinality
-    optional string meek_dial_ip_address = 13;  //LowCardinality
+    optional string meek_cookie_name = 11;
+    optional string meek_dial_domain = 12;
+    optional string meek_dial_ip_address = 13;
     optional string meek_host_header = 14;
     optional string meek_host_header = 14;
     optional int64 meek_limit_request = 15;
     optional int64 meek_limit_request = 15;
     optional int64 meek_redial_probability = 16;
     optional int64 meek_redial_probability = 16;
-    optional string meek_resolved_ip_address = 17; //LowCardinality
+    optional string meek_resolved_ip_address = 17;
     optional string meek_sni_server_name = 18;
     optional string meek_sni_server_name = 18;
     optional int64 meek_tls_padding = 19;
     optional int64 meek_tls_padding = 19;
     optional bool meek_transformed_host_name = 20;
     optional bool meek_transformed_host_name = 20;
@@ -35,46 +35,46 @@ message DialParams {
     optional bool quic_disable_client_path_mtu_discovery = 24;
     optional bool quic_disable_client_path_mtu_discovery = 24;
     optional bool quic_obfuscated_psk = 25;
     optional bool quic_obfuscated_psk = 25;
     optional bool quic_sent_ticket = 26;
     optional bool quic_sent_ticket = 26;
-    optional string quic_version = 27; //LowCardinality
+    optional string quic_version = 27;
 
 
-    optional string shadowsocks_prefix = 28;  //LowCardinality
+    optional string shadowsocks_prefix = 28;
 
 
     optional bool tls_did_resume = 29;
     optional bool tls_did_resume = 29;
     optional bool tls_fragmented = 30;
     optional bool tls_fragmented = 30;
     optional string tls_ossh_sni_server_name = 31;
     optional string tls_ossh_sni_server_name = 31;
     optional bool tls_ossh_transformed_host_name = 32;
     optional bool tls_ossh_transformed_host_name = 32;
     optional int64 tls_padding = 33;
     optional int64 tls_padding = 33;
-    optional string tls_profile = 34; //LowCardinality
+    optional string tls_profile = 34;
     optional bool tls_sent_ticket = 35;
     optional bool tls_sent_ticket = 35;
-    optional string tls_version = 36; //LowCardinality
+    optional string tls_version = 36;
 
 
-    optional string server_entry_region = 37; //LowCardinality
-    optional string server_entry_source = 38; //LowCardinality
+    optional string server_entry_region = 37;
+    optional string server_entry_source = 38;
     optional string server_entry_tag = 39;
     optional string server_entry_tag = 39;
     optional google.protobuf.Timestamp server_entry_timestamp = 40;
     optional google.protobuf.Timestamp server_entry_timestamp = 40;
-    optional string server_packet_manipulation = 41; //LowCardinality
-    optional bool server_replay_fragmentation = 42; //LowCardinality
-    optional bool server_replay_packet_manipulation = 43; //LowCardinality
+    optional string server_packet_manipulation = 41;
+    optional bool server_replay_fragmentation = 42;
+    optional bool server_replay_packet_manipulation = 43;
     optional bool server_entry_valid = 44;
     optional bool server_entry_valid = 44;
 
 
     optional int32 candidate_number = 45;
     optional int32 candidate_number = 45;
     optional bool is_replay = 46;
     optional bool is_replay = 46;
     optional int64 dial_port_number = 47;
     optional int64 dial_port_number = 47;
     optional int64 dial_duration = 48;
     optional int64 dial_duration = 48;
-    optional string fronting_provider_id = 49; //LowCardinality
-    optional string network_type = 50; //LowCardinality
-    optional string relay_protocol = 51; //LowCardinality
-    optional string ssh_client_version = 52; //LowCardinality
-    optional string ossh_prefix = 53; //LowCardinality
+    optional string fronting_provider_id = 49;
+    optional string network_type = 50;
+    optional string relay_protocol = 51;
+    optional string ssh_client_version = 52;
+    optional string ossh_prefix = 53;
     optional string user_agent = 54;
     optional string user_agent = 54;
-    optional string http_transform = 55; //LowCardinality
+    optional string http_transform = 55;
 
 
     optional int64 dns_attempt = 56;
     optional int64 dns_attempt = 56;
-    optional string dns_preferred = 57;  //LowCardinality
-    optional string dns_preresolved = 58;  //LowCardinality
+    optional string dns_preferred = 57;
+    optional string dns_preresolved = 58;
     optional int64 dns_qname_mismatches = 59;
     optional int64 dns_qname_mismatches = 59;
     optional bool dns_qname_random_casing = 60;
     optional bool dns_qname_random_casing = 60;
-    optional string dns_transform = 61; //LowCardinality
+    optional string dns_transform = 61;
 
 
     optional int64 downstream_bytes_fragmented = 62;
     optional int64 downstream_bytes_fragmented = 62;
     optional int64 downstream_max_bytes_written = 63;
     optional int64 downstream_max_bytes_written = 63;
@@ -89,19 +89,19 @@ message DialParams {
     optional int64 upstream_min_bytes_written = 71;
     optional int64 upstream_min_bytes_written = 71;
     optional int64 upstream_min_delayed = 72;
     optional int64 upstream_min_delayed = 72;
     optional int64 upstream_ossh_padding = 73;
     optional int64 upstream_ossh_padding = 73;
-    repeated string upstream_proxy_custom_header_names = 74; //LowCardinality
-    optional string upstream_proxy_type = 75; //LowCardinality
+    repeated string upstream_proxy_custom_header_names = 74;
+    optional string upstream_proxy_type = 75;
 
 
-    optional string passthrough_address = 76; //LowCardinality
+    optional string passthrough_address = 76;
 
 
     optional int64 pad_response = 77;
     optional int64 pad_response = 77;
     optional int64 padding = 78;
     optional int64 padding = 78;
 
 
-    optional string client_bpf = 79; //LowCardinality
-    optional string server_bpf = 80; //LowCardinality
+    optional string client_bpf = 79;
+    optional string server_bpf = 80;
 
 
     optional int64 established_tunnels_count = 81;
     optional int64 established_tunnels_count = 81;
     optional double network_latency_multiplier = 82;
     optional double network_latency_multiplier = 82;
-    optional string seed_transform = 83; //LowCardinality
+    optional string seed_transform = 83;
 
 
 }
 }

+ 1 - 1
psiphon/server/proto/ca.psiphon.psiphond/domain_bytes.proto

@@ -12,5 +12,5 @@ message DomainBytes {
     // Fields 1-99 are reserved for field groupings.
     // Fields 1-99 are reserved for field groupings.
 
 
     optional int64 bytes = 100;
     optional int64 bytes = 100;
-    optional string domain = 101; //LowCardinality
+    optional string domain = 101;
 }
 }

+ 1 - 1
psiphon/server/proto/ca.psiphon.psiphond/failed_tunnel.proto

@@ -24,5 +24,5 @@ message FailedTunnel {
     optional int64 liveness_test_sent_upstream_bytes = 105;
     optional int64 liveness_test_sent_upstream_bytes = 105;
     optional int64 liveness_test_upstream_bytes = 106;
     optional int64 liveness_test_upstream_bytes = 106;
     optional double record_probability = 107;
     optional double record_probability = 107;
-    optional string tunnel_error = 108; //LowCardinality
+    optional string tunnel_error = 108;
 }
 }

+ 18 - 18
psiphon/server/proto/ca.psiphon.psiphond/inproxy_broker.proto

@@ -13,41 +13,41 @@ message InproxyBroker {
 
 
     optional int32 announcement_match_index = 100;
     optional int32 announcement_match_index = 100;
     optional int32 announcement_queue_size = 101;
     optional int32 announcement_queue_size = 101;
-    optional string answer_error = 102; //LowCardinality
-    optional string broker_event = 103;//LowCardinality
-    optional string broker_id = 104;//LowCardinality
+    optional string answer_error = 102;
+    optional string broker_event = 103;
+    optional string broker_id = 104;
     optional int64 connected_clients = 105;
     optional int64 connected_clients = 105;
     optional int64 connecting_clients = 106;
     optional int64 connecting_clients = 106;
     optional string connection_id = 107;
     optional string connection_id = 107;
-    optional string destination_server_id = 108;//LowCardinality
+    optional string destination_server_id = 108;
     optional int64 elapsed_time = 109;
     optional int64 elapsed_time = 109;
-    optional string error = 110; //LowCardinality
-    repeated string filtered_ice_candidates = 111; //LowCardinality
-    optional string fronting_provider_id = 112;//LowCardinality
+    optional string error = 110;
+    repeated string filtered_ice_candidates = 111;
+    optional string fronting_provider_id = 112;
     optional bool has_IPv6 = 113;
     optional bool has_IPv6 = 113;
     optional bool has_common_compartment_ids = 114;
     optional bool has_common_compartment_ids = 114;
     optional bool has_personal_compartment_ids = 115;
     optional bool has_personal_compartment_ids = 115;
     optional bool has_private_IP = 116;
     optional bool has_private_IP = 116;
-    repeated string ice_candidate_types = 117; //LowCardinality
+    repeated string ice_candidate_types = 117;
     optional bool is_priority = 118;
     optional bool is_priority = 118;
     optional int64 limit_downstream_bytes_per_second = 119;
     optional int64 limit_downstream_bytes_per_second = 119;
     optional int64 limit_upstream_bytes_per_second = 120;
     optional int64 limit_upstream_bytes_per_second = 120;
     optional int64 max_clients = 121;
     optional int64 max_clients = 121;
-    optional string nat_type = 122; //LowCardinality
-    optional string network_type = 123; //LowCardinality
-    optional string new_tactics_tag = 124; //LowCardinality
+    optional string nat_type = 122;
+    optional string network_type = 123;
+    optional string new_tactics_tag = 124;
     optional int64 offer_match_index = 125;
     optional int64 offer_match_index = 125;
     optional int64 offer_queue_size = 126;
     optional int64 offer_queue_size = 126;
     optional int64 peak_downstream_bytes_per_second = 127;
     optional int64 peak_downstream_bytes_per_second = 127;
     optional int64 peak_upstream_bytes_per_second = 128;
     optional int64 peak_upstream_bytes_per_second = 128;
-    repeated string port_mapping_types = 129; //LowCardinality
+    repeated string port_mapping_types = 129;
     optional bool preferred_nat_match = 130;
     optional bool preferred_nat_match = 130;
     optional int32 protocol_version = 131;
     optional int32 protocol_version = 131;
-    optional string proxy_id = 132; //LowCardinality
-    optional string proxy_nat_type = 133; //LowCardinality
-    repeated string proxy_port_mapping_types = 134; //LowCardinality
-    optional string server_id = 135; //LowCardinality
-    optional string stored_tactics_tag = 136; //LowCardinality
+    optional string proxy_id = 132;
+    optional string proxy_nat_type = 133;
+    repeated string proxy_port_mapping_types = 134;
+    optional string server_id = 135;
+    optional string stored_tactics_tag = 136;
     optional bool timed_out = 137;
     optional bool timed_out = 137;
-    optional string meek_server_http_version = 138; //LowCardinality
+    optional string meek_server_http_version = 138;
 }
 }

+ 46 - 46
psiphon/server/proto/ca.psiphon.psiphond/inproxy_dial_params.proto

@@ -5,95 +5,95 @@ package ca.psiphon.psiphond;
 option go_package = "github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/server/pb/psiphond";
 option go_package = "github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/server/pb/psiphond";
 
 
 message InproxyDialParams {
 message InproxyDialParams {
-    optional string inproxy_broker_client_bpf = 1; //LowCardinality
-    optional string inproxy_broker_dial_address = 2; //LowCardinality
+    optional string inproxy_broker_client_bpf = 1;
+    optional string inproxy_broker_dial_address = 2;
     optional int64 inproxy_broker_dns_attempt = 3;
     optional int64 inproxy_broker_dns_attempt = 3;
-    optional string inproxy_broker_dns_preferred = 4; //LowCardinality
-    optional string inproxy_broker_dns_preresolved = 5; //LowCardinality
+    optional string inproxy_broker_dns_preferred = 4;
+    optional string inproxy_broker_dns_preresolved = 5;
     optional int64 inproxy_broker_dns_qname_mismatches = 6;
     optional int64 inproxy_broker_dns_qname_mismatches = 6;
     optional bool inproxy_broker_dns_qname_must_match = 7;
     optional bool inproxy_broker_dns_qname_must_match = 7;
     optional bool inproxy_broker_dns_qname_random_casing = 8;
     optional bool inproxy_broker_dns_qname_random_casing = 8;
-    optional string inproxy_broker_dns_transform = 9; //LowCardinality
+    optional string inproxy_broker_dns_transform = 9;
     optional int64 inproxy_broker_downstream_bytes_fragmented = 10;
     optional int64 inproxy_broker_downstream_bytes_fragmented = 10;
-    optional string inproxy_broker_fronting_provider_id = 11; //LowCardinality
-    optional string inproxy_broker_host_header = 12; //LowCardinality
-    optional string inproxy_broker_http_transform = 13; //LowCardinality
-    optional string inproxy_broker_id = 14; //LowCardinality
+    optional string inproxy_broker_fronting_provider_id = 11;
+    optional string inproxy_broker_host_header = 12;
+    optional string inproxy_broker_http_transform = 13;
+    optional string inproxy_broker_id = 14;
     optional bool inproxy_broker_is_replay = 15;
     optional bool inproxy_broker_is_replay = 15;
     optional bool inproxy_broker_is_reuse = 16;
     optional bool inproxy_broker_is_reuse = 16;
-    optional string inproxy_broker_resolved_ip_address = 17; //LowCardinality
-    optional string inproxy_broker_sni_server_name = 18; //LowCardinality
+    optional string inproxy_broker_resolved_ip_address = 17;
+    optional string inproxy_broker_sni_server_name = 18;
     optional bool inproxy_broker_tls_fragmented = 19;
     optional bool inproxy_broker_tls_fragmented = 19;
-    optional string inproxy_broker_tls_profile = 20; //LowCardinality
-    optional string inproxy_broker_tls_version = 21; //LowCardinality
+    optional string inproxy_broker_tls_profile = 20;
+    optional string inproxy_broker_tls_version = 21;
     optional bool inproxy_broker_transformed_host_name = 22;
     optional bool inproxy_broker_transformed_host_name = 22;
-    optional string inproxy_broker_transport = 23; //LowCardinality
+    optional string inproxy_broker_transport = 23;
     optional int64 inproxy_broker_upstream_bytes_fragmented = 24;
     optional int64 inproxy_broker_upstream_bytes_fragmented = 24;
-    optional string inproxy_broker_user_agent = 25; //LowCardinality
-    optional string inproxy_client_nat_type = 26; //LowCardinality
-    repeated string inproxy_client_port_mapping_types = 27; //LowCardinality
+    optional string inproxy_broker_user_agent = 25;
+    optional string inproxy_client_nat_type = 26;
+    repeated string inproxy_client_port_mapping_types = 27;
     optional string inproxy_connection_id = 28;
     optional string inproxy_connection_id = 28;
     optional int64 inproxy_dial_broker_offer_duration = 29;
     optional int64 inproxy_dial_broker_offer_duration = 29;
     optional int64 inproxy_dial_failed_attempts_duration = 30;
     optional int64 inproxy_dial_failed_attempts_duration = 30;
     optional int64 inproxy_dial_nat_disovery_duration = 31;
     optional int64 inproxy_dial_nat_disovery_duration = 31;
     optional int64 inproxy_dial_webrtc_connection_duration = 32;
     optional int64 inproxy_dial_webrtc_connection_duration = 32;
     optional int64 inproxy_dial_webrtc_ice_gathering_duration = 33;
     optional int64 inproxy_dial_webrtc_ice_gathering_duration = 33;
-    optional bool inproxy_matched_common_compartments = 34; //LowCardinality
+    optional bool inproxy_matched_common_compartments = 34;
     optional bool inproxy_matched_personal_compartments = 35;
     optional bool inproxy_matched_personal_compartments = 35;
-    optional string inproxy_proxy_applied_tactics_tag = 36; //LowCardinality
-    optional string inproxy_proxy_asn = 37; //LowCardinality
-    optional string inproxy_proxy_aso = 38; //LowCardinality
-    optional string inproxy_proxy_city = 39; //LowCardinality
-    optional string inproxy_proxy_client_build_rev = 40; //LowCardinality
-    optional string inproxy_proxy_client_platform = 41; //LowCardinality
-    optional int64 inproxy_proxy_client_version = 42; //LowCardinality
+    optional string inproxy_proxy_applied_tactics_tag = 36;
+    optional string inproxy_proxy_asn = 37;
+    optional string inproxy_proxy_aso = 38;
+    optional string inproxy_proxy_city = 39;
+    optional string inproxy_proxy_client_build_rev = 40;
+    optional string inproxy_proxy_client_platform = 41;
+    optional int64 inproxy_proxy_client_version = 42;
     optional int64 inproxy_proxy_connected_clients = 43;
     optional int64 inproxy_proxy_connected_clients = 43;
     optional int64 inproxy_proxy_connecting_clients = 44;
     optional int64 inproxy_proxy_connecting_clients = 44;
     optional string inproxy_proxy_device_location = 45;
     optional string inproxy_proxy_device_location = 45;
-    optional string inproxy_proxy_device_region = 46; //LowCardinality
-    optional string inproxy_proxy_features = 47; //LowCardinality
-    optional string inproxy_proxy_fronting_provider_id = 48; //LowCardinality
+    optional string inproxy_proxy_device_region = 46;
+    optional string inproxy_proxy_features = 47;
+    optional string inproxy_proxy_fronting_provider_id = 48;
     optional string inproxy_proxy_id = 49;
     optional string inproxy_proxy_id = 49;
     optional bool inproxy_proxy_is_priority = 50;
     optional bool inproxy_proxy_is_priority = 50;
-    optional string inproxy_proxy_isp = 51; //LowCardinality
+    optional string inproxy_proxy_isp = 51;
     optional int64 inproxy_proxy_limit_downstream_bytes_per_second = 52;
     optional int64 inproxy_proxy_limit_downstream_bytes_per_second = 52;
     optional int64 inproxy_proxy_limit_upstream_bytes_per_second = 53;
     optional int64 inproxy_proxy_limit_upstream_bytes_per_second = 53;
     optional int64 inproxy_proxy_max_clients = 54;
     optional int64 inproxy_proxy_max_clients = 54;
-    optional string inproxy_proxy_nat_type = 55; //LowCardinality
-    optional string inproxy_proxy_network_type = 56; //LowCardinality
+    optional string inproxy_proxy_nat_type = 55;
+    optional string inproxy_proxy_network_type = 56;
     optional int64 inproxy_proxy_peak_downstream_bytes_per_second = 57;
     optional int64 inproxy_proxy_peak_downstream_bytes_per_second = 57;
     optional int64 inproxy_proxy_peak_upstream_bytes_per_second = 58;
     optional int64 inproxy_proxy_peak_upstream_bytes_per_second = 58;
-    repeated string inproxy_proxy_port_mapping_types = 59; //LowCardinality
-    optional string inproxy_proxy_propagation_channel_id = 60; //LowCardinality
+    repeated string inproxy_proxy_port_mapping_types = 59;
+    optional string inproxy_proxy_propagation_channel_id = 60;
     optional int64 inproxy_proxy_protocol_version = 61;
     optional int64 inproxy_proxy_protocol_version = 61;
-    optional string inproxy_proxy_region = 62; //LowCardinality
+    optional string inproxy_proxy_region = 62;
     optional string inproxy_proxy_session_id = 63;
     optional string inproxy_proxy_session_id = 63;
-    optional string inproxy_proxy_sponsor_id = 64; //LowCardinality
-    optional string inproxy_proxy_stored_tactics_tag = 65; //LowCardinality
-    repeated string inproxy_proxy_client_features = 66; //LowCardinality
+    optional string inproxy_proxy_sponsor_id = 64;
+    optional string inproxy_proxy_stored_tactics_tag = 65;
+    repeated string inproxy_proxy_client_features = 66;
     optional int64 inproxy_webrtc_decoy_messages_received = 67;
     optional int64 inproxy_webrtc_decoy_messages_received = 67;
     optional int64 inproxy_webrtc_decoy_messages_sent = 68;
     optional int64 inproxy_webrtc_decoy_messages_sent = 68;
     optional int64 inproxy_webrtc_dns_attempt = 69;
     optional int64 inproxy_webrtc_dns_attempt = 69;
-    optional string inproxy_webrtc_dns_preferred = 70; //LowCardinality
-    optional string inproxy_webrtc_dns_preresolved = 71; //LowCardinality
+    optional string inproxy_webrtc_dns_preferred = 70;
+    optional string inproxy_webrtc_dns_preresolved = 71;
     optional int64 inproxy_webrtc_dns_qname_mismatches = 72;
     optional int64 inproxy_webrtc_dns_qname_mismatches = 72;
     optional bool inproxy_webrtc_dns_qname_must_match = 73;
     optional bool inproxy_webrtc_dns_qname_must_match = 73;
     optional bool inproxy_webrtc_dns_qname_random_casing = 74;
     optional bool inproxy_webrtc_dns_qname_random_casing = 74;
-    optional string inproxy_webrtc_dns_transform = 75; //LowCardinality
+    optional string inproxy_webrtc_dns_transform = 75;
     optional bool inproxy_webrtc_local_ice_candidate_is_IPv6 = 76;
     optional bool inproxy_webrtc_local_ice_candidate_is_IPv6 = 76;
     optional bool inproxy_webrtc_local_ice_candidate_is_initiator = 77;
     optional bool inproxy_webrtc_local_ice_candidate_is_initiator = 77;
     optional int64 inproxy_webrtc_local_ice_candidate_port = 78;
     optional int64 inproxy_webrtc_local_ice_candidate_port = 78;
-    optional string inproxy_webrtc_local_ice_candidate_type = 79; //LowCardinality
+    optional string inproxy_webrtc_local_ice_candidate_type = 79;
     optional int64 inproxy_webrtc_padded_messages_received = 80;
     optional int64 inproxy_webrtc_padded_messages_received = 80;
     optional int64 inproxy_webrtc_padded_messages_sent = 81;
     optional int64 inproxy_webrtc_padded_messages_sent = 81;
     optional bool inproxy_webrtc_randomize_dtls = 82;
     optional bool inproxy_webrtc_randomize_dtls = 82;
     optional bool inproxy_webrtc_remote_ice_candidate_is_IPv6 = 83;
     optional bool inproxy_webrtc_remote_ice_candidate_is_IPv6 = 83;
     optional int64 inproxy_webrtc_remote_ice_candidate_port = 84;
     optional int64 inproxy_webrtc_remote_ice_candidate_port = 84;
-    optional string inproxy_webrtc_remote_ice_candidate_type = 85; //LowCardinality
-    optional string inproxy_webrtc_stun_server = 86; //LowCardinality
-    optional string inproxy_webrtc_stun_server_RFC5780 = 87; //LowCardinality
-    optional string inproxy_webrtc_stun_server_RFC5780_resolved_ip_address = 88; //LowCardinality
-    optional string inproxy_webrtc_stun_server_resolved_ip_address = 89; //LowCardinality
+    optional string inproxy_webrtc_remote_ice_candidate_type = 85;
+    optional string inproxy_webrtc_stun_server = 86;
+    optional string inproxy_webrtc_stun_server_RFC5780 = 87;
+    optional string inproxy_webrtc_stun_server_RFC5780_resolved_ip_address = 88;
+    optional string inproxy_webrtc_stun_server_resolved_ip_address = 89;
     optional bool inproxy_webrtc_use_media_streams = 90;
     optional bool inproxy_webrtc_use_media_streams = 90;
 }
 }
 
 

+ 9 - 9
psiphon/server/proto/ca.psiphon.psiphond/irregular_tunnel.proto

@@ -11,17 +11,17 @@ message IrregularTunnel {
 
 
     // Fields 1-99 are reserved for field groupings.
     // Fields 1-99 are reserved for field groupings.
 
 
-    optional string duplicate_authorization_client_asn = 100; //LowCardinality
-    optional string duplicate_authorization_client_aso = 101; //LowCardinality
-    optional string duplicate_authorization_client_city = 102; //LowCardinality
-    optional string duplicate_authorization_client_isp = 103; //LowCardinality
-    optional string duplicate_authorization_client_region = 104; //LowCardinality
+    optional string duplicate_authorization_client_asn = 100;
+    optional string duplicate_authorization_client_aso = 101;
+    optional string duplicate_authorization_client_city = 102;
+    optional string duplicate_authorization_client_isp = 103;
+    optional string duplicate_authorization_client_region = 104;
     optional string duplicate_authorization_id = 105;
     optional string duplicate_authorization_id = 105;
-    optional string duplicate_client_ip = 106; //LowCardinality
+    optional string duplicate_client_ip = 106;
     optional int64 duplicate_elapsed_time_ms = 107;
     optional int64 duplicate_elapsed_time_ms = 107;
     optional string duplicate_seed = 108;
     optional string duplicate_seed = 108;
-    optional string duplicate_seed_type = 109; //LowCardinality
+    optional string duplicate_seed_type = 109;
     optional uint32 listener_port_number = 110;
     optional uint32 listener_port_number = 110;
-    optional string listener_protocol = 111; //LowCardinality
-    optional string tunnel_error = 112; //LowCardinality
+    optional string listener_protocol = 111;
+    optional string tunnel_error = 112;
 }
 }

+ 4 - 4
psiphon/server/proto/ca.psiphon.psiphond/psiphond.proto

@@ -22,10 +22,10 @@ option go_package = "github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/server/
 message Psiphond {
 message Psiphond {
   optional google.protobuf.Timestamp timestamp = 1;
   optional google.protobuf.Timestamp timestamp = 1;
 
 
-  optional string host_id = 2; //LowCardinality
-  optional string host_type = 3; //LowCardinality
-  optional string host_build_rev = 4; //LowCardinality
-  optional string provider = 5; //LowCardinality
+  optional string host_id = 2;
+  optional string host_type = 3;
+  optional string host_build_rev = 4;
+  optional string provider = 5;
  
  
   oneof metric {
   oneof metric {
     ca.psiphon.psiphond.DomainBytes domain_bytes = 101;
     ca.psiphon.psiphond.DomainBytes domain_bytes = 101;

+ 2 - 2
psiphon/server/proto/ca.psiphon.psiphond/remote_server_list.proto

@@ -18,7 +18,7 @@ message RemoteServerList {
     optional int64 bytes = 101;
     optional int64 bytes = 101;
     optional google.protobuf.Timestamp client_download_timestamp = 102;
     optional google.protobuf.Timestamp client_download_timestamp = 102;
     optional int64 duration = 103;
     optional int64 duration = 103;
-    optional string etag = 104; //LowCardinality
+    optional string etag = 104;
     optional bool tunneled = 105;
     optional bool tunneled = 105;
-    optional string url = 106; //LowCardinality
+    optional string url = 106;
 }
 }

+ 3 - 3
psiphon/server/proto/ca.psiphon.psiphond/server_blocklist.proto

@@ -11,7 +11,7 @@ message ServerBlocklistHit {
 
 
     // Fields 1-99 are reserved for field groupings.
     // Fields 1-99 are reserved for field groupings.
 
 
-    optional string blocklist_ip_address = 100; //LowCardinality
-    optional string blocklist_source = 101; //LowCardinality
-    optional string blocklist_subject = 102; //LowCardinality
+    optional string blocklist_ip_address = 100;
+    optional string blocklist_source = 101;
+    optional string blocklist_subject = 102;
 }
 }

+ 3 - 3
psiphon/server/proto/ca.psiphon.psiphond/server_load.proto

@@ -9,8 +9,8 @@ option go_package = "github.com/Psiphon-Labs/psiphon-tunnel-core/psiphon/server/
 message ServerLoadProtocol {
 message ServerLoadProtocol {
   // Fields 1-99 are reserved for field groupings.
   // Fields 1-99 are reserved for field groupings.
 
 
-  optional string region = 100; //LowCardinality
-  optional string protocol = 101; //LowCardinality
+  optional string region = 100;
+  optional string protocol = 101;
 
 
   optional int64 accepted_clients = 102;
   optional int64 accepted_clients = 102;
   optional int64 established_clients = 103;
   optional int64 established_clients = 103;
@@ -19,7 +19,7 @@ message ServerLoadProtocol {
 message ServerLoadDNS {
 message ServerLoadDNS {
   // Fields 1-99 are reserved for field groupings.
   // Fields 1-99 are reserved for field groupings.
 
 
-  optional string dns_server = 100; //LowCardinality
+  optional string dns_server = 100;
   optional int64 dns_count = 101; 
   optional int64 dns_count = 101; 
   optional int64 dns_duration = 102;
   optional int64 dns_duration = 102;
   optional int64 dns_failed_count = 103;
   optional int64 dns_failed_count = 103;

+ 3 - 3
psiphon/server/proto/ca.psiphon.psiphond/server_tunnel.proto

@@ -68,9 +68,9 @@ message ServerTunnel {
     optional int64 meek_peak_cached_response_size = 145;
     optional int64 meek_peak_cached_response_size = 145;
     optional int64 meek_peak_response_size = 146;
     optional int64 meek_peak_response_size = 146;
     optional int64 meek_underlying_connection_count = 147;
     optional int64 meek_underlying_connection_count = 147;
-    optional string meek_server_http_version = 148; //LowCardinality
+    optional string meek_server_http_version = 148;
 
 
-    optional string new_tactics_tag = 149; //LowCardinality
+    optional string new_tactics_tag = 149;
 
 
     optional int64 peak_concurrent_dialing_port_forward_count_tcp = 150;
     optional int64 peak_concurrent_dialing_port_forward_count_tcp = 150;
     optional int64 peak_concurrent_port_forward_count_tcp = 151;
     optional int64 peak_concurrent_port_forward_count_tcp = 151;
@@ -90,7 +90,7 @@ message ServerTunnel {
 
 
     optional bool split_tunnel = 164;
     optional bool split_tunnel = 164;
     optional google.protobuf.Timestamp start_time = 165;
     optional google.protobuf.Timestamp start_time = 165;
-    optional string station_ip_address = 166; //LowCardinality
+    optional string station_ip_address = 166;
 
 
     optional int64 total_packet_tunnel_channel_count = 167;
     optional int64 total_packet_tunnel_channel_count = 167;
     optional int64 total_port_forward_count_tcp = 168;
     optional int64 total_port_forward_count_tcp = 168;

+ 4 - 4
psiphon/server/proto/ca.psiphon.psiphond/tactics.proto

@@ -14,8 +14,8 @@ message Tactics {
     // Fields 1-99 are reserved for field groupings.
     // Fields 1-99 are reserved for field groupings.
 
 
     optional bool is_tactics_request = 100;
     optional bool is_tactics_request = 100;
-    optional string new_tactics_tag = 101; //LowCardinality
-    optional string stored_tactics_tag = 102; //LowCardinality
+    optional string new_tactics_tag = 101;
+    optional string stored_tactics_tag = 102;
 }
 }
 
 
 message TacticsSpeedTest {
 message TacticsSpeedTest {
@@ -26,6 +26,6 @@ message TacticsSpeedTest {
     optional int64 round_trip_time_ms = 100;
     optional int64 round_trip_time_ms = 100;
     optional int64 bytes_down = 101;
     optional int64 bytes_down = 101;
     optional int64 bytes_up = 102;
     optional int64 bytes_up = 102;
-    optional string relay_protocol = 103; //LowCardinality
-    optional string server_region = 104; //LowCardinality
+    optional string relay_protocol = 103;
+    optional string server_region = 104;
 }
 }