fix missing scheme error

This commit is contained in:
Fijxu 2025-05-21 02:00:19 -04:00
parent 6e9858080d
commit 75e27c3aa7
No known key found for this signature in database
GPG Key ID: 32C1DDF333EDA6A4
2 changed files with 14 additions and 5 deletions

View File

@ -203,6 +203,9 @@ class Config
# Invidious companion API key
property invidious_companion_key : String = ""
# Invidious companion prefix for numbered domains
property invidious_companion_prefix : String = ""
# Saved cookies in "name1=value1; name2=value2..." format
@[YAML::Field(converter: Preferences::StringToCookies)]
property cookies : HTTP::Cookies = HTTP::Cookies.new

View File

@ -1,4 +1,11 @@
module Invidious::Routes::BeforeAll
private COMPANION_PREFIXES = [] of String
CONFIG.invidious_companion.each_with_index do |_, i|
prefix = CONFIG.invidious_companion_prefix + "#{i + 1}"
COMPANION_PREFIXES << prefix
end
def self.handle(env)
preferences = Preferences.from_json("{}")
host = env.request.headers["Host"]
@ -25,13 +32,12 @@ module Invidious::Routes::BeforeAll
extra_connect_csp = ""
if CONFIG.invidious_companion.present?
current_companion_d = host.split(".")[0].scan(/(\d+)$/).last?.try &.[0].to_i
current_companion_d = host.split(":")[0].split(".")[0]
if current_companion_d
current_companion_d = current_companion_d - 1
if index = COMPANION_PREFIXES.index(current_companion_d)
env.set "using_domain", true
env.set "current_companion", current_companion_d
env.set "companion_public_url", CONFIG.invidious_companion[current_companion_d].public_url.to_s
env.set "current_companion", index
env.set "companion_public_url", CONFIG.invidious_companion[index].public_url.to_s
else
if !env.request.cookies[CONFIG.server_id_cookie_name]?
env.response.cookies[CONFIG.server_id_cookie_name] = Invidious::User::Cookies.server_id(host)