simpleproxy/config.go
2025-02-04 17:13:27 +00:00

31 lines
672 B
Go

package main
import (
"log"
"os"
"github.com/yosuke-furukawa/json5/encoding/json5"
)
type ProxyConfig struct {
Proxy []Proxy `json:"proxy"`
}
type Proxy struct {
Local string `json:"local,omitempty"`
Remote string `json:"remote"`
Type string `json:"type,omitempty"` // "tcp", "udp", or "both"
}
func ReadConfig(configPath string) ProxyConfig {
configData, err := os.ReadFile(configPath)
if err != nil {
log.Fatalf("[ERROR] Failed to read config file (%s): %v\n", configPath, err)
}
var config ProxyConfig
if err := json5.Unmarshal(configData, &config); err != nil {
log.Fatalf("[ERROR] Failed to parse config file: %v\n", err)
}
return config
}