mirror of
https://github.com/MeoProject/lx-music-api-server.git
synced 2025-05-23 19:17:41 +08:00
feat: 给ck池加上kg刷新登录
测试时不知道为什么ck不变,估计要等(
This commit is contained in:
parent
c254555ee7
commit
8919767eb5
@ -1,6 +1,6 @@
|
|||||||
# ----------------------------------------
|
# ----------------------------------------
|
||||||
# - mode: python -
|
# - mode: python -
|
||||||
# - author: helloplhm-qwq - (feat. Huibq)
|
# - author: helloplhm-qwq - (feat. Huibq and ikun0014)
|
||||||
# - name: refresh_token.py -
|
# - name: refresh_token.py -
|
||||||
# - project: lx-music-api-server -
|
# - project: lx-music-api-server -
|
||||||
# - license: MIT -
|
# - license: MIT -
|
||||||
@ -22,15 +22,19 @@ async def refresh():
|
|||||||
return
|
return
|
||||||
if (not config.read_config('module.kg.user.refresh_token.enable')):
|
if (not config.read_config('module.kg.user.refresh_token.enable')):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
user_id = config.read_config('module.kg.user.userid')
|
||||||
|
token = config.read_config('module.kg.user.token')
|
||||||
|
|
||||||
if (config.read_config('module.kg.client.appid') == '1005'):
|
if (config.read_config('module.kg.client.appid') == '1005'):
|
||||||
ts = int(time.time() * 1000)
|
ts = int(time.time() * 1000)
|
||||||
p3 = aes_sign(json.dumps({'clienttime': ts // 1000, 'token': config.read_config('module.kg.user.token')}))
|
p3 = aes_sign(json.dumps({'clienttime': ts // 1000, 'token': token}))
|
||||||
data = {
|
data = {
|
||||||
'p3': p3,
|
'p3': p3,
|
||||||
'clienttime_ms': ts,
|
'clienttime_ms': ts,
|
||||||
't1': 0,
|
't1': 0,
|
||||||
't2': 0,
|
't2': 0,
|
||||||
'userid': config.read_config('module.kg.user.userid')
|
'userid': user_id
|
||||||
}
|
}
|
||||||
params = {
|
params = {
|
||||||
'dfid': '-',
|
'dfid': '-',
|
||||||
@ -49,26 +53,26 @@ async def refresh():
|
|||||||
req = await signRequest(login_url, params, {'method': 'POST', 'json': data, 'headers': headers})
|
req = await signRequest(login_url, params, {'method': 'POST', 'json': data, 'headers': headers})
|
||||||
body = req.json()
|
body = req.json()
|
||||||
if body['error_code'] != 0:
|
if body['error_code'] != 0:
|
||||||
logger.warning('刷新登录失败, code: ' +
|
logger.warning(f'酷狗音乐账号(UID_{user_id})刷新登录失败, code: ' +
|
||||||
str(body['error_code']) + f'\n响应体: {body}')
|
str(body['error_code']) + f'\n响应体: {body}')
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
logger.info('刷新登录成功')
|
logger.info(f'酷狗音乐账号(UID_{user_id})刷新登录成功')
|
||||||
config.write_config('module.kg.user.userid',
|
config.write_config('module.kg.user.userid',
|
||||||
str(body['data']['userid']))
|
str(body['data']['userid']))
|
||||||
logger.info(f'已通过相应数据更新userid')
|
|
||||||
config.write_config('module.kg.user.token',
|
config.write_config('module.kg.user.token',
|
||||||
body['data']['token'])
|
body['data']['token'])
|
||||||
logger.info('已通过相应数据更新kg_token')
|
logger.info(f'为酷狗音乐账号(UID_{user_id})数据更新完毕')
|
||||||
|
return
|
||||||
elif (config.read_config('module.kg.client.appid') == '3116'):
|
elif (config.read_config('module.kg.client.appid') == '3116'):
|
||||||
ts = int(time.time() * 1000)
|
ts = int(time.time() * 1000)
|
||||||
p3 = aes_sign(json.dumps({'clienttime': ts // 1000, 'token': config.read_config('module.kg.user.token')}), key=b'c24f74ca2820225badc01946dba4fdf7', iv=b'adc01946dba4fdf7')
|
p3 = aes_sign(json.dumps({'clienttime': ts // 1000, 'token': token}), key=b'c24f74ca2820225badc01946dba4fdf7', iv=b'adc01946dba4fdf7')
|
||||||
data = {
|
data = {
|
||||||
'p3': p3,
|
'p3': p3,
|
||||||
'clienttime_ms': ts,
|
'clienttime_ms': ts,
|
||||||
't1': 0,
|
't1': 0,
|
||||||
't2': 0,
|
't2': 0,
|
||||||
'userid': config.read_config('module.kg.user.userid')
|
'userid': user_id
|
||||||
}
|
}
|
||||||
params = {
|
params = {
|
||||||
'dfid': '-',
|
'dfid': '-',
|
||||||
@ -87,17 +91,17 @@ async def refresh():
|
|||||||
req = await signRequest(login_url, params, {'method': 'POST', 'json': data, 'headers': headers})
|
req = await signRequest(login_url, params, {'method': 'POST', 'json': data, 'headers': headers})
|
||||||
body = req.json()
|
body = req.json()
|
||||||
if body['error_code'] != 0:
|
if body['error_code'] != 0:
|
||||||
logger.warning('刷新登录失败, code: ' +
|
logger.warning(f'酷狗音乐账号(UID_{user_id})刷新登录失败, code: ' +
|
||||||
str(body['error_code']) + f'\n响应体: {body}')
|
str(body['error_code']) + f'\n响应体: {body}')
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
logger.info('刷新登录成功')
|
logger.info(f'酷狗音乐账号(UID_{user_id})刷新登录成功')
|
||||||
config.write_config('module.kg.user.userid',
|
config.write_config('module.kg.user.userid',
|
||||||
str(body['data']['userid']))
|
str(body['data']['userid']))
|
||||||
logger.info(f'已通过相应数据更新userid')
|
|
||||||
config.write_config('module.kg.user.token',
|
config.write_config('module.kg.user.token',
|
||||||
body['data']['token'])
|
body['data']['token'])
|
||||||
logger.info('已通过相应数据更新kg_token')
|
logger.info(f'为酷狗音乐账号(UID_{user_id})数据更新完毕')
|
||||||
|
return
|
||||||
|
|
||||||
if (not variable.use_cookie_pool):
|
if (not variable.use_cookie_pool):
|
||||||
kgconfig = config.read_config('module.kg')
|
kgconfig = config.read_config('module.kg')
|
||||||
@ -112,13 +116,94 @@ if (config.read_config('module.kg.user.refresh_token.enable') and not variable.u
|
|||||||
config.read_config('module.kg.user.refresh_token.interval'))
|
config.read_config('module.kg.user.refresh_token.interval'))
|
||||||
|
|
||||||
async def refresh_login_for_pool(user_info):
|
async def refresh_login_for_pool(user_info):
|
||||||
# TODO
|
user_id = user_info["userid"]
|
||||||
pass
|
token = user_info["token"]
|
||||||
|
if (config.read_config('module.kg.client.appid') == '1005'):
|
||||||
|
ts = int(time.time() * 1000)
|
||||||
|
p3 = aes_sign(json.dumps({'clienttime': ts // 1000, 'token': token}))
|
||||||
|
data = {
|
||||||
|
'p3': p3,
|
||||||
|
'clienttime_ms': ts,
|
||||||
|
't1': 0,
|
||||||
|
't2': 0,
|
||||||
|
'userid': user_id
|
||||||
|
}
|
||||||
|
params = {
|
||||||
|
'dfid': '-',
|
||||||
|
'appid': tools.appid,
|
||||||
|
'mid': tools.mid,
|
||||||
|
'clientver': tools.clientver,
|
||||||
|
'clienttime': ts // 1000
|
||||||
|
}
|
||||||
|
headers = {
|
||||||
|
'User-Agent': 'Android712-AndroidPhone-8983-18-0-NetMusic-wifi',
|
||||||
|
'KG-THash': '3e5ec6b',
|
||||||
|
'KG-Rec': '1',
|
||||||
|
'KG-RC': '1',
|
||||||
|
}
|
||||||
|
login_url = config.read_config('module.kg.user.refresh_token.login_url')
|
||||||
|
req = await signRequest(login_url, params, {'method': 'POST', 'json': data, 'headers': headers})
|
||||||
|
body = req.json()
|
||||||
|
if body['error_code'] != 0:
|
||||||
|
logger.warning(f'酷狗音乐账号(UID_{user_id})刷新登录失败, code: ' +
|
||||||
|
str(body['error_code']) + f'\n响应体: {body}')
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
logger.info(f'为酷狗音乐账号(UID_{user_id})刷新登录成功')
|
||||||
|
user_list = config.read_config('module.cookiepool.kg')
|
||||||
|
user_list[user_list.index(
|
||||||
|
user_info)]['token'] = body['data']['token']
|
||||||
|
user_list[user_list.index(
|
||||||
|
user_info)]['userid'] = str(body['data']['userid'])
|
||||||
|
config.write_config('module.cookiepool.kg', user_list)
|
||||||
|
logger.info(f'为酷狗音乐账号(UID_{user_id})数据更新完毕')
|
||||||
|
elif (config.read_config('module.kg.client.appid') == '3116'):
|
||||||
|
ts = int(time.time() * 1000)
|
||||||
|
p3 = aes_sign(json.dumps({'clienttime': ts // 1000, 'token': token}), key=b'c24f74ca2820225badc01946dba4fdf7', iv=b'adc01946dba4fdf7')
|
||||||
|
data = {
|
||||||
|
'p3': p3,
|
||||||
|
'clienttime_ms': ts,
|
||||||
|
't1': 0,
|
||||||
|
't2': 0,
|
||||||
|
'userid': user_id
|
||||||
|
}
|
||||||
|
params = {
|
||||||
|
'dfid': '-',
|
||||||
|
'appid': tools.appid,
|
||||||
|
'mid': tools.mid,
|
||||||
|
'clientver': tools.clientver,
|
||||||
|
'clienttime': ts // 1000
|
||||||
|
}
|
||||||
|
headers = {
|
||||||
|
'User-Agent': 'Android712-AndroidPhone-8983-18-0-NetMusic-wifi',
|
||||||
|
'KG-THash': '3e5ec6b',
|
||||||
|
'KG-Rec': '1',
|
||||||
|
'KG-RC': '1',
|
||||||
|
}
|
||||||
|
login_url = config.read_config('module.kg.user.refresh_token.login_url')
|
||||||
|
req = await signRequest(login_url, params, {'method': 'POST', 'json': data, 'headers': headers})
|
||||||
|
body = req.json()
|
||||||
|
if body['error_code'] != 0:
|
||||||
|
logger.warning(f'酷狗音乐账号(UID_{user_id})刷新登录失败, code: ' +
|
||||||
|
str(body['error_code']) + f'\n响应体: {body}')
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
logger.info(f'为酷狗音乐账号(UID_{user_id})刷新登录成功')
|
||||||
|
user_list = config.read_config('module.cookiepool.kg')
|
||||||
|
user_list[user_list.index(
|
||||||
|
user_info)]['token'] = body['data']['token']
|
||||||
|
user_list[user_list.index(
|
||||||
|
user_info)]['userid'] = str(body['data']['userid'])
|
||||||
|
config.write_config('module.cookiepool.kg', user_list)
|
||||||
|
logger.info(f'为酷狗音乐账号(UID_{user_id})数据更新完毕')
|
||||||
|
return
|
||||||
|
|
||||||
def reg_refresh_login_pool_task():
|
def reg_refresh_login_pool_task():
|
||||||
# TODO
|
user_info_pool = config.read_config('module.cookiepool.kg')
|
||||||
pass
|
for user_info in user_info_pool:
|
||||||
|
if (user_info['refresh_login'].get('enable')):
|
||||||
|
scheduler.append(
|
||||||
|
f'kgmusic_refresh_login_pooled_{user_info["userid"]}', refresh_login_for_pool, user_info['refresh_login']['interval'], args = {'user_info': user_info})
|
||||||
|
|
||||||
if (variable.use_cookie_pool):
|
if (variable.use_cookie_pool):
|
||||||
# TODO
|
reg_refresh_login_pool_task()
|
||||||
pass
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user