URL and endpoint discovery
getJS
Extracts JavaScript source URLs from web pages or piped HTTP responses, as a CLI and as a Go package.
902 stars · last push August 29, 2026 · v2.0.0 · MIT
What it finds
getJS fetches a page (or reads an HTTP response from stdin) and lists the JavaScript sources referenced in it. Options complete relative paths with the page origin and resolve the files. It also ships as a Go package with configurable extraction points.
- JavaScript files
- script source URLs
Does it touch the target?
Sends traffic to the target's systems. Use only with the owner's permission.
README: "a powerful tool for extracting JavaScript sources from URLs, web pages, and HTTP responses." With -url or -input it fetches the target pages itself (-method, -header and -timeout control those requests); piped input (curl ... | getJS) means the request is made by curl instead.
API keys: The README documents no API keys or external services.
Install
go install github.com/003random/getJS/v2@latestFrom the project's documentation
docker build -t getjs:local .From the project's documentation
How to run it
Examples use reserved documentation hosts such as example.com. Replace them with a domain you own or are authorised to test.
getJS -url https://example.comFrom the project's documentation
getJS -input foo.txt -input bar.txtFrom the project's documentation
getJS -url "http://example.com" -output results.txtFrom the project's documentation
getJS -url "http://example.com" -header "User-Agent: foo bar" -method POST --timeout=15sFrom the project's documentation
Output formats: stdout, file (-output)
Limits the project documents
- -resolve can only be used together with -complete.
- Default concurrency is 2 threads and default request timeout is 5s.
Deepak's take
Analysis, not documentation
- Use it when
- Use it to build a list of JavaScript files from known pages before reviewing them for endpoints or exposed configuration.
- Skip it when
- Skip it when you also need link discovery across the site; a crawler such as Katana (with -jc) or Hakrawler collects JS files while crawling.
- What it will miss
- It does not crawl, so scripts on pages you did not feed it are missed, and scripts loaded dynamically at runtime may be too.
Facts read from the project's README and docs on November 10, 2026. Repository data as of November 11, 2026. Listed under GitHub's reconnaissance topic. Licence: MIT. getJS is a trademark or project name of its owners; this library is not affiliated with it.