@push.rocks/smartproxy 19.3.2 → 19.3.3

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 (313) hide show
  1. package/dist_ts/00_commitinfo_data.js +1 -1
  2. package/dist_ts/forwarding/factory/forwarding-factory.js +29 -1
  3. package/dist_ts/http/index.d.ts +1 -3
  4. package/dist_ts/http/index.js +4 -10
  5. package/dist_ts/http/models/http-types.d.ts +4 -91
  6. package/dist_ts/http/models/http-types.js +5 -60
  7. package/dist_ts/http/router/proxy-router.d.ts +1 -1
  8. package/dist_ts/http/router/route-router.d.ts +1 -1
  9. package/dist_ts/index.d.ts +9 -7
  10. package/dist_ts/index.js +10 -7
  11. package/dist_ts/proxies/{network-proxy → http-proxy}/certificate-manager.d.ts +2 -2
  12. package/dist_ts/proxies/{network-proxy → http-proxy}/certificate-manager.js +1 -1
  13. package/dist_ts/proxies/{network-proxy → http-proxy}/connection-pool.d.ts +2 -2
  14. package/dist_ts/proxies/http-proxy/connection-pool.js +210 -0
  15. package/dist_ts/proxies/http-proxy/context-creator.js +108 -0
  16. package/dist_ts/proxies/{network-proxy → http-proxy}/function-cache.js +1 -1
  17. package/dist_ts/proxies/http-proxy/handlers/index.d.ts +5 -0
  18. package/dist_ts/proxies/http-proxy/handlers/index.js +6 -0
  19. package/dist_ts/proxies/http-proxy/handlers/redirect-handler.d.ts +18 -0
  20. package/dist_ts/proxies/http-proxy/handlers/redirect-handler.js +78 -0
  21. package/dist_ts/proxies/http-proxy/handlers/static-handler.d.ts +19 -0
  22. package/dist_ts/proxies/http-proxy/handlers/static-handler.js +203 -0
  23. package/dist_ts/proxies/{network-proxy/network-proxy.d.ts → http-proxy/http-proxy.d.ts} +10 -9
  24. package/dist_ts/proxies/{network-proxy/network-proxy.js → http-proxy/http-proxy.js} +13 -12
  25. package/dist_ts/proxies/{network-proxy → http-proxy}/http-request-handler.js +1 -1
  26. package/dist_ts/proxies/http-proxy/http2-request-handler.js +201 -0
  27. package/dist_ts/proxies/{network-proxy → http-proxy}/index.d.ts +2 -2
  28. package/dist_ts/proxies/http-proxy/index.js +12 -0
  29. package/dist_ts/proxies/http-proxy/models/http-types.d.ts +119 -0
  30. package/dist_ts/proxies/http-proxy/models/http-types.js +112 -0
  31. package/dist_ts/proxies/http-proxy/models/index.d.ts +5 -0
  32. package/dist_ts/proxies/http-proxy/models/index.js +6 -0
  33. package/dist_ts/proxies/{network-proxy → http-proxy}/models/types.d.ts +2 -2
  34. package/dist_ts/proxies/http-proxy/models/types.js +276 -0
  35. package/dist_ts/proxies/{network-proxy → http-proxy}/request-handler.d.ts +3 -3
  36. package/dist_ts/proxies/{network-proxy → http-proxy}/request-handler.js +2 -2
  37. package/dist_ts/proxies/http-proxy/security-manager.js +255 -0
  38. package/dist_ts/proxies/{network-proxy → http-proxy}/websocket-handler.d.ts +3 -3
  39. package/dist_ts/proxies/{network-proxy → http-proxy}/websocket-handler.js +2 -2
  40. package/dist_ts/proxies/index.d.ts +5 -5
  41. package/dist_ts/proxies/index.js +5 -5
  42. package/dist_ts/proxies/smart-proxy/certificate-manager.d.ts +4 -4
  43. package/dist_ts/proxies/smart-proxy/certificate-manager.js +11 -11
  44. package/dist_ts/proxies/smart-proxy/http-proxy-bridge.d.ts +41 -0
  45. package/dist_ts/proxies/smart-proxy/http-proxy-bridge.js +121 -0
  46. package/dist_ts/proxies/smart-proxy/index.d.ts +2 -1
  47. package/dist_ts/proxies/smart-proxy/index.js +4 -2
  48. package/dist_ts/proxies/smart-proxy/models/interfaces.d.ts +2 -2
  49. package/dist_ts/proxies/smart-proxy/port-manager.js +3 -3
  50. package/dist_ts/proxies/smart-proxy/route-connection-handler.d.ts +3 -3
  51. package/dist_ts/proxies/smart-proxy/route-connection-handler.js +24 -265
  52. package/dist_ts/proxies/smart-proxy/smart-proxy.d.ts +1 -1
  53. package/dist_ts/proxies/smart-proxy/smart-proxy.js +25 -25
  54. package/dist_ts/routing/index.d.ts +5 -0
  55. package/dist_ts/routing/index.js +8 -0
  56. package/dist_ts/routing/models/http-types.d.ts +6 -0
  57. package/dist_ts/routing/models/http-types.js +7 -0
  58. package/dist_ts/routing/router/index.d.ts +8 -0
  59. package/dist_ts/routing/router/index.js +7 -0
  60. package/dist_ts/{classes.router.d.ts → routing/router/proxy-router.d.ts} +14 -11
  61. package/dist_ts/{classes.router.js → routing/router/proxy-router.js} +2 -2
  62. package/dist_ts/routing/router/route-router.d.ts +108 -0
  63. package/dist_ts/routing/router/route-router.js +393 -0
  64. package/package.json +1 -1
  65. package/readme.md +12 -12
  66. package/readme.plan.md +152 -257
  67. package/ts/00_commitinfo_data.ts +1 -1
  68. package/ts/forwarding/factory/forwarding-factory.ts +28 -0
  69. package/ts/index.ts +13 -9
  70. package/ts/proxies/{network-proxy → http-proxy}/certificate-manager.ts +2 -2
  71. package/ts/proxies/{network-proxy → http-proxy}/connection-pool.ts +2 -2
  72. package/ts/proxies/http-proxy/handlers/index.ts +6 -0
  73. package/ts/proxies/http-proxy/handlers/redirect-handler.ts +105 -0
  74. package/ts/proxies/http-proxy/handlers/static-handler.ts +251 -0
  75. package/ts/proxies/{network-proxy/network-proxy.ts → http-proxy/http-proxy.ts} +15 -14
  76. package/ts/proxies/{network-proxy → http-proxy}/index.ts +3 -3
  77. package/ts/proxies/http-proxy/models/http-types.ts +165 -0
  78. package/ts/proxies/http-proxy/models/index.ts +5 -0
  79. package/ts/proxies/{network-proxy → http-proxy}/models/types.ts +2 -2
  80. package/ts/proxies/{network-proxy → http-proxy}/request-handler.ts +3 -3
  81. package/ts/proxies/{network-proxy → http-proxy}/websocket-handler.ts +3 -3
  82. package/ts/proxies/index.ts +7 -7
  83. package/ts/proxies/smart-proxy/certificate-manager.ts +10 -10
  84. package/ts/proxies/smart-proxy/{network-proxy-bridge.ts → http-proxy-bridge.ts} +44 -44
  85. package/ts/proxies/smart-proxy/index.ts +4 -1
  86. package/ts/proxies/smart-proxy/models/interfaces.ts +3 -3
  87. package/ts/proxies/smart-proxy/port-manager.ts +2 -2
  88. package/ts/proxies/smart-proxy/route-connection-handler.ts +23 -307
  89. package/ts/proxies/smart-proxy/smart-proxy.ts +25 -25
  90. package/ts/routing/index.ts +9 -0
  91. package/ts/routing/models/http-types.ts +6 -0
  92. package/ts/{http → routing}/router/proxy-router.ts +1 -1
  93. package/ts/{http → routing}/router/route-router.ts +1 -1
  94. package/dist_ts/certificate/acme/acme-factory.d.ts +0 -17
  95. package/dist_ts/certificate/acme/acme-factory.js +0 -40
  96. package/dist_ts/certificate/acme/challenge-handler.d.ts +0 -44
  97. package/dist_ts/certificate/acme/challenge-handler.js +0 -92
  98. package/dist_ts/certificate/acme/index.d.ts +0 -4
  99. package/dist_ts/certificate/acme/index.js +0 -5
  100. package/dist_ts/certificate/certificate-manager.d.ts +0 -150
  101. package/dist_ts/certificate/certificate-manager.js +0 -505
  102. package/dist_ts/certificate/events/certificate-events.d.ts +0 -33
  103. package/dist_ts/certificate/events/certificate-events.js +0 -38
  104. package/dist_ts/certificate/events/simplified-events.d.ts +0 -56
  105. package/dist_ts/certificate/events/simplified-events.js +0 -13
  106. package/dist_ts/certificate/index.d.ts +0 -30
  107. package/dist_ts/certificate/index.js +0 -37
  108. package/dist_ts/certificate/models/certificate-errors.d.ts +0 -69
  109. package/dist_ts/certificate/models/certificate-errors.js +0 -141
  110. package/dist_ts/certificate/models/certificate-strategy.d.ts +0 -60
  111. package/dist_ts/certificate/models/certificate-strategy.js +0 -73
  112. package/dist_ts/certificate/models/certificate-types.d.ts +0 -97
  113. package/dist_ts/certificate/models/certificate-types.js +0 -2
  114. package/dist_ts/certificate/providers/cert-provisioner.d.ts +0 -119
  115. package/dist_ts/certificate/providers/cert-provisioner.js +0 -422
  116. package/dist_ts/certificate/providers/index.d.ts +0 -4
  117. package/dist_ts/certificate/providers/index.js +0 -5
  118. package/dist_ts/certificate/simplified-certificate-manager.d.ts +0 -150
  119. package/dist_ts/certificate/simplified-certificate-manager.js +0 -501
  120. package/dist_ts/certificate/storage/file-storage.d.ts +0 -66
  121. package/dist_ts/certificate/storage/file-storage.js +0 -194
  122. package/dist_ts/certificate/storage/index.d.ts +0 -4
  123. package/dist_ts/certificate/storage/index.js +0 -5
  124. package/dist_ts/certificate/utils/certificate-helpers.d.ts +0 -17
  125. package/dist_ts/certificate/utils/certificate-helpers.js +0 -45
  126. package/dist_ts/classes.iptablesproxy.d.ts +0 -112
  127. package/dist_ts/classes.iptablesproxy.js +0 -765
  128. package/dist_ts/classes.networkproxy.d.ts +0 -243
  129. package/dist_ts/classes.networkproxy.js +0 -1424
  130. package/dist_ts/classes.nftablesproxy.d.ts +0 -219
  131. package/dist_ts/classes.nftablesproxy.js +0 -1542
  132. package/dist_ts/classes.port80handler.d.ts +0 -215
  133. package/dist_ts/classes.port80handler.js +0 -736
  134. package/dist_ts/classes.portproxy.d.ts +0 -171
  135. package/dist_ts/classes.portproxy.js +0 -1802
  136. package/dist_ts/classes.pp.acmemanager.d.ts +0 -34
  137. package/dist_ts/classes.pp.acmemanager.js +0 -123
  138. package/dist_ts/classes.pp.connectionhandler.d.ts +0 -39
  139. package/dist_ts/classes.pp.connectionhandler.js +0 -754
  140. package/dist_ts/classes.pp.connectionmanager.d.ts +0 -78
  141. package/dist_ts/classes.pp.connectionmanager.js +0 -378
  142. package/dist_ts/classes.pp.domainconfigmanager.d.ts +0 -55
  143. package/dist_ts/classes.pp.domainconfigmanager.js +0 -103
  144. package/dist_ts/classes.pp.interfaces.d.ts +0 -133
  145. package/dist_ts/classes.pp.interfaces.js +0 -2
  146. package/dist_ts/classes.pp.networkproxybridge.d.ts +0 -57
  147. package/dist_ts/classes.pp.networkproxybridge.js +0 -306
  148. package/dist_ts/classes.pp.portproxy.d.ts +0 -64
  149. package/dist_ts/classes.pp.portproxy.js +0 -567
  150. package/dist_ts/classes.pp.portrangemanager.d.ts +0 -56
  151. package/dist_ts/classes.pp.portrangemanager.js +0 -179
  152. package/dist_ts/classes.pp.securitymanager.d.ts +0 -47
  153. package/dist_ts/classes.pp.securitymanager.js +0 -126
  154. package/dist_ts/classes.pp.snihandler.d.ts +0 -153
  155. package/dist_ts/classes.pp.snihandler.js +0 -1053
  156. package/dist_ts/classes.pp.timeoutmanager.d.ts +0 -47
  157. package/dist_ts/classes.pp.timeoutmanager.js +0 -154
  158. package/dist_ts/classes.pp.tlsalert.d.ts +0 -149
  159. package/dist_ts/classes.pp.tlsalert.js +0 -225
  160. package/dist_ts/classes.pp.tlsmanager.d.ts +0 -57
  161. package/dist_ts/classes.pp.tlsmanager.js +0 -132
  162. package/dist_ts/classes.snihandler.d.ts +0 -198
  163. package/dist_ts/classes.snihandler.js +0 -1210
  164. package/dist_ts/classes.sslredirect.d.ts +0 -8
  165. package/dist_ts/classes.sslredirect.js +0 -28
  166. package/dist_ts/common/acmeFactory.d.ts +0 -9
  167. package/dist_ts/common/acmeFactory.js +0 -20
  168. package/dist_ts/common/port80-adapter.d.ts +0 -11
  169. package/dist_ts/common/port80-adapter.js +0 -87
  170. package/dist_ts/examples/forwarding-example.d.ts +0 -1
  171. package/dist_ts/examples/forwarding-example.js +0 -96
  172. package/dist_ts/forwarding/config/domain-config.d.ts +0 -12
  173. package/dist_ts/forwarding/config/domain-config.js +0 -12
  174. package/dist_ts/forwarding/config/domain-manager.d.ts +0 -86
  175. package/dist_ts/forwarding/config/domain-manager.js +0 -242
  176. package/dist_ts/helpers.certificates.d.ts +0 -5
  177. package/dist_ts/helpers.certificates.js +0 -23
  178. package/dist_ts/http/port80/acme-interfaces.d.ts +0 -108
  179. package/dist_ts/http/port80/acme-interfaces.js +0 -51
  180. package/dist_ts/http/port80/challenge-responder.d.ts +0 -53
  181. package/dist_ts/http/port80/challenge-responder.js +0 -203
  182. package/dist_ts/http/port80/index.d.ts +0 -6
  183. package/dist_ts/http/port80/index.js +0 -9
  184. package/dist_ts/http/port80/port80-handler.d.ts +0 -136
  185. package/dist_ts/http/port80/port80-handler.js +0 -592
  186. package/dist_ts/http/redirects/index.d.ts +0 -4
  187. package/dist_ts/http/redirects/index.js +0 -5
  188. package/dist_ts/networkproxy/classes.np.certificatemanager.d.ts +0 -77
  189. package/dist_ts/networkproxy/classes.np.certificatemanager.js +0 -372
  190. package/dist_ts/networkproxy/classes.np.connectionpool.d.ts +0 -47
  191. package/dist_ts/networkproxy/classes.np.connectionpool.js +0 -210
  192. package/dist_ts/networkproxy/classes.np.networkproxy.d.ts +0 -118
  193. package/dist_ts/networkproxy/classes.np.networkproxy.js +0 -387
  194. package/dist_ts/networkproxy/classes.np.requesthandler.d.ts +0 -56
  195. package/dist_ts/networkproxy/classes.np.requesthandler.js +0 -393
  196. package/dist_ts/networkproxy/classes.np.types.d.ts +0 -83
  197. package/dist_ts/networkproxy/classes.np.types.js +0 -35
  198. package/dist_ts/networkproxy/classes.np.websockethandler.d.ts +0 -38
  199. package/dist_ts/networkproxy/classes.np.websockethandler.js +0 -188
  200. package/dist_ts/networkproxy/index.d.ts +0 -1
  201. package/dist_ts/networkproxy/index.js +0 -4
  202. package/dist_ts/nfttablesproxy/classes.nftablesproxy.d.ts +0 -219
  203. package/dist_ts/nfttablesproxy/classes.nftablesproxy.js +0 -1542
  204. package/dist_ts/port80handler/classes.port80handler.d.ts +0 -10
  205. package/dist_ts/port80handler/classes.port80handler.js +0 -16
  206. package/dist_ts/proxies/network-proxy/connection-pool.js +0 -210
  207. package/dist_ts/proxies/network-proxy/context-creator.js +0 -108
  208. package/dist_ts/proxies/network-proxy/http2-request-handler.js +0 -201
  209. package/dist_ts/proxies/network-proxy/index.js +0 -12
  210. package/dist_ts/proxies/network-proxy/models/index.d.ts +0 -4
  211. package/dist_ts/proxies/network-proxy/models/index.js +0 -5
  212. package/dist_ts/proxies/network-proxy/models/types.js +0 -276
  213. package/dist_ts/proxies/network-proxy/security-manager.js +0 -255
  214. package/dist_ts/proxies/network-proxy/simplified-certificate-bridge.d.ts +0 -48
  215. package/dist_ts/proxies/network-proxy/simplified-certificate-bridge.js +0 -76
  216. package/dist_ts/proxies/smart-proxy/connection-handler.d.ts +0 -39
  217. package/dist_ts/proxies/smart-proxy/connection-handler.js +0 -894
  218. package/dist_ts/proxies/smart-proxy/domain-config-manager.d.ts +0 -110
  219. package/dist_ts/proxies/smart-proxy/domain-config-manager.js +0 -386
  220. package/dist_ts/proxies/smart-proxy/legacy-smart-proxy.d.ts +0 -168
  221. package/dist_ts/proxies/smart-proxy/legacy-smart-proxy.js +0 -642
  222. package/dist_ts/proxies/smart-proxy/models/simplified-smartproxy-config.d.ts +0 -65
  223. package/dist_ts/proxies/smart-proxy/models/simplified-smartproxy-config.js +0 -31
  224. package/dist_ts/proxies/smart-proxy/models/smartproxy-options.d.ts +0 -102
  225. package/dist_ts/proxies/smart-proxy/models/smartproxy-options.js +0 -73
  226. package/dist_ts/proxies/smart-proxy/network-proxy-bridge.d.ts +0 -41
  227. package/dist_ts/proxies/smart-proxy/network-proxy-bridge.js +0 -121
  228. package/dist_ts/proxies/smart-proxy/port-range-manager.d.ts +0 -56
  229. package/dist_ts/proxies/smart-proxy/port-range-manager.js +0 -176
  230. package/dist_ts/proxies/smart-proxy/route-helpers/index.d.ts +0 -9
  231. package/dist_ts/proxies/smart-proxy/route-helpers/index.js +0 -11
  232. package/dist_ts/proxies/smart-proxy/route-helpers.d.ts +0 -7
  233. package/dist_ts/proxies/smart-proxy/route-helpers.js +0 -9
  234. package/dist_ts/proxies/smart-proxy/simplified-smart-proxy.d.ts +0 -41
  235. package/dist_ts/proxies/smart-proxy/simplified-smart-proxy.js +0 -132
  236. package/dist_ts/proxies/smart-proxy/utils/route-migration-utils.d.ts +0 -51
  237. package/dist_ts/proxies/smart-proxy/utils/route-migration-utils.js +0 -124
  238. package/dist_ts/redirect/classes.redirect.d.ts +0 -96
  239. package/dist_ts/redirect/classes.redirect.js +0 -194
  240. package/dist_ts/smartproxy/classes.pp.certprovisioner.d.ts +0 -54
  241. package/dist_ts/smartproxy/classes.pp.certprovisioner.js +0 -179
  242. package/dist_ts/smartproxy/classes.pp.connectionhandler.d.ts +0 -39
  243. package/dist_ts/smartproxy/classes.pp.connectionhandler.js +0 -894
  244. package/dist_ts/smartproxy/classes.pp.connectionmanager.d.ts +0 -78
  245. package/dist_ts/smartproxy/classes.pp.connectionmanager.js +0 -378
  246. package/dist_ts/smartproxy/classes.pp.domainconfigmanager.d.ts +0 -94
  247. package/dist_ts/smartproxy/classes.pp.domainconfigmanager.js +0 -255
  248. package/dist_ts/smartproxy/classes.pp.interfaces.d.ts +0 -103
  249. package/dist_ts/smartproxy/classes.pp.interfaces.js +0 -2
  250. package/dist_ts/smartproxy/classes.pp.networkproxybridge.d.ts +0 -62
  251. package/dist_ts/smartproxy/classes.pp.networkproxybridge.js +0 -316
  252. package/dist_ts/smartproxy/classes.pp.portrangemanager.d.ts +0 -56
  253. package/dist_ts/smartproxy/classes.pp.portrangemanager.js +0 -176
  254. package/dist_ts/smartproxy/classes.pp.securitymanager.d.ts +0 -64
  255. package/dist_ts/smartproxy/classes.pp.securitymanager.js +0 -149
  256. package/dist_ts/smartproxy/classes.pp.snihandler.d.ts +0 -153
  257. package/dist_ts/smartproxy/classes.pp.snihandler.js +0 -1053
  258. package/dist_ts/smartproxy/classes.pp.timeoutmanager.d.ts +0 -47
  259. package/dist_ts/smartproxy/classes.pp.timeoutmanager.js +0 -154
  260. package/dist_ts/smartproxy/classes.pp.tlsalert.d.ts +0 -149
  261. package/dist_ts/smartproxy/classes.pp.tlsalert.js +0 -225
  262. package/dist_ts/smartproxy/classes.pp.tlsmanager.d.ts +0 -57
  263. package/dist_ts/smartproxy/classes.pp.tlsmanager.js +0 -132
  264. package/dist_ts/smartproxy/classes.smartproxy.d.ts +0 -63
  265. package/dist_ts/smartproxy/classes.smartproxy.js +0 -521
  266. package/dist_ts/smartproxy/forwarding/domain-config.d.ts +0 -12
  267. package/dist_ts/smartproxy/forwarding/domain-config.js +0 -12
  268. package/dist_ts/smartproxy/forwarding/domain-manager.d.ts +0 -86
  269. package/dist_ts/smartproxy/forwarding/domain-manager.js +0 -241
  270. package/dist_ts/smartproxy/forwarding/forwarding.factory.d.ts +0 -24
  271. package/dist_ts/smartproxy/forwarding/forwarding.factory.js +0 -137
  272. package/dist_ts/smartproxy/forwarding/forwarding.handler.d.ts +0 -55
  273. package/dist_ts/smartproxy/forwarding/forwarding.handler.js +0 -94
  274. package/dist_ts/smartproxy/forwarding/http.handler.d.ts +0 -25
  275. package/dist_ts/smartproxy/forwarding/http.handler.js +0 -123
  276. package/dist_ts/smartproxy/forwarding/https-passthrough.handler.d.ts +0 -24
  277. package/dist_ts/smartproxy/forwarding/https-passthrough.handler.js +0 -154
  278. package/dist_ts/smartproxy/forwarding/https-terminate-to-http.handler.d.ts +0 -36
  279. package/dist_ts/smartproxy/forwarding/https-terminate-to-http.handler.js +0 -229
  280. package/dist_ts/smartproxy/forwarding/https-terminate-to-https.handler.d.ts +0 -35
  281. package/dist_ts/smartproxy/forwarding/https-terminate-to-https.handler.js +0 -254
  282. package/dist_ts/smartproxy/forwarding/index.d.ts +0 -16
  283. package/dist_ts/smartproxy/forwarding/index.js +0 -23
  284. package/dist_ts/smartproxy/types/forwarding.types.d.ts +0 -104
  285. package/dist_ts/smartproxy/types/forwarding.types.js +0 -50
  286. package/dist_ts/smartproxy.classes.networkproxy.d.ts +0 -31
  287. package/dist_ts/smartproxy.classes.networkproxy.js +0 -305
  288. package/dist_ts/smartproxy.classes.router.d.ts +0 -13
  289. package/dist_ts/smartproxy.classes.router.js +0 -33
  290. package/dist_ts/smartproxy.classes.sslredirect.d.ts +0 -8
  291. package/dist_ts/smartproxy.classes.sslredirect.js +0 -28
  292. package/dist_ts/smartproxy.helpers.certificates.d.ts +0 -5
  293. package/dist_ts/smartproxy.helpers.certificates.js +0 -23
  294. package/dist_ts/smartproxy.plugins.d.ts +0 -18
  295. package/dist_ts/smartproxy.plugins.js +0 -23
  296. package/dist_ts/smartproxy.portproxy.d.ts +0 -26
  297. package/dist_ts/smartproxy.portproxy.js +0 -295
  298. package/ts/http/index.ts +0 -16
  299. package/ts/http/models/http-types.ts +0 -108
  300. package/ts/http/redirects/index.ts +0 -3
  301. package/ts/proxies/network-proxy/models/index.ts +0 -4
  302. package/ts/redirect/classes.redirect.ts +0 -295
  303. /package/dist_ts/proxies/{network-proxy → http-proxy}/context-creator.d.ts +0 -0
  304. /package/dist_ts/proxies/{network-proxy → http-proxy}/function-cache.d.ts +0 -0
  305. /package/dist_ts/proxies/{network-proxy → http-proxy}/http-request-handler.d.ts +0 -0
  306. /package/dist_ts/proxies/{network-proxy → http-proxy}/http2-request-handler.d.ts +0 -0
  307. /package/dist_ts/proxies/{network-proxy → http-proxy}/security-manager.d.ts +0 -0
  308. /package/ts/proxies/{network-proxy → http-proxy}/context-creator.ts +0 -0
  309. /package/ts/proxies/{network-proxy → http-proxy}/function-cache.ts +0 -0
  310. /package/ts/proxies/{network-proxy → http-proxy}/http-request-handler.ts +0 -0
  311. /package/ts/proxies/{network-proxy → http-proxy}/http2-request-handler.ts +0 -0
  312. /package/ts/proxies/{network-proxy → http-proxy}/security-manager.ts +0 -0
  313. /package/ts/{http → routing}/router/index.ts +0 -0
@@ -1,8 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- export declare class SslRedirect {
3
- httpServer: plugins.http.Server;
4
- port: number;
5
- constructor(portArg: number);
6
- start(): Promise<void>;
7
- stop(): Promise<void>;
8
- }
@@ -1,28 +0,0 @@
1
- import * as plugins from './plugins.js';
2
- export class SslRedirect {
3
- constructor(portArg) {
4
- this.port = portArg;
5
- }
6
- async start() {
7
- this.httpServer = plugins.http.createServer((request, response) => {
8
- const requestUrl = new URL(request.url, `http://${request.headers.host}`);
9
- const completeUrlWithoutProtocol = `${requestUrl.host}${requestUrl.pathname}${requestUrl.search}`;
10
- const redirectUrl = `https://${completeUrlWithoutProtocol}`;
11
- console.log(`Got http request for http://${completeUrlWithoutProtocol}`);
12
- console.log(`Redirecting to ${redirectUrl}`);
13
- response.writeHead(302, {
14
- Location: redirectUrl,
15
- });
16
- response.end();
17
- });
18
- this.httpServer.listen(this.port);
19
- }
20
- async stop() {
21
- const done = plugins.smartpromise.defer();
22
- this.httpServer.close(() => {
23
- done.resolve();
24
- });
25
- await done.promise;
26
- }
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5zc2xyZWRpcmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL2NsYXNzZXMuc3NscmVkaXJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFFeEMsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBWSxPQUFlO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFTSxLQUFLLENBQUMsS0FBSztRQUNoQixJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ2hFLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsVUFBVSxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUUsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEcsTUFBTSxXQUFXLEdBQUcsV0FBVywwQkFBMEIsRUFBRSxDQUFDO1lBQzVELE9BQU8sQ0FBQyxHQUFHLENBQUMsK0JBQStCLDBCQUEwQixFQUFFLENBQUMsQ0FBQztZQUN6RSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUFrQixXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQzdDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN0QixRQUFRLEVBQUUsV0FBVzthQUN0QixDQUFDLENBQUM7WUFDSCxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxJQUFJO1FBQ2YsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDekIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
@@ -1,9 +0,0 @@
1
- import type { IAcmeOptions } from './types.js';
2
- import { Port80Handler } from '../port80handler/classes.port80handler.js';
3
- /**
4
- * Factory to create a Port80Handler with common setup.
5
- * Ensures the certificate store directory exists and instantiates the handler.
6
- * @param options Port80Handler configuration options
7
- * @returns A new Port80Handler instance
8
- */
9
- export declare function buildPort80Handler(options: IAcmeOptions): Port80Handler;
@@ -1,20 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import { Port80Handler } from '../port80handler/classes.port80handler.js';
4
- /**
5
- * Factory to create a Port80Handler with common setup.
6
- * Ensures the certificate store directory exists and instantiates the handler.
7
- * @param options Port80Handler configuration options
8
- * @returns A new Port80Handler instance
9
- */
10
- export function buildPort80Handler(options) {
11
- if (options.certificateStore) {
12
- const certStorePath = path.resolve(options.certificateStore);
13
- if (!fs.existsSync(certStorePath)) {
14
- fs.mkdirSync(certStorePath, { recursive: true });
15
- console.log(`Created certificate store directory: ${certStorePath}`);
16
- }
17
- }
18
- return new Port80Handler(options);
19
- }
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNtZUZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jb21tb24vYWNtZUZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBRTFFOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxPQUFxQjtJQUVyQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzdCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsd0NBQXdDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDdkUsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BDLENBQUMifQ==
@@ -1,11 +0,0 @@
1
- import type { IForwardConfig as ILegacyForwardConfig, IDomainOptions } from './types.js';
2
- import type { IForwardConfig } from '../forwarding/config/forwarding-types.js';
3
- /**
4
- * Converts a forwarding configuration target to the legacy format
5
- * for Port80Handler
6
- */
7
- export declare function convertToLegacyForwardConfig(forwardConfig: IForwardConfig): ILegacyForwardConfig;
8
- /**
9
- * Creates Port80Handler domain options from a domain name and forwarding config
10
- */
11
- export declare function createPort80HandlerOptions(domain: string, forwardConfig: IForwardConfig): IDomainOptions;
@@ -1,87 +0,0 @@
1
- import * as plugins from '../plugins.js';
2
- /**
3
- * Converts a forwarding configuration target to the legacy format
4
- * for Port80Handler
5
- */
6
- export function convertToLegacyForwardConfig(forwardConfig) {
7
- // Determine host from the target configuration
8
- const host = Array.isArray(forwardConfig.target.host)
9
- ? forwardConfig.target.host[0] // Use the first host in the array
10
- : forwardConfig.target.host;
11
- // Extract port number, handling different port formats
12
- let port;
13
- if (typeof forwardConfig.target.port === 'function') {
14
- // Use a default port for function-based ports in adapter context
15
- port = 80;
16
- }
17
- else if (forwardConfig.target.port === 'preserve') {
18
- // For 'preserve', use the default port 80 in this adapter context
19
- port = 80;
20
- }
21
- else {
22
- port = forwardConfig.target.port;
23
- }
24
- return {
25
- ip: host,
26
- port: port
27
- };
28
- }
29
- /**
30
- * Creates Port80Handler domain options from a domain name and forwarding config
31
- */
32
- export function createPort80HandlerOptions(domain, forwardConfig) {
33
- // Determine if we should redirect HTTP to HTTPS
34
- let sslRedirect = false;
35
- if (forwardConfig.http?.redirectToHttps) {
36
- sslRedirect = true;
37
- }
38
- // Determine if ACME maintenance should be enabled
39
- // Enable by default for termination types, unless explicitly disabled
40
- const requiresTls = forwardConfig.type === 'https-terminate-to-http' ||
41
- forwardConfig.type === 'https-terminate-to-https';
42
- const acmeMaintenance = requiresTls &&
43
- forwardConfig.acme?.enabled !== false;
44
- // Set up forwarding configuration
45
- const options = {
46
- domainName: domain,
47
- sslRedirect,
48
- acmeMaintenance
49
- };
50
- // Add ACME challenge forwarding if configured
51
- if (forwardConfig.acme?.forwardChallenges) {
52
- options.acmeForward = {
53
- ip: Array.isArray(forwardConfig.acme.forwardChallenges.host)
54
- ? forwardConfig.acme.forwardChallenges.host[0]
55
- : forwardConfig.acme.forwardChallenges.host,
56
- port: forwardConfig.acme.forwardChallenges.port
57
- };
58
- }
59
- // Add HTTP forwarding if this is an HTTP-only config or if HTTP is enabled
60
- const supportsHttp = forwardConfig.type === 'http-only' ||
61
- (forwardConfig.http?.enabled !== false &&
62
- (forwardConfig.type === 'https-terminate-to-http' ||
63
- forwardConfig.type === 'https-terminate-to-https'));
64
- if (supportsHttp) {
65
- // Determine port value handling different formats
66
- let port;
67
- if (typeof forwardConfig.target.port === 'function') {
68
- // Use a default port for function-based ports
69
- port = 80;
70
- }
71
- else if (forwardConfig.target.port === 'preserve') {
72
- // For 'preserve', use 80 in this adapter context
73
- port = 80;
74
- }
75
- else {
76
- port = forwardConfig.target.port;
77
- }
78
- options.forward = {
79
- ip: Array.isArray(forwardConfig.target.host)
80
- ? forwardConfig.target.host[0]
81
- : forwardConfig.target.host,
82
- port: port
83
- };
84
- }
85
- return options;
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydDgwLWFkYXB0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jb21tb24vcG9ydDgwLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxlQUFlLENBQUM7QUFXekM7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDRCQUE0QixDQUMxQyxhQUE2QjtJQUU3QiwrQ0FBK0M7SUFDL0MsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUNuRCxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUUsa0NBQWtDO1FBQ2xFLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUU5Qix1REFBdUQ7SUFDdkQsSUFBSSxJQUFZLENBQUM7SUFDakIsSUFBSSxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3BELGlFQUFpRTtRQUNqRSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ1osQ0FBQztTQUFNLElBQUksYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDcEQsa0VBQWtFO1FBQ2xFLElBQUksR0FBRyxFQUFFLENBQUM7SUFDWixDQUFDO1NBQU0sQ0FBQztRQUNOLElBQUksR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTztRQUNMLEVBQUUsRUFBRSxJQUFJO1FBQ1IsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDO0FBQ0osQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxNQUFjLEVBQ2QsYUFBNkI7SUFFN0IsZ0RBQWdEO0lBQ2hELElBQUksV0FBVyxHQUFHLEtBQUssQ0FBQztJQUN4QixJQUFJ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
@@ -1 +0,0 @@
1
- export {};
@@ -1,96 +0,0 @@
1
- import * as plugins from '../plugins.js';
2
- import { createServer } from 'http';
3
- import { Socket } from 'net';
4
- import { DomainManager, DomainManagerEvents, createDomainConfig, helpers } from '../smartproxy/forwarding/index.js';
5
- /**
6
- * Example showing how to use the unified forwarding system
7
- */
8
- async function main() {
9
- console.log('Initializing forwarding example...');
10
- // Create the domain manager
11
- const domainManager = new DomainManager();
12
- // Set up event listeners
13
- domainManager.on(DomainManagerEvents.DOMAIN_ADDED, (data) => {
14
- console.log(`Domain added: ${data.domains.join(', ')} (${data.forwardingType})`);
15
- });
16
- domainManager.on(DomainManagerEvents.DOMAIN_MATCHED, (data) => {
17
- console.log(`Domain matched: ${data.domain} (${data.handlerType})`);
18
- });
19
- domainManager.on(DomainManagerEvents.DOMAIN_MATCH_FAILED, (data) => {
20
- console.log(`Domain match failed: ${data.domain}`);
21
- });
22
- domainManager.on(DomainManagerEvents.ERROR, (data) => {
23
- console.error(`Error:`, data);
24
- });
25
- // Add example domains with different forwarding types
26
- // Example 1: HTTP-only forwarding
27
- await domainManager.addDomainConfig(createDomainConfig('example.com', helpers.httpOnly({
28
- target: { host: 'localhost', port: 3000 }
29
- })));
30
- // Example 2: HTTPS termination with HTTP backend
31
- await domainManager.addDomainConfig(createDomainConfig('secure.example.com', helpers.tlsTerminateToHttp({
32
- target: { host: 'localhost', port: 3000 }
33
- })));
34
- // Example 3: HTTPS termination with HTTPS backend
35
- await domainManager.addDomainConfig(createDomainConfig('api.example.com', helpers.tlsTerminateToHttps({
36
- target: { host: 'localhost', port: 8443 }
37
- })));
38
- // Example 4: SNI passthrough
39
- await domainManager.addDomainConfig(createDomainConfig('passthrough.example.com', helpers.sniPassthrough({
40
- target: { host: '10.0.0.5', port: 443 }
41
- })));
42
- // Example 5: Custom configuration for a more complex setup
43
- await domainManager.addDomainConfig(createDomainConfig(['*.example.com', '*.example.org'], {
44
- type: 'https-terminate-to-http',
45
- target: {
46
- host: ['10.0.0.10', '10.0.0.11'], // Round-robin load balancing
47
- port: 8080
48
- },
49
- http: {
50
- enabled: true,
51
- redirectToHttps: false // Allow both HTTP and HTTPS
52
- },
53
- acme: {
54
- enabled: true,
55
- maintenance: true,
56
- production: false, // Use staging for testing
57
- forwardChallenges: {
58
- host: '192.168.1.100',
59
- port: 8080
60
- }
61
- },
62
- security: {
63
- allowedIps: ['10.0.0.*', '192.168.1.*'],
64
- maxConnections: 100
65
- },
66
- advanced: {
67
- headers: {
68
- 'X-Forwarded-For': '{clientIp}',
69
- 'X-Forwarded-Host': '{sni}'
70
- }
71
- }
72
- }));
73
- // Create a simple HTTP server to demonstrate HTTP handler
74
- const httpServer = createServer((req, res) => {
75
- // Extract the domain from the Host header
76
- const domain = req.headers.host?.split(':')[0] || 'unknown';
77
- // Forward the request to the appropriate handler
78
- if (!domainManager.handleHttpRequest(domain, req, res)) {
79
- // No handler found, send a default response
80
- res.statusCode = 404;
81
- res.end(`No handler found for domain: ${domain}`);
82
- }
83
- });
84
- // Listen on HTTP port
85
- httpServer.listen(80, () => {
86
- console.log('HTTP server listening on port 80');
87
- });
88
- // For HTTPS and SNI, we would need to set up a TLS server
89
- // This is a simplified example that just shows how the domain manager works
90
- console.log('Forwarding example initialized successfully');
91
- }
92
- // Run the example
93
- main().catch(error => {
94
- console.error('Error running example:', error);
95
- });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZGluZy1leGFtcGxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdHMvZXhhbXBsZXMvZm9yd2FyZGluZy1leGFtcGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEtBQUssQ0FBQztBQUM3QixPQUFPLEVBQ0wsYUFBYSxFQUNiLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsT0FBTyxFQUNSLE1BQU0sbUNBQW1DLENBQUM7QUFFM0M7O0dBRUc7QUFDSCxLQUFLLFVBQVUsSUFBSTtJQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7SUFFbEQsNEJBQTRCO0lBQzVCLE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7SUFFMUMseUJBQXlCO0lBQ3pCLGFBQWEsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDMUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFDbkYsQ0FBQyxDQUFDLENBQUM7SUFFSCxhQUFhLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQzVELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDdEUsQ0FBQyxDQUFDLENBQUM7SUFFSCxhQUFhLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFB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
@@ -1,12 +0,0 @@
1
- import type { IForwardConfig } from './forwarding-types.js';
2
- /**
3
- * Domain configuration with unified forwarding configuration
4
- */
5
- export interface IDomainConfig {
6
- domains: string[];
7
- forwarding: IForwardConfig;
8
- }
9
- /**
10
- * Helper function to create a domain configuration
11
- */
12
- export declare function createDomainConfig(domains: string | string[], forwarding: IForwardConfig): IDomainConfig;
@@ -1,12 +0,0 @@
1
- /**
2
- * Helper function to create a domain configuration
3
- */
4
- export function createDomainConfig(domains, forwarding) {
5
- // Normalize domains to an array
6
- const domainArray = Array.isArray(domains) ? domains : [domains];
7
- return {
8
- domains: domainArray,
9
- forwarding
10
- };
11
- }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzL2ZvcndhcmRpbmcvY29uZmlnL2RvbWFpbi1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBYUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE9BQTBCLEVBQzFCLFVBQTBCO0lBRTFCLGdDQUFnQztJQUNoQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakUsT0FBTztRQUNMLE9BQU8sRUFBRSxXQUFXO1FBQ3BCLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,86 +0,0 @@
1
- import * as plugins from '../../plugins.js';
2
- import type { IDomainConfig } from './domain-config.js';
3
- import { ForwardingHandler } from '../handlers/base-handler.js';
4
- /**
5
- * Events emitted by the DomainManager
6
- */
7
- export declare enum DomainManagerEvents {
8
- DOMAIN_ADDED = "domain-added",
9
- DOMAIN_REMOVED = "domain-removed",
10
- DOMAIN_MATCHED = "domain-matched",
11
- DOMAIN_MATCH_FAILED = "domain-match-failed",
12
- CERTIFICATE_NEEDED = "certificate-needed",
13
- CERTIFICATE_LOADED = "certificate-loaded",
14
- ERROR = "error"
15
- }
16
- /**
17
- * Manages domains and their forwarding handlers
18
- */
19
- export declare class DomainManager extends plugins.EventEmitter {
20
- private domainConfigs;
21
- private domainHandlers;
22
- /**
23
- * Create a new DomainManager
24
- * @param initialDomains Optional initial domain configurations
25
- */
26
- constructor(initialDomains?: IDomainConfig[]);
27
- /**
28
- * Set or replace all domain configurations
29
- * @param configs Array of domain configurations
30
- */
31
- setDomainConfigs(configs: IDomainConfig[]): Promise<void>;
32
- /**
33
- * Add a new domain configuration
34
- * @param config The domain configuration to add
35
- */
36
- addDomainConfig(config: IDomainConfig): Promise<void>;
37
- /**
38
- * Remove a domain configuration
39
- * @param domain The domain to remove
40
- * @returns True if the domain was found and removed
41
- */
42
- removeDomainConfig(domain: string): boolean;
43
- /**
44
- * Find the handler for a domain
45
- * @param domain The domain to find a handler for
46
- * @returns The handler or undefined if no match
47
- */
48
- findHandlerForDomain(domain: string): ForwardingHandler | undefined;
49
- /**
50
- * Handle a connection for a domain
51
- * @param domain The domain
52
- * @param socket The client socket
53
- * @returns True if the connection was handled
54
- */
55
- handleConnection(domain: string, socket: plugins.net.Socket): boolean;
56
- /**
57
- * Handle an HTTP request for a domain
58
- * @param domain The domain
59
- * @param req The HTTP request
60
- * @param res The HTTP response
61
- * @returns True if the request was handled
62
- */
63
- handleHttpRequest(domain: string, req: plugins.http.IncomingMessage, res: plugins.http.ServerResponse): boolean;
64
- /**
65
- * Create handlers for a domain configuration
66
- * @param config The domain configuration
67
- */
68
- private createHandlersForDomain;
69
- /**
70
- * Set up event forwarding from a handler
71
- * @param handler The handler
72
- * @param config The domain configuration for this handler
73
- */
74
- private setupHandlerEvents;
75
- /**
76
- * Find a handler for a domain using wildcard matching
77
- * @param domain The domain to find a handler for
78
- * @returns The handler or undefined if no match
79
- */
80
- private findWildcardHandler;
81
- /**
82
- * Get all domain configurations
83
- * @returns Array of domain configurations
84
- */
85
- getDomainConfigs(): IDomainConfig[];
86
- }
@@ -1,242 +0,0 @@
1
- import * as plugins from '../../plugins.js';
2
- import { ForwardingHandler } from '../handlers/base-handler.js';
3
- import { ForwardingHandlerEvents } from './forwarding-types.js';
4
- import { ForwardingHandlerFactory } from '../factory/forwarding-factory.js';
5
- /**
6
- * Events emitted by the DomainManager
7
- */
8
- export var DomainManagerEvents;
9
- (function (DomainManagerEvents) {
10
- DomainManagerEvents["DOMAIN_ADDED"] = "domain-added";
11
- DomainManagerEvents["DOMAIN_REMOVED"] = "domain-removed";
12
- DomainManagerEvents["DOMAIN_MATCHED"] = "domain-matched";
13
- DomainManagerEvents["DOMAIN_MATCH_FAILED"] = "domain-match-failed";
14
- DomainManagerEvents["CERTIFICATE_NEEDED"] = "certificate-needed";
15
- DomainManagerEvents["CERTIFICATE_LOADED"] = "certificate-loaded";
16
- DomainManagerEvents["ERROR"] = "error";
17
- })(DomainManagerEvents || (DomainManagerEvents = {}));
18
- /**
19
- * Manages domains and their forwarding handlers
20
- */
21
- export class DomainManager extends plugins.EventEmitter {
22
- /**
23
- * Create a new DomainManager
24
- * @param initialDomains Optional initial domain configurations
25
- */
26
- constructor(initialDomains) {
27
- super();
28
- this.domainConfigs = [];
29
- this.domainHandlers = new Map();
30
- if (initialDomains) {
31
- this.setDomainConfigs(initialDomains);
32
- }
33
- }
34
- /**
35
- * Set or replace all domain configurations
36
- * @param configs Array of domain configurations
37
- */
38
- async setDomainConfigs(configs) {
39
- // Clear existing handlers
40
- this.domainHandlers.clear();
41
- // Store new configurations
42
- this.domainConfigs = [...configs];
43
- // Initialize handlers for each domain
44
- for (const config of this.domainConfigs) {
45
- await this.createHandlersForDomain(config);
46
- }
47
- }
48
- /**
49
- * Add a new domain configuration
50
- * @param config The domain configuration to add
51
- */
52
- async addDomainConfig(config) {
53
- // Check if any of these domains already exist
54
- for (const domain of config.domains) {
55
- if (this.domainHandlers.has(domain)) {
56
- // Remove existing handler for this domain
57
- this.domainHandlers.delete(domain);
58
- }
59
- }
60
- // Add the new configuration
61
- this.domainConfigs.push(config);
62
- // Create handlers for the new domain
63
- await this.createHandlersForDomain(config);
64
- this.emit(DomainManagerEvents.DOMAIN_ADDED, {
65
- domains: config.domains,
66
- forwardingType: config.forwarding.type
67
- });
68
- }
69
- /**
70
- * Remove a domain configuration
71
- * @param domain The domain to remove
72
- * @returns True if the domain was found and removed
73
- */
74
- removeDomainConfig(domain) {
75
- // Find the config that includes this domain
76
- const index = this.domainConfigs.findIndex(config => config.domains.includes(domain));
77
- if (index === -1) {
78
- return false;
79
- }
80
- // Get the config
81
- const config = this.domainConfigs[index];
82
- // Remove all handlers for this config
83
- for (const domainName of config.domains) {
84
- this.domainHandlers.delete(domainName);
85
- }
86
- // Remove the config
87
- this.domainConfigs.splice(index, 1);
88
- this.emit(DomainManagerEvents.DOMAIN_REMOVED, {
89
- domains: config.domains
90
- });
91
- return true;
92
- }
93
- /**
94
- * Find the handler for a domain
95
- * @param domain The domain to find a handler for
96
- * @returns The handler or undefined if no match
97
- */
98
- findHandlerForDomain(domain) {
99
- // Try exact match
100
- if (this.domainHandlers.has(domain)) {
101
- return this.domainHandlers.get(domain);
102
- }
103
- // Try wildcard matches
104
- const wildcardHandler = this.findWildcardHandler(domain);
105
- if (wildcardHandler) {
106
- return wildcardHandler;
107
- }
108
- // No match found
109
- return undefined;
110
- }
111
- /**
112
- * Handle a connection for a domain
113
- * @param domain The domain
114
- * @param socket The client socket
115
- * @returns True if the connection was handled
116
- */
117
- handleConnection(domain, socket) {
118
- const handler = this.findHandlerForDomain(domain);
119
- if (!handler) {
120
- this.emit(DomainManagerEvents.DOMAIN_MATCH_FAILED, {
121
- domain,
122
- remoteAddress: socket.remoteAddress
123
- });
124
- return false;
125
- }
126
- this.emit(DomainManagerEvents.DOMAIN_MATCHED, {
127
- domain,
128
- handlerType: handler.constructor.name,
129
- remoteAddress: socket.remoteAddress
130
- });
131
- // Handle the connection
132
- handler.handleConnection(socket);
133
- return true;
134
- }
135
- /**
136
- * Handle an HTTP request for a domain
137
- * @param domain The domain
138
- * @param req The HTTP request
139
- * @param res The HTTP response
140
- * @returns True if the request was handled
141
- */
142
- handleHttpRequest(domain, req, res) {
143
- const handler = this.findHandlerForDomain(domain);
144
- if (!handler) {
145
- this.emit(DomainManagerEvents.DOMAIN_MATCH_FAILED, {
146
- domain,
147
- remoteAddress: req.socket.remoteAddress
148
- });
149
- return false;
150
- }
151
- this.emit(DomainManagerEvents.DOMAIN_MATCHED, {
152
- domain,
153
- handlerType: handler.constructor.name,
154
- remoteAddress: req.socket.remoteAddress
155
- });
156
- // Handle the request
157
- handler.handleHttpRequest(req, res);
158
- return true;
159
- }
160
- /**
161
- * Create handlers for a domain configuration
162
- * @param config The domain configuration
163
- */
164
- async createHandlersForDomain(config) {
165
- try {
166
- // Create a handler for this forwarding configuration
167
- const handler = ForwardingHandlerFactory.createHandler(config.forwarding);
168
- // Initialize the handler
169
- await handler.initialize();
170
- // Set up event forwarding
171
- this.setupHandlerEvents(handler, config);
172
- // Store the handler for each domain in the config
173
- for (const domain of config.domains) {
174
- this.domainHandlers.set(domain, handler);
175
- }
176
- }
177
- catch (error) {
178
- this.emit(DomainManagerEvents.ERROR, {
179
- domains: config.domains,
180
- error: error instanceof Error ? error.message : String(error)
181
- });
182
- }
183
- }
184
- /**
185
- * Set up event forwarding from a handler
186
- * @param handler The handler
187
- * @param config The domain configuration for this handler
188
- */
189
- setupHandlerEvents(handler, config) {
190
- // Forward relevant events
191
- handler.on(ForwardingHandlerEvents.CERTIFICATE_NEEDED, (data) => {
192
- this.emit(DomainManagerEvents.CERTIFICATE_NEEDED, {
193
- ...data,
194
- domains: config.domains
195
- });
196
- });
197
- handler.on(ForwardingHandlerEvents.CERTIFICATE_LOADED, (data) => {
198
- this.emit(DomainManagerEvents.CERTIFICATE_LOADED, {
199
- ...data,
200
- domains: config.domains
201
- });
202
- });
203
- handler.on(ForwardingHandlerEvents.ERROR, (data) => {
204
- this.emit(DomainManagerEvents.ERROR, {
205
- ...data,
206
- domains: config.domains
207
- });
208
- });
209
- }
210
- /**
211
- * Find a handler for a domain using wildcard matching
212
- * @param domain The domain to find a handler for
213
- * @returns The handler or undefined if no match
214
- */
215
- findWildcardHandler(domain) {
216
- // Exact match already checked in findHandlerForDomain
217
- // Try subdomain wildcard (*.example.com)
218
- if (domain.includes('.')) {
219
- const parts = domain.split('.');
220
- if (parts.length > 2) {
221
- const wildcardDomain = `*.${parts.slice(1).join('.')}`;
222
- if (this.domainHandlers.has(wildcardDomain)) {
223
- return this.domainHandlers.get(wildcardDomain);
224
- }
225
- }
226
- }
227
- // Try full wildcard
228
- if (this.domainHandlers.has('*')) {
229
- return this.domainHandlers.get('*');
230
- }
231
- // No match found
232
- return undefined;
233
- }
234
- /**
235
- * Get all domain configurations
236
- * @returns Array of domain configurations
237
- */
238
- getDomainConfigs() {
239
- return [...this.domainConfigs];
240
- }
241
- }
242
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLW1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9mb3J3YXJkaW5nL2NvbmZpZy9kb21haW4tbWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGtCQUFrQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTVFOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBUVg7QUFSRCxXQUFZLG1CQUFtQjtJQUM3QixvREFBNkIsQ0FBQTtJQUM3Qix3REFBaUMsQ0FBQTtJQUNqQyx3REFBaUMsQ0FBQTtJQUNqQyxrRUFBMkMsQ0FBQTtJQUMzQyxnRUFBeUMsQ0FBQTtJQUN6QyxnRUFBeUMsQ0FBQTtJQUN6QyxzQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFSVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBUTlCO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYyxTQUFRLE9BQU8sQ0FBQyxZQUFZO0lBSXJEOzs7T0FHRztJQUNILFlBQVksY0FBZ0M7UUFDMUMsS0FBSyxFQUFFLENBQUM7UUFSRixrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFDcEMsbUJBQWMsR0FBbUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQVNqRSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUF3QjtRQUNwRCwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUU1QiwyQkFB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
@@ -1,5 +0,0 @@
1
- export interface ICertificates {
2
- privateKey: string;
3
- publicKey: string;
4
- }
5
- export declare function loadDefaultCertificates(): ICertificates;