diff --git a/main.go b/main.go index 2696d09..217d2c5 100644 --- a/main.go +++ b/main.go @@ -35,6 +35,15 @@ var embed_robots_txt string // go: embed humans.txt var embed_humans_txt string +var redirectMapping = map[string]string{ + "/twitch": "https://twitch.tv/mstarontwitch", + "/bsky": "https://bsky.app/profile/mstar.dev", + "/bluesky": "https://bsky.app/profile/mstar.dev", + "/git": "https://git.mstar.dev", + "/gitlab": "https://gitlab.com/mstarongitlab", + "/github": "https://github.com/mstarongithub", +} + func main() { other.SetupFlags() portFlag := flag.String("port", "8080", "Set the port. Overwrites env vars") @@ -50,6 +59,10 @@ func main() { http.RedirectHandler("https://hil-speed.hetzner.com/10GB.bin", http.StatusMovedPermanently), ) + for k, v := range redirectMapping { + mux.Handle(k, http.RedirectHandler(v, http.StatusMovedPermanently)) + } + mux.HandleFunc("/cat/awawawa", awawaStream) // static files in /static @@ -107,6 +120,8 @@ func buildHTTPFileReader(embed_content string) func(w http.ResponseWriter, r *ht } func awawaStream(w http.ResponseWriter, r *http.Request) { + fmt.Fprint(w, "Disabled until I can find a good way to rate limit the stream") + return w.Header().Set("Content-Type", "text/html") w.WriteHeader(206) w.Header().Set("Status", "206") @@ -116,14 +131,16 @@ func awawaStream(w http.ResponseWriter, r *http.Request) { ) // Hardcoded. Firefox & Chrome both have this value and a len of 0 wouldn't work hlog.FromRequest(r).Debug().Msg("Starting stream") i := true + fmt.Fprint(w, "awawaw") // Only run every 0.2 seconds, aka 5 times a second - timer := time.Tick(time.Millisecond * 200) + timer := time.Tick(time.Millisecond * 100) for { select { case <-r.Context().Done(): hlog.FromRequest(r).Debug().Msg("Stream done") return case <-timer: + hlog.FromRequest(r).Debug().Msg("Stream elem") if i { fmt.Fprint(w, "a") } else {