Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rainbowpigeon/soundcloud-downloadall-helper
Browser script to help with downloading all downloadable SoundCloud tracks from a playlist
https://github.com/rainbowpigeon/soundcloud-downloadall-helper
javascript js soundcloud soundcloud-api
Last synced: 3 days ago
JSON representation
Browser script to help with downloading all downloadable SoundCloud tracks from a playlist
- Host: GitHub
- URL: https://github.com/rainbowpigeon/soundcloud-downloadall-helper
- Owner: rainbowpigeon
- License: gpl-3.0
- Created: 2022-03-01T17:14:25.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-03-03T03:55:49.000Z (almost 3 years ago)
- Last Synced: 2024-11-01T23:21:34.327Z (about 2 months ago)
- Topics: javascript, js, soundcloud, soundcloud-api
- Language: JavaScript
- Homepage:
- Size: 27.3 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# soundcloud-downloadall-helper
## Preface
If you happen to be in the oddly-specific situation where you often have private SoundCloud playlists with lots of downloadable private tracks, but you're too lazy to click on each and every download button, you're in the right place.
I mean, why spend 15 seconds on manual labor when you can spend weeks researching and writing a script instead?!
Ok but to be clear, **this is NOT a piracy tool to download or "rip" SoundCloud tracks that you don't have access and download permissions for** - the uploader **must have** enabled downloads and you **must have** access to the tracks/playlist.\
This is a convenience script to help you automatically generate and/or open direct download links of download-enabled tracks by use of SoundCloud's API.![Individual download buttons vs Download all button](https://user-images.githubusercontent.com/16717153/156491244-3d71c821-1c79-4036-aaef-2d2bc533b787.png)
## Details
- Automatically searches for Client ID in SoundCloud's cross-origin scripts as opposed to inspecting network requests for it
- Uses SoundCloud's undocumented internal v2 API
- Uses `window.__sc_hydration` information## Usage
1. Visit a private SoundCloud playlist containing **download-enabled** private tracks in your browser
2. Copy, paste, and enter the contents of `soundcloud_downloadall_helper.js` into your browser console (F12)
3. Click on the new "Download all" buttonAll download links are logged to the console, and should also open in new tabs/windows (depending on your browser's configuration).\
You may need to unblock pop-ups for the opening of new tabs/windows to work.## Future Considerations
- Support public playlists with downloadable public tracks
- Tampermonkey/Greasemonkey script
- Find better way of downloading multiple files using a single action
- Proper error handling## Acknowledgements
- [sebasyii](https://github.com/sebasyii) for helping me with my JS learning