mirror of https://github.com/XTLS/Xray-core
				
				
				
			
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
syntax = "proto3";
 | 
						|
 | 
						|
package xray.app.policy;
 | 
						|
option csharp_namespace = "Xray.App.Policy";
 | 
						|
option go_package = "github.com/xtls/xray-core/app/policy";
 | 
						|
option java_package = "com.xray.app.policy";
 | 
						|
option java_multiple_files = true;
 | 
						|
 | 
						|
message Second {
 | 
						|
  uint32 value = 1;
 | 
						|
}
 | 
						|
 | 
						|
message Policy {
 | 
						|
  // Timeout is a message for timeout settings in various stages, in seconds.
 | 
						|
  message Timeout {
 | 
						|
    Second handshake = 1;
 | 
						|
    Second connection_idle = 2;
 | 
						|
    Second uplink_only = 3;
 | 
						|
    Second downlink_only = 4;
 | 
						|
  }
 | 
						|
 | 
						|
  message Stats {
 | 
						|
    bool user_uplink = 1;
 | 
						|
    bool user_downlink = 2;
 | 
						|
    bool user_online = 3;
 | 
						|
  }
 | 
						|
 | 
						|
  message Buffer {
 | 
						|
    // Buffer size per connection, in bytes. -1 for unlimited buffer.
 | 
						|
    int32 connection = 1;
 | 
						|
  }
 | 
						|
 | 
						|
  Timeout timeout = 1;
 | 
						|
  Stats stats = 2;
 | 
						|
  Buffer buffer = 3;
 | 
						|
}
 | 
						|
 | 
						|
message SystemPolicy {
 | 
						|
  message Stats {
 | 
						|
    bool inbound_uplink = 1;
 | 
						|
    bool inbound_downlink = 2;
 | 
						|
    bool outbound_uplink = 3;
 | 
						|
    bool outbound_downlink = 4;
 | 
						|
  }
 | 
						|
 | 
						|
  Stats stats = 1;
 | 
						|
}
 | 
						|
 | 
						|
message Config {
 | 
						|
  map<uint32, Policy> level = 1;
 | 
						|
  SystemPolicy system = 2;
 | 
						|
}
 |