当前位置:网站首页>You deserve this high-value open-source third-party Netease cloud music player
You deserve this high-value open-source third-party Netease cloud music player
2022-07-06 07:05:00 【Xiaolin on the corner】
brief introduction
My main song listening software is Netease cloud music , But it has many fancy functions , For example, radio 、 live broadcast 、 friend 、 Podcast 、 Yuncun, etc , To be honest, I don't need any of these , Basically can't use , Most of the time, I only use it as a local player , Because it is a commercial software after all , You need to make money , So I can understand , relatively speaking , The client on the computer will be simpler , The web version is the purest , But the appearance is average ( Everyone's aesthetics may be different , This is just a personal point of view ~).
So is there a simple and pure , What about Netease cloud music player with high appearance , The answer is yes , It is :YesPlayMusic, An open source third-party implementation .
Project address :https://github.com/qier222/YesPlayMusic.
This project currently has 18.1k individual star, Quite a lot , Project based on Vue.js Family bucket development , It's a Web project , But by Electron Support packaging into macOS、Windows、Linux The clients of the three platforms are used .
Of course, the foundation of this project is another open source project :https://github.com/Binaryify/NeteaseCloudMusicApi, seeing the name of a thing one thinks of its function , It's Netease cloud music api, This is also a third-party project , Support all official interfaces , Use nodejs Development , be based on express frame , The request library uses axios, The principle is Cross Site Request Forgery (CSRF), By forging request headers , Call the official API, Simply speaking , It is because the domain name of our website is different from that of Netease cloud music , If you directly request the official interface of Netease cloud music , Netease cloud music server and browser do not allow us to do this for security , So we need a middleman who will not be restricted , That is, back-end services , Then our website requests the interface of this service , Bring certified cookie
, This service uses cookie
, And forge some request headers , The purpose is to make Netease cloud music official server think it is a browser , In this way, it can help us tune the official interface of Netease cloud music , Then the service is set to allow cross domain requests , Then our website can obtain the official data of Netease cloud music by requesting this intermediary .
function & Interface
First, let's take a look at its basic functions and interface .
Sign in
Support code scanning 、 Email login and mobile number login , Authentication code login and third-party login are not supported , But it's enough .
If you don't want to log in , Search your user name directly , You can also listen to your song list , It's just that some private data can't be seen :
home page
The columns on the home page are :by Apple Music、 Recommended song list 、For You( Daily recommendation )、 Recommend artists 、 Xinzhuan Express 、 Ranking List .
by Apple Music It is a column with dead data :
For You Daily recommendation , Login is required to use .
Discovery page
Click to view some columns on the home page and jump to the discovery page , Of course, you can also directly click on the top tab Switch to the discovery page , The discovery page is mainly to view the recommended song list 、 Ranking List 、 Search song list by category :
Music library
The music library needs to be used after logging in , That is, your personal space , You can check your favorite songs 、 A collection of songs 、 Album 、 artist 、MV、 Cloud disk and song ranking :
Search for
Search results include : artist 、 Album 、 song 、 Videos and song lists :
Details of the song list
Click a song list or album to jump to the song list details page , You can view the introduction on the details page 、 Song list all songs , Of course, it can also be played :
Play
Finally, the playback function , A playback bar will be permanently displayed at the bottom , Show the currently playing song , You can also control playback 、 Cut song :
Click on the bottom bar to open a full screen playback interface , You can see the lyrics :
Comment function
Listening to songs and reading comments has become a habit , Comments were also a feature of Netease cloud music at first , Unfortunately, this project does not support the function of viewing comments , The author also made it clear that he would not support :
Because it's open source , So the author does not support , You can support yourself , So I fork Its warehouse , It took a day to add a review 、 publish 、 Reply and like function .
The entry is in the bottom playback bar :
After clicking, the comment list will be displayed in full screen :
Support sorting in two dimensions of heat and time , It also supports viewing floor replies , You can comment on the song , You can also click on a floor to reply , But now there is a small problem , Comments or likes will not appear immediately , Need to wait for a while ( Two minutes ) Refresh the list to display , The reason is because api The service adds cache processing :
In order not to be blocked by the official server , I haven't removed or modified the cache time .
Use
If you see here, you've already moved , Then you can start using , First of all, if you don't want to toss , Then you can use it directly online , You can directly access the default online address provided by this project without the comment function :https://music.qier222.com/. If you need the comment function, you can use the address I modified and deployed :https://music.lxqnsys.com/.
Of course , At the same time, I also packed the client installation package , If you like to use it through the client, you can download it here https://github.com/wanglin2/YesPlayMusic.
The project itself supports multiple deployment methods , Deployed to Vercel(Vercel It is a zero configuration static resource and serverless Cloud Computing (serverless) Deployment platform )、 Deploy to your own server 、Docker Deployment, etc. , Here's the first one , Because it's not only free 、 Simple 、 And you can generate your own address , Don't worry about the invalidation of using other people's addresses , The stupid tutorial is as follows :
1. If you don't GitHub account number , Then register first .
2. open Vercel Website , Use github To login :
3. Deploy Netease cloud API
open NeteaseCloudMusicApi Project warehouse , Click on the 【Fork】 Button :
This will copy the project to your name :
Then open the Vercel Website , Click on the 【New Project】 Button to create a new project :
Then find you in the list of items on the left fork Of NeteaseCloudMusicApi project , If there are too many items to find, you can also search directly :
Click on 【Import】 Button import , Then the configuration can also be changed , Just click 【Deply】 Button to deploy :
Wait for deployment to complete , Click the preview area on the left , Will open the project , Copy the address of the newly opened page :
4. Deploy YesPlayMusic project
The interface service is deployed , Then you can deploy YesPlayMusic Project , The steps and deployment interfaces are the same , however Fork After that, you need :
Click the 【Add File】, choice 【Create new file】, Input 【vercel.json】, Copy and paste the following contents into the file , And will https://your-netease-api.example.com Replace with the Netease cloud you just deployed API The address of :
{
"rewrites": [
{
"source": "/api/:match*",
"destination": "https://your-netease-api.example.com/:match*"
}
]
}
Next open Vercel
, The steps are the same as before , The difference is that the last step is to modify the configuration :
Click on 【Environment Variables】, Fill in Name by VUE_APP_NETEASE_API_URL
,Value by /api
, Click on 【Add】. Finally, click 【Deploy】 You can deploy to Vercel
了 .
The default generated domain name is Vercel
Subdomain https://xxx.vercel.app
, If you have your own domain name , Then it can also be bound to your own , On the project details page, click 【Setting】 Button :
Then click on the left 【Domains】 Button , Enter the domain name you want to bind on the right , Click on 【Add】:
Next, just go to the service provider where you buy the domain name and configure it CNAME
Just map :
go back to Vercel
page , It will automatically detect whether the mapping is successful , Finally, wait for the certificate generation to complete , You can access it through our own domain name :
This concludes the article ~
边栏推荐
- Establishment and operation of cloud platform open source project environment
- Depth residual network
- 1189. Maximum number of "balloons"
- The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
- Basic commands of MySQL
- At the age of 26, I changed my career from finance to software testing. After four years of precipitation, I have been a 25K Test Development Engineer
- 接口自动化测试实践指导(上):接口自动化需要做哪些准备工作
- Attributeerror: can 't get attribute' sppf 'on < module' models. Common 'from' / home / yolov5 / Models / comm
- 升级版手机检测微信工具小程序源码-支持多种流量主模式
- Top test sharing: if you want to change careers, you must consider these issues clearly!
猜你喜欢
ROS2安装及基础知识介绍
CDN acceleration and cracking anti-theft chain function
【服务器数据恢复】IBM服务器raid5两块硬盘离线数据恢复案例
18.多级页表与快表
Establishment and operation of cloud platform open source project environment
Raspberry pie serial port login and SSH login methods
Basic commands of MySQL
指尖上的 NFT|在 G2 上评价 Ambire,有机会获得限量版收藏品
《从0到1:CTFer成长之路》书籍配套题目(周更)
Hydra common commands
随机推荐
The author is dead? AI is conquering mankind with art
After sharing the clone remote project, NPM install reports an error - CB () never called! This is an error with npm itself.
19. Actual memory management of segment page combination
After working for 10 years, I changed to a programmer. Now I'm 35 + years old and I'm not anxious
Raspberry pie 3B update VIM
【服务器数据恢复】IBM服务器raid5两块硬盘离线数据恢复案例
Cookie技术&Session技术&ServletContext对象
配置树莓派接入网络
UniPro甘特图“初体验”:关注细节背后的多场景探索
SEO学习的最好方式:搜索引擎
Huawei equipment configuration ospf-bgp linkage
Configure raspberry pie access network
Proteus -- Serial Communication parity flag mode
leetcode704. 二分查找(查找某个元素,简单,不同写法)
Briefly describe the differences between indexes, primary keys, unique indexes, and joint indexes in mysql, and how they affect the performance of the database (in terms of reading and writing)
Depth residual network
The ECU of 21 Audi q5l 45tfsi brushes is upgraded to master special adjustment, and the horsepower is safely and stably increased to 305 horsepower
“无聊猿” BAYC 的内忧与外患
AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models. common‘ from ‘/home/yolov5/models/comm
AttributeError: Can‘t get attribute ‘SPPF‘ on <module ‘models.common‘ from ‘/home/yolov5/models/comm