warpdl

command module
v1.4.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2026 License: MIT Imports: 3 Imported by: 0

README


Logo

WarpDL

A powerful and versatile cross-platform download manager.

Report Bug . Request Feature

CI Release

Downloads Contributors Issues License

Note: This branch is the development branch.

Table Of Contents

About The Project

Screen Shot

Warp is a powerful and versatile cross-platform download manager. With its advanced technology, Warp has the ability to accelerate your download speeds by up to 10 times, revolutionizing the way you obtain files on any operating system.

Platform Support

Platform Support Level Notes
Linux Full Tested on CI, native packages (deb/rpm)
macOS Full Tested on CI, Homebrew available
Windows Best Effort Builds provided, not tested on CI
FreeBSD/OpenBSD/NetBSD Best Effort Builds provided

Windows users: Binaries are provided via Releases and Scoop. Core functionality works, but Windows-specific bugs should be reported via issues.

Getting Started

Although WarpDL can be installed using various package managers, but you can also build it manually.

Prerequisites

You will need the following things for building warpdl binary:

  • This Repository - clone it using the following command: git clone https://github.com/warpdl/warpdl
  • Go v1.18+ - You can download it from go.dev/dl.

Installation

curl -fsSL https://raw.githubusercontent.com/warpdl/warpdl/dev/scripts/install.sh | sh

This automatically:

  • Linux (Debian/Ubuntu/Fedora/RHEL): Sets up Cloudsmith repo for auto-updates + systemd service
  • macOS/BSD: Downloads binary directly (suggests Homebrew)
  • Windows (Git Bash): Downloads binary directly (suggests Scoop)
Alternative Methods
Homebrew (macOS)
brew install warpdl/tap/warpdl
Scoop (Windows)
scoop bucket add warpdl https://github.com/warpdl/scoop-bucket
scoop install warpdl
Manual Package Manager Setup

Debian/Ubuntu:

curl -1sLf 'https://dl.cloudsmith.io/public/warpdl/warpdl/setup.deb.sh' | sudo bash
sudo apt install warpdl

Fedora/RHEL/CentOS:

curl -1sLf 'https://dl.cloudsmith.io/public/warpdl/warpdl/setup.rpm.sh' | sudo bash
sudo dnf install warpdl
Binary Only (no repo setup)
curl -fsSL https://raw.githubusercontent.com/warpdl/warpdl/dev/scripts/install.sh | sh -s -- --no-repo
Build from Source
  1. Clone the repository:

    git clone https://github.com/warpdl/warpdl
    cd warpdl
    
  2. Build:

    go mod tidy
    go build -ldflags="-s -w" .
    
  3. Add the binary to your PATH.

Manual Download

Download binaries from the Releases page. Available for macOS, Linux, Windows, FreeBSD, OpenBSD, and NetBSD across multiple architectures.

macOS Gatekeeper: If you download directly (not via Homebrew), macOS may block the binary. Run:

xattr -cr /path/to/warpdl

Optional: Enable Systemd User Service

WarpDL can optionally run as a systemd user service for auto-start on login:

# Reload systemd user daemon to discover new service
systemctl --user daemon-reload

# Enable and start the service
systemctl --user enable --now warpdl.service

# Check status
systemctl --user status warpdl.service

# View logs
journalctl --user -u warpdl.service

For servers (start at boot without login):

sudo loginctl enable-linger $USER

Note: The systemd service is optional. WarpDL daemon auto-starts when needed for regular CLI usage.

Uninstallation

The WarpDL daemon runs in the background to manage downloads. Before uninstalling, stop the daemon first.

  • Homebrew:

    brew uninstall warpdl
    

    Note: The daemon is automatically stopped during uninstallation.

  • Scoop:

    scoop uninstall warpdl
    

    Note: The daemon is automatically stopped during uninstallation.

  • Script/Manual Installation:

    curl -fsSL https://raw.githubusercontent.com/warpdl/warpdl/dev/scripts/uninstall.sh | sh
    
  • Complete Manual Cleanup:

    # Stop the daemon
    warpdl stop-daemon
    
    # Remove the binary (path may vary)
    sudo rm $(which warpdl)
    
    # Remove configuration and download data
    rm -rf ~/.config/warpdl
    

Usage

Use warpdl help <command> for information about various commands.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  • If you have suggestions for adding or removing features, feel free to open an issue to discuss it, or directly create a pull request after you edit the README.md file with necessary changes.
  • Please make sure you check your spelling and grammar.
  • Create individual PR for each suggestion.

Creating A Pull Request

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Acknowledgements

Package repository hosting is graciously provided by https://cloudsmith.com.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
Package cmd implements the command-line interface for WarpDL.
Package cmd implements the command-line interface for WarpDL.
common
Package common provides shared utilities and helper functions for CLI commands.
Package common provides shared utilities and helper functions for CLI commands.
ext
nativehost
Package nativehost provides CLI commands for managing native messaging host integration.
Package nativehost provides CLI commands for managing native messaging host integration.
Package common provides shared types and constants used across the warpdl client-server communication layer.
Package common provides shared types and constants used across the warpdl client-server communication layer.
debug
extl command
debug/extl is a cli tool to debug the extl engine of warpdl.
debug/extl is a cli tool to debug the extl engine of warpdl.
internal
api
Package api provides HTTP API handlers for the WarpDL daemon server.
Package api provides HTTP API handlers for the WarpDL daemon server.
cookies
Package cookies provides browser cookie import functionality for WarpDL.
Package cookies provides browser cookie import functionality for WarpDL.
daemon
Package daemon provides the core daemon runner for WarpDL.
Package daemon provides the core daemon runner for WarpDL.
nativehost
Package nativehost implements the native messaging host protocol for browser extensions.
Package nativehost implements the native messaging host protocol for browser extensions.
scheduler
Package scheduler provides download scheduling functionality for WarpDL.
Package scheduler provides download scheduling functionality for WarpDL.
service
Package service provides Windows service integration for WarpDL.
Package service provides Windows service integration for WarpDL.
pkg
credman
Package credman provides encrypted credential management for HTTP cookies.
Package credman provides encrypted credential management for HTTP cookies.
credman/encryption
Package encryption provides AES-GCM encryption and decryption functions for securing sensitive credential data.
Package encryption provides AES-GCM encryption and decryption functions for securing sensitive credential data.
credman/keyring
Package keyring provides secure key storage using the operating system's native keyring service with automatic fallback to file-based storage.
Package keyring provides secure key storage using the operating system's native keyring service with automatic fallback to file-based storage.
credman/types
Package types defines common data structures used throughout the credman package for credential management.
Package types defines common data structures used throughout the credman package for credential management.
logger
Package logger provides a platform-agnostic logging interface for WarpDL.
Package logger provides a platform-agnostic logging interface for WarpDL.
warplib
Package warplib provides the core download engine for WarpDL.
Package warplib provides the core download engine for WarpDL.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL