A Burp Suite extension that extracts JavaScript file URLs from your sitemap — either from a single page or recursively across an entire domain. Extracted URLs are saved to a file with ready-to-run curl, wget, and PowerShell download commands generated automatically.
| Feature | Description |
|---|---|
| Single-page extraction | Extract JS files from only the selected sitemap entries |
| Recursive domain crawl | Walk every HTML page under the target domain, following <a>, <script>, <link>, <form>, and <iframe> tags to surface all JS files site-wide |
| Clipboard support | Copy the URL list directly to your clipboard |
| Download commands | Saved files include auto-generated curl, wget, and PowerShell Invoke-WebRequest commands for every discovered URL |
| Scope-safe | Recursive mode stays within the target domain(s) — never crawls external hosts |
Looks up the Burp sitemap for the host(s) of your selected entries and returns every URL whose response Content-Type includes javascript.
- Seeds a queue with all sitemap entries for the target domain(s).
- For each entry in the queue:
- HTML pages → parses
<a href>,<script src>,<link href>,<form action>,<iframe src>, and any quotedhttps://strings to discover new page links. - JS files → records the URL and mines the body for
import,require,fetch,.src =, and path-like strings that may reference more JS.
- HTML pages → parses
- New same-domain URLs are added to the queue.
- Repeats until no new URLs are found.
Note: The crawl is entirely passive — it reads only pages already captured in Burp's sitemap. No new HTTP requests are made by the extension. For best coverage, browse or spider the target through Burp before running the extraction.
When saving to a file, the output is structured as follows:
https://target.com/static/app.js
https://target.com/static/vendor.js
https://target.com/lib/utils.js
# curl
curl -sSO "https://target.com/static/app.js"
curl -sSO "https://target.com/static/vendor.js"
curl -sSO "https://target.com/lib/utils.js"
# wget
wget -q "https://target.com/static/app.js"
wget -q "https://target.com/static/vendor.js"
wget -q "https://target.com/lib/utils.js"
# PowerShell (Invoke-WebRequest)
Invoke-WebRequest -Uri "https://target.com/static/app.js" -OutFile "app.js"
Invoke-WebRequest -Uri "https://target.com/static/vendor.js" -OutFile "vendor.js"
Invoke-WebRequest -Uri "https://target.com/lib/utils.js" -OutFile "utils.js"
Download the latest standalone Jython JAR from the Jython website.
- Open Burp Suite.
- Go to Extensions → Extension Settings.
- Under Python Environment, click Select file and point it to the Jython JAR.
- Go to Extensions → Installed → Add.
- Set Extension type to
Python. - Click Select file and choose
jsextractor.py. - Click Next / Finish.
-
Browse the target through Burp to populate the sitemap (use the built-in crawler or browse manually with Intercept on).
-
Select sitemap entries:
- Go to Target → Site map.
- Select one or more items from the domain you want to extract JS from.
-
Right-click the selection and choose one of four options:
Menu Item Behaviour Extract JS Files to FileSaves JS URLs + download commands to a file (current sitemap only) Copy JS Files to ClipboardCopies JS URLs to clipboard (current sitemap only) Extract JS Files to File (Recursive)Crawls all pages in the domain, saves URLs + download commands Copy JS Files to Clipboard (Recursive)Crawls all pages in the domain, copies URLs to clipboard
Contributions are welcome. Fork the repository and open a pull request with your changes.
MIT License — see LICENSE for details.