Giter Club home page Giter Club logo

project-and-factory / blurlyric Goto Github PK

View Code? Open in Web Editor NEW
84.0 3.0 9.0 42.37 MB

🎵 A simple, beautiful, and user-friendly third-party player for NetEase Cloud Music. | 高颜值,高性能的网易云音乐第三方音乐播放器

License: GNU General Public License v3.0

JavaScript 45.73% Vue 44.77% HTML 0.46% CSS 8.66% Shell 0.01% Batchfile 0.36%
music neteasemusic player unblockneteasemusic beautiful applemusic electron vue3 vue node

blurlyric's Introduction

本项目已放弃,希望大家转投 yesplaymusic和 lyricease。前者有优美的界面,后者兼具而且性能良好。|| This project has been abandoned. I hope everyone will switch to using yesplaymusic and lyricease instead. The former has a beautiful interface, while the latter combines great features with good performance.

imgBlurLyric

A simple, beautiful, and user-friendly third-party player for NetEase Cloud Music.

English | 简体中文

License Scan

FOSSA Status

Quick Start

We recommend using the official website for a quick experience: https://web.blurlyric.app/. Please be wary of unfamiliar links to prevent theft of your account or privacy.

Browser Support

Browser Support
Apple Safari
Microsoft Edge
Google Chrome
Mozilla Firefox
Internet Explorer

Features

BlurLyric has independently developed a lyric scrolling algorithm, achieving almost zero delay and ultra-fast feedback. The responsive layout gives BlurLyric strong adaptation capabilities on screens with various resolutions. Continuous optimization and constant iteration of performance improvements ensure smooth and stable operation on various device environments. The cross-stream playback of songs, imitating Spotify, makes switching between songs more natural.

User Guide

Download the Latest Version

Please log in to GitHub first and then download the new version in the latest workflow.

Download the Stable Version

The stable build version that has been released can be downloaded directly on the Releases page, but downloading from this location is not recommended because it is not frequently updated.

Initialization

Please perform this step before any operation.

npm install

Online Deployment

Enter the following command in the CLI to deploy online:

node .\blurlyric\onlyonweb

The port can be modified in vite.config.js.

Manual Building of Executable Files

Enter the following command in the command line to manually build executable files, which will be output in out:

npm run build
npm run make

Server Reverse Proxy Configuration (using Nginx as an Example)

The following is the configuration for server reverse proxy (using Nginx as an example):

location / {
    proxy_pass http://127.0.0.1:18776;
    proxy_set_header Host $host:$server_port;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    add_header X-Cache $upstream_cache_status;

    proxy_connect_timeout 30s;
    proxy_read_timeout 86400s;
    proxy_send_timeout 30s;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";


}

Help Us

Your donation will help us pay for the operating costs of the online service at https://web.blurlyric.app/ and support our development. Thank you for using our product. If you think our product is useful, please click the "Star" button.

Do you have any good ideas?

If you have any good suggestions, reference designs, or open-source code, please feel free to share them with us through Pull requests. If you are a UI design expert but do not know how to code, you can submit an issue or send your ideas or designs to [email protected] or [email protected], or join the Telegram group. We welcome your participation.

Thanks to the following projects for providing us with inspiration, reference designs, and core code:

blurlyric's People

Contributors

dependabot[bot] avatar fossabot avatar g2nnys avatar gozaoo avatar sider2vf avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

blurlyric's Issues

登录BUG

image
死循环了,已经获取到user了啊

在测试中暴露出的一些BUG

bug

1.在切换歌曲时,有概率会出现音量调节(播放界面的更多设置中)失效的情况。

复现步骤:切歌然后玄学触发
补充材料:暂无

2.在Ubuntu下,登录无法加载出二维码。

复现步骤:在Ubuntu环境下使用构建软件包安装后打开,点击扫码登录,无法加载二维码并且控制台报错。
补充材料:
image
image

代码存在安全漏洞+一点小建议

nanoid 版本太低,可能将敏感信息暴露给未经授权的访问者:CVE-2021-23566,升级其的版本至3.1.31以上。

glob-parent 中的正则表达式拒绝服务 这会影响 5.1.2 之前的软件包 glob 父级。用于检查以包含路径分隔符的外壳结尾的字符串的外壳正则表达式。解决方法依然是更新版本至5.1.2以上。

另外我建议可以尝试完善,使其能在Cloudflare Pages上运行(再也不怕被CC了)

侧边栏无法隐藏&播放页面的部分按钮无响应

以下均是试用demo(https://blurlyric.app/ )后遇到的问题

1.点击侧边栏任意一项后会展开侧边栏,但不会自动隐藏,甚至无法手动隐藏(至少我没有找到相关的操作提示)。
这使得界面的部分内容被遮挡
image

2.播放页面,点击“设置选项”的图标无响应
控制台报错:
image

3.循环模式缺少提示,且模式较少
点击循环模式可以切换,但缺少提示告诉用户切换成了什么模式
姑且猜测目前可供选择的模式有列表循环和随机播放2种,希望添加单曲循环模式

下载音乐的命名与后缀问题

image
image
image

  1. 文件下载不会给音乐命名,统一起名mp3.mp3,后续手动写入音乐名需要手动码字,而某些字符不是键盘能直接输入的。
  2. 上述两个音乐下载下来的时候,网易云API都是请求到无损/Hi-Res音质的,文件编码应该都是FLAC,但程序根据惯例把下载的文件统一命名成了mp3.mp3

预希望的两种解决方式

  • 在blob下载的时候把名字写进去;或使用剪切板把文件名写入,在“另存为”的时候就可以直接粘贴
  • 通过下载链接或文件码率快速判断文件后缀(如320Kbps及以下判定MP3,320Kbps以上判定FLAC)

另注:
就“文件码率”计算,程序对FLAC文件的演算似乎和Windows右击菜单“属性”的有不一样的地方?有一个文件,BlurLyric显示2000K,Windows却显示只有1500Kbps

在ArchLinux下无法正常运行

我个人根据打包的deb文件做了移植,地址为:https://aur.archlinux.org/packages/blurlyric-bin
安装后运行报错,内容如下:

$ /opt/blurlyric/blurlyric 
failed to load config from /opt/blurlyric/resources/app/vite.config.js
(node:100076) UnhandledPromiseRejectionWarning: Error: Cannot find module '@vitejs/plugin-vue'
Require stack:
- /opt/blurlyric/resources/app/vite.config.js
- /opt/blurlyric/resources/app/node_modules/vite/dist/node/chunks/dep-80fe9c6b.js
- /opt/blurlyric/resources/app/node_modules/vite/dist/node/index.js
- /opt/blurlyric/resources/app/main.js
- 
    at Module._resolveFilename (node:internal/modules/cjs/loader:1054:15)
    at n._resolveFilename (node:electron/js2c/browser_init:2:109872)
    at Module._load (node:internal/modules/cjs/loader:900:27)
    at f._load (node:electron/js2c/asar_bundle:2:13330)
    at Module.require (node:internal/modules/cjs/loader:1120:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/opt/blurlyric/resources/app/vite.config.js:30:33)
    at Module._compile (node:internal/modules/cjs/loader:1241:14)
    at require.extensions.<computed> [as .js] (/opt/blurlyric/resources/app/node_modules/vite/dist/node/chunks/dep-80fe9c6b.js:61973:20)
    at Module.load (node:internal/modules/cjs/loader:1096:32)
(Use `blurlyric --trace-warnings ...` to show where the warning was created)
(node:100076) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:100076) electron: Failed to load URL: http://localhost:18775/ with error: ERR_CONNECTION_REFUSED
Error: ENOENT: no such file or directory, open './util/config.json'
    at Object.openSync (node:fs:600:3)
    at Object.func [as openSync] (node:electron/js2c/asar_bundle:2:1822)
    at Object.writeFileSync (node:fs:2221:35)
    at generateConfig (/opt/blurlyric/resources/app/generateConfig.js:14:10)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Object.start (/opt/blurlyric/resources/app/app.js:5:3) {
  errno: -2,
  syscall: 'open',
  code: 'ENOENT',
  path: './util/config.json'
}
server running @ http://localhost:18775

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.