config.pb.go 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659
  1. package proxyman
  2. import (
  3. fmt "fmt"
  4. proto "github.com/golang/protobuf/proto"
  5. math "math"
  6. net "v2ray.com/core/common/net"
  7. serial "v2ray.com/core/common/serial"
  8. internet "v2ray.com/core/transport/internet"
  9. )
  10. // Reference imports to suppress errors if they are not otherwise used.
  11. var _ = proto.Marshal
  12. var _ = fmt.Errorf
  13. var _ = math.Inf
  14. // This is a compile-time assertion to ensure that this generated file
  15. // is compatible with the proto package it is being compiled against.
  16. // A compilation error at this line likely means your copy of the
  17. // proto package needs to be updated.
  18. const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
  19. type KnownProtocols int32
  20. const (
  21. KnownProtocols_HTTP KnownProtocols = 0
  22. KnownProtocols_TLS KnownProtocols = 1
  23. )
  24. var KnownProtocols_name = map[int32]string{
  25. 0: "HTTP",
  26. 1: "TLS",
  27. }
  28. var KnownProtocols_value = map[string]int32{
  29. "HTTP": 0,
  30. "TLS": 1,
  31. }
  32. func (x KnownProtocols) String() string {
  33. return proto.EnumName(KnownProtocols_name, int32(x))
  34. }
  35. func (KnownProtocols) EnumDescriptor() ([]byte, []int) {
  36. return fileDescriptor_b07f45dd938bc1b0, []int{0}
  37. }
  38. type AllocationStrategy_Type int32
  39. const (
  40. // Always allocate all connection handlers.
  41. AllocationStrategy_Always AllocationStrategy_Type = 0
  42. // Randomly allocate specific range of handlers.
  43. AllocationStrategy_Random AllocationStrategy_Type = 1
  44. // External. Not supported yet.
  45. AllocationStrategy_External AllocationStrategy_Type = 2
  46. )
  47. var AllocationStrategy_Type_name = map[int32]string{
  48. 0: "Always",
  49. 1: "Random",
  50. 2: "External",
  51. }
  52. var AllocationStrategy_Type_value = map[string]int32{
  53. "Always": 0,
  54. "Random": 1,
  55. "External": 2,
  56. }
  57. func (x AllocationStrategy_Type) String() string {
  58. return proto.EnumName(AllocationStrategy_Type_name, int32(x))
  59. }
  60. func (AllocationStrategy_Type) EnumDescriptor() ([]byte, []int) {
  61. return fileDescriptor_b07f45dd938bc1b0, []int{1, 0}
  62. }
  63. type InboundConfig struct {
  64. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  65. XXX_unrecognized []byte `json:"-"`
  66. XXX_sizecache int32 `json:"-"`
  67. }
  68. func (m *InboundConfig) Reset() { *m = InboundConfig{} }
  69. func (m *InboundConfig) String() string { return proto.CompactTextString(m) }
  70. func (*InboundConfig) ProtoMessage() {}
  71. func (*InboundConfig) Descriptor() ([]byte, []int) {
  72. return fileDescriptor_b07f45dd938bc1b0, []int{0}
  73. }
  74. func (m *InboundConfig) XXX_Unmarshal(b []byte) error {
  75. return xxx_messageInfo_InboundConfig.Unmarshal(m, b)
  76. }
  77. func (m *InboundConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  78. return xxx_messageInfo_InboundConfig.Marshal(b, m, deterministic)
  79. }
  80. func (m *InboundConfig) XXX_Merge(src proto.Message) {
  81. xxx_messageInfo_InboundConfig.Merge(m, src)
  82. }
  83. func (m *InboundConfig) XXX_Size() int {
  84. return xxx_messageInfo_InboundConfig.Size(m)
  85. }
  86. func (m *InboundConfig) XXX_DiscardUnknown() {
  87. xxx_messageInfo_InboundConfig.DiscardUnknown(m)
  88. }
  89. var xxx_messageInfo_InboundConfig proto.InternalMessageInfo
  90. type AllocationStrategy struct {
  91. Type AllocationStrategy_Type `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.proxyman.AllocationStrategy_Type" json:"type,omitempty"`
  92. // Number of handlers (ports) running in parallel.
  93. // Default value is 3 if unset.
  94. Concurrency *AllocationStrategy_AllocationStrategyConcurrency `protobuf:"bytes,2,opt,name=concurrency,proto3" json:"concurrency,omitempty"`
  95. // Number of minutes before a handler is regenerated.
  96. // Default value is 5 if unset.
  97. Refresh *AllocationStrategy_AllocationStrategyRefresh `protobuf:"bytes,3,opt,name=refresh,proto3" json:"refresh,omitempty"`
  98. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  99. XXX_unrecognized []byte `json:"-"`
  100. XXX_sizecache int32 `json:"-"`
  101. }
  102. func (m *AllocationStrategy) Reset() { *m = AllocationStrategy{} }
  103. func (m *AllocationStrategy) String() string { return proto.CompactTextString(m) }
  104. func (*AllocationStrategy) ProtoMessage() {}
  105. func (*AllocationStrategy) Descriptor() ([]byte, []int) {
  106. return fileDescriptor_b07f45dd938bc1b0, []int{1}
  107. }
  108. func (m *AllocationStrategy) XXX_Unmarshal(b []byte) error {
  109. return xxx_messageInfo_AllocationStrategy.Unmarshal(m, b)
  110. }
  111. func (m *AllocationStrategy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  112. return xxx_messageInfo_AllocationStrategy.Marshal(b, m, deterministic)
  113. }
  114. func (m *AllocationStrategy) XXX_Merge(src proto.Message) {
  115. xxx_messageInfo_AllocationStrategy.Merge(m, src)
  116. }
  117. func (m *AllocationStrategy) XXX_Size() int {
  118. return xxx_messageInfo_AllocationStrategy.Size(m)
  119. }
  120. func (m *AllocationStrategy) XXX_DiscardUnknown() {
  121. xxx_messageInfo_AllocationStrategy.DiscardUnknown(m)
  122. }
  123. var xxx_messageInfo_AllocationStrategy proto.InternalMessageInfo
  124. func (m *AllocationStrategy) GetType() AllocationStrategy_Type {
  125. if m != nil {
  126. return m.Type
  127. }
  128. return AllocationStrategy_Always
  129. }
  130. func (m *AllocationStrategy) GetConcurrency() *AllocationStrategy_AllocationStrategyConcurrency {
  131. if m != nil {
  132. return m.Concurrency
  133. }
  134. return nil
  135. }
  136. func (m *AllocationStrategy) GetRefresh() *AllocationStrategy_AllocationStrategyRefresh {
  137. if m != nil {
  138. return m.Refresh
  139. }
  140. return nil
  141. }
  142. type AllocationStrategy_AllocationStrategyConcurrency struct {
  143. Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
  144. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  145. XXX_unrecognized []byte `json:"-"`
  146. XXX_sizecache int32 `json:"-"`
  147. }
  148. func (m *AllocationStrategy_AllocationStrategyConcurrency) Reset() {
  149. *m = AllocationStrategy_AllocationStrategyConcurrency{}
  150. }
  151. func (m *AllocationStrategy_AllocationStrategyConcurrency) String() string {
  152. return proto.CompactTextString(m)
  153. }
  154. func (*AllocationStrategy_AllocationStrategyConcurrency) ProtoMessage() {}
  155. func (*AllocationStrategy_AllocationStrategyConcurrency) Descriptor() ([]byte, []int) {
  156. return fileDescriptor_b07f45dd938bc1b0, []int{1, 0}
  157. }
  158. func (m *AllocationStrategy_AllocationStrategyConcurrency) XXX_Unmarshal(b []byte) error {
  159. return xxx_messageInfo_AllocationStrategy_AllocationStrategyConcurrency.Unmarshal(m, b)
  160. }
  161. func (m *AllocationStrategy_AllocationStrategyConcurrency) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  162. return xxx_messageInfo_AllocationStrategy_AllocationStrategyConcurrency.Marshal(b, m, deterministic)
  163. }
  164. func (m *AllocationStrategy_AllocationStrategyConcurrency) XXX_Merge(src proto.Message) {
  165. xxx_messageInfo_AllocationStrategy_AllocationStrategyConcurrency.Merge(m, src)
  166. }
  167. func (m *AllocationStrategy_AllocationStrategyConcurrency) XXX_Size() int {
  168. return xxx_messageInfo_AllocationStrategy_AllocationStrategyConcurrency.Size(m)
  169. }
  170. func (m *AllocationStrategy_AllocationStrategyConcurrency) XXX_DiscardUnknown() {
  171. xxx_messageInfo_AllocationStrategy_AllocationStrategyConcurrency.DiscardUnknown(m)
  172. }
  173. var xxx_messageInfo_AllocationStrategy_AllocationStrategyConcurrency proto.InternalMessageInfo
  174. func (m *AllocationStrategy_AllocationStrategyConcurrency) GetValue() uint32 {
  175. if m != nil {
  176. return m.Value
  177. }
  178. return 0
  179. }
  180. type AllocationStrategy_AllocationStrategyRefresh struct {
  181. Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
  182. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  183. XXX_unrecognized []byte `json:"-"`
  184. XXX_sizecache int32 `json:"-"`
  185. }
  186. func (m *AllocationStrategy_AllocationStrategyRefresh) Reset() {
  187. *m = AllocationStrategy_AllocationStrategyRefresh{}
  188. }
  189. func (m *AllocationStrategy_AllocationStrategyRefresh) String() string {
  190. return proto.CompactTextString(m)
  191. }
  192. func (*AllocationStrategy_AllocationStrategyRefresh) ProtoMessage() {}
  193. func (*AllocationStrategy_AllocationStrategyRefresh) Descriptor() ([]byte, []int) {
  194. return fileDescriptor_b07f45dd938bc1b0, []int{1, 1}
  195. }
  196. func (m *AllocationStrategy_AllocationStrategyRefresh) XXX_Unmarshal(b []byte) error {
  197. return xxx_messageInfo_AllocationStrategy_AllocationStrategyRefresh.Unmarshal(m, b)
  198. }
  199. func (m *AllocationStrategy_AllocationStrategyRefresh) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  200. return xxx_messageInfo_AllocationStrategy_AllocationStrategyRefresh.Marshal(b, m, deterministic)
  201. }
  202. func (m *AllocationStrategy_AllocationStrategyRefresh) XXX_Merge(src proto.Message) {
  203. xxx_messageInfo_AllocationStrategy_AllocationStrategyRefresh.Merge(m, src)
  204. }
  205. func (m *AllocationStrategy_AllocationStrategyRefresh) XXX_Size() int {
  206. return xxx_messageInfo_AllocationStrategy_AllocationStrategyRefresh.Size(m)
  207. }
  208. func (m *AllocationStrategy_AllocationStrategyRefresh) XXX_DiscardUnknown() {
  209. xxx_messageInfo_AllocationStrategy_AllocationStrategyRefresh.DiscardUnknown(m)
  210. }
  211. var xxx_messageInfo_AllocationStrategy_AllocationStrategyRefresh proto.InternalMessageInfo
  212. func (m *AllocationStrategy_AllocationStrategyRefresh) GetValue() uint32 {
  213. if m != nil {
  214. return m.Value
  215. }
  216. return 0
  217. }
  218. type SniffingConfig struct {
  219. // Whether or not to enable content sniffing on an inbound connection.
  220. Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
  221. // Override target destination if sniff'ed protocol is in the given list.
  222. // Supported values are "http", "tls".
  223. DestinationOverride []string `protobuf:"bytes,2,rep,name=destination_override,json=destinationOverride,proto3" json:"destination_override,omitempty"`
  224. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  225. XXX_unrecognized []byte `json:"-"`
  226. XXX_sizecache int32 `json:"-"`
  227. }
  228. func (m *SniffingConfig) Reset() { *m = SniffingConfig{} }
  229. func (m *SniffingConfig) String() string { return proto.CompactTextString(m) }
  230. func (*SniffingConfig) ProtoMessage() {}
  231. func (*SniffingConfig) Descriptor() ([]byte, []int) {
  232. return fileDescriptor_b07f45dd938bc1b0, []int{2}
  233. }
  234. func (m *SniffingConfig) XXX_Unmarshal(b []byte) error {
  235. return xxx_messageInfo_SniffingConfig.Unmarshal(m, b)
  236. }
  237. func (m *SniffingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  238. return xxx_messageInfo_SniffingConfig.Marshal(b, m, deterministic)
  239. }
  240. func (m *SniffingConfig) XXX_Merge(src proto.Message) {
  241. xxx_messageInfo_SniffingConfig.Merge(m, src)
  242. }
  243. func (m *SniffingConfig) XXX_Size() int {
  244. return xxx_messageInfo_SniffingConfig.Size(m)
  245. }
  246. func (m *SniffingConfig) XXX_DiscardUnknown() {
  247. xxx_messageInfo_SniffingConfig.DiscardUnknown(m)
  248. }
  249. var xxx_messageInfo_SniffingConfig proto.InternalMessageInfo
  250. func (m *SniffingConfig) GetEnabled() bool {
  251. if m != nil {
  252. return m.Enabled
  253. }
  254. return false
  255. }
  256. func (m *SniffingConfig) GetDestinationOverride() []string {
  257. if m != nil {
  258. return m.DestinationOverride
  259. }
  260. return nil
  261. }
  262. type ReceiverConfig struct {
  263. // PortRange specifies the ports which the Receiver should listen on.
  264. PortRange *net.PortRange `protobuf:"bytes,1,opt,name=port_range,json=portRange,proto3" json:"port_range,omitempty"`
  265. // Listen specifies the IP address that the Receiver should listen on.
  266. Listen *net.IPOrDomain `protobuf:"bytes,2,opt,name=listen,proto3" json:"listen,omitempty"`
  267. AllocationStrategy *AllocationStrategy `protobuf:"bytes,3,opt,name=allocation_strategy,json=allocationStrategy,proto3" json:"allocation_strategy,omitempty"`
  268. StreamSettings *internet.StreamConfig `protobuf:"bytes,4,opt,name=stream_settings,json=streamSettings,proto3" json:"stream_settings,omitempty"`
  269. ReceiveOriginalDestination bool `protobuf:"varint,5,opt,name=receive_original_destination,json=receiveOriginalDestination,proto3" json:"receive_original_destination,omitempty"`
  270. // Override domains for the given protocol.
  271. // Deprecated. Use sniffing_settings.
  272. DomainOverride []KnownProtocols `protobuf:"varint,7,rep,packed,name=domain_override,json=domainOverride,proto3,enum=v2ray.core.app.proxyman.KnownProtocols" json:"domain_override,omitempty"` // Deprecated: Do not use.
  273. SniffingSettings *SniffingConfig `protobuf:"bytes,8,opt,name=sniffing_settings,json=sniffingSettings,proto3" json:"sniffing_settings,omitempty"`
  274. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  275. XXX_unrecognized []byte `json:"-"`
  276. XXX_sizecache int32 `json:"-"`
  277. }
  278. func (m *ReceiverConfig) Reset() { *m = ReceiverConfig{} }
  279. func (m *ReceiverConfig) String() string { return proto.CompactTextString(m) }
  280. func (*ReceiverConfig) ProtoMessage() {}
  281. func (*ReceiverConfig) Descriptor() ([]byte, []int) {
  282. return fileDescriptor_b07f45dd938bc1b0, []int{3}
  283. }
  284. func (m *ReceiverConfig) XXX_Unmarshal(b []byte) error {
  285. return xxx_messageInfo_ReceiverConfig.Unmarshal(m, b)
  286. }
  287. func (m *ReceiverConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  288. return xxx_messageInfo_ReceiverConfig.Marshal(b, m, deterministic)
  289. }
  290. func (m *ReceiverConfig) XXX_Merge(src proto.Message) {
  291. xxx_messageInfo_ReceiverConfig.Merge(m, src)
  292. }
  293. func (m *ReceiverConfig) XXX_Size() int {
  294. return xxx_messageInfo_ReceiverConfig.Size(m)
  295. }
  296. func (m *ReceiverConfig) XXX_DiscardUnknown() {
  297. xxx_messageInfo_ReceiverConfig.DiscardUnknown(m)
  298. }
  299. var xxx_messageInfo_ReceiverConfig proto.InternalMessageInfo
  300. func (m *ReceiverConfig) GetPortRange() *net.PortRange {
  301. if m != nil {
  302. return m.PortRange
  303. }
  304. return nil
  305. }
  306. func (m *ReceiverConfig) GetListen() *net.IPOrDomain {
  307. if m != nil {
  308. return m.Listen
  309. }
  310. return nil
  311. }
  312. func (m *ReceiverConfig) GetAllocationStrategy() *AllocationStrategy {
  313. if m != nil {
  314. return m.AllocationStrategy
  315. }
  316. return nil
  317. }
  318. func (m *ReceiverConfig) GetStreamSettings() *internet.StreamConfig {
  319. if m != nil {
  320. return m.StreamSettings
  321. }
  322. return nil
  323. }
  324. func (m *ReceiverConfig) GetReceiveOriginalDestination() bool {
  325. if m != nil {
  326. return m.ReceiveOriginalDestination
  327. }
  328. return false
  329. }
  330. // Deprecated: Do not use.
  331. func (m *ReceiverConfig) GetDomainOverride() []KnownProtocols {
  332. if m != nil {
  333. return m.DomainOverride
  334. }
  335. return nil
  336. }
  337. func (m *ReceiverConfig) GetSniffingSettings() *SniffingConfig {
  338. if m != nil {
  339. return m.SniffingSettings
  340. }
  341. return nil
  342. }
  343. type InboundHandlerConfig struct {
  344. Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
  345. ReceiverSettings *serial.TypedMessage `protobuf:"bytes,2,opt,name=receiver_settings,json=receiverSettings,proto3" json:"receiver_settings,omitempty"`
  346. ProxySettings *serial.TypedMessage `protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings,proto3" json:"proxy_settings,omitempty"`
  347. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  348. XXX_unrecognized []byte `json:"-"`
  349. XXX_sizecache int32 `json:"-"`
  350. }
  351. func (m *InboundHandlerConfig) Reset() { *m = InboundHandlerConfig{} }
  352. func (m *InboundHandlerConfig) String() string { return proto.CompactTextString(m) }
  353. func (*InboundHandlerConfig) ProtoMessage() {}
  354. func (*InboundHandlerConfig) Descriptor() ([]byte, []int) {
  355. return fileDescriptor_b07f45dd938bc1b0, []int{4}
  356. }
  357. func (m *InboundHandlerConfig) XXX_Unmarshal(b []byte) error {
  358. return xxx_messageInfo_InboundHandlerConfig.Unmarshal(m, b)
  359. }
  360. func (m *InboundHandlerConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  361. return xxx_messageInfo_InboundHandlerConfig.Marshal(b, m, deterministic)
  362. }
  363. func (m *InboundHandlerConfig) XXX_Merge(src proto.Message) {
  364. xxx_messageInfo_InboundHandlerConfig.Merge(m, src)
  365. }
  366. func (m *InboundHandlerConfig) XXX_Size() int {
  367. return xxx_messageInfo_InboundHandlerConfig.Size(m)
  368. }
  369. func (m *InboundHandlerConfig) XXX_DiscardUnknown() {
  370. xxx_messageInfo_InboundHandlerConfig.DiscardUnknown(m)
  371. }
  372. var xxx_messageInfo_InboundHandlerConfig proto.InternalMessageInfo
  373. func (m *InboundHandlerConfig) GetTag() string {
  374. if m != nil {
  375. return m.Tag
  376. }
  377. return ""
  378. }
  379. func (m *InboundHandlerConfig) GetReceiverSettings() *serial.TypedMessage {
  380. if m != nil {
  381. return m.ReceiverSettings
  382. }
  383. return nil
  384. }
  385. func (m *InboundHandlerConfig) GetProxySettings() *serial.TypedMessage {
  386. if m != nil {
  387. return m.ProxySettings
  388. }
  389. return nil
  390. }
  391. type OutboundConfig struct {
  392. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  393. XXX_unrecognized []byte `json:"-"`
  394. XXX_sizecache int32 `json:"-"`
  395. }
  396. func (m *OutboundConfig) Reset() { *m = OutboundConfig{} }
  397. func (m *OutboundConfig) String() string { return proto.CompactTextString(m) }
  398. func (*OutboundConfig) ProtoMessage() {}
  399. func (*OutboundConfig) Descriptor() ([]byte, []int) {
  400. return fileDescriptor_b07f45dd938bc1b0, []int{5}
  401. }
  402. func (m *OutboundConfig) XXX_Unmarshal(b []byte) error {
  403. return xxx_messageInfo_OutboundConfig.Unmarshal(m, b)
  404. }
  405. func (m *OutboundConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  406. return xxx_messageInfo_OutboundConfig.Marshal(b, m, deterministic)
  407. }
  408. func (m *OutboundConfig) XXX_Merge(src proto.Message) {
  409. xxx_messageInfo_OutboundConfig.Merge(m, src)
  410. }
  411. func (m *OutboundConfig) XXX_Size() int {
  412. return xxx_messageInfo_OutboundConfig.Size(m)
  413. }
  414. func (m *OutboundConfig) XXX_DiscardUnknown() {
  415. xxx_messageInfo_OutboundConfig.DiscardUnknown(m)
  416. }
  417. var xxx_messageInfo_OutboundConfig proto.InternalMessageInfo
  418. type SenderConfig struct {
  419. // Send traffic through the given IP. Only IP is allowed.
  420. Via *net.IPOrDomain `protobuf:"bytes,1,opt,name=via,proto3" json:"via,omitempty"`
  421. StreamSettings *internet.StreamConfig `protobuf:"bytes,2,opt,name=stream_settings,json=streamSettings,proto3" json:"stream_settings,omitempty"`
  422. ProxySettings *internet.ProxyConfig `protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings,proto3" json:"proxy_settings,omitempty"`
  423. MultiplexSettings *MultiplexingConfig `protobuf:"bytes,4,opt,name=multiplex_settings,json=multiplexSettings,proto3" json:"multiplex_settings,omitempty"`
  424. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  425. XXX_unrecognized []byte `json:"-"`
  426. XXX_sizecache int32 `json:"-"`
  427. }
  428. func (m *SenderConfig) Reset() { *m = SenderConfig{} }
  429. func (m *SenderConfig) String() string { return proto.CompactTextString(m) }
  430. func (*SenderConfig) ProtoMessage() {}
  431. func (*SenderConfig) Descriptor() ([]byte, []int) {
  432. return fileDescriptor_b07f45dd938bc1b0, []int{6}
  433. }
  434. func (m *SenderConfig) XXX_Unmarshal(b []byte) error {
  435. return xxx_messageInfo_SenderConfig.Unmarshal(m, b)
  436. }
  437. func (m *SenderConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  438. return xxx_messageInfo_SenderConfig.Marshal(b, m, deterministic)
  439. }
  440. func (m *SenderConfig) XXX_Merge(src proto.Message) {
  441. xxx_messageInfo_SenderConfig.Merge(m, src)
  442. }
  443. func (m *SenderConfig) XXX_Size() int {
  444. return xxx_messageInfo_SenderConfig.Size(m)
  445. }
  446. func (m *SenderConfig) XXX_DiscardUnknown() {
  447. xxx_messageInfo_SenderConfig.DiscardUnknown(m)
  448. }
  449. var xxx_messageInfo_SenderConfig proto.InternalMessageInfo
  450. func (m *SenderConfig) GetVia() *net.IPOrDomain {
  451. if m != nil {
  452. return m.Via
  453. }
  454. return nil
  455. }
  456. func (m *SenderConfig) GetStreamSettings() *internet.StreamConfig {
  457. if m != nil {
  458. return m.StreamSettings
  459. }
  460. return nil
  461. }
  462. func (m *SenderConfig) GetProxySettings() *internet.ProxyConfig {
  463. if m != nil {
  464. return m.ProxySettings
  465. }
  466. return nil
  467. }
  468. func (m *SenderConfig) GetMultiplexSettings() *MultiplexingConfig {
  469. if m != nil {
  470. return m.MultiplexSettings
  471. }
  472. return nil
  473. }
  474. type MultiplexingConfig struct {
  475. // Whether or not Mux is enabled.
  476. Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
  477. // Max number of concurrent connections that one Mux connection can handle.
  478. Concurrency uint32 `protobuf:"varint,2,opt,name=concurrency,proto3" json:"concurrency,omitempty"`
  479. XXX_NoUnkeyedLiteral struct{} `json:"-"`
  480. XXX_unrecognized []byte `json:"-"`
  481. XXX_sizecache int32 `json:"-"`
  482. }
  483. func (m *MultiplexingConfig) Reset() { *m = MultiplexingConfig{} }
  484. func (m *MultiplexingConfig) String() string { return proto.CompactTextString(m) }
  485. func (*MultiplexingConfig) ProtoMessage() {}
  486. func (*MultiplexingConfig) Descriptor() ([]byte, []int) {
  487. return fileDescriptor_b07f45dd938bc1b0, []int{7}
  488. }
  489. func (m *MultiplexingConfig) XXX_Unmarshal(b []byte) error {
  490. return xxx_messageInfo_MultiplexingConfig.Unmarshal(m, b)
  491. }
  492. func (m *MultiplexingConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
  493. return xxx_messageInfo_MultiplexingConfig.Marshal(b, m, deterministic)
  494. }
  495. func (m *MultiplexingConfig) XXX_Merge(src proto.Message) {
  496. xxx_messageInfo_MultiplexingConfig.Merge(m, src)
  497. }
  498. func (m *MultiplexingConfig) XXX_Size() int {
  499. return xxx_messageInfo_MultiplexingConfig.Size(m)
  500. }
  501. func (m *MultiplexingConfig) XXX_DiscardUnknown() {
  502. xxx_messageInfo_MultiplexingConfig.DiscardUnknown(m)
  503. }
  504. var xxx_messageInfo_MultiplexingConfig proto.InternalMessageInfo
  505. func (m *MultiplexingConfig) GetEnabled() bool {
  506. if m != nil {
  507. return m.Enabled
  508. }
  509. return false
  510. }
  511. func (m *MultiplexingConfig) GetConcurrency() uint32 {
  512. if m != nil {
  513. return m.Concurrency
  514. }
  515. return 0
  516. }
  517. func init() {
  518. proto.RegisterType((*InboundConfig)(nil), "v2ray.core.app.proxyman.InboundConfig")
  519. proto.RegisterType((*AllocationStrategy)(nil), "v2ray.core.app.proxyman.AllocationStrategy")
  520. proto.RegisterType((*AllocationStrategy_AllocationStrategyConcurrency)(nil), "v2ray.core.app.proxyman.AllocationStrategy.AllocationStrategyConcurrency")
  521. proto.RegisterType((*AllocationStrategy_AllocationStrategyRefresh)(nil), "v2ray.core.app.proxyman.AllocationStrategy.AllocationStrategyRefresh")
  522. proto.RegisterType((*SniffingConfig)(nil), "v2ray.core.app.proxyman.SniffingConfig")
  523. proto.RegisterType((*ReceiverConfig)(nil), "v2ray.core.app.proxyman.ReceiverConfig")
  524. proto.RegisterType((*InboundHandlerConfig)(nil), "v2ray.core.app.proxyman.InboundHandlerConfig")
  525. proto.RegisterType((*OutboundConfig)(nil), "v2ray.core.app.proxyman.OutboundConfig")
  526. proto.RegisterType((*SenderConfig)(nil), "v2ray.core.app.proxyman.SenderConfig")
  527. proto.RegisterType((*MultiplexingConfig)(nil), "v2ray.core.app.proxyman.MultiplexingConfig")
  528. proto.RegisterEnum("v2ray.core.app.proxyman.KnownProtocols", KnownProtocols_name, KnownProtocols_value)
  529. proto.RegisterEnum("v2ray.core.app.proxyman.AllocationStrategy_Type", AllocationStrategy_Type_name, AllocationStrategy_Type_value)
  530. }
  531. func init() {
  532. proto.RegisterFile("v2ray.com/core/app/proxyman/config.proto", fileDescriptor_b07f45dd938bc1b0)
  533. }
  534. var fileDescriptor_b07f45dd938bc1b0 = []byte{
  535. // 825 bytes of a gzipped FileDescriptorProto
  536. 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x95, 0x4f, 0x6f, 0xdb, 0x36,
  537. 0x18, 0xc6, 0x6b, 0xcb, 0x8d, 0x9d, 0x37, 0x8d, 0xaa, 0xb0, 0x01, 0xaa, 0x79, 0x1b, 0xe0, 0x79,
  538. 0xc3, 0x6a, 0x74, 0x83, 0xd4, 0xba, 0xd8, 0x61, 0xa7, 0x2d, 0x4d, 0x0a, 0x34, 0xdb, 0x82, 0x78,
  539. 0xb4, 0xb1, 0x43, 0xb1, 0x41, 0x60, 0x24, 0x46, 0x23, 0x26, 0x91, 0x02, 0x49, 0xbb, 0xd1, 0x57,
  540. 0xda, 0x79, 0x1f, 0x60, 0xc7, 0x1d, 0xf6, 0xa1, 0x06, 0x89, 0x92, 0xff, 0xd4, 0x56, 0xd6, 0xa0,
  541. 0x37, 0xda, 0x7a, 0xde, 0x9f, 0xde, 0xf7, 0xe1, 0x43, 0x0a, 0x46, 0x8b, 0xb1, 0x24, 0xb9, 0x17,
  542. 0x8a, 0xd4, 0x0f, 0x85, 0xa4, 0x3e, 0xc9, 0x32, 0x3f, 0x93, 0xe2, 0x26, 0x4f, 0x09, 0xf7, 0x43,
  543. 0xc1, 0xaf, 0x59, 0xec, 0x65, 0x52, 0x68, 0x81, 0x1e, 0xd7, 0x4a, 0x49, 0x3d, 0x92, 0x65, 0x5e,
  544. 0xad, 0xea, 0x3f, 0x79, 0x07, 0x11, 0x8a, 0x34, 0x15, 0xdc, 0xe7, 0x54, 0xfb, 0x24, 0x8a, 0x24,
  545. 0x55, 0xca, 0x10, 0xfa, 0x5f, 0x34, 0x0b, 0x33, 0x21, 0x75, 0xa5, 0xf2, 0xde, 0x51, 0x69, 0x49,
  546. 0xb8, 0x2a, 0x9e, 0xfb, 0x8c, 0x6b, 0x2a, 0x0b, 0xf5, 0x7a, 0x5f, 0xfd, 0x67, 0xbb, 0xa9, 0x8a,
  547. 0x4a, 0x46, 0x12, 0x5f, 0xe7, 0x19, 0x8d, 0x82, 0x94, 0x2a, 0x45, 0x62, 0x6a, 0x2a, 0x86, 0x0f,
  548. 0xe1, 0xf0, 0x9c, 0x5f, 0x89, 0x39, 0x8f, 0x4e, 0x4b, 0xd0, 0xf0, 0x6f, 0x0b, 0xd0, 0x49, 0x92,
  549. 0x88, 0x90, 0x68, 0x26, 0xf8, 0x54, 0x4b, 0xa2, 0x69, 0x9c, 0xa3, 0x33, 0xe8, 0x14, 0xe5, 0x6e,
  550. 0x6b, 0xd0, 0x1a, 0xd9, 0xe3, 0x67, 0x5e, 0x83, 0x01, 0xde, 0x76, 0xa9, 0x37, 0xcb, 0x33, 0x8a,
  551. 0xcb, 0x6a, 0xf4, 0x07, 0x1c, 0x84, 0x82, 0x87, 0x73, 0x29, 0x29, 0x0f, 0x73, 0xb7, 0x3d, 0x68,
  552. 0x8d, 0x0e, 0xc6, 0xe7, 0x77, 0x81, 0x6d, 0xff, 0x75, 0xba, 0x02, 0xe2, 0x75, 0x3a, 0x0a, 0xa0,
  553. 0x2b, 0xe9, 0xb5, 0xa4, 0xea, 0x77, 0xd7, 0x2a, 0x5f, 0xf4, 0xea, 0xc3, 0x5e, 0x84, 0x0d, 0x0c,
  554. 0xd7, 0xd4, 0xfe, 0x37, 0xf0, 0xe9, 0xad, 0xed, 0xa0, 0x63, 0xb8, 0xbf, 0x20, 0xc9, 0xdc, 0xb8,
  555. 0x76, 0x88, 0xcd, 0x8f, 0xfe, 0x73, 0xf8, 0xa8, 0x11, 0xbe, 0xbb, 0x64, 0xf8, 0x35, 0x74, 0x0a,
  556. 0x17, 0x11, 0xc0, 0xde, 0x49, 0xf2, 0x96, 0xe4, 0xca, 0xb9, 0x57, 0xac, 0x31, 0xe1, 0x91, 0x48,
  557. 0x9d, 0x16, 0x7a, 0x00, 0xbd, 0x57, 0x37, 0x45, 0x20, 0x48, 0xe2, 0xb4, 0x87, 0xbf, 0x81, 0x3d,
  558. 0xe5, 0xec, 0xfa, 0x9a, 0xf1, 0xd8, 0x6c, 0x2a, 0x72, 0xa1, 0x4b, 0x39, 0xb9, 0x4a, 0x68, 0x54,
  559. 0x72, 0x7b, 0xb8, 0xfe, 0x89, 0x9e, 0xc3, 0x71, 0x44, 0x95, 0x66, 0xbc, 0xec, 0x26, 0x10, 0x0b,
  560. 0x2a, 0x25, 0x8b, 0xa8, 0xdb, 0x1e, 0x58, 0xa3, 0x7d, 0xfc, 0x68, 0xed, 0xd9, 0x65, 0xf5, 0x68,
  561. 0xf8, 0x57, 0x07, 0x6c, 0x4c, 0x43, 0xca, 0x16, 0x54, 0x56, 0xfc, 0xef, 0x00, 0x8a, 0x54, 0x06,
  562. 0x92, 0xf0, 0xd8, 0xb4, 0x7e, 0x30, 0x1e, 0xac, 0xbb, 0x6d, 0x82, 0xe8, 0x71, 0xaa, 0xbd, 0x89,
  563. 0x90, 0x1a, 0x17, 0x3a, 0xbc, 0x9f, 0xd5, 0x4b, 0xf4, 0x2d, 0xec, 0x25, 0x4c, 0x69, 0xca, 0xab,
  564. 0x4c, 0x7c, 0xd6, 0x50, 0x7c, 0x3e, 0xb9, 0x94, 0x67, 0x22, 0x25, 0x8c, 0xe3, 0xaa, 0x00, 0xfd,
  565. 0x0a, 0x8f, 0xc8, 0xd2, 0xce, 0x40, 0x55, 0x7e, 0x56, 0x5b, 0xfe, 0xd5, 0x1d, 0xb6, 0x1c, 0x23,
  566. 0xb2, 0x9d, 0xfb, 0x19, 0x3c, 0x54, 0x5a, 0x52, 0x92, 0x06, 0x8a, 0x6a, 0xcd, 0x78, 0xac, 0xdc,
  567. 0xce, 0x36, 0x79, 0x79, 0x2e, 0xbd, 0xfa, 0x5c, 0x7a, 0xd3, 0xb2, 0xca, 0xf8, 0x83, 0x6d, 0xc3,
  568. 0x98, 0x56, 0x08, 0xf4, 0x3d, 0x7c, 0x22, 0x8d, 0x83, 0x81, 0x90, 0x2c, 0x66, 0x9c, 0x24, 0xc1,
  569. 0x9a, 0xd5, 0xee, 0xfd, 0x72, 0x93, 0xfa, 0x95, 0xe6, 0xb2, 0x92, 0x9c, 0xad, 0x14, 0x45, 0x5f,
  570. 0x51, 0xe9, 0xc3, 0x6a, 0xcb, 0xba, 0x03, 0x6b, 0x64, 0x8f, 0x9f, 0x34, 0x4e, 0xfc, 0x23, 0x17,
  571. 0x6f, 0xf9, 0xa4, 0x38, 0xf5, 0xa1, 0x48, 0xd4, 0xcb, 0xb6, 0xdb, 0xc2, 0xb6, 0x61, 0xd4, 0x5b,
  572. 0x8b, 0x66, 0x70, 0xa4, 0xaa, 0xe4, 0xac, 0xe6, 0xed, 0x95, 0xf3, 0x36, 0x73, 0x37, 0xb3, 0x86,
  573. 0x9d, 0x9a, 0x50, 0x4f, 0xfb, 0x43, 0xa7, 0xb7, 0xe7, 0x74, 0x87, 0xff, 0xb6, 0xe0, 0xb8, 0xba,
  574. 0x6a, 0x5e, 0x13, 0x1e, 0x25, 0xcb, 0xf0, 0x38, 0x60, 0x69, 0x12, 0x97, 0xa9, 0xd9, 0xc7, 0xc5,
  575. 0x12, 0x4d, 0xe1, 0xa8, 0x1a, 0x5d, 0xae, 0xda, 0x30, 0xc1, 0xf8, 0x72, 0x47, 0x30, 0xcc, 0xf5,
  576. 0x56, 0xde, 0x33, 0xd1, 0x85, 0xb9, 0xdd, 0xb0, 0x53, 0x03, 0x96, 0x9e, 0x5f, 0x80, 0x5d, 0xb6,
  577. 0xbc, 0x22, 0x5a, 0x77, 0x22, 0x1e, 0x96, 0xd5, 0x35, 0x6e, 0xe8, 0x80, 0x7d, 0x39, 0xd7, 0xeb,
  578. 0x37, 0xe7, 0x3f, 0x6d, 0x78, 0x30, 0xa5, 0x3c, 0x5a, 0x0e, 0xf6, 0x02, 0xac, 0x05, 0x23, 0xd5,
  579. 0x71, 0x78, 0x8f, 0x44, 0x17, 0xea, 0x5d, 0x81, 0x6b, 0x7f, 0x78, 0xe0, 0x7e, 0x6e, 0x18, 0xfe,
  580. 0xe9, 0xff, 0x40, 0x27, 0x45, 0x51, 0xc5, 0xdc, 0x34, 0x00, 0xbd, 0x01, 0x94, 0xce, 0x13, 0xcd,
  581. 0xb2, 0x84, 0xde, 0xdc, 0x7a, 0x38, 0x36, 0xc2, 0x72, 0x51, 0x97, 0xac, 0x02, 0x73, 0xb4, 0xc4,
  582. 0x2c, 0xcd, 0x9d, 0x00, 0xda, 0x16, 0xde, 0x72, 0x8b, 0x0d, 0xb6, 0xbf, 0x2b, 0x87, 0x1b, 0x1f,
  583. 0x83, 0xa7, 0x9f, 0x83, 0xbd, 0x99, 0x7f, 0xd4, 0x83, 0xce, 0xeb, 0xd9, 0x6c, 0xe2, 0xdc, 0x43,
  584. 0x5d, 0xb0, 0x66, 0x3f, 0x4d, 0x9d, 0xd6, 0xcb, 0x53, 0xf8, 0x38, 0x14, 0x69, 0x53, 0xef, 0x93,
  585. 0xd6, 0x9b, 0x5e, 0xbd, 0xfe, 0xb3, 0xfd, 0xf8, 0x97, 0x31, 0x26, 0xb9, 0x77, 0x5a, 0xa8, 0x4e,
  586. 0xb2, 0xcc, 0x38, 0x95, 0x12, 0x7e, 0xb5, 0x57, 0x7e, 0x58, 0x5f, 0xfc, 0x17, 0x00, 0x00, 0xff,
  587. 0xff, 0x4d, 0xe1, 0x89, 0x0d, 0x4e, 0x08, 0x00, 0x00,
  588. }