summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mullvad-management-interface/proto/management_interface.proto852
-rw-r--r--talpid-openvpn-plugin/proto/openvpn_plugin.proto12
-rw-r--r--talpid-tunnel-config-client/proto/tunnel_config.proto4
3 files changed, 410 insertions, 458 deletions
diff --git a/mullvad-management-interface/proto/management_interface.proto b/mullvad-management-interface/proto/management_interface.proto
index a2212952b0..50d7dd7aeb 100644
--- a/mullvad-management-interface/proto/management_interface.proto
+++ b/mullvad-management-interface/proto/management_interface.proto
@@ -9,659 +9,615 @@ import "google/protobuf/duration.proto";
import "google/protobuf/any.proto";
service ManagementService {
- // Control and get tunnel state
- rpc ConnectTunnel(google.protobuf.Empty) returns (google.protobuf.BoolValue) {}
- rpc DisconnectTunnel(google.protobuf.Empty) returns (google.protobuf.BoolValue) {}
- rpc ReconnectTunnel(google.protobuf.Empty) returns (google.protobuf.BoolValue) {}
- rpc GetTunnelState(google.protobuf.Empty) returns (TunnelState) {}
+ // Control and get tunnel state
+ rpc ConnectTunnel(google.protobuf.Empty) returns (google.protobuf.BoolValue) {}
+ rpc DisconnectTunnel(google.protobuf.Empty) returns (google.protobuf.BoolValue) {}
+ rpc ReconnectTunnel(google.protobuf.Empty) returns (google.protobuf.BoolValue) {}
+ rpc GetTunnelState(google.protobuf.Empty) returns (TunnelState) {}
- // Control the daemon and receive events
- rpc EventsListen(google.protobuf.Empty) returns (stream DaemonEvent) {}
- rpc PrepareRestart(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc FactoryReset(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ // Control the daemon and receive events
+ rpc EventsListen(google.protobuf.Empty) returns (stream DaemonEvent) {}
+ rpc PrepareRestart(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ rpc FactoryReset(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc GetCurrentVersion(google.protobuf.Empty) returns (google.protobuf.StringValue) {}
- rpc GetVersionInfo(google.protobuf.Empty) returns (AppVersionInfo) {}
+ rpc GetCurrentVersion(google.protobuf.Empty) returns (google.protobuf.StringValue) {}
+ rpc GetVersionInfo(google.protobuf.Empty) returns (AppVersionInfo) {}
- rpc IsPerformingPostUpgrade(google.protobuf.Empty) returns (google.protobuf.BoolValue) {}
+ rpc IsPerformingPostUpgrade(google.protobuf.Empty) returns (google.protobuf.BoolValue) {}
- // Relays and tunnel constraints
- rpc UpdateRelayLocations(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc UpdateRelaySettings(RelaySettingsUpdate) returns (google.protobuf.Empty) {}
- rpc GetRelayLocations(google.protobuf.Empty) returns (RelayList) {}
- rpc GetCurrentLocation(google.protobuf.Empty) returns (GeoIpLocation) {}
- rpc SetBridgeSettings(BridgeSettings) returns (google.protobuf.Empty) {}
- rpc SetBridgeState(BridgeState) returns (google.protobuf.Empty) {}
- rpc SetObfuscationSettings(ObfuscationSettings) returns (google.protobuf.Empty) {}
+ // Relays and tunnel constraints
+ rpc UpdateRelayLocations(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ rpc UpdateRelaySettings(RelaySettingsUpdate) returns (google.protobuf.Empty) {}
+ rpc GetRelayLocations(google.protobuf.Empty) returns (RelayList) {}
+ rpc GetCurrentLocation(google.protobuf.Empty) returns (GeoIpLocation) {}
+ rpc SetBridgeSettings(BridgeSettings) returns (google.protobuf.Empty) {}
+ rpc SetBridgeState(BridgeState) returns (google.protobuf.Empty) {}
+ rpc SetObfuscationSettings(ObfuscationSettings) returns (google.protobuf.Empty) {}
- // Settings
- rpc GetSettings(google.protobuf.Empty) returns (Settings) {}
- rpc SetAllowLan(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
- rpc SetShowBetaReleases(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
- rpc SetBlockWhenDisconnected(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
- rpc SetAutoConnect(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
- rpc SetOpenvpnMssfix(google.protobuf.UInt32Value) returns (google.protobuf.Empty) {}
- rpc SetWireguardMtu(google.protobuf.UInt32Value) returns (google.protobuf.Empty) {}
- rpc SetEnableIpv6(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
- rpc SetQuantumResistantTunnel(QuantumResistantState) returns (google.protobuf.Empty) {}
- rpc SetDnsOptions(DnsOptions) returns (google.protobuf.Empty) {}
+ // Settings
+ rpc GetSettings(google.protobuf.Empty) returns (Settings) {}
+ rpc SetAllowLan(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
+ rpc SetShowBetaReleases(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
+ rpc SetBlockWhenDisconnected(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
+ rpc SetAutoConnect(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
+ rpc SetOpenvpnMssfix(google.protobuf.UInt32Value) returns (google.protobuf.Empty) {}
+ rpc SetWireguardMtu(google.protobuf.UInt32Value) returns (google.protobuf.Empty) {}
+ rpc SetEnableIpv6(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
+ rpc SetQuantumResistantTunnel(QuantumResistantState) returns (google.protobuf.Empty) {}
+ rpc SetDnsOptions(DnsOptions) returns (google.protobuf.Empty) {}
- // Account management
- rpc CreateNewAccount(google.protobuf.Empty) returns (google.protobuf.StringValue) {}
- rpc LoginAccount(google.protobuf.StringValue) returns (google.protobuf.Empty) {}
- rpc LogoutAccount(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc GetAccountData(google.protobuf.StringValue) returns (AccountData) {}
- rpc GetAccountHistory(google.protobuf.Empty) returns (AccountHistory) {}
- rpc ClearAccountHistory(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc GetWwwAuthToken(google.protobuf.Empty) returns (google.protobuf.StringValue) {}
- rpc SubmitVoucher(google.protobuf.StringValue) returns (VoucherSubmission) {}
+ // Account management
+ rpc CreateNewAccount(google.protobuf.Empty) returns (google.protobuf.StringValue) {}
+ rpc LoginAccount(google.protobuf.StringValue) returns (google.protobuf.Empty) {}
+ rpc LogoutAccount(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ rpc GetAccountData(google.protobuf.StringValue) returns (AccountData) {}
+ rpc GetAccountHistory(google.protobuf.Empty) returns (AccountHistory) {}
+ rpc ClearAccountHistory(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ rpc GetWwwAuthToken(google.protobuf.Empty) returns (google.protobuf.StringValue) {}
+ rpc SubmitVoucher(google.protobuf.StringValue) returns (VoucherSubmission) {}
- // Device management
- rpc GetDevice(google.protobuf.Empty) returns (DeviceState) {}
- rpc UpdateDevice(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc ListDevices(google.protobuf.StringValue) returns (DeviceList) {}
- rpc RemoveDevice(DeviceRemoval) returns (google.protobuf.Empty) {}
+ // Device management
+ rpc GetDevice(google.protobuf.Empty) returns (DeviceState) {}
+ rpc UpdateDevice(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ rpc ListDevices(google.protobuf.StringValue) returns (DeviceList) {}
+ rpc RemoveDevice(DeviceRemoval) returns (google.protobuf.Empty) {}
- // WireGuard key management
- rpc SetWireguardRotationInterval(google.protobuf.Duration) returns (google.protobuf.Empty) {}
- rpc ResetWireguardRotationInterval(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc RotateWireguardKey(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc GetWireguardKey(google.protobuf.Empty) returns (PublicKey) {}
+ // WireGuard key management
+ rpc SetWireguardRotationInterval(google.protobuf.Duration) returns (google.protobuf.Empty) {}
+ rpc ResetWireguardRotationInterval(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ rpc RotateWireguardKey(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ rpc GetWireguardKey(google.protobuf.Empty) returns (PublicKey) {}
- // Split tunneling (Linux)
- rpc GetSplitTunnelProcesses(google.protobuf.Empty) returns (stream google.protobuf.Int32Value) {}
- rpc AddSplitTunnelProcess(google.protobuf.Int32Value) returns (google.protobuf.Empty) {}
- rpc RemoveSplitTunnelProcess(google.protobuf.Int32Value) returns (google.protobuf.Empty) {}
- rpc ClearSplitTunnelProcesses(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ // Split tunneling (Linux)
+ rpc GetSplitTunnelProcesses(google.protobuf.Empty) returns (stream google.protobuf.Int32Value) {}
+ rpc AddSplitTunnelProcess(google.protobuf.Int32Value) returns (google.protobuf.Empty) {}
+ rpc RemoveSplitTunnelProcess(google.protobuf.Int32Value) returns (google.protobuf.Empty) {}
+ rpc ClearSplitTunnelProcesses(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- // Split tunneling (Windows)
- rpc AddSplitTunnelApp(google.protobuf.StringValue) returns (google.protobuf.Empty) {}
- rpc RemoveSplitTunnelApp(google.protobuf.StringValue) returns (google.protobuf.Empty) {}
- rpc ClearSplitTunnelApps(google.protobuf.Empty) returns (google.protobuf.Empty) {}
- rpc SetSplitTunnelState(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
- rpc GetExcludedProcesses(google.protobuf.Empty) returns (ExcludedProcessList) {}
+ // Split tunneling (Windows)
+ rpc AddSplitTunnelApp(google.protobuf.StringValue) returns (google.protobuf.Empty) {}
+ rpc RemoveSplitTunnelApp(google.protobuf.StringValue) returns (google.protobuf.Empty) {}
+ rpc ClearSplitTunnelApps(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ rpc SetSplitTunnelState(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
+ rpc GetExcludedProcesses(google.protobuf.Empty) returns (ExcludedProcessList) {}
- rpc SetUseWireguardNt(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
+ rpc SetUseWireguardNt(google.protobuf.BoolValue) returns (google.protobuf.Empty) {}
- // Notify the split tunnel monitor that a volume was mounted or dismounted (Windows).
- rpc CheckVolumes(google.protobuf.Empty) returns (google.protobuf.Empty) {}
+ // Notify the split tunnel monitor that a volume was mounted or dismounted
+ // (Windows).
+ rpc CheckVolumes(google.protobuf.Empty) returns (google.protobuf.Empty) {}
}
message RelaySettingsUpdate {
- oneof type {
- CustomRelaySettings custom = 1;
- NormalRelaySettingsUpdate normal = 2;
- }
+ oneof type {
+ CustomRelaySettings custom = 1;
+ NormalRelaySettingsUpdate normal = 2;
+ }
}
-message AccountData {
- google.protobuf.Timestamp expiry = 1;
-}
+message AccountData { google.protobuf.Timestamp expiry = 1; }
-message AccountHistory {
- google.protobuf.StringValue token = 1;
-}
+message AccountHistory { google.protobuf.StringValue token = 1; }
message VoucherSubmission {
- uint64 seconds_added = 1;
- google.protobuf.Timestamp new_expiry = 2;
+ uint64 seconds_added = 1;
+ google.protobuf.Timestamp new_expiry = 2;
}
enum AfterDisconnect {
- NOTHING = 0;
- BLOCK = 1;
- RECONNECT = 2;
+ NOTHING = 0;
+ BLOCK = 1;
+ RECONNECT = 2;
}
message ErrorState {
- enum Cause {
- AUTH_FAILED = 0;
- IPV6_UNAVAILABLE = 1;
- SET_FIREWALL_POLICY_ERROR = 2;
- SET_DNS_ERROR = 3;
- START_TUNNEL_ERROR = 4;
- TUNNEL_PARAMETER_ERROR = 5;
- IS_OFFLINE = 6;
- VPN_PERMISSION_DENIED = 7;
- SPLIT_TUNNEL_ERROR = 8;
- }
+ enum Cause {
+ AUTH_FAILED = 0;
+ IPV6_UNAVAILABLE = 1;
+ SET_FIREWALL_POLICY_ERROR = 2;
+ SET_DNS_ERROR = 3;
+ START_TUNNEL_ERROR = 4;
+ TUNNEL_PARAMETER_ERROR = 5;
+ IS_OFFLINE = 6;
+ VPN_PERMISSION_DENIED = 7;
+ SPLIT_TUNNEL_ERROR = 8;
+ }
- enum AuthFailedError {
- UNKNOWN = 0;
- INVALID_ACCOUNT = 1;
- EXPIRED_ACCOUNT = 2;
- TOO_MANY_CONNECTIONS = 3;
- }
+ enum AuthFailedError {
+ UNKNOWN = 0;
+ INVALID_ACCOUNT = 1;
+ EXPIRED_ACCOUNT = 2;
+ TOO_MANY_CONNECTIONS = 3;
+ }
- enum GenerationError {
- NO_MATCHING_RELAY = 0;
- NO_MATCHING_BRIDGE_RELAY = 1;
- NO_WIREGUARD_KEY = 2;
- CUSTOM_TUNNEL_HOST_RESOLUTION_ERROR = 3;
- }
+ enum GenerationError {
+ NO_MATCHING_RELAY = 0;
+ NO_MATCHING_BRIDGE_RELAY = 1;
+ NO_WIREGUARD_KEY = 2;
+ CUSTOM_TUNNEL_HOST_RESOLUTION_ERROR = 3;
+ }
- message FirewallPolicyError {
- enum ErrorType {
- GENERIC = 0;
- LOCKED = 1;
- }
- ErrorType type = 1;
+ message FirewallPolicyError {
+ enum ErrorType {
+ GENERIC = 0;
+ LOCKED = 1;
+ }
+ ErrorType type = 1;
- // LOCKED
- uint32 lock_pid = 2;
- string lock_name = 3;
- }
+ // LOCKED
+ uint32 lock_pid = 2;
+ string lock_name = 3;
+ }
- Cause cause = 1;
- FirewallPolicyError blocking_error = 2;
+ Cause cause = 1;
+ FirewallPolicyError blocking_error = 2;
- // AUTH_FAILED
- AuthFailedError auth_failed_error = 3;
- // TUNNEL_PARAMETER_ERROR
- GenerationError parameter_error = 4;
- // SET_FIREWALL_POLICY_ERROR
- FirewallPolicyError policy_error = 5;
+ // AUTH_FAILED
+ AuthFailedError auth_failed_error = 3;
+ // TUNNEL_PARAMETER_ERROR
+ GenerationError parameter_error = 4;
+ // SET_FIREWALL_POLICY_ERROR
+ FirewallPolicyError policy_error = 5;
}
message TunnelState {
- message Disconnected {
- }
- message Connecting {
- TunnelStateRelayInfo relay_info = 1;
- }
- message Connected {
- TunnelStateRelayInfo relay_info = 1;
- }
- message Disconnecting {
- AfterDisconnect after_disconnect = 1;
- }
- message Error {
- ErrorState error_state = 1;
- }
+ message Disconnected {}
+ message Connecting { TunnelStateRelayInfo relay_info = 1; }
+ message Connected { TunnelStateRelayInfo relay_info = 1; }
+ message Disconnecting { AfterDisconnect after_disconnect = 1; }
+ message Error { ErrorState error_state = 1; }
- oneof state {
- Disconnected disconnected = 1;
- Connecting connecting = 2;
- Connected connected = 3;
- Disconnecting disconnecting = 4;
- Error error = 5;
- }
+ oneof state {
+ Disconnected disconnected = 1;
+ Connecting connecting = 2;
+ Connected connected = 3;
+ Disconnecting disconnecting = 4;
+ Error error = 5;
+ }
}
enum TunnelType {
- OPENVPN = 0;
- WIREGUARD = 1;
+ OPENVPN = 0;
+ WIREGUARD = 1;
}
message TunnelStateRelayInfo {
- TunnelEndpoint tunnel_endpoint = 1;
- GeoIpLocation location = 2;
+ TunnelEndpoint tunnel_endpoint = 1;
+ GeoIpLocation location = 2;
}
message TunnelEndpoint {
- string address = 1;
- TransportProtocol protocol = 2;
- TunnelType tunnel_type = 3;
- bool quantum_resistant = 4;
- ProxyEndpoint proxy = 5;
- ObfuscationEndpoint obfuscation = 6;
- Endpoint entry_endpoint = 7;
+ string address = 1;
+ TransportProtocol protocol = 2;
+ TunnelType tunnel_type = 3;
+ bool quantum_resistant = 4;
+ ProxyEndpoint proxy = 5;
+ ObfuscationEndpoint obfuscation = 6;
+ Endpoint entry_endpoint = 7;
}
enum ObfuscationType {
- UDP2TCP = 0;
+ UDP2TCP = 0;
}
message ObfuscationEndpoint {
- string address = 1;
- uint32 port = 2;
- TransportProtocol protocol = 3;
- ObfuscationType obfuscation_type = 4;
+ string address = 1;
+ uint32 port = 2;
+ TransportProtocol protocol = 3;
+ ObfuscationType obfuscation_type = 4;
}
enum ProxyType {
- SHADOWSOCKS = 0;
- CUSTOM = 1;
+ SHADOWSOCKS = 0;
+ CUSTOM = 1;
}
message Endpoint {
- string address = 1;
- TransportProtocol protocol = 2;
+ string address = 1;
+ TransportProtocol protocol = 2;
}
message ProxyEndpoint {
- string address = 1;
- TransportProtocol protocol = 2;
- ProxyType proxy_type = 3;
+ string address = 1;
+ TransportProtocol protocol = 2;
+ ProxyType proxy_type = 3;
}
message GeoIpLocation {
- string ipv4 = 1;
- string ipv6 = 2;
- string country = 3;
- string city = 4;
- double latitude = 5;
- double longitude = 6;
- bool mullvad_exit_ip = 7;
- string hostname = 8;
- string bridge_hostname = 9;
- string entry_hostname = 10;
- string obfuscator_hostname = 11;
+ string ipv4 = 1;
+ string ipv6 = 2;
+ string country = 3;
+ string city = 4;
+ double latitude = 5;
+ double longitude = 6;
+ bool mullvad_exit_ip = 7;
+ string hostname = 8;
+ string bridge_hostname = 9;
+ string entry_hostname = 10;
+ string obfuscator_hostname = 11;
}
enum Ownership {
- ANY = 0;
- MULLVAD_OWNED = 1;
- RENTED = 2;
+ ANY = 0;
+ MULLVAD_OWNED = 1;
+ RENTED = 2;
}
message BridgeSettings {
- message BridgeConstraints {
- RelayLocation location = 1;
- repeated string providers = 2;
- Ownership ownership = 3;
- }
+ message BridgeConstraints {
+ RelayLocation location = 1;
+ repeated string providers = 2;
+ Ownership ownership = 3;
+ }
- message LocalProxySettings {
- uint32 port = 1;
- string peer = 2;
- }
- message RemoteProxySettings {
- string address = 1;
- RemoteProxyAuth auth = 2;
- }
- message RemoteProxyAuth {
- string username = 1;
- string password = 2;
- }
- message ShadowsocksProxySettings {
- string peer = 1;
- string password = 2;
- string cipher = 3;
- }
+ message LocalProxySettings {
+ uint32 port = 1;
+ string peer = 2;
+ }
+ message RemoteProxySettings {
+ string address = 1;
+ RemoteProxyAuth auth = 2;
+ }
+ message RemoteProxyAuth {
+ string username = 1;
+ string password = 2;
+ }
+ message ShadowsocksProxySettings {
+ string peer = 1;
+ string password = 2;
+ string cipher = 3;
+ }
- oneof type {
- BridgeConstraints normal = 1;
- LocalProxySettings local = 2;
- RemoteProxySettings remote = 3;
- ShadowsocksProxySettings shadowsocks = 4;
- }
+ oneof type {
+ BridgeConstraints normal = 1;
+ LocalProxySettings local = 2;
+ RemoteProxySettings remote = 3;
+ ShadowsocksProxySettings shadowsocks = 4;
+ }
}
message RelayLocation {
- string country = 1;
- string city = 2;
- string hostname = 3;
+ string country = 1;
+ string city = 2;
+ string hostname = 3;
}
message BridgeState {
- enum State {
- AUTO = 0;
- ON = 1;
- OFF = 2;
- }
- State state = 1;
+ enum State {
+ AUTO = 0;
+ ON = 1;
+ OFF = 2;
+ }
+ State state = 1;
}
-message Udp2TcpObfuscationSettings {
- uint32 port = 1;
-}
+message Udp2TcpObfuscationSettings { uint32 port = 1; }
message ObfuscationSettings {
enum SelectedObfuscation {
AUTO = 0;
OFF = 1;
- UDP2TCP = 2;
+ UDP2TCP = 2;
}
SelectedObfuscation selected_obfuscation = 1;
Udp2TcpObfuscationSettings udp2tcp = 2;
}
message Settings {
- RelaySettings relay_settings = 1;
- BridgeSettings bridge_settings = 2;
- BridgeState bridge_state = 3;
- bool allow_lan = 4;
- bool block_when_disconnected = 5;
- bool auto_connect = 6;
- TunnelOptions tunnel_options = 7;
- bool show_beta_releases = 8;
- SplitTunnelSettings split_tunnel = 9;
- ObfuscationSettings obfuscation_settings = 10;
+ RelaySettings relay_settings = 1;
+ BridgeSettings bridge_settings = 2;
+ BridgeState bridge_state = 3;
+ bool allow_lan = 4;
+ bool block_when_disconnected = 5;
+ bool auto_connect = 6;
+ TunnelOptions tunnel_options = 7;
+ bool show_beta_releases = 8;
+ SplitTunnelSettings split_tunnel = 9;
+ ObfuscationSettings obfuscation_settings = 10;
}
message SplitTunnelSettings {
- bool enable_exclusions = 1;
- repeated string apps = 2;
+ bool enable_exclusions = 1;
+ repeated string apps = 2;
}
message RelaySettings {
- oneof endpoint {
- CustomRelaySettings custom = 1;
- NormalRelaySettings normal = 2;
- }
+ oneof endpoint {
+ CustomRelaySettings custom = 1;
+ NormalRelaySettings normal = 2;
+ }
}
-message TunnelTypeConstraint {
- TunnelType tunnel_type = 1;
-}
+message TunnelTypeConstraint { TunnelType tunnel_type = 1; }
message NormalRelaySettings {
- RelayLocation location = 1;
- repeated string providers = 2;
- TunnelTypeConstraint tunnel_type = 3;
- WireguardConstraints wireguard_constraints = 4;
- OpenvpnConstraints openvpn_constraints = 5;
- Ownership ownership = 6;
+ RelayLocation location = 1;
+ repeated string providers = 2;
+ TunnelTypeConstraint tunnel_type = 3;
+ WireguardConstraints wireguard_constraints = 4;
+ OpenvpnConstraints openvpn_constraints = 5;
+ Ownership ownership = 6;
}
// Constraints are only updated for fields that are provided
message NormalRelaySettingsUpdate {
- RelayLocation location = 1;
- ProviderUpdate providers = 2;
- TunnelTypeUpdate tunnel_type = 3;
- WireguardConstraints wireguard_constraints = 4;
- OpenvpnConstraints openvpn_constraints = 5;
- OwnershipUpdate ownership = 6;
+ RelayLocation location = 1;
+ ProviderUpdate providers = 2;
+ TunnelTypeUpdate tunnel_type = 3;
+ WireguardConstraints wireguard_constraints = 4;
+ OpenvpnConstraints openvpn_constraints = 5;
+ OwnershipUpdate ownership = 6;
}
-message ProviderUpdate {
- repeated string providers = 1;
-}
+message ProviderUpdate { repeated string providers = 1; }
-message TunnelTypeUpdate {
- TunnelTypeConstraint tunnel_type = 2;
-}
+message TunnelTypeUpdate { TunnelTypeConstraint tunnel_type = 2; }
message TransportPort {
- TransportProtocol protocol = 1;
- uint32 port = 2;
+ TransportProtocol protocol = 1;
+ uint32 port = 2;
}
-message OpenvpnConstraints {
- TransportPort port = 1;
-}
+message OpenvpnConstraints { TransportPort port = 1; }
-message OwnershipUpdate {
- Ownership ownership = 1;
-}
+message OwnershipUpdate { Ownership ownership = 1; }
enum IpVersion {
- V4 = 0;
- V6 = 1;
+ V4 = 0;
+ V6 = 1;
}
-message IpVersionConstraint {
- IpVersion protocol = 1;
-}
+message IpVersionConstraint { IpVersion protocol = 1; }
message WireguardConstraints {
- uint32 port = 1;
- IpVersionConstraint ip_version = 2;
- bool use_multihop = 3;
- RelayLocation entry_location = 4;
+ uint32 port = 1;
+ IpVersionConstraint ip_version = 2;
+ bool use_multihop = 3;
+ RelayLocation entry_location = 4;
}
message CustomRelaySettings {
- string host = 1;
- ConnectionConfig config = 2;
+ string host = 1;
+ ConnectionConfig config = 2;
}
message ConnectionConfig {
- message OpenvpnConfig {
- string address = 1;
- TransportProtocol protocol = 2;
- string username = 3;
- string password = 4;
- }
- message WireguardConfig {
- message TunnelConfig {
- bytes private_key = 1;
- repeated string addresses = 2;
- }
- message PeerConfig {
- bytes public_key = 1;
- repeated string allowed_ips = 2;
- string endpoint = 3;
- }
+ message OpenvpnConfig {
+ string address = 1;
+ TransportProtocol protocol = 2;
+ string username = 3;
+ string password = 4;
+ }
+ message WireguardConfig {
+ message TunnelConfig {
+ bytes private_key = 1;
+ repeated string addresses = 2;
+ }
+ message PeerConfig {
+ bytes public_key = 1;
+ repeated string allowed_ips = 2;
+ string endpoint = 3;
+ }
- TunnelConfig tunnel = 1;
- PeerConfig peer = 2;
- string ipv4_gateway = 3;
- string ipv6_gateway = 4;
- }
+ TunnelConfig tunnel = 1;
+ PeerConfig peer = 2;
+ string ipv4_gateway = 3;
+ string ipv6_gateway = 4;
+ }
- oneof config {
- OpenvpnConfig openvpn = 1;
- WireguardConfig wireguard = 2;
- }
+ oneof config {
+ OpenvpnConfig openvpn = 1;
+ WireguardConfig wireguard = 2;
+ }
}
message QuantumResistantState {
- enum State {
- AUTO = 0;
- ON = 1;
- OFF = 2;
- }
- State state = 1;
+ enum State {
+ AUTO = 0;
+ ON = 1;
+ OFF = 2;
+ }
+ State state = 1;
}
message TunnelOptions {
- message OpenvpnOptions {
- uint32 mssfix = 1;
- }
- message WireguardOptions {
- uint32 mtu = 1;
- google.protobuf.Duration rotation_interval = 2;
- bool use_wireguard_nt = 3;
- QuantumResistantState quantum_resistant = 4;
- }
- message GenericOptions {
- bool enable_ipv6 = 1;
- }
+ message OpenvpnOptions { uint32 mssfix = 1; }
+ message WireguardOptions {
+ uint32 mtu = 1;
+ google.protobuf.Duration rotation_interval = 2;
+ bool use_wireguard_nt = 3;
+ QuantumResistantState quantum_resistant = 4;
+ }
+ message GenericOptions { bool enable_ipv6 = 1; }
- OpenvpnOptions openvpn = 1;
- WireguardOptions wireguard = 2;
- GenericOptions generic = 3;
- DnsOptions dns_options = 4;
+ OpenvpnOptions openvpn = 1;
+ WireguardOptions wireguard = 2;
+ GenericOptions generic = 3;
+ DnsOptions dns_options = 4;
}
message DefaultDnsOptions {
- bool block_ads = 1;
- bool block_trackers = 2;
- bool block_malware = 3;
- bool block_adult_content = 4;
- bool block_gambling = 5;
+ bool block_ads = 1;
+ bool block_trackers = 2;
+ bool block_malware = 3;
+ bool block_adult_content = 4;
+ bool block_gambling = 5;
}
-message CustomDnsOptions {
- repeated string addresses = 1;
-}
+message CustomDnsOptions { repeated string addresses = 1; }
message DnsOptions {
- enum DnsState {
- DEFAULT = 0;
- CUSTOM = 1;
- }
- DnsState state = 1;
- DefaultDnsOptions default_options = 2;
- CustomDnsOptions custom_options = 3;
+ enum DnsState {
+ DEFAULT = 0;
+ CUSTOM = 1;
+ }
+ DnsState state = 1;
+ DefaultDnsOptions default_options = 2;
+ CustomDnsOptions custom_options = 3;
}
message PublicKey {
- bytes key = 1;
- google.protobuf.Timestamp created = 2;
+ bytes key = 1;
+ google.protobuf.Timestamp created = 2;
}
message ExcludedProcess {
- uint32 pid = 1;
- string image = 2;
- bool inherited = 3;
+ uint32 pid = 1;
+ string image = 2;
+ bool inherited = 3;
}
-message ExcludedProcessList {
- repeated ExcludedProcess processes = 1;
-}
+message ExcludedProcessList { repeated ExcludedProcess processes = 1; }
message AppVersionInfo {
- bool supported = 1;
- string latest_stable = 2;
- string latest_beta = 3;
- string suggested_upgrade = 4;
+ bool supported = 1;
+ string latest_stable = 2;
+ string latest_beta = 3;
+ string suggested_upgrade = 4;
}
message RelayListCountry {
- string name = 1;
- string code = 2;
- repeated RelayListCity cities = 3;
+ string name = 1;
+ string code = 2;
+ repeated RelayListCity cities = 3;
}
message RelayListCity {
- string name = 1;
- string code = 2;
- double latitude = 3;
- double longitude = 4;
- repeated Relay relays = 5;
+ string name = 1;
+ string code = 2;
+ double latitude = 3;
+ double longitude = 4;
+ repeated Relay relays = 5;
}
message Relay {
- enum RelayType {
- OPENVPN = 0;
- BRIDGE = 1;
- WIREGUARD = 2;
- }
+ enum RelayType {
+ OPENVPN = 0;
+ BRIDGE = 1;
+ WIREGUARD = 2;
+ }
- string hostname = 1;
- string ipv4_addr_in = 2;
- string ipv6_addr_in = 3;
- bool include_in_country = 4;
- bool active = 5;
- bool owned = 6;
- string provider = 7;
- fixed64 weight = 8;
- RelayType endpoint_type = 9;
- google.protobuf.Any endpoint_data = 10;
- Location location = 11;
+ string hostname = 1;
+ string ipv4_addr_in = 2;
+ string ipv6_addr_in = 3;
+ bool include_in_country = 4;
+ bool active = 5;
+ bool owned = 6;
+ string provider = 7;
+ fixed64 weight = 8;
+ RelayType endpoint_type = 9;
+ google.protobuf.Any endpoint_data = 10;
+ Location location = 11;
}
-message WireguardRelayEndpointData {
- bytes public_key = 1;
-}
+message WireguardRelayEndpointData { bytes public_key = 1; }
message Location {
- string country = 1;
- string country_code = 2;
- string city = 3;
- string city_code = 4;
- double latitude = 5;
- double longitude = 6;
+ string country = 1;
+ string country_code = 2;
+ string city = 3;
+ string city_code = 4;
+ double latitude = 5;
+ double longitude = 6;
}
enum TransportProtocol {
- UDP = 0;
- TCP = 1;
+ UDP = 0;
+ TCP = 1;
}
message DaemonEvent {
- oneof event {
- TunnelState tunnel_state = 1;
- Settings settings = 2;
- RelayList relay_list = 3;
- AppVersionInfo version_info = 4;
- DeviceEvent device = 5;
- RemoveDeviceEvent remove_device = 6;
- }
+ oneof event {
+ TunnelState tunnel_state = 1;
+ Settings settings = 2;
+ RelayList relay_list = 3;
+ AppVersionInfo version_info = 4;
+ DeviceEvent device = 5;
+ RemoveDeviceEvent remove_device = 6;
+ }
}
message RelayList {
- repeated RelayListCountry countries = 1;
- OpenVpnEndpointData openvpn = 2;
- BridgeEndpointData bridge = 3;
- WireguardEndpointData wireguard = 4;
+ repeated RelayListCountry countries = 1;
+ OpenVpnEndpointData openvpn = 2;
+ BridgeEndpointData bridge = 3;
+ WireguardEndpointData wireguard = 4;
}
-message OpenVpnEndpointData {
- repeated OpenVpnEndpoint endpoints = 1;
-}
+message OpenVpnEndpointData { repeated OpenVpnEndpoint endpoints = 1; }
message OpenVpnEndpoint {
- uint32 port = 1;
- TransportProtocol protocol = 2;
+ uint32 port = 1;
+ TransportProtocol protocol = 2;
}
-message BridgeEndpointData {
- repeated ShadowsocksEndpointData shadowsocks = 1;
-}
+message BridgeEndpointData { repeated ShadowsocksEndpointData shadowsocks = 1; }
message ShadowsocksEndpointData {
- uint32 port = 1;
- string cipher = 2;
- string password = 3;
- TransportProtocol protocol = 4;
+ uint32 port = 1;
+ string cipher = 2;
+ string password = 3;
+ TransportProtocol protocol = 4;
}
message WireguardEndpointData {
- repeated PortRange port_ranges = 1;
- string ipv4_gateway = 2;
- string ipv6_gateway = 3;
- repeated uint32 udp2tcp_ports = 4;
+ repeated PortRange port_ranges = 1;
+ string ipv4_gateway = 2;
+ string ipv6_gateway = 3;
+ repeated uint32 udp2tcp_ports = 4;
}
message PortRange {
- uint32 first = 1;
- uint32 last = 2;
+ uint32 first = 1;
+ uint32 last = 2;
}
message AccountAndDevice {
- string account_token = 1;
- Device device = 2;
+ string account_token = 1;
+ Device device = 2;
}
message Device {
- string id = 1;
- string name = 2;
- bytes pubkey = 3;
- repeated DevicePort ports = 4;
- bool hijack_dns = 5;
- google.protobuf.Timestamp created = 6;
+ string id = 1;
+ string name = 2;
+ bytes pubkey = 3;
+ repeated DevicePort ports = 4;
+ bool hijack_dns = 5;
+ google.protobuf.Timestamp created = 6;
}
-message DevicePort {
- string id = 1;
-}
+message DevicePort { string id = 1; }
-message DeviceList {
- repeated Device devices = 1;
-}
+message DeviceList { repeated Device devices = 1; }
message DeviceRemoval {
- string account_token = 1;
- string device_id = 2;
+ string account_token = 1;
+ string device_id = 2;
}
message DeviceState {
- enum State {
- LOGGED_IN = 0;
- LOGGED_OUT = 1;
- REVOKED = 2;
- }
- State state = 1;
- AccountAndDevice device = 2;
+ enum State {
+ LOGGED_IN = 0;
+ LOGGED_OUT = 1;
+ REVOKED = 2;
+ }
+ State state = 1;
+ AccountAndDevice device = 2;
}
message DeviceEvent {
- enum Cause {
- LOGGED_IN = 0;
- LOGGED_OUT = 1;
- REVOKED = 2;
- UPDATED = 3;
- ROTATED_KEY = 4;
- }
- Cause cause = 1;
- DeviceState new_state = 2;
+ enum Cause {
+ LOGGED_IN = 0;
+ LOGGED_OUT = 1;
+ REVOKED = 2;
+ UPDATED = 3;
+ ROTATED_KEY = 4;
+ }
+ Cause cause = 1;
+ DeviceState new_state = 2;
}
message RemoveDeviceEvent {
- string account_token = 1;
- repeated Device new_device_list = 2;
+ string account_token = 1;
+ repeated Device new_device_list = 2;
}
diff --git a/talpid-openvpn-plugin/proto/openvpn_plugin.proto b/talpid-openvpn-plugin/proto/openvpn_plugin.proto
index 7795803e35..c0539b8407 100644
--- a/talpid-openvpn-plugin/proto/openvpn_plugin.proto
+++ b/talpid-openvpn-plugin/proto/openvpn_plugin.proto
@@ -5,12 +5,10 @@ package talpid_openvpn_plugin;
import "google/protobuf/empty.proto";
service OpenvpnEventProxy {
- rpc AuthFailed(EventDetails) returns (google.protobuf.Empty) {}
- rpc Up(EventDetails) returns (google.protobuf.Empty) {}
- rpc RouteUp(EventDetails) returns (google.protobuf.Empty) {}
- rpc RoutePredown(EventDetails) returns (google.protobuf.Empty) {}
+ rpc AuthFailed(EventDetails) returns (google.protobuf.Empty) {}
+ rpc Up(EventDetails) returns (google.protobuf.Empty) {}
+ rpc RouteUp(EventDetails) returns (google.protobuf.Empty) {}
+ rpc RoutePredown(EventDetails) returns (google.protobuf.Empty) {}
}
-message EventDetails {
- map<string, string> env = 1;
-}
+message EventDetails { map<string, string> env = 1; }
diff --git a/talpid-tunnel-config-client/proto/tunnel_config.proto b/talpid-tunnel-config-client/proto/tunnel_config.proto
index af7f7f158e..e6e4b73d97 100644
--- a/talpid-tunnel-config-client/proto/tunnel_config.proto
+++ b/talpid-tunnel-config-client/proto/tunnel_config.proto
@@ -80,6 +80,4 @@ message KemPubkeyV1 {
bytes key_data = 2;
}
-message PskResponseV1 {
- repeated bytes ciphertexts = 1;
-}
+message PskResponseV1 { repeated bytes ciphertexts = 1; }