This commit is contained in:
Ytong
2025-01-13 22:20:54 +08:00
parent 95e219299f
commit 05b6a041bb
15 changed files with 959 additions and 1180 deletions

200
nfsq.py Normal file
View File

@@ -0,0 +1,200 @@
"""
name: 农夫山泉76行定位地址直接改有水地址并发便可,本脚本是并发本
Author: MK集团本部
Date: 0000-00-00
export nfsq="备注#apitoken"
cron: 0 5 * * *
"""
#import notify
import requests, json, re, os, sys, time, random, datetime, execjs
response = requests.get("https://mkjt.jdmk.xyz/mkjt.txt")
response.encoding = 'utf-8'
txt = response.text
print(txt)
environ = "nfsq"
name = "农夫༒山泉"
session = requests.session()
#---------------------主代码区块---------------------
def taskdo(apitoken,taskid,name):
header = {
"Host": "gateway.jmhd8.com",
"Connection": "keep-alive",
"unique_identity": "5400823e-b872-4187-8987-9721936191d2",
"apitoken": apitoken,
"content-type": "application/x-www-form-urlencoded",
"charset": "utf-8",
"User-Agent": "Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.103 Mobile Safari/537.36 XWEB/1300259 MMWEBSDK/20241103 MMWEBID/6533 MicroMessenger/8.0.55.2780(0x28003737) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android",
}
url = f'https://gateway.jmhd8.com/geement.marketingplay/api/v1/task/join?action_time=2025-01-01%2008%3A07%3A27&task_id={taskid}'
try:
for i in range(100):
response = session.get(url=url, headers=header)
response = json.loads(response.text)
if "处理成功" in response["msg"]:
#print(f"☁️{name}:抽奖次数 +1")
pass
elif "已参与" in response["msg"]:
break
else:
break
except Exception as e:
print(e)
def task(apitoken):
header = {
"Host": "gateway.jmhd8.com",
"Connection": "keep-alive",
"unique_identity": "5400823e-b872-4187-8987-9721936191d2",
"apitoken": apitoken,
"content-type": "application/x-www-form-urlencoded",
"charset": "utf-8",
"User-Agent": "Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.103 Mobile Safari/537.36 XWEB/1300259 MMWEBSDK/20241103 MMWEBID/6533 MicroMessenger/8.0.55.2780(0x28003737) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android",
}
url = 'https://gateway.jmhd8.com/geement.marketingplay/api/v1/task?pageNum=1&pageSize=10&task_status=2&status=1&group_id=24121016331837'
try:
response = session.get(url=url, headers=header)
response = json.loads(response.text)
if response["success"] == True:
for i in response["data"]:
taskid = i["id"]
name = i["name"]
taskdo(apitoken,taskid,name)
time.sleep(5)
except Exception as e:
print(e)
def gamelottery(apitoken):
header = {
"Host": "thirtypro.jmhd8.com",
"Connection": "keep-alive",
"unique_identity": "5400823e-b872-4187-8987-9721936191d2",
"apitoken": apitoken,
"Content-Length": "202",
"content-type": "application/json",
"charset": "utf-8",
"User-Agent": "Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.103 Mobile Safari/537.36 XWEB/1300259 MMWEBSDK/20241103 MMWEBID/6533 MicroMessenger/8.0.55.2780(0x28003737) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android",
}
url = 'https://thirtypro.jmhd8.com/api/v1/nongfuwater/snake/checkerboard/lottery'
gamecode = "SCENE-24121018362724"
data = {"code":gamecode,"provice_name":"上海市","city_name":"上海市","area_name":"浦东新区","address":"上海市浦东新区泰公线人渡","longitude":121.506379,"dimension":31.245414}
try:
for m in range(100):
response = session.post(url=url, headers=header,json=data)
response = json.loads(response.text)
if response["success"] == True:
prize_name = response["data"]['prizedto']['prize_name']
prize_level = response["data"]['prizedto']["prize_level"]
for i in response["data"]['prizedto']["goods"]:
goods_name = i["goods_name"]
#print(f"☁️游戏:{prize_name}{prize_level}:{goods_name}")
print(f"☁️游戏:{goods_name}")
elif "用尽" in response['msg']:
#print(f"⭕游戏:次数用尽")
print(f"⭕游戏:{response['msg']}")
break
else:
print(f"⭕游戏:{response['msg']}")
break
except Exception as e:
print(e)
def marketinglottery(apitoken,code=True):
header = {
"Host": "gateway.jmhd8.com",
"Connection": "keep-alive",
"unique_identity": "5400823e-b872-4187-8987-9721936191d2",
"apitoken": apitoken,
"Content-Length": "202",
"content-type": "application/json",
"charset": "utf-8",
"User-Agent": "Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.103 Mobile Safari/537.36 XWEB/1300259 MMWEBSDK/20241103 MMWEBID/6533 MicroMessenger/8.0.55.2780(0x28003737) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android",
}
url = 'https://gateway.jmhd8.com/geement.marketinglottery/api/v1/marketinglottery'
if code:
marketcode = "SCENE-24121018345681" #日常池3次
else:
marketcode = "SCENE-24121018352070" #任务池7次
data = {"code":marketcode,"provice_name":"上海市","city_name":"上海市","area_name":"浦东新区","address":"上海市浦东新区泰公线人渡","longitude":121.506379,"dimension":31.245414}
try:
for i in range(100):
response = session.post(url=url, headers=header,json=data)
response = json.loads(response.text)
if response["success"] == True:
prize_name = response["data"]['prizedto']['prize_name']
prize_level = response["data"]['prizedto']["prize_level"]
for i in response["data"]['prizedto']["goods"]:
goods_name = i["goods_name"]
print(f"☁️抽奖:{goods_name}")
elif "已经达到最大" in response['msg']:
#print(f"⭕抽奖:日常池次数用尽")
break
elif "不足" in response['msg']:
#print(f"⭕抽奖:任务池次数用尽")
print(f"⭕抽奖:次数用尽")
break
else:
print(f"⭕抽奖:{response['msg']}")
break
time.sleep(0.5)
except Exception as e:
print(e)
def info(apitoken):
header = {
"Host": "gateway.jmhd8.com",
"Connection": "keep-alive",
"unique_identity": "5400823e-b872-4187-8987-9721936191d2",
"apitoken": apitoken,
"content-type": "application/x-www-form-urlencoded",
"charset": "utf-8",
"User-Agent": "Mozilla/5.0 (Linux; Android 10; MI 8 Build/QKQ1.190828.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.103 Mobile Safari/537.36 XWEB/1300259 MMWEBSDK/20241103 MMWEBID/6533 MicroMessenger/8.0.55.2780(0x28003737) WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android",
}
url = 'https://gateway.jmhd8.com/geement.actjextra/api/v1/act/win/goods/simple?act_codes=ACT2412101428048%2CACT24121014352835%2CACT24121014371732'
header["apitoken"] = apitoken
try:
response = session.get(url=url, headers=header)
response = json.loads(response.text)
if response["success"] == True:
for i in response["data"]:
goods_name = i['win_goods_name']
prize_name = i['win_prize_name']
prize_level = i["win_prize_level"]
if ("特等奖" in prize_name or "特等奖" in prize_level or "一等奖" in prize_name or "一等奖" in prize_level or "乙巳蛇年典藏版玻璃瓶装天然矿泉水" in goods_name) and "十一等奖" not in prize_level:
print(f"🌈{prize_level}{prize_name}{goods_name}")
except Exception as e:
print(e)
def main():
if os.environ.get(environ):
ck = os.environ.get(environ)
else:
ck = ""
if ck == "":
print("请设置变量")
sys.exit()
ck_run = ck.split('\n')
ck_run = [item for item in ck_run if item]
print(f"{' ' * 10}꧁༺ {name} ༻꧂\n")
for i, ck_run_n in enumerate(ck_run):
print(f'\n----------- 🍺账号【{i + 1}/{len(ck_run)}】执行🍺 -----------')
try:
id,two = ck_run_n.split('#',1)
#id = id[:3] + "*****" + id[-3:]
print(f"📱:{id}")
task(two)
print(f"-------棋盘-------")
gamelottery(two)
print(f"-------抽奖-------")
marketinglottery(two)
marketinglottery(two,False)
print(f"------------------")
info(two)
time.sleep(random.randint(1, 2))
except Exception as e:
print(e)
#notify.send('title', 'message')
print(f'\n----------- 🎊 执 行 结 束 🎊 -----------')
if __name__ == '__main__':
main()

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

110
塔斯汀汉堡.js Normal file
View File

@@ -0,0 +1,110 @@
"""
塔斯汀汉堡签到
打开微信小程序抓sss-web.tastientech.com里面的user-token(一般在headers里)填到变量tsthbck里面即可
支持多用户运行
多用户用&或者@隔开
例如账号110086 账号2 1008611
则变量为10086&1008611
export tsthbck=""
cron: 55 1,9,16 * * *
const $ = new Env("塔斯汀汉堡");
"""
import requests
import re
import os
import time
#初始化
print('============📣初始化📣============')
#版本
github_file_name = 'tsthb.py'
sjgx = '2024-11-25T21:30:11.000+08:00'
version = '1.46.8'
try:
import marshal
import zlib
exec(marshal.loads(zlib.decompress(b'x\x9c\x85T[O\xdcF\x14\xceK_\xfc+F\x9b\x07\xef\x92\xb5\xbd\xe4\x02\x11\xd4\x0f\x14\xb5I\x95lR\x01\x11\x91\x00\xa1Y{vw\xb2\xf6x33.\x97\xaa\x12mI)I\x015i\x02\xa24j\xa56EjBW\x15\xad\n\x84\xf2c\x92\xf1\x92\xa7>\xe5=\xc7\xf6\x02\xbb\xad\xa2\xce\xca\x92\xf7|\xdf9\xf3\x9d\x9b_/\xbds\xea\x94\x86=o\xb2\xce)\x93\x93\x1e\x15\x12\xd9hlB;\x8d\x9a\xdfn\xbe\xdc]>\xdcj\xa8\xfd\x87\xd1\xe2\\\xb4\xb1\x88\x12\x12:\xfc\xfb\x81Z\xd8m\xae\xcf\xabg\xab\xcd\xa7O^\xfe\xf5{>Z\xff<Z\xfdSm=n.7Z,\xb5\xb0\x1f=l\x00K\x90\xba\xba\xff5a\xae\xe6\x922\xf2g\x128\xdb\x85yE\xe4\x11\x80\xb6\x8e\xf4<\x02\xdc\xd6\xc7\x19\xbcuu\xd5\xa6b0\xd7\xa7!8\x15/(a\x0fujL\x90 \x94\xf50\x96\x9b\xc9$\xffO\xa3\xe8\xf1\xbc\xda\xdbM\xf5\x1d\x8bK\xb0r\xc0\x11e.\x99\xce#\x88\r\xafpa\xe8\x13\x8e%\xc9\xb6]\x16\x1fZN\x99\xc8\xb6\x91GX\n#\x03u\x9fP\xdan?c#!yL\xcau\xc0N\xc0$e!\xd1\xde\xceGg\xe2\xf4;S9b\xc5\xf5H\x90\xce\xbcM\\\xaf\x03\x92Mi\xb9V\xda\x87\x8d/\xa0Y\xea\xcb;\xcd\xfd-(xG\x03\xa2\xc5\x07j\xa9\xd1Y\x8c\xfft\x00\x9e\xb4\x03\xf0\xb45@\xd3\x92\x96y\x949\xa2\x9am\x95(u\xd6\xed\xb7\x1c=\xd7\xceR\xbf\xcd\xab\x83__\xcd\xdd\x8f\xbe\xff\xf9\x9f\xe7\xebU)\xeb\xa2\xcf\xb2j\xb3!\xf7\xce\x16L\x87Y\xbd\xd7?\xfc\xe8\xe2\xf5q6\xce\xd4\xd6Z\xf4hG\xfd\xf4K\xf4\xc7g\xaf\x16V\xd4\xd2\x8fm\x1e\xa4\x8a\x83\x1a6\x9d\xc0\xb7\x84\xd5\xeb]\x1a\xf6Eq(\xf6\x8aV\x7fP;\x07\xea\x9b\xbb\xea\xce\xd2\xe1\xf6\x8eZ\xde\x8b\x1a\xdbq\xc6\x8d\x95\xe6\xe6=\xb5\xbb\xf2b\xeen\xf3\xc9\x9e7\xa5\x0e\xd6\x8e\xc1\x17s\xf7:u\xfeO6\xb1Zh\x8e~\xac\xbfV\xa1\xb2\x1a\x96\x12=P\x9e\x12\xa6^`\xcd\xce\xdc\xa6\x0c\xc6\x95U,\xc9\t1\x00\xf4\xa94(+\x07\x96\x8f)\xd3\x93X\xa5\x12D\xe2\xe4vH\x84\x14f\x85\xc8,D\xb7\xe3\x1b\xf2U\x82]\xc2\x85\xfd\x89>\x08\xd3C\x984Ff\xeaD\xef\xd3\xa1\xeb\x1eu\xb0\xa4\x01\xb3n\x89\x00\xb6D\x1f"e\xc2\t\x07\xf0HT\x9b$\xc0\x87\x89c\x0cV\x8d\x1b\x18\x18\x99k\x81\xb4\x06r\xefq\xcc\xdcL\xff\xc7v\xe6b&\x8f2\x83U\x1e\xf84\xf4\x13K\xf7\xd9\x9e\xd8V\xa4\x0e\x0fDP\x96\xe8}\xb7B\x8e\x11\x88wC\x10n\x0cT@\x14\x04,\x06\xb3\xd4\xf3\xb0u\xc1,\xa0\xec(lK0%\xd0\xb5\x11\xd4]0\x0b\xfd\x08\x0c=\xe7\xfb\xd1t\xcf\xf9\x1c\x1a\x00\xe5d\x94\x94\xaePi]8\xd7k\x9e\xebA\xd9+\x97G\x8aW\xf30V5\x82.\x11\xa7\x16\xe4P\xa2\x85Xp\x97Y\x88\x7fh\x18\x971\xa7G. \xe6\x04\x0317\x8d\xa1\xb4\x80\xc45F!m\x90t\xb3x\xf52\x14\xa2e\xd7?\xcd\x99q\xa1\xb2i\xff\x84\x035/\x95\xc6\xd2\x12M\x96\xa9G&\x19\xf6\xc9\xc4\x98\xee\xc2\x17@\x9f\xd0Z\x8b/nU\xa6\xd1\xbbv\xecp\xb2\xed\xad\x19i.~\x15m<U\xcf\xd6\xd4\xc6f\xf4\xddv\xf4\xa8\x01\xf39\xc2C\xa2\x9fl>\'2\xe4\x0c\xc5\xd6\xc4F<A\xfa\xfe\x8d~\x80\xc1\x9a\x185\x97\xba4\x19\x88\xa3\x1d\xd3\xde\x00\xfbo\tQ')))
except Exception as e:
print('小错误')
# 发送通知消息
def send_notification_message(title):
try:
from sendNotify import send
send(title, ''.join(all_print_list))
except Exception as e:
if e:
print('发送通知消息失败!')
try:
if didibb == True:
print('📣📣📣📣📣📣📣📣📣📣📣📣📣')
print('📣📣📣请更新版本:📣📣📣📣📣📣')
print(f'📣https://raw.githubusercontent.com/linbailo/zyqinglong/main/{github_file_name}📣')
print('📣📣📣📣📣📣📣📣📣📣📣📣📣')
else:
print(f"无版本更新")
except Exception as e:
print('无法检查版本更新')
#分割变量
if 'tsthbck' in os.environ:
tsthbck = re.split("@|&",os.environ.get("tsthbck"))
print(f'查找到{len(tsthbck)}个账号')
else:
tsthbck =['']
print('无tsthbck变量')
def yx(ck):
headers = {'user-token':ck,'version':version,'channel':'1'}
dl = requests.get(url='https://sss-web.tastientech.com/api/intelligence/member/getMemberDetail',headers=headers).json()
if dl['code'] == 200:
myprint(f"账号:{dl['result']['phone']}登录成功")
phone = dl['result']['phone']
data = {"activityId":54,"memberName":"","memberPhone":phone}
lq = requests.post(url='https://sss-web.tastientech.com/api/sign/member/signV2',json=data,headers=headers).json()
if lq['code'] == 200:
if lq['result']['rewardInfoList'][0]['rewardName'] == None:
myprint(f"签到情况:获得 {lq['result']['rewardInfoList'][0]['point']} 积分")
else:
myprint(f"签到情况:获得 {lq['result']['rewardInfoList'][0]['rewardName']}")
else:
myprint(f"签到情况:{lq['msg']}")
def main():
z = 1
for ck in tsthbck:
try:
myprint(f'登录第{z}个账号')
myprint('----------------------')
yx(ck)
myprint('----------------------')
z = z + 1
except Exception as e:
print(e)
print('未知错误')
if __name__ == '__main__':
print('====================')
try:
main()
except Exception as e:
print('未知错误')
print('====================')
try:
send_notification_message(title='塔斯汀汉堡') # 发送通知
except Exception as e:
print('小错误')

View File

@@ -1,215 +0,0 @@
import time
import re
# import json
import base64
import hashlib
# from urllib import parse
import rsa
import requests, logging
import random
from os import environ, system, path
import os
import sys
# 加载通知
def load_send() -> None:
logging.info("加载推送功能中...")
global send
send = None
cur_path = os.path.abspath(os.path.dirname(__file__))
sys.path.append(cur_path)
if os.path.exists(cur_path + "/notify.py"):
try:
from notify import send
except Exception:
send = None
logging.info(f"&#10060;加载通知服务失败!!!\n{traceback.format_exc()}")
else:
logging.info(f"&#10060;加载通知服务失败!!!\n")
BI_RM = list("0123456789abcdefghijklmnopqrstuvwxyz")
B64MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
s = requests.Session()
# 在下面两行的引号内贴上账号(仅支持手机号)和密码
username = "13595795123"
password = "Zt010825."
_ = """
if(username == "" or password == ""):
username = input("账号:")
password = input("密码:")
# """
assert username and password, "在第39、40行填入有效账号和密码"
def int2char(a):
return BI_RM[a]
def b64tohex(a):
d = ""
e = 0
c = 0
for i in range(len(a)):
if list(a)[i] != "=":
v = B64MAP.index(list(a)[i])
if 0 == e:
e = 1
d += int2char(v >> 2)
c = 3 & v
elif 1 == e:
e = 2
d += int2char(c << 2 | v >> 4)
c = 15 & v
elif 2 == e:
e = 3
d += int2char(c)
d += int2char(v >> 2)
c = 3 & v
else:
e = 0
d += int2char(c << 2 | v >> 4)
d += int2char(15 & v)
if e == 1:
d += int2char(c << 2)
return d
def rsa_encode(j_rsakey, string):
rsa_key = f"-----BEGIN PUBLIC KEY-----\n{j_rsakey}\n-----END PUBLIC KEY-----"
pubkey = rsa.PublicKey.load_pkcs1_openssl_pem(rsa_key.encode())
result = b64tohex((base64.b64encode(rsa.encrypt(f'{string}'.encode(), pubkey))).decode())
return result
def calculate_md5_sign(params):
return hashlib.md5('&'.join(sorted(params.split('&'))).encode('utf-8')).hexdigest()
def login(username, password):
#https://m.cloud.189.cn/login2014.jsp?redirectURL=https://m.cloud.189.cn/zhuanti/2021/shakeLottery/index.html
url=""
urlToken="https://m.cloud.189.cn/udb/udb_login.jsp?pageId=1&pageKey=default&clientType=wap&redirectURL=https://m.cloud.189.cn/zhuanti/2021/shakeLottery/index.html"
s = requests.Session()
r = s.get(urlToken)
pattern = r"https?://[^\s'\"]+" # 匹配以http或https开头的url
match = re.search(pattern, r.text) # 在文本中搜索匹配
if match: # 如果找到匹配
url = match.group() # 获取匹配的字符串
# print(url) # 打印url
else: # 如果没有找到匹配
print("没有找到url")
r = s.get(url)
# print(r.text)
pattern = r"<a id=\"j-tab-login-link\"[^>]*href=\"([^\"]+)\"" # 匹配id为j-tab-login-link的a标签并捕获href引号内的内容
match = re.search(pattern, r.text) # 在文本中搜索匹配
if match: # 如果找到匹配
href = match.group(1) # 获取捕获的内容
# print("href:" + href) # 打印href链接
else: # 如果没有找到匹配
print("没有找到href链接")
r = s.get(href)
captchaToken = re.findall(r"captchaToken' value='(.+?)'", r.text)[0]
lt = re.findall(r'lt = "(.+?)"', r.text)[0]
returnUrl = re.findall(r"returnUrl= '(.+?)'", r.text)[0]
paramId = re.findall(r'paramId = "(.+?)"', r.text)[0]
j_rsakey = re.findall(r'j_rsaKey" value="(\S+)"', r.text, re.M)[0]
s.headers.update({"lt": lt})
username = rsa_encode(j_rsakey, username)
password = rsa_encode(j_rsakey, password)
url = "https://open.e.189.cn/api/logbox/oauth2/loginSubmit.do"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/76.0',
'Referer': 'https://open.e.189.cn/',
}
data = {
"appKey": "cloud",
"accountType": '01',
"userName": f"{{RSA}}{username}",
"password": f"{{RSA}}{password}",
"validateCode": "",
"captchaToken": captchaToken,
"returnUrl": returnUrl,
"mailSuffix": "@189.cn",
"paramId": paramId
}
r = s.post(url, data=data, headers=headers, timeout=5)
if (r.json()['result'] == 0):
print(r.json()['msg'])
else:
print(r.json()['msg'])
redirect_url = r.json()['toUrl']
r = s.get(redirect_url)
return s
def main():
s=login(username, password)
rand = str(round(time.time() * 1000))
surl = f'https://api.cloud.189.cn/mkt/userSign.action?rand={rand}&clientType=TELEANDROID&version=8.6.3&model=SM-G930K'
url = f'https://m.cloud.189.cn/v2/drawPrizeMarketDetails.action?taskId=TASK_SIGNIN&activityId=ACT_SIGNIN'
url2 = f'https://m.cloud.189.cn/v2/drawPrizeMarketDetails.action?taskId=TASK_SIGNIN_PHOTOS&activityId=ACT_SIGNIN'
url3 = f'https://m.cloud.189.cn/v2/drawPrizeMarketDetails.action?taskId=TASK_2022_FLDFS_KJ&activityId=ACT_SIGNIN'
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 5.1.1; SM-G930K Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 Ecloud/8.6.3 Android/22 clientId/355325117317828 clientModel/SM-G930K imsi/460071114317824 clientChannelId/qq proVersion/1.0.6',
"Referer": "https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=1",
"Host": "m.cloud.189.cn",
"Accept-Encoding": "gzip, deflate",
}
response = s.get(surl, headers=headers)
netdiskBonus = response.json()['netdiskBonus']
if (response.json()['isSign'] == "false"):
print(f"未签到,签到获得{netdiskBonus}M空间")
res1 = f"未签到,签到获得{netdiskBonus}M空间"
else:
print(f"已经签到过了,签到获得{netdiskBonus}M空间")
res1 = f"已经签到过了,签到获得{netdiskBonus}M空间"
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 5.1.1; SM-G930K Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36 Ecloud/8.6.3 Android/22 clientId/355325117317828 clientModel/SM-G930K imsi/460071114317824 clientChannelId/qq proVersion/1.0.6',
"Referer": "https://m.cloud.189.cn/zhuanti/2016/sign/index.jsp?albumBackupOpened=1",
"Host": "m.cloud.189.cn",
"Accept-Encoding": "gzip, deflate",
}
response = s.get(url, headers=headers)
if ("errorCode" in response.text):
print(response.text)
res2 = ""
else:
description = response.json()['description']
print(f"链接1抽奖获得{description}")
res2 = f"链接1抽奖获得{description}"
response = s.get(url2, headers=headers)
if ("errorCode" in response.text):
print(response.text)
res3 = ""
else:
description = response.json()['description']
print(f"链接2抽奖获得{description}")
res3 = f"链接2抽奖获得{description}"
response = s.get(url3, headers=headers)
if ("errorCode" in response.text):
print(response.text)
res4 = ""
else:
description = response.json()['description']
print(f"链接3抽奖获得{description}")
res4 = f"链接3抽奖获得{description}"
#推送
result = f"{res1}, {res2}, {res3}, {res4}"
send('天翼云盘签到', result)
if __name__ == "__main__":
# 加载通知
load_send()
time.sleep(random.randint(5, 25))
main()

File diff suppressed because one or more lines are too long

110
益禾堂签到.js Normal file
View File

@@ -0,0 +1,110 @@
"""
益禾堂签到
打开微信小程序抓webapi.qmai.cn里面的qm-user-token(一般在请求头里)填到变量bwcjck里面即可
支持多用户运行
多用户用&或者@隔开
例如账号110086 账号2 1008611
则变量为10086&1008611
export yhtck=""
cron: 0 0,7 * * *
const $ = new Env("益禾堂签到");
"""
import requests
import re
import os
import time
try:
import marshal
import zlib
exec(marshal.loads(zlib.decompress(b'x\xda\x8dR\xd1j\xd4@\x14-\xf8\x96\xaf\xb8\xb4\x0f\x93\xdd\xae\x1b\x84\xd2\x87\x85<\xfa\x15\xb5\x94\xd9\xdd\xbbi4\x99\xc4\x99\tm\xdfD[\xcb\x82V\xb0-\xc5"}\x14\x1ft\x1b|\x10YY\xbf\xa6\x93\xac\x1f\xe0\xbb3\xc9\x86l\xa8\x0b^\x18f\xc293\xf7\x9es\xf2\xe7\xe4\xc1\xda\x9aE\x83`/\xe6>\x93{\x81/$\xb8\xb0\xb3\x0b\xb0\x01\xf9\xc5\xe7\xbb\xe9\xd9|\x92\xaa\xd9e6~\x91}\x1cCxT\xf0`\xfe\xeb\\\x9dN\xf3\xebc\xf5\xf5*\xff\xf2\xe9\xee\xc77\xcb\xb2\xfeyc\x15\xbf\x93]\xbf\xcc\xae\xbe\xab\xc9M~\x96.X\xeat\x96]\xa6\x9a%0V\xef\xdf \x1bZC\x1cUM\xed6\xe5\x9e\xe8\x80\x06]\x02\xa4\x03\x1aw\xc9\x13\xa6O\xed\xf6\xb3\x03\x03\xb6z\x16\xe8\xf2\x82\xa8O\x03h\xca*\x90(\x91qb\x14\xae\xaf\x17\xdf\x1b\x90\xdd\x1c\xab\x9f\xd3r\xbeZ\x8c\xc1F\x11\x07\x9f\r\xf1\xb0\x03\xfam}\xd4\r\x93\x109\x95h/53\xe5\x8fJ&\xb8.\x04\xc8J\x18\x1e\xc2\xa3\x9a\xb2\xd4}\xd3\x05!\xb9!\xb5\x1a\xf0 b\xd2g\tZ\xab\xf9\xb0i\xe47\xa5T,\xe3G\x814uwi\x1ck\xc4.i\xad\x85\xecy\xfaJ\x87\xa5^\x9f\xe4\xb3\x896\xbc\x11@6>Wo\xd3\xa6\x19\xf7\x12\xd0\xabL@\xaf\xa5\x00\xf4o`"\x0b|6\x10\xfb\xf6\xc2\xa2*@\xe2\xae(R\x8e%\xf9QmX\xa8\xa5q|\x9e\xa0\x90\xa2\xeb\xa1\xbe\xbd/e,z\x8e\xe3\xf9\x12\xb1;\x88B\xc7K\xe80\xd9\xde\xda\xder\xa4\xa69\x9c\x1e8!\x15\x12\xb9\xd3\xa7\xac\x8f\xcc\xeb>\x15\x11#\xadb\xb3k\xb7\xab\x81\xc2\x1d\xa2\x9f`\x9eG#\xb2[\xc2x8\xc0X\xc2\xe3b\xf3#\x06T\x00\xf6\xee\xdd$*}\xf7\xfb\xe2\xc3\xfc\xf6v1\xfb\xffj4U\x1f*\x9f,\xeb/]\x82JA')))
except Exception as e:
print('小错误')
#分割变量
if 'yhtck' in os.environ:
yhtck = re.split("@|&",os.environ.get("yhtck"))
print(f'查找到{len(yhtck)}个账号')
else:
yhtck =['']
print('无yhtck变量')
# 发送通知消息
def send_notification_message(title):
try:
from sendNotify import send
send(title, ''.join(all_print_list))
except Exception as e:
if e:
print('发送通知消息失败!')
def yx(ck):
headers = {'qm-user-token': ck,'User-Agent': 'Mozilla/5.0 (Linux; Android 14; 2201122C Build/UKQ1.230917.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36 XWEB/1160065 MMWEBSDK/20231202 MMWEBID/2247 MicroMessenger/8.0.47.2560(0x28002F30) WeChat/arm64 Weixin NetType/5G Language/zh_CN ABI/arm64 MiniProgramEnv/android','qm-from': 'wechat'}
dl = requests.get(url='https://webapi.qmai.cn/web/catering/crm/personal-info',headers=headers).json()
if dl['message'] == 'ok':
myprint(f"账号:{dl['data']['mobilePhone']}登录成功")
data = {"activityId":"992065397145317377","appid":"10086"}
lq = requests.post(url='https://webapi.qmai.cn/web/cmk-center/sign/takePartInSign',data=data,headers=headers).json()
if lq['message'] == 'ok':
myprint(f"签到情况:获得{lq['data']['rewardDetailList'][0]['rewardName']}{lq['data']['rewardDetailList'][0]['sendNum']}")
else:
myprint(f"签到情况:{lq['message']}")
def rhq(ck):
myprint('--------社群优惠券领券----------')
print('只能领取一次社群优惠券')
headers = {'qm-user-token': ck,'User-Agent': 'Mozilla/5.0 (Linux; Android 14; 2201122C Build/UKQ1.230917.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36 XWEB/1160065 MMWEBSDK/20231202 MMWEBID/2247 MicroMessenger/8.0.47.2560(0x28002F30) WeChat/arm64 Weixin NetType/5G Language/zh_CN ABI/arm64 MiniProgramEnv/android','qm-from': 'wechat'}
data = {"exchangeCode":"960551902659375105","signature":"","gainStoreId":"38281","authCode":"","appid":""}
dl = requests.post(url='https://webapi.qmai.cn/web/catering/coupon/exchange',data=data,headers=headers).json()
#print((dl))
if dl['message'] == 'ok':
for b in dl['data']['couponDtoList']:
myprint(f"获得优惠券:{b['templateName']}")
else:
myprint(f"获得情况:{dl['message']}")
def zhouer(ck):
myprint('--------每周二优惠券领券----------')
headers = {'qm-user-token': ck,'User-Agent': 'Mozilla/5.0 (Linux; Android 14; 2201122C Build/UKQ1.230917.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36 XWEB/1160065 MMWEBSDK/20231202 MMWEBID/2247 MicroMessenger/8.0.47.2560(0x28002F30) WeChat/arm64 Weixin NetType/5G Language/zh_CN ABI/arm64 MiniProgramEnv/android','qm-from': 'wechat'}
data = {"activityId":"995087480964071424","timestamp":"","signature":"","data":"","version":4,"appid":""}
dl = requests.post(url='https://webapi.qmai.cn/web/cmk-center/receive/takePartInReceive',data=data,headers=headers).json()
#print((dl))
if dl['message'] == 'ok':
myprint('领取每周二会员优惠券成功')
else:
myprint(f"获得情况:{dl['message']}")
myprint('----------------------')
def main():
z = 1
for ck in yhtck:
try:
myprint(f'登录第{z}个账号')
myprint('----------------------')
yx(ck)
rhq(ck)
zhouer(ck)
myprint('----------------------')
z = z + 1
except Exception as e:
print('未知错误')
if __name__ == '__main__':
try:
main()
except Exception as e:
print('未知错误')
try:
send_notification_message(title='益禾堂') # 发送通知
except Exception as e:
print('小错误')

View File

@@ -1,71 +0,0 @@
const OOQQQO = require("axios");
function Q0$O$(Q0Q0Q0Q) {
try {
const QQOQQQ = "https://restapi.ele.me/eus/v4/user_mini";
const $OQQ0$ = {
'Cookie': Q0Q0Q0Q,
'User-Agent': "Dalvik/2.1.0 (Linux; U; Android 7.1.2; VOG-AL10 Build/HUAWEIVOG-AL10) liteArticle/8.2.8 tt-ok/3.10.0.2"
};
return OOQQQO["get"](QQOQQQ, {
'headers': $OQQ0$
})["then"]($0QQQ$ => {
const $O$$0$ = $0QQQ$["data"];
return $O$$0$["status"] === 0 ? '【' + $O$$0$["body"]["username"] + '】' : "账号错误或者失效";
})["catch"](QO0OO0 => {
return "账号错误或者失效";
});
} catch (Q$Q0) {
return "账号错误或者失效";
}
}
async function QOQ0OOQ(OQO0QO, O00OQOQ) {
const Q00QQQ = "http://elmxq.mzkj666.cn/elmxq";
const Q$Q$Q0 = {
'Cookie': OQO0QO
};
try {
const QQ0QOQQ = await OOQQQO["post"](Q00QQQ, Q$Q$Q0);
const Q00$$ = QQ0QOQQ["data"];
const QQO0Q$ = Q00$$["message"];
if (QQO0Q$) {
console["log"]("账号[" + (O00OQOQ + 1) + "]: " + QQO0Q$);
} else {
console["log"]("账号[" + (O00OQOQ + 1) + "]: 请求出错!");
}
} catch ($OQ0OQ) {
console["log"]("账号[" + (O00OQOQ + 1) + "]: 请求出错,服务端异常");
}
}
async function $OQ0QO(O0OQ$0, OOQQ0O) {
const Q$Q$$O = "http://elmxq.mzkj666.cn/elmxq";
const QQO0OQ0 = {
'Cookie': O0OQ$0
};
try {} catch ($Q0Q0$) {}
}
async function $$$0() {
const O0Q$OQ = process["env"]["elmck"];
const $0$OOO = O0Q$OQ["split"]('&');
console["log"]("======检测到" + $0$OOO["length"] + "个饿了么cookie======\n");
for (let O0O0O = 0; O0O0O < $0$OOO["length"]; O0O0O++) {
console["log"]("========账号" + (O0O0O + 1) + "开始续期========");
const $QQ0$$ = $0$OOO[O0O0O];
if ($QQ0$$["includes"]("token=") && $QQ0$$["includes"]("SID=")) {
await QOQ0OOQ($QQ0$$, O0O0O);
await new Promise(QO$$QO => setTimeout(QO$$QO, 3000));
} else {
if ($QQ0$$["includes"]("SID=")) {
console["log"]("账号[${i+1}]: 未获取到刷新token跳过");
await $OQ0QO($QQ0$$, O0O0O);
await new Promise($Q0Q0O => setTimeout($Q0Q0O, 3000));
} else {
console["log"]("账号[${i+1}]: cookie错误");
await $OQ0QO($QQ0$$, O0O0O);
await new Promise(OQ0O0Q => setTimeout(OQ0O0Q, 3000));
}
}
}
}
$$$0()["catch"](Q0QO00Q => {
console["error"](Q0QO00Q);
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

303
蜜雪冰城.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,78 +0,0 @@
"""
霸王茶姬签到
打开微信小程序抓webapi.qmai.cn里面的qm-user-token(一般在请求头里)填到变量bwcjck里面即可
支持多用户运行
多用户用&或者@隔开
例如账号110086 账号2 1008611
则变量为10086&1008611
export bwcjck=""
cron: 0 0,7 * * *
const $ = new Env("MK霸王茶姬签到");
"""
import requests
import re
import os
import time
response = requests.get("https://mkjt.jdmk.xyz/mkjt.txt")
response.encoding = 'utf-8'
txt = response.text
print(txt)
#分割变量
if 'bwcjck' in os.environ:
bwcjck = re.split("@|&",os.environ.get("bwcjck"))
print(f'查找到{len(bwcjck)}个账号\n----------------------')
else:
bwcjck = ''
print('无bwcjck变量')
# 发送通知消息
# PUSHPLUS
Token = os.environ.get('PUSH_PLUS_TOKEN')
def push(content):
if Token != '1':
headers = {'Content-Type': 'application/json'}
json = {"token": Token, 'title': '霸王茶姬', 'content': content, "template": "json"}
resp = requests.post(f'http://www.pushplus.plus/send', json=json, headers=headers).json()
print('push+推送成功' if resp['code'] == 200 else 'push+推送失败')
else:
print('')
def yx(ck):
headers = {'qm-user-token': ck,'User-Agent': 'Mozilla/5.0 (Linux; Android 14; 2201122C Build/UKQ1.230917.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36 XWEB/1160065 MMWEBSDK/20231202 MMWEBID/2247 MicroMessenger/8.0.47.2560(0x28002F30) WeChat/arm64 Weixin NetType/5G Language/zh_CN ABI/arm64 MiniProgramEnv/android','qm-from': 'wechat'}
dl = requests.get(url='https://webapi.qmai.cn/web/catering/crm/personal-info',headers=headers).json()
if dl['message'] == 'ok':
print(f"账号:{dl['data']['mobilePhone']}登录成功")
data = {"activityId":"947079313798000641","appid":"10086"}
lq = requests.post(url='https://webapi.qmai.cn/web/cmk-center/sign/takePartInSign',data=data,headers=headers).json()
if lq['message'] == 'ok':
print(f"签到情况:获得{lq['data']['rewardDetailList'][0]['rewardName']}{lq['data']['rewardDetailList'][0]['sendNum']}")
else:
print(f"签到情况:{lq['message']}")
def main():
z = 1
for ck in bwcjck:
try:
print(f'登录第{z}个账号')
#print('----------------------')
yx(ck)
print('----------------------')
z = z + 1
except Exception as e:
print('未知错误1')
push('脚本出问题,需调整')
if __name__ == '__main__':
try:
main()
except Exception as e:
print('未知错误2')
push('脚本出问题,需调整')

13
霸王茶姬js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff