support passing redis network and redis username to redis client (#576)

Signed-off-by: Jat <jat@sinosky.org>
This commit is contained in:
Jat 2024-01-12 22:22:28 +08:00 committed by GitHub
parent 4f1dafa8ed
commit d1e5762937
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 3 deletions

View File

@ -66,7 +66,9 @@ func (l *Limiter) AddInboundLimiter(tag string, nodeSpeedLimit uint64, userList
// init redis store // init redis store
rs := redisStore.NewRedis(redis.NewClient( rs := redisStore.NewRedis(redis.NewClient(
&redis.Options{ &redis.Options{
Network: globalLimit.RedisNetwork,
Addr: globalLimit.RedisAddr, Addr: globalLimit.RedisAddr,
Username: globalLimit.RedisUsername,
Password: globalLimit.RedisPassword, Password: globalLimit.RedisPassword,
DB: globalLimit.RedisDB, DB: globalLimit.RedisDB,
}), }),

View File

@ -2,7 +2,9 @@ package limiter
type GlobalDeviceLimitConfig struct { type GlobalDeviceLimitConfig struct {
Enable bool `mapstructure:"Enable"` Enable bool `mapstructure:"Enable"`
RedisAddr string `mapstructure:"RedisAddr"` // host:port RedisNetwork string `mapstructure:"RedisNetwork"` // tcp or unix
RedisAddr string `mapstructure:"RedisAddr"` // host:port, or /path/to/unix.sock
RedisUsername string `mapstructure:"RedisUsername"`
RedisPassword string `mapstructure:"RedisPassword"` RedisPassword string `mapstructure:"RedisPassword"`
RedisDB int `mapstructure:"RedisDB"` RedisDB int `mapstructure:"RedisDB"`
Timeout int `mapstructure:"Timeout"` Timeout int `mapstructure:"Timeout"`

View File

@ -40,7 +40,9 @@ Nodes:
LimitDuration: 0 # How many minutes will the limiting last (unit: minute) LimitDuration: 0 # How many minutes will the limiting last (unit: minute)
GlobalDeviceLimitConfig: GlobalDeviceLimitConfig:
Enable: false # Enable the global device limit of a user Enable: false # Enable the global device limit of a user
RedisAddr: 127.0.0.1:6379 # The redis server address RedisNetwork: tcp # Redis protocol, tcp or unix
RedisAddr: 127.0.0.1:6379 # Redis server address, or unix socket path
RedisUsername: # Redis username
RedisPassword: YOUR PASSWORD # Redis password RedisPassword: YOUR PASSWORD # Redis password
RedisDB: 0 # Redis DB RedisDB: 0 # Redis DB
Timeout: 5 # Timeout for redis request Timeout: 5 # Timeout for redis request