Nuclear - 基于流媒体的隐私优先音乐播放器
Nuclear - 基于流媒体的隐私优先音乐播放器
项目描述
Nuclear是一款专注于从免费来源流媒体播放音乐的桌面应用,具有以下核心特点:
- 隐私优先设计,不进行用户追踪或数据分析
- 无广告干扰的纯净音乐体验
- 支持多平台(Windows/macOS/Linux)
- 内置多种音乐源整合搜索
- 支持Last.fm同步和歌词显示
- 本地音乐库管理功能
功能特性
核心功能
- 🎵 从多个免费来源流媒体播放音乐
- :magnifying_glass_tilted_left: 统一搜索多个音乐源
- 📻 支持电台和直播流媒体
- :computer_disk: 本地音乐库扫描和管理
- 📊 内置音频均衡器
- 📝 歌词自动查找和显示
隐私保护
- 🛡️ 无用户追踪或行为分析
- :locked: 不收集个人身份信息
- :prohibited: 无广告和第三方跟踪
社交集成
- ✨ Last.fm 同步和记录
- 🐘 Mastodon 分享支持
- 🤝 Discord 社区集成
安装指南
系统要求
- Node.js 14+
- npm/yarn
- Electron 4.2+
安装步骤
-
克隆仓库:
git clone https://github.com/nukeop/nuclear.git cd nuclear
-
安装依赖:
npm install # 或 yarn install
-
运行开发模式:
npm start # 或 yarn start
-
构建应用:
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.ts
export 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.ts
export const SearchActions = {
unifiedSearchStart: createStandardAction(Search.UNIFIED_SEARCH_START)<string>(),
unifiedSearchSuccess: createStandardAction(Search.UNIFIED_SEARCH_SUCCESS)(),
unifiedSearchError: createStandardAction(Search.UNIFIED_SEARCH_ERROR)()
};
隐私保护实现
// src/actions/plugins.ts
export function createPlugins(pluginClasses) {
const plugins = {};
// 初始化插件系统,确保所有数据本地处理
for (const category of Object.keys(pluginClasses)) {
plugins[category] = [];
// ...插件初始化逻辑
}
return plugins;
}
贡献指南
欢迎通过以下方式贡献项目:
- 报告问题和功能请求
- 提交代码改进
- 改进文档
- 翻译本地化
详见贡献指南。
许可证
Nuclear采用AGPL-3.0许可证开源。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码