Skip to main content

GockGet 💅

A multi-threaded XNXX bulk downloader for Python

CI Python codecov Lint License

Welcome Gorgeous 💅

So you found this repo.

Maybe you're here because you needed a practical XNXX bulk downloader.

Maybe you're here because some abandoned script from years ago finally collapsed under the weight of neglect.

Maybe you're here because downloading one file at a time is for people with limitless patience and weak convictions.

Maybe you're here because authoritarian governments want to expose your PII to weird and untested third party age verification vendors.

Whatever brought you here:

Welcome, queen.


What Is This?

This is a threaded Python downloader for XNXX that reads URLs from scrape.txt, downloads multiple videos at once, tracks progress, survives interruptions, and remembers what it was doing when life got messy.

It is efficient, resilient, and only slightly dramatic.


Features

✨ Multi-threaded downloads ✨ Reads URLs from scrape.txt ✨ Duplicate filtering ✨ Skips completed items automatically ✨ Retry failed downloads ✨ Detects interrupted partial downloads ✨ Verify mode to repair statuses against disk ✨ Error reset mode ✨ Safe cross-platform filenames ✨ Progress saved automatically ✨ Decorative startup banner with unnecessary glamour ✨ Tested with strong coverage because standards matter


Requirements

You'll need:

  • Python 3.11+
  • Internet access
  • Basic coping skills
  • Mild contempt for bad software

Install:

pip install .

For Development:

pip install -e .[dev]

Optional: Virtual Environment

Because boundaries matter.

Windows (PowerShell)

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .[dev]

Windows (Command Prompt)

python -m venv .venv
.\.venv\Scripts\activate.bat
pip install -e .[dev]

macOS / Linux

python3 -m venv .venv
source .venv/bin/activate
pip install -e .[dev]

When you're done:

deactivate

Usage

Run it:

gockget

That will process pending entries in scrape.txt.


Command Line Options

Skip the banner

For days when joy is unavailable.

gockget --transphobia

Choose thread count

gockget --threads=8

Retry failed items

gockget --retry-errors

Because healing is possible.

Reset all errors

gockget --clear-errors

Turns every ERROR back into FALSE.

Verify existing files

gockget --verify

Checks files on disk and updates statuses accordingly.

Useful after crashes, interruptions, moving files, or poor decisions.

Help

gockget --help

scrape.txt Format

URL | SCRAPED | TITLE
https://www.xnxx.com/video-abc123 | FALSE |
https://www.xnxx.com/video-def456 | TRUE | Already_Downloaded
https://www.xnxx.com/video-ghi789 | ERROR | Disaster

Status Meanings

  • FALSE = never downloaded
  • TRUE = completed successfully
  • ERROR = failed attempt
  • PARTIAL = interrupted download that may be recoverable

Growth is not linear.


File Handling

Downloads are saved using sanitized filenames designed to behave on:

  • Windows
  • Linux
  • macOS

Because no one deserves filename drama.


Recovery

If a download is interrupted, this tool can detect partial states, retry failed items, and verify what actually exists on disk.

We believe in resilience.


Testing

Because confidence is sexy.

pytest

With coverage:

pytest --cov=app

Lint:

ruff check .

This project maintains high automated test coverage.


Project Structure

app/                     core logic
tests/                   unit tests
.github/workflows/       CI pipeline
pyproject.toml           package config
scraped/                 completed downloads
scraping/                temporary files
scrape.txt               input list

Notes for the Dolls

If something breaks:

  1. Read the traceback.
  2. Stay calm.
  3. Blame capitalism.
  4. Fix it properly.

Contributing

Pull requests welcome.

Especially if you:

  • improve performance
  • improve reliability
  • improve code quality
  • improve aesthetics
  • bring hot girl engineering energy

Credits

Built using EchterAlsFake's xnxx_api, which handles the underlying site interaction and download mechanics.

Startup banner image / terminal art inspired by and credited to Cherry Mavrik.

This project stands/steps on the cock of glamorous giants.

Ethical Generative AI Disclosure

AI tools were used to assist with portions of development, including documentation, testing support, and iterative problem solving.

No generated output was accepted blindly. All code was reviewed, tested, modified where necessary, and remains the responsibility of the author.

Human accountability is not optional.

Disclaimer

Use responsibly.

You are responsible for your use of this software, the content you access, and compliance with local laws, platform rules, and common sense.

Do not be weird about it.


Final Words

This tool is powered by Python, threading, persistence, and feminine spite.

Use it wisely.

Metadata

Release files for gockget 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gockget 1.0.2
File Size Uploaded
gockget-1.0.2.tar.gz 27.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gockget 1.0.2
File Interpreter ABI Platform
gockget-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 51.3 kB

Release files / gockget-1.0.2.tar.gz

Download URL gockget-1.0.2.tar.gz
Size 27.4 kB
Tags Source
SHA-256 checksum
How to use checksums
23eead0620d58119e339c115bad5c4a183ae73a9470abbc42abce9d5e30b7269
BLAKE2b-256 checksum
How to use checksums
51bf7afabc11e624087969078f634073a1ba46810830328bc41e55c812b16203
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 23, 2026.

Transparency log

Release files / gockget-1.0.2-py3-none-any.whl

Download URL gockget-1.0.2-py3-none-any.whl
Size 23.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ef3eb1c7d8b3d0a49b2cd7c529495ba6b9455bba93b40d77060952b33861dd29
BLAKE2b-256 checksum
How to use checksums
db65a5d6eebc558359ff60a2db49322751d9526450a55c52e1729dfa6387bd2e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Apr 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page