diff options
| author | Omar Roth <omarroth@hotmail.com> | 2019-03-11 14:07:55 -0500 |
|---|---|---|
| committer | Omar Roth <omarroth@hotmail.com> | 2019-03-11 14:07:55 -0500 |
| commit | 1fcd1ff3e8ee1a300431bb24392733b632d41cce (patch) | |
| tree | 392f1e95d19cfe73a1e1952a871efd174995f336 /src | |
| parent | 58f4212aa853306ade1b34197f12f532135a48d4 (diff) | |
| download | invidious-1fcd1ff3e8ee1a300431bb24392733b632d41cce.tar.gz invidious-1fcd1ff3e8ee1a300431bb24392733b632d41cce.tar.bz2 invidious-1fcd1ff3e8ee1a300431bb24392733b632d41cce.zip | |
Add better fallback for '/videoplayback'
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious.cr | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/invidious.cr b/src/invidious.cr index fa6a4090..3e5c4d5e 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -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 |
