What is quark-cli?
quark-cli is an unofficial command-line tool for Quark Drive. The Cargo package is named quarkcli, and the installed executable is quark.
It is designed for people who manage Quark Drive files from Linux servers, NAS boxes, cron jobs, shell scripts, and regular terminal sessions.
Quick install
Prebuilt release
tar -xzf quark-linux-x86_64.tar.gz
chmod +x quark
./quark --version
sudo mv quark /usr/local/bin/quark
Cargo
cargo install --git https://github.com/i-sync/quark-cli quarkcli
quark --version
Save your Quark Drive web Cookie before using account operations:
quark auth set-cookie --from-stdin
Common commands
quark ls /
quark get /remote/file.mp4 ./file.mp4 --continue
quark get /remote/folder --continue
quark put ./backup.tar.gz /backup/
quark stat /remote/file.mp4 --json
quark probe download --fid <file_fid>
Why use this Quark CLI?
- Path-first commandsUse familiar paths such as
/tvtemp/01.mp4instead of raw FIDs for daily work. - Recursive folder downloadsDownload folders through
quark get folder --continueor low-leveldownload-dir. - Resume and retryInterrupted downloads keep
.partfiles and sibling.quark.taskstate. - Script-friendly outputUse
--json,--quiet, and--no-progressin automation. - Download diagnosticsProbe download URL availability, MD5 metadata, and Range behavior without exposing sensitive URLs by default.
- Release binariesInstall prebuilt Linux, macOS, and Windows binaries from GitHub Releases.
Large file and reliability notes
Quark Drive web-facing APIs can throttle downloads, reject some large-file requests, ignore Range resume requests, or return MD5 metadata that does not match the returned file bytes.
Starting with 0.4.2, automatic download verification treats MD5 mismatch as a warning rather than a hard failure. Use --verify always when you require strict failure, or --no-verify when you plan to verify archives externally.
quark-cli vs kuake_cli
Both projects use Quark web-facing APIs, but they optimize for different workflows.
| Area | quark-cli | kuake_cli |
|---|---|---|
| Language | Rust | Go |
| Main focus | Terminal file operations, server/NAS downloads, resume, JSON automation | Broader Go-based automation/API/MCP tooling |
| Daily command style | Path-first commands such as quark ls / and quark get /path/file | Project-specific command surface |
| Recursive downloads | Yes, via folder get and download-dir | Available depending on workflow |
| Resume model | .part files and sibling .quark.task files | Less central in the public download flow |
| Download MD5 handling | auto warns on mismatch, always fails, --no-verify skips | Does not enforce download MD5 in the basic download flow |
| Large-file limits | Still depends on Quark server policy, but uses a different download endpoint shape than some PC-web clients | Issue #27 reports PC web API size-limit failures |
| Best fit | Linux servers, NAS, cron jobs, shell scripts, resilient folder downloads | Go users and broader API/MCP experiments |
Choose based on workflow: quark-cli is optimized for simple terminal automation and resilient downloads; kuake_cli covers a broader Go-based automation surface.
FAQ
Is this the same as kuake_cli?
No. quark-cli is a Rust project published at i-sync/quark-cli. It focuses on terminal file operations, recursive downloads, resume, retry, and JSON automation.
Why does it need a Cookie?
The tool acts on your Quark Drive account through web-facing APIs. Treat your Cookie like a password and never publish it in logs, scripts, or repositories.
Can it download large files?
It can download files when Quark returns a usable download URL. Server-side limits, throttling, and CDN behavior still depend on Quark.
Does it support recursive folders?
Yes. Use quark get <folder> --continue for path-first recursive downloads, or download-dir when you already know a folder FID.