From e7827f1cee3f70d0aa9ad6c71bf7eed5d42a7875 Mon Sep 17 00:00:00 2001 From: Fijxu Date: Sun, 14 Dec 2025 19:09:56 -0300 Subject: [PATCH] Hardcode max_request_line_size to 16384 --- config/config.example.yml | 14 -------------- docker-compose.yml | 2 -- src/invidious.cr | 7 ++----- src/invidious/config.cr | 2 -- 4 files changed, 2 insertions(+), 23 deletions(-) diff --git a/config/config.example.yml b/config/config.example.yml index 42024708..8d3e6212 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -191,20 +191,6 @@ https_only: false # path: /tmp/invidious.sock # permissions: 777 -## -## Maximum size of the HTTP request line (in bytes). -## Increase this value if you encounter 414 errors when using URLs with long -## query parameters (e.g., very long continuation tokens). -## -## Note: This directly sets the HTTP server's max_request_line_size. -## Be cautious when increasing this value on public instances. -## -## Accepted values: integer (size in bytes) -## Default: 8192 (8KB, Crystal's default) -## Recommended: 16384 (16KB) if experiencing 414 errors -## -#max_request_line_size: 16384 - # ----------------------------- # Network (outbound) diff --git a/docker-compose.yml b/docker-compose.yml index d4a9a9a9..afda8726 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,8 +18,6 @@ services: # Please read the following file for a comprehensive list of all available # configuration options and their associated syntax: # https://github.com/iv-org/invidious/blob/master/config/config.example.yml - # Uncomment to increase max request line size (if you get 414 errors): - # INVIDIOUS_MAX_REQUEST_LINE_SIZE: 16384 INVIDIOUS_CONFIG: | db: dbname: invidious diff --git a/src/invidious.cr b/src/invidious.cr index 74a167b7..24f94b40 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -252,11 +252,8 @@ Kemal.config.app_name = "Invidious" {% end %} Kemal.run do |config| - # Set max request line size if configured - if max_size = CONFIG.max_request_line_size - config.server.not_nil!.max_request_line_size = max_size - end - + config.server.not_nil!.max_request_line_size = 16384 + if socket_binding = CONFIG.socket_binding File.delete?(socket_binding.path) # Create a socket and set its desired permissions diff --git a/src/invidious/config.cr b/src/invidious/config.cr index e697f1bc..4d69854c 100644 --- a/src/invidious/config.cr +++ b/src/invidious/config.cr @@ -157,8 +157,6 @@ class Config property host_binding : String = "0.0.0.0" # Path and permissions to make Invidious listen on a UNIX socket instead of a TCP port property socket_binding : SocketBindingConfig? = nil - # Maximum size of request line (in bytes), increase if you get 414 errors with long URLs - property max_request_line_size : Int32? = nil # Pool size for HTTP requests to youtube.com and ytimg.com (each domain has a separate pool of `pool_size`) property pool_size : Int32 = 100 # HTTP Proxy configuration