Merge pull request 'implement x-forwarded-proto' (#239) from x-forwarded-for into main

Reviewed-on: https://codeberg.org/rimgo/rimgo/pulls/239
Reviewed-by: video-prize-ranch <video-prize-ranch@noreply.codeberg.org>
This commit is contained in:
orangix
2026-01-06 04:55:44 +01:00
2 changed files with 22 additions and 17 deletions

View File

@@ -9,6 +9,7 @@ type config struct {
Port string
Addr string
ImgurId string
ProtocolDetection bool
Secure bool
FiberPrefork bool
ImageCache bool
@@ -48,6 +49,7 @@ func LoadConfig() {
Port: port,
Addr: addr,
ImgurId: imgurId,
ProtocolDetection: os.Getenv("PROTOCOL_DETECTION") == "true" || os.Getenv("PROTOCOL_DETECTION") == "1",
Secure: os.Getenv("SECURE") == "true",
FiberPrefork: os.Getenv("FIBER_PREFORK") == "true",
Privacy: map[string]interface{}{

View File

@@ -3,9 +3,12 @@ package utils
import "github.com/gofiber/fiber/v2"
func GetInstanceUrl(c *fiber.Ctx) string {
proto := "https://"
proto := "https"
if !Config.Secure {
proto = "http://"
proto = "http"
}
return proto + c.Hostname()
if Config.ProtocolDetection {
proto = c.Get("X-Forwarded-Proto", proto)
}
return proto + "://" + c.Hostname()
}