diff --git a/cmd/gost/main.go b/cmd/gost/main.go index 512e0e8..3cd3f7d 100644 --- a/cmd/gost/main.go +++ b/cmd/gost/main.go @@ -19,7 +19,6 @@ import ( "github.com/go-log/log" "github.com/go-redis/redis" - "github.com/jinzhu/configor" "github.com/ginuerzh/gost" ) @@ -325,7 +324,7 @@ func (r *route) serve() error { if node.User != nil { users = append(users, node.User) } - redisClient, err := parseRedisUsersAuth(node.Values.Get("redis")) + redisClient, err := connectToRedis(node.Values.Get("redis")) if err != nil { return err } @@ -611,24 +610,32 @@ func parseUsers(authFile string) (users []*url.Userinfo, err error) { return } -func parseRedisUsersAuth(configFile string) (client *redis.Client, err error) { - if configFile == "" { +type redisConfig struct { + Address string `json:"address"` + Password string `json:"password"` + DB int `json:"db"` +} + +func connectToRedis(redisCfg string) (client *redis.Client, err error){ + if redisCfg == "" { return } - var Config = struct { - RedisServer struct { - Address string `default:"localhost:6379"` - Password string `default:""` - DB int `default:0` - } - }{} + content, err := ioutil.ReadFile(redisCfg) + if err != nil { + return + } + + config := new(redisConfig) + err = json.Unmarshal(content, &config) + if err != nil { + return + } - configor.Load(&Config, configFile) client = redis.NewClient(&redis.Options{ - Addr: Config.RedisServer.Address, - Password: Config.RedisServer.Password, - DB: Config.RedisServer.DB, + Addr: config.Address, + Password: config.Password, + DB: config.DB, }) _, err = client.Ping().Result() @@ -636,7 +643,7 @@ func parseRedisUsersAuth(configFile string) (client *redis.Client, err error) { return } -func parseIP(s string) (ips []string) { +func parseIP(s string, port string) (ips []string) { if s == "" { return } diff --git a/cmd/gost/redis.json b/cmd/gost/redis.json new file mode 100644 index 0000000..2e5ca9c --- /dev/null +++ b/cmd/gost/redis.json @@ -0,0 +1,5 @@ +{ + "address": "localhost:6379", + "password": "", + "db": 0 +} diff --git a/cmd/gost/redis.yml b/cmd/gost/redis.yml deleted file mode 100644 index e8e92c1..0000000 --- a/cmd/gost/redis.yml +++ /dev/null @@ -1,5 +0,0 @@ -redisserver: - address: localhost:6379 - password: - db: -