diff --git a/internal/app.go b/internal/app.go index bd3b9c0..33b9e58 100644 --- a/internal/app.go +++ b/internal/app.go @@ -47,9 +47,9 @@ func MainApp(configPath string) { apiClient := http.NewHTTPClient( config.GetToken(), - config.GetRetriesUntilFailed()*10, // default retries = 2, so this is 20 - config.GetApiTimeoutSecs(), // default api timeout = 60 - false, // ipv6 support is not needed for api client + config.GetRetriesUntilFailed()*2, // default retries = 2, so this is 4 + config.GetApiTimeoutSecs(), // default api timeout = 60 + false, // ipv6 support is not needed for api client config, log.Named("api_client"), ) @@ -64,10 +64,10 @@ func MainApp(configPath string) { ) downloadClient := http.NewHTTPClient( - "", - config.GetRetriesUntilFailed(), - config.GetDownloadTimeoutSecs(), - true, + "", // no token required for download client + config.GetRetriesUntilFailed(), // + config.GetDownloadTimeoutSecs(), // + true, // download client supports ipv6 config, log.Named("download_client"), ) diff --git a/internal/config/types.go b/internal/config/types.go index f30c81f..ddfbcd3 100644 --- a/internal/config/types.go +++ b/internal/config/types.go @@ -1,5 +1,7 @@ package config +import "os" + type ConfigInterface interface { GetConfig() ZurgConfig GetVersion() string @@ -80,6 +82,9 @@ func (z *ZurgConfig) GetHost() string { } func (z *ZurgConfig) GetPort() string { + if os.Getenv("PORT") != "" { + return os.Getenv("PORT") + } if z.Port == "" { return "9999" } @@ -95,6 +100,9 @@ func (z *ZurgConfig) GetPassword() string { } func (z *ZurgConfig) GetProxy() string { + if os.Getenv("PROXY") != "" { + return os.Getenv("PROXY") + } return z.Proxy } diff --git a/pkg/http/client.go b/pkg/http/client.go index 01727e7..e7645c8 100644 --- a/pkg/http/client.go +++ b/pkg/http/client.go @@ -72,8 +72,9 @@ func NewHTTPClient( } var dialer proxy.Dialer = &net.Dialer{ - Timeout: time.Duration(timeoutSecs) * time.Second, // timeout to establish connection + Timeout: time.Duration(timeoutSecs) * time.Second, // timeout for dns resolution, tcp handshake } + if proxyURLString := cfg.GetProxy(); proxyURLString != "" { proxyURL, err := url.Parse(proxyURLString) if err != nil {