cuckooget
__ __
/\ \ /\ \__
___ __ __ ___\ \ \/'\ ___ ___ __ __\ \ ,_\
/'___\/\ \/\ \ /'___\ \ , < / __`\ / __`\ /'_ `\ /'__`\ \ \/
/\ \__/\ \ \_\ \/\ \__/\ \ \\`\ /\ \L\ \/\ \L\ \/\ \L\ \/\ __/\ \ \_
\ \____\\ \____/\ \____\\ \_\ \_\ \____/\ \____/\ \____ \ \____\\ \__\
\/____/ \/___/ \/____/ \/_/\/_/\/___/ \/___/ \/___L\ \/____/ \/__/
/\____/
\_/__/
What
A very fast website copy script using a cuckoo hash table & xxhash & DAG. There are still many problems. I feel sad about disappearing websites, and I’m thinking of ways to save them even faster.
Websites are our memories.
Let everyone rise up and preserve disappearing historical websites, leaving them for the future.
For all geeks and for those who love the internet. If you find an interesting website, please contact me.
Furthermore, with the -w option, you can set higher priorities based on the URL. I don't think other website mirroring software has this feature.
Collisions are avoided by the cuckoo hash table and generated by the ultra-fast xxhash. It consists of xxh32 and xxh64 as different hash values.
DeepWiki: https://deepwiki.com/haturatu/cuckooget
Install
deps:
curl https://pyenv.run | bash
pyenv install 3.12.3
python -m pip install maturin
GNU Make
I recommend installing it using GNU Make.
make
make install
For editable install:
make develop
Bash
chmod +x install.sh
./install.sh
Usage
$ ck -h
usage: ck [-h] [-c CONNECTIONS] [-w WEIGHTS [WEIGHTS ...]] [-v EXCLUDE [EXCLUDE ...]]
[-f]
url output_dir
Mirrors a website.
positional arguments:
url URL of the website to mirror
output_dir Directory to save the mirrored files
options:
-h, --help show this help message and exit
-c CONNECTIONS, --connections CONNECTIONS
Number of simultaneous connections (default: 50)
-w WEIGHTS [WEIGHTS ...], --weights WEIGHTS [WEIGHTS ...]
Strings to set URL priorities (can specify multiple separated
by spaces)
-v EXCLUDE [EXCLUDE ...], --exclude EXCLUDE [EXCLUDE ...]
URL patterns to exclude (can specify multiple separated by
spaces)
-f, --force Force re-download even if the download was already completed
Metadata
Release files for cuckooget 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cuckooget-0.2.3-cp38-abi3-manylinux_2_34_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.34+ x86-64 | Details |
Release files / cuckooget-0.2.3-cp38-abi3-manylinux_2_34_x86_64.whl
| Download URL | cuckooget-0.2.3-cp38-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 306.9 kB |
| Tags | CPython 3.8 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
315820a09255e5bb87b5f997f7c04e540a9da6cd556166f972f4aba5af04a434
|
|
BLAKE2b-256 checksum How to use checksums |
f818ecd309dac4d46753419a36c41f6570964914068db6147adc884277bdb663
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency log