Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
LinkFinder — A python script that finds endpoints in JavaScript files | Kitploit
Tools/GitHubGitHub/gerbenjavado/linkfinder
ReconnaissanceInformation GatheringWeb SecurityPenetration Testing
GitHubgerbenjavado/linkfinder

LinkFinder

A python script that finds endpoints in JavaScript files

View Repository
4.4k6592 years agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share
Website

About LinkFinder

LinkFinder is a python script written to discover endpoints and their parameters in JavaScript files. This way penetration testers and bug hunters are able to gather new, hidden endpoints on the websites they are testing. Resulting in new testing ground, possibility containing new vulnerabilities. It does so by using jsbeautifier for python in combination with a fairly large regular expression. The regular expressions consists of four small regular expressions. These are responsible for finding:

  • Full URLs (https://example.com/*)
  • Absolute URLs or dotted URLs (/\* or ../*)
  • Relative URLs with at least one slash (text/test.php)
  • Relative URLs without a slash (test.php)

The output is given in HTML or plaintext. @karel_origin has written a Chrome extension for LinkFinder which can be found here.

Screenshots

LinkFinder

Installation

LinkFinder supports Python 3.

root@kitploit:~
$ git clone https://github.com/GerbenJavado/LinkFinder.git
$ cd LinkFinder
$ python setup.py install

Dependencies

LinkFinder depends on the argparse and jsbeautifier Python modules. These dependencies can all be installed using pip.

root@kitploit:~
$ pip3 install -r requirements.txt

Usage

Examples

  • Most basic usage to find endpoints in an online JavaScript file and output the HTML results to results.html:

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

  • Enumerating an entire folder for JavaScript files, while looking for endpoints starting with /api/ and finally saving the results to results.html:

python linkfinder.py -i 'Desktop/*.js' -r ^/api/ -o results.html

Docker

  • 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.html

    Make sure to use the path /linkfinder/output in your output path, or the output will be lost when the container exits.

Unit-test

  • Require pytest

pytest test_parser.py

Final remarks

  • This is the first time I publicly release a tool. Contributions are much appreciated!
  • LinkFinder is published under the MIT License.
  • Thanks to @jackhcable for providing me with feedback.
  • Special thanks @edoverflow for making this project a lot cleaner and awesome.
Download Tool
Short FormLong FormDescription
-i--inputInput 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--regexRegEx for filtering purposes against found endpoints (e.g. ^/api/)
-d--domainToggle to use when analyzing an entire domain. Enumerates over all found JS files.
-b--burpToggle to use when inputting a Burp 'Save selected' file containing multiple JS files
-c--cookiesAdd cookies to the request
-h--helpshow the help message and exit