From fa067aab033f0a63fbd0b8769e23f6801e35672f Mon Sep 17 00:00:00 2001 From: Equim Date: Tue, 27 Feb 2018 00:16:11 +0800 Subject: [PATCH] recaptcha: add option in cli --- cmd/filebrowser/main.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cmd/filebrowser/main.go b/cmd/filebrowser/main.go index b9317b33..d2c06957 100644 --- a/cmd/filebrowser/main.go +++ b/cmd/filebrowser/main.go @@ -44,6 +44,7 @@ var ( allowNew bool allowPublish bool showVer bool + alterRecaptcha bool ) func init() { @@ -64,6 +65,7 @@ func init() { flag.BoolVar(&allowPublish, "allow-publish", true, "Default allow publish option for new users") flag.BoolVar(&allowNew, "allow-new", true, "Default allow new option for new users") flag.BoolVar(&noAuth, "no-auth", false, "Disables authentication") + flag.BoolVar(&alterRecaptcha, "alternative-recaptcha", false, "Use recaptcha.net for serving and handling, useful in China") flag.StringVar(&locale, "locale", "", "Default locale for new users, set it empty to enable auto detect from browser") flag.StringVar(&staticg, "staticgen", "", "Static Generator you want to enable") flag.BoolVarP(&showVer, "version", "v", false, "Show version") @@ -86,6 +88,7 @@ func setupViper() { viper.SetDefault("BaseURL", "") viper.SetDefault("PrefixURL", "") viper.SetDefault("ViewMode", filebrowser.MosaicViewMode) + viper.SetDefault("AlternativeRecaptcha", false) viper.SetDefault("ReCaptchaKey", "") viper.SetDefault("ReCaptchaSecret", "") @@ -105,6 +108,7 @@ func setupViper() { viper.BindPFlag("BaseURL", flag.Lookup("baseurl")) viper.BindPFlag("PrefixURL", flag.Lookup("prefixurl")) viper.BindPFlag("ViewMode", flag.Lookup("view-mode")) + viper.BindPFlag("AlternativeRecaptcha", flag.Lookup("alternative-recaptcha")) viper.BindPFlag("ReCaptchaKey", flag.Lookup("recaptcha-key")) viper.BindPFlag("ReCaptchaSecret", flag.Lookup("recaptcha-secret")) @@ -186,10 +190,16 @@ func handler() http.Handler { log.Fatal(err) } + recaptchaHost := "https://www.google.com" + if viper.GetBool("AlternativeRecaptcha") { + recaptchaHost = "https://recaptcha.net" + } + fm := &filebrowser.FileBrowser{ NoAuth: viper.GetBool("NoAuth"), BaseURL: viper.GetString("BaseURL"), PrefixURL: viper.GetString("PrefixURL"), + ReCaptchaHost: recaptchaHost, ReCaptchaKey: viper.GetString("ReCaptchaKey"), ReCaptchaSecret: viper.GetString("ReCaptchaSecret"), DefaultUser: &filebrowser.User{