An unofficial downloader for 7Digital. Automatically add your music purchases to your music library. Works with Plex to trigger a library scan upon completion.
- Clone or download this repo
- Enter the terminal of your choice and navigate to the repo
- Run
npm install
oryarn install
to download the required packages - Copy
.env.example
to.env
and edit the values (see below) - Run
node ./index.js
to download releases.
Variable Name | Description | Example |
---|---|---|
BASE_URL |
Required - 7Digital region domain associated with your account | https://us.7digital.com |
SESSION |
Required - Session value from 7Digital cookie, see "7Digital Cookie" below | |
SECURE_SESSION |
Required - SecureSession value from 7Digital cookie, see "7Digital Cookie" below | |
MUSIC_DIR |
Directory where music will be downloaded to, defaults to downloads inside repo directory |
/mnt/music |
PLEX_URL |
Plex Server URL, skips library scanning if not supplied | http://plex.local:32400 |
PLEX_TOKEN |
Plex authentication token, required only if a PLEX_URL is supplied |
|
PLEX_LIBRARY_ID |
Numeric ID of your Plex music library, required only if a PLEX_URL is supplied. See "Listing Defined Libraries" on this page |
2 |
- Install a cookie manager for your browser. I used the EditThisCookie Chrome extension. You can also use the browser console to retrieve these values.
- Find the cookies titled
session
andsecureSession
, and copy them to your.env
file
This is an unofficial product simulating a user downloading releases directly from their 7Digital account. I am not affiliated with 7Digital.
Note that 7Digital does impose an un-published download limit per release. I recommend only downloading a release once. 7d-dl keeps a local cache of what has already been downloaded to try and avoid any issues associated with downloading a release too many times. When migrating to a new machine, I recommend copying cache.json
to ensure your already-downloaded releases are not downloaded again.
I am not responsible for any repercussions (if any) from using this code.