@push.rocks/smartproxy 19.3.2 → 19.3.4

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 +18 -35
  66. package/readme.plan.md +173 -271
  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,13 +0,0 @@
1
- /**
2
- * Simplified certificate event system
3
- */
4
- /**
5
- * Certificate event types - only the essentials
6
- */
7
- export var CertificateEvent;
8
- (function (CertificateEvent) {
9
- CertificateEvent["OBTAINED"] = "certificate:obtained";
10
- CertificateEvent["FAILED"] = "certificate:failed";
11
- CertificateEvent["EXPIRING"] = "certificate:expiring";
12
- })(CertificateEvent || (CertificateEvent = {}));
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxpZmllZC1ldmVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jZXJ0aWZpY2F0ZS9ldmVudHMvc2ltcGxpZmllZC1ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFJSDs7R0FFRztBQUNILE1BQU0sQ0FBTixJQUFZLGdCQUlYO0FBSkQsV0FBWSxnQkFBZ0I7SUFDMUIscURBQWlDLENBQUE7SUFDakMsaURBQTZCLENBQUE7SUFDN0IscURBQWlDLENBQUE7QUFDbkMsQ0FBQyxFQUpXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFJM0IifQ==
@@ -1,30 +0,0 @@
1
- /**
2
- * Certificate management module for SmartProxy
3
- * Provides certificate provisioning, storage, and management capabilities
4
- */
5
- export * from './models/certificate-types.js';
6
- export * from './events/certificate-events.js';
7
- export * from './providers/cert-provisioner.js';
8
- export * from './acme/acme-factory.js';
9
- export * from './acme/challenge-handler.js';
10
- export * from './utils/certificate-helpers.js';
11
- export * from './storage/file-storage.js';
12
- import { CertProvisioner } from './providers/cert-provisioner.js';
13
- import type { TCertProvisionObject } from './providers/cert-provisioner.js';
14
- import type { IAcmeOptions } from './models/certificate-types.js';
15
- import type { IRouteConfig } from '../proxies/smart-proxy/models/route-types.js';
16
- /**
17
- * Interface for NetworkProxyBridge used by CertProvisioner
18
- */
19
- interface ICertNetworkProxyBridge {
20
- applyExternalCertificate(certData: any): void;
21
- }
22
- /**
23
- * Creates a complete certificate provisioning system with default settings
24
- * @param routeConfigs Route configurations that may need certificates
25
- * @param acmeOptions ACME options for certificate provisioning
26
- * @param networkProxyBridge Bridge to apply certificates to network proxy
27
- * @param certProvider Optional custom certificate provider
28
- * @returns Configured CertProvisioner
29
- */
30
- export declare function createCertificateProvisioner(routeConfigs: IRouteConfig[], acmeOptions: IAcmeOptions, networkProxyBridge: ICertNetworkProxyBridge, certProvider?: (domain: string) => Promise<TCertProvisionObject>): CertProvisioner;
@@ -1,37 +0,0 @@
1
- /**
2
- * Certificate management module for SmartProxy
3
- * Provides certificate provisioning, storage, and management capabilities
4
- */
5
- // Certificate types and models
6
- export * from './models/certificate-types.js';
7
- // Certificate events
8
- export * from './events/certificate-events.js';
9
- // Certificate providers
10
- export * from './providers/cert-provisioner.js';
11
- // ACME related exports
12
- export * from './acme/acme-factory.js';
13
- export * from './acme/challenge-handler.js';
14
- // Certificate utilities
15
- export * from './utils/certificate-helpers.js';
16
- // Certificate storage
17
- export * from './storage/file-storage.js';
18
- // Convenience function to create a certificate provisioner with common settings
19
- import { CertProvisioner } from './providers/cert-provisioner.js';
20
- import { buildPort80Handler } from './acme/acme-factory.js';
21
- /**
22
- * Creates a complete certificate provisioning system with default settings
23
- * @param routeConfigs Route configurations that may need certificates
24
- * @param acmeOptions ACME options for certificate provisioning
25
- * @param networkProxyBridge Bridge to apply certificates to network proxy
26
- * @param certProvider Optional custom certificate provider
27
- * @returns Configured CertProvisioner
28
- */
29
- export function createCertificateProvisioner(routeConfigs, acmeOptions, networkProxyBridge, certProvider) {
30
- // Build the Port80Handler for ACME challenges
31
- const port80Handler = buildPort80Handler(acmeOptions);
32
- // Extract ACME-specific configuration
33
- const { renewThresholdDays = 30, renewCheckIntervalHours = 24, autoRenew = true, routeForwards = [] } = acmeOptions;
34
- // Create and return the certificate provisioner
35
- return new CertProvisioner(routeConfigs, port80Handler, networkProxyBridge, certProvider, renewThresholdDays, renewCheckIntervalHours, autoRenew, routeForwards);
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jZXJ0aWZpY2F0ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCwrQkFBK0I7QUFDL0IsY0FBYywrQkFBK0IsQ0FBQztBQUU5QyxxQkFBcUI7QUFDckIsY0FBYyxnQ0FBZ0MsQ0FBQztBQUUvQyx3QkFBd0I7QUFDeEIsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCx1QkFBdUI7QUFDdkIsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLHdCQUF3QjtBQUN4QixjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLHNCQUFzQjtBQUN0QixjQUFjLDJCQUEyQixDQUFDO0FBRTFDLGdGQUFnRjtBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFXNUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsWUFBNEIsRUFDNUIsV0FBeUIsRUFDekIsa0JBQTJDLEVBQzNDLFlBQWdFO0lBRWhFLDhDQUE4QztJQUM5QyxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0RCxzQ0FBc0M7SUFDdEMsTUFBTSxFQUNKLGtCQUFrQixHQUFHLEVBQUUsRUFDdkIsdUJBQXVCLEdBQUcsRUFBRSxFQUM1QixTQUFTLEdBQUcsSUFBSSxFQUNoQixhQUFhLEdBQUcsRUFBRSxFQUNuQixHQUFHLFdBQVcsQ0FBQztJQUVoQixnREFBZ0Q7SUFDaEQsT0FBTyxJQUFJLGVBQWUsQ0FDeEIsWUFBWSxFQUNaLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGFBQWEsQ0FDZCxDQUFDO0FBQ0osQ0FBQyJ9
@@ -1,69 +0,0 @@
1
- /**
2
- * Structured error types for certificate management
3
- */
4
- export interface CertificateErrorDetails {
5
- code: string;
6
- message: string;
7
- solution?: string;
8
- domain?: string;
9
- challengeType?: 'http' | 'dns';
10
- details?: Record<string, any>;
11
- cause?: Error;
12
- }
13
- /**
14
- * Certificate-specific error class with structured information
15
- */
16
- export declare class CertificateError extends Error {
17
- readonly code: string;
18
- readonly solution?: string;
19
- readonly domain?: string;
20
- readonly challengeType?: 'http' | 'dns';
21
- readonly details?: Record<string, any>;
22
- readonly cause?: Error;
23
- constructor(details: CertificateErrorDetails);
24
- /**
25
- * Convert error to JSON for logging
26
- */
27
- toJSON(): Record<string, any>;
28
- }
29
- /**
30
- * Common certificate error codes
31
- */
32
- export declare const CertificateErrorCodes: {
33
- readonly NO_CERT_PROVIDER: "NO_CERT_PROVIDER";
34
- readonly INVALID_CERT_PROVIDER: "INVALID_CERT_PROVIDER";
35
- readonly MISSING_ACME_EMAIL: "MISSING_ACME_EMAIL";
36
- readonly ACME_HTTP_CHALLENGE_FAILED: "ACME_HTTP_CHALLENGE_FAILED";
37
- readonly ACME_DNS_CHALLENGE_FAILED: "ACME_DNS_CHALLENGE_FAILED";
38
- readonly ACME_RATE_LIMITED: "ACME_RATE_LIMITED";
39
- readonly ACME_ACCOUNT_ERROR: "ACME_ACCOUNT_ERROR";
40
- readonly ACME_VALIDATION_ERROR: "ACME_VALIDATION_ERROR";
41
- readonly CERTIFICATE_EXPIRED: "CERTIFICATE_EXPIRED";
42
- readonly CERTIFICATE_INVALID: "CERTIFICATE_INVALID";
43
- readonly CERTIFICATE_NOT_FOUND: "CERTIFICATE_NOT_FOUND";
44
- readonly CERTIFICATE_PARSE_ERROR: "CERTIFICATE_PARSE_ERROR";
45
- readonly STORAGE_READ_ERROR: "STORAGE_READ_ERROR";
46
- readonly STORAGE_WRITE_ERROR: "STORAGE_WRITE_ERROR";
47
- readonly STORAGE_PERMISSION_ERROR: "STORAGE_PERMISSION_ERROR";
48
- readonly NETWORK_TIMEOUT: "NETWORK_TIMEOUT";
49
- readonly NETWORK_UNREACHABLE: "NETWORK_UNREACHABLE";
50
- readonly DNS_RESOLUTION_FAILED: "DNS_RESOLUTION_FAILED";
51
- readonly INVALID_DOMAIN: "INVALID_DOMAIN";
52
- readonly WILDCARD_NOT_SUPPORTED: "WILDCARD_NOT_SUPPORTED";
53
- readonly DOMAIN_NOT_CONFIGURED: "DOMAIN_NOT_CONFIGURED";
54
- };
55
- /**
56
- * Helper functions for creating common certificate errors
57
- */
58
- export declare const CertificateErrors: {
59
- noCertProvider: () => CertificateError;
60
- invalidCertProvider: (error: Error) => CertificateError;
61
- missingAcmeEmail: () => CertificateError;
62
- acmeHttpChallengeFailed: (domain: string, details?: any) => CertificateError;
63
- acmeDnsChallengeFailed: (domain: string, details?: any) => CertificateError;
64
- acmeRateLimited: (domain: string, resetTime?: Date) => CertificateError;
65
- certificateExpired: (domain: string, expiredAt: Date) => CertificateError;
66
- certificateNotFound: (domain: string) => CertificateError;
67
- wildcardNotSupported: (domain: string) => CertificateError;
68
- storageError: (operation: "read" | "write", path: string, error: Error) => CertificateError;
69
- };
@@ -1,141 +0,0 @@
1
- /**
2
- * Structured error types for certificate management
3
- */
4
- /**
5
- * Certificate-specific error class with structured information
6
- */
7
- export class CertificateError extends Error {
8
- constructor(details) {
9
- super(details.message);
10
- this.name = 'CertificateError';
11
- this.code = details.code;
12
- this.solution = details.solution;
13
- this.domain = details.domain;
14
- this.challengeType = details.challengeType;
15
- this.details = details.details;
16
- this.cause = details.cause;
17
- }
18
- /**
19
- * Convert error to JSON for logging
20
- */
21
- toJSON() {
22
- return {
23
- name: this.name,
24
- code: this.code,
25
- message: this.message,
26
- solution: this.solution,
27
- domain: this.domain,
28
- challengeType: this.challengeType,
29
- details: this.details,
30
- cause: this.cause?.message,
31
- stack: this.stack
32
- };
33
- }
34
- }
35
- /**
36
- * Common certificate error codes
37
- */
38
- export const CertificateErrorCodes = {
39
- // Configuration errors
40
- NO_CERT_PROVIDER: 'NO_CERT_PROVIDER',
41
- INVALID_CERT_PROVIDER: 'INVALID_CERT_PROVIDER',
42
- MISSING_ACME_EMAIL: 'MISSING_ACME_EMAIL',
43
- // ACME errors
44
- ACME_HTTP_CHALLENGE_FAILED: 'ACME_HTTP_CHALLENGE_FAILED',
45
- ACME_DNS_CHALLENGE_FAILED: 'ACME_DNS_CHALLENGE_FAILED',
46
- ACME_RATE_LIMITED: 'ACME_RATE_LIMITED',
47
- ACME_ACCOUNT_ERROR: 'ACME_ACCOUNT_ERROR',
48
- ACME_VALIDATION_ERROR: 'ACME_VALIDATION_ERROR',
49
- // Certificate errors
50
- CERTIFICATE_EXPIRED: 'CERTIFICATE_EXPIRED',
51
- CERTIFICATE_INVALID: 'CERTIFICATE_INVALID',
52
- CERTIFICATE_NOT_FOUND: 'CERTIFICATE_NOT_FOUND',
53
- CERTIFICATE_PARSE_ERROR: 'CERTIFICATE_PARSE_ERROR',
54
- // Storage errors
55
- STORAGE_READ_ERROR: 'STORAGE_READ_ERROR',
56
- STORAGE_WRITE_ERROR: 'STORAGE_WRITE_ERROR',
57
- STORAGE_PERMISSION_ERROR: 'STORAGE_PERMISSION_ERROR',
58
- // Network errors
59
- NETWORK_TIMEOUT: 'NETWORK_TIMEOUT',
60
- NETWORK_UNREACHABLE: 'NETWORK_UNREACHABLE',
61
- DNS_RESOLUTION_FAILED: 'DNS_RESOLUTION_FAILED',
62
- // Domain errors
63
- INVALID_DOMAIN: 'INVALID_DOMAIN',
64
- WILDCARD_NOT_SUPPORTED: 'WILDCARD_NOT_SUPPORTED',
65
- DOMAIN_NOT_CONFIGURED: 'DOMAIN_NOT_CONFIGURED'
66
- };
67
- /**
68
- * Helper functions for creating common certificate errors
69
- */
70
- export const CertificateErrors = {
71
- noCertProvider: () => new CertificateError({
72
- code: CertificateErrorCodes.NO_CERT_PROVIDER,
73
- message: 'Certificate provider is required when ACME is enabled',
74
- solution: 'Configure a certProvider in your SmartProxy options'
75
- }),
76
- invalidCertProvider: (error) => new CertificateError({
77
- code: CertificateErrorCodes.INVALID_CERT_PROVIDER,
78
- message: 'Certificate provider returned invalid response',
79
- solution: 'Ensure your certProvider returns a valid CertificateStrategy',
80
- cause: error
81
- }),
82
- missingAcmeEmail: () => new CertificateError({
83
- code: CertificateErrorCodes.MISSING_ACME_EMAIL,
84
- message: 'ACME email is required for certificate provisioning',
85
- solution: 'Configure acme.email in your SmartProxy options'
86
- }),
87
- acmeHttpChallengeFailed: (domain, details) => new CertificateError({
88
- code: CertificateErrorCodes.ACME_HTTP_CHALLENGE_FAILED,
89
- message: `HTTP-01 challenge failed for ${domain}`,
90
- solution: 'Ensure port 80 is accessible and DNS points to this server',
91
- domain,
92
- challengeType: 'http',
93
- details
94
- }),
95
- acmeDnsChallengeFailed: (domain, details) => new CertificateError({
96
- code: CertificateErrorCodes.ACME_DNS_CHALLENGE_FAILED,
97
- message: `DNS-01 challenge failed for ${domain}`,
98
- solution: 'Verify DNS TXT record is correctly set for the domain',
99
- domain,
100
- challengeType: 'dns',
101
- details
102
- }),
103
- acmeRateLimited: (domain, resetTime) => new CertificateError({
104
- code: CertificateErrorCodes.ACME_RATE_LIMITED,
105
- message: `ACME rate limit exceeded for ${domain}`,
106
- solution: resetTime
107
- ? `Wait until ${resetTime.toISOString()} before retrying`
108
- : 'Wait before retrying or use staging environment for testing',
109
- domain,
110
- details: { resetTime }
111
- }),
112
- certificateExpired: (domain, expiredAt) => new CertificateError({
113
- code: CertificateErrorCodes.CERTIFICATE_EXPIRED,
114
- message: `Certificate for ${domain} expired at ${expiredAt.toISOString()}`,
115
- solution: 'Renew the certificate or configure automatic renewal',
116
- domain,
117
- details: { expiredAt }
118
- }),
119
- certificateNotFound: (domain) => new CertificateError({
120
- code: CertificateErrorCodes.CERTIFICATE_NOT_FOUND,
121
- message: `No certificate found for ${domain}`,
122
- solution: 'Request a new certificate or provide a static certificate',
123
- domain
124
- }),
125
- wildcardNotSupported: (domain) => new CertificateError({
126
- code: CertificateErrorCodes.WILDCARD_NOT_SUPPORTED,
127
- message: `Wildcard domain ${domain} requires DNS-01 challenge`,
128
- solution: 'Configure your certProvider to return acme-dns strategy for wildcards',
129
- domain
130
- }),
131
- storageError: (operation, path, error) => new CertificateError({
132
- code: operation === 'read'
133
- ? CertificateErrorCodes.STORAGE_READ_ERROR
134
- : CertificateErrorCodes.STORAGE_WRITE_ERROR,
135
- message: `Failed to ${operation} certificate at ${path}`,
136
- solution: `Check file permissions and ensure directory exists`,
137
- details: { path },
138
- cause: error
139
- })
140
- };
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHMvY2VydGlmaWNhdGUvbW9kZWxzL2NlcnRpZmljYXRlLWVycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQVlIOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFpQixTQUFRLEtBQUs7SUFRekMsWUFBWSxPQUFnQztRQUMxQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU87WUFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxL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
@@ -1,60 +0,0 @@
1
- /**
2
- * Certificate strategy types for SmartProxy
3
- */
4
- /**
5
- * Certificate strategy types
6
- */
7
- export type CertificateStrategy = {
8
- type: 'acme-http';
9
- } | {
10
- type: 'acme-dns';
11
- } | {
12
- type: 'static';
13
- cert: string;
14
- key: string;
15
- expiresAt?: Date;
16
- } | {
17
- type: 'skip';
18
- };
19
- /**
20
- * Certificate provider function type
21
- */
22
- export type CertProvider = (domain: string) => Promise<CertificateStrategy>;
23
- /**
24
- * Helper functions for creating certificate strategies
25
- */
26
- export declare const CertStrategies: {
27
- /**
28
- * Use ACME HTTP-01 challenge
29
- */
30
- acmeHttp: () => CertificateStrategy;
31
- /**
32
- * Use ACME DNS-01 challenge (required for wildcards)
33
- */
34
- acmeDns: () => CertificateStrategy;
35
- /**
36
- * Use static certificate
37
- */
38
- static: (cert: string, key: string, expiresAt?: Date) => CertificateStrategy;
39
- /**
40
- * Skip certificate provisioning for this domain
41
- */
42
- skip: () => CertificateStrategy;
43
- };
44
- /**
45
- * Built-in certificate providers
46
- */
47
- export declare const defaultCertProviders: {
48
- /**
49
- * Standard ACME provider: HTTP-01 for regular domains, DNS-01 for wildcards
50
- */
51
- standard: (domain: string) => Promise<CertificateStrategy>;
52
- /**
53
- * Use static certificates from disk if available, fallback to ACME
54
- */
55
- withStaticFallback: (certDir: string) => (domain: string) => Promise<CertificateStrategy>;
56
- /**
57
- * Always skip certificate provisioning
58
- */
59
- skip: () => Promise<CertificateStrategy>;
60
- };
@@ -1,73 +0,0 @@
1
- /**
2
- * Certificate strategy types for SmartProxy
3
- */
4
- /**
5
- * Helper functions for creating certificate strategies
6
- */
7
- export const CertStrategies = {
8
- /**
9
- * Use ACME HTTP-01 challenge
10
- */
11
- acmeHttp: () => ({ type: 'acme-http' }),
12
- /**
13
- * Use ACME DNS-01 challenge (required for wildcards)
14
- */
15
- acmeDns: () => ({ type: 'acme-dns' }),
16
- /**
17
- * Use static certificate
18
- */
19
- static: (cert, key, expiresAt) => ({
20
- type: 'static',
21
- cert,
22
- key,
23
- expiresAt
24
- }),
25
- /**
26
- * Skip certificate provisioning for this domain
27
- */
28
- skip: () => ({ type: 'skip' })
29
- };
30
- /**
31
- * Built-in certificate providers
32
- */
33
- export const defaultCertProviders = {
34
- /**
35
- * Standard ACME provider: HTTP-01 for regular domains, DNS-01 for wildcards
36
- */
37
- standard: (domain) => {
38
- return Promise.resolve(domain.includes('*')
39
- ? CertStrategies.acmeDns()
40
- : CertStrategies.acmeHttp());
41
- },
42
- /**
43
- * Use static certificates from disk if available, fallback to ACME
44
- */
45
- withStaticFallback: (certDir) => {
46
- return async (domain) => {
47
- const fs = await import('fs/promises');
48
- const path = await import('path');
49
- const certPath = path.join(certDir, `${domain}.crt`);
50
- const keyPath = path.join(certDir, `${domain}.key`);
51
- try {
52
- const [cert, key] = await Promise.all([
53
- fs.readFile(certPath, 'utf-8'),
54
- fs.readFile(keyPath, 'utf-8')
55
- ]);
56
- return CertStrategies.static(cert, key);
57
- }
58
- catch {
59
- // File not found, fallback to ACME
60
- return domain.includes('*')
61
- ? CertStrategies.acmeDns()
62
- : CertStrategies.acmeHttp();
63
- }
64
- };
65
- },
66
- /**
67
- * Always skip certificate provisioning
68
- */
69
- skip: () => {
70
- return Promise.resolve(CertStrategies.skip());
71
- }
72
- };
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jZXJ0aWZpY2F0ZS9tb2RlbHMvY2VydGlmaWNhdGUtc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFnQkg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUI7O09BRUc7SUFDSCxRQUFRLEVBQUUsR0FBd0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFFNUQ7O09BRUc7SUFDSCxPQUFPLEVBQUUsR0FBd0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFFMUQ7O09BRUc7SUFDSCxNQUFNLEVBQUUsQ0FBQyxJQUFZLEVBQUUsR0FBVyxFQUFFLFNBQWdCLEVBQXVCLEVBQUUsQ0FBQyxDQUFDO1FBQzdFLElBQUksRUFBRSxRQUFRO1FBQ2QsSUFBSTtRQUNKLEdBQUc7UUFDSCxTQUFTO0tBQ1YsQ0FBQztJQUVGOztPQUVHO0lBQ0gsSUFBSSxFQUFFLEdBQXdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0NBQ3BELENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHO0lBQ2xDOztPQUVHO0lBQ0gsUUFBUSxFQUFFLENBQUMsTUFBYyxFQUFnQyxFQUFFO1FBQ3pELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7WUFDbEIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FDOUIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixFQUFFLENBQUMsT0FBZSxFQUFFLEVBQUU7UUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBYyxFQUFnQyxFQUFFO1lBQzVELE1BQU0sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRWxDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsQ0FBQztZQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLENBQUM7WUFFcEQsSUFBSSxDQUFDO2dCQUNILE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO29CQUNwQyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7b0JBQzlCLEVBQUUsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztpQkFDOUIsQ0FBQyxDQUFDO2dCQUVILE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDMUMsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxtQ0FBbUM7Z0JBQ25DLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO29CQUMxQixDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLENBQUM7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEVBQUUsR0FBaUMsRUFBRTtRQUN2QyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGLENBQUMifQ==
@@ -1,97 +0,0 @@
1
- /**
2
- * Certificate data structure containing all necessary information
3
- * about a certificate
4
- */
5
- export interface ICertificateData {
6
- domain: string;
7
- certificate: string;
8
- privateKey: string;
9
- expiryDate: Date;
10
- source?: 'static' | 'http01' | 'dns01';
11
- isRenewal?: boolean;
12
- routeReference?: {
13
- routeId?: string;
14
- routeName?: string;
15
- };
16
- }
17
- /**
18
- * Certificates pair (private and public keys)
19
- */
20
- export interface ICertificates {
21
- privateKey: string;
22
- publicKey: string;
23
- }
24
- /**
25
- * Certificate failure payload type
26
- */
27
- export interface ICertificateFailure {
28
- domain: string;
29
- error: string;
30
- isRenewal: boolean;
31
- routeReference?: {
32
- routeId?: string;
33
- routeName?: string;
34
- };
35
- }
36
- /**
37
- * Certificate expiry payload type
38
- */
39
- export interface ICertificateExpiring {
40
- domain: string;
41
- expiryDate: Date;
42
- daysRemaining: number;
43
- routeReference?: {
44
- routeId?: string;
45
- routeName?: string;
46
- };
47
- }
48
- /**
49
- * Route-specific forwarding configuration for ACME challenges
50
- */
51
- export interface IRouteForwardConfig {
52
- domain: string;
53
- target: {
54
- host: string;
55
- port: number;
56
- };
57
- sslRedirect?: boolean;
58
- }
59
- /**
60
- * Domain configuration options for Port80Handler
61
- *
62
- * This is used internally by the Port80Handler to manage domains
63
- * but will eventually be replaced with route-based options.
64
- */
65
- export interface IDomainOptions {
66
- domainName: string;
67
- sslRedirect: boolean;
68
- acmeMaintenance: boolean;
69
- forward?: {
70
- ip: string;
71
- port: number;
72
- };
73
- acmeForward?: {
74
- ip: string;
75
- port: number;
76
- };
77
- routeReference?: {
78
- routeId?: string;
79
- routeName?: string;
80
- };
81
- }
82
- /**
83
- * Unified ACME configuration options used across proxies and handlers
84
- */
85
- export interface IAcmeOptions {
86
- accountEmail?: string;
87
- enabled?: boolean;
88
- port?: number;
89
- useProduction?: boolean;
90
- httpsRedirectPort?: number;
91
- renewThresholdDays?: number;
92
- renewCheckIntervalHours?: number;
93
- autoRenew?: boolean;
94
- certificateStore?: string;
95
- skipConfiguredCerts?: boolean;
96
- routeForwards?: IRouteForwardConfig[];
97
- }
@@ -1,2 +0,0 @@
1
- import * as plugins from '../../plugins.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90cy9jZXJ0aWZpY2F0ZS9tb2RlbHMvY2VydGlmaWNhdGUtdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQyJ9
@@ -1,119 +0,0 @@
1
- import * as plugins from '../../plugins.js';
2
- import type { IRouteConfig } from '../../proxies/smart-proxy/models/route-types.js';
3
- import type { ICertificateData, IRouteForwardConfig } from '../models/certificate-types.js';
4
- import { Port80Handler } from '../../http/port80/port80-handler.js';
5
- interface INetworkProxyBridge {
6
- applyExternalCertificate(certData: ICertificateData): void;
7
- }
8
- /**
9
- * Type for static certificate provisioning
10
- */
11
- export type TCertProvisionObject = plugins.tsclass.network.ICert | 'http01' | 'dns01';
12
- /**
13
- * CertProvisioner manages certificate provisioning and renewal workflows,
14
- * unifying static certificates and HTTP-01 challenges via Port80Handler.
15
- *
16
- * This class directly works with route configurations instead of converting to domain configs.
17
- */
18
- export declare class CertProvisioner extends plugins.EventEmitter {
19
- private routeConfigs;
20
- private certRoutes;
21
- private port80Handler;
22
- private networkProxyBridge;
23
- private certProvisionFunction?;
24
- private routeForwards;
25
- private renewThresholdDays;
26
- private renewCheckIntervalHours;
27
- private autoRenew;
28
- private renewManager?;
29
- private provisionMap;
30
- /**
31
- * Extract routes that need certificates
32
- * @param routes Route configurations
33
- */
34
- private extractCertificateRoutesFromRoutes;
35
- /**
36
- * Constructor for CertProvisioner
37
- *
38
- * @param routeConfigs Array of route configurations
39
- * @param port80Handler HTTP-01 challenge handler instance
40
- * @param networkProxyBridge Bridge for applying external certificates
41
- * @param certProvider Optional callback returning a static cert or 'http01'
42
- * @param renewThresholdDays Days before expiry to trigger renewals
43
- * @param renewCheckIntervalHours Interval in hours to check for renewals
44
- * @param autoRenew Whether to automatically schedule renewals
45
- * @param routeForwards Route-specific forwarding configs for ACME challenges
46
- */
47
- constructor(routeConfigs: IRouteConfig[], port80Handler: Port80Handler, networkProxyBridge: INetworkProxyBridge, certProvider?: (domain: string) => Promise<TCertProvisionObject>, renewThresholdDays?: number, renewCheckIntervalHours?: number, autoRenew?: boolean, routeForwards?: IRouteForwardConfig[]);
48
- /**
49
- * Start initial provisioning and schedule renewals.
50
- */
51
- start(): Promise<void>;
52
- /**
53
- * Set up event subscriptions for certificate events
54
- */
55
- private setupEventSubscriptions;
56
- /**
57
- * Find a route for a given domain
58
- */
59
- private findRouteForDomain;
60
- /**
61
- * Set up forwarding configurations for the Port80Handler
62
- */
63
- private setupForwardingConfigs;
64
- /**
65
- * Provision certificates for all routes that need them
66
- */
67
- private provisionAllCertificates;
68
- /**
69
- * Provision a certificate for a route
70
- */
71
- private provisionCertificateForRoute;
72
- /**
73
- * Schedule certificate renewals using a task manager
74
- */
75
- private scheduleRenewals;
76
- /**
77
- * Perform renewals for all domains that need it
78
- */
79
- private performRenewals;
80
- /**
81
- * Renew a certificate for a specific domain
82
- * @param domain Domain to renew
83
- * @param provisionType Type of provisioning for this domain
84
- * @param certRoute The route reference for this domain
85
- */
86
- private renewCertificateForDomain;
87
- /**
88
- * Stop all scheduled renewal tasks.
89
- */
90
- stop(): Promise<void>;
91
- /**
92
- * Request a certificate on-demand for the given domain.
93
- * This will look for a matching route configuration and provision accordingly.
94
- *
95
- * @param domain Domain name to provision
96
- */
97
- requestCertificate(domain: string): Promise<void>;
98
- /**
99
- * Add a new domain for certificate provisioning
100
- *
101
- * @param domain Domain to add
102
- * @param options Domain configuration options
103
- */
104
- addDomain(domain: string, options?: {
105
- sslRedirect?: boolean;
106
- acmeMaintenance?: boolean;
107
- routeId?: string;
108
- routeName?: string;
109
- }): Promise<void>;
110
- /**
111
- * Update routes with new configurations
112
- * This replaces all existing routes with new ones and re-provisions certificates as needed
113
- *
114
- * @param newRoutes New route configurations to use
115
- */
116
- updateRoutes(newRoutes: IRouteConfig[]): Promise<void>;
117
- }
118
- export type TSmartProxyCertProvisionObject = TCertProvisionObject;
119
- export {};