SpotiDown Helper + Spotify UI Integration

Spotify-side buttons that send tracks/playlists to spotidown.app (+ auto flow). On spotidown.app: resolve per-track links in parallel, show counters, bulk-open, clean filenames, retry, persistent UI.

作者
sharmanhall
今日安裝
1
安裝總數
1
評價
0 0 0
版本
1.9.0
建立日期
2025-10-02
更新日期
2025-10-02
尺寸
17.6 KB
授權條款
MIT
腳本執行於

Additional Info

Screenshots:
Place your screenshots here:

  • Screenshot: Spotify UI
  • Screenshot: Spotidown

What this script adds

On Spotify (open.spotify.com)

  • A tiny button on each track row that sends the track to SpotiDown.
  • A page-level “Download via SpotiDown” button on playlist/album pages.
  • Opens SpotiDown with your Spotify URL prefilled and optional auto-flow flags.

On SpotiDown (spotidown.app)

  • A persistent toolbar (survives DOM swaps) with:
    • Resolve Direct Links (parallel workers)
    • Download Resolved (sequential open with delay)
    • Counters: Total · Resolved · Opened · Failed
  • Per-row status badges with Retry for both resolve and open failures.
  • Clean filenames (e.g., Song - Artist.mp3, when the browser honors download=).
  • Auto-flow if you arrive with query params (see below).

How to use

From Spotify

  1. Click the on any track row to send that track to SpotiDown.
  2. Or click the Download via SpotiDown button on a playlist/album page to send the whole page URL.
  3. SpotiDown opens with your link; the script can auto-resolve & auto-open (configurable).

On SpotiDown

  1. Paste a Spotify URL (if you didn’t come from Spotify) and click Download.
  2. Press Resolve Direct Links to swap each per-track button with a direct link.
  3. Press Download Resolved to open the resolved links (tabs/iframes/navigate).
  4. Use Retry next to any failed row. Counters adjust automatically on success.

Settings (edit in the script)

  • MAX_TRACKS — maximum tracks processed on the page (default 100).
  • RESOLVE_POOL — number of concurrent resolvers (default 3).
  • PACE_MS — randomized delay between resolve requests per worker (default [100, 300] ms).
  • OPEN_DELAY_MS — delay between opening resolved links (default 500 ms).
  • OPEN_MODE'tab' | 'iframe' | 'navigate' (default 'iframe').
  • AUTO_FLAGS (Spotify → SpotiDown) — default { sdh_auto: '1' }. Add { sdh_open: '1' } to auto-open after resolve.

URL parameters (SpotiDown)

  • sdh_url — Spotify URL to prefill.
  • sdh_auto=1 — auto-run Resolve Direct Links after results render.
  • sdh_open=1 — auto-run Download Resolved after resolving.

Example:
https://spotidown.app/?sdh_url=<spotify_url>&sdh_auto=1&sdh_open=1


Compatibility notes

  • Spotify DOM changes frequently. The script targets:
    • Track rows: [data-testid="tracklist-row"]
    • Header/actions area: [data-testid="action-bar-row"] (fallbacks included)
  • SpotiDown DOM targets:
    • Results container: #download-section
    • Per-track forms: form[name="submitspurl"] with hidden data (Base64 JSON)

If any of these change, buttons may not appear; please report with a screenshot.


Troubleshooting

  • No Spotify buttons: wait a few seconds or navigate to a track/playlist page. The script rescans continuously.
  • Pop-ups blocked: use OPEN_MODE='iframe' or allow pop-ups for spotidown.app.
  • Filenames not applied: cross-origin downloads may use the server’s Content-Disposition filename.
  • Counters off? They auto-correct when a Retry succeeds (Failed −1, Resolved/Open +1).
  • Nothing resolves: site may be rate-limiting. Reduce RESOLVE_POOL, increase PACE_MS.

Privacy & Permissions

  • No external libraries or trackers.
  • Sends only the same form data SpotiDown already uses.
  • Clipboard is not required (unlike some older scripts).

Scope & Ethics

This tool automates actions already available on SpotiDown (per-track downloads).
It does not call ZIP/bulk endpoints or attempt to bypass paywalls/quotas.
Please respect the site’s terms and your local laws.