From 7bc46de8aabc5d40d7fae04689725201685d4241 Mon Sep 17 00:00:00 2001 From: BoYanZh Date: Wed, 8 Feb 2023 22:01:26 +0800 Subject: [PATCH] feat: settings for tls insecure skip verify (close #3306 in #3307) --- drivers/base/client.go | 3 ++- internal/bootstrap/config.go | 9 +++++++-- internal/conf/config.go | 30 ++++++++++++++++-------------- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/drivers/base/client.go b/drivers/base/client.go index 02e314b2481..ca1a1166fe6 100644 --- a/drivers/base/client.go +++ b/drivers/base/client.go @@ -23,8 +23,9 @@ func init() { } func NewRestyClient() *resty.Client { - return resty.New(). + client := resty.New(). SetHeader("user-agent", UserAgent). SetRetryCount(3). SetTimeout(DefaultTimeout) + return client } diff --git a/internal/bootstrap/config.go b/internal/bootstrap/config.go index 9e78d945b58..4bb55b1a1ad 100644 --- a/internal/bootstrap/config.go +++ b/internal/bootstrap/config.go @@ -1,10 +1,12 @@ package bootstrap import ( + "crypto/tls" "os" "path/filepath" "github.com/alist-org/alist/v3/cmd/flags" + "github.com/alist-org/alist/v3/drivers/base" "github.com/alist-org/alist/v3/internal/conf" "github.com/alist-org/alist/v3/pkg/utils" "github.com/caarlos0/env/v7" @@ -49,7 +51,7 @@ func InitConfig() { if err != nil { log.Fatalf("marshal config error: %+v", err) } - err = os.WriteFile(configPath, confBody, 0777) + err = os.WriteFile(configPath, confBody, 0o777) if err != nil { log.Fatalf("update config struct error: %+v", err) } @@ -69,11 +71,14 @@ func InitConfig() { if err != nil { log.Errorln("failed delete temp file:", err) } - err = os.MkdirAll(conf.Conf.TempDir, 0777) + err = os.MkdirAll(conf.Conf.TempDir, 0o777) if err != nil { log.Fatalf("create temp dir error: %+v", err) } log.Debugf("config: %+v", conf.Conf) + if conf.Conf.TlsInsecureSkipVerify { + base.RestyClient = base.RestyClient.SetTLSClientConfig(&tls.Config{InsecureSkipVerify: true}) + } } func confFromEnv() { diff --git a/internal/conf/config.go b/internal/conf/config.go index ea09cf75234..2e7011f7c62 100644 --- a/internal/conf/config.go +++ b/internal/conf/config.go @@ -35,19 +35,20 @@ type LogConfig struct { } type Config struct { - Force bool `json:"force" env:"FORCE"` - Address string `json:"address" env:"ADDR"` - Port int `json:"port" env:"PORT"` - SiteURL string `json:"site_url" env:"SITE_URL"` - Cdn string `json:"cdn" env:"CDN"` - JwtSecret string `json:"jwt_secret" env:"JWT_SECRET"` - TokenExpiresIn int `json:"token_expires_in" env:"TOKEN_EXPIRES_IN"` - Database Database `json:"database"` - Scheme Scheme `json:"scheme"` - TempDir string `json:"temp_dir" env:"TEMP_DIR"` - BleveDir string `json:"bleve_dir" env:"BLEVE_DIR"` - Log LogConfig `json:"log"` - MaxConnections int `json:"max_connections" env:"MAX_CONNECTIONS"` + Force bool `json:"force" env:"FORCE"` + Address string `json:"address" env:"ADDR"` + Port int `json:"port" env:"PORT"` + SiteURL string `json:"site_url" env:"SITE_URL"` + Cdn string `json:"cdn" env:"CDN"` + JwtSecret string `json:"jwt_secret" env:"JWT_SECRET"` + TokenExpiresIn int `json:"token_expires_in" env:"TOKEN_EXPIRES_IN"` + Database Database `json:"database"` + Scheme Scheme `json:"scheme"` + TempDir string `json:"temp_dir" env:"TEMP_DIR"` + BleveDir string `json:"bleve_dir" env:"BLEVE_DIR"` + Log LogConfig `json:"log"` + MaxConnections int `json:"max_connections" env:"MAX_CONNECTIONS"` + TlsInsecureSkipVerify bool `json:"tls_insecure_skip_verify" env:"TLS_INSECURE_SKIP_VERIFY"` } func DefaultConfig() *Config { @@ -75,6 +76,7 @@ func DefaultConfig() *Config { MaxBackups: 5, MaxAge: 28, }, - MaxConnections: 0, + MaxConnections: 0, + TlsInsecureSkipVerify: false, } }