From 28f31d86837e5968516a5944f8f0ba6b3bef471a Mon Sep 17 00:00:00 2001 From: Qianlitp Date: Tue, 6 Dec 2022 14:51:23 +0800 Subject: [PATCH] fix flag StringSlice bug. --- cmd/crawlergo/flag.go | 19 ++++++++++--------- cmd/crawlergo/main.go | 13 ++++++------- go.mod | 4 ++-- go.sum | 12 ++++++++++++ 4 files changed, 30 insertions(+), 18 deletions(-) diff --git a/cmd/crawlergo/flag.go b/cmd/crawlergo/flag.go index 39afc61..53d80f2 100644 --- a/cmd/crawlergo/flag.go +++ b/cmd/crawlergo/flag.go @@ -211,28 +211,29 @@ func SetIgnoreUrlKeywords() *cli.StringSliceFlag { return &cli.StringSliceFlag{ Name: "ignore-url-keywords", Aliases: []string{"iuk"}, - Value: ignoreKeywords, + Value: cli.NewStringSlice(config.DefaultIgnoreKeywords...), Usage: "crawlergo will not crawl these URLs matched by `Keywords`. e.g.: -iuk logout -iuk quit -iuk exit", DefaultText: "Default [logout quit exit]", + Destination: ignoreKeywords, } } func SetFormValues() *cli.StringSliceFlag { return &cli.StringSliceFlag{ - Name: "form-values", - Aliases: []string{"fv"}, - Value: customFormTypeValues, - Usage: "custom filling text for each form type. e.g.: -fv username=crawlergo_nice -fv password=admin123", + Name: "form-values", + Aliases: []string{"fv"}, + Usage: "custom filling text for each form type. e.g.: -fv username=crawlergo_nice -fv password=admin123", + Destination: customFormTypeValues, } } // 根据关键词自行选择填充文本 func SetFormKeywordValue() *cli.StringSliceFlag { return &cli.StringSliceFlag{ - Name: "form-keyword-values", - Aliases: []string{"fkv"}, - Value: customFormKeywordValues, - Usage: "custom filling text, fuzzy matched by keyword. e.g.: -fkv user=crawlergo_nice -fkv pass=admin123", + Name: "form-keyword-values", + Aliases: []string{"fkv"}, + Usage: "custom filling text, fuzzy matched by keyword. e.g.: -fkv user=crawlergo_nice -fkv pass=admin123", + Destination: customFormKeywordValues, } } diff --git a/cmd/crawlergo/main.go b/cmd/crawlergo/main.go index 2ba887b..26f3226 100755 --- a/cmd/crawlergo/main.go +++ b/cmd/crawlergo/main.go @@ -58,9 +58,9 @@ var ( outputMode string postData string signalChan chan os.Signal - ignoreKeywords *cli.StringSlice - customFormTypeValues *cli.StringSlice - customFormKeywordValues *cli.StringSlice + ignoreKeywords = cli.NewStringSlice(config.DefaultIgnoreKeywords...) + customFormTypeValues = cli.NewStringSlice() + customFormKeywordValues = cli.NewStringSlice() pushAddress string pushProxyPoolMax int pushProxyWG sync.WaitGroup @@ -75,9 +75,9 @@ func main() { Email: "9ian1itp@gmail.com", } - ignoreKeywords = cli.NewStringSlice(config.DefaultIgnoreKeywords...) - customFormTypeValues = cli.NewStringSlice() - customFormKeywordValues = cli.NewStringSlice() + //ignoreKeywords = cli.NewStringSlice(config.DefaultIgnoreKeywords...) + //customFormTypeValues = cli.NewStringSlice() + //customFormKeywordValues = cli.NewStringSlice() app := &cli.App{ Name: "crawlergo", @@ -98,7 +98,6 @@ func main() { func run(c *cli.Context) error { signalChan = make(chan os.Signal, 1) signal.Notify(signalChan, syscall.SIGTERM, syscall.SIGQUIT, syscall.SIGINT) - if c.Args().Len() == 0 { logger.Logger.Error("url must be set") return errors.New("url must be set") diff --git a/go.mod b/go.mod index 8e8324a..04a629a 100755 --- a/go.mod +++ b/go.mod @@ -7,14 +7,14 @@ replace git.apache.org/thrift.git => github.com/apache/thrift v0.13.0 require ( github.com/chromedp/cdproto v0.0.0-20220629234738-4cfc9cdeeb92 github.com/chromedp/chromedp v0.8.2 - github.com/cpuguy83/go-md2man/v2 v2.0.0 // indirect github.com/deckarep/golang-set v1.7.1 github.com/gogf/gf v1.16.6 github.com/knq/sysutil v0.0.0-20191005231841-15668db23d08 // indirect github.com/panjf2000/ants/v2 v2.2.2 github.com/pkg/errors v0.8.1 + github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect github.com/sirupsen/logrus v1.4.2 - github.com/urfave/cli/v2 v2.0.0 + github.com/urfave/cli/v2 v2.23.6 golang.org/x/net v0.0.0-20210520170846-37e1c6afe023 golang.org/x/sys v0.0.0-20220627191245-f75cf1eec38b // indirect ) diff --git a/go.sum b/go.sum index 7131f43..90b82d7 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4 h1:QD3KxSJ59L2lxG6MXBjNHxiQO2RmxTQ3XcK+wO44WOg= github.com/chromedp/cdproto v0.0.0-20191114225735-6626966fbae4/go.mod h1:PfAWWKJqjlGFYJEidUM6aVIWPr0EpobeyVWEEmplX7g= github.com/chromedp/cdproto v0.0.0-20220515234810-83d799542a04/go.mod h1:5Y4sD/eXpwrChIuxhSr/G20n9CdbCmoerOHnuAf0Zr0= @@ -16,6 +18,8 @@ github.com/clbanning/mxj v1.8.5-0.20200714211355-ff02cfb8ea28/go.mod h1:BVjHeAH+ github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -76,6 +80,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4= @@ -88,6 +94,10 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/urfave/cli/v2 v2.0.0 h1:+HU9SCbu8GnEUFtIBfuUNXN39ofWViIEJIp6SURMpCg= github.com/urfave/cli/v2 v2.0.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= +github.com/urfave/cli/v2 v2.23.6 h1:iWmtKD+prGo1nKUtLO0Wg4z9esfBM4rAV4QRLQiEmJ4= +github.com/urfave/cli/v2 v2.23.6/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= go.opentelemetry.io/otel v1.0.0-RC2 h1:SHhxSjB+omnGZPgGlKe+QMp3MyazcOHdQ8qwo89oKbg= go.opentelemetry.io/otel v1.0.0-RC2/go.mod h1:w1thVQ7qbAy8MHb0IFj8a5Q2QU0l2ksf8u/CN8m3NOM= go.opentelemetry.io/otel/oteltest v1.0.0-RC2 h1:xNKqMhlZYkASSyvF4JwObZFMq0jhFN3c3SP+2rCzVPk= @@ -120,3 +130,5 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=