@toon-protocol/connector 3.20.1 → 3.28.6

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 (175) hide show
  1. package/README.md +6 -6
  2. package/dist/auth/rfc9421/content-digest.d.ts +16 -0
  3. package/dist/auth/rfc9421/content-digest.d.ts.map +1 -0
  4. package/dist/auth/rfc9421/content-digest.js +35 -0
  5. package/dist/auth/rfc9421/content-digest.js.map +1 -0
  6. package/dist/auth/rfc9421/index.d.ts +9 -0
  7. package/dist/auth/rfc9421/index.d.ts.map +1 -0
  8. package/dist/auth/rfc9421/index.js +24 -0
  9. package/dist/auth/rfc9421/index.js.map +1 -0
  10. package/dist/auth/rfc9421/sign.d.ts +20 -0
  11. package/dist/auth/rfc9421/sign.d.ts.map +1 -0
  12. package/dist/auth/rfc9421/sign.js +43 -0
  13. package/dist/auth/rfc9421/sign.js.map +1 -0
  14. package/dist/auth/rfc9421/signature-base.d.ts +21 -0
  15. package/dist/auth/rfc9421/signature-base.d.ts.map +1 -0
  16. package/dist/auth/rfc9421/signature-base.js +57 -0
  17. package/dist/auth/rfc9421/signature-base.js.map +1 -0
  18. package/dist/auth/rfc9421/verify.d.ts +19 -0
  19. package/dist/auth/rfc9421/verify.d.ts.map +1 -0
  20. package/dist/auth/rfc9421/verify.js +215 -0
  21. package/dist/auth/rfc9421/verify.js.map +1 -0
  22. package/dist/btp/btp-client-manager.d.ts +1 -1
  23. package/dist/btp/btp-client-manager.d.ts.map +1 -1
  24. package/dist/btp/btp-client.d.ts +2 -2
  25. package/dist/btp/btp-client.d.ts.map +1 -1
  26. package/dist/btp/btp-client.js.map +1 -1
  27. package/dist/cli/admin-client-factory.d.ts +10 -0
  28. package/dist/cli/admin-client-factory.d.ts.map +1 -0
  29. package/dist/cli/admin-client-factory.js +33 -0
  30. package/dist/cli/admin-client-factory.js.map +1 -0
  31. package/dist/cli/commands/app.d.ts +6 -0
  32. package/dist/cli/commands/app.d.ts.map +1 -0
  33. package/dist/cli/commands/app.js +132 -0
  34. package/dist/cli/commands/app.js.map +1 -0
  35. package/dist/cli/commands/route.d.ts +3 -0
  36. package/dist/cli/commands/route.d.ts.map +1 -0
  37. package/dist/cli/commands/route.js +63 -0
  38. package/dist/cli/commands/route.js.map +1 -0
  39. package/dist/cli/commands/up.d.ts +3 -0
  40. package/dist/cli/commands/up.d.ts.map +1 -0
  41. package/dist/cli/commands/up.js +27 -0
  42. package/dist/cli/commands/up.js.map +1 -0
  43. package/dist/cli/index.js +32 -16
  44. package/dist/cli/index.js.map +1 -1
  45. package/dist/client/connector-admin-client.d.ts +17 -12
  46. package/dist/client/connector-admin-client.d.ts.map +1 -1
  47. package/dist/client/connector-admin-client.js.map +1 -1
  48. package/dist/config/config-loader.d.ts +0 -3
  49. package/dist/config/config-loader.d.ts.map +1 -1
  50. package/dist/config/config-loader.js +41 -161
  51. package/dist/config/config-loader.js.map +1 -1
  52. package/dist/config/environment-validator.js +6 -6
  53. package/dist/config/environment-validator.js.map +1 -1
  54. package/dist/config/types.d.ts +47 -17
  55. package/dist/config/types.d.ts.map +1 -1
  56. package/dist/config/types.js +93 -1
  57. package/dist/config/types.js.map +1 -1
  58. package/dist/core/connector-node.d.ts +13 -1
  59. package/dist/core/connector-node.d.ts.map +1 -1
  60. package/dist/core/connector-node.js +279 -171
  61. package/dist/core/connector-node.js.map +1 -1
  62. package/dist/core/handlers/http-proxy-handler.d.ts +47 -0
  63. package/dist/core/handlers/http-proxy-handler.d.ts.map +1 -0
  64. package/dist/core/handlers/http-proxy-handler.js +223 -0
  65. package/dist/core/handlers/http-proxy-handler.js.map +1 -0
  66. package/dist/core/local-delivery-client.js +9 -9
  67. package/dist/core/local-delivery-client.js.map +1 -1
  68. package/dist/core/packet-handler.d.ts +7 -0
  69. package/dist/core/packet-handler.d.ts.map +1 -1
  70. package/dist/core/packet-handler.js +55 -3
  71. package/dist/core/packet-handler.js.map +1 -1
  72. package/dist/core/registry-db-schema.d.ts +2 -1
  73. package/dist/core/registry-db-schema.d.ts.map +1 -1
  74. package/dist/core/registry-db-schema.js +9 -0
  75. package/dist/core/registry-db-schema.js.map +1 -1
  76. package/dist/core/registry-store.d.ts +1 -0
  77. package/dist/core/registry-store.d.ts.map +1 -1
  78. package/dist/core/registry-store.js +6 -4
  79. package/dist/core/registry-store.js.map +1 -1
  80. package/dist/core/route-upstream-registry.d.ts +17 -0
  81. package/dist/core/route-upstream-registry.d.ts.map +1 -0
  82. package/dist/core/route-upstream-registry.js +51 -0
  83. package/dist/core/route-upstream-registry.js.map +1 -0
  84. package/dist/discovery/ilp-peer-info-event.d.ts +22 -0
  85. package/dist/discovery/ilp-peer-info-event.d.ts.map +1 -0
  86. package/dist/discovery/ilp-peer-info-event.js +21 -0
  87. package/dist/discovery/ilp-peer-info-event.js.map +1 -0
  88. package/dist/discovery/index.d.ts +8 -0
  89. package/dist/discovery/index.d.ts.map +1 -1
  90. package/dist/discovery/index.js +16 -1
  91. package/dist/discovery/index.js.map +1 -1
  92. package/dist/discovery/self-announce-builder.d.ts +14 -0
  93. package/dist/discovery/self-announce-builder.d.ts.map +1 -0
  94. package/dist/discovery/self-announce-builder.js +88 -0
  95. package/dist/discovery/self-announce-builder.js.map +1 -0
  96. package/dist/discovery/self-announce-publish.d.ts +17 -0
  97. package/dist/discovery/self-announce-publish.d.ts.map +1 -0
  98. package/dist/discovery/self-announce-publish.js +35 -0
  99. package/dist/discovery/self-announce-publish.js.map +1 -0
  100. package/dist/discovery/self-announce-service.d.ts +36 -0
  101. package/dist/discovery/self-announce-service.d.ts.map +1 -0
  102. package/dist/discovery/self-announce-service.js +118 -0
  103. package/dist/discovery/self-announce-service.js.map +1 -0
  104. package/dist/http/admin-api-inventory.d.ts.map +1 -1
  105. package/dist/http/admin-api-inventory.js +0 -42
  106. package/dist/http/admin-api-inventory.js.map +1 -1
  107. package/dist/http/admin-api.d.ts +29 -13
  108. package/dist/http/admin-api.d.ts.map +1 -1
  109. package/dist/http/admin-api.js +141 -76
  110. package/dist/http/admin-api.js.map +1 -1
  111. package/dist/http/admin-server.d.ts +3 -4
  112. package/dist/http/admin-server.d.ts.map +1 -1
  113. package/dist/http/admin-server.js +4 -6
  114. package/dist/http/admin-server.js.map +1 -1
  115. package/dist/http/ilp-http-adapter.d.ts +10 -0
  116. package/dist/http/ilp-http-adapter.d.ts.map +1 -1
  117. package/dist/http/ilp-http-adapter.js +118 -0
  118. package/dist/http/ilp-http-adapter.js.map +1 -1
  119. package/dist/http/types.d.ts +1 -1
  120. package/dist/http/types.d.ts.map +1 -1
  121. package/dist/http/x402-greeting.d.ts +46 -0
  122. package/dist/http/x402-greeting.d.ts.map +1 -0
  123. package/dist/http/x402-greeting.js +77 -0
  124. package/dist/http/x402-greeting.js.map +1 -0
  125. package/dist/lib.d.ts +13 -2
  126. package/dist/lib.d.ts.map +1 -1
  127. package/dist/lib.js +41 -1
  128. package/dist/lib.js.map +1 -1
  129. package/dist/main.d.ts +3 -1
  130. package/dist/main.d.ts.map +1 -1
  131. package/dist/main.js +3 -1
  132. package/dist/main.js.map +1 -1
  133. package/dist/settlement/channel-manager.d.ts.map +1 -1
  134. package/dist/settlement/channel-manager.js +1 -1
  135. package/dist/settlement/channel-manager.js.map +1 -1
  136. package/dist/settlement/provider/solana-payment-channel-provider.d.ts.map +1 -1
  137. package/dist/settlement/provider/solana-payment-channel-provider.js +1 -1
  138. package/dist/settlement/provider/solana-payment-channel-provider.js.map +1 -1
  139. package/dist/settlement/solana-payment-channel-sdk.d.ts +1 -1
  140. package/dist/settlement/solana-payment-channel-sdk.d.ts.map +1 -1
  141. package/dist/settlement/solana-payment-channel-sdk.js +2 -2
  142. package/dist/settlement/solana-payment-channel-sdk.js.map +1 -1
  143. package/dist/transport/http-peer-transport.d.ts +46 -0
  144. package/dist/transport/http-peer-transport.d.ts.map +1 -0
  145. package/dist/transport/http-peer-transport.js +185 -0
  146. package/dist/transport/http-peer-transport.js.map +1 -0
  147. package/dist/transport/index.d.ts +0 -3
  148. package/dist/transport/index.d.ts.map +1 -1
  149. package/dist/transport/index.js +1 -8
  150. package/dist/transport/index.js.map +1 -1
  151. package/dist/wallet/mnemonic-keys.d.ts +15 -0
  152. package/dist/wallet/mnemonic-keys.d.ts.map +1 -0
  153. package/dist/wallet/mnemonic-keys.js +150 -0
  154. package/dist/wallet/mnemonic-keys.js.map +1 -0
  155. package/package.json +11 -8
  156. package/dist/transport/hs-desc-monitor.d.ts +0 -12
  157. package/dist/transport/hs-desc-monitor.d.ts.map +0 -1
  158. package/dist/transport/hs-desc-monitor.js +0 -105
  159. package/dist/transport/hs-desc-monitor.js.map +0 -1
  160. package/dist/transport/managed-anon-client.d.ts +0 -93
  161. package/dist/transport/managed-anon-client.d.ts.map +0 -1
  162. package/dist/transport/managed-anon-client.js +0 -522
  163. package/dist/transport/managed-anon-client.js.map +0 -1
  164. package/dist/transport/socks-transport-provider.d.ts +0 -29
  165. package/dist/transport/socks-transport-provider.d.ts.map +0 -1
  166. package/dist/transport/socks-transport-provider.js +0 -136
  167. package/dist/transport/socks-transport-provider.js.map +0 -1
  168. package/dist/transport/socks-url.d.ts +0 -6
  169. package/dist/transport/socks-url.d.ts.map +0 -1
  170. package/dist/transport/socks-url.js +0 -29
  171. package/dist/transport/socks-url.js.map +0 -1
  172. package/dist/transport/socks5-connect.d.ts +0 -12
  173. package/dist/transport/socks5-connect.d.ts.map +0 -1
  174. package/dist/transport/socks5-connect.js +0 -89
  175. package/dist/transport/socks5-connect.js.map +0 -1
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SocksTransportProvider = void 0;
4
- const socks_proxy_agent_1 = require("socks-proxy-agent");
5
- const probe_tcp_port_1 = require("./probe-tcp-port");
6
- const socks_url_1 = require("./socks-url");
7
- const START_PROBE_TIMEOUT_MS = 2000;
8
- const HEALTH_PROBE_TIMEOUT_MS = 1000;
9
- class SocksTransportProvider {
10
- _socksProxy;
11
- _externalUrl;
12
- _logger;
13
- _proxyHost;
14
- _proxyPort;
15
- _managedClient;
16
- _resolveExternalUrlOnStart;
17
- _managedHealthy = true;
18
- constructor(options) {
19
- const { socksProxy, externalUrl, logger, managedClient, resolveExternalUrlOnStart } = options;
20
- if (!socksProxy || typeof socksProxy !== 'string') {
21
- throw new Error('SocksTransportProvider: socksProxy must be a non-empty string starting with "socks5h://" ' +
22
- '(socks5h:// is required to prevent DNS leaks -- the proxy, not the local resolver, ' +
23
- 'must resolve target hostnames)');
24
- }
25
- let host;
26
- let port;
27
- try {
28
- const parsed = (0, socks_url_1.parseSocks5hUrl)(socksProxy);
29
- host = parsed.host;
30
- port = parsed.port;
31
- }
32
- catch (err) {
33
- throw new Error(`SocksTransportProvider: ${err instanceof Error ? err.message : String(err)}`);
34
- }
35
- if (!externalUrl || typeof externalUrl !== 'string') {
36
- throw new Error('SocksTransportProvider: externalUrl must be a non-empty string');
37
- }
38
- this._socksProxy = socksProxy;
39
- this._externalUrl = externalUrl;
40
- this._proxyHost = host;
41
- this._proxyPort = port;
42
- this._logger = logger.child({ component: 'socks-transport-provider' });
43
- this._managedClient = managedClient;
44
- this._resolveExternalUrlOnStart = resolveExternalUrlOnStart;
45
- }
46
- createAgent(peerUrl) {
47
- this._logger.debug({ event: 'socks_create_agent', peerUrl }, 'Creating SOCKS5 agent for peer');
48
- return new socks_proxy_agent_1.SocksProxyAgent(this._socksProxy);
49
- }
50
- getExternalUrl() {
51
- return this._externalUrl;
52
- }
53
- async start() {
54
- if (this._managedClient) {
55
- await this._managedClient.start();
56
- }
57
- if (this._resolveExternalUrlOnStart) {
58
- try {
59
- const resolved = await this._resolveExternalUrlOnStart();
60
- if (!resolved || typeof resolved !== 'string') {
61
- throw new Error('resolver returned a non-string value');
62
- }
63
- if (!resolved.startsWith('ws://') && !resolved.startsWith('wss://')) {
64
- throw new Error('resolved externalUrl must start with ws:// or wss://');
65
- }
66
- this._externalUrl = resolved;
67
- }
68
- catch (err) {
69
- const reason = err instanceof Error ? err.message : String(err);
70
- throw new Error(`SocksTransportProvider: failed to resolve externalUrl from managed hidden service (${reason})`);
71
- }
72
- }
73
- try {
74
- await this._probeProxy(START_PROBE_TIMEOUT_MS);
75
- }
76
- catch (err) {
77
- const reason = err instanceof Error ? err.message : String(err);
78
- throw new Error(`SocksTransportProvider: SOCKS5 proxy unreachable at ${this._proxyHost}:${this._proxyPort} (${reason})`);
79
- }
80
- this._managedHealthy = true;
81
- this._logger.info({ event: 'socks_transport_started', proxyHost: this._proxyHost, proxyPort: this._proxyPort }, 'SOCKS5 transport started');
82
- }
83
- async stop() {
84
- this._logger.info({ event: 'socks_transport_stopped' }, 'SOCKS5 transport stopped');
85
- if (this._managedClient) {
86
- await this._managedClient.stop();
87
- }
88
- }
89
- async healthCheck() {
90
- let managedOk = true;
91
- if (this._managedClient) {
92
- try {
93
- managedOk = await this._managedClient.healthCheck();
94
- }
95
- catch {
96
- managedOk = false;
97
- }
98
- if (!managedOk && this._managedHealthy) {
99
- this._managedHealthy = false;
100
- this._logger.warn({
101
- event: 'managed_anon_crash_detected',
102
- proxyHost: this._proxyHost,
103
- proxyPort: this._proxyPort,
104
- }, 'Managed anon client reports not running');
105
- }
106
- else if (managedOk) {
107
- this._managedHealthy = true;
108
- }
109
- }
110
- try {
111
- await this._probeProxy(HEALTH_PROBE_TIMEOUT_MS);
112
- if (!managedOk) {
113
- return false;
114
- }
115
- this._logger.debug({
116
- event: 'socks_transport_health_ok',
117
- proxyHost: this._proxyHost,
118
- proxyPort: this._proxyPort,
119
- }, 'SOCKS5 proxy healthy');
120
- return true;
121
- }
122
- catch {
123
- this._logger.warn({
124
- event: 'socks_transport_health_failed',
125
- proxyHost: this._proxyHost,
126
- proxyPort: this._proxyPort,
127
- }, 'SOCKS5 proxy health check failed');
128
- return false;
129
- }
130
- }
131
- _probeProxy(timeoutMs) {
132
- return (0, probe_tcp_port_1.probeTcpPort)(this._proxyHost, this._proxyPort, timeoutMs);
133
- }
134
- }
135
- exports.SocksTransportProvider = SocksTransportProvider;
136
- //# sourceMappingURL=socks-transport-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socks-transport-provider.js","sourceRoot":"","sources":["../../src/transport/socks-transport-provider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export interface ParsedSocks5Url {
2
- host: string;
3
- port: number;
4
- }
5
- export declare function parseSocks5hUrl(socksProxy: string): ParsedSocks5Url;
6
- //# sourceMappingURL=socks-url.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socks-url.d.ts","sourceRoot":"","sources":["../../src/transport/socks-url.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,eAAe;IAE9B,IAAI,EAAE,MAAM,CAAC;IAEb,IAAI,EAAE,MAAM,CAAC;CACd;AAYD,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,CAiCnE"}
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseSocks5hUrl = parseSocks5hUrl;
4
- function parseSocks5hUrl(socksProxy) {
5
- if (!socksProxy || typeof socksProxy !== 'string') {
6
- throw new Error('socksProxy must be a non-empty string starting with "socks5h://" ' +
7
- '(socks5h:// is required to prevent DNS leaks -- the proxy, not the local resolver, ' +
8
- 'must resolve target hostnames)');
9
- }
10
- if (!socksProxy.startsWith('socks5h://')) {
11
- throw new Error(`socksProxy scheme must be "socks5h://" (got "${socksProxy.split('://')[0]}://"). ` +
12
- 'The "h" suffix is required to prevent DNS leaks: with socks5h, hostname resolution ' +
13
- 'happens at the proxy (Tor exit / ATOR), not on the local host.');
14
- }
15
- let parsed;
16
- try {
17
- parsed = new URL(socksProxy.replace(/^socks5h:\/\//, 'http://'));
18
- }
19
- catch {
20
- throw new Error(`socksProxy is not a valid URL (expected socks5h://host:port)`);
21
- }
22
- const host = parsed.hostname;
23
- const port = parsed.port ? Number.parseInt(parsed.port, 10) : NaN;
24
- if (!host || !Number.isFinite(port) || port < 0 || port > 65535) {
25
- throw new Error('socksProxy must include a valid host and port (e.g., socks5h://127.0.0.1:9050)');
26
- }
27
- return { host, port };
28
- }
29
- //# sourceMappingURL=socks-url.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socks-url.js","sourceRoot":"","sources":["../../src/transport/socks-url.ts"],"names":[],"mappings":";;AA8BA,0CAiCC;AAjCD,SAAgB,eAAe,CAAC,UAAkB;IAChD,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,mEAAmE;YACjE,qFAAqF;YACrF,gCAAgC,CACnC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,gDAAgD,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACjF,qFAAqF;YACrF,gEAAgE,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAClE,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC"}
@@ -1,12 +0,0 @@
1
- export declare class Socks5ConnectError extends Error {
2
- readonly replyCode: number;
3
- constructor(message: string, replyCode: number);
4
- }
5
- export declare function socks5Connect(opts: {
6
- socksHost: string;
7
- socksPort: number;
8
- destHost: string;
9
- destPort: number;
10
- timeoutMs: number;
11
- }): Promise<void>;
12
- //# sourceMappingURL=socks5-connect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socks5-connect.d.ts","sourceRoot":"","sources":["../../src/transport/socks5-connect.ts"],"names":[],"mappings":"AAuBA,qBAAa,kBAAmB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBACf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK/C;AAmBD,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FhB"}
@@ -1,89 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Socks5ConnectError = void 0;
4
- exports.socks5Connect = socks5Connect;
5
- const tslib_1 = require("tslib");
6
- const net_1 = tslib_1.__importDefault(require("net"));
7
- class Socks5ConnectError extends Error {
8
- replyCode;
9
- constructor(message, replyCode) {
10
- super(message);
11
- this.name = 'Socks5ConnectError';
12
- this.replyCode = replyCode;
13
- }
14
- }
15
- exports.Socks5ConnectError = Socks5ConnectError;
16
- function socks5Connect(opts) {
17
- const { socksHost, socksPort, destHost, destPort, timeoutMs } = opts;
18
- return new Promise((resolve, reject) => {
19
- const hostBytes = Buffer.from(destHost, 'utf8');
20
- if (hostBytes.length < 1 || hostBytes.length > 255) {
21
- reject(new Socks5ConnectError(`destHost length ${hostBytes.length} out of SOCKS5 DOMAIN range`, -1));
22
- return;
23
- }
24
- if (!Number.isInteger(destPort) || destPort < 1 || destPort > 65535) {
25
- reject(new Socks5ConnectError(`destPort ${destPort} out of range`, -1));
26
- return;
27
- }
28
- const socket = net_1.default.createConnection({ host: socksHost, port: socksPort });
29
- let settled = false;
30
- let phase = 0;
31
- let buf = Buffer.alloc(0);
32
- const cleanup = () => {
33
- socket.removeAllListeners();
34
- socket.destroy();
35
- };
36
- const done = (err) => {
37
- if (settled)
38
- return;
39
- settled = true;
40
- cleanup();
41
- if (err)
42
- reject(err);
43
- else
44
- resolve();
45
- };
46
- socket.setTimeout(timeoutMs);
47
- socket.once('timeout', () => done(new Socks5ConnectError('SOCKS5 connect timed out', -1)));
48
- socket.once('error', (err) => done(new Socks5ConnectError(`SOCKS5 socket error: ${err.message}`, -1)));
49
- socket.once('close', () => done(new Socks5ConnectError('SOCKS5 proxy closed connection before reply', -1)));
50
- socket.once('connect', () => {
51
- socket.write(Buffer.from([0x05, 0x01, 0x00]));
52
- });
53
- socket.on('data', (chunk) => {
54
- buf = Buffer.concat([buf, chunk]);
55
- if (phase === 0) {
56
- if (buf.length < 2)
57
- return;
58
- const ver = buf[0];
59
- const method = buf[1];
60
- if (ver !== 0x05 || method !== 0x00) {
61
- done(new Socks5ConnectError(`SOCKS5 method-selection failed (ver=${ver}, method=${method})`, -1));
62
- return;
63
- }
64
- buf = buf.subarray(2);
65
- phase = 1;
66
- const req = Buffer.concat([
67
- Buffer.from([0x05, 0x01, 0x00, 0x03, hostBytes.length]),
68
- hostBytes,
69
- Buffer.from([(destPort >> 8) & 0xff, destPort & 0xff]),
70
- ]);
71
- socket.write(req);
72
- }
73
- if (phase === 1) {
74
- if (buf.length < 2)
75
- return;
76
- const rep = buf[1];
77
- if (rep === undefined)
78
- return;
79
- if (rep === 0x00) {
80
- done();
81
- }
82
- else {
83
- done(new Socks5ConnectError(`SOCKS5 proxy rejected connection (REP=0x${rep.toString(16).padStart(2, '0')})`, rep));
84
- }
85
- }
86
- });
87
- });
88
- }
89
- //# sourceMappingURL=socks5-connect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"socks5-connect.js","sourceRoot":"","sources":["../../src/transport/socks5-connect.ts"],"names":[],"mappings":"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"}