package config import ( "encoding/json" "log" "os" ) type Provider struct { Url string Throttle int Cmd string Cookies_file string Opml_file string Format string Format_sort string Output_path_template string Po_token string Verbose bool Bgutil_server string Player_client string } type Http_api struct { Enable bool Listen string Auth_token string Auth_token_file string Queue_file string } type Config struct { Out_dir string Provider map[string]Provider Dry_run bool Daemon bool Http_api Http_api } func Load(filepath string) (Config, error) { data, err := os.ReadFile(filepath) if err != nil { panic(err) } cfg := Config{} err = json.Unmarshal(data, &cfg) if err != nil { panic(err) } log.Println("Loaded config:") log.Printf("%+v\n", cfg) return cfg, err }