Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
3cac134
fix: prevent response file overwrite when -sd flag is used
jjhwan-h Jul 31, 2025
63130de
Merge branch 'dev' into pr/2226
Mzack9999 Oct 20, 2025
bd4dc82
fix var declaration
Mzack9999 Oct 20, 2025
a3212c6
fix lint errors
Mzack9999 Oct 20, 2025
ca007ea
fix: correct index file name generation
jjhwan-h Oct 23, 2025
37ae76b
Fix GitHub Actions condition (#2338)
arunstar Dec 13, 2025
df52dee
chore(deps): bump golang.org/x/net from 0.47.0 to 0.48.0
dependabot[bot] Dec 15, 2025
77679db
chore(deps): bump the modules group with 7 updates
dependabot[bot] Dec 15, 2025
ec2b715
changed resp.Raw contstruction to cap the body, avoiding oom issue
smallseacreature Dec 22, 2025
2773b08
changed max response to save and read to 10MB, the common/httpx default
smallseacreature Dec 22, 2025
a28b9fa
fix: updated README max response size to match edit
smallseacreature Dec 22, 2025
8569576
fix: removed temp logger
smallseacreature Dec 22, 2025
78bf9c3
restoring original logic + limiting read to 512Mb + lint
Mzack9999 Dec 24, 2025
78bb95e
removing test file
Mzack9999 Dec 24, 2025
7e6003c
fixing comment
Mzack9999 Dec 24, 2025
5a793ca
Merge pull request #2343 from smallseacreature/fix-endless-stream-oom
Mzack9999 Dec 24, 2025
7f9403e
chore(deps): bump the modules group with 7 updates
dependabot[bot] Dec 22, 2025
7cfcff3
fix: probe-all-ips now works correctly when URL contains port
majiayu000 Jan 2, 2026
c63cbf1
Merge pull request #2348 from majiayu000/fix-2346-inconsistent-result…
dogancanbakir Jan 2, 2026
0cbc12b
chore(deps): bump the modules group with 9 updates
dependabot[bot] Dec 29, 2025
74cdf47
chore(deps): bump github.com/weppos/publicsuffix-go
dependabot[bot] Jan 5, 2026
bc2c7a2
chore(deps): bump the modules group with 7 updates (#2355)
dependabot[bot] Jan 5, 2026
81461d3
feat: add passive CPE and WordPress detection
dogancanbakir Jan 6, 2026
834bbd7
Merge pull request #2366 from projectdiscovery/feature/cpe-wordpress-…
dogancanbakir Jan 8, 2026
07b45fa
fixing index generation
Mzack9999 Jan 9, 2026
048c43f
Merge branch 'dev' into pr/2226
Mzack9999 Jan 9, 2026
59adfd6
Merge pull request #2226 from jjhwan-h/fix/no-dedupe-store-sd
Mzack9999 Jan 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
jobs:
lint:
name: Lint Test
if: "${{ !endsWith(github.actor, '[bot]') }}"
if: ${{ !endsWith(github.actor, '[bot]') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,9 +110,11 @@ PROBES:
-title display page title
-bp, -body-preview display first N characters of response body (default 100)
-server, -web-server display server name
-td, -tech-detect display technology in use based on wappalyzer dataset
-td, -tech-detect display technology in use based on wappalyzer dataset
-cff, -custom-fingerprint-file string path to a custom fingerprint file for technology detection
-method display http request method
-cpe display CPE (Common Platform Enumeration) based on awesome-search-queries
-wp, -wordpress display WordPress plugins and themes
-method display http request method
-ws, -websocket display server using websocket
-ip display host ip
-cname display host cname
Expand Down Expand Up @@ -307,4 +309,4 @@ Probing feature is inspired by [@tomnomnom/httprobe](https://github.com/tomnomno

<a href="https://discord.gg/projectdiscovery"><img src="https://raw.githubusercontent.com/projectdiscovery/nuclei-burp-plugin/main/static/join-discord.png" width="300" alt="Join Discord"></a>

</div>
</div>
8 changes: 8 additions & 0 deletions common/httpx/httpx.go
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,14 @@ get_response:

resp.Headers = httpresp.Header.Clone()

if h.Options.MaxResponseBodySizeToRead > 0 {
httpresp.Body = io.NopCloser(io.LimitReader(httpresp.Body, h.Options.MaxResponseBodySizeToRead))
defer func() {
_, _ = io.Copy(io.Discard, httpresp.Body)
_ = httpresp.Body.Close()
}()
}

// httputil.DumpResponse does not handle websockets
headers, rawResp, err := pdhttputil.DumpResponseHeadersAndRaw(httpresp)
if err != nil {
Expand Down
11 changes: 10 additions & 1 deletion common/httpx/option.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,19 @@ import (
"strings"
"time"

"github.com/dustin/go-humanize"
"github.com/projectdiscovery/cdncheck"
"github.com/projectdiscovery/networkpolicy"
)

// DefaultMaxResponseBodySize is the default maximum response body size
var DefaultMaxResponseBodySize int64

func init() {
maxResponseBodySize, _ := humanize.ParseBytes("512Mb")
DefaultMaxResponseBodySize = int64(maxResponseBodySize)
}

// Options contains configuration options for the client
type Options struct {
RandomAgent bool
Expand Down Expand Up @@ -66,7 +75,7 @@ var DefaultOptions = Options{
Unsafe: false,
CdnCheck: "true",
ExcludeCdn: false,
MaxResponseBodySizeToRead: 1024 * 1024 * 10,
MaxResponseBodySizeToRead: DefaultMaxResponseBodySize,
// VHOSTs options
VHostIgnoreStatusCode: false,
VHostIgnoreContentLength: true,
Expand Down
5 changes: 3 additions & 2 deletions common/stringz/stringz.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,10 @@ func AddURLDefaultPort(rawURL string) string {
}
// Force default port to be added if not present
if u.Port() == "" {
if u.Scheme == urlutil.HTTP {
switch u.Scheme {
case urlutil.HTTP:
u.UpdatePort("80")
} else if u.Scheme == urlutil.HTTPS {
case urlutil.HTTPS:
u.UpdatePort("443")
}
}
Expand Down
71 changes: 37 additions & 34 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,41 +19,42 @@ require (
github.com/miekg/dns v1.1.68 // indirect
github.com/pkg/errors v0.9.1
github.com/projectdiscovery/asnmap v1.1.1
github.com/projectdiscovery/cdncheck v1.2.13
github.com/projectdiscovery/cdncheck v1.2.17
github.com/projectdiscovery/clistats v0.1.1
github.com/projectdiscovery/dsl v0.8.7
github.com/projectdiscovery/fastdialer v0.4.19
github.com/projectdiscovery/dsl v0.8.11
github.com/projectdiscovery/fastdialer v0.5.2
github.com/projectdiscovery/fdmax v0.0.4
github.com/projectdiscovery/goconfig v0.0.1
github.com/projectdiscovery/goflags v0.1.74
github.com/projectdiscovery/gologger v1.1.63
github.com/projectdiscovery/hmap v0.0.98
github.com/projectdiscovery/gologger v1.1.67
github.com/projectdiscovery/hmap v0.0.99
github.com/projectdiscovery/mapcidr v1.1.97
github.com/projectdiscovery/networkpolicy v0.1.31
github.com/projectdiscovery/ratelimit v0.0.82
github.com/projectdiscovery/networkpolicy v0.1.33
github.com/projectdiscovery/ratelimit v0.0.83
github.com/projectdiscovery/rawhttp v0.1.90
github.com/projectdiscovery/retryablehttp-go v1.1.0
github.com/projectdiscovery/retryablehttp-go v1.3.2
github.com/projectdiscovery/tlsx v1.2.2
github.com/projectdiscovery/useragent v0.0.105
github.com/projectdiscovery/utils v0.7.3
github.com/projectdiscovery/wappalyzergo v0.2.58
github.com/projectdiscovery/useragent v0.0.106
github.com/projectdiscovery/utils v0.8.0
github.com/projectdiscovery/wappalyzergo v0.2.62
github.com/rs/xid v1.6.0
github.com/spaolacci/murmur3 v1.1.0
github.com/stretchr/testify v1.11.1
github.com/zmap/zcrypto v0.0.0-20240512203510-0fef58d9a9db
go.etcd.io/bbolt v1.4.0 // indirect
go.uber.org/multierr v1.11.0
golang.org/x/exp v0.0.0-20250911091902-df9299821621
golang.org/x/net v0.47.0
golang.org/x/sys v0.38.0 // indirect
golang.org/x/text v0.31.0
golang.org/x/net v0.48.0
golang.org/x/sys v0.39.0 // indirect
golang.org/x/text v0.32.0
)

require (
github.com/JohannesKaufmann/html-to-markdown/v2 v2.5.0
github.com/dustin/go-humanize v1.0.1
github.com/go-viper/mapstructure/v2 v2.4.0
github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1
github.com/weppos/publicsuffix-go v0.50.1
github.com/weppos/publicsuffix-go v0.50.2
)

require (
Expand All @@ -62,16 +63,16 @@ require (
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect
github.com/Masterminds/semver/v3 v3.2.1 // indirect
github.com/Mzack9999/go-http-digest-auth-client v0.6.1-0.20220414142836-eb8883508809 // indirect
github.com/STARRY-S/zip v0.2.1 // indirect
github.com/STARRY-S/zip v0.2.3 // indirect
github.com/VividCortex/ewma v1.2.0 // indirect
github.com/alecthomas/chroma/v2 v2.14.0 // indirect
github.com/andybalholm/brotli v1.1.1 // indirect
github.com/andybalholm/brotli v1.2.0 // indirect
github.com/andybalholm/cascadia v1.3.3 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
github.com/aymerick/douceur v0.2.0 // indirect
github.com/bodgit/plumbing v1.3.0 // indirect
github.com/bodgit/sevenzip v1.6.0 // indirect
github.com/bodgit/sevenzip v1.6.1 // indirect
github.com/bodgit/windows v1.0.1 // indirect
github.com/brianvoe/gofakeit/v7 v7.2.1 // indirect
github.com/charmbracelet/glamour v0.8.0 // indirect
Expand All @@ -83,6 +84,7 @@ require (
github.com/cnf/structhash v0.0.0-20250313080605-df4c6cc74a9a // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/dimchansky/utfbom v1.1.1 // indirect
github.com/djherbis/times v1.6.0 // indirect
github.com/dlclark/regexp2 v1.11.5 // indirect
github.com/docker/go-units v0.5.0 // indirect
github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 // indirect
Expand All @@ -99,47 +101,49 @@ require (
github.com/gorilla/css v1.0.1 // indirect
github.com/gosimple/slug v1.15.0 // indirect
github.com/gosimple/unidecode v1.0.1 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-version v1.6.0 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/iangcarroll/cookiemonster v1.6.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kataras/jwt v0.1.10 // indirect
github.com/klauspost/compress v1.17.11 // indirect
github.com/klauspost/compress v1.18.2 // indirect
github.com/klauspost/pgzip v1.2.6 // indirect
github.com/kljensen/snowball v0.8.0 // indirect
github.com/logrusorgru/aurora/v4 v4.0.0 // indirect
github.com/lucasb-eyer/go-colorful v1.3.0 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
github.com/mholt/archives v0.1.0 // indirect
github.com/mholt/archives v0.1.5 // indirect
github.com/mikelolasagasti/xz v1.0.1 // indirect
github.com/minio/minlz v1.0.1 // indirect
github.com/minio/selfupdate v0.6.1-0.20230907112617-f11e74f84ca7 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/muesli/reflow v0.3.0 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
github.com/nwaples/rardecode/v2 v2.2.0 // indirect
github.com/pierrec/lz4/v4 v4.1.21 // indirect
github.com/nwaples/rardecode/v2 v2.2.2 // indirect
github.com/pierrec/lz4/v4 v4.1.23 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/projectdiscovery/awesome-search-queries v0.0.0-20260104120501-961ef30f7193 // indirect
github.com/projectdiscovery/blackrock v0.0.1 // indirect
github.com/projectdiscovery/freeport v0.0.7 // indirect
github.com/projectdiscovery/gostruct v0.0.2 // indirect
github.com/projectdiscovery/machineid v0.0.0-20240226150047-2e2c51e35983 // indirect
github.com/projectdiscovery/retryabledns v1.0.110 // indirect
github.com/projectdiscovery/machineid v0.0.0-20250715113114-c77eb3567582 // indirect
github.com/projectdiscovery/retryabledns v1.0.112 // indirect
github.com/refraction-networking/utls v1.7.1 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/go-internal v1.12.0 // indirect
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect
github.com/sashabaranov/go-openai v1.37.0 // indirect
github.com/shirou/gopsutil/v3 v3.24.2 // indirect
github.com/shoenig/go-m1cpu v0.1.6 // indirect
github.com/sorairolake/lzip-go v0.3.5 // indirect
github.com/sorairolake/lzip-go v0.3.8 // indirect
github.com/spf13/afero v1.15.0 // indirect
github.com/syndtr/goleveldb v1.0.0 // indirect
github.com/therootcompany/xz v1.0.1 // indirect
github.com/tidwall/btree v1.7.0 // indirect
github.com/tidwall/buntdb v1.3.1 // indirect
github.com/tidwall/gjson v1.18.0 // indirect
Expand All @@ -164,14 +168,13 @@ require (
github.com/zcalusic/sysinfo v1.0.2 // indirect
github.com/zmap/rc2 v0.0.0-20190804163417-abaa70531248 // indirect
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
golang.org/x/crypto v0.45.0 // indirect
golang.org/x/mod v0.29.0 // indirect
golang.org/x/crypto v0.46.0 // indirect
golang.org/x/mod v0.30.0 // indirect
golang.org/x/oauth2 v0.28.0 // indirect
golang.org/x/sync v0.18.0 // indirect
golang.org/x/term v0.37.0 // indirect
golang.org/x/sync v0.19.0 // indirect
golang.org/x/term v0.38.0 // indirect
golang.org/x/time v0.11.0 // indirect
golang.org/x/tools v0.38.0 // indirect
gopkg.in/djherbis/times.v1 v1.3.0 // indirect
golang.org/x/tools v0.39.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
Loading
Loading