Files
new-api/common/init.go

70 lines
1.7 KiB
Go
Raw Normal View History

2023-04-22 20:39:27 +08:00
package common
import (
"flag"
"fmt"
"log"
"os"
"path/filepath"
)
var (
Port = flag.Int("port", 3000, "the listening port")
PrintVersion = flag.Bool("version", false, "print version and exit")
2023-04-22 22:15:48 +08:00
PrintHelp = flag.Bool("help", false, "print help and exit")
2023-09-17 15:39:46 +08:00
LogDir = flag.String("log-dir", "./logs", "specify the log directory")
2023-04-22 20:39:27 +08:00
)
2023-04-22 22:15:48 +08:00
func printHelp() {
2023-12-21 23:11:52 +08:00
fmt.Println("New API " + Version + " - All in one API service for OpenAI API.")
2023-04-22 22:15:48 +08:00
fmt.Println("Copyright (C) 2023 JustSong. All rights reserved.")
fmt.Println("GitHub: https://github.com/songquanpeng/one-api")
fmt.Println("Usage: one-api [--port <port>] [--log-dir <log directory>] [--version] [--help]")
}
2023-04-22 20:39:27 +08:00
func LoadEnv() {
2023-04-22 20:39:27 +08:00
flag.Parse()
if *PrintVersion {
fmt.Println(Version)
os.Exit(0)
}
2023-04-22 22:15:48 +08:00
if *PrintHelp {
printHelp()
os.Exit(0)
}
2023-04-22 20:39:27 +08:00
if os.Getenv("SESSION_SECRET") != "" {
ss := os.Getenv("SESSION_SECRET")
if ss == "random_string" {
log.Println("WARNING: SESSION_SECRET is set to the default value 'random_string', please change it to a random string.")
log.Println("警告SESSION_SECRET被设置为默认值'random_string',请修改为随机字符串。")
log.Fatal("Please set SESSION_SECRET to a random string.")
} else {
SessionSecret = ss
}
2023-04-22 20:39:27 +08:00
}
if os.Getenv("CRYPTO_SECRET") != "" {
CryptoSecret = os.Getenv("CRYPTO_SECRET")
} else {
CryptoSecret = SessionSecret
}
2023-04-22 20:39:27 +08:00
if os.Getenv("SQLITE_PATH") != "" {
SQLitePath = os.Getenv("SQLITE_PATH")
}
if *LogDir != "" {
var err error
*LogDir, err = filepath.Abs(*LogDir)
if err != nil {
log.Fatal(err)
}
if _, err := os.Stat(*LogDir); os.IsNotExist(err) {
err = os.Mkdir(*LogDir, 0777)
if err != nil {
log.Fatal(err)
}
}
}
}