Skip to content

Commit d76329c

Browse files
author
iecoxe
committedNov 18, 2022
支持网易获取歌曲自带cookie
1 parent 25481d1 commit d76329c

File tree

9 files changed

+126
-12
lines changed

9 files changed

+126
-12
lines changed
 

‎docs/version.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"version": "v1.5.0"
2+
"version": "v1.5.1"
33
}

‎package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "wp_musicapi",
3-
"version": "1.5.0",
3+
"version": "1.5.1",
44
"description": "一款Node.js的音乐接口",
55
"main": "./routes/v1/index.js",
66
"scripts": {

‎routes/v1/wy/song.js

+8-6
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ const crypto = require('crypto');
99
let song = async (ctx) => {
1010

1111
if (ctx.request.method === 'GET') {
12-
var id = ctx.request.query.id || '002mZevo3wHvsc';
13-
var br = ctx.request.query.br || '128';
12+
var id = ctx.request.query.id || '1463165983';
13+
var br = ctx.request.query.br || 'standard';
14+
var cookie = ctx.request.query.cookie || '__null__';
1415
} else if (ctx.request.method === 'POST') {
15-
var id = ctx.request.body.id || '002mZevo3wHvsc';
16-
var br = ctx.request.body.br || '320';
16+
var id = ctx.request.body.id || '1463165983';
17+
var br = ctx.request.body.br || 'standard';
18+
var cookie = ctx.request.body.cookie || '__null__';
1719
}
1820

1921

@@ -24,14 +26,14 @@ let song = async (ctx) => {
2426
}
2527

2628
// "ids": "[167655, 353066]"
27-
let result = await axios.post(`https://music.163.com/weapi/song/enhance/player/url/v1?csrf_token=`, Qs.stringify(s(id)), {
29+
let result = await axios.post(`https://music.163.com/weapi/song/enhance/player/url/v1?csrf_token=`, Qs.stringify(s(id, br)), {
2830
headers: {
2931
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36',
3032
Referer: 'https://music.163.com/',
3133
Host: 'music.163.com',
3234
'Content-Type': 'application/x-www-form-urlencoded',
3335
Origin: 'https://music.163.com',
34-
Cookie: cookie_util.serialization(global.wy_cookie)
36+
Cookie: cookie !== '__null__' ? cookie : cookie_util.serialization(global.wy_cookie)
3537
}
3638
})
3739

‎setting.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎test/a.php

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
'body' => json_encode(
2+
array(
3+
'relate' => 1,
4+
'userid' => '0',
5+
'vip' => 0,
6+
'appid' => 1000,
7+
'token' => '',
8+
'behavior' => 'download',
9+
'area_code' => '1',
10+
'clientver' => '8990',
11+
'resource' => array(array(
12+
'id' => 0,
13+
'type' => 'audio',
14+
'hash' => $id,
15+
)), )
16+
),
17+
18+
19+
JSON.stringify([
20+
relate
21+
])

‎test/t copy.js

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
const { default: axios } = require("axios");
2+
const CryptoJS = require('crypto-js');
3+
4+
5+
(async () => {
6+
7+
8+
let a = parseInt((new Date()).getTime()).toString();
9+
10+
var words = CryptoJS.enc.Utf8.parse("SGVsbG8ssdfadfIFdvcmxQSGVsbG8ssd");
11+
var iv = CryptoJS.enc.Utf8.parse("1011121314151617");
12+
13+
var encrypted = CryptoJS.AES.encrypt(a, words , {iv});
14+
15+
try {
16+
let result = await axios.get('http://42.192.118.65:5100/aggregate/search?key=%E8%AE%B8%E5%B5%A9&offset=1', {
17+
headers: {
18+
'imax-music': encrypted.toString()
19+
}
20+
});
21+
console.log(result.data);
22+
} catch (error) {
23+
console.log(error);
24+
}
25+
26+
try {
27+
let result = await axios.get('http://42.192.118.65:5100/kugou/song?hash=6772242C10CA964EF235EE29F8DDCB31', {
28+
headers: {
29+
'imax-music': encrypted.toString()
30+
}
31+
});
32+
console.log(result.data);
33+
} catch (error) {
34+
console.log(error);
35+
}
36+
37+
try {
38+
// 酷我br {24, 48, 96, 128, 192, 320, ape, flac, hires}
39+
let result = await axios.get('http://42.192.118.65:5100/kuwo/song?id=213671654&br=hires', {
40+
headers: {
41+
'imax-music': encrypted.toString()
42+
}
43+
});
44+
console.log(result.data);
45+
} catch (error) {
46+
console.log(error);
47+
}
48+
})();

‎test/t.js

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
const { default: axios } = require("axios");
2+
const CryptoJS = require('crypto-js');
3+
4+
5+
(async () => {
6+
7+
8+
let a = parseInt((new Date()).getTime() / 1000).toString();
9+
// a = '12412123213';
10+
// Encrypt
11+
let ciphertext = CryptoJS.AES.encrypt(a, (new Date()).getMinutes().toString() + 'QWEASDZXC');
12+
13+
console.log(ciphertext.iv.toString());
14+
console.log(ciphertext.salt.toString());
15+
console.log(ciphertext.key.toString());
16+
17+
console.log(CryptoJS.SHA256(a).toString());
18+
19+
// try {
20+
// let result = await axios.post('http://43.138.145.42:5001/v1/wy/setcookie', {
21+
// data: 'NTES_P_UTID=ADCXoiSt7mER2Q9bHQUehzzFTds5r3SY|1666877170; nts_mail_user=i153140965@163.com:-1:1; _ntes_nuid=2d881a8b54b2284a6689c2c60449140d; _ntes_nnid=2d881a8b54b2284a6689c2c60449140d,1642125839709; NMTID=00OIWMmS9I0773lpk11uGYZe1GQ0AcAAAF-VlPOfw; WNMCID=qsuewa.1642125840188.01.0; WM_TID=9BYOtDLvlL5BBQAUVUMu%2BHZsMhu3Q3Bs; NTES_CMT_USER_INFO=272331503%7C%E6%9C%89%E6%80%81%E5%BA%A6%E7%BD%91%E5%8F%8B0geTbL%7Chttp%3A%2F%2Fcms-bucket.nosdn.127.net%2F2018%2F08%2F13%2F078ea9f65d954410b62a52ac773875a1.jpeg%7Cfalse%7CaTE1MzE0MDk2NUAxNjMuY29t; ntes_kaola_ad=1; __snaker__id=1Vn5NGpDXStuXuqT; _9755xjdesxxd_=32; YD00000558929251%3AWM_TID=gFt8cdPgYHBBUERFQBfVDZCUS6OxyZWH; __bid_n=183e4c63689cd43abc4207; hb_MA-B701-2FC93ACD9328_source=mail.stu.shmtu.edu.cn; P_INFO=i153140965@163.com|1666877170|0|mail163|00&99|null&null&null#shh&null#10#0#0|&0||i153140965@163.com; WM_NI=grSiwBHZ%2FCe7Hg%2Bq2gKeCjoyhobq2ucSHf%2BWlXpzAwIMNYptYu1AqcXe2R85HChBHADTr4fljr4P3HsI%2BSzZn19uaNBEKJiPqC0gYIJt0FMbcojk5BYQFUCzD0jn2UszWXk%3D; WM_NIKE=9ca17ae2e6ffcda170e2e6eea2b36d81eba990cd4d98968fb6d54f938f8aacc47087ef9697ef7bb6bd8fccd12af0fea7c3b92aa5ae9d8af64a8c86e1a4e83d8cb9e592b16d89bb8d8bee73acb1ae92b17fa18d8887aa5db088c09bc47d8b9382baf3809babffa2f4699cbbfeb3bb3f8c9da8a3cb4b888cbed5e568aaaefcb1b244b197e5b4f952aeeff796e446829b85abec5cb39d0088dc438aac00a7d06aa1b1a68cb84a9b8f8ab6c27288f0a68fb15fb1a699b9ea37e2a3; JSESSIONID-WYYY=SyZIAN%2BluMB7sT9o8hgx12nzgdBj874muxQhQHvbWCFPabJNcXKohh8kJ%2BqjxsChu%5CXlKtSllx01xauM%2BeJTBFKXaX4%5CE5%5CzmqlatxPQcVgVV%2FxG0E49%2FI5Fkzcu2%2FSMEs5s3uzo611c1qg2r4aAXWhVol2QGEDyT%5CH3eZdishv9aH9f%3A1667035526670; _iuqxldmzr_=33; gdxidpyhxdE=rZU24o7i078jcQ9BCPPn3vsbfZGlfL3OKqfUcSWZ8EItZ4p1eIYyMzcymNRuqH7qit5BnwXma68z9mS1cJBolkU0XTPQbLLeD8y%2Fd4xPdu5n67cbSBWSjrfufBtYeTtTyJwgfiCiOyJ0S78JQsVvnPB%2FxT%5CYVmWCPxRUDDLa94o%2BtKSq%3A1667034627197; YD00000558929251%3AWM_NI=dQtq3bi4fMryIvaPsZ1MmTq93vBOstFA9NyvYCaPaiMJ275DLPjUsxhzXZlgxQrRHqyxWUMG0iEBp9Lp8PNFTXAbuAK%2FIzEnv6Fzu2NI%2Fz%2FFENQYid5F%2BQhuPKO2J4EMNlA%3D; YD00000558929251%3AWM_NIKE=9ca17ae2e6ffcda170e2e6ee87bb73b09ae1a7f93da2e78bb7c85f969a8eacc55396a98397ed5a839a8790d12af0fea7c3b92aa88fbc92b26aabecaaaef1738baaafb1f252f393a3b5f433f1aa8eb0f280869ff7affc7e9b9dafb1e4638f96fed8b8509090a6b6f274aca698bbef6dbc8fbeb3cb7bbba899b6d04df4b78ba3f33390b0f8b1cd4e98888f83f84b89f1879bc866b6ea8a9bf83a8e97e19bae4e87929fbaec70f79ae5b2eb7f949581d3c9408793828dc437e2a3; __csrf=65c04c852b653455f5583577b74062e4; WEVNSM=1.0.0'
22+
// }, {
23+
// headers: {
24+
// 'imax-music': ciphertext
25+
// }
26+
// });
27+
// console.log(result.data);
28+
// } catch (error) {
29+
// console.log(error);
30+
// }
31+
})();

‎test/testwysong.js

+12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎util/sssss.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -623,11 +623,11 @@ setMaxDigits(20),
623623

624624

625625
module.exports = {
626-
s: (ids) => {
626+
s: (ids, br) => {
627627
let i2x = {
628628
"ids": `[${ids}]`,
629-
"level": "standard",
630-
"encodeType": "mp3",
629+
"level": br,
630+
"encodeType": "flac",
631631
"csrf_token": ""
632632
};
633633

0 commit comments

Comments
 (0)
Please sign in to comment.