syntax = "proto3"; message RegistrationRequest{ string token = 1; string device_id = 2; string name = 3; bool is_fast = 4; } message RegistrationResponse{ fixed32 virtual_ip = 1; fixed32 virtual_gateway = 2; fixed32 virtual_netmask = 3; uint32 epoch = 4; repeated DeviceInfo device_info_list = 5; fixed32 public_ip = 6; uint32 public_port = 7; } message DeviceInfo{ string name = 1; fixed32 virtual_ip = 2; uint32 device_status = 3; } message DeviceList{ uint32 epoch = 1; repeated DeviceInfo device_info_list = 2; } message PunchInfo{ repeated fixed32 public_ip_list = 2; uint32 public_port = 3; uint32 public_port_range = 4; PunchNatType nat_type = 5; bool reply = 6; fixed32 local_ip = 7; uint32 local_port = 8; } enum PunchNatType{ Symmetric = 0; Cone = 1; }