Skip to content

feat(servers): add per-server custom HTTP request headers - #2484

Draft
strecke wants to merge 3 commits into
jeffvli:developmentfrom
strecke:feature/custom-headers
Draft

strecke wants to merge 3 commits into
jeffvli:developmentfrom
strecke:feature/custom-headers

Conversation

@strecke

@strecke strecke commented Sep 16, 2026 •

Copy link
Copy Markdown
Contributor

Addresses #1995.

Summary

Adds per-server custom HTTP request headers (e.g. for Cloudflare Access service tokens, Authentik, or Authelia).

Changes

  • Network Interception: Uses Electron's webRequest.onBeforeSendHeaders so audio streams, cover images, and API calls all receive the configured headers.
  • MPV Support: Passes headers to the MPV process for server streams.
  • Scope & Isolation: Header injection strictly checks the target URL against server.url and server.remoteUrl. Custom headers are never sent to external sources (such as Internet radio streams or lyrics providers).
  • Session Cleanup: Clears domain session cookies when headers change, on logout, or on server removal.
  • UI: Key-value header editor in Add Server and Edit Server modals with validation.

Testing

  • Tested with Navidrome behind Cloudflare Access ((edit) login, audio playback, cover art, header updates).
  • pnpm run build:web, pnpm run typecheck:web, and pnpm lint-code pass.

AI Disclosure

Developed with AI assistance, manually reviewed and tested.

image image

Edit / Background:

I've been using Feishin for three months now and love it! Some clients (like Symfonium, Amperfy, or Navic) already support custom headers, making it easy to protect servers behind custom headers. As Feishin is a modern, dedicated Electron client, native support for headers feels like a much-needed addition. This makes it possible to access your music server without any system-wide solutions.

@vercel

vercel Bot commented Sep 16, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
feishin Ready Ready Preview Sep 16, 2026 8:11pm UTC

This branch was successfully deployed

1 active deployment
Preview — 00fe9a31 Deployed Sep 16, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant