Feishinは複数の音楽サーバーを一つの操作感にまとめるか
最新の自己ホスト型音楽プレーヤー。 Feishin は、Navidrome、Jellyfin、または OpenSubsonic 互換 API を実装するあらゆる音楽サーバーをサポートします。
ひと目でわかる
- これは何?
- Navidrome、Jellyfin、OpenSubsonic互換APIに接続するセルフホスト音楽プレーヤーを、デスクトップ、Web、Dockerの違いから見ます。
- 誰に向いている?
- 既にNavidrome、Jellyfin、またはOpenSubsonic互換サーバーを持ち、音楽ライブラリを専用UIで聴きたい人に向きます。最初は推奨されるデスクトップ版でMPVの場所とサーバーURLを確認し、Web版はweb playerだけという制限を踏まえて使い分けてください。
- 商用利用できる?
- 条件付きでできます。GPL-3.0 はコピーレフトのライセンスで、これを含むソフトウェアを配布する場合、そのソフトウェアのソースコードを同じライセンスで公開する必要があります。配布せず社内で使うだけなら、この義務は生じません。
- 今もメンテナンスされている?
- されています。最後のコミットは 1 日前です。
- 何の言語で書かれている?
- 主に TypeScript です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
Feishinの歌詞と履歴を実曲で確認する
Feishinの導入後は、NavidromeまたはJellyfinの実際のライブラリから一曲を再生し、同期歌詞、非同期歌詞、アルバム画像、再生履歴の送信を確認します。Web版とデスクトップ版で同じ結果になるとは限らないため、MPVとWeb playerを分けて記録します。認証情報を保存する場合はOSの秘密情報ストアを確認し、サーバー切断後に再接続できるかも試します。
Feishin接続先ごとの再生確認
jeffvli/feishinではNavidrome、Jellyfin、OpenSubsonicの接続先を一つずつ登録し、同じアルバムで再生、歌詞、scrobble、検索を比べます。デスクトップ版ではMPVのパスを確認し、Web版ではWeb playerだけが使われることを前提にします。Dockerでは9180番ポートとSERVER_URLを確認し、切断後の再接続、保存パスワード、SERVER_LOCKの表示を実際のサーバーで試してください。
Feishinの役割は音楽サーバーのクライアント
Feishinは現代的なセルフホスト音楽プレーヤーで、Navidrome、Jellyfin、OpenSubsonic互換APIを実装する音楽サーバーに接続します。Feishin自身が音源を配信するサーバーではなく、既存ライブラリを再生するクライアントです。サーバー側の認証、楽曲情報、プレイリスト、ストリーム対応が利用体験の前提になります。
READMEのFeaturesには、再生履歴をサーバーへscrobbleする機能、同期と非同期の歌詞を扱う機能が挙げられています。対応APIが同じでも、サーバーごとに実装範囲が異なる可能性があります。導入時は再生、検索、アルバム画像、歌詞、履歴送信を接続先ごとに確認してください。
MPVとWeb playerの選択が体験を分ける
推奨されるデスクトップクライアントはMPVとWeb playerの両方の再生バックエンドを扱い、歌詞取得も組み込まれています。初回起動ではMPVバイナリの場所を選び、未導入ならOSのパッケージ管理やmpv.ioの案内から導入して再起動します。これはデスクトップ版で先に確認すべき依存関係です。
Web版はfeishin.vercel.appで試せますが、READMEはWebクライアントがWeb playerバックエンドだけに対応すると明記しています。デスクトップで動いたMPV経路がWeb版でも動くとは限りません。音質、再生形式、キーボード操作、歌詞表示を同じ曲で比較し、利用場所に合う版を選ぶ必要があります。
AppImageの導入スクリプトを読む
LinuxではAppImage版を選べます。READMEのインストールスクリプトは最新AppImageを取得して実行可能にし、デスクトップ環境向けアイコンと.desktopファイルを配置します。通常の導入はcurlでinstall-feishin-appimageを呼び出し、保存先を引数に渡します。wayland-nativeを追加する方式はElectron上で実験的かつ公式サポート外です。
削除用には同じスクリプトへremoveを渡す手順があります。取得したファイル、アイコン、ランチャーがどこに残るかを実機で確認してから共有端末へ配布してください。AppImageを使う場合もサーバーURLと認証情報はクライアント側に入力するため、保存パスワードとOSの秘密情報ストアの扱いを確認する必要があります。
Dockerの9180番ポートとCompose設定
Docker版はghcr.ioのfeishinイメージを使い、READMEの例ではdocker run --name feishin -p 9180:9180 ghcr.io/jeffvli/feishin:latestで起動します。ローカルビルドならdocker build -t feishin .の後に9180番ポートを公開します。タグをlatestにするか固定版にするかは更新運用の判断になります。
Docker ComposeではSERVER_NAME、SERVER_TYPE、SERVER_URLを設定できます。SERVER_TYPEはjellyfin、navidrome、subsonicで、大文字小文字を区別しません。SERVER_LOCK=trueは三つの値がそろった場合だけ使え、利用者による接続先変更を抑えられます。自分のComposeで値が反映されるか、ログイン画面と接続先表示を確認してください。
サーバーURLと認証の細かな差
サーバー登録ではManage serversからAdd serverを開き、プロトコルと必要なポートを含む完全なURLを入力します。Navidromeの例として、パスワード保存とSessionTimeoutを長めにする案内があります。Linuxではlibsecretが標準のパスワードストアで、kwallet4、kwallet5、kwallet6も明示設定で使えます。
REMOTE_URLは、内部接続用URLと外部公開URLが異なる場合に指定します。SubsonicまたはOpenSubsonicでSERVER_LOCKを使うときはLEGACY_AUTHENTICATIONも関係します。環境変数だけで接続できると決めず、HTTPS、プロキシ経由、外部からのログイン、パスワード保存の各条件を分けて試すべきです。
GPLv3と分析機能の扱い
FeishinはGPL-3.0です。コードやイメージを配布する場合はリポジトリのLICENSEとコンテナ配布条件を確認します。DockerやWeb版ではUmami分析をANALYTICS_DISABLED=trueで無効化できるとREADMEにあります。無効化後に分析スクリプトが読み込まれないことをブラウザーのネットワーク情報で確認できます。
Feishinは既存音楽サーバーを活用したい人にとって接続先を切り替えやすい候補です。ただし、API互換はすべての機能互換を意味しません。使いたいサーバーを一つ選び、再生、歌詞、scrobble、認証、接続切断からの復帰を同じライブラリで試してから、家族や外部利用へ広げるのが現実的です。複数サーバーを登録する場合は、同名アルバムの表示、保存パスワード、サーバー固定の挙動をそれぞれ確認し、利用者が誤った接続先へ送信しない画面設計になっているかも見ます。
編集部の結論
既にNavidrome、Jellyfin、またはOpenSubsonic互換サーバーを持ち、音楽ライブラリを専用UIで聴きたい人に向きます。最初は推奨されるデスクトップ版でMPVの場所とサーバーURLを確認し、Web版はweb playerだけという制限を踏まえて使い分けてください。Docker導入時は9180番ポート、SERVER_TYPE、SERVER_URL、認証方式、歌詞取得を実環境で試し、サーバーごとのAPI差を確認します。
コミュニティノート