- Full URLs (
- Absolute URLs or dotted URLs (
- Relative URLs with at least one slash (
- Relative URLs without a slash (
The output is given in HTML or plaintext. @karel_origin has written a Chrome extension for LinkFinder which can be found here.
LinkFinder supports Python 3.
$ git clone https://github.com/GerbenJavado/LinkFinder.git $ cd LinkFinder $ python setup.py install
LinkFinder depends on the
jsbeautifier Python modules. These dependencies can all be installed using pip.
$ pip3 install -r requirements.txt
|Short Form||Long Form||Description|
|-i||–input||Input a: URL, file or folder. For folders a wildcard can be used (e.g. ‘/*.js’).|
|-o||–output||“cli” to print to STDOUT, otherwise where to save the HTML file Default: output.html|
|-r||–regex||RegEx for filtering purposes against found endpoints (e.g. ^/api/)|
|-d||–domain||Toggle to use when analyzing an entire domain. Enumerates over all found JS files.|
|-b||–burp||Toggle to use when inputting a Burp ‘Save selected’ file containing multiple JS files|
|-c||–cookies||Add cookies to the request|
|-h||–help||show the help message and exit|
python linkfinder.py -i https://example.com/1.js -o results.html
- CLI/STDOUT output (doesn’t use jsbeautifier, which makes it very fast):
python linkfinder.py -i https://example.com/1.js -o cli
- Analyzing an entire domain and its JS files:
python linkfinder.py -i https://example.com -d
- Burp input (select in target the files you want to save, right click,
Save selected items, feed that file as input):
python linkfinder.py -i burpfile -b
python linkfinder.py -i 'Desktop/*.js' -r ^/api/ -o results.html
- Build the Docker image:
docker build -t linkfinder
- Run with Docker
docker run --rm -v $(pwd):/linkfinder/output linkfinder -i http://example.com/1.js -o /linkfinder/output/output.htmlMake sure to use the path
/linkfinder/outputin your output path, or the output will be lost when the container exits.
- Require pytest