diff --git a/rust-toolchain.toml b/rust-toolchain.toml index 271e97d..ecbe31f 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,2 +1,2 @@ [toolchain] -channel = "1.60" +channel = "1.61" diff --git a/src/main.rs b/src/main.rs index 896f0be..2fd86bb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,7 +4,8 @@ use axum::{ extract::Extension, http::StatusCode, middleware, - routing::{get, get_service}, + response::Redirect, + routing::{any, get, get_service}, Router, }; use tower_http::{auth::RequireAuthorizationLayer, services::ServeDir, trace::TraceLayer}; @@ -72,6 +73,20 @@ async fn main() { ); } + // Define some redirects + let redirects = [ + ("/github", "https://github.com/ChewingBever"), + ("/gitea", "https://git.rustybever.be/Chewing_Bever"), + ("/gitlab", "https://gitlab.com/Chewing_Bever"), + ("/codeberg", "https://codeberg.org/Chewing_Bever"), + ("/matrix", "https://matrix.to/#/@jef:rustybever.be"), + ("/aur", "https://aur.archlinux.org/account/Chewing_Bever"), + ]; + + for (path, url) in redirects { + app = app.route(path, any(|| async { Redirect::permanent(url) })) + } + app = app // The fallback option is to serve the actual static files .fallback(