Skip to content

cumulus13/doode

Repository files navigation

🎬 Doode: DoodStream CLI, API Client, Url link Generator

License Python Rich UI

A feature-rich, user-friendly command-line interface and Python API client for DoodStream β€” with real-time progress bars, clipboard integration, IDM support (Windows), and comprehensive error handling.


✨ Features

  • βœ… Full DoodStream API coverage: account, files, folders, remote upload, DMCA, reports
  • πŸ“Š Real-time monitoring of remote uploads with live progress bar (% complete, ETA)
  • πŸ”— Generate direct download links from DoodStream shareable URLs
  • πŸ’Ύ Local file upload with progress tracking
  • πŸ–₯️ IDM integration (Windows only) for one-click downloads
  • πŸ“‹ Auto-copy to clipboard for generated download links
  • 🎨 Beautiful terminal UI powered by Rich
  • πŸ›‘οΈ Robust error handling with clear, actionable messages
  • πŸ§ͺ Dual usage: as a CLI tool or as a Python library
  • πŸ“š Comprehensive documentation with examples for every method

πŸ“¦ Installation

Prerequisites

Install via pip

pip install doode

Note: If installing from source, clone this repo and run:

pip install -r requirements.txt

Optional Dependencies

  • Windows users: Install IDM for direct download integration.
  • Debug mode: Install pydebugger if you plan to use debug features.

πŸ”‘ Authentication

You must provide your DoodStream API key in one of two ways:

1. Environment Variable (Recommended)

export DOOD_API_KEY="your_api_key_here"

2. Command-Line Flag

dood --api-key "your_api_key_here" account info

πŸ’‘ The environment variable method is preferred for security and convenience.


πŸš€ Quick Start

Generate a Download Link

dood generate "https://dood.li/abc123xyz" -v -c
  • -v: Verbose output (shows download URL in a styled panel)
  • -c: Copy URL to clipboard automatically

Upload a Video Remotely

dood remote upload "https://example.com/video.mp4" --new-title "My Movie"

This starts the upload and monitors it in real-time with a live progress bar!

Upload from Local Disk

dood upload local ./my_video.mp4

View Account Info

dood account info

🧰 Full Command Reference

Account Management

Command Description
dood account info Show account details (email, balance, storage)
dood account reports --last 7 Get usage stats for last 7 days
dood account reports --from-date 2025-01-01 --to-date 2025-01-31 Custom date range report

Remote Upload

Command Description
dood remote upload <URL> Start remote upload
dood remote upload <URL> --new-title "Title" Upload with custom name
dood remote upload <URL> --no-monitor Start upload without monitoring
dood remote status <file_code> Check status of a specific upload
dood remote list List all remote upload jobs
dood remote slots Show available upload slots
dood remote action --restart-errors Restart all failed uploads
dood remote action --delete-code abc123 Delete a specific upload job

πŸ” Real-time monitoring shows:

  • Current download percentage
  • Estimated time remaining
  • Automatic success/failure detection

File Management

Command Description
dood files list List all files
dood files list --fld-id folder123 List files in a folder
dood files info abc123 Get detailed file info
dood files rename abc123 "New Title" Rename a file
dood files search "vacation" Search files by title

Folder Management

Command Description
dood folders create "Movies" Create a new folder
dood folders create "Sub" --parent-id folder123 Create subfolder
dood folders rename folder123 "Renamed" Rename a folder

DMCA & Uploads

Command Description
dood dmca list List DMCA-reported files
dood upload local ./video.mp4 Upload local file

πŸ“Š Real-Time Upload Monitoring

When you run a remote upload, you’ll see a live progress bar like this:

β ΄ Uploading... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  42% 0:02:15
  • Automatically detects completion or failure
  • Updates every 3 seconds
  • Supports keyboard interrupt (Ctrl+C to stop monitoring)
  • Times out after 1 hour (configurable)

πŸ› οΈ Requirements

  • requests
  • beautifulsoup4
  • lxml
  • rich
  • rich-argparse
  • configset
  • pyperclip (for clipboard)
  • licface (custom help formatter)
  • requests-toolbelt (for local upload progress)

All dependencies are installed automatically via pip.


🐞 Error Handling & Debugging

Common Errors

Error Solution
Invalid API key Check your API key at DoodStream Settings
File not found Ensure local file path is correct
Unsupported video format Use: mp4, mkv, avi, mov, webm, etc.
Network error Check internet connection or DoodStream status

Debug Mode

Set environment variable to enable debug output:

export DEBUG=1
dood generate "https://dood.li/abc123"

Requires pydebugger to be installed.


πŸ“œ License

see the LICENSE file for details.


πŸ™Œ Acknowledgements


Note: This tool is unofficial and not affiliated with DoodStream. Use responsibly and in compliance with their Terms of Service.

author

Hadi Cahyadi

Buy Me a Coffee

Donate via Ko-fi

Support me on Patreon

About

Doode: DoodStream CLI, API Client, Url link Generator

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages