{"id":13442190,"url":"https://github.com/qier222/YesPlayMusic","last_synced_at":"2025-03-20T13:32:53.161Z","repository":{"id":37009505,"uuid":"302603001","full_name":"qier222/YesPlayMusic","owner":"qier222","description":"高颜值的第三方网易云播放器，支持 Windows / macOS / Linux :electron: ","archived":false,"fork":false,"pushed_at":"2025-03-03T11:08:59.000Z","size":48712,"stargazers_count":30533,"open_issues_count":603,"forks_count":4475,"subscribers_count":222,"default_branch":"master","last_synced_at":"2025-03-18T00:41:25.848Z","etag":null,"topics":["electron","javascript","linux","mac","macos","music","music-player","netease-music","player","progressive-web-app","pwa","pwa-apps","vue","vue-cli","vue-router","vuex","web-music-player","windows"],"latest_commit_sha":null,"homepage":"https://music.qier222.com","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qier222.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-10-09T10:04:21.000Z","updated_at":"2025-03-17T20:40:03.000Z","dependencies_parsed_at":"2023-02-18T08:31:38.050Z","dependency_job_id":"41706b19-bc6a-4738-8a92-54e7b6f2c974","html_url":"https://github.com/qier222/YesPlayMusic","commit_stats":{"total_commits":586,"total_committers":64,"mean_commits":9.15625,"dds":0.6382252559726962,"last_synced_commit":"fd40a291801ab0dc0c66a531531a3929b7012e63"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qier222%2FYesPlayMusic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qier222%2FYesPlayMusic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qier222%2FYesPlayMusic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qier222%2FYesPlayMusic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qier222","download_url":"https://codeload.github.com/qier222/YesPlayMusic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244619252,"owners_count":20482387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","javascript","linux","mac","macos","music","music-player","netease-music","player","progressive-web-app","pwa","pwa-apps","vue","vue-cli","vue-router","vuex","web-music-player","windows"],"created_at":"2024-07-31T03:01:42.715Z","updated_at":"2025-03-20T13:32:53.155Z","avatar_url":"https://github.com/qier222.png","language":"Vue","funding_links":[],"categories":["HarmonyOS","Vue","JavaScript","Features","Apps","音频和视频","Multimedia","影音娱乐","音乐\u0026音乐播放器","Projects Using Vue.js","1.娱乐","B站"],"sub_categories":["Windows Manager","Video/Music","流媒体音乐播放器","Media Servers","Open Source"],"readme":"\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://music.qier222.com\" target=\"blank\"\u003e\n    \u003cimg src=\"images/logo.png\" alt=\"Logo\" width=\"156\" height=\"156\"\u003e\n  \u003c/a\u003e\n  \u003ch2 align=\"center\" style=\"font-weight: 600\"\u003eYesPlayMusic\u003c/h2\u003e\n\n  \u003cp align=\"center\"\u003e\n    高颜值的第三方网易云播放器\n    \u003cbr /\u003e\n    \u003ca href=\"https://music.qier222.com\" target=\"blank\"\u003e\u003cstrong\u003e🌎 访问DEMO\u003c/strong\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n    \u003ca href=\"#%EF%B8%8F-安装\" target=\"blank\"\u003e\u003cstrong\u003e📦️ 下载安装包\u003c/strong\u003e\u003c/a\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\n    \u003ca href=\"https://t.me/yesplaymusic\" target=\"blank\"\u003e\u003cstrong\u003e💬 加入交流群\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n[![Library][library-screenshot]](https://music.qier222.com)\n\n\n## 全新版本\n全新2.0 Alpha测试版已发布，欢迎前往 [Releases](https://github.com/qier222/YesPlayMusic/releases) 页面下载。\n当前版本将会进入维护模式，除重大bug修复外，不会再更新新功能。\n\n## ✨ 特性\n\n- ✅ 使用 Vue.js 全家桶开发\n- 🔴 网易云账号登录（扫码/手机/邮箱登录）\n- 📺 支持 MV 播放\n- 📃 支持歌词显示\n- 📻 支持私人 FM / 每日推荐歌曲\n- 🚫🤝 无任何社交功能\n- 🌎️ 海外用户可直接播放（需要登录网易云账号）\n- 🔐 支持 [UnblockNeteaseMusic](https://github.com/UnblockNeteaseMusic/server#音源清单)，自动使用[各类音源](https://github.com/UnblockNeteaseMusic/server#音源清单)替换变灰歌曲链接 （网页版不支持）\n  - 「各类音源」指默认启用的音源。\n  - YouTube 音源需自行安装 `yt-dlp`。\n- ✔️ 每日自动签到（手机端和电脑端同时签到）\n- 🌚 Light/Dark Mode 自动切换\n- 👆 支持 Touch Bar\n- 🖥️ 支持 PWA，可在 Chrome/Edge 里点击地址栏右边的 ➕ 安装到电脑\n- 🟥 支持 Last.fm Scrobble\n- ☁️ 支持音乐云盘\n- ⌨️ 自定义快捷键和全局快捷键\n- 🎧 支持 Mpris\n- 🛠 更多特性开发中\n\n## 📦️ 安装\n\nElectron 版本由 [@hawtim](https://github.com/hawtim) 和 [@qier222](https://github.com/qier222) 适配并维护，支持 macOS、Windows、Linux。\n\n访问本项目的 [Releases](https://github.com/qier222/YesPlayMusic/releases)\n页面下载安装包。\n\n- macOS 用户可以通过 Homebrew 来安装：`brew install --cask yesplaymusic`\n\n- Windows 用户可以通过 Scoop 来安装：`scoop install extras/yesplaymusic`\n\n## ⚙️ 部署至 Vercel\n\n除了下载安装包使用，你还可以将本项目部署到 Vercel 或你的服务器上。下面是部署到 Vercel 的方法。\n\n本项目的 Demo (https://music.qier222.com) 就是部署在 Vercel 上的网站。\n\n[![Powered by Vercel](https://www.datocms-assets.com/31049/1618983297-powered-by-vercel.svg)](https://vercel.com/?utm_source=ohmusic\u0026utm_campaign=oss)\n\n1. 部署网易云 API，详情参见 [Binaryify/NeteaseCloudMusicApi](https://neteasecloudmusicapi.vercel.app/#/?id=%e5%ae%89%e8%a3%85)\n   。你也可以将 API 部署到 Vercel。\n\n2. 点击本仓库右上角的 Fork，复制本仓库到你的 GitHub 账号。\n\n3. 点击仓库的 Add File，选择 Create new file，输入 `vercel.json`，将下面的内容复制粘贴到文件中，并将 `https://your-netease-api.example.com` 替换为你刚刚部署的网易云 API 地址：\n\n```json\n{\n  \"rewrites\": [\n    {\n      \"source\": \"/api/:match*\",\n      \"destination\": \"https://your-netease-api.example.com/:match*\"\n    }\n  ]\n}\n```\n\n4. 打开 [Vercel.com](https://vercel.com)，使用 GitHub 登录。\n\n5. 点击 Import Git Repository 并选择你刚刚复制的仓库并点击 Import。\n\n6. 点击 PERSONAL ACCOUNT 旁边的 Select。\n\n7. 点击 Environment Variables，填写 Name 为 `VUE_APP_NETEASE_API_URL`，Value 为 `/api`，点击 Add。最后点击底部的 Deploy 就可以部署到\n   Vercel 了。\n\n## ⚙️ 部署到自己的服务器\n\n除了部署到 Vercel，你还可以部署到自己的服务器上\n\n1. 部署网易云 API，详情参见 [Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi)\n2. 克隆本仓库\n\n```sh\ngit clone --recursive https://github.com/qier222/YesPlayMusic.git\n```\n\n3. 安装依赖\n\n```sh\nyarn install\n\n```\n\n4. （可选）使用 Nginx 反向代理 API，将 API 路径映射为 `/api`，如果 API 和网页不在同一个域名下的话（跨域），会有一些 bug。\n\n5. 复制 `/.env.example` 文件为 `/.env`，修改里面 `VUE_APP_NETEASE_API_URL` 的值为网易云 API 地址。本地开发的话可以填写 API 地址为 `http://localhost:3000`，YesPlayMusic 地址为 `http://localhost:8080`。如果你使用了反向代理 API，可以填写 API 地址为 `/api`。\n\n```\nVUE_APP_NETEASE_API_URL=http://localhost:3000\n```\n\n6. 编译打包\n\n```sh\nyarn run build\n```\n\n7. 将 `/dist` 目录下的文件上传到你的 Web 服务器\n\n## ⚙️ 宝塔面板 docker应用商店 部署\n\n1. 安装宝塔面板，前往[宝塔面板官网](https://www.bt.cn/new/download.html) ，选择正式版的脚本下载安装。\n\n2. 安装后登录宝塔面板，在左侧导航栏中点击 Docker，首次进入会提示安装Docker服务，点击立即安装，按提示完成安装\n\n3. 安装完成后在应用商店中找到YesPlayMusic，点击安装，配置域名、端口等基本信息即可完成安装。\n\n4. 安装后在浏览器输入上一步骤设置的域名即可访问。\n\n## ⚙️ Docker 部署\n\n1. 构建 Docker Image\n\n```sh\ndocker build -t yesplaymusic .\n```\n\n2. 启动 Docker Container\n\n```sh\ndocker run -d --name YesPlayMusic -p 80:80 yesplaymusic\n```\n\n3. Docker Compose 启动\n\n```sh\ndocker-compose up -d\n```\n\nYesPlayMusic 地址为 `http://localhost`\n\n## ⚙️ 部署至 Replit\n\n1. 新建 Repl，选择 Bash 模板\n\n2. 在 Replit shell 中运行以下命令\n\n```sh\nbash \u003c(curl -s -L https://raw.githubusercontent.com/qier222/YesPlayMusic/main/install-replit.sh)\n```\n\n3. 首次运行成功后，只需点击绿色按钮 `Run` 即可再次运行\n\n4. 由于 replit 个人版限制内存为 1G（教育版为 3G），构建过程中可能会失败，请再次运行上述命令或运行以下命令：\n\n```sh\ncd /home/runner/${REPL_SLUG}/music \u0026\u0026 yarn install \u0026\u0026 yarn run build\n```\n\n## 👷‍♂️ 打包客户端\n\n如果在 Release 页面没有找到适合你的设备的安装包的话，你可以根据下面的步骤来打包自己的客户端。\n\n1. 打包 Electron 需要用到 Node.js 和 Yarn。可前往 [Node.js 官网](https://nodejs.org/zh-cn/) 下载安装包。安装 Node.js\n   后可在终端里执行 `npm install -g yarn` 来安装 Yarn。\n\n2. 使用 `git clone --recursive https://github.com/qier222/YesPlayMusic.git` 克隆本仓库到本地。\n\n3. 使用 `yarn install` 安装项目依赖。\n\n4. 复制 `/.env.example` 文件为 `/.env` 。\n\n5. 选择下列表格的命令来打包适合的你的安装包，打包出来的文件在 `/dist_electron` 目录下。了解更多信息可访问 [electron-builder 文档](https://www.electron.build/cli)\n\n| 命令                                       | 说明                      |\n| ------------------------------------------ | ------------------------- |\n| `yarn electron:build --windows nsis:ia32`  | Windows 32 位             |\n| `yarn electron:build --windows nsis:arm64` | Windows ARM               |\n| `yarn electron:build --linux deb:armv7l`   | Debian armv7l（树莓派等） |\n| `yarn electron:build --macos dir:arm64`    | macOS ARM                 |\n\n## :computer: 配置开发环境\n\n本项目由 [NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi) 提供 API。\n\n运行本项目\n\n```shell\n# 安装依赖\nyarn install\n\n# 创建本地环境变量\ncp .env.example .env\n\n# 运行（网页端）\nyarn serve\n\n# 运行（electron）\nyarn electron:serve\n```\n\n本地运行 NeteaseCloudMusicApi，或者将 API [部署至 Vercel](#%EF%B8%8F-部署至-vercel)\n\n```shell\n# 运行 API （默认 3000 端口）\nyarn netease_api:run\n```\n\n## ☑️ Todo\n\n查看 Todo 请访问本项目的 [Projects](https://github.com/qier222/YesPlayMusic/projects/1)\n\n欢迎提 Issue 和 Pull request。\n\n## 📜 开源许可\n\n本项目仅供个人学习研究使用，禁止用于商业及非法用途。\n\n基于 [MIT license](https://opensource.org/licenses/MIT) 许可进行开源。\n\n## 灵感来源\n\nAPI 源代码来自 [Binaryify/NeteaseCloudMusicApi](https://github.com/Binaryify/NeteaseCloudMusicApi)\n\n- [Apple Music](https://music.apple.com)\n- [YouTube Music](https://music.youtube.com)\n- [Spotify](https://www.spotify.com)\n- [网易云音乐](https://music.163.com)\n\n## 🖼️ 截图\n\n![lyrics][lyrics-screenshot]\n![library-dark][library-dark-screenshot]\n![album][album-screenshot]\n![home-2][home-2-screenshot]\n![artist][artist-screenshot]\n![search][search-screenshot]\n![home][home-screenshot]\n![explore][explore-screenshot]\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[album-screenshot]: images/album.png\n[artist-screenshot]: images/artist.png\n[explore-screenshot]: images/explore.png\n[home-screenshot]: images/home.png\n[home-2-screenshot]: images/home-2.png\n[lyrics-screenshot]: images/lyrics.png\n[library-screenshot]: images/library.png\n[library-dark-screenshot]: images/library-dark.png\n[search-screenshot]: images/search.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqier222%2FYesPlayMusic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqier222%2FYesPlayMusic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqier222%2FYesPlayMusic/lists"}