Spaces:
Configuration error
Configuration error
| package main | |
| import ( | |
| "fmt" | |
| "log" | |
| "net/http" | |
| api "you2api/api" // 请替换为您的实际项目名 | |
| config "you2api/config" | |
| proxy "you2api/proxy" | |
| ) | |
| func main() { | |
| if err := run(); err != nil { | |
| log.Fatalf("运行错误: %v", err) | |
| } | |
| } | |
| func run() error { | |
| // 加载配置 | |
| config, err := config.Load() | |
| if err != nil { | |
| return fmt.Errorf("加载配置失败: %w", err) | |
| } | |
| // 如果启用代理 | |
| if config.Proxy.EnableProxy { | |
| proxy, err := proxy.NewProxy(config.Proxy.ProxyURL, config.Proxy.ProxyTimeoutMS) | |
| if err != nil { | |
| return fmt.Errorf("初始化代理失败: %w", err) | |
| } | |
| // 注册代理处理器 | |
| http.Handle("/proxy/", http.StripPrefix("/proxy", proxy)) | |
| } | |
| // 注册API处理器到根路径 | |
| http.HandleFunc("/", api.Handler) | |
| port := fmt.Sprintf(":%d", config.Port) | |
| fmt.Printf("Server is running on http://0.0.0.0%s\n", port) | |
| // 启动服务器 | |
| if err := http.ListenAndServe("0.0.0.0"+port, nil); err != nil { | |
| return fmt.Errorf("启动服务器失败: %w", err) | |
| } | |
| return nil | |
| } | |