/redirect-tracker

Minimalistic link redirection tracker

Primary LanguageJavaScriptThe UnlicenseUnlicense

Online API Known Vulnerabilities Uptime Robot status FOSSA Status Awesome Badges PRs Welcome

Contributions are welcome here!

Please, check issues page!

Current to-do-list:

  • add UI (made by the magnificent https://github.com/jsoneclick)
  • connect UI with the backend
  • make proxies work
  • redeploy to heroku or smth else
  • add some tests for the main logic

Feel free to edit this Readme as you contribute and change the scope of work and/or the behaviour of the application!

This Service

  • detects two types of redirects:
    • by HTTP 3xx status and
    • by HTML tag <meta http-equiv="refresh" content="{url}">
  • prevents redirection loops,
  • limits one redirection chain up to 20 entries,
  • prints cookies acquired by visiting those urls and
  • supports relative urls (first url must include protocol though)
  • supports routing through proxies (redirection can depend on location)

Available Endpoints:

  • /track/{url} - track url redirecting
  • /pulse - see server status
  • /proxies - see list of provided proxies
  • /gui - Graphical User Interface

PS: proxy will only be enabled for /track/ endpoint when you append ?proxy= query and proxy code XX to the end. Proxy allows to route service's traffic through remote server in selected region.

How to use:

  • locally:

    • install node.js (if you do not have it yet)
    • clone (or download and unpack) this repository
    • open downloaded redirect-tracker directory in terminal
    • install dependencies if needed (run either npm install or npm update)
    • run node src/main.js in terminal
    • open browser
    • in address bar type localhost/track/ (use http, not https) and then append your url and press enter
  • online:

    • visit -broken link, need to redeploy- https://redirect-tracker.herokuapp.com/
    • in address bar append track/ after .com/ and your url after it (and optionally add ?proxy=XX as well)
    • hit enter and enjoy 😊
    • hint: consider visiting other endpoints (e.g. to get proxy code XX you must visit proxies/)

Example

Link with multiple redirects:
Usage:

License

FOSSA Status