Risuko
Guides

Proxy Support

Configure separate HTTP and P2P proxy profiles for downloads, trackers, and peer traffic.

Risuko has two independent application proxies. Enable them in Preferences -> Advanced -> Proxy. Neither profile is a system-wide proxy; each is opt-in and only covers the traffic listed below.

The nested setting is stored as proxy. Engine-compatible flattened keys are derived from it:

ProfileDerived keys
HTTP / FTP / Usenetall-proxy, no-proxy
P2Pp2p-proxy, p2p-no-proxy, p2p-udp-proxy, p2p-udp-no-proxy

Older synced settings that used a flat { enable, server, bypass, scope } object are still accepted and migrated field-by-field into the HTTP profile.

HTTP / FTP / Usenet proxy

Enable HTTP / FTP / Usenet proxy, enter a complete proxy URL, and select the scopes that may use it. The default scope selection is Download, Update Trackers, and Update Application. You can clear any scope independently.

Supported traffic

ScopeRequests routed through the HTTP profile
DownloadHTTP/HTTPS downloads, Metalink files, HLS/m3u8 segments, the initial media URL handed to yt-dlp, FTP/FTPS/SFTP, and Usenet/NNTP
Update TrackersTracker-list source requests (the lists fetched in Preferences). BitTorrent tracker announces use the P2P profile, not this scope
Update ApplicationThe signed desktop update manifest and package download

The native HTTP client evaluates bypass rules for every connection, including redirect targets. yt-dlp receives a proxy option for the submitted media URL and controls its own redirects and secondary requests, so media hosts beyond the initial URL may not follow Risuko's bypass list.

For application updates, Risuko evaluates the bypass list against the signed manifest endpoint before starting the updater check. The Tauri updater then keeps that one direct-or-proxied choice for the selected package download and its redirects; it does not re-evaluate the bypass list for the package host.

RSS feeds, cloud-upload providers, and ADC/Direct Connect do not use either application proxy. A VPN or operating-system proxy is outside Risuko's configuration.

P2P proxy

Enable P2P proxy separately. It covers BitTorrent peers, HTTP and UDP tracker announces, DHT, µTP, eD2K server/peer connections and Kad, plus the Gnutella, G2, and giFT handlers. LSD multicast and UPnP stay on the local network.

FieldUsed for
TCP proxy server / TCP proxy bypassTCP peer connections, HTTP tracker announces, eD2K TCP, Gnutella/G2/giFT
UDP proxy server / UDP proxy bypassDHT, UDP trackers, µTP, and eMule Kad. Leave blank to reuse the TCP P2P route

SOCKS5 or SOCKS5H is required for DHT, UDP trackers, µTP, and Kad. An HTTP proxy on the P2P profile is used only for TCP P2P connections; it cannot carry UDP. Changing the P2P profile at runtime reloads the BitTorrent session and restarts affected P2P downloads.

An HTTP-only P2P proxy does not anonymize BitTorrent UDP. DHT, UDP trackers, and µTP stay direct unless a SOCKS5/SOCKS5H UDP route is configured.

Proxy URL

The scheme is required. Risuko accepts http, socks5, and socks5h:

http://proxy.example.com:8080
socks5://127.0.0.1:1080
socks5h://gateway.example.com:1080

http:// uses an HTTP proxy (including CONNECT for HTTPS destinations). socks5:// resolves the destination hostname locally; socks5h:// sends the hostname to the proxy for remote resolution. Usernames and passwords may be included in the URL and must be percent-encoded when they contain reserved URL characters.

https:// proxy endpoints, SOCKS4, and SOCKS4A are not supported. They are rejected as invalid rather than silently converted to a direct connection.

Use http://proxy.example.com:8080, not proxy.example.com:8080. An invalid configured proxy is reported to the caller and never silently falls back to a direct download.

Bypass Rules

Enter comma- or newline-separated entries in Bypass. Matching is case-insensitive. Risuko trims entries, drops invalid values, and collapses duplicates when saving. Each profile (HTTP, P2P TCP, P2P UDP) has its own bypass list.

EntryMatches
example.comexample.com and all subdomains, but not notexample.com
.example.comSame host/subdomain match; the leading dot is normalized away
example.com:8080That host and its subdomains on port 8080
192.168.1.5The IPv4 literal
[2001:db8::5]The IPv6 literal (brackets are also accepted without a port)
10.0.0.0/8 or fd00::/8Addresses inside the CIDR network
*Every destination bypasses the proxy

Every host, literal, or CIDR rule may include a port. For IPv6, bracket a literal before its port ([2001:db8::5]:8443) and put a CIDR prefix after the closing bracket ([fd00::]/8:8443).

localhost, subdomains of localhost, and IPv4/IPv6 loopback literals are always contacted directly, even when the bypass field is empty. Invalid entries, such as example.com:nope or an out-of-range CIDR prefix, are ignored. CIDR entries match a destination written as an IP literal; Risuko does not resolve a hostname before comparing it to a CIDR rule.

The HTTP profile's bypass list is used by every selected HTTP scope. Native HTTP paths evaluate it for each request; update checks evaluate it when choosing the manifest route as described above. Port-specific rules can therefore bypass one connection while proxying another connection to the same host.

Per-Task Overrides

The Add Task dialog has a task-level Proxy field. It overrides the global HTTP download proxy (all-proxy) for that task. The CLI and JSON-RPC clients can set the same option in task options:

risuko download https://example.com/file.zip \
  --proxy http://proxy.example.com:8080
{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "aria2.addUri",
  "params": [["https://example.com/file.zip"], {"all-proxy": "socks5h://127.0.0.1:1080"}]
}

BitTorrent, eD2K, and other P2P tasks can override the P2P route with p2p-proxy / p2p-no-proxy (and optionally p2p-udp-proxy / p2p-udp-no-proxy). Setting any of those keys on a task treats the P2P route as a task override and does not fall back to the global P2P profile.

Task-level HTTP values are validated by the native HTTP client. The global no-proxy list is used for global HTTP proxy decisions; yt-dlp's own networking remains governed by yt-dlp after it starts.

Troubleshooting

  1. Confirm the proxy URL includes a supported scheme and a reachable port.
  2. Confirm the relevant HTTP scope is selected. A configured HTTP server with no selected scope is intentionally unused.
  3. For BitTorrent UDP, DHT, or Kad, confirm the P2P profile uses SOCKS5 or SOCKS5H rather than an HTTP proxy.
  4. Add the destination host or network to the matching Bypass field when it must connect directly. Check the normalized value after saving.
  5. Run the Health network checks to separate a malformed URL from a connectivity failure.
  6. For a hostname available only inside the proxy network, use socks5h:// so the proxy performs DNS resolution.

The application proxies do not configure PAC/WPAD, detect OS proxy settings, or chain multiple proxies.

On this page