xray-typed 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.md +0 -0
  2. package/dist/config/api.d.ts +15 -0
  3. package/dist/config/api.d.ts.map +1 -0
  4. package/dist/config/api.js +3 -0
  5. package/dist/config/api.js.map +1 -0
  6. package/dist/config/dns.d.ts +65 -0
  7. package/dist/config/dns.d.ts.map +1 -0
  8. package/dist/config/dns.js +3 -0
  9. package/dist/config/dns.js.map +1 -0
  10. package/dist/config/fakedns.d.ts +13 -0
  11. package/dist/config/fakedns.d.ts.map +1 -0
  12. package/dist/config/fakedns.js +3 -0
  13. package/dist/config/fakedns.js.map +1 -0
  14. package/dist/config/inbound.d.ts +36 -0
  15. package/dist/config/inbound.d.ts.map +1 -0
  16. package/dist/config/inbound.js +3 -0
  17. package/dist/config/inbound.js.map +1 -0
  18. package/dist/config/index.d.ts +15 -0
  19. package/dist/config/index.d.ts.map +1 -0
  20. package/dist/config/index.js +31 -0
  21. package/dist/config/index.js.map +1 -0
  22. package/dist/config/log.d.ts +20 -0
  23. package/dist/config/log.d.ts.map +1 -0
  24. package/dist/config/log.js +3 -0
  25. package/dist/config/log.js.map +1 -0
  26. package/dist/config/metrics.d.ts +12 -0
  27. package/dist/config/metrics.d.ts.map +1 -0
  28. package/dist/config/metrics.js +3 -0
  29. package/dist/config/metrics.js.map +1 -0
  30. package/dist/config/mux.d.ts +17 -0
  31. package/dist/config/mux.d.ts.map +1 -0
  32. package/dist/config/mux.js +3 -0
  33. package/dist/config/mux.js.map +1 -0
  34. package/dist/config/observatory.d.ts +34 -0
  35. package/dist/config/observatory.d.ts.map +1 -0
  36. package/dist/config/observatory.js +3 -0
  37. package/dist/config/observatory.js.map +1 -0
  38. package/dist/config/outbound.d.ts +48 -0
  39. package/dist/config/outbound.d.ts.map +1 -0
  40. package/dist/config/outbound.js +3 -0
  41. package/dist/config/outbound.js.map +1 -0
  42. package/dist/config/policy.d.ts +40 -0
  43. package/dist/config/policy.d.ts.map +1 -0
  44. package/dist/config/policy.js +3 -0
  45. package/dist/config/policy.js.map +1 -0
  46. package/dist/config/reverse.d.ts +24 -0
  47. package/dist/config/reverse.d.ts.map +1 -0
  48. package/dist/config/reverse.js +3 -0
  49. package/dist/config/reverse.js.map +1 -0
  50. package/dist/config/routing.d.ts +84 -0
  51. package/dist/config/routing.d.ts.map +1 -0
  52. package/dist/config/routing.js +3 -0
  53. package/dist/config/routing.js.map +1 -0
  54. package/dist/config/sniffing.d.ts +19 -0
  55. package/dist/config/sniffing.d.ts.map +1 -0
  56. package/dist/config/sniffing.js +3 -0
  57. package/dist/config/sniffing.js.map +1 -0
  58. package/dist/config/stats.d.ts +9 -0
  59. package/dist/config/stats.d.ts.map +1 -0
  60. package/dist/config/stats.js +3 -0
  61. package/dist/config/stats.js.map +1 -0
  62. package/dist/index.d.ts +43 -0
  63. package/dist/index.d.ts.map +1 -0
  64. package/dist/index.js +3 -0
  65. package/dist/index.js.map +1 -0
  66. package/dist/proxies/blackhole.d.ts +15 -0
  67. package/dist/proxies/blackhole.d.ts.map +1 -0
  68. package/dist/proxies/blackhole.js +3 -0
  69. package/dist/proxies/blackhole.js.map +1 -0
  70. package/dist/proxies/dns.d.ts +22 -0
  71. package/dist/proxies/dns.d.ts.map +1 -0
  72. package/dist/proxies/dns.js +3 -0
  73. package/dist/proxies/dns.js.map +1 -0
  74. package/dist/proxies/dokodemo.d.ts +20 -0
  75. package/dist/proxies/dokodemo.d.ts.map +1 -0
  76. package/dist/proxies/dokodemo.js +3 -0
  77. package/dist/proxies/dokodemo.js.map +1 -0
  78. package/dist/proxies/freedom.d.ts +47 -0
  79. package/dist/proxies/freedom.d.ts.map +1 -0
  80. package/dist/proxies/freedom.js +3 -0
  81. package/dist/proxies/freedom.js.map +1 -0
  82. package/dist/proxies/http.d.ts +57 -0
  83. package/dist/proxies/http.d.ts.map +1 -0
  84. package/dist/proxies/http.js +9 -0
  85. package/dist/proxies/http.js.map +1 -0
  86. package/dist/proxies/index.d.ts +13 -0
  87. package/dist/proxies/index.d.ts.map +1 -0
  88. package/dist/proxies/index.js +29 -0
  89. package/dist/proxies/index.js.map +1 -0
  90. package/dist/proxies/loopback.d.ts +11 -0
  91. package/dist/proxies/loopback.d.ts.map +1 -0
  92. package/dist/proxies/loopback.js +3 -0
  93. package/dist/proxies/loopback.js.map +1 -0
  94. package/dist/proxies/shadowsocks.d.ts +74 -0
  95. package/dist/proxies/shadowsocks.d.ts.map +1 -0
  96. package/dist/proxies/shadowsocks.js +9 -0
  97. package/dist/proxies/shadowsocks.js.map +1 -0
  98. package/dist/proxies/socks.d.ts +60 -0
  99. package/dist/proxies/socks.d.ts.map +1 -0
  100. package/dist/proxies/socks.js +9 -0
  101. package/dist/proxies/socks.js.map +1 -0
  102. package/dist/proxies/trojan.d.ts +67 -0
  103. package/dist/proxies/trojan.d.ts.map +1 -0
  104. package/dist/proxies/trojan.js +9 -0
  105. package/dist/proxies/trojan.js.map +1 -0
  106. package/dist/proxies/vless.d.ts +96 -0
  107. package/dist/proxies/vless.d.ts.map +1 -0
  108. package/dist/proxies/vless.js +9 -0
  109. package/dist/proxies/vless.js.map +1 -0
  110. package/dist/proxies/vmess.d.ts +68 -0
  111. package/dist/proxies/vmess.d.ts.map +1 -0
  112. package/dist/proxies/vmess.js +9 -0
  113. package/dist/proxies/vmess.js.map +1 -0
  114. package/dist/proxies/wireguard.d.ts +36 -0
  115. package/dist/proxies/wireguard.d.ts.map +1 -0
  116. package/dist/proxies/wireguard.js +3 -0
  117. package/dist/proxies/wireguard.js.map +1 -0
  118. package/dist/transport/common.d.ts +25 -0
  119. package/dist/transport/common.d.ts.map +1 -0
  120. package/dist/transport/common.js +6 -0
  121. package/dist/transport/common.js.map +1 -0
  122. package/dist/transport/finalmask.d.ts +79 -0
  123. package/dist/transport/finalmask.d.ts.map +1 -0
  124. package/dist/transport/finalmask.js +3 -0
  125. package/dist/transport/finalmask.js.map +1 -0
  126. package/dist/transport/grpc.d.ts +24 -0
  127. package/dist/transport/grpc.d.ts.map +1 -0
  128. package/dist/transport/grpc.js +3 -0
  129. package/dist/transport/grpc.js.map +1 -0
  130. package/dist/transport/http.d.ts +21 -0
  131. package/dist/transport/http.d.ts.map +1 -0
  132. package/dist/transport/http.js +3 -0
  133. package/dist/transport/http.js.map +1 -0
  134. package/dist/transport/httpupgrade.d.ts +16 -0
  135. package/dist/transport/httpupgrade.d.ts.map +1 -0
  136. package/dist/transport/httpupgrade.js +3 -0
  137. package/dist/transport/httpupgrade.js.map +1 -0
  138. package/dist/transport/hysteria.d.ts +45 -0
  139. package/dist/transport/hysteria.d.ts.map +1 -0
  140. package/dist/transport/hysteria.js +3 -0
  141. package/dist/transport/hysteria.js.map +1 -0
  142. package/dist/transport/index.d.ts +16 -0
  143. package/dist/transport/index.d.ts.map +1 -0
  144. package/dist/transport/index.js +30 -0
  145. package/dist/transport/index.js.map +1 -0
  146. package/dist/transport/kcp.d.ts +31 -0
  147. package/dist/transport/kcp.d.ts.map +1 -0
  148. package/dist/transport/kcp.js +3 -0
  149. package/dist/transport/kcp.js.map +1 -0
  150. package/dist/transport/quic.d.ts +20 -0
  151. package/dist/transport/quic.d.ts.map +1 -0
  152. package/dist/transport/quic.js +3 -0
  153. package/dist/transport/quic.js.map +1 -0
  154. package/dist/transport/reality.d.ts +60 -0
  155. package/dist/transport/reality.d.ts.map +1 -0
  156. package/dist/transport/reality.js +3 -0
  157. package/dist/transport/reality.js.map +1 -0
  158. package/dist/transport/sockopt.d.ts +74 -0
  159. package/dist/transport/sockopt.d.ts.map +1 -0
  160. package/dist/transport/sockopt.js +3 -0
  161. package/dist/transport/sockopt.js.map +1 -0
  162. package/dist/transport/splithttp.d.ts +81 -0
  163. package/dist/transport/splithttp.d.ts.map +1 -0
  164. package/dist/transport/splithttp.js +3 -0
  165. package/dist/transport/splithttp.js.map +1 -0
  166. package/dist/transport/stream.d.ts +57 -0
  167. package/dist/transport/stream.d.ts.map +1 -0
  168. package/dist/transport/stream.js +3 -0
  169. package/dist/transport/stream.js.map +1 -0
  170. package/dist/transport/tcp.d.ts +42 -0
  171. package/dist/transport/tcp.d.ts.map +1 -0
  172. package/dist/transport/tcp.js +3 -0
  173. package/dist/transport/tcp.js.map +1 -0
  174. package/dist/transport/tls.d.ts +69 -0
  175. package/dist/transport/tls.d.ts.map +1 -0
  176. package/dist/transport/tls.js +3 -0
  177. package/dist/transport/tls.js.map +1 -0
  178. package/dist/transport/websocket.d.ts +18 -0
  179. package/dist/transport/websocket.d.ts.map +1 -0
  180. package/dist/transport/websocket.js +3 -0
  181. package/dist/transport/websocket.js.map +1 -0
  182. package/dist/xray-config.d.ts +76 -0
  183. package/dist/xray-config.d.ts.map +1 -0
  184. package/dist/xray-config.js +3 -0
  185. package/dist/xray-config.js.map +1 -0
  186. package/package.json +30 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.d.ts","sourceRoot":"","sources":["../../src/config/routing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,wCAAwC;IACxC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IACxB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,yEAAyE;IACzE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,oEAAoE;IACpE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,2BAA2B;IAC3B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAC9B,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC1B,mCAAmC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAC9B,qBAAqB;IACrB,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,qBAAqB,GAC3B,QAAQ,GACR,WAAW,GACX,YAAY,GACZ,WAAW,CAAC;AAElB,MAAM,MAAM,qBAAqB,GAC3B,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,WAAW,GACX,WAAW,GACX,SAAS,GACT,WAAW,GACX,WAAW,GACX,aAAa,GACb,aAAa,CAAC;AAEpB,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/config/routing.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Sniffing configuration for Xray-Core inbounds.
3
+ *
4
+ * @see https://xtls.github.io/en/config/inbound.html#sniffingobject
5
+ */
6
+ export interface SniffingConfig {
7
+ /** Enable traffic sniffing. */
8
+ enabled?: boolean;
9
+ /** Override destination by sniffed protocol. */
10
+ destOverride?: SniffDestOverride[];
11
+ /** Domains to exclude from sniffing override. */
12
+ domainsExcluded?: string[];
13
+ /** Only use metadata for sniffing (don't inspect payload). */
14
+ metadataOnly?: boolean;
15
+ /** Only use sniffing result for routing, not destination override. */
16
+ routeOnly?: boolean;
17
+ }
18
+ export type SniffDestOverride = 'http' | 'tls' | 'quic' | 'fakedns' | 'fakedns+others';
19
+ //# sourceMappingURL=sniffing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sniffing.d.ts","sourceRoot":"","sources":["../../src/config/sniffing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC3B,+BAA+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GACvB,MAAM,GACN,KAAK,GACL,MAAM,GACN,SAAS,GACT,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=sniffing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sniffing.js","sourceRoot":"","sources":["../../src/config/sniffing.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Stats configuration for Xray-Core.
3
+ * Enables statistics tracking when present (even as empty object).
4
+ *
5
+ * @see https://xtls.github.io/en/config/stats.html
6
+ */
7
+ export interface StatsConfig {
8
+ }
9
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../src/config/stats.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,WAAW;CAE3B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../src/config/stats.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ export { XrayConfig } from './xray-config';
2
+ export { LogConfig, LogLevel, MaskAddressMode, } from './config/log';
3
+ export { APIConfig, APIService, } from './config/api';
4
+ export { MetricsConfig, } from './config/metrics';
5
+ export { StatsConfig, } from './config/stats';
6
+ export { DNSConfig, NameServerConfig, DNSQueryStrategy, } from './config/dns';
7
+ export { RoutingConfig, RoutingRule, WebhookRuleConfig, BalancingRule, BalancingStrategy, BalancingStrategyType, RoutingDomainStrategy, NetworkType, SniffProtocol, } from './config/routing';
8
+ export { PolicyConfig, LevelPolicy, SystemPolicy, } from './config/policy';
9
+ export { ReverseConfig, BridgeConfig, PortalConfig, } from './config/reverse';
10
+ export { FakeDNSConfig, FakeDNSPoolConfig, } from './config/fakedns';
11
+ export { ObservatoryConfig, BurstObservatoryConfig, HealthCheckSettings, } from './config/observatory';
12
+ export { SniffingConfig, SniffDestOverride, } from './config/sniffing';
13
+ export { MuxConfig, XudpProxyUDP443, } from './config/mux';
14
+ export { InboundConfig, InboundSettings, InboundProtocol, } from './config/inbound';
15
+ export { OutboundConfig, OutboundSettings, OutboundProtocol, ProxySettings, } from './config/outbound';
16
+ export { TransportProtocol, SecurityType, HeaderType, Int32Range, Bandwidth, } from './transport/common';
17
+ export { StreamSettingsConfig } from './transport/stream';
18
+ export { TCPConfig, TCPHeaderNone, TCPHeaderHTTP, TCPHTTPRequest, TCPHTTPResponse } from './transport/tcp';
19
+ export { KCPConfig, KCPHeader } from './transport/kcp';
20
+ export { WebSocketConfig } from './transport/websocket';
21
+ export { HTTPTransportConfig } from './transport/http';
22
+ export { GRPCConfig } from './transport/grpc';
23
+ export { QUICConfig, QUICHeader, QUICSecurity } from './transport/quic';
24
+ export { HTTPUpgradeConfig } from './transport/httpupgrade';
25
+ export { SplitHTTPConfig, XmuxConfig, SplitHTTPMode, } from './transport/splithttp';
26
+ export { HysteriaConfig, MasqueradeConfig, MasqueradeType, } from './transport/hysteria';
27
+ export { TLSConfig, TLSCertConfig, CertificateUsage, TLSFingerprint, } from './transport/tls';
28
+ export { REALITYConfig, LimitFallbackConfig, } from './transport/reality';
29
+ export { SocketConfig, CustomSockoptConfig, HappyEyeballsConfig, TProxyMode, SockoptDomainStrategy, } from './transport/sockopt';
30
+ export { FinalMaskConfig, MaskRule, FragmentMaskSettings, NoiseMaskSettings, NoiseItem as MaskNoiseItem, QuicParamsConfig, UdpHopConfig, } from './transport/finalmask';
31
+ export { VLessInboundConfig, VLessClient, VLessInboundFallback, VLessOutboundConfig, VLessOutboundServer, VLessOutboundUser, VLessInboundFlow, VLessFlow, } from './proxies/vless';
32
+ export { VMessInboundConfig, VMessInboundUser, VMessDefaultConfig, VMessOutboundConfig, VMessOutboundServer, VMessOutboundUser, VMessSecurity, } from './proxies/vmess';
33
+ export { TrojanInboundConfig, TrojanUser, TrojanInboundFallback, TrojanOutboundConfig, TrojanOutboundServer, } from './proxies/trojan';
34
+ export { ShadowsocksInboundConfig, ShadowsocksUser, ShadowsocksOutboundConfig, ShadowsocksServer, ShadowsocksMethod, } from './proxies/shadowsocks';
35
+ export { SocksInboundConfig, SocksAccount, SocksOutboundConfig, SocksOutboundServer, SocksOutboundUser, SocksAuthType, } from './proxies/socks';
36
+ export { HTTPInboundConfig, HTTPAccount, HTTPOutboundConfig, HTTPOutboundServer, HTTPOutboundUser, } from './proxies/http';
37
+ export { FreedomOutboundConfig, FragmentConfig, NoiseConfig, NoiseType, FreedomDomainStrategy, } from './proxies/freedom';
38
+ export { BlackholeOutboundConfig, BlackholeResponse, BlackholeResponseType, } from './proxies/blackhole';
39
+ export { DNSOutboundConfig, DNSOutboundNetwork, DNSNonIPQuery, } from './proxies/dns';
40
+ export { DokodemoInboundConfig, } from './proxies/dokodemo';
41
+ export { WireGuardOutboundConfig, WireGuardPeer, } from './proxies/wireguard';
42
+ export { LoopbackOutboundConfig, } from './proxies/loopback';
43
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Blackhole outbound proxy configuration (blocks all traffic).
3
+ *
4
+ * @see https://xtls.github.io/en/config/outbounds/blackhole.html
5
+ */
6
+ export interface BlackholeOutboundConfig {
7
+ /** Response configuration. */
8
+ response?: BlackholeResponse;
9
+ }
10
+ export interface BlackholeResponse {
11
+ /** Response type. "none" drops silently, "http" returns a 403 page. */
12
+ type?: BlackholeResponseType;
13
+ }
14
+ export type BlackholeResponseType = 'none' | 'http';
15
+ //# sourceMappingURL=blackhole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blackhole.d.ts","sourceRoot":"","sources":["../../src/proxies/blackhole.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,iBAAiB;IAC9B,uEAAuE;IACvE,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAED,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=blackhole.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blackhole.js","sourceRoot":"","sources":["../../src/proxies/blackhole.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * DNS outbound proxy configuration.
3
+ *
4
+ * @see https://xtls.github.io/en/config/outbounds/dns.html
5
+ */
6
+ export interface DNSOutboundConfig {
7
+ /** Network type for DNS queries. */
8
+ network?: DNSOutboundNetwork;
9
+ /** DNS server address. */
10
+ address?: string;
11
+ /** DNS server port. */
12
+ port?: number;
13
+ /** User level for policy. */
14
+ userLevel?: number;
15
+ /** How to handle non-IP DNS queries (e.g. PTR, SRV). */
16
+ nonIPQuery?: DNSNonIPQuery;
17
+ /** Block specific DNS query types by QTYPE number. */
18
+ blockTypes?: number[];
19
+ }
20
+ export type DNSOutboundNetwork = 'tcp' | 'udp';
21
+ export type DNSNonIPQuery = 'drop' | 'skip' | 'reject';
22
+ //# sourceMappingURL=dns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns.d.ts","sourceRoot":"","sources":["../../src/proxies/dns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B,oCAAoC;IACpC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,KAAK,CAAC;AAE/C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/proxies/dns.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Dokodemo-door inbound proxy configuration (arbitrary port forwarding).
3
+ *
4
+ * @see https://xtls.github.io/en/config/inbounds/dokodemo.html
5
+ */
6
+ export interface DokodemoInboundConfig {
7
+ /** Target address to forward traffic to. */
8
+ address?: string;
9
+ /** Target port to forward traffic to. */
10
+ port?: number;
11
+ /** Port mapping (key: incoming port range, value: "host:port"). */
12
+ portMap?: Record<string, string>;
13
+ /** Network type filter ("tcp", "udp", "tcp,udp"). */
14
+ network?: string;
15
+ /** Follow system redirects (for transparent proxy). */
16
+ followRedirect?: boolean;
17
+ /** User level for policy. */
18
+ userLevel?: number;
19
+ }
20
+ //# sourceMappingURL=dokodemo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dokodemo.d.ts","sourceRoot":"","sources":["../../src/proxies/dokodemo.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=dokodemo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dokodemo.js","sourceRoot":"","sources":["../../src/proxies/dokodemo.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import { Int32Range } from '../transport/common';
2
+ /**
3
+ * Freedom outbound proxy configuration (direct connection).
4
+ *
5
+ * @see https://xtls.github.io/en/config/outbounds/freedom.html
6
+ */
7
+ export interface FreedomOutboundConfig {
8
+ /** Target strategy. */
9
+ targetStrategy?: string;
10
+ /** Domain resolution strategy. */
11
+ domainStrategy?: FreedomDomainStrategy;
12
+ /** Override destination address (format: "addr:port"). */
13
+ redirect?: string;
14
+ /** User level for policy. */
15
+ userLevel?: number;
16
+ /** Packet fragmentation settings for anti-censorship. */
17
+ fragment?: FragmentConfig;
18
+ /** Single noise configuration (legacy). */
19
+ noise?: NoiseConfig;
20
+ /** Multiple noise configurations. */
21
+ noises?: NoiseConfig[];
22
+ /** Send PROXY protocol header to destination (0 = disabled, 1 or 2). */
23
+ proxyProtocol?: number;
24
+ }
25
+ export interface FragmentConfig {
26
+ /** Which packets to fragment ("tlshello", "1-3", etc.). */
27
+ packets?: string;
28
+ /** Fragment length range in bytes (e.g. "100-200"). */
29
+ length?: Int32Range;
30
+ /** Interval between fragments in ms (e.g. "10-20"). */
31
+ interval?: Int32Range;
32
+ /** Maximum number of splits (e.g. "1-3"). */
33
+ maxSplit?: Int32Range;
34
+ }
35
+ export interface NoiseConfig {
36
+ /** Noise packet type (e.g. "rand", "str", "base64"). */
37
+ type?: NoiseType;
38
+ /** Noise packet content/pattern. */
39
+ packet?: string;
40
+ /** Delay range in ms before sending noise (e.g. "10-50"). */
41
+ delay?: Int32Range;
42
+ /** When to apply noise (e.g. "pre", "post", "both"). */
43
+ applyTo?: string;
44
+ }
45
+ export type NoiseType = 'rand' | 'str' | 'base64';
46
+ export type FreedomDomainStrategy = 'AsIs' | 'UseIP' | 'UseIPv4' | 'UseIPv6' | 'UseIPv4v6' | 'UseIPv6v4' | 'ForceIP' | 'ForceIPv4' | 'ForceIPv6' | 'ForceIPv4v6' | 'ForceIPv6v4';
47
+ //# sourceMappingURL=freedom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"freedom.d.ts","sourceRoot":"","sources":["../../src/proxies/freedom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,uBAAuB;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,2CAA2C;IAC3C,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,qCAAqC;IACrC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC3B,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IACxB,wDAAwD;IACxD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAElD,MAAM,MAAM,qBAAqB,GAC3B,MAAM,GACN,OAAO,GACP,SAAS,GACT,SAAS,GACT,WAAW,GACX,WAAW,GACX,SAAS,GACT,WAAW,GACX,WAAW,GACX,aAAa,GACb,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=freedom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"freedom.js","sourceRoot":"","sources":["../../src/proxies/freedom.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * HTTP proxy protocol configuration.
3
+ *
4
+ * @see https://xtls.github.io/en/config/inbounds/http.html
5
+ * @see https://xtls.github.io/en/config/outbounds/http.html
6
+ */
7
+ export interface HTTPInboundConfig {
8
+ /** User accounts for authentication. */
9
+ accounts?: HTTPAccount[];
10
+ /** Allow transparent proxying (CONNECT + plain HTTP). */
11
+ allowTransparent?: boolean;
12
+ /** User level for policy. */
13
+ userLevel?: number;
14
+ }
15
+ export interface HTTPAccount {
16
+ /** Username. */
17
+ user?: string;
18
+ /** Password. */
19
+ pass?: string;
20
+ }
21
+ export interface HTTPOutboundConfig {
22
+ /** Server list. */
23
+ servers?: HTTPOutboundServer[];
24
+ /** Server address (flat format). */
25
+ address?: string;
26
+ /** Server port (flat format). */
27
+ port?: number;
28
+ /** User level (flat format). */
29
+ level?: number;
30
+ /** User email (flat format). */
31
+ email?: string;
32
+ /** Username (flat format). */
33
+ user?: string;
34
+ /** Password (flat format). */
35
+ pass?: string;
36
+ /** Custom HTTP headers. */
37
+ headers?: Record<string, string>;
38
+ }
39
+ export interface HTTPOutboundServer {
40
+ /** Server address. */
41
+ address?: string;
42
+ /** Server port. */
43
+ port?: number;
44
+ /** User list for authentication. */
45
+ users?: HTTPOutboundUser[];
46
+ }
47
+ export interface HTTPOutboundUser {
48
+ /** Username. */
49
+ user?: string;
50
+ /** Password. */
51
+ pass?: string;
52
+ /** User level for policy. */
53
+ level?: number;
54
+ /** User email for stats. */
55
+ email?: string;
56
+ }
57
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/proxies/http.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,iBAAiB;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,kBAAkB;IAC/B,mBAAmB;IACnB,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAG/B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IAC/B,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC7B,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * HTTP proxy protocol configuration.
4
+ *
5
+ * @see https://xtls.github.io/en/config/inbounds/http.html
6
+ * @see https://xtls.github.io/en/config/outbounds/http.html
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/proxies/http.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,13 @@
1
+ export * from './vless';
2
+ export * from './vmess';
3
+ export * from './trojan';
4
+ export * from './shadowsocks';
5
+ export * from './socks';
6
+ export * from './http';
7
+ export * from './freedom';
8
+ export * from './blackhole';
9
+ export * from './dns';
10
+ export * from './dokodemo';
11
+ export * from './wireguard';
12
+ export * from './loopback';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/proxies/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./vless"), exports);
18
+ __exportStar(require("./vmess"), exports);
19
+ __exportStar(require("./trojan"), exports);
20
+ __exportStar(require("./shadowsocks"), exports);
21
+ __exportStar(require("./socks"), exports);
22
+ __exportStar(require("./http"), exports);
23
+ __exportStar(require("./freedom"), exports);
24
+ __exportStar(require("./blackhole"), exports);
25
+ __exportStar(require("./dns"), exports);
26
+ __exportStar(require("./dokodemo"), exports);
27
+ __exportStar(require("./wireguard"), exports);
28
+ __exportStar(require("./loopback"), exports);
29
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/proxies/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,gDAA8B;AAC9B,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,8CAA4B;AAC5B,wCAAsB;AACtB,6CAA2B;AAC3B,8CAA4B;AAC5B,6CAA2B"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Loopback outbound proxy configuration.
3
+ * Routes traffic back to an inbound by tag.
4
+ *
5
+ * @see https://xtls.github.io/en/config/outbounds/loopback.html
6
+ */
7
+ export interface LoopbackOutboundConfig {
8
+ /** Tag of the inbound to loop traffic back to. */
9
+ inboundTag?: string;
10
+ }
11
+ //# sourceMappingURL=loopback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopback.d.ts","sourceRoot":"","sources":["../../src/proxies/loopback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACnC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=loopback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loopback.js","sourceRoot":"","sources":["../../src/proxies/loopback.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Shadowsocks proxy protocol configuration.
3
+ *
4
+ * @see https://xtls.github.io/en/config/inbounds/shadowsocks.html
5
+ * @see https://xtls.github.io/en/config/outbounds/shadowsocks.html
6
+ */
7
+ export interface ShadowsocksInboundConfig {
8
+ /** Encryption method. */
9
+ method?: ShadowsocksMethod;
10
+ /** Server password. */
11
+ password?: string;
12
+ /** User level for policy. */
13
+ level?: number;
14
+ /** User email for stats. */
15
+ email?: string;
16
+ /** Multi-user client list (overrides top-level method/password). */
17
+ clients?: ShadowsocksUser[];
18
+ /** Network type filter ("tcp", "udp", "tcp,udp"). */
19
+ network?: string;
20
+ }
21
+ export interface ShadowsocksUser {
22
+ /** Encryption method for this user. */
23
+ method?: ShadowsocksMethod;
24
+ /** User password. */
25
+ password?: string;
26
+ /** User level for policy. */
27
+ level?: number;
28
+ /** User email for stats. */
29
+ email?: string;
30
+ /** User address override. */
31
+ address?: string;
32
+ /** User port override. */
33
+ port?: number;
34
+ }
35
+ export interface ShadowsocksOutboundConfig {
36
+ /** Server list. */
37
+ servers?: ShadowsocksServer[];
38
+ /** Server address (flat format). */
39
+ address?: string;
40
+ /** Server port (flat format). */
41
+ port?: number;
42
+ /** User level (flat format). */
43
+ level?: number;
44
+ /** User email (flat format). */
45
+ email?: string;
46
+ /** Encryption method (flat format). */
47
+ method?: ShadowsocksMethod;
48
+ /** Password (flat format). */
49
+ password?: string;
50
+ /** Enable UDP over TCP. */
51
+ uot?: boolean;
52
+ /** UoT version (1 or 2). */
53
+ uotVersion?: number;
54
+ }
55
+ export interface ShadowsocksServer {
56
+ /** Server address. */
57
+ address?: string;
58
+ /** Server port. */
59
+ port?: number;
60
+ /** User level for policy. */
61
+ level?: number;
62
+ /** User email for stats. */
63
+ email?: string;
64
+ /** Encryption method. */
65
+ method?: ShadowsocksMethod;
66
+ /** Password. */
67
+ password?: string;
68
+ /** Enable UDP over TCP. */
69
+ uot?: boolean;
70
+ /** UoT version (1 or 2). */
71
+ uotVersion?: number;
72
+ }
73
+ export type ShadowsocksMethod = 'none' | 'plain' | 'aes-128-gcm' | 'aes-256-gcm' | 'chacha20-poly1305' | 'chacha20-ietf-poly1305' | 'xchacha20-poly1305' | 'xchacha20-ietf-poly1305' | '2022-blake3-aes-128-gcm' | '2022-blake3-aes-256-gcm' | '2022-blake3-chacha20-poly1305';
74
+ //# sourceMappingURL=shadowsocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadowsocks.d.ts","sourceRoot":"","sources":["../../src/proxies/shadowsocks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,wBAAwB;IACrC,yBAAyB;IACzB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC5B,uCAAuC;IACvC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,yBAAyB;IACtC,mBAAmB;IACnB,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAG9B,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAC9B,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,iBAAiB,GACvB,MAAM,GACN,OAAO,GACP,aAAa,GACb,aAAa,GACb,mBAAmB,GACnB,wBAAwB,GACxB,oBAAoB,GACpB,yBAAyB,GACzB,yBAAyB,GACzB,yBAAyB,GACzB,+BAA+B,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * Shadowsocks proxy protocol configuration.
4
+ *
5
+ * @see https://xtls.github.io/en/config/inbounds/shadowsocks.html
6
+ * @see https://xtls.github.io/en/config/outbounds/shadowsocks.html
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=shadowsocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadowsocks.js","sourceRoot":"","sources":["../../src/proxies/shadowsocks.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * SOCKS proxy protocol configuration.
3
+ *
4
+ * @see https://xtls.github.io/en/config/inbounds/socks.html
5
+ * @see https://xtls.github.io/en/config/outbounds/socks.html
6
+ */
7
+ export interface SocksInboundConfig {
8
+ /** Authentication method. */
9
+ auth?: SocksAuthType;
10
+ /** User accounts for password authentication. */
11
+ accounts?: SocksAccount[];
12
+ /** Enable UDP relay. */
13
+ udp?: boolean;
14
+ /** IP address for UDP relay responses. */
15
+ ip?: string;
16
+ /** User level for policy. */
17
+ userLevel?: number;
18
+ }
19
+ export interface SocksAccount {
20
+ /** Username. */
21
+ user?: string;
22
+ /** Password. */
23
+ pass?: string;
24
+ }
25
+ export interface SocksOutboundConfig {
26
+ /** Server list. */
27
+ servers?: SocksOutboundServer[];
28
+ /** Server address (flat format). */
29
+ address?: string;
30
+ /** Server port (flat format). */
31
+ port?: number;
32
+ /** User level (flat format). */
33
+ level?: number;
34
+ /** User email (flat format). */
35
+ email?: string;
36
+ /** Username (flat format). */
37
+ user?: string;
38
+ /** Password (flat format). */
39
+ pass?: string;
40
+ }
41
+ export interface SocksOutboundServer {
42
+ /** Server address. */
43
+ address?: string;
44
+ /** Server port. */
45
+ port?: number;
46
+ /** User list for authentication. */
47
+ users?: SocksOutboundUser[];
48
+ }
49
+ export interface SocksOutboundUser {
50
+ /** Username. */
51
+ user?: string;
52
+ /** Password. */
53
+ pass?: string;
54
+ /** User level for policy. */
55
+ level?: number;
56
+ /** User email for stats. */
57
+ email?: string;
58
+ }
59
+ export type SocksAuthType = 'noauth' | 'password';
60
+ //# sourceMappingURL=socks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socks.d.ts","sourceRoot":"","sources":["../../src/proxies/socks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,kBAAkB;IAC/B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,wBAAwB;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,0CAA0C;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IACzB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,mBAAmB;IAChC,mBAAmB;IACnB,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAGhC,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAChC,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAC9B,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * SOCKS proxy protocol configuration.
4
+ *
5
+ * @see https://xtls.github.io/en/config/inbounds/socks.html
6
+ * @see https://xtls.github.io/en/config/outbounds/socks.html
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=socks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socks.js","sourceRoot":"","sources":["../../src/proxies/socks.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}