Bring those dead links back to life
Project description
url-revive
Bring those dead links back to life.
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.
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.
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.
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5862c4ee90c2ed3cde9abfa3e24ef95dd04c0a47fe4eb7a2195d0a1d7634a5fe
|
|
| MD5 |
29ae0b6ca1cd9ca6069eefa16fdf578a
|
|
| BLAKE2b-256 |
23d2641adafd4585cd9b2f23fd575ece551d55e15e16cab3f8c43fe2c574b08e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3acca0c7fd72c85bb9f098284dbc63f4f7cf8d79c459ccb6c6e98e94c372cc82
|
|
| MD5 |
0fc2612ff974ed4270b84fcb6ba983a7
|
|
| BLAKE2b-256 |
ec23b80b06c3bc854a347dec161dbe19fd21a22b522d9aa5813f45e1a45e7dd8
|