From 49d975996b356f2ede5d96c6f1976fd4888af6ba Mon Sep 17 00:00:00 2001 From: Stephen Horvath Date: Sun, 22 Jun 2025 14:58:33 +1000 Subject: [PATCH] Add `MOZHI_DEFAULT_ENGINE` env var --- README.md | 1 + pages/index.go | 10 +++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3be64d5..5b26ee8 100644 --- a/README.md +++ b/README.md @@ -59,6 +59,7 @@ Features of Mozhi can be customized and toggled on/off using Environment Variabl - `MOZHI_DEFAULT_SOURCE_LANG`: Language to default to if no source language is set by user. Defaults to Auto-Detect (or first available language in engines which dont support it) - `MOZHI_DEFAULT_PREFER_AUTODETECT`: Prefer autodetect if available instead of specified/default source language. Defaults to false - `MOZHI_DEFAULT_TARGET_LANG`: Language to default to if no target language is set by user. Defaults to English +- `MOZHI_DEFAULT_ENGINE`: Engine to default to if no engine is set by user. Defaults to `google` These envvars turn off/on engines. By default all of them are enabled. - `MOZHI_GOOGLE_ENABLED` diff --git a/pages/index.go b/pages/index.go index 31824a2..9a819cb 100644 --- a/pages/index.go +++ b/pages/index.go @@ -33,6 +33,14 @@ func HandleIndex(c *fiber.Ctx) error { for engine := range engines { enginesAsArray = append(enginesAsArray, engine) } + defaultEngine := os.Getenv("MOZHI_DEFAULT_ENGINE") + if defaultEngine == "" || !slices.Contains(enginesAsArray, defaultEngine) { + if slices.Contains(enginesAsArray, "google") { + defaultEngine = "google" + } else if len(enginesAsArray) > 0 { + defaultEngine = enginesAsArray[0] + } + } engineCookie := c.Cookies("engine") fromCookie := c.Cookies("from") toCookie := c.Cookies("to") @@ -41,7 +49,7 @@ func HandleIndex(c *fiber.Ctx) error { if engineCookie != "" { engine = engineCookie } else { - engine = "google" + engine = defaultEngine } }