Files
blusunny-qinglong/kuake.py
2024-09-05 19:58:42 +08:00

145 lines
4.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/python3
# -- coding: utf-8 --
# -------------------------------
# @Author : github@wd210010 https://github.com/wd210010/only_for_happly
# @Time : 2024/5/4 16:23
# -------------------------------
# cron "0 0 2 * * *" script-path=xxx.py,tag=匹配cron用
# const $ = new Env('夸克签到')
#搬运至https://github.com/BNDou/Auto_Check_In
#抓包浏览器访问-https://pan.quark.cn/ 并登录 抓取cookie全部 填入青龙变量 环境变量名为 COOKIE_QUARK多账户用 回车 或 && 分开
import os
import re
import sys
import requests
#推送函数
# 推送加
plustoken = os.getenv("plustoken")
def Push(contents):
# 推送加
headers = {'Content-Type': 'application/json'}
json = {"token": plustoken, 'title': '夸克签到', 'content': contents.replace('\n', '<br>'), "template": "json"}
resp = requests.post(f'http://www.pushplus.plus/send', json=json, headers=headers).json()
print('push+推送成功' if resp['code'] == 200 else 'push+推送失败')
# 获取环境变量
def get_env():
# 判断 COOKIE_QUARK是否存在于环境变量
if "COOKIE_QUARK" in os.environ:
# 读取系统变量以 \n 或 && 分割变量
cookie_list = re.split('\n|&&',os.environ.get('COOKIE_QUARK') ) #os.environ.get('COOKIE_QUARK')
else:
# 标准日志输出
print('❌未添加COOKIE_QUARK变量')
# send('夸克自动签到', '❌未添加COOKIE_QUARK变量')
# 脚本退出
sys.exit(0)
return cookie_list
class Quark:
def __init__(self, cookie):
self.cookie = cookie
def get_growth_info(self):
url = "https://drive-m.quark.cn/1/clouddrive/capacity/growth/info"
querystring = {"pr": "ucpro", "fr": "pc", "uc_param_str": ""}
headers = {
"content-type": "application/json",
"cookie": self.cookie
}
response = requests.get(url=url, headers=headers, params=querystring).json()
if response.get("data"):
return response["data"]
else:
return False
def get_growth_sign(self):
url = "https://drive-m.quark.cn/1/clouddrive/capacity/growth/sign"
querystring = {"pr": "ucpro", "fr": "pc", "uc_param_str": ""}
payload = {"sign_cyclic": True}
headers = {
"content-type": "application/json",
"cookie": self.cookie
}
response = requests.post(url=url, json=payload, headers=headers, params=querystring).json()
if response.get("data"):
return True, response["data"]["sign_daily_reward"]
else:
return False, response["message"]
def get_account_info(self):
url = "https://pan.quark.cn/account/info"
querystring = {"fr": "pc", "platform": "pc"}
headers = {
"content-type": "application/json",
"cookie": self.cookie
}
response = requests.get(url=url, headers=headers, params=querystring).json()
if response.get("data"):
return response["data"]
else:
return False
def do_sign(self):
msg = ""
# 验证账号
account_info = self.get_account_info()
if not account_info:
msg = f"\n❌该账号登录失败cookie无效"
else:
log = f" 昵称: {account_info['nickname']}"
msg += log + "\n"
# 每日领空间
growth_info = self.get_growth_info()
if growth_info:
if growth_info["cap_sign"]["sign_daily"]:
log = f"✅ 执行签到: 今日已签到+{int(growth_info['cap_sign']['sign_daily_reward'] / 1024 / 1024)}MB连签进度({growth_info['cap_sign']['sign_progress']}/{growth_info['cap_sign']['sign_target']})"
msg += log + "\n"
Push(contents=msg)
else:
sign, sign_return = self.get_growth_sign()
if sign:
log = f"✅ 执行签到: 今日签到+{int(sign_return / 1024 / 1024)}MB连签进度({growth_info['cap_sign']['sign_progress'] + 1}/{growth_info['cap_sign']['sign_target']})"
msg += log + "\n"
Push(contents=msg)
else:
msg += f"✅ 执行签到: {sign_return}\n"
return msg
def main():
msg = ""
global cookie_quark
cookie_quark = get_env()
print("✅检测到共", len(cookie_quark), "个夸克账号\n")
i = 0
while i < len(cookie_quark):
# 开始任务
log = f"🙍🏻‍♂️ 第{i + 1}个账号"
msg += log
# 登录
log = Quark(cookie_quark[i]).do_sign()
msg += log + "\n"
i += 1
print(msg)
return msg[:-1]
if __name__ == "__main__":
print("----------夸克网盘开始尝试签到----------")
main()
print("----------夸克网盘签到执行完毕----------")