config.example.yaml
Rama main · réplica de lectura del repositorio original.
# Ripster — example configuration.
# Copy this file to `config.yaml` and fill in the services you use.
# Everything can also be set from the web UI (Settings tab) — config.yaml is
# written back automatically, so you rarely need to edit this by hand.
#
# Leave a service's credentials blank to simply not use it.
# ── General ──────────────────────────────────────────────────────────────────
engine: amd # default Apple engine: amd | gamdl | zhaarey.
# 'amd' = AppleMusicDecrypt via the public wrapper —
# NO Apple ID, NO Docker, works after one Setup click.
# 'zhaarey' needs Docker + your OWN premium Apple ID.
quality: alac # default quality: alac | aac | atmos
save-path: downloads # where finished files land (relative or absolute)
queue-autostart: true # start downloading as soon as a link is added
minimize-to-tray: true # closing/minimizing the window folds Ripster into the system tray (server keeps running)
max-parallel: 2 # parallel downloads (>2 not recommended for Apple)
auto-delete-minutes: 0 # delete finished releases after N min (0 = never)
quality-subfolders: true # sort output into per-quality folders
# ── Apple Music ──────────────────────────────────────────────────────────────
# media-user-token / authorization-token: from music.apple.com DevTools, or use
# the "Login via Apple" button in Settings. Needed for AAC/video.
media-user-token: ''
authorization-token: ''
storefront: us
language: en-US
apple-wrapper: public # ALAC/Atmos decryption: public | local | auto. Default
# 'public' = works out of the box, NO Docker. Use 'local'
# only if you run your own Docker wrapper with a premium Apple ID.
amd-instance-url: wm.wol.moe # public wrapper for ALAC/Atmos (no Apple ID needed)
amd-instance-secure: true
amd-parallel: 4
gamdl-cookies-path: cookies.txt
gamdl-song-codec: alac
gamdl-ffmpeg-path: ffmpeg
embed-cover: true
cover-format: jpg
cover-size: 1000x1000
save-cover-to-folder: true
# ── Qobuz ────────────────────────────────────────────────────────────────────
qobuz-auth-token: ''
qobuz-app-id: '312369995'
qobuz-secrets: e79f8b9be485692b0e5f9dd895826368
qobuz-email: ''
qobuz-password: '' # hashed (MD5) before use; never stored in clear
qobuz-quality: '27' # 5=MP3 320 · 6=CD · 7=24/96 · 27=24/192
# ── Deezer ───────────────────────────────────────────────────────────────────
deezer-arl: '' # deezer.com → DevTools → Application → Cookies → arl
deezer-quality: flac
# ── Tidal ────────────────────────────────────────────────────────────────────
# Easiest: use the device-flow login button in Settings (auto-refreshing).
tidal-token: ''
tidal-refresh: ''
tidal-country: US
tidal-quality: lossless
# ── Spotify (conversion only — finds the release on Apple/Qobuz/etc.) ─────────
spotify-client-id: '' # create an app at developer.spotify.com
spotify-client-secret: ''
spotify-sp-dc: '' # sp_dc cookie (for native streaming, optional)
spotify-engine: orpheus_spotify
orpheus-quality: hifi
# ── Beatport ─────────────────────────────────────────────────────────────────
beatport-username: ''
beatport-password: ''
beatport-quality: hifi
# ── SoundCloud ───────────────────────────────────────────────────────────────
soundcloud-oauth-token: ''
soundcloud-save-path: downloads
# ── Yandex Music (optional) ──────────────────────────────────────────────────
yandex-token: ''
yandex-quality: flac
# ── Output transcode (optional, off by default = keep native format) ─────────
transcode-format: '' # '' = native · mp3 · flac · alac
transcode-keep-original: false
# ── Built-in audio player ────────────────────────────────────────────────────
player-gapless: true
player-viz: true
player-stream-quality: mp3
# ── Diagnostics (optional, OFF by default — opt in from Settings) ────────────
# If enabled, sends only WARN/ERROR console lines (with credentials stripped
# out) to the developer so problems can be fixed without you copying logs.
# No music, no personal files, no tokens. Off unless you turn it on yourself.
telemetry-forward: false
# Куда уходят диагностические данные. Раньше здесь было пусто, и из-за этого
# отправка не работала НИ У КОГО: тумблер в настройках включался, а адреса не
# было — forwarding_enabled() молча возвращал False. Люди слали скриншоты.
telemetry-url: 'https://raccoon-ripster.serveousercontent.com'
telemetry-level: warn # warn = warnings + errors · error = errors only
telemetry-token: 'OtHdzmO7GiZPTPjxSaj9lEUCy0A__rhW'
telemetry-name: '' # your name/label (asked on first run, shown to the developer)
telemetry-instance-id: '' # auto-generated anonymous id on first run
# ── Updates ──────────────────────────────────────────────────────────────────
ripster-repo: Raccoon-Trashpanda/Raccoon-Ripster # self-update source (in-app)
update-require-signature: false # require Ed25519 signature on release zipballs.
# false = transitional: update works, but warns in
# "Requires attention". Flip to true AFTER the first
# signed release is published.
# ── Flex (owner-only, OFF by default) ────────────────────────────────────────
# Premium-quality streaming relay for guest mobile devices. Guests pair via a
# one-shot code from the bot, then stream through the owner's subscriptions.
# Requires a working tunnel and governor. OFF by default — the owner enables
# explicitly after verifying the infrastructure.
flex-enabled: false
flex-quality-policy: nearest # nearest | skip — what to do when the exact
# requested quality is unavailable.
flex-max-streams: 8 # total concurrent Flex streams across all devices
flex-log-retention-days: 30 # audit log retention (device/time/service only,
# no track titles or secrets)
# Apple preparation (task 104): server-side download+decrypt of Apple ALAC
# tracks for Flex streaming. Requires flex-enabled. Uses ONLY the local wrapper
# (never the public wm.wol.moe). OFF by default.
flex-apple-enabled: false
flex-cache-ttl-hours: 6 # how long cached files survive after last access
flex-cache-max-gb: 5 # max disk space for flex_cache/ (LRU eviction)
flex-apple-max-concurrent: 2 # max simultaneous Apple downloads (wrapper limit)