config.proto 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. syntax = "proto3";
  2. package xray.app.proxyman;
  3. option csharp_namespace = "Xray.App.Proxyman";
  4. option go_package = "github.com/xtls/xray-core/app/proxyman";
  5. option java_package = "com.xray.app.proxyman";
  6. option java_multiple_files = true;
  7. import "common/net/address.proto";
  8. import "common/net/port.proto";
  9. import "transport/internet/config.proto";
  10. import "common/serial/typed_message.proto";
  11. message InboundConfig {}
  12. message SniffingConfig {
  13. // Whether or not to enable content sniffing on an inbound connection.
  14. bool enabled = 1;
  15. // Override target destination if sniff'ed protocol is in the given list.
  16. // Supported values are "http", "tls", "fakedns".
  17. repeated string destination_override = 2;
  18. repeated string domains_excluded = 3;
  19. // Whether should only try to sniff metadata without waiting for client input.
  20. // Can be used to support SMTP like protocol where server send the first
  21. // message.
  22. bool metadata_only = 4;
  23. bool route_only = 5;
  24. }
  25. message ReceiverConfig {
  26. // PortList specifies the ports which the Receiver should listen on.
  27. xray.common.net.PortList port_list = 1;
  28. // Listen specifies the IP address that the Receiver should listen on.
  29. xray.common.net.IPOrDomain listen = 2;
  30. xray.transport.internet.StreamConfig stream_settings = 3;
  31. bool receive_original_destination = 4;
  32. reserved 5;
  33. SniffingConfig sniffing_settings = 6;
  34. }
  35. message InboundHandlerConfig {
  36. string tag = 1;
  37. xray.common.serial.TypedMessage receiver_settings = 2;
  38. xray.common.serial.TypedMessage proxy_settings = 3;
  39. }
  40. message OutboundConfig {}
  41. message SenderConfig {
  42. // Send traffic through the given IP. Only IP is allowed.
  43. xray.common.net.IPOrDomain via = 1;
  44. xray.transport.internet.StreamConfig stream_settings = 2;
  45. xray.transport.internet.ProxyConfig proxy_settings = 3;
  46. MultiplexingConfig multiplex_settings = 4;
  47. string via_cidr = 5;
  48. xray.transport.internet.DomainStrategy target_strategy = 6;
  49. }
  50. message MultiplexingConfig {
  51. // Whether or not Mux is enabled.
  52. bool enabled = 1;
  53. // Max number of concurrent connections that one Mux connection can handle.
  54. int32 concurrency = 2;
  55. // Transport XUDP in another Mux.
  56. int32 xudpConcurrency = 3;
  57. // "reject" (default), "allow" or "skip".
  58. string xudpProxyUDP443 = 4;
  59. }