GockGet 💅
A multi-threaded XNXX bulk downloader for Python
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 downloadedTRUE= completed successfullyERROR= failed attemptPARTIAL= 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:
- Read the traceback.
- Stay calm.
- Blame capitalism.
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| gockget-1.0.2.tar.gz | 27.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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