写点什么

Nuclear - 基于流媒体的隐私优先音乐播放器

作者:qife
  • 2025-06-28
    福建
  • 本文字数:1237 字

    阅读完需:约 4 分钟

Nuclear - 基于流媒体的隐私优先音乐播放器

Nuclear - 基于流媒体的隐私优先音乐播放器

项目描述

Nuclear 是一款专注于从免费来源流媒体播放音乐的桌面应用,具有以下核心特点:


  • 隐私优先设计,不进行用户追踪或数据分析

  • 无广告干扰的纯净音乐体验

  • 支持多平台(Windows/macOS/Linux)

  • 内置多种音乐源整合搜索

  • 支持 Last.fm 同步和歌词显示

  • 本地音乐库管理功能

功能特性

核心功能

  • 🎵 从多个免费来源流媒体播放音乐

  • 🔍 统一搜索多个音乐源

  • 📻 支持电台和直播流媒体

  • 💽 本地音乐库扫描和管理

  • 📊 内置音频均衡器

  • 📝 歌词自动查找和显示

隐私保护

  • 🛡️ 无用户追踪或行为分析

  • 🔒 不收集个人身份信息

  • 🚫 无广告和第三方跟踪

社交集成

  • ✨ Last.fm 同步和记录

  • 🐘 Mastodon 分享支持

  • 🤝 Discord 社区集成

安装指南

系统要求

  • Node.js 14+

  • npm/yarn

  • Electron 4.2+

安装步骤

  1. 克隆仓库:


   git clone https://github.com/nukeop/nuclear.git   cd nuclear
复制代码


  1. 安装依赖:


   npm install   # 或   yarn install
复制代码


  1. 运行开发模式:


   npm start   # 或   yarn start
复制代码


  1. 构建应用:


   npm run build   # 或   yarn build
复制代码

下载预编译版本

GitHub Releases下载最新版本。

使用说明

基本使用

// 初始化音乐播放import { PlayerActions } from '@nuclear/core';
// 播放指定曲目dispatch(PlayerActions.startPlayback());
// 暂停播放dispatch(PlayerActions.pausePlayback());
复制代码

搜索音乐

import { SearchActions } from '@nuclear/core';
// 执行统一搜索dispatch(SearchActions.unifiedSearchStart('search query'));
复制代码

Last.fm 集成

import { lastFmLoginAction } from '@nuclear/core';
// 连接Last.fm账号dispatch(lastFmLoginAction(authToken));
复制代码

核心代码

音乐播放控制

// src/actions/player.tsexport const startPlayback = createStandardAction(Player.START_PLAYBACK).map((fromMain: boolean) => {  return {    meta: { fromMain }  };});
export const pausePlayback = createStandardAction(Player.PAUSE_PLAYBACK).map((fromMain: boolean) => { return { meta: { fromMain } };});
复制代码

流媒体搜索

// src/actions/search.tsexport const SearchActions = {  unifiedSearchStart: createStandardAction(Search.UNIFIED_SEARCH_START)<string>(),  unifiedSearchSuccess: createStandardAction(Search.UNIFIED_SEARCH_SUCCESS)(),  unifiedSearchError: createStandardAction(Search.UNIFIED_SEARCH_ERROR)()};
复制代码

隐私保护实现

// src/actions/plugins.tsexport function createPlugins(pluginClasses) {  const plugins = {};  // 初始化插件系统,确保所有数据本地处理  for (const category of Object.keys(pluginClasses)) {    plugins[category] = [];    // ...插件初始化逻辑  }  return plugins;}
复制代码

贡献指南

欢迎通过以下方式贡献项目:


  • 报告问题和功能请求

  • 提交代码改进

  • 改进文档

  • 翻译本地化


详见贡献指南

许可证

Nuclear 采用 AGPL-3.0 许可证开源。更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码


办公AI智能小助手


用户头像

qife

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
Nuclear - 基于流媒体的隐私优先音乐播放器_流媒体_qife_InfoQ写作社区