https://github.com/kacakb/jsfinder
Fetches JavaScript files quickly and comprehensively.
https://github.com/kacakb/jsfinder
bugbounty hacking hacking-tool infosec pentesting recon
Last synced: 3 days ago
JSON representation
Fetches JavaScript files quickly and comprehensively.
- Host: GitHub
- URL: https://github.com/kacakb/jsfinder
- Owner: kacakb
- License: mit
- Created: 2023-02-21T19:15:18.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-08T08:25:10.000Z (almost 2 years ago)
- Last Synced: 2024-06-20T13:30:27.136Z (10 months ago)
- Topics: bugbounty, hacking, hacking-tool, infosec, pentesting, recon
- Language: Go
- Homepage:
- Size: 153 KB
- Stars: 90
- Watchers: 3
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-rainmana - kacakb/jsfinder - Fetches JavaScript files quickly and comprehensively. (Go)
README
jsFinder is a command-line tool written in Go that scans web pages to find JavaScript files linked in the HTML source code. It searches for any attribute that can contain a JavaScript file (e.g., src, href, data-main, etc.) and extracts the URLs of the files to a text file. The tool is designed to be simple to use, and it supports reading URLs from a file or from standard input.
jsFinder is useful for web developers and security professionals who want to find and analyze the JavaScript files used by a web application. By analyzing the JavaScript files, it's possible to understand the functionality of the application and detect any security vulnerabilities or sensitive information leakage.
Features
- Reading URLs from a file or from stdin using command line arguments.
- Running multiple HTTP GET requests concurrently to each URL.
- Limiting the concurrency of HTTP GET requests using a flag.
- Using a regular expression to search for JavaScript files in the response body of the HTTP GET requests.
-
Writing the found JavaScript files to a file specified in the command line arguments or to a default file named "output.txt". -
Printing informative messages to the console indicating the status of the program's execution and the output file's location. - Allowing the program to run in verbose or silent mode using a flag.
Installation
jsfinder requires Go 1.20 to install successfully.Run the following command to get the repo :
go install -v github.com/kacakb/jsfinder@latest
Usage
To see which flags you can use with the tool, use the -h flag.
jsfinder -h
| Flag | Description |
| --- | --- |
| -l | Specifies the filename to read URLs from.
| -c | Specifies the maximum number of concurrent requests to be made. The default value is 20.
| -s | Runs the program in silent mode. If this flag is not set, the program runs in verbose mode.
| -o | Specifies the filename to write found URLs to. The default filename is output.txt.
| -read | Reads URLs from stdin instead of a file specified by the -l flag.
Demo
## I
[](https://asciinema.org/a/Ehtbcwy1IEoRqfXnROQG2brAa)
If you want to read from stdin and run the program in silent mode, use this command:
cat list.txt| jsfinder -read -s -o js.txt
## II
[](https://asciinema.org/a/dOtV2XrdtsqFzkYEyqvPb9mrY)
If you want to read from a file, you should specify it with the -l flag and use this command:
jsfinder -l list.txt -s -o js.txt
You can also specify the concurrency with the -c flag.The default value is 20.
If you want to read from a file, you should specify it with the -l flag and use this command:
jsfinder -l list.txt -c 50 -s -o js.txt
TODOs
- Adding new features
- Improving performance
- Adding a cookie flag
- Reading regex from a file
- Integrating the kacak tool (coming soon)
Screenshot

Contact
If you have any questions, feedback or collaboration suggestions related to this project, please feel free to contact me via:
e-mail