Merge 2b312a1ec5178718aa393d2c346a7cb6d1b61429 into df8839d1f018644afecb15e144f228d811708f8f

This commit is contained in:
Sunghyun Kim 2025-07-21 13:06:26 +09:00 committed by GitHub
commit a2c70a6617
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 23 additions and 0 deletions

View File

@ -191,6 +191,20 @@ 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)

View File

@ -18,6 +18,8 @@ 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

View File

@ -252,6 +252,11 @@ 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
if socket_binding = CONFIG.socket_binding
File.delete?(socket_binding.path)
# Create a socket and set its desired permissions

View File

@ -157,6 +157,8 @@ 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