Skip to main content

Bring those dead links back to life

Project description

url-revive

PyPI - Python Version License: MIT

Bring those dead links back to life.

simple command

This tool prioritizes simplicity and is designed to fetch records for links from various internet archives. Security researchers can use it to find secrets like exposed API keys or hidden endpoints.

It provides fine grained controls for matching status codes and limiting results, thus ensuring fast queries. Default mode is the most flexible and uses Wayback Machine, while Memento mode is slower but capable of searching additional archives. Another mode is planned for a future release, so stay tuned!

Installation

pip install url-revive

Usage

usage: url-revive [-h] [-u URL] [-f [FILE]] [-d] [-nc] [-m] [-r] [-s] [--unique] [-l LIMIT] [-mc MATCH_CODES]

options:
  -h, --help            show this help message and exit

INPUT:
  -u, --url URL         Fetch snapshots for single URL
  -f, --file [FILE]     Read multiple URLs from file

GENERAL:
  -d, --dump            Print source code dump from snapshots
  -nc, --no-color       Do not color output
  -m, --memento         Fetch snapshots from multiple archives with the Memento API
  -r, --raw             Exclude wayback metadata from snapshots
  -s, --silent          Only show snapshots or source code dumps
  --unique              Exclude duplicate URLs

FILTER:
  -l, --limit LIMIT     Limit number of snapshots fetched per URL
  -mc, --match-codes MATCH_CODES
                        Status codes to match -> -mc 200,302,404

Input

url-revive -u domain.com
url-revive -f domains.txt
cat domains.txt | url-revive

Examples

Basic Command

url-revive -u domain.com

By default, only one record is fetched if a limit is not specified. Use the -mc flag for matching specific status codes, and the --raw flag to fetch original records without metadata.

basic example

Dump Snapshots

url-revive -u domain.com --dump 

Include the --dump flag to print source code from fetched snapshots. Wayback Machine enforces strict rate limiting and might drop the connection. While url-revive strives to respect these limits, it will always be faster and more reliable to only fetch the snapshot URLs.

dump snapshots

Search Endpoints

url-revive -u 'www.domain.com/*' --unique 

Include the --unique flag with an asterisk regex to find endpoints for a domain. This approach is useful when performing passive recon on an API because it avoids generating noise.

wildcard example

Memento Mode

url-revive -u domain.com --memento 

Query additional archives using the Memento API. There is a small chance that some of these archives will include endpoints not stored by Wayback Machine, but searching them is very slow. The Memento specification is interpreted differently by each archive, and every query will return all records found. Many archives use AJAX to display records, so the --dump flag will not work in this mode.

query memento

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

url_revive-0.1.1.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

url_revive-0.1.1-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file url_revive-0.1.1.tar.gz.

File metadata

  • Download URL: url_revive-0.1.1.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.2 Linux/6.13.8-arch1-1

File hashes

Hashes for url_revive-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5862c4ee90c2ed3cde9abfa3e24ef95dd04c0a47fe4eb7a2195d0a1d7634a5fe
MD5 29ae0b6ca1cd9ca6069eefa16fdf578a
BLAKE2b-256 23d2641adafd4585cd9b2f23fd575ece551d55e15e16cab3f8c43fe2c574b08e

See more details on using hashes here.

File details

Details for the file url_revive-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: url_revive-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.13.2 Linux/6.13.8-arch1-1

File hashes

Hashes for url_revive-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3acca0c7fd72c85bb9f098284dbc63f4f7cf8d79c459ccb6c6e98e94c372cc82
MD5 0fc2612ff974ed4270b84fcb6ba983a7
BLAKE2b-256 ec23b80b06c3bc854a347dec161dbe19fd21a22b522d9aa5813f45e1a45e7dd8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page