9 Commits
Author SHA1 Message Date
Georgii Butakov 1568f1e68e feat(progress): report completion by executed templates
The -stats percentage was requests sent against a total estimated
before the scan: TotalRequests of each template after clustering, times
the number of targets. The estimate leaves out workflows, whose requests
are added while they run, counts a self-contained template once per
target although it runs once, and doesn't follow stop-at-first-match or
a template that runs once per origin. A scan could end at 108% or stop
at 25%.

The engine now counts tasks: one per template, cluster or workflow run
on a target, and one per self-contained template. The total is known
when the scan starts. A task is done when it runs, when -resume skips
it, when its host is unresponsive, or when it repeats its origin.

progress.TaskTracker is an optional interface that StatsTicker
implements, so Progress and lib.StatsWriter don't change. The stats
line shows Tasks: done/total and takes the percentage from it, and -sj
and the metrics endpoint report tasks, totalTasks and the same percent.
2026-10-10 12:00:33 +00:00
Mzack9999 e39543e57b guard percent 2026-09-09 22:13:38 +02:00
Doğan Can Bakır 2d1914d808 fix(stats): guard percent divide by zero 2026-09-09 17:09:22 +03:00
james bob 6d7a0fa435 fix(progress): avoid panic for disabled stats interval (#7557) 2026-07-21 19:11:36 +07:00
Dwi Siswanto 87ed0b2bb9 build: bump all direct modules (#6290)
* chore: fix non-constant fmt string in call

Signed-off-by: Dwi Siswanto <[email protected]>

* build: bump all direct modules

Signed-off-by: Dwi Siswanto <[email protected]>

* chore(hosterrorscache): update import path

Signed-off-by: Dwi Siswanto <[email protected]>

* fix(charts): break changes

Signed-off-by: Dwi Siswanto <[email protected]>

* build: pinned `github.com/zmap/zcrypto` to v0.0.0-20240512203510-0fef58d9a9db

Signed-off-by: Dwi Siswanto <[email protected]>

* chore: golangci-lint auto fixes

Signed-off-by: Dwi Siswanto <[email protected]>

* chore: satisfy lints

Signed-off-by: Dwi Siswanto <[email protected]>

* build: migrate `github.com/xanzy/go-gitlab` => `gitlab.com/gitlab-org/api/client-go`

Signed-off-by: Dwi Siswanto <[email protected]>

* feat(json): update build constraints

Signed-off-by: Dwi Siswanto <[email protected]>

* chore: dont panicking on close err

Signed-off-by: Dwi Siswanto <[email protected]>

---------

Signed-off-by: Dwi Siswanto <[email protected]>
2025-07-01 00:40:44 +07:00
Sandeep SinghandIce3man 4801cc65ef feat: fixed max-host-error blocking + progress mismatch + misc (#6193)
* feat: fixed max-host-error blocking wrong port for template with error

* feat: log total results with time taken at end of execution

* bugfix: skip non-executed requests with progress in flow protocol

* feat: fixed request calculation in http protocol for progress

* misc adjustments

---------

Co-authored-by: Ice3man <[email protected]>
2025-05-07 17:22:15 +05:30
Dwi Siswanto 622c5503fa perf(*): replace encoding/json w/ sonic or go-json (fallback) (#6019)
* perf(*): replace `encoding/json` w/ sonic

Signed-off-by: Dwi Siswanto <[email protected]>

* feat(utils): add `json` pkg (sonic wrapper)

Signed-off-by: Dwi Siswanto <[email protected]>

* chore(*): use `sonic` wrapper instead

Signed-off-by: Dwi Siswanto <[email protected]>

* chore(*): replace `sonic.ConfigStd` -> `json` (wrapper)

Signed-off-by: Dwi Siswanto <[email protected]>

* test(model): adjust expected marshal'd JSON

Signed-off-by: Dwi Siswanto <[email protected]>

* feat(json): dynamic backend; `sonic` -> `go-json` (fallback)

Signed-off-by: Dwi Siswanto <[email protected]>

* chore(json): merge config - as its not usable

Signed-off-by: Dwi Siswanto <[email protected]>

* chore(json): rm go version constraints

Signed-off-by: Dwi Siswanto <[email protected]>

* chore: go mod tidy

Signed-off-by: Dwi Siswanto <[email protected]>

---------

Signed-off-by: Dwi Siswanto <[email protected]>
2025-02-11 03:01:37 +05:30
Tarun Koyalwar 5c9af62037 fix relative path issue + remove residual code (#4284)
* fix relative path issue + remove residual code

* use template dir in templateFS

* fix dir relative path issue

* print metrics server address in verbose mode

* add timeout for downloading binary & templates

* update stats & metrics docs

* add template-id loader integration test
2023-10-26 19:07:04 +05:30
Tarun Koyalwarandsandeep dc44105baf nuclei v3 : misc updates (#4247)
* use parsed options while signing

* update project layout to v3

* fix .gitignore

* remove example template

* misc updates

* bump tlsx version

* hide template sig warning with env

* js: retain value while using log

* fix nil pointer derefernce

* misc doc update

---------

Co-authored-by: sandeep <[email protected]>
2023-10-17 17:44:13 +05:30