Support custom HTTP headers for Navidrome connections

Open
#353 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 6 days

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
go
Domain
backend

Research direction

Start by locating the Navidrome configuration and the code paths that make Subsonic API requests and stream audio. Check how configuration is parsed and how request headers are set in both paths; the issue does not name specific files or tests. Done means optional configured headers are sent with both API and streaming requests, while existing configurations continue to work.

Written by the indexing model from the issue text.

Description

enhancement

Problem

Navidrome servers protected by Cloudflare Access cannot currently be used with cliamp because Cloudflare service tokens require custom headers on API and streaming requests.

Proposal

Allow optional custom HTTP headers in the Navidrome configuration, for example:

[navidrome.headers]
CF-Access-Client-Id = "$CF_ACCESS_CLIENT_ID"
CF-Access-Client-Secret = "$CF_ACCESS_CLIENT_SECRET"

The headers would need to apply to both Subsonic API calls and audio streams. Generic headers could also support other authenticating reverse proxies.

Mockups / references

Amperfy recently added similar support: https://github.com/BLeeEZ/amperfy/commit/9de99512639308634f6b40c1f7187b6391674333

Dominant language
Go
Stars
4.4k
Forks
307
Avg merge
4d 18h
Merged PRs (30d)
13

Getting set up

  • No Dockerfile or Docker Compose file
  • Has a pull request template
  • No contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from bjarneo/cliamp

All issues in bjarneo/cliamp

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.