mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						|
package headscale.v1;
 | 
						|
option go_package = "github.com/juanfont/headscale/gen/go/v1";
 | 
						|
 | 
						|
import "google/protobuf/timestamp.proto";
 | 
						|
 | 
						|
// This is a potential reimplementation of Tailscale's API
 | 
						|
// https://github.com/tailscale/tailscale/blob/main/api.md
 | 
						|
 | 
						|
message Latency {
 | 
						|
  float latency_ms = 1;
 | 
						|
  bool preferred = 2;
 | 
						|
}
 | 
						|
 | 
						|
message ClientSupports {
 | 
						|
  bool hair_pinning = 1;
 | 
						|
  bool ipv6 = 2;
 | 
						|
  bool pcp = 3;
 | 
						|
  bool pmp = 4;
 | 
						|
  bool udp = 5;
 | 
						|
  bool upnp = 6;
 | 
						|
}
 | 
						|
 | 
						|
message ClientConnectivity {
 | 
						|
  repeated string endpoints = 1;
 | 
						|
  string derp = 2;
 | 
						|
  bool mapping_varies_by_dest_ip = 3;
 | 
						|
  map<string, Latency> latency = 4;
 | 
						|
  ClientSupports client_supports = 5;
 | 
						|
}
 | 
						|
 | 
						|
message GetDeviceRequest { string id = 1; }
 | 
						|
 | 
						|
message GetDeviceResponse {
 | 
						|
  repeated string addresses = 1;
 | 
						|
  string id = 2;
 | 
						|
  string user = 3;
 | 
						|
  string name = 4;
 | 
						|
  string hostname = 5;
 | 
						|
  string client_version = 6;
 | 
						|
  bool update_available = 7;
 | 
						|
  string os = 8;
 | 
						|
  google.protobuf.Timestamp created = 9;
 | 
						|
  google.protobuf.Timestamp last_seen = 10;
 | 
						|
  bool key_expiry_disabled = 11;
 | 
						|
  google.protobuf.Timestamp expires = 12;
 | 
						|
  bool authorized = 13;
 | 
						|
  bool is_external = 14;
 | 
						|
  string machine_key = 15;
 | 
						|
  string node_key = 16;
 | 
						|
  bool blocks_incoming_connections = 17;
 | 
						|
  repeated string enabled_routes = 18;
 | 
						|
  repeated string advertised_routes = 19;
 | 
						|
  ClientConnectivity client_connectivity = 20;
 | 
						|
}
 | 
						|
 | 
						|
message DeleteDeviceRequest { string id = 1; }
 | 
						|
 | 
						|
message DeleteDeviceResponse {}
 | 
						|
 | 
						|
message GetDeviceRoutesRequest { string id = 1; }
 | 
						|
 | 
						|
message GetDeviceRoutesResponse {
 | 
						|
  repeated string enabled_routes = 1;
 | 
						|
  repeated string advertised_routes = 2;
 | 
						|
}
 | 
						|
 | 
						|
message EnableDeviceRoutesRequest {
 | 
						|
  string id = 1;
 | 
						|
  repeated string routes = 2;
 | 
						|
}
 | 
						|
 | 
						|
message EnableDeviceRoutesResponse {
 | 
						|
  repeated string enabled_routes = 1;
 | 
						|
  repeated string advertised_routes = 2;
 | 
						|
}
 |