@push.rocks/smartproxy 19.3.1 → 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 +10 -10
  43. package/dist_ts/proxies/smart-proxy/certificate-manager.js +19 -19
  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 +29 -210
  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 +19 -18
  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 +162 -358
  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
@@ -4,7 +4,7 @@ import * as plugins from '../../plugins.js';
4
4
  import { ConnectionManager } from './connection-manager.js';
5
5
  import { SecurityManager } from './security-manager.js';
6
6
  import { TlsManager } from './tls-manager.js';
7
- import { NetworkProxyBridge } from './network-proxy-bridge.js';
7
+ import { HttpProxyBridge } from './http-proxy-bridge.js';
8
8
  import { TimeoutManager } from './timeout-manager.js';
9
9
  import { PortManager } from './port-manager.js';
10
10
  import { RouteManager } from './route-manager.js';
@@ -49,7 +49,7 @@ export class SmartProxy extends plugins.EventEmitter {
49
49
  private connectionManager: ConnectionManager;
50
50
  private securityManager: SecurityManager;
51
51
  private tlsManager: TlsManager;
52
- private networkProxyBridge: NetworkProxyBridge;
52
+ private httpProxyBridge: HttpProxyBridge;
53
53
  private timeoutManager: TimeoutManager;
54
54
  public routeManager: RouteManager; // Made public for route management
55
55
  private routeConnectionHandler: RouteConnectionHandler;
@@ -123,7 +123,7 @@ export class SmartProxy extends plugins.EventEmitter {
123
123
  keepAliveTreatment: settingsArg.keepAliveTreatment || 'extended',
124
124
  keepAliveInactivityMultiplier: settingsArg.keepAliveInactivityMultiplier || 6,
125
125
  extendedKeepAliveLifetime: settingsArg.extendedKeepAliveLifetime || 7 * 24 * 60 * 60 * 1000,
126
- networkProxyPort: settingsArg.networkProxyPort || 8443,
126
+ httpProxyPort: settingsArg.httpProxyPort || 8443,
127
127
  };
128
128
 
129
129
  // Normalize ACME options if provided (support both email and accountEmail)
@@ -164,7 +164,7 @@ export class SmartProxy extends plugins.EventEmitter {
164
164
 
165
165
  // Create other required components
166
166
  this.tlsManager = new TlsManager(this.settings);
167
- this.networkProxyBridge = new NetworkProxyBridge(this.settings);
167
+ this.httpProxyBridge = new HttpProxyBridge(this.settings);
168
168
 
169
169
  // Initialize connection handler with route support
170
170
  this.routeConnectionHandler = new RouteConnectionHandler(
@@ -172,7 +172,7 @@ export class SmartProxy extends plugins.EventEmitter {
172
172
  this.connectionManager,
173
173
  this.securityManager,
174
174
  this.tlsManager,
175
- this.networkProxyBridge,
175
+ this.httpProxyBridge,
176
176
  this.timeoutManager,
177
177
  this.routeManager
178
178
  );
@@ -212,9 +212,9 @@ export class SmartProxy extends plugins.EventEmitter {
212
212
  await this.updateRoutes(routes);
213
213
  });
214
214
 
215
- // Connect with NetworkProxy if available
216
- if (this.networkProxyBridge.getNetworkProxy()) {
217
- certManager.setNetworkProxy(this.networkProxyBridge.getNetworkProxy());
215
+ // Connect with HttpProxy if available
216
+ if (this.httpProxyBridge.getHttpProxy()) {
217
+ certManager.setHttpProxy(this.httpProxyBridge.getHttpProxy());
218
218
  }
219
219
 
220
220
  // Set the ACME state manager
@@ -312,16 +312,16 @@ export class SmartProxy extends plugins.EventEmitter {
312
312
  // Initialize certificate manager before starting servers
313
313
  await this.initializeCertificateManager();
314
314
 
315
- // Initialize and start NetworkProxy if needed
316
- if (this.settings.useNetworkProxy && this.settings.useNetworkProxy.length > 0) {
317
- await this.networkProxyBridge.initialize();
315
+ // Initialize and start HttpProxy if needed
316
+ if (this.settings.useHttpProxy && this.settings.useHttpProxy.length > 0) {
317
+ await this.httpProxyBridge.initialize();
318
318
 
319
- // Connect NetworkProxy with certificate manager
319
+ // Connect HttpProxy with certificate manager
320
320
  if (this.certManager) {
321
- this.certManager.setNetworkProxy(this.networkProxyBridge.getNetworkProxy());
321
+ this.certManager.setHttpProxy(this.httpProxyBridge.getHttpProxy());
322
322
  }
323
323
 
324
- await this.networkProxyBridge.start();
324
+ await this.httpProxyBridge.start();
325
325
  }
326
326
 
327
327
  // Validate the route configuration
@@ -368,7 +368,7 @@ export class SmartProxy extends plugins.EventEmitter {
368
368
  let completedTlsHandshakes = 0;
369
369
  let pendingTlsHandshakes = 0;
370
370
  let keepAliveConnections = 0;
371
- let networkProxyConnections = 0;
371
+ let httpProxyConnections = 0;
372
372
 
373
373
  // Get connection records for analysis
374
374
  const connectionRecords = this.connectionManager.getConnections();
@@ -392,7 +392,7 @@ export class SmartProxy extends plugins.EventEmitter {
392
392
  }
393
393
 
394
394
  if (record.usingNetworkProxy) {
395
- networkProxyConnections++;
395
+ httpProxyConnections++;
396
396
  }
397
397
 
398
398
  maxIncoming = Math.max(maxIncoming, now - record.incomingStartTime);
@@ -408,7 +408,7 @@ export class SmartProxy extends plugins.EventEmitter {
408
408
  console.log(
409
409
  `Active connections: ${connectionRecords.size}. ` +
410
410
  `Types: TLS=${tlsConnections} (Completed=${completedTlsHandshakes}, Pending=${pendingTlsHandshakes}), ` +
411
- `Non-TLS=${nonTlsConnections}, KeepAlive=${keepAliveConnections}, NetworkProxy=${networkProxyConnections}. ` +
411
+ `Non-TLS=${nonTlsConnections}, KeepAlive=${keepAliveConnections}, HttpProxy=${httpProxyConnections}. ` +
412
412
  `Longest running: IN=${plugins.prettyMs(maxIncoming)}, OUT=${plugins.prettyMs(maxOutgoing)}. ` +
413
413
  `Termination stats: ${JSON.stringify({
414
414
  IN: terminationStats.incoming,
@@ -460,8 +460,8 @@ export class SmartProxy extends plugins.EventEmitter {
460
460
  // Clean up all active connections
461
461
  this.connectionManager.clearConnections();
462
462
 
463
- // Stop NetworkProxy
464
- await this.networkProxyBridge.stop();
463
+ // Stop HttpProxy
464
+ await this.httpProxyBridge.stop();
465
465
 
466
466
  // Clear ACME state manager
467
467
  this.acmeStateManager.clear();
@@ -574,9 +574,9 @@ export class SmartProxy extends plugins.EventEmitter {
574
574
  // Update settings with the new routes
575
575
  this.settings.routes = newRoutes;
576
576
 
577
- // If NetworkProxy is initialized, resync the configurations
578
- if (this.networkProxyBridge.getNetworkProxy()) {
579
- await this.networkProxyBridge.syncRoutesToNetworkProxy(newRoutes);
577
+ // If HttpProxy is initialized, resync the configurations
578
+ if (this.httpProxyBridge.getHttpProxy()) {
579
+ await this.httpProxyBridge.syncRoutesToHttpProxy(newRoutes);
580
580
  }
581
581
 
582
582
  // Update certificate manager with new routes
@@ -711,14 +711,14 @@ export class SmartProxy extends plugins.EventEmitter {
711
711
  let tlsConnections = 0;
712
712
  let nonTlsConnections = 0;
713
713
  let keepAliveConnections = 0;
714
- let networkProxyConnections = 0;
714
+ let httpProxyConnections = 0;
715
715
 
716
716
  // Analyze active connections
717
717
  for (const record of connectionRecords.values()) {
718
718
  if (record.isTLS) tlsConnections++;
719
719
  else nonTlsConnections++;
720
720
  if (record.hasKeepAlive) keepAliveConnections++;
721
- if (record.usingNetworkProxy) networkProxyConnections++;
721
+ if (record.usingNetworkProxy) httpProxyConnections++;
722
722
  }
723
723
 
724
724
  return {
@@ -726,7 +726,7 @@ export class SmartProxy extends plugins.EventEmitter {
726
726
  tlsConnections,
727
727
  nonTlsConnections,
728
728
  keepAliveConnections,
729
- networkProxyConnections,
729
+ httpProxyConnections,
730
730
  terminationStats,
731
731
  acmeEnabled: !!this.certManager,
732
732
  port80HandlerPort: this.certManager ? 80 : null,
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Routing functionality module
3
+ */
4
+
5
+ // Export types and models from HttpProxy
6
+ export * from '../proxies/http-proxy/models/http-types.js';
7
+
8
+ // Export router functionality
9
+ export * from './router/index.js';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file re-exports HTTP types from the HttpProxy module
3
+ * for backward compatibility. All HTTP types are now consolidated
4
+ * in the HttpProxy module.
5
+ */
6
+ export * from '../../proxies/http-proxy/models/http-types.js';
@@ -1,5 +1,5 @@
1
1
  import * as plugins from '../../plugins.js';
2
- import type { IReverseProxyConfig } from '../../proxies/network-proxy/models/types.js';
2
+ import type { IReverseProxyConfig } from '../../proxies/http-proxy/models/types.js';
3
3
 
4
4
  /**
5
5
  * Optional path pattern configuration that can be added to proxy configs
@@ -1,6 +1,6 @@
1
1
  import * as plugins from '../../plugins.js';
2
2
  import type { IRouteConfig } from '../../proxies/smart-proxy/models/route-types.js';
3
- import type { ILogger } from '../../proxies/network-proxy/models/types.js';
3
+ import type { ILogger } from '../../proxies/http-proxy/models/types.js';
4
4
 
5
5
  /**
6
6
  * Optional path pattern configuration that can be added to proxy configs
@@ -1,17 +0,0 @@
1
- import type { IAcmeOptions } from '../models/certificate-types.js';
2
- import { Port80Handler } from '../../http/port80/port80-handler.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;
10
- /**
11
- * Creates default ACME options with sensible defaults
12
- * @param email Account email for ACME provider
13
- * @param certificateStore Path to store certificates
14
- * @param useProduction Whether to use production ACME servers
15
- * @returns Configured ACME options
16
- */
17
- export declare function createDefaultAcmeOptions(email: string, certificateStore: string, useProduction?: boolean): IAcmeOptions;
@@ -1,40 +0,0 @@
1
- import * as fs from 'fs';
2
- import * as path from 'path';
3
- import { ensureCertificateDirectory } from '../utils/certificate-helpers.js';
4
- // We'll need to update this import when we move the Port80Handler
5
- import { Port80Handler } from '../../http/port80/port80-handler.js';
6
- /**
7
- * Factory to create a Port80Handler with common setup.
8
- * Ensures the certificate store directory exists and instantiates the handler.
9
- * @param options Port80Handler configuration options
10
- * @returns A new Port80Handler instance
11
- */
12
- export function buildPort80Handler(options) {
13
- if (options.certificateStore) {
14
- ensureCertificateDirectory(options.certificateStore);
15
- console.log(`Ensured certificate store directory: ${options.certificateStore}`);
16
- }
17
- return new Port80Handler(options);
18
- }
19
- /**
20
- * Creates default ACME options with sensible defaults
21
- * @param email Account email for ACME provider
22
- * @param certificateStore Path to store certificates
23
- * @param useProduction Whether to use production ACME servers
24
- * @returns Configured ACME options
25
- */
26
- export function createDefaultAcmeOptions(email, certificateStore, useProduction = false) {
27
- return {
28
- accountEmail: email,
29
- enabled: true,
30
- port: 80,
31
- useProduction,
32
- httpsRedirectPort: 443,
33
- renewThresholdDays: 30,
34
- renewCheckIntervalHours: 24,
35
- autoRenew: true,
36
- certificateStore,
37
- skipConfiguredCerts: false
38
- };
39
- }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNtZS1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvY2VydGlmaWNhdGUvYWNtZS9hY21lLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0Usa0VBQWtFO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVwRTs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FDaEMsT0FBcUI7SUFFckIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM3QiwwQkFBMEIsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLHdDQUF3QyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLEtBQWEsRUFDYixnQkFBd0IsRUFDeEIsZ0JBQXlCLEtBQUs7SUFFOUIsT0FBTztRQUNMLFlBQVksRUFBRSxLQUFLO1FBQ25CLE9BQU8sRUFBRSxJQUFJO1FBQ2IsSUFBSSxFQUFFLEVBQUU7UUFDUixhQUFhO1FBQ2IsaUJBQWlCLEVBQUUsR0FBRztRQUN0QixrQkFBa0IsRUFBRSxFQUFFO1FBQ3RCLHVCQUF1QixFQUFFLEVBQUU7UUFDM0IsU0FBUyxFQUFFLElBQUk7UUFDZixnQkFBZ0I7UUFDaEIsbUJBQW1CLEVBQUUsS0FBSztLQUMzQixDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,44 +0,0 @@
1
- import * as plugins from '../../plugins.js';
2
- import type { IAcmeOptions } from '../models/certificate-types.js';
3
- /**
4
- * Manages ACME challenges and certificate validation
5
- */
6
- export declare class AcmeChallengeHandler extends plugins.EventEmitter {
7
- private options;
8
- private client;
9
- private pendingChallenges;
10
- /**
11
- * Creates a new ACME challenge handler
12
- * @param options ACME configuration options
13
- */
14
- constructor(options: IAcmeOptions);
15
- /**
16
- * Gets or creates the ACME account key
17
- */
18
- private getAccountKey;
19
- /**
20
- * Validates a domain using HTTP-01 challenge
21
- * @param domain Domain to validate
22
- * @param challengeToken ACME challenge token
23
- * @param keyAuthorization Key authorization for the challenge
24
- */
25
- handleHttpChallenge(domain: string, challengeToken: string, keyAuthorization: string): Promise<void>;
26
- /**
27
- * Responds to an HTTP-01 challenge request
28
- * @param token Challenge token from the request path
29
- * @returns The key authorization if found
30
- */
31
- getChallengeResponse(token: string): string | null;
32
- /**
33
- * Checks if a request path is an ACME challenge
34
- * @param path Request path
35
- * @returns True if this is an ACME challenge request
36
- */
37
- isAcmeChallenge(path: string): boolean;
38
- /**
39
- * Extracts the challenge token from an ACME challenge path
40
- * @param path Request path
41
- * @returns The challenge token if valid
42
- */
43
- extractChallengeToken(path: string): string | null;
44
- }
@@ -1,92 +0,0 @@
1
- import * as plugins from '../../plugins.js';
2
- import { CertificateEvents } from '../events/certificate-events.js';
3
- /**
4
- * Manages ACME challenges and certificate validation
5
- */
6
- export class AcmeChallengeHandler extends plugins.EventEmitter {
7
- /**
8
- * Creates a new ACME challenge handler
9
- * @param options ACME configuration options
10
- */
11
- constructor(options) {
12
- super();
13
- this.options = options;
14
- this.pendingChallenges = new Map();
15
- // Initialize ACME client if needed
16
- // This is just a placeholder implementation since we don't use the actual
17
- // client directly in this implementation - it's handled by Port80Handler
18
- this.client = null;
19
- console.log('Created challenge handler with options:', options.accountEmail, options.useProduction ? 'production' : 'staging');
20
- }
21
- /**
22
- * Gets or creates the ACME account key
23
- */
24
- getAccountKey() {
25
- // Implementation details would depend on plugin requirements
26
- // This is a simplified version
27
- if (!this.options.certificateStore) {
28
- throw new Error('Certificate store is required for ACME challenges');
29
- }
30
- // This is just a placeholder - actual implementation would check for
31
- // existing account key and create one if needed
32
- return Buffer.from('account-key-placeholder');
33
- }
34
- /**
35
- * Validates a domain using HTTP-01 challenge
36
- * @param domain Domain to validate
37
- * @param challengeToken ACME challenge token
38
- * @param keyAuthorization Key authorization for the challenge
39
- */
40
- async handleHttpChallenge(domain, challengeToken, keyAuthorization) {
41
- // Store challenge for response
42
- this.pendingChallenges.set(challengeToken, keyAuthorization);
43
- try {
44
- // Wait for challenge validation - this would normally be handled by the ACME client
45
- await new Promise(resolve => setTimeout(resolve, 1000));
46
- this.emit(CertificateEvents.CERTIFICATE_ISSUED, {
47
- domain,
48
- success: true
49
- });
50
- }
51
- catch (error) {
52
- this.emit(CertificateEvents.CERTIFICATE_FAILED, {
53
- domain,
54
- error: error instanceof Error ? error.message : String(error),
55
- isRenewal: false
56
- });
57
- throw error;
58
- }
59
- finally {
60
- // Clean up the challenge
61
- this.pendingChallenges.delete(challengeToken);
62
- }
63
- }
64
- /**
65
- * Responds to an HTTP-01 challenge request
66
- * @param token Challenge token from the request path
67
- * @returns The key authorization if found
68
- */
69
- getChallengeResponse(token) {
70
- return this.pendingChallenges.get(token) || null;
71
- }
72
- /**
73
- * Checks if a request path is an ACME challenge
74
- * @param path Request path
75
- * @returns True if this is an ACME challenge request
76
- */
77
- isAcmeChallenge(path) {
78
- return path.startsWith('/.well-known/acme-challenge/');
79
- }
80
- /**
81
- * Extracts the challenge token from an ACME challenge path
82
- * @param path Request path
83
- * @returns The challenge token if valid
84
- */
85
- extractChallengeToken(path) {
86
- if (!this.isAcmeChallenge(path))
87
- return null;
88
- const parts = path.split('/');
89
- return parts[parts.length - 1] || null;
90
- }
91
- }
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbGxlbmdlLWhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jZXJ0aWZpY2F0ZS9hY21lL2NoYWxsZW5nZS1oYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sa0JBQWtCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsT0FBTyxDQUFDLFlBQVk7SUFLNUQ7OztPQUdHO0lBQ0gsWUFBWSxPQUFxQjtRQUMvQixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRW5DLG1DQUFtQztRQUNuQywwRUFBMEU7UUFDMUUseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxHQUFHLENBQUMseUNBQXlDLEVBQ25ELE9BQU8sQ0FBQyxZQUFZLEVBQ3BCLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUNqRCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQiw2REFBNkQ7UUFDN0QsK0JBQStCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxxRUFBcUU7UUFDckUsZ0RBQWdEO1FBQ2hELE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxtQkFBbUIsQ0FDOUIsTUFBYyxFQUNkLGNBQXNCLEVBQ3RCLGdCQUF3QjtRQUV4QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUM7WUFDSCxvRkFBb0Y7WUFDcEYsTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFO2dCQUM5QyxNQUFNO2dCQUNOLE9BQU8sRUFBRSxJQUFJO2FBQ2QsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixFQUFFO2dCQUM5QyxNQUFNO2dCQUNOLEtBQUssRUFBRSxLQUFLLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO2dCQUM3RCxTQUFTLEVBQUUsS0FBSzthQUNqQixDQUFDLENBQUM7WUFDSCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7Z0JBQVMsQ0FBQztZQUNULHlCQUF5QjtZQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixDQUFDLEtBQWE7UUFDdkMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGVBQWUsQ0FBQyxJQUFZO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0kscUJBQXFCLENBQUMsSUFBWTtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQztRQUU3QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3pDLENBQUM7Q0FDRiJ9
@@ -1,4 +0,0 @@
1
- export {};
2
- /**
3
- * ACME certificate provisioning
4
- */
@@ -1,5 +0,0 @@
1
- export {};
2
- /**
3
- * ACME certificate provisioning
4
- */
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jZXJ0aWZpY2F0ZS9hY21lL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRyJ9
@@ -1,150 +0,0 @@
1
- /**
2
- * Unified certificate manager for SmartProxy
3
- */
4
- import * as plugins from '../plugins.js';
5
- import type { CertProvider } from './models/certificate-strategy.js';
6
- import type { CertificateEventMap, ICertificateEventEmitter } from './events/certificate-events.js';
7
- import type { IRouteConfig } from '../proxies/smart-proxy/models/route-types.js';
8
- /**
9
- * Certificate storage format
10
- */
11
- interface StoredCertificate {
12
- domain: string;
13
- certificate: string;
14
- privateKey: string;
15
- expiresAt: Date;
16
- source: 'acme-http' | 'acme-dns' | 'static';
17
- }
18
- /**
19
- * Certificate manager configuration
20
- */
21
- export interface CertificateManagerConfig {
22
- certProvider: CertProvider;
23
- acmeEmail: string;
24
- acmeServer: 'production' | 'staging';
25
- storageDir?: string;
26
- renewBeforeDays?: number;
27
- defaultCertPath?: string;
28
- defaultKeyPath?: string;
29
- }
30
- /**
31
- * Unified certificate manager
32
- */
33
- export declare class CertificateManager extends plugins.EventEmitter implements ICertificateEventEmitter {
34
- private config;
35
- private certificateCache;
36
- private acmeClient;
37
- private renewalTimer?;
38
- private pendingRequests;
39
- constructor(config: CertificateManagerConfig);
40
- /**
41
- * Initialize the certificate manager
42
- */
43
- start(): Promise<void>;
44
- /**
45
- * Stop the certificate manager
46
- */
47
- stop(): Promise<void>;
48
- /**
49
- * Get a certificate for a domain (main entry point)
50
- */
51
- getCertificate(domain: string): Promise<StoredCertificate>;
52
- /**
53
- * Request a new certificate
54
- */
55
- private requestCertificate;
56
- /**
57
- * Request certificate via ACME HTTP-01
58
- */
59
- private requestAcmeHttpCertificate;
60
- /**
61
- * Request certificate via ACME DNS-01
62
- */
63
- private requestAcmeDnsCertificate;
64
- /**
65
- * Renew a certificate
66
- */
67
- renewCertificate(domain: string): Promise<StoredCertificate>;
68
- /**
69
- * Check certificates for renewal
70
- */
71
- private checkForRenewals;
72
- /**
73
- * Initialize ACME client
74
- */
75
- private initializeAcmeClient;
76
- /**
77
- * Load stored certificates from disk
78
- */
79
- private loadStoredCertificates;
80
- /**
81
- * Store certificate to disk
82
- */
83
- private storeCertificate;
84
- /**
85
- * Ensure storage directory exists
86
- */
87
- private ensureStorageDir;
88
- /**
89
- * Get or create ACME account key
90
- */
91
- private getOrCreateAccountKey;
92
- /**
93
- * Generate keypair for certificate
94
- */
95
- private generateKeypair;
96
- /**
97
- * Generate CSR for domain
98
- */
99
- private generateCsr;
100
- /**
101
- * Extract expiry date from certificate
102
- */
103
- private extractExpiryDate;
104
- /**
105
- * Check if certificate is valid
106
- */
107
- private isCertificateValid;
108
- /**
109
- * Check if certificate should be renewed
110
- */
111
- private shouldRenew;
112
- /**
113
- * Check if certificate is expiring soon
114
- */
115
- private isExpiringSoon;
116
- /**
117
- * Get days remaining until expiry
118
- */
119
- private getDaysRemaining;
120
- /**
121
- * Start renewal timer
122
- */
123
- private startRenewalTimer;
124
- /**
125
- * Get default certificate for SNI fallback
126
- */
127
- getDefaultCertificate(): Promise<{
128
- cert: string;
129
- key: string;
130
- }>;
131
- /**
132
- * Set up HTTP challenge responder
133
- */
134
- private setupHttpChallenge;
135
- /**
136
- * Clean up HTTP challenge
137
- */
138
- private cleanupHttpChallenge;
139
- /**
140
- * Type assertion for event emitter
141
- */
142
- on<K extends keyof CertificateEventMap>(event: K, listener: (data: CertificateEventMap[K]) => void): this;
143
- off<K extends keyof CertificateEventMap>(event: K, listener: (data: CertificateEventMap[K]) => void): this;
144
- emit<K extends keyof CertificateEventMap>(event: K, data: CertificateEventMap[K]): boolean;
145
- /**
146
- * Update routes (placeholder for future implementation)
147
- */
148
- updateRoutes(routes: IRouteConfig[]): Promise<void>;
149
- }
150
- export {};