* change catalog

* add usesuppliedcatalog option

* add catalog nil check

* Update config.go
This commit is contained in:
scottdharvey 2024-04-23 06:41:12 -07:00 committed by GitHub
parent ea3705eb64
commit 4b9c3b8d16
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 14 additions and 3 deletions

View File

@ -10,6 +10,7 @@ import (
"github.com/projectdiscovery/ratelimit"
"github.com/projectdiscovery/nuclei/v3/pkg/authprovider"
"github.com/projectdiscovery/nuclei/v3/pkg/catalog"
"github.com/projectdiscovery/nuclei/v3/pkg/model/types/severity"
"github.com/projectdiscovery/nuclei/v3/pkg/output"
"github.com/projectdiscovery/nuclei/v3/pkg/progress"
@ -425,3 +426,11 @@ func SignedTemplatesOnly() NucleiSDKOptions {
return nil
}
}
// WithCatalog uses a supplied catalog
func WithCatalog(cat catalog.Catalog) NucleiSDKOptions {
return func(e *NucleiEngine) error {
e.catalog = cat
return nil
}
}

View File

@ -6,7 +6,7 @@ import (
"io"
"github.com/projectdiscovery/nuclei/v3/pkg/authprovider"
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/disk"
"github.com/projectdiscovery/nuclei/v3/pkg/catalog"
"github.com/projectdiscovery/nuclei/v3/pkg/catalog/loader"
"github.com/projectdiscovery/nuclei/v3/pkg/core"
"github.com/projectdiscovery/nuclei/v3/pkg/input/provider"
@ -63,7 +63,7 @@ type NucleiEngine struct {
// unexported core fields
interactshClient *interactsh.Client
catalog *disk.DiskCatalog
catalog catalog.Catalog
rateLimiter *ratelimit.Limiter
store *loader.Store
httpxClient providerTypes.InputLivenessProbe

View File

@ -146,7 +146,9 @@ func (e *NucleiEngine) init() error {
return err
}
if e.catalog == nil {
e.catalog = disk.NewCatalog(config.DefaultConfig.TemplatesDirectory)
}
e.executerOpts = protocols.ExecutorOptions{
Output: e.customWriter,