Add better fallback for '/videoplayback'

This commit is contained in:
Omar Roth 2019-03-11 14:07:55 -05:00
parent 58f4212aa8
commit 1fcd1ff3e8

View File

@ -4217,13 +4217,14 @@ end
get "/videoplayback" do |env|
query_params = env.params.query
fvip = query_params["fvip"]? || "3"
mns = query_params["mn"].split(",")
if query_params["host"]? && !query_params["host"].empty?
host = "https://#{query_params["host"]}"
query_params.delete("host")
else
fvip = query_params["fvip"]? || "3"
mn = query_params["mn"].split(",").pop
host = "https://r#{fvip}---#{mn}.googlevideo.com"
host = "https://r#{fvip}---#{mns.pop}.googlevideo.com"
end
url = "/videoplayback?#{query_params.to_s}"
@ -4244,11 +4245,11 @@ get "/videoplayback" do |env|
response = client.head(url, headers)
break
rescue Socket::Addrinfo::Error
if fvip == "3"
break
if !mns.empty?
mn = mns.pop
end
fvip = "3"
host = "https://r#{fvip}---#{mn}.googlevideo.com"
rescue ex
end