2022-04-22 15:55:53 +00:00
|
|
|
package utils
|
|
|
|
|
2022-09-30 20:57:18 +00:00
|
|
|
import (
|
|
|
|
"os"
|
|
|
|
"time"
|
|
|
|
)
|
2022-04-22 15:55:53 +00:00
|
|
|
|
2022-09-30 20:57:18 +00:00
|
|
|
type config struct {
|
|
|
|
Port string
|
|
|
|
Addr string
|
|
|
|
ImgurId string
|
|
|
|
FiberPrefork bool
|
|
|
|
ImageCache bool
|
|
|
|
CleanupInterval time.Duration
|
|
|
|
CacheDir string
|
|
|
|
Privacy map[string]interface{}
|
|
|
|
}
|
|
|
|
|
|
|
|
var Config config
|
2022-04-22 15:55:53 +00:00
|
|
|
|
|
|
|
func LoadConfig() {
|
|
|
|
port := "3000"
|
|
|
|
if os.Getenv("PORT") != "" {
|
|
|
|
port = os.Getenv("PORT")
|
|
|
|
}
|
|
|
|
if os.Getenv("RIMGU_PORT") != "" {
|
|
|
|
port = os.Getenv("RIMGU_PORT")
|
|
|
|
}
|
|
|
|
|
|
|
|
addr := "0.0.0.0"
|
|
|
|
if os.Getenv("ADDRESS") != "" {
|
|
|
|
addr = os.Getenv("ADDRESS")
|
|
|
|
}
|
|
|
|
if os.Getenv("RIMGU_ADDRESS") != "" {
|
|
|
|
addr = os.Getenv("RIMGU_ADDRESS")
|
|
|
|
}
|
|
|
|
|
|
|
|
imgurId := "546c25a59c58ad7"
|
|
|
|
if os.Getenv("IMGUR_CLIENT_ID") != "" {
|
|
|
|
imgurId = os.Getenv("IMGUR_CLIENT_ID")
|
|
|
|
}
|
|
|
|
if os.Getenv("RIMGU_IMGUR_CLIENT_ID") != "" {
|
|
|
|
imgurId = os.Getenv("RIMGU_IMGUR_CLIENT_ID")
|
|
|
|
}
|
|
|
|
|
2022-09-30 20:57:18 +00:00
|
|
|
Config = config{
|
|
|
|
Port: port,
|
|
|
|
Addr: addr,
|
|
|
|
ImgurId: imgurId,
|
|
|
|
FiberPrefork: os.Getenv("FIBER_PREFORK") == "true",
|
|
|
|
Privacy: map[string]interface{}{
|
|
|
|
"set": os.Getenv("PRIVACY_NOT_COLLECTED") != "",
|
|
|
|
"policy": os.Getenv("PRIVACY_POLICY"),
|
2022-08-04 23:41:55 +00:00
|
|
|
"message": os.Getenv("PRIVACY_MESSAGE"),
|
|
|
|
"country": os.Getenv("PRIVACY_COUNTRY"),
|
|
|
|
"provider": os.Getenv("PRIVACY_PROVIDER"),
|
|
|
|
"cloudflare": os.Getenv("PRIVACY_CLOUDFLARE") == "true",
|
|
|
|
"not_collected": os.Getenv("PRIVACY_NOT_COLLECTED") == "true",
|
|
|
|
"ip": os.Getenv("PRIVACY_IP") == "true",
|
|
|
|
"url": os.Getenv("PRIVACY_URL") == "true",
|
|
|
|
"device": os.Getenv("PRIVACY_DEVICE") == "true",
|
|
|
|
"diagnostics": os.Getenv("PRIVACY_DIAGNOSTICS") == "true",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|