Risuko

Configuration

Risuko configuration reference — all available options.

Risuko stores configuration in two JSON files in the config directory:

  • system.json — System-level defaults (created on first run)
  • user.json — User overrides

User settings take precedence over system defaults.

Config Directory Locations

EnvironmentPath
macOS~/Library/Application Support/dev.risuko.app
Linux~/.config/dev.risuko.app
Windows%APPDATA%\dev.risuko.app
Desktop AppManaged by Tauri (platform-specific app data)
Node.js APIConfigurable via EngineConfig.configDir

Reading Configuration

CLI

# List all settings
risuko config list

# Get a specific value
risuko config get dir

# JSON output
risuko config list --json

Node.js

import { getGlobalOption } from "@risuko/risuko-js";

const options = await getGlobalOption();
console.log(options.dir);
console.log(options["max-concurrent-downloads"]);

Writing Configuration

CLI

risuko config set dir '"/home/user/downloads"'
risuko config set max-concurrent-downloads '"5"'

Values must be valid JSON. Strings need double quotes inside quotes: '"value"'

Node.js

import { changeGlobalOption } from "@risuko/risuko-js";

await changeGlobalOption({
  dir: "/home/user/downloads",
  "max-concurrent-downloads": "5",
});

Option Reference

General

KeyDefaultDescription
dirOS defaultDefault download directory
max-concurrent-downloads5Maximum parallel download tasks
continuetrueResume interrupted downloads

Connection

KeyDefaultDescription
split16Connections per download (HTTP/HTTPS); ignored when the file is smaller than min-split-size or the server doesn't support Range
min-split-size1MMinimum segment size before the file is split (bytes; accepts K/M/G suffixes)

Speed Limiting

KeyDefaultDescription
max-overall-download-limit0Global download speed limit (bytes/s, 0 = unlimited)
max-overall-upload-limit0Global upload speed limit (bytes/s)
max-download-limit0Per-task download speed limit

HTTP

KeyDefaultDescription
user-agentChrome UA stringDefault user agent string
refererDefault HTTP referer
headerDefault HTTP headers (array)
all-proxyProxy server URL

BitTorrent

KeyDefaultDescription
keep-seedingfalseSeed until manually stopped (overrides seed-time / seed-ratio)
seed-ratio0Stop seeding at this ratio (0 = no ratio limit)
seed-time0Seed for this many minutes after completing (0 = no time limit)
bt-trackerAdditional tracker URLs (comma-separated)
bt-max-peers-per-torrent100Max concurrent peer connections per torrent (engine restart)
bt-max-outstanding-per-peer128Max pipelined chunk requests per peer (engine restart)
bt-enable-upnptrueMap the listen port on the router via UPnP IGD (engine restart)
bt-upnp-lease300UPnP mapping lease in seconds (engine restart)
bt-enable-lsdtrueBEP-14 Local Service Discovery via multicast (engine restart)
bt-encryption-policypreferMSE/PE policy: plaintext, prefer, or require (engine restart)
bt-listen-v6falseAlso bind an IPv6 TCP listener on the same port (engine restart)

The DHT (BEP-5) is always enabled and runs as a dual-stack client when an IPv6 socket can be bound. The BitTorrent listener uses an ephemeral port; the legacy aria2 keys listen-port, dht-listen-port, enable-dht, enable-dht6, enable-peer-exchange, and bt-enable-lpd are accepted for backwards compatibility but currently have no effect.

RPC

KeyDefaultDescription
rpc-listen-port16800RPC server port
rpc-host127.0.0.1RPC bind address (set to 0.0.0.0 for LAN access)
rpc-secretRPC authentication token

On this page