diff options
| author | syeopite <syeopite@syeopite.dev> | 2021-03-26 18:36:40 -0700 |
|---|---|---|
| committer | syeopite <syeopite@syeopite.dev> | 2021-06-19 04:16:17 -0700 |
| commit | 31fa3dfd590b00e5c994103f0b2fb1f1969d9b9d (patch) | |
| tree | 0836e88b14cb186d265121ff482705dca7624cb9 /src | |
| parent | 5b47438b7112d46f7d19e899475e393c5eb0aa52 (diff) | |
| download | invidious-31fa3dfd590b00e5c994103f0b2fb1f1969d9b9d.tar.gz invidious-31fa3dfd590b00e5c994103f0b2fb1f1969d9b9d.tar.bz2 invidious-31fa3dfd590b00e5c994103f0b2fb1f1969d9b9d.zip | |
Add route to redirect to another instance
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious.cr | 1 | ||||
| -rw-r--r-- | src/invidious/routes/misc.cr | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/invidious.cr b/src/invidious.cr index 7037ecfe..b1ee1525 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -314,6 +314,7 @@ Invidious::Routing.get "/shorts/:id", Invidious::Routes::Watch, :redirect Invidious::Routing.get "/w/:id", Invidious::Routes::Watch, :redirect Invidious::Routing.get "/v/:id", Invidious::Routes::Watch, :redirect Invidious::Routing.get "/e/:id", Invidious::Routes::Watch, :redirect +Invidious::Routing.get "/redirect", Invidious::Routes::Misc, :cross_instance_redirect Invidious::Routing.get "/embed/", Invidious::Routes::Embed, :redirect Invidious::Routing.get "/embed/:id", Invidious::Routes::Embed, :show diff --git a/src/invidious/routes/misc.cr b/src/invidious/routes/misc.cr index d32ba892..857d0596 100644 --- a/src/invidious/routes/misc.cr +++ b/src/invidious/routes/misc.cr @@ -35,4 +35,10 @@ class Invidious::Routes::Misc < Invidious::Routes::BaseRoute locale = LOCALES[env.get("preferences").as(Preferences).locale]? rendered "licenses" end + + def cross_instance_redirect(env) + id = env.params.query["id"] + instance_url = fetch_random_instance + env.redirect "https://#{instance_url}/watch?v=#{id}" + end end |
