* add flow logic
* progress
* working POC
* fix string slice normalization issue in variables
* update
* fix nil panic
* remove poll()
* load file with sandbox and more
* fix failing integration tests
* JS: log: print in vardump format
* fix missing id in protocols
* fix proto prefix in template context
* flow: add unit tests
* conditional flow support using flow
* fix proto callbacks + more unit tests
* adds integration test
* conditional flow: check if req has any matchers
* fix lint error
* deprecate iterate-all+ missing multi-proto implementation
* fix ip input in raw request
* JS: feat dedupe object+ more builtin funcs
* feat: hide protocol result using hide
* feat: async execution
* complete async execution support
* fix condition-flow without any matchers
* refactor: template executer package (tmplexec)
* flow executor working
* fix data race in templateCtx
* templateCtx redesign
* fix failing unit test
* add multiprotocol support to deprecated syntax
* fix race condition in utils & tlsx
* add documentation in flow package
* remove regions.txt file
* fix minor issue with self contained templates
* fix typos of copilot
* dep + misc update
* fix reqID: use req.Type instead of template.Type
---------
Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com>
* Add command docs and CLI hook
* Add configurable exclusion from reports
* Register the CLI argument with exporter configuration
* Switch to inverted logic with JSONRequest flag
* Switch variable name for the -include-rr/-irr flag
* Remove flags from README
* Update call for -irr and -or
* convert -irr to no-op
---------
Co-authored-by: Tarun Koyalwar <tarun@projectdiscovery.io>
* nuclei -uq 'vuln:CVE-2021-26855' -t cves/2021/
- `nuclei -uq 'vuln:CVE-2021-26855' -t cves/2021/`
* Add automatic template execution using metadata
- Query uncover after the template is loaded.
- Add the received hosts to the input provider from uncover
- Make NormalizeStoreInputValue() function public to add hosts from the
runner after uncover hosts received.
* run go mod tidy
* Remove unnecessary comments
* Resolve the requested changes
- move uncover code to protocols/common/uncover package
- Use uncover delay to create uncover rate limiter
- Use single ratelimiter object and remove not required ratelimiters
- Create Set() method for input provider interface
- Rename normalizeStoreInputValue to Set() method
* Solved the uncover running twice.
- flag StringSliceVarP adds the default value twice in the variable
- Check if provider keys exists or not
- Add uncover help block to english readme.md
* Add uncover field functionality
- ./nuclei -uq 'vuln:CVE-2021-26855' -t dns -duc -uf host
- ./nuclei -uq 'vuln:CVE-2021-26855' -t dns -duc -uf ip:port
* Update error messages and solve nuclei hang for wrong uncover engine
- Get uncover engine values from uncover package
* Resolve merge conflicts
* misc option update
* Update logging for templates
- remove duplicate env log printing
- Log message for template queries
Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com>
* Add custom template download/update support from github
- Accept the -gtr flag to accept the list of custom template
repos(public/private)
- Accept the -gt flag for github token. It internally sets os.Env
variable
- Update the flags from
- -update to -nuclei-update for nuclei self update
- -ut to -tup for template-update
- -ud to -tud for custom template location
- Add github.go file which has code related to download and update
custom templates repos.
* Reslove golint and test case error
* Take default template from community directory
- No need to give explicit community directory path.
- Update the integration test to support the change in path
* Update functional test script update template flag
* Update the path from community to nuclei-template
- Revert the code changes that were made to add community directory
* remove the comment
* Update the interactsh server url for testing
* Update race condition command
* update race condition cmd to download the templates
* Debug integration test failure
* update integration test to update templates
* Refactor downloadCustomTemplate function.
- Remove the log prining instead send the message.
* Add test case for custom template repo download
* move the download repo for loop into diff function
* refactor updateTemplate function.
* Create struct for github repos.
- Create customtemplate struct for repo.
- Add functions to customtemplate
* update readme.md file
* Refactor the downloadCustomTemplate function
- create const variables for github & community as template type
- Update gologger to INF
- Validate templateUpdate to accept only github & community value.
- Validate tempalteUpdate require githubTemplateRepo
* Resolve requested changes
* go mod update
* misc option update
* test update
* Revert back update-template flag to boolean.
- to update community templates
`nuclei -ut`
- to update custom templates
`nuclei -ut -gtr ehsandeep/mobile-nuclei-templates`
* Update readme to update flag documentation
* Update go.mod
Co-authored-by: Sandeep Singh <sandeep@projectdiscovery.io>
Co-authored-by: sandeep <8293321+ehsandeep@users.noreply.github.com>