Risuko
CLI

CLI Examples

Practical examples for common Risuko CLI workflows.

Basic Downloads

HTTP/HTTPS file

risuko download https://releases.ubuntu.com/24.04/ubuntu-24.04-live-server-amd64.iso \
  -t 16 \
  -d ~/Downloads

With custom filename

risuko download https://example.com/archive.tar.gz -o my-archive.tar.gz

Behind a proxy

risuko download https://example.com/file.zip --proxy http://proxy.corp.com:8080

With DNS over HTTPS

risuko download https://example.com/file.zip \
  --doh-url https://cloudflare-dns.com/dns-query --doh-bootstrap 1.1.1.1,1.0.0.1

DoH is applied to the engine globally (via changeGlobalOption) before the download is added, so it covers every HTTP request the engine makes for the session, not just this task.

With authentication

risuko download https://example.com/private/file.zip \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

With cookies

risuko download https://example.com/session-file.zip \
  --cookie "session_id=abc123; user=john"

BitTorrent

risuko download "magnet:?xt=urn:btih:abc123def456..." -d ~/Downloads/torrents

.torrent file with seeding control

risuko download ./linux-distro.torrent \
  --seed-ratio 2.0 \
  --seed-time 120

Running as a Server

Start a headless server

# Default port 16800
risuko serve

# Custom port
risuko serve --rpc-port 6800

Remote downloads with a running server

# In another terminal (or on another machine)
risuko download https://example.com/file.zip --rpc-port 6800
risuko status --rpc-port 6800

Graceful shutdown

risuko shutdown --rpc-port 6800

RSS Feeds

Subscribe to a feed

risuko rss add "https://nyaa.si/?page=rss"

List subscriptions

risuko rss list

Force refresh

risuko rss refresh

Remove a feed

# Get the feed ID from `rss list`
risuko rss remove feed_abc123

Configuration

View all settings

risuko config list

Change download directory

risuko config set dir '"/home/user/downloads"'

Set max concurrent downloads

risuko config set max-concurrent-downloads '"5"'

Check a specific setting

risuko config get dir

Scripting

JSON output for automation

# Get active downloads as JSON
risuko status --json | jq '.[] | select(.status == "active")'

# Get download speed
risuko global-stat --json | jq '.downloadSpeed'

Download and wait

# The download command blocks until complete (with progress bar)
risuko download https://example.com/file.zip && echo "Done!"

Batch downloads from a file

# urls.txt contains one URL per line
while IFS= read -r url; do
  risuko download "$url" -d ~/Downloads &
done < urls.txt
wait

On this page