itsi-server 0.1.1 → 0.1.20

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.

Potentially problematic release.


This version of itsi-server might be problematic. Click here for more details.

Files changed (324) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +4487 -0
  3. data/Cargo.toml +7 -0
  4. data/README.md +6 -0
  5. data/Rakefile +8 -1
  6. data/exe/itsi +141 -46
  7. data/ext/itsi_acme/Cargo.toml +86 -0
  8. data/ext/itsi_acme/examples/high_level.rs +63 -0
  9. data/ext/itsi_acme/examples/high_level_warp.rs +52 -0
  10. data/ext/itsi_acme/examples/low_level.rs +87 -0
  11. data/ext/itsi_acme/examples/low_level_axum.rs +66 -0
  12. data/ext/itsi_acme/src/acceptor.rs +81 -0
  13. data/ext/itsi_acme/src/acme.rs +354 -0
  14. data/ext/itsi_acme/src/axum.rs +86 -0
  15. data/ext/itsi_acme/src/cache.rs +39 -0
  16. data/ext/itsi_acme/src/caches/boxed.rs +80 -0
  17. data/ext/itsi_acme/src/caches/composite.rs +69 -0
  18. data/ext/itsi_acme/src/caches/dir.rs +106 -0
  19. data/ext/itsi_acme/src/caches/mod.rs +11 -0
  20. data/ext/itsi_acme/src/caches/no.rs +78 -0
  21. data/ext/itsi_acme/src/caches/test.rs +136 -0
  22. data/ext/itsi_acme/src/config.rs +172 -0
  23. data/ext/itsi_acme/src/https_helper.rs +69 -0
  24. data/ext/itsi_acme/src/incoming.rs +142 -0
  25. data/ext/itsi_acme/src/jose.rs +161 -0
  26. data/ext/itsi_acme/src/lib.rs +142 -0
  27. data/ext/itsi_acme/src/resolver.rs +59 -0
  28. data/ext/itsi_acme/src/state.rs +424 -0
  29. data/ext/itsi_error/Cargo.toml +3 -0
  30. data/ext/itsi_error/src/lib.rs +98 -24
  31. data/ext/itsi_error/target/debug/build/clang-sys-da71b0344e568175/out/common.rs +355 -0
  32. data/ext/itsi_error/target/debug/build/clang-sys-da71b0344e568175/out/dynamic.rs +276 -0
  33. data/ext/itsi_error/target/debug/build/clang-sys-da71b0344e568175/out/macros.rs +49 -0
  34. data/ext/itsi_error/target/debug/build/rb-sys-49f554618693db24/out/bindings-0.9.110-mri-arm64-darwin23-3.4.2.rs +8865 -0
  35. data/ext/itsi_error/target/debug/incremental/itsi_error-1mmt5sux7jb0i/s-h510z7m8v9-0bxu7yd.lock +0 -0
  36. data/ext/itsi_error/target/debug/incremental/itsi_error-2vn3jey74oiw0/s-h5113n0e7e-1v5qzs6.lock +0 -0
  37. data/ext/itsi_error/target/debug/incremental/itsi_error-37uv9dicz7awp/s-h510ykifhe-0tbnep2.lock +0 -0
  38. data/ext/itsi_error/target/debug/incremental/itsi_error-37uv9dicz7awp/s-h510yyocpj-0tz7ug7.lock +0 -0
  39. data/ext/itsi_error/target/debug/incremental/itsi_error-37uv9dicz7awp/s-h510z0xc8g-14ol18k.lock +0 -0
  40. data/ext/itsi_error/target/debug/incremental/itsi_error-3g5qf4y7d54uj/s-h5113n0e7d-1trk8on.lock +0 -0
  41. data/ext/itsi_error/target/debug/incremental/itsi_error-3lpfftm45d3e2/s-h510z7m8r3-1pxp20o.lock +0 -0
  42. data/ext/itsi_error/target/debug/incremental/itsi_error-3o4qownhl3d7n/s-h510ykifek-1uxasnk.lock +0 -0
  43. data/ext/itsi_error/target/debug/incremental/itsi_error-3o4qownhl3d7n/s-h510yyocki-11u37qm.lock +0 -0
  44. data/ext/itsi_error/target/debug/incremental/itsi_error-3o4qownhl3d7n/s-h510z0xc93-0pmy0zm.lock +0 -0
  45. data/ext/itsi_instrument_entry/Cargo.toml +15 -0
  46. data/ext/itsi_instrument_entry/src/lib.rs +31 -0
  47. data/ext/itsi_rb_helpers/Cargo.toml +3 -0
  48. data/ext/itsi_rb_helpers/src/heap_value.rs +139 -0
  49. data/ext/itsi_rb_helpers/src/lib.rs +140 -10
  50. data/ext/itsi_rb_helpers/target/debug/build/clang-sys-da71b0344e568175/out/common.rs +355 -0
  51. data/ext/itsi_rb_helpers/target/debug/build/clang-sys-da71b0344e568175/out/dynamic.rs +276 -0
  52. data/ext/itsi_rb_helpers/target/debug/build/clang-sys-da71b0344e568175/out/macros.rs +49 -0
  53. data/ext/itsi_rb_helpers/target/debug/build/rb-sys-eb9ed4ff3a60f995/out/bindings-0.9.110-mri-arm64-darwin23-3.4.2.rs +8865 -0
  54. data/ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-040pxg6yhb3g3/s-h5113n7a1b-03bwlt4.lock +0 -0
  55. data/ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-131g1u4dzkt1a/s-h51113xnh3-1eik1ip.lock +0 -0
  56. data/ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-131g1u4dzkt1a/s-h5111704jj-0g4rj8x.lock +0 -0
  57. data/ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-1q2d3drtxrzs5/s-h5113n79yl-0bxcqc5.lock +0 -0
  58. data/ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-374a9h7ovycj0/s-h51113xoox-10de2hp.lock +0 -0
  59. data/ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-374a9h7ovycj0/s-h5111704w7-0vdq7gq.lock +0 -0
  60. data/ext/itsi_scheduler/Cargo.toml +24 -0
  61. data/ext/itsi_scheduler/src/itsi_scheduler/io_helpers.rs +56 -0
  62. data/ext/itsi_scheduler/src/itsi_scheduler/io_waiter.rs +44 -0
  63. data/ext/itsi_scheduler/src/itsi_scheduler/timer.rs +44 -0
  64. data/ext/itsi_scheduler/src/itsi_scheduler.rs +308 -0
  65. data/ext/itsi_scheduler/src/lib.rs +38 -0
  66. data/ext/itsi_server/Cargo.lock +2956 -0
  67. data/ext/itsi_server/Cargo.toml +75 -14
  68. data/ext/itsi_server/extconf.rb +1 -1
  69. data/ext/itsi_server/src/default_responses/html/401.html +68 -0
  70. data/ext/itsi_server/src/default_responses/html/403.html +68 -0
  71. data/ext/itsi_server/src/default_responses/html/404.html +68 -0
  72. data/ext/itsi_server/src/default_responses/html/413.html +71 -0
  73. data/ext/itsi_server/src/default_responses/html/429.html +68 -0
  74. data/ext/itsi_server/src/default_responses/html/500.html +71 -0
  75. data/ext/itsi_server/src/default_responses/html/502.html +71 -0
  76. data/ext/itsi_server/src/default_responses/html/503.html +68 -0
  77. data/ext/itsi_server/src/default_responses/html/504.html +69 -0
  78. data/ext/itsi_server/src/default_responses/html/index.html +238 -0
  79. data/ext/itsi_server/src/default_responses/json/401.json +6 -0
  80. data/ext/itsi_server/src/default_responses/json/403.json +6 -0
  81. data/ext/itsi_server/src/default_responses/json/404.json +6 -0
  82. data/ext/itsi_server/src/default_responses/json/413.json +6 -0
  83. data/ext/itsi_server/src/default_responses/json/429.json +6 -0
  84. data/ext/itsi_server/src/default_responses/json/500.json +6 -0
  85. data/ext/itsi_server/src/default_responses/json/502.json +6 -0
  86. data/ext/itsi_server/src/default_responses/json/503.json +6 -0
  87. data/ext/itsi_server/src/default_responses/json/504.json +6 -0
  88. data/ext/itsi_server/src/default_responses/mod.rs +11 -0
  89. data/ext/itsi_server/src/env.rs +43 -0
  90. data/ext/itsi_server/src/lib.rs +132 -40
  91. data/ext/itsi_server/src/prelude.rs +2 -0
  92. data/ext/itsi_server/src/ruby_types/itsi_body_proxy/big_bytes.rs +109 -0
  93. data/ext/itsi_server/src/ruby_types/itsi_body_proxy/mod.rs +143 -0
  94. data/ext/itsi_server/src/ruby_types/itsi_grpc_call.rs +344 -0
  95. data/ext/itsi_server/src/ruby_types/itsi_grpc_response_stream/mod.rs +264 -0
  96. data/ext/itsi_server/src/ruby_types/itsi_http_request.rs +345 -0
  97. data/ext/itsi_server/src/ruby_types/itsi_http_response.rs +391 -0
  98. data/ext/itsi_server/src/ruby_types/itsi_server/file_watcher.rs +225 -0
  99. data/ext/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +506 -0
  100. data/ext/itsi_server/src/ruby_types/itsi_server.rs +84 -0
  101. data/ext/itsi_server/src/ruby_types/mod.rs +48 -0
  102. data/ext/itsi_server/src/server/binds/bind.rs +201 -0
  103. data/ext/itsi_server/src/server/binds/bind_protocol.rs +37 -0
  104. data/ext/itsi_server/src/server/binds/listener.rs +437 -0
  105. data/ext/itsi_server/src/server/binds/mod.rs +4 -0
  106. data/ext/itsi_server/src/server/binds/tls/locked_dir_cache.rs +132 -0
  107. data/ext/itsi_server/src/server/binds/tls.rs +270 -0
  108. data/ext/itsi_server/src/server/byte_frame.rs +32 -0
  109. data/ext/itsi_server/src/server/http_message_types.rs +97 -0
  110. data/ext/itsi_server/src/server/io_stream.rs +105 -0
  111. data/ext/itsi_server/src/server/lifecycle_event.rs +12 -0
  112. data/ext/itsi_server/src/server/middleware_stack/middleware.rs +170 -0
  113. data/ext/itsi_server/src/server/middleware_stack/middlewares/allow_list.rs +56 -0
  114. data/ext/itsi_server/src/server/middleware_stack/middlewares/auth_api_key.rs +87 -0
  115. data/ext/itsi_server/src/server/middleware_stack/middlewares/auth_basic.rs +86 -0
  116. data/ext/itsi_server/src/server/middleware_stack/middlewares/auth_jwt.rs +338 -0
  117. data/ext/itsi_server/src/server/middleware_stack/middlewares/cache_control.rs +142 -0
  118. data/ext/itsi_server/src/server/middleware_stack/middlewares/compression.rs +289 -0
  119. data/ext/itsi_server/src/server/middleware_stack/middlewares/cors.rs +292 -0
  120. data/ext/itsi_server/src/server/middleware_stack/middlewares/csp.rs +179 -0
  121. data/ext/itsi_server/src/server/middleware_stack/middlewares/deny_list.rs +55 -0
  122. data/ext/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +190 -0
  123. data/ext/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +157 -0
  124. data/ext/itsi_server/src/server/middleware_stack/middlewares/etag.rs +195 -0
  125. data/ext/itsi_server/src/server/middleware_stack/middlewares/header_interpretation.rs +82 -0
  126. data/ext/itsi_server/src/server/middleware_stack/middlewares/intrusion_protection.rs +201 -0
  127. data/ext/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +82 -0
  128. data/ext/itsi_server/src/server/middleware_stack/middlewares/max_body.rs +47 -0
  129. data/ext/itsi_server/src/server/middleware_stack/middlewares/mod.rs +110 -0
  130. data/ext/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +414 -0
  131. data/ext/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +131 -0
  132. data/ext/itsi_server/src/server/middleware_stack/middlewares/redirect.rs +76 -0
  133. data/ext/itsi_server/src/server/middleware_stack/middlewares/request_headers.rs +44 -0
  134. data/ext/itsi_server/src/server/middleware_stack/middlewares/response_headers.rs +36 -0
  135. data/ext/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +126 -0
  136. data/ext/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +181 -0
  137. data/ext/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +55 -0
  138. data/ext/itsi_server/src/server/middleware_stack/middlewares/string_rewrite.rs +163 -0
  139. data/ext/itsi_server/src/server/middleware_stack/middlewares/token_source.rs +12 -0
  140. data/ext/itsi_server/src/server/middleware_stack/mod.rs +345 -0
  141. data/ext/itsi_server/src/server/mod.rs +12 -5
  142. data/ext/itsi_server/src/server/process_worker.rs +247 -0
  143. data/ext/itsi_server/src/server/request_job.rs +11 -0
  144. data/ext/itsi_server/src/server/serve_strategy/cluster_mode.rs +348 -0
  145. data/ext/itsi_server/src/server/serve_strategy/mod.rs +30 -0
  146. data/ext/itsi_server/src/server/serve_strategy/single_mode.rs +444 -0
  147. data/ext/itsi_server/src/server/signal.rs +76 -0
  148. data/ext/itsi_server/src/server/size_limited_incoming.rs +101 -0
  149. data/ext/itsi_server/src/server/thread_worker.rs +475 -0
  150. data/ext/itsi_server/src/services/cache_store.rs +74 -0
  151. data/ext/itsi_server/src/services/itsi_http_service.rs +239 -0
  152. data/ext/itsi_server/src/services/mime_types.rs +1416 -0
  153. data/ext/itsi_server/src/services/mod.rs +6 -0
  154. data/ext/itsi_server/src/services/password_hasher.rs +83 -0
  155. data/ext/itsi_server/src/services/rate_limiter.rs +569 -0
  156. data/ext/itsi_server/src/services/static_file_server.rs +1326 -0
  157. data/ext/itsi_tracing/Cargo.toml +5 -0
  158. data/ext/itsi_tracing/src/lib.rs +346 -7
  159. data/ext/itsi_tracing/target/debug/incremental/itsi_tracing-0994n8rpvvt9m/s-h510hfz1f6-1kbycmq.lock +0 -0
  160. data/ext/itsi_tracing/target/debug/incremental/itsi_tracing-0bob7bf4yq34i/s-h5113125h5-0lh4rag.lock +0 -0
  161. data/ext/itsi_tracing/target/debug/incremental/itsi_tracing-2fcodulrxbbxo/s-h510h2infk-0hp5kjw.lock +0 -0
  162. data/ext/itsi_tracing/target/debug/incremental/itsi_tracing-2iak63r1woi1l/s-h510h2in4q-0kxfzw1.lock +0 -0
  163. data/ext/itsi_tracing/target/debug/incremental/itsi_tracing-2kk4qj9gn5dg2/s-h5113124kv-0enwon2.lock +0 -0
  164. data/ext/itsi_tracing/target/debug/incremental/itsi_tracing-2mwo0yas7dtw4/s-h510hfz1ha-1udgpei.lock +0 -0
  165. data/lib/itsi/http_request/response_status_shortcodes.rb +74 -0
  166. data/lib/itsi/http_request.rb +187 -0
  167. data/lib/itsi/http_response.rb +41 -0
  168. data/lib/itsi/passfile.rb +109 -0
  169. data/lib/itsi/server/config/config_helpers.rb +93 -0
  170. data/lib/itsi/server/config/dsl.rb +626 -0
  171. data/lib/itsi/server/config/known_paths/KitchensinkDirectories.txt +2346 -0
  172. data/lib/itsi/server/config/known_paths/Randomfiles.txt +24 -0
  173. data/lib/itsi/server/config/known_paths/UnixDotfiles.txt +52 -0
  174. data/lib/itsi/server/config/known_paths/backdoors/ASP_CommonBackdoors.txt +29 -0
  175. data/lib/itsi/server/config/known_paths/backdoors/bot_control_panels.txt +1668 -0
  176. data/lib/itsi/server/config/known_paths/backdoors/shells.txt +1167 -0
  177. data/lib/itsi/server/config/known_paths/cgi/CGI_HTTP_POST.txt +7 -0
  178. data/lib/itsi/server/config/known_paths/cgi/CGI_HTTP_POST_Windows.txt +6 -0
  179. data/lib/itsi/server/config/known_paths/cgi/CGI_Microsoft.txt +79 -0
  180. data/lib/itsi/server/config/known_paths/cgi/CGI_XPlatform.txt +3948 -0
  181. data/lib/itsi/server/config/known_paths/cms/README.md +5 -0
  182. data/lib/itsi/server/config/known_paths/cms/drupal_plugins.txt +6320 -0
  183. data/lib/itsi/server/config/known_paths/cms/drupal_themes.txt +828 -0
  184. data/lib/itsi/server/config/known_paths/cms/joomla_plugins.txt +224 -0
  185. data/lib/itsi/server/config/known_paths/cms/joomla_themes.txt +30 -0
  186. data/lib/itsi/server/config/known_paths/cms/php-nuke.txt +2142 -0
  187. data/lib/itsi/server/config/known_paths/cms/wordpress.txt +1566 -0
  188. data/lib/itsi/server/config/known_paths/cms/wp_common_theme_files.txt +46 -0
  189. data/lib/itsi/server/config/known_paths/cms/wp_plugins.txt +13366 -0
  190. data/lib/itsi/server/config/known_paths/cms/wp_plugins_full.txt +68662 -0
  191. data/lib/itsi/server/config/known_paths/cms/wp_plugins_top225.txt +225 -0
  192. data/lib/itsi/server/config/known_paths/cms/wp_themes.readme +12 -0
  193. data/lib/itsi/server/config/known_paths/cms/wp_themes.txt +7336 -0
  194. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/3CharExtBrute.txt +17576 -0
  195. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/CommonWebExtensions.txt +80 -0
  196. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Backup.txt +14 -0
  197. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Common.txt +865 -0
  198. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Compressed.txt +186 -0
  199. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Mostcommon.txt +30 -0
  200. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Skipfish.txt +93 -0
  201. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/WordlistSkipfish.txt +1918 -0
  202. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/copy_of.txt +8 -0
  203. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-directories-lowercase.txt +56180 -0
  204. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-directories.txt +62290 -0
  205. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-extensions-lowercase.txt +2367 -0
  206. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-extensions.txt +2450 -0
  207. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-files-lowercase.txt +35323 -0
  208. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-files.txt +37037 -0
  209. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-words-lowercase.txt +107982 -0
  210. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-words.txt +119600 -0
  211. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-directories-lowercase.txt +26593 -0
  212. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-directories.txt +30009 -0
  213. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-extensions-lowercase.txt +1233 -0
  214. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-extensions.txt +1289 -0
  215. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-files-lowercase.txt +16243 -0
  216. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-files.txt +17128 -0
  217. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-words-lowercase.txt +56293 -0
  218. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-words.txt +63087 -0
  219. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-directories-lowercase.txt +17776 -0
  220. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-directories.txt +20122 -0
  221. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-extensions-lowercase.txt +914 -0
  222. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-extensions.txt +963 -0
  223. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-files-lowercase.txt +10848 -0
  224. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-files.txt +11424 -0
  225. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-words-lowercase.txt +38267 -0
  226. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-words.txt +43003 -0
  227. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/spanish.txt +445 -0
  228. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/test_demo.txt +36 -0
  229. data/lib/itsi/server/config/known_paths/filename-dirname-bruteforce/upload_variants.txt +44 -0
  230. data/lib/itsi/server/config/known_paths/login-file-locations/Logins.txt +71 -0
  231. data/lib/itsi/server/config/known_paths/login-file-locations/cfm.txt +294 -0
  232. data/lib/itsi/server/config/known_paths/login-file-locations/html.txt +295 -0
  233. data/lib/itsi/server/config/known_paths/login-file-locations/jsp.txt +294 -0
  234. data/lib/itsi/server/config/known_paths/login-file-locations/php.txt +294 -0
  235. data/lib/itsi/server/config/known_paths/login-file-locations/windows-asp.txt +294 -0
  236. data/lib/itsi/server/config/known_paths/login-file-locations/windows-aspx.txt +294 -0
  237. data/lib/itsi/server/config/known_paths/password-file-locations/Passwords.txt +47 -0
  238. data/lib/itsi/server/config/known_paths/php/PHP.txt +30 -0
  239. data/lib/itsi/server/config/known_paths/php/PHP_CommonBackdoors.txt +5 -0
  240. data/lib/itsi/server/config/known_paths/proxy-conf.txt +31 -0
  241. data/lib/itsi/server/config/known_paths/tftp.txt +79 -0
  242. data/lib/itsi/server/config/known_paths/webservers-appservers/ADFS.txt +86 -0
  243. data/lib/itsi/server/config/known_paths/webservers-appservers/AdobeXML.txt +16 -0
  244. data/lib/itsi/server/config/known_paths/webservers-appservers/Apache.txt +101 -0
  245. data/lib/itsi/server/config/known_paths/webservers-appservers/ApacheTomcat.txt +47 -0
  246. data/lib/itsi/server/config/known_paths/webservers-appservers/Apache_Axis.txt +16 -0
  247. data/lib/itsi/server/config/known_paths/webservers-appservers/ColdFusion.txt +111 -0
  248. data/lib/itsi/server/config/known_paths/webservers-appservers/FatwireCMS.txt +390 -0
  249. data/lib/itsi/server/config/known_paths/webservers-appservers/Frontpage.txt +38 -0
  250. data/lib/itsi/server/config/known_paths/webservers-appservers/HP_System_Mgmt_Homepage.txt +239 -0
  251. data/lib/itsi/server/config/known_paths/webservers-appservers/HTTP_POST_Microsoft.txt +2 -0
  252. data/lib/itsi/server/config/known_paths/webservers-appservers/Hyperion.txt +578 -0
  253. data/lib/itsi/server/config/known_paths/webservers-appservers/IIS.txt +187 -0
  254. data/lib/itsi/server/config/known_paths/webservers-appservers/JBoss.txt +5 -0
  255. data/lib/itsi/server/config/known_paths/webservers-appservers/JRun.txt +13 -0
  256. data/lib/itsi/server/config/known_paths/webservers-appservers/JavaServlets_Common.txt +3 -0
  257. data/lib/itsi/server/config/known_paths/webservers-appservers/Joomla_exploitable.txt +1937 -0
  258. data/lib/itsi/server/config/known_paths/webservers-appservers/LotusNotes.txt +206 -0
  259. data/lib/itsi/server/config/known_paths/webservers-appservers/Netware.txt +18 -0
  260. data/lib/itsi/server/config/known_paths/webservers-appservers/Oracle9i.txt +60 -0
  261. data/lib/itsi/server/config/known_paths/webservers-appservers/OracleAppServer.txt +192 -0
  262. data/lib/itsi/server/config/known_paths/webservers-appservers/README.md +6 -0
  263. data/lib/itsi/server/config/known_paths/webservers-appservers/Ruby_Rails.txt +121 -0
  264. data/lib/itsi/server/config/known_paths/webservers-appservers/SAP.txt +463 -0
  265. data/lib/itsi/server/config/known_paths/webservers-appservers/Sharepoint.txt +1707 -0
  266. data/lib/itsi/server/config/known_paths/webservers-appservers/SiteMinder.txt +19 -0
  267. data/lib/itsi/server/config/known_paths/webservers-appservers/SunAppServerGlassfish.txt +51 -0
  268. data/lib/itsi/server/config/known_paths/webservers-appservers/SuniPlanet.txt +35 -0
  269. data/lib/itsi/server/config/known_paths/webservers-appservers/Vignette.txt +73 -0
  270. data/lib/itsi/server/config/known_paths/webservers-appservers/Weblogic.txt +160 -0
  271. data/lib/itsi/server/config/known_paths/webservers-appservers/Websphere.txt +366 -0
  272. data/lib/itsi/server/config/known_paths/wellknown-rfc5785.txt +30 -0
  273. data/lib/itsi/server/config/known_paths.rb +17 -0
  274. data/lib/itsi/server/config/middleware/_index.md +54 -0
  275. data/lib/itsi/server/config/middleware/log_requests.md +63 -0
  276. data/lib/itsi/server/config/middleware/log_requests.rb +33 -0
  277. data/lib/itsi/server/config/middleware.rb +9 -0
  278. data/lib/itsi/server/config/option.rb +9 -0
  279. data/lib/itsi/server/config/options/_index.md +36 -0
  280. data/lib/itsi/server/config/options/fiber_scheduler.md +35 -0
  281. data/lib/itsi/server/config/options/fiber_scheduler.rb +18 -0
  282. data/lib/itsi/server/config/options/threads.md +39 -0
  283. data/lib/itsi/server/config/options/threads.rb +17 -0
  284. data/lib/itsi/server/config/options/workers.md +43 -0
  285. data/lib/itsi/server/config/options/workers.rb +17 -0
  286. data/lib/itsi/server/config/typed_struct.rb +203 -0
  287. data/lib/itsi/server/config.rb +260 -0
  288. data/lib/itsi/server/default_app/default_app.rb +34 -0
  289. data/lib/itsi/server/default_app/index.html +115 -0
  290. data/lib/itsi/server/default_config/Itsi-rackup.rb +119 -0
  291. data/lib/itsi/server/default_config/Itsi.rb +107 -0
  292. data/lib/itsi/server/grpc/grpc_call.rb +246 -0
  293. data/lib/itsi/server/grpc/grpc_interface.rb +100 -0
  294. data/lib/itsi/server/grpc/reflection/v1/reflection_pb.rb +26 -0
  295. data/lib/itsi/server/grpc/reflection/v1/reflection_services_pb.rb +122 -0
  296. data/lib/itsi/server/rack/handler/itsi.rb +27 -0
  297. data/lib/itsi/server/rack_interface.rb +94 -0
  298. data/lib/itsi/server/route_tester.rb +107 -0
  299. data/lib/itsi/server/scheduler_interface.rb +21 -0
  300. data/lib/itsi/server/scheduler_mode.rb +10 -0
  301. data/lib/itsi/server/signal_trap.rb +33 -0
  302. data/lib/itsi/server/typed_handlers/param_parser.rb +200 -0
  303. data/lib/itsi/server/typed_handlers/source_parser.rb +55 -0
  304. data/lib/itsi/server/typed_handlers.rb +17 -0
  305. data/lib/itsi/server/version.rb +1 -1
  306. data/lib/itsi/server.rb +181 -9
  307. data/lib/itsi/standard_headers.rb +86 -0
  308. data/lib/ruby_lsp/itsi/addon.rb +127 -0
  309. data/lib/shell_completions/completions.rb +26 -0
  310. metadata +321 -28
  311. data/CHANGELOG.md +0 -5
  312. data/CODE_OF_CONDUCT.md +0 -132
  313. data/LICENSE.txt +0 -21
  314. data/ext/itsi_server/src/request/itsi_request.rs +0 -143
  315. data/ext/itsi_server/src/request/mod.rs +0 -1
  316. data/ext/itsi_server/src/server/bind.rs +0 -138
  317. data/ext/itsi_server/src/server/itsi_ca/itsi_ca.crt +0 -32
  318. data/ext/itsi_server/src/server/itsi_ca/itsi_ca.key +0 -52
  319. data/ext/itsi_server/src/server/itsi_server.rs +0 -182
  320. data/ext/itsi_server/src/server/listener.rs +0 -218
  321. data/ext/itsi_server/src/server/tls.rs +0 -138
  322. data/ext/itsi_server/src/server/transfer_protocol.rs +0 -23
  323. data/ext/itsi_server/src/stream_writer/mod.rs +0 -21
  324. data/lib/itsi/request.rb +0 -39
metadata CHANGED
@@ -1,28 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itsi-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wouter Coppieters
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-01 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: libclang
13
+ name: rack
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">="
17
+ - !ruby/object:Gem::Version
18
+ version: '1.6'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: '1.6'
26
+ - !ruby/object:Gem::Dependency
27
+ name: json
14
28
  requirement: !ruby/object:Gem::Requirement
15
29
  requirements:
16
30
  - - "~>"
17
31
  - !ruby/object:Gem::Version
18
- version: '14.0'
32
+ version: '2'
19
33
  type: :runtime
20
34
  prerelease: false
21
35
  version_requirements: !ruby/object:Gem::Requirement
22
36
  requirements:
23
37
  - - "~>"
24
38
  - !ruby/object:Gem::Version
25
- version: '14.0'
39
+ version: '2'
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: rb_sys
28
42
  requirement: !ruby/object:Gem::Requirement
@@ -38,19 +52,19 @@ dependencies:
38
52
  - !ruby/object:Gem::Version
39
53
  version: 0.9.91
40
54
  - !ruby/object:Gem::Dependency
41
- name: rack
55
+ name: ruby-lsp
42
56
  requirement: !ruby/object:Gem::Requirement
43
57
  requirements:
44
- - - "~>"
58
+ - - ">="
45
59
  - !ruby/object:Gem::Version
46
- version: '2'
47
- type: :runtime
60
+ version: '0'
61
+ type: :development
48
62
  prerelease: false
49
63
  version_requirements: !ruby/object:Gem::Requirement
50
64
  requirements:
51
- - - "~>"
65
+ - - ">="
52
66
  - !ruby/object:Gem::Version
53
- version: '2'
67
+ version: '0'
54
68
  description: Itsi Server - A light-weight Rack Server implementation for Ruby
55
69
  email:
56
70
  - wc@pico.net.nz
@@ -61,38 +75,317 @@ extensions:
61
75
  extra_rdoc_files: []
62
76
  files:
63
77
  - ".rubocop.yml"
64
- - CHANGELOG.md
65
- - CODE_OF_CONDUCT.md
66
- - LICENSE.txt
78
+ - Cargo.lock
79
+ - Cargo.toml
67
80
  - README.md
68
81
  - Rakefile
69
82
  - exe/itsi
83
+ - ext/itsi_acme/Cargo.toml
84
+ - ext/itsi_acme/examples/high_level.rs
85
+ - ext/itsi_acme/examples/high_level_warp.rs
86
+ - ext/itsi_acme/examples/low_level.rs
87
+ - ext/itsi_acme/examples/low_level_axum.rs
88
+ - ext/itsi_acme/src/acceptor.rs
89
+ - ext/itsi_acme/src/acme.rs
90
+ - ext/itsi_acme/src/axum.rs
91
+ - ext/itsi_acme/src/cache.rs
92
+ - ext/itsi_acme/src/caches/boxed.rs
93
+ - ext/itsi_acme/src/caches/composite.rs
94
+ - ext/itsi_acme/src/caches/dir.rs
95
+ - ext/itsi_acme/src/caches/mod.rs
96
+ - ext/itsi_acme/src/caches/no.rs
97
+ - ext/itsi_acme/src/caches/test.rs
98
+ - ext/itsi_acme/src/config.rs
99
+ - ext/itsi_acme/src/https_helper.rs
100
+ - ext/itsi_acme/src/incoming.rs
101
+ - ext/itsi_acme/src/jose.rs
102
+ - ext/itsi_acme/src/lib.rs
103
+ - ext/itsi_acme/src/resolver.rs
104
+ - ext/itsi_acme/src/state.rs
70
105
  - ext/itsi_error/Cargo.lock
71
106
  - ext/itsi_error/Cargo.toml
72
107
  - ext/itsi_error/src/lib.rs
108
+ - ext/itsi_error/target/debug/build/clang-sys-da71b0344e568175/out/common.rs
109
+ - ext/itsi_error/target/debug/build/clang-sys-da71b0344e568175/out/dynamic.rs
110
+ - ext/itsi_error/target/debug/build/clang-sys-da71b0344e568175/out/macros.rs
111
+ - ext/itsi_error/target/debug/build/rb-sys-49f554618693db24/out/bindings-0.9.110-mri-arm64-darwin23-3.4.2.rs
112
+ - ext/itsi_error/target/debug/incremental/itsi_error-1mmt5sux7jb0i/s-h510z7m8v9-0bxu7yd.lock
113
+ - ext/itsi_error/target/debug/incremental/itsi_error-2vn3jey74oiw0/s-h5113n0e7e-1v5qzs6.lock
114
+ - ext/itsi_error/target/debug/incremental/itsi_error-37uv9dicz7awp/s-h510ykifhe-0tbnep2.lock
115
+ - ext/itsi_error/target/debug/incremental/itsi_error-37uv9dicz7awp/s-h510yyocpj-0tz7ug7.lock
116
+ - ext/itsi_error/target/debug/incremental/itsi_error-37uv9dicz7awp/s-h510z0xc8g-14ol18k.lock
117
+ - ext/itsi_error/target/debug/incremental/itsi_error-3g5qf4y7d54uj/s-h5113n0e7d-1trk8on.lock
118
+ - ext/itsi_error/target/debug/incremental/itsi_error-3lpfftm45d3e2/s-h510z7m8r3-1pxp20o.lock
119
+ - ext/itsi_error/target/debug/incremental/itsi_error-3o4qownhl3d7n/s-h510ykifek-1uxasnk.lock
120
+ - ext/itsi_error/target/debug/incremental/itsi_error-3o4qownhl3d7n/s-h510yyocki-11u37qm.lock
121
+ - ext/itsi_error/target/debug/incremental/itsi_error-3o4qownhl3d7n/s-h510z0xc93-0pmy0zm.lock
122
+ - ext/itsi_instrument_entry/Cargo.toml
123
+ - ext/itsi_instrument_entry/src/lib.rs
73
124
  - ext/itsi_rb_helpers/Cargo.lock
74
125
  - ext/itsi_rb_helpers/Cargo.toml
126
+ - ext/itsi_rb_helpers/src/heap_value.rs
75
127
  - ext/itsi_rb_helpers/src/lib.rs
128
+ - ext/itsi_rb_helpers/target/debug/build/clang-sys-da71b0344e568175/out/common.rs
129
+ - ext/itsi_rb_helpers/target/debug/build/clang-sys-da71b0344e568175/out/dynamic.rs
130
+ - ext/itsi_rb_helpers/target/debug/build/clang-sys-da71b0344e568175/out/macros.rs
131
+ - ext/itsi_rb_helpers/target/debug/build/rb-sys-eb9ed4ff3a60f995/out/bindings-0.9.110-mri-arm64-darwin23-3.4.2.rs
132
+ - ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-040pxg6yhb3g3/s-h5113n7a1b-03bwlt4.lock
133
+ - ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-131g1u4dzkt1a/s-h51113xnh3-1eik1ip.lock
134
+ - ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-131g1u4dzkt1a/s-h5111704jj-0g4rj8x.lock
135
+ - ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-1q2d3drtxrzs5/s-h5113n79yl-0bxcqc5.lock
136
+ - ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-374a9h7ovycj0/s-h51113xoox-10de2hp.lock
137
+ - ext/itsi_rb_helpers/target/debug/incremental/itsi_rb_helpers-374a9h7ovycj0/s-h5111704w7-0vdq7gq.lock
138
+ - ext/itsi_scheduler/Cargo.toml
139
+ - ext/itsi_scheduler/src/itsi_scheduler.rs
140
+ - ext/itsi_scheduler/src/itsi_scheduler/io_helpers.rs
141
+ - ext/itsi_scheduler/src/itsi_scheduler/io_waiter.rs
142
+ - ext/itsi_scheduler/src/itsi_scheduler/timer.rs
143
+ - ext/itsi_scheduler/src/lib.rs
144
+ - ext/itsi_server/Cargo.lock
76
145
  - ext/itsi_server/Cargo.toml
77
146
  - ext/itsi_server/extconf.rb
147
+ - ext/itsi_server/src/default_responses/html/401.html
148
+ - ext/itsi_server/src/default_responses/html/403.html
149
+ - ext/itsi_server/src/default_responses/html/404.html
150
+ - ext/itsi_server/src/default_responses/html/413.html
151
+ - ext/itsi_server/src/default_responses/html/429.html
152
+ - ext/itsi_server/src/default_responses/html/500.html
153
+ - ext/itsi_server/src/default_responses/html/502.html
154
+ - ext/itsi_server/src/default_responses/html/503.html
155
+ - ext/itsi_server/src/default_responses/html/504.html
156
+ - ext/itsi_server/src/default_responses/html/index.html
157
+ - ext/itsi_server/src/default_responses/json/401.json
158
+ - ext/itsi_server/src/default_responses/json/403.json
159
+ - ext/itsi_server/src/default_responses/json/404.json
160
+ - ext/itsi_server/src/default_responses/json/413.json
161
+ - ext/itsi_server/src/default_responses/json/429.json
162
+ - ext/itsi_server/src/default_responses/json/500.json
163
+ - ext/itsi_server/src/default_responses/json/502.json
164
+ - ext/itsi_server/src/default_responses/json/503.json
165
+ - ext/itsi_server/src/default_responses/json/504.json
166
+ - ext/itsi_server/src/default_responses/mod.rs
167
+ - ext/itsi_server/src/env.rs
78
168
  - ext/itsi_server/src/lib.rs
79
- - ext/itsi_server/src/request/itsi_request.rs
80
- - ext/itsi_server/src/request/mod.rs
81
- - ext/itsi_server/src/server/bind.rs
82
- - ext/itsi_server/src/server/itsi_ca/itsi_ca.crt
83
- - ext/itsi_server/src/server/itsi_ca/itsi_ca.key
84
- - ext/itsi_server/src/server/itsi_server.rs
85
- - ext/itsi_server/src/server/listener.rs
169
+ - ext/itsi_server/src/prelude.rs
170
+ - ext/itsi_server/src/ruby_types/itsi_body_proxy/big_bytes.rs
171
+ - ext/itsi_server/src/ruby_types/itsi_body_proxy/mod.rs
172
+ - ext/itsi_server/src/ruby_types/itsi_grpc_call.rs
173
+ - ext/itsi_server/src/ruby_types/itsi_grpc_response_stream/mod.rs
174
+ - ext/itsi_server/src/ruby_types/itsi_http_request.rs
175
+ - ext/itsi_server/src/ruby_types/itsi_http_response.rs
176
+ - ext/itsi_server/src/ruby_types/itsi_server.rs
177
+ - ext/itsi_server/src/ruby_types/itsi_server/file_watcher.rs
178
+ - ext/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs
179
+ - ext/itsi_server/src/ruby_types/mod.rs
180
+ - ext/itsi_server/src/server/binds/bind.rs
181
+ - ext/itsi_server/src/server/binds/bind_protocol.rs
182
+ - ext/itsi_server/src/server/binds/listener.rs
183
+ - ext/itsi_server/src/server/binds/mod.rs
184
+ - ext/itsi_server/src/server/binds/tls.rs
185
+ - ext/itsi_server/src/server/binds/tls/locked_dir_cache.rs
186
+ - ext/itsi_server/src/server/byte_frame.rs
187
+ - ext/itsi_server/src/server/http_message_types.rs
188
+ - ext/itsi_server/src/server/io_stream.rs
189
+ - ext/itsi_server/src/server/lifecycle_event.rs
190
+ - ext/itsi_server/src/server/middleware_stack/middleware.rs
191
+ - ext/itsi_server/src/server/middleware_stack/middlewares/allow_list.rs
192
+ - ext/itsi_server/src/server/middleware_stack/middlewares/auth_api_key.rs
193
+ - ext/itsi_server/src/server/middleware_stack/middlewares/auth_basic.rs
194
+ - ext/itsi_server/src/server/middleware_stack/middlewares/auth_jwt.rs
195
+ - ext/itsi_server/src/server/middleware_stack/middlewares/cache_control.rs
196
+ - ext/itsi_server/src/server/middleware_stack/middlewares/compression.rs
197
+ - ext/itsi_server/src/server/middleware_stack/middlewares/cors.rs
198
+ - ext/itsi_server/src/server/middleware_stack/middlewares/csp.rs
199
+ - ext/itsi_server/src/server/middleware_stack/middlewares/deny_list.rs
200
+ - ext/itsi_server/src/server/middleware_stack/middlewares/error_response.rs
201
+ - ext/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs
202
+ - ext/itsi_server/src/server/middleware_stack/middlewares/etag.rs
203
+ - ext/itsi_server/src/server/middleware_stack/middlewares/header_interpretation.rs
204
+ - ext/itsi_server/src/server/middleware_stack/middlewares/intrusion_protection.rs
205
+ - ext/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs
206
+ - ext/itsi_server/src/server/middleware_stack/middlewares/max_body.rs
207
+ - ext/itsi_server/src/server/middleware_stack/middlewares/mod.rs
208
+ - ext/itsi_server/src/server/middleware_stack/middlewares/proxy.rs
209
+ - ext/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs
210
+ - ext/itsi_server/src/server/middleware_stack/middlewares/redirect.rs
211
+ - ext/itsi_server/src/server/middleware_stack/middlewares/request_headers.rs
212
+ - ext/itsi_server/src/server/middleware_stack/middlewares/response_headers.rs
213
+ - ext/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs
214
+ - ext/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs
215
+ - ext/itsi_server/src/server/middleware_stack/middlewares/static_response.rs
216
+ - ext/itsi_server/src/server/middleware_stack/middlewares/string_rewrite.rs
217
+ - ext/itsi_server/src/server/middleware_stack/middlewares/token_source.rs
218
+ - ext/itsi_server/src/server/middleware_stack/mod.rs
86
219
  - ext/itsi_server/src/server/mod.rs
87
- - ext/itsi_server/src/server/tls.rs
88
- - ext/itsi_server/src/server/transfer_protocol.rs
89
- - ext/itsi_server/src/stream_writer/mod.rs
220
+ - ext/itsi_server/src/server/process_worker.rs
221
+ - ext/itsi_server/src/server/request_job.rs
222
+ - ext/itsi_server/src/server/serve_strategy/cluster_mode.rs
223
+ - ext/itsi_server/src/server/serve_strategy/mod.rs
224
+ - ext/itsi_server/src/server/serve_strategy/single_mode.rs
225
+ - ext/itsi_server/src/server/signal.rs
226
+ - ext/itsi_server/src/server/size_limited_incoming.rs
227
+ - ext/itsi_server/src/server/thread_worker.rs
228
+ - ext/itsi_server/src/services/cache_store.rs
229
+ - ext/itsi_server/src/services/itsi_http_service.rs
230
+ - ext/itsi_server/src/services/mime_types.rs
231
+ - ext/itsi_server/src/services/mod.rs
232
+ - ext/itsi_server/src/services/password_hasher.rs
233
+ - ext/itsi_server/src/services/rate_limiter.rs
234
+ - ext/itsi_server/src/services/static_file_server.rs
90
235
  - ext/itsi_tracing/Cargo.lock
91
236
  - ext/itsi_tracing/Cargo.toml
92
237
  - ext/itsi_tracing/src/lib.rs
93
- - lib/itsi/request.rb
238
+ - ext/itsi_tracing/target/debug/incremental/itsi_tracing-0994n8rpvvt9m/s-h510hfz1f6-1kbycmq.lock
239
+ - ext/itsi_tracing/target/debug/incremental/itsi_tracing-0bob7bf4yq34i/s-h5113125h5-0lh4rag.lock
240
+ - ext/itsi_tracing/target/debug/incremental/itsi_tracing-2fcodulrxbbxo/s-h510h2infk-0hp5kjw.lock
241
+ - ext/itsi_tracing/target/debug/incremental/itsi_tracing-2iak63r1woi1l/s-h510h2in4q-0kxfzw1.lock
242
+ - ext/itsi_tracing/target/debug/incremental/itsi_tracing-2kk4qj9gn5dg2/s-h5113124kv-0enwon2.lock
243
+ - ext/itsi_tracing/target/debug/incremental/itsi_tracing-2mwo0yas7dtw4/s-h510hfz1ha-1udgpei.lock
244
+ - lib/itsi/http_request.rb
245
+ - lib/itsi/http_request/response_status_shortcodes.rb
246
+ - lib/itsi/http_response.rb
247
+ - lib/itsi/passfile.rb
94
248
  - lib/itsi/server.rb
249
+ - lib/itsi/server/config.rb
250
+ - lib/itsi/server/config/config_helpers.rb
251
+ - lib/itsi/server/config/dsl.rb
252
+ - lib/itsi/server/config/known_paths.rb
253
+ - lib/itsi/server/config/known_paths/KitchensinkDirectories.txt
254
+ - lib/itsi/server/config/known_paths/Randomfiles.txt
255
+ - lib/itsi/server/config/known_paths/UnixDotfiles.txt
256
+ - lib/itsi/server/config/known_paths/backdoors/ASP_CommonBackdoors.txt
257
+ - lib/itsi/server/config/known_paths/backdoors/bot_control_panels.txt
258
+ - lib/itsi/server/config/known_paths/backdoors/shells.txt
259
+ - lib/itsi/server/config/known_paths/cgi/CGI_HTTP_POST.txt
260
+ - lib/itsi/server/config/known_paths/cgi/CGI_HTTP_POST_Windows.txt
261
+ - lib/itsi/server/config/known_paths/cgi/CGI_Microsoft.txt
262
+ - lib/itsi/server/config/known_paths/cgi/CGI_XPlatform.txt
263
+ - lib/itsi/server/config/known_paths/cms/README.md
264
+ - lib/itsi/server/config/known_paths/cms/drupal_plugins.txt
265
+ - lib/itsi/server/config/known_paths/cms/drupal_themes.txt
266
+ - lib/itsi/server/config/known_paths/cms/joomla_plugins.txt
267
+ - lib/itsi/server/config/known_paths/cms/joomla_themes.txt
268
+ - lib/itsi/server/config/known_paths/cms/php-nuke.txt
269
+ - lib/itsi/server/config/known_paths/cms/wordpress.txt
270
+ - lib/itsi/server/config/known_paths/cms/wp_common_theme_files.txt
271
+ - lib/itsi/server/config/known_paths/cms/wp_plugins.txt
272
+ - lib/itsi/server/config/known_paths/cms/wp_plugins_full.txt
273
+ - lib/itsi/server/config/known_paths/cms/wp_plugins_top225.txt
274
+ - lib/itsi/server/config/known_paths/cms/wp_themes.readme
275
+ - lib/itsi/server/config/known_paths/cms/wp_themes.txt
276
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/3CharExtBrute.txt
277
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/CommonWebExtensions.txt
278
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Backup.txt
279
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Common.txt
280
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Compressed.txt
281
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Mostcommon.txt
282
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/Extensions.Skipfish.txt
283
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/WordlistSkipfish.txt
284
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/copy_of.txt
285
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-directories-lowercase.txt
286
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-directories.txt
287
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-extensions-lowercase.txt
288
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-extensions.txt
289
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-files-lowercase.txt
290
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-files.txt
291
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-words-lowercase.txt
292
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-large-words.txt
293
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-directories-lowercase.txt
294
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-directories.txt
295
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-extensions-lowercase.txt
296
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-extensions.txt
297
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-files-lowercase.txt
298
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-files.txt
299
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-words-lowercase.txt
300
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-medium-words.txt
301
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-directories-lowercase.txt
302
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-directories.txt
303
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-extensions-lowercase.txt
304
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-extensions.txt
305
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-files-lowercase.txt
306
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-files.txt
307
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-words-lowercase.txt
308
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/raft-small-words.txt
309
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/spanish.txt
310
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/test_demo.txt
311
+ - lib/itsi/server/config/known_paths/filename-dirname-bruteforce/upload_variants.txt
312
+ - lib/itsi/server/config/known_paths/login-file-locations/Logins.txt
313
+ - lib/itsi/server/config/known_paths/login-file-locations/cfm.txt
314
+ - lib/itsi/server/config/known_paths/login-file-locations/html.txt
315
+ - lib/itsi/server/config/known_paths/login-file-locations/jsp.txt
316
+ - lib/itsi/server/config/known_paths/login-file-locations/php.txt
317
+ - lib/itsi/server/config/known_paths/login-file-locations/windows-asp.txt
318
+ - lib/itsi/server/config/known_paths/login-file-locations/windows-aspx.txt
319
+ - lib/itsi/server/config/known_paths/password-file-locations/Passwords.txt
320
+ - lib/itsi/server/config/known_paths/php/PHP.txt
321
+ - lib/itsi/server/config/known_paths/php/PHP_CommonBackdoors.txt
322
+ - lib/itsi/server/config/known_paths/proxy-conf.txt
323
+ - lib/itsi/server/config/known_paths/tftp.txt
324
+ - lib/itsi/server/config/known_paths/webservers-appservers/ADFS.txt
325
+ - lib/itsi/server/config/known_paths/webservers-appservers/AdobeXML.txt
326
+ - lib/itsi/server/config/known_paths/webservers-appservers/Apache.txt
327
+ - lib/itsi/server/config/known_paths/webservers-appservers/ApacheTomcat.txt
328
+ - lib/itsi/server/config/known_paths/webservers-appservers/Apache_Axis.txt
329
+ - lib/itsi/server/config/known_paths/webservers-appservers/ColdFusion.txt
330
+ - lib/itsi/server/config/known_paths/webservers-appservers/FatwireCMS.txt
331
+ - lib/itsi/server/config/known_paths/webservers-appservers/Frontpage.txt
332
+ - lib/itsi/server/config/known_paths/webservers-appservers/HP_System_Mgmt_Homepage.txt
333
+ - lib/itsi/server/config/known_paths/webservers-appservers/HTTP_POST_Microsoft.txt
334
+ - lib/itsi/server/config/known_paths/webservers-appservers/Hyperion.txt
335
+ - lib/itsi/server/config/known_paths/webservers-appservers/IIS.txt
336
+ - lib/itsi/server/config/known_paths/webservers-appservers/JBoss.txt
337
+ - lib/itsi/server/config/known_paths/webservers-appservers/JRun.txt
338
+ - lib/itsi/server/config/known_paths/webservers-appservers/JavaServlets_Common.txt
339
+ - lib/itsi/server/config/known_paths/webservers-appservers/Joomla_exploitable.txt
340
+ - lib/itsi/server/config/known_paths/webservers-appservers/LotusNotes.txt
341
+ - lib/itsi/server/config/known_paths/webservers-appservers/Netware.txt
342
+ - lib/itsi/server/config/known_paths/webservers-appservers/Oracle9i.txt
343
+ - lib/itsi/server/config/known_paths/webservers-appservers/OracleAppServer.txt
344
+ - lib/itsi/server/config/known_paths/webservers-appservers/README.md
345
+ - lib/itsi/server/config/known_paths/webservers-appservers/Ruby_Rails.txt
346
+ - lib/itsi/server/config/known_paths/webservers-appservers/SAP.txt
347
+ - lib/itsi/server/config/known_paths/webservers-appservers/Sharepoint.txt
348
+ - lib/itsi/server/config/known_paths/webservers-appservers/SiteMinder.txt
349
+ - lib/itsi/server/config/known_paths/webservers-appservers/SunAppServerGlassfish.txt
350
+ - lib/itsi/server/config/known_paths/webservers-appservers/SuniPlanet.txt
351
+ - lib/itsi/server/config/known_paths/webservers-appservers/Vignette.txt
352
+ - lib/itsi/server/config/known_paths/webservers-appservers/Weblogic.txt
353
+ - lib/itsi/server/config/known_paths/webservers-appservers/Websphere.txt
354
+ - lib/itsi/server/config/known_paths/wellknown-rfc5785.txt
355
+ - lib/itsi/server/config/middleware.rb
356
+ - lib/itsi/server/config/middleware/_index.md
357
+ - lib/itsi/server/config/middleware/log_requests.md
358
+ - lib/itsi/server/config/middleware/log_requests.rb
359
+ - lib/itsi/server/config/option.rb
360
+ - lib/itsi/server/config/options/_index.md
361
+ - lib/itsi/server/config/options/fiber_scheduler.md
362
+ - lib/itsi/server/config/options/fiber_scheduler.rb
363
+ - lib/itsi/server/config/options/threads.md
364
+ - lib/itsi/server/config/options/threads.rb
365
+ - lib/itsi/server/config/options/workers.md
366
+ - lib/itsi/server/config/options/workers.rb
367
+ - lib/itsi/server/config/typed_struct.rb
368
+ - lib/itsi/server/default_app/default_app.rb
369
+ - lib/itsi/server/default_app/index.html
370
+ - lib/itsi/server/default_config/Itsi-rackup.rb
371
+ - lib/itsi/server/default_config/Itsi.rb
372
+ - lib/itsi/server/grpc/grpc_call.rb
373
+ - lib/itsi/server/grpc/grpc_interface.rb
374
+ - lib/itsi/server/grpc/reflection/v1/reflection_pb.rb
375
+ - lib/itsi/server/grpc/reflection/v1/reflection_services_pb.rb
376
+ - lib/itsi/server/rack/handler/itsi.rb
377
+ - lib/itsi/server/rack_interface.rb
378
+ - lib/itsi/server/route_tester.rb
379
+ - lib/itsi/server/scheduler_interface.rb
380
+ - lib/itsi/server/scheduler_mode.rb
381
+ - lib/itsi/server/signal_trap.rb
382
+ - lib/itsi/server/typed_handlers.rb
383
+ - lib/itsi/server/typed_handlers/param_parser.rb
384
+ - lib/itsi/server/typed_handlers/source_parser.rb
95
385
  - lib/itsi/server/version.rb
386
+ - lib/itsi/standard_headers.rb
387
+ - lib/ruby_lsp/itsi/addon.rb
388
+ - lib/shell_completions/completions.rb
96
389
  - sig/itsi_server.rbs
97
390
  homepage: https://itsi.fyi
98
391
  licenses:
@@ -108,14 +401,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
108
401
  requirements:
109
402
  - - ">="
110
403
  - !ruby/object:Gem::Version
111
- version: 3.1.0
404
+ version: 2.7.0
112
405
  required_rubygems_version: !ruby/object:Gem::Requirement
113
406
  requirements:
114
407
  - - ">="
115
408
  - !ruby/object:Gem::Version
116
- version: 3.3.11
409
+ version: '3.1'
117
410
  requirements: []
118
- rubygems_version: 3.6.2
411
+ rubygems_version: 3.6.7
119
412
  specification_version: 4
120
413
  summary: Itsi Server - A light-weight Rack Server implementation for Ruby.
121
414
  test_files: []
data/CHANGELOG.md DELETED
@@ -1,5 +0,0 @@
1
- ## [Unreleased]
2
-
3
- ## [0.1.0] - 2025-02-28
4
-
5
- - Initial release
data/CODE_OF_CONDUCT.md DELETED
@@ -1,132 +0,0 @@
1
- # Contributor Covenant Code of Conduct
2
-
3
- ## Our Pledge
4
-
5
- We as members, contributors, and leaders pledge to make participation in our
6
- community a harassment-free experience for everyone, regardless of age, body
7
- size, visible or invisible disability, ethnicity, sex characteristics, gender
8
- identity and expression, level of experience, education, socio-economic status,
9
- nationality, personal appearance, race, caste, color, religion, or sexual
10
- identity and orientation.
11
-
12
- We pledge to act and interact in ways that contribute to an open, welcoming,
13
- diverse, inclusive, and healthy community.
14
-
15
- ## Our Standards
16
-
17
- Examples of behavior that contributes to a positive environment for our
18
- community include:
19
-
20
- * Demonstrating empathy and kindness toward other people
21
- * Being respectful of differing opinions, viewpoints, and experiences
22
- * Giving and gracefully accepting constructive feedback
23
- * Accepting responsibility and apologizing to those affected by our mistakes,
24
- and learning from the experience
25
- * Focusing on what is best not just for us as individuals, but for the overall
26
- community
27
-
28
- Examples of unacceptable behavior include:
29
-
30
- * The use of sexualized language or imagery, and sexual attention or advances of
31
- any kind
32
- * Trolling, insulting or derogatory comments, and personal or political attacks
33
- * Public or private harassment
34
- * Publishing others' private information, such as a physical or email address,
35
- without their explicit permission
36
- * Other conduct which could reasonably be considered inappropriate in a
37
- professional setting
38
-
39
- ## Enforcement Responsibilities
40
-
41
- Community leaders are responsible for clarifying and enforcing our standards of
42
- acceptable behavior and will take appropriate and fair corrective action in
43
- response to any behavior that they deem inappropriate, threatening, offensive,
44
- or harmful.
45
-
46
- Community leaders have the right and responsibility to remove, edit, or reject
47
- comments, commits, code, wiki edits, issues, and other contributions that are
48
- not aligned to this Code of Conduct, and will communicate reasons for moderation
49
- decisions when appropriate.
50
-
51
- ## Scope
52
-
53
- This Code of Conduct applies within all community spaces, and also applies when
54
- an individual is officially representing the community in public spaces.
55
- Examples of representing our community include using an official email address,
56
- posting via an official social media account, or acting as an appointed
57
- representative at an online or offline event.
58
-
59
- ## Enforcement
60
-
61
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
- reported to the community leaders responsible for enforcement at
63
- [INSERT CONTACT METHOD].
64
- All complaints will be reviewed and investigated promptly and fairly.
65
-
66
- All community leaders are obligated to respect the privacy and security of the
67
- reporter of any incident.
68
-
69
- ## Enforcement Guidelines
70
-
71
- Community leaders will follow these Community Impact Guidelines in determining
72
- the consequences for any action they deem in violation of this Code of Conduct:
73
-
74
- ### 1. Correction
75
-
76
- **Community Impact**: Use of inappropriate language or other behavior deemed
77
- unprofessional or unwelcome in the community.
78
-
79
- **Consequence**: A private, written warning from community leaders, providing
80
- clarity around the nature of the violation and an explanation of why the
81
- behavior was inappropriate. A public apology may be requested.
82
-
83
- ### 2. Warning
84
-
85
- **Community Impact**: A violation through a single incident or series of
86
- actions.
87
-
88
- **Consequence**: A warning with consequences for continued behavior. No
89
- interaction with the people involved, including unsolicited interaction with
90
- those enforcing the Code of Conduct, for a specified period of time. This
91
- includes avoiding interactions in community spaces as well as external channels
92
- like social media. Violating these terms may lead to a temporary or permanent
93
- ban.
94
-
95
- ### 3. Temporary Ban
96
-
97
- **Community Impact**: A serious violation of community standards, including
98
- sustained inappropriate behavior.
99
-
100
- **Consequence**: A temporary ban from any sort of interaction or public
101
- communication with the community for a specified period of time. No public or
102
- private interaction with the people involved, including unsolicited interaction
103
- with those enforcing the Code of Conduct, is allowed during this period.
104
- Violating these terms may lead to a permanent ban.
105
-
106
- ### 4. Permanent Ban
107
-
108
- **Community Impact**: Demonstrating a pattern of violation of community
109
- standards, including sustained inappropriate behavior, harassment of an
110
- individual, or aggression toward or disparagement of classes of individuals.
111
-
112
- **Consequence**: A permanent ban from any sort of public interaction within the
113
- community.
114
-
115
- ## Attribution
116
-
117
- This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118
- version 2.1, available at
119
- [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
120
-
121
- Community Impact Guidelines were inspired by
122
- [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
123
-
124
- For answers to common questions about this code of conduct, see the FAQ at
125
- [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
126
- [https://www.contributor-covenant.org/translations][translations].
127
-
128
- [homepage]: https://www.contributor-covenant.org
129
- [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
130
- [Mozilla CoC]: https://github.com/mozilla/diversity
131
- [FAQ]: https://www.contributor-covenant.org/faq
132
- [translations]: https://www.contributor-covenant.org/translations
data/LICENSE.txt DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2025 Wouter Coppieters
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.