add option to use random ip from googlebot pool

This commit is contained in:
Damian Bednarczyk
2023-11-29 23:24:32 -06:00
parent 97afbaa64d
commit 0122b2f1cf
4 changed files with 103 additions and 3 deletions

View File

@@ -9,6 +9,7 @@ import (
"ladder/handlers"
"ladder/internal/cli"
"ladder/internal/helpers"
"github.com/akamensky/argparse"
"github.com/gofiber/fiber/v2"
@@ -22,7 +23,6 @@ var faviconData string
//go:embed styles.css
var cssData embed.FS
//go:embed VERSION
var version string
func main() {
@@ -49,6 +49,11 @@ func main() {
Help: "Adds verbose logging",
})
randomGooglebot := parser.Flag("", "random-googlebot", &argparse.Options{
Required: false,
Help: "Uses a random trusted Googlebot IP for each masqueraded request",
})
// TODO: add version flag that reads from handers/VERSION
ruleset := parser.String("r", "ruleset", &argparse.Options{
@@ -76,6 +81,15 @@ func main() {
fmt.Print(parser.Usage(err))
}
if *randomGooglebot {
err := helpers.UpdateGooglebotIPs()
if err != nil {
fmt.Println("error while retrieving list of Googlebot IPs: " + err.Error())
fmt.Println("defaulting to known trusted Googlebot identity")
}
}
// utility cli flag to compile ruleset directory into single ruleset.yaml
if *mergeRulesets || *mergeRulesetsGzip {
output := os.Stdout