Cross-Server Sharing

Share a library with someone on another Black Candy server — they browse it like it's their own.

Overview

Cross-server sharing lets you give someone on a completely separate Black Candy Store instance access to one of your libraries. They get a full browsable catalog locally, while audio streams through on demand.

The system has three components:

  1. Invite codes — generated by the sharing server, redeemed by the receiving server
  2. Catalog mirroring — the receiving server keeps a local metadata-only copy that syncs automatically
  3. Live streaming — audio and artwork are proxied from the source at play time

Prerequisites

Generating an Invite Code

On the server that owns the library you want to share:

  1. Click Libraries in the main navigation sidebar
  2. Find the library you want to share and click the Share button next to it
  3. You'll land on the Share Library page, showing the library name at the top
  4. Under Expires in, choose how long the invite code should remain valid — options are 1 hour, 1 day, 7 days, or 30 days
  5. Click Generate Invite
  6. The invite code appears in a text field at the top of the page. Click it to select, then copy it. This code contains your server's URL and an access token.

Send the invite code to the recipient through a secure channel. Anyone with the code can redeem it until it expires or is revoked.

Redeeming an Invite Code

On the receiving server:

  1. Click Libraries in the main navigation sidebar
  2. Click the Redeem Invite button in the top-right area (next to New Library)
  3. Paste the invite code into the Invite code text field
  4. Click Redeem

The server will connect to the source, verify access, and begin mirroring the catalog. Once complete, the shared library appears in your library list with a Remote badge.

Browsing a Shared Library

Once mirrored, switch to the shared library by clicking Set Active next to it on the Libraries page. From there, everything works the same as a local library:

The only difference: audio and artwork are streamed live from the source server rather than served from local files.

Catalog Mirroring

The mirror is metadata-only — no audio or artwork bytes are stored on the receiving server. It stays in sync through:

Browsing is always served from local queries. Audio and artwork are streamed and proxied live from the source server at play time.

Managing Access Grants

On the sharing server, the Share Library page also shows all existing access grants for that library. Each grant shows its status:

Revoking Access

To revoke a shared library connection:

  1. Go to Libraries → click Share next to the library
  2. In the Access section at the bottom, find the grant you want to revoke
  3. Click the trash icon next to it and confirm

Access is revoked immediately — the receiving server's mirror becomes stale and playback from that source will fail.

Security

Next Steps