diff --git a/cmd/server/main.go b/cmd/server/main.go index e5df3fec..3e0b4cf2 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -9,6 +9,7 @@ import ( "os" "path/filepath" + configaccess "github.com/router-for-me/CLIProxyAPI/v6/internal/access/config_access" "github.com/router-for-me/CLIProxyAPI/v6/internal/cmd" "github.com/router-for-me/CLIProxyAPI/v6/internal/config" "github.com/router-for-me/CLIProxyAPI/v6/internal/logging" @@ -66,7 +67,7 @@ func main() { return } s := fmt.Sprintf(" -%s", f.Name) - name, usage := flag.UnquoteUsage(f) + name, unquoteUsage := flag.UnquoteUsage(f) if name != "" { s += " " + name } @@ -75,8 +76,8 @@ func main() { } else { s += "\n " } - if usage != "" { - s += usage + if unquoteUsage != "" { + s += unquoteUsage } if f.DefValue != "" && f.DefValue != "false" && f.DefValue != "0" { s += fmt.Sprintf(" (default %s)", f.DefValue) @@ -136,6 +137,9 @@ func main() { // Register the shared token store once so all components use the same persistence backend. sdkAuth.RegisterTokenStore(sdkAuth.NewFileTokenStore()) + // Register built-in access providers before constructing services. + configaccess.Register() + // Handle different command modes based on the provided flags. if login { diff --git a/internal/access/reconcile.go b/internal/access/reconcile.go index df5c105f..eb0beb2d 100644 --- a/internal/access/reconcile.go +++ b/internal/access/reconcile.go @@ -6,7 +6,6 @@ import ( "sort" "strings" - configaccess "github.com/router-for-me/CLIProxyAPI/v6/internal/access/config_access" "github.com/router-for-me/CLIProxyAPI/v6/internal/config" sdkaccess "github.com/router-for-me/CLIProxyAPI/v6/sdk/access" sdkConfig "github.com/router-for-me/CLIProxyAPI/v6/sdk/config" @@ -22,8 +21,6 @@ func ReconcileProviders(oldCfg, newCfg *config.Config, existing []sdkaccess.Prov return nil, nil, nil, nil, nil } - configaccess.Register() - existingMap := make(map[string]sdkaccess.Provider, len(existing)) for _, provider := range existing { if provider == nil { @@ -206,9 +203,6 @@ func accessProviderMap(cfg *config.Config) map[string]*sdkConfig.AccessProvider func collectProviderEntries(cfg *config.Config) []*sdkConfig.AccessProvider { entries := make([]*sdkConfig.AccessProvider, 0, len(cfg.Access.Providers)) - if cfg == nil { - return entries - } for i := range cfg.Access.Providers { providerCfg := &cfg.Access.Providers[i] if providerCfg.Type == "" { diff --git a/sdk/cliproxy/builder.go b/sdk/cliproxy/builder.go index fc80aa5e..48120543 100644 --- a/sdk/cliproxy/builder.go +++ b/sdk/cliproxy/builder.go @@ -6,7 +6,6 @@ package cliproxy import ( "fmt" - configaccess "github.com/router-for-me/CLIProxyAPI/v6/internal/access/config_access" "github.com/router-for-me/CLIProxyAPI/v6/internal/api" "github.com/router-for-me/CLIProxyAPI/v6/internal/config" sdkaccess "github.com/router-for-me/CLIProxyAPI/v6/sdk/access" @@ -185,7 +184,6 @@ func (b *Builder) Build() (*Service, error) { if accessManager == nil { accessManager = sdkaccess.NewManager() } - configaccess.Register() providers, err := sdkaccess.BuildProviders(&b.cfg.SDKConfig) if err != nil {