{"repo":"meeb/bandcampsync","free":true,"listed":false,"github":"https://github.com/meeb/bandcampsync","clone":"git clone https://github.com/meeb/bandcampsync.git","description":"Downloads your Bandcamp purchases automatically","language":"HTML","stars":350,"topics":["bandcamp","music","selfhosted","bandcampsync"],"license":"BSD-3-Clause","category":"self-hosted-apps","readme_excerpt":"BandcampSync BandcampSync is a Python module and command line script (also packed in a Docker container) which synchronises media purchased on a Bandcamp (https://bandcamp.com/) account with a local directory. You may use this to download media you have purchased from Bandcamp to a local media server, such as Plex or Jellyfin. Most media items purchased on Bandcamp have high quality download options available and BandcampSync defaults to flac . When called, bandcampsync will: 1. Authenticate to bandcamp.com as you using your exported session cookies 2. Scan your local media directory for existing downloaded items 3. Index a list of all of your purchased items in your Bandcamp collection 4. Download the archive of missing items not downloaded already from your collection 5. Unzip the archive and move the contents to the local media directory To avoid repeatedly scanning your full collection, BandcampSync writes a small checkpoint file at the root of your media directory: /media/.bandcampsync-state.json On the next run, purchase pagination stops as soon as this checkpoint is reached, so only new purchases are fetched. The media directory will have the following format: The directory format of artist name / item title is not editable. bandcamp item id.txt is a special file created in each item directory and it contains the Bandcamp item ID as an integer. This file is used by BandcampSync to track which media items have already been downloaded, when an ignore file is not being us","default_branch":null,"files":null,"tree":[],"storefront":"/r/meeb","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/meeb/bandcampsync/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}