首次提交

This commit is contained in:
xiaoge
2023-08-11 23:43:40 +08:00
parent 36b0b8e925
commit 055a255472
26 changed files with 13692 additions and 0 deletions

File diff suppressed because one or more lines are too long

16
ks.js Normal file

File diff suppressed because one or more lines are too long

18
ksdt.js Normal file

File diff suppressed because one or more lines are too long

13
wc.txt Normal file

File diff suppressed because one or more lines are too long

BIN
win-x.zip Normal file

Binary file not shown.

597
youshi.py Normal file
View File

@@ -0,0 +1,597 @@
"""
有柿自用版
by 偷CK的六舅哥
无限刷金币
搜索 done_whole_scene_task 抓该接口的url(...done_whole_scene_task?后的url)、cookie 、argus、ladon
cookies格式 ysck = "url#cookie#argus#ladon"
8.3 今日头条刷视频新增部分任务不黑一天4块左右
bug提交 https://t.me/jiangyutck
"""
import re
import requests,secrets,time,hashlib,string,random,json,os,sys
import datetime
from lib2to3.pygram import python_grammar_no_print_and_exec_statement
import os
import time
import random
import base64
import requests
import hashlib
import uuid
import json
now = str(round(time.time()*1000))
kami=""
cookies= os.getenv("ysck")
num = 10
class DY:
def __init__(self, cookie):
self.url = cookie.split("#")[0]
self.cookie = cookie.split("#")[1]
self.argus = cookie.split("#")[2]
self.ladon = cookie.split("#")[3]
def run(self):
jbsl = self.user()
jb1 = jbsl
print(f"========开始进行今日签到========")
point_ss , point_s = self.sign()
print(f"✅签到奖励金币--{point_s}")
print(f"✅签到奖励金币--{point_ss}")
tt = random.randint(10,25)
print(f"⚠️休息{tt}秒防止黑号~")
time.sleep(tt)
print(f"========开始进行吃饭赚钱========")
self.eat_coin()
tt = random.randint(10,25)
print(f"⚠️休息{tt}秒防止黑号~")
time.sleep(tt)
print(f"========开始进行奖励翻倍========")
self.readDouble()
tt = random.randint(10,25)
print(f"⚠️休息{tt}秒防止黑号~")
time.sleep(tt)
print(f"========开始进行阅读有奖========")
print(f"✅检测到配置,开始阅读{num}")
for im in range(num):
tt = random.randint(30,40)
print(f"⚠️等待{tt}秒开始阅读~")
time.sleep(tt)
im = im + 1
self.readJB(im)
tt = random.randint(10,25)
print(f"⚠️休息{tt}秒防止黑号~")
time.sleep(tt)
print(f"========开始账号查资产========")
jbsl = self.user()
jb2 = jbsl
jbzg = jb2 - jb1
print(f"========开始计算总收益========")
print(f"本次运行脚本共获得金币--{jbzg}")
def kami(self):
url = f"https://api2.2cccc.cc/apiv3/card_login&card={kami}&software=jrttkmo&center_id=17898"
response = requests.request("GET", url=url)
kamican = response.json().get('code')
if kamican == "1":
kamicans = response.json().get('data').get('less_time')
else:
kamicans = response.json().get('msg')
return kamicans , kamican
def kamidu(self,):
url = f"https://api2.2cccc.cc/apiv3/config&client_type=card&client_content={kami}&type=read&center_id=17898"
response = requests.request("GET", url=url)
if response.json().get('code') == "1":
if response.json().get('data').get('config') == "":
kamijqm = "检测到你是头次使用本脚本,即将获取机器码上传登记"
kamijqmyz = "检测到你是头次使用本脚本,即将获取机器码上传登记"
else:
kamijqm = "机器码获取成功!"
kamijqmyz = response.json().get('data').get('config')
return kamijqm , kamijqmyz
else:
kamijqm = "获取失败!"
kamijqmyz = "获取失败!"
return kamijqm , kamijqmyz
def kamiwrite(self,md55):
url = f"https://api2.2cccc.cc/apiv3/config&client_type=card&client_content={kami}&type=write&value={md55}&center_id=17898"
response = requests.request("GET", url=url)
if response.json().get('code') == "1":
kamijqmm = "登记成功!"
return kamijqmm
else:
kamijqmm = "未知错误!"
return kamijqmm
def get_mac_address(self):
mac=uuid.UUID(int = uuid.getnode()).hex[-12:]
print("获取机器码成功!")
return ":".join([mac[e:e+2] for e in range(0,11,2)])
def user(self):
url = f"https://api5-normal-lf.toutiaoapi.com/luckycat/gip/v1/page/profit?offset=0&share_page=profits_detail_page&income_type=2&num=300&key=score&{self.url}"
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("GET", url=url, headers=headers)
if response.status_code == 200:
if response.json().get("err_no") == 0:
jbjj = response.json().get('data').get('score_balance') / 33000
jbj = round(jbjj, 2)
print(f"当前金币:{response.json().get('data').get('score_balance')}金币(约为 {jbj} 元) 现金:{response.json().get('data').get('cash_balance')*0.01}")
jbsl = response.json().get('data').get('score_balance')
else:
print(f"获取用户信息出错{response.json()}")
jbsl = 0
else:
print("用户数据过期或者错误")
jbsl = 0
return jbsl
def sign(self):
url = f"https://api5-normal-lf.toutiaoapi.com/luckycat/gip/v1/daily/consume_sign_in/action?{self.url}"
payload = '{}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'user-agent': 'com.ss.android.article.news/9360 (Linux; U; Android 13; zh_CN; V2055A; Build/TP1A.220624.014; Cronet/TTNetVersion:85102f3e 2023-06-05 QuicVersion:4ad3af5d 2023-05-09)',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
point_s = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
point_ss = response.json().get('data').get('toast')
return point_s , point_ss
else:
point_ss = "已经上限了"
return point_s , point_ss
def eat_coin(self):
current_hour = time.localtime().tm_hour
if (5 <= current_hour <= 9) or (11 <= current_hour <= 14) or (17 <= current_hour <= 20) or (21 <= current_hour <= 24):
url = f"https://api5-normal-lf.toutiaoapi.com/luckycat/news/v1/eat/done_eat?_request_from=web&{self.url}"
body = "{}"
headers = {
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'Content-Type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.post(url, headers=headers, data=body)
if response.status_code == 200:
response_json = response.json()
if response_json.get("err_no") == 0:
score_amount2 = response_json.get('err_tips')
score_amount = response_json.get('data').get('score_amount')
print(f"✅吃饭赚钱金币--{score_amount2}")
print(f"✅吃饭赚钱金币--{score_amount}")
return True
else:
print(f"⚠️吃饭赚钱金币--该时间段已领取")
return True
else:
print(f"⚠️吃饭赚钱金币--请求失败")
return False
else:
print(f"⚠️吃饭赚钱金币--不在时间段内")
return False
def readDouble(self):
url = f"https://api5-normal-lf.toutiaoapi.com/luckycat/news/v1/activity/done_whole_scene_task?{self.url}"
payload = {}
payload = json.dumps(payload)
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers)
point_ssp = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
point_sp1 = response.json().get('data').get('score_amount_origin')
point_sp2 = response.json().get('data').get('score_amount_now')
print(f"✅阅读奖励奖励翻倍--{point_ssp}")
print(f"✅阅读奖励奖励翻倍--{point_sp1} >=== {point_sp2}")
else:
point_sp = "已经上限了"
print(f"⚠️阅读奖励奖励翻倍--{point_ssp}")
def readJB(self,im):
url = f"https://api5-normal-lf.toutiaoapi.com/luckycat/news/v1/activity/done_whole_scene_task?{self.url}"
payload = '{"group_id": "", "scene_key": "UgcInnerFeed","is_golden_egg": false}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
point_ssp = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
point_sp1 = response.json().get('data').get('score_amount')
point_sp2 = response.json().get('data').get('total_score_amount')
time = response.json().get('data').get('total_time') / 60
if response.json().get('data').get('toast') == None:
print(f"✅第{im}次阅读奖励金币--{point_ssp}")
print(f"✅第{im}次阅读奖励金币--{point_sp1},今日阅读金币:{point_sp2},当前阅读时间:{time}分钟")
else:
gg = response.json().get('data').get('toast').get('title')
gg2 = response.json().get('data').get('toast').get('title_desc')
it = re.finditer(r"已(.*?)币", gg)
for match in it:
print(f"✅阅读奖励金币--{match.group()},{gg2}")
print(f"✅第{im}次阅读奖励金币--{point_ssp}")
print(f"✅第{im}次阅读奖励金币--{point_sp1},今日阅读金币:{point_sp2},当前阅读时间:{time}分钟")
else:
point_sp = "已经上限了"
print(f"⚠️第{im}次阅读奖励金币--{point_ssp}")
def treasure_box(self):
url = f"https://api5-normal-lf.toutiaoapi.com/luckycat/gip/v1/daily/treasure_box/detail?{self.url}"
headers = {
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'Content-Type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
response_json = response.json()
if response_json.get("err_no") == 0 and response_json.get('data').get('left_seconds') != 0:
print(f"[开启宝箱]失败:还差{response_json.get('data').get('left_seconds')}")
return True
else:
url = f"https://api5-normal-lf.toutiaoapi.com/luckycat/gip/v1/daily/treasure_box/done?{self.url}"
body = "{\"auto_open\":false}"
headers = {
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'Content-Type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.post(url, headers=headers, data=body)
if response.status_code == 200:
response_json = response.json()
print(f"[开启宝箱]获得金币: {response_json.get('data').get('reward_amount')}")
return True
else:
print(f"请求失败")
return False
else:
print(f"请求失败")
return False
def xs_sign(self):
url = f"https://api5-normal-hl.toutiaoapi.com/luckycat/novel_sdk/v1/task/done/sign_in?{self.url}"
payload = '{}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
pointxss = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
pointxxss = response.json().get('data').get('amount')
return pointxss , pointxxss
else:
pointxxss = "已经上限了"
return pointxss , pointxxss
def eat(self):
url = f"https://api5-normal-hl.toutiaoapi.com/luckycat/news/v1/eat/done_eat?_request_from=web&{self.url}"
payload = '{}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
point_cf = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
point_cff = response.json().get('data').get('score_amount')
return point_cf , point_cff
else:
point_cff = "已经上限了"
return point_cf , point_cff
def get_step(self):
url = f"https://api5-normal-lq.toutiaoapi.com/luckycat/news/v1/task/done/excitation_ad/?{self.url}"
payload = '{"amount":691,"weight":0,"task_id":190,"is_post_login":false,"ad_from":"task","score_source":0,"content":"","ad_id":2,"ad_rit":"2","score_amount":691,"task_key":"excitation_ad\/","extra":{"task_name":"","track_id":"","stage_score_amount":[],"task_id":""},"image_url_light":"","image_url_button":"","ad_alias_position":"task","fixed":false,"image_url_coin":"","coin_count":691,"params_for_special":"luckydog_sdk","static_settings_version":50,"dynamic_settings_version":50,"poll_settings_version":0}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
pointstep = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
pointstepp = response.json().get('data').get('reward_amount')
return pointstep , pointstepp
else:
pointstepp = "已经上限了"
return pointstep , pointstepp
def eat_sp(self):
url = f"https://api5-normal-lq.toutiaoapi.com/luckycat/news/v1/task/done/excitation_ad/?{self.url}"
payload = '{"amount":691,"weight":0,"task_id":181,"is_post_login":false,"ad_from":"task","score_source":0,"content":"","ad_id":2,"ad_rit":"2","score_amount":691,"task_key":"excitation_ad\/","extra":{"task_name":"","track_id":"","stage_score_amount":[],"task_id":""},"image_url_light":"","image_url_button":"","ad_alias_position":"task","fixed":false,"image_url_coin":"","coin_count":691,"params_for_special":"luckydog_sdk","static_settings_version":50,"dynamic_settings_version":50,"poll_settings_version":0}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
point_cfs = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
point_cffs = response.json().get('data').get('reward_amount')
return point_cfs , point_cffs
else:
point_cffs = "已经上限了"
return point_cfs , point_cffs
def read(self):
url = f"https://api5-normal-hl.toutiaoapi.com/luckycat/news/v1/activity/done_whole_scene_task?{self.url}"
payload = '{"group_id": "","scene_key": "IndexTabFeed","is_golden_egg": false}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
point_read = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
point_readd = response.json().get('data').get('score_amount')
return point_readd , point_read
else:
point_readd = "已经上限了"
return point_readd , point_read
def kgg(self):
url = f"https://api5-normal-lq.toutiaoapi.com/luckycat/news/v1/task/done/excitation_ad/?{self.url}"
payload = '{"amount":691,"weight":0,"task_id":210,"is_post_login":false,"ad_from":"task","score_source":0,"content":"","ad_id":2,"ad_rit":"2","score_amount":691,"task_key":"excitation_ad\/","extra":{"task_name":"","track_id":"","stage_score_amount":[],"task_id":""},"image_url_light":"","image_url_button":"","ad_alias_position":"task","fixed":false,"image_url_coin":"","coin_count":691,"params_for_special":"luckydog_sdk","static_settings_version":50,"dynamic_settings_version":50,"poll_settings_version":0}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
pointgg = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
pointggg = response.json().get('data').get('reward_amount')
return pointgg , pointggg
else:
pointggg = "已经上限了"
return pointgg , pointggg
def open_box(self):
url = f"https://api5-normal-lq.toutiaoapi.com/luckycat/news/v1/task/done/excitation_ad/?{self.url}"
payload = '{"amount":691,"weight":0,"task_id":188,"is_post_login":false,"ad_from":"task","score_source":0,"content":"","ad_id":2,"ad_rit":"2","score_amount":691,"task_key":"excitation_ad\/","extra":{"task_name":"","track_id":"","stage_score_amount":[],"task_id":""},"image_url_light":"","image_url_button":"","ad_alias_position":"task","fixed":false,"image_url_coin":"","coin_count":691,"params_for_special":"luckydog_sdk","static_settings_version":50,"dynamic_settings_version":50,"poll_settings_version":0}'
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
point2 = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_tips") == "成功":
point = response.json().get('data').get('reward_amount')
return point2 , point
else:
point = "已经上限了"
return point2 , point
def open_boxlx(self):
url = f"https://api5-normal-lq.toutiaoapi.com/luckycat/news/v1/task/done/excitation_ad/?{self.url}"
payload = "{\"task_id\":225,\"exci_extra\":{\"cid\":1770200687669342,\"req_id\":\"20230701160644C93FF92F37A3A1714A5C\",\"rit\":80047},\"extra\":{\"stage_score_amount\":[],\"track_id\":\"\",\"draw_score_amount\":null,\"draw_track_id\":null,\"task_id\":\"\",\"task_name\":\"\",\"enable_fuzzy_amount\":false,\"custom_id\":null}}"
headers = {
'Host': 'api5-normal-lq.toutiaoapi.com',
'x-ss-req-ticket': now,
'x-vc-bdturing-sdk-version': '3.5.0.cn',
'sdk-version': '2',
'passport-sdk-version': '40452',
'x-tt-request-tag': 'n=0;s=-1;p=0',
'x-tt-store-region': 'cn-hn',
'x-tt-store-region-src': 'uid',
'x-ss-dp': '13',
'x-argus': self.argus,
'x-ladon': self.ladon,
'Cookie': self.cookie,
'content-type': 'application/json',
'Accept': '*/*',
'Connection': 'keep-alive'
}
response = requests.request("POST", url=url, headers=headers, data=payload)
point4 = response.json().get('err_tips')
if response.status_code == 200:
if response.json().get("err_no") == 0:
point3 = response.json().get('data').get('reward_amount')
return point4,point3
else:
point3 = "已经上限了"
return point4,point3
if __name__ == "__main__":
cookies = cookies.split("@")
print(f"【有柿视频】共检测到{len(cookies)}个账号")
print(f"==========================================")
print(f"有柿视频(小毛) by:偷CK的六舅哥\n7.23 有柿视频刷视频新增部分任务不黑一天1-2块左右\nbug提交 https://t.me/jiangyutck")
i = 1
for cookie in cookies:
print(f"========【账号{i}】开始运行脚本========")
i += 1
DY(cookie).run()
time.sleep(random.randint(5, 10))
if i > len(cookies):
break
else:
print("延迟一小会,准备跑下一个账号")

1946
乐乐看V1.2.js Normal file

File diff suppressed because one or more lines are too long

1552
今日头条V1.5.js Normal file

File diff suppressed because one or more lines are too long

28
今日越城.js Normal file

File diff suppressed because one or more lines are too long

65
元老成.js Normal file

File diff suppressed because one or more lines are too long

173
内网穿透.py Normal file
View File

@@ -0,0 +1,173 @@
# -*- coding: UTF-8 -*-
# Version: v1.4
# Created by lstcml on 2022/10/18
# 建议定时10分钟*/10 * * * *
'''
cron: */10 * * * *
new Env('Cpolar内网穿透');
'''
'''
使用说明:
1、打开https://i.cpolar.com/m/4wLJ注册登录后获取authtoken
2、新增变量qlnwct_authtoken值为你账户的authtoken运行脚本
更新记录:
v1.4
1、兼容新版的青龙面板
v1.3
1、移动仓库目录
v1.2
1、新增CPU架构识别自动下载对应cpolar程序
2、默认开启自动更新qlnwctupdate值为false则关闭自动更新
v1.1
1、开放推送仅支持PushPlus推送每次触发启动穿透会推送一次地址
'''
import os
import re
import sys
import json
import requests
from time import sleep
path = os.path.split(os.path.realpath(__file__))[0]
log_path = os.path.join(path, "nwct_cpolar_log")
log_name = os.path.join(log_path, "cpolar")
log_file = os.path.join(log_path, "cpolar.master.log")
app_path = os.path.join(path, "cpolar")
commond = "python3 " + os.path.join(path, "cpolar.py") + " &"
# 检查更新
def update():
print("当前运行的脚本版本:" + str(version))
try:
r1 = requests.get("https://ghproxy.com/https://raw.githubusercontent.com/jiankujidu/cpolar/main/nwct_cpolar.py").text
r2 = re.findall(re.compile("version = \d.\d"), r1)[0].split("=")[1].strip()
if float(r2) > version:
print("发现新版本:" + r2)
print("正在自动更新脚本...")
os.system("killall cpolar")
os.system("ql raw https://ghproxy.com/https://raw.githubusercontent.com/jiankujidu/cpolar/main/nwct_cpolar.py &")
except:
pass
# 判断CPU架构
def check_os():
r = os.popen('uname -m').read()
if 'aarch64' in r or 'arm' in r:
cpu = 'arm'
elif 'x86_64' in r or 'x64' in r:
cpu = 'amd64'
else:
print('穿透失败:不支持当前架构!')
return
print('获取CPU架构' + r.replace('\n', ''))
download_cpolar(cpu)
# 下载主程序
def download_cpolar(cpu):
if not os.path.exists("cpolar.py"):
res = requests.get("https://ghproxy.com/https://raw.githubusercontent.com/jiankujidu/cpolar/main/cpolar.py")
with open("cpolar.py", "wb") as f:
f.write(res.content)
if not os.path.exists("cpolar"):
res = requests.get("https://static.cpolar.com/downloads/releases/3.2.88.2/cpolar-stable-linux-" + cpu + ".zip")
with open("cpolar.zip", "wb") as f:
f.write(res.content)
os.system("unzip cpolar.zip >/dev/null 2>&1&&rm -f cpolar.zip&&chmod +x cpolar&&" + app_path + " authtoken " + authtoken + ">/dev/null 2>&1")
start_nwct()
# 获取穿透url
def get_url():
try:
with open(log_file, encoding='utf-8') as f:
log_content = f.read()
reg = 'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+'
for i in re.findall(reg, log_content):
if 'cpolar' in i:
print("获取穿透链接成功...")
return i.replace('\\', '')
break
except:
return "https://ghproxy.com/https://raw.githubusercontent.com/jiankujidu"
# 进程守护
def process_daemon():
print("正在检测穿透状态...")
global qlurl
qlurl = get_url()
try:
res = requests.get(qlurl + "/login").text
if "/images/g5.ico" in res or "/images/favicon.svg" in res:
return True
else:
return False
except:
return False
# 执行程序
def start_nwct():
if not process_daemon():
os.system("rm -rf " + log_path)
os.system("mkdir -p " + log_path)
os.system("killall cpolar >/dev/null 2>&1")
print("正在启动内网穿透...")
os.system(commond)
sleep(10)
if process_daemon():
if load_send():
print("启动内网穿透成功!\n青龙面板:%s" % qlurl)
send("内网穿透通知", "青龙面板访问地址:" + qlurl)
else:
print("启动内网穿透失败...")
else:
print("穿透程序已在运行...\nQQ交流群706397373\n青龙面板:%s" % qlurl)
# 推送
def load_send():
global send
cur_path = os.path.abspath(os.path.dirname(__file__))
sys.path.append(cur_path)
sendNotifPath = cur_path + "/sendNotify.py"
if not os.path.exists(sendNotifPath):
res = requests.get("https://ghproxy.com/https://raw.githubusercontent.com/jiankujidu/cpolar/main/sendNotify.py")
with open(sendNotifPath, "wb") as f:
f.write(res.content)
try:
from sendNotify import send
return True
except:
print("加载通知服务失败!")
return False
if __name__ == '__main__':
version = 1.4
try:
authtoken = os.environ['qlnwct_authtoken']
except:
authtoken = ""
try:
token = os.environ['PUSH_PLUS_TOKEN']
except:
token = ""
try:
check_update = os.environ['qlnwctupdate']
except:
check_update = "true"
if check_update != "false":
update()
else:
print("变量qlnwctupdate未设置脚本自动更新未开启")
if len(authtoken ) < 1:
print("请新增变量qlnwct_authtoken")
else:
check_os()

684
建行生活cc豆2.3.py Normal file
View File

@@ -0,0 +1,684 @@
# 软件:建行生活
# 活动信息: 奋斗季cc豆 功能:每日营收,签到 浏览任务,答题,抽奖,专区任务
# 先开抓包,先开抓包,抓的是微信端,搜wParam复制wParam值没抓到等两小时在抓
# 专区任务专区抓fission-events.ccbft.com里面含有_ck_bbq_224全部cookie没抓到所有专区进一下
# 格式 ccdck = wParam参数值#cookie值
# 定时:一天两次
# 注: 此脚本仅限个人使用,不得传播
# 作者: 木兮
import os
import random
import re
import time
from datetime import datetime
import requests
app_ua = 'Mozilla/5.0 (Linux; Android 12; 22081212C Build/SKQ1.220303.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/112.0.5615.135 Mobile Safari/537.36/CloudMercWebView' # 用app的ua不填也能跑
user_cookie = os.getenv("ccdck")
doll_flag = 1 # 1开启抓娃娃0关闭
basket_flag = 1 # 1开启投篮球0关闭
doll_draw = 9 # 抓娃娃次数为几一天只抽几次总数小于10
basket_draw = 4 # 投篮球次数为几一天只玩几次总数小于5
debug = 0 # 开启调式
class CCD:
user_region = None
zhc_token = None
wx_uuid = None
base_header = {
'Host': 'm3.dmsp.ccb.com',
'accept': 'application/json, text/plain, */*',
'user-agent': app_ua,
'origin': 'https://m3.dmsp.ccb.com',
'x-requested-with': 'com.tencent.mm',
'accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'content-type': 'application/json'
}
token_headers = {
'Host': 'event.ccbft.com',
'accept': 'application/json, text/plain, */*',
'user-agent': app_ua,
'origin': 'https://event.ccbft.com',
'x-requested-with': 'com.tencent.mm',
'accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'content-type': 'application/json'
}
def __init__(self, ccb_cookie):
self.w_param = ccb_cookie.split("#")[0]
self.zq_cookie = ccb_cookie.split("#")[1]
self.bus_headers = {
'Host': 'fission-events.ccbft.com',
'pragma': 'no-cache',
'cache-control': 'no-cache',
'accept': 'application/json, text/plain, */*',
'x-csrf-token': None,
'x-requested-with': 'XMLHttpRequest',
'authorization': None,
'user-agent': app_ua,
'origin': 'https://fission-events.ccbft.com',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'cors',
'sec-fetch-dest': 'empty',
'referer': 'https://fission-events.ccbft.com/a/224/kmenz5Zd/game',
'accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'Cookie': self.zq_cookie,
'content-type': 'application/json'
}
def run(self):
self.get_token()
self.region()
self.user_info()
self.sign_in()
self.getlist()
self.answer_state()
print('\n======== 专区任务 ========')
time.sleep(random.randint(3, 5))
self.get_csrftoken()
self.get_user_ccd()
# 随机延迟默认1-1.5
def sleep(self, min_delay=1, max_delay=1.5):
delay = random.uniform(min_delay, max_delay)
time.sleep(delay)
def send_request(self, url, headers, data=None, method='GET', cookies=None):
with requests.Session() as session:
session.headers.update(headers)
if cookies is not None:
session.cookies.update(cookies)
try:
if method == 'GET':
response = session.get(url, timeout = 3)
elif method == 'POST':
response = session.post(url, json = data, timeout = 3)
else:
raise ValueError('Invalid HTTP method.')
response.raise_for_status()
if debug:
print(response.json())
return response.json()
except requests.Timeout as e:
print("请求超时:", str(e))
except requests.RequestException as e:
print("请求错误:", str(e))
except Exception as e:
print("其他错误:", str(e))
# 获取token
def get_token(self):
try:
url = 'https://event.ccbft.com/api/flow/nf/shortLink/redirect/ccb_gjb?shareMDID=ZHCMD_8460172f-48b2-4612-a069-f04611760445&shareDepth=1&CCB_Chnl=6000199'
payload = {
"appId": "wxd513efdbf26b5744",
"shortId": "polFsWD2jPnjhOx9ruVBcA",
"archId": "ccb_gjb",
"wParam": self.w_param,
"channelId": "wx", "ifWxFirst": True
}
return_data = self.send_request(url, headers = self.token_headers, data = payload, method = 'POST')
if return_data['code'] != 200:
print(return_data['message'])
raise ValueError('刷新token,请检查变量格式是否正确')
redirect_url = return_data['data'].get('redirectUrl')
self.wx_uuid = return_data['data'].get('wxUUID')
token = self.extract_token(redirect_url)
if token:
self.zhc_token = token
self.auth_login(token)
else:
raise ValueError('刷新token失败')
except ValueError as e:
print(e)
def extract_token(self, redirect_url):
start_token_index = redirect_url.find("__dmsp_token=") + len("__dmsp_token=")
end_token_index = redirect_url.find("&", start_token_index)
token = None
if start_token_index != -1 and end_token_index != -1:
token = redirect_url[start_token_index:end_token_index]
return token
# 登录
def auth_login(self, token):
url = 'https://m3.dmsp.ccb.com/api/businessCenter/auth/login'
payload = {"token": token, "channelId": "wx"}
return_data = self.send_request(url, headers = self.base_header, data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data['message'])
return
# 获取用户地区代码
def region(self):
url = f'https://m3.dmsp.ccb.com/api/businessCenter/gis/getAddress?zhc_token={self.zhc_token}'
payload = {"lgt": 116.495434, "ltt": 40.3976539, "flag": 1}
return_data = self.send_request(url, headers = self.base_header, data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data['message'])
return
self.user_region = return_data['data'].get('code')
# 查询用户等级
def user_info(self):
url = f'https://m3.dmsp.ccb.com/api/businessCenter/mainVenue/getUserState?zhc_token={self.zhc_token}'
return_data = self.send_request(url, headers = self.base_header, method = 'POST')
if return_data['code'] != 200:
print(return_data['message'])
return
current_level = return_data['data'].get('currentLevel')
need_exp = return_data['data'].get('needGrowthExp') - return_data['data'].get('currentLevelGrowthExp')
level = return_data['data'].get('currentProtectLevel')
reward_id = return_data['data'].get('zhcRewardInfo').get('id')
reward_type = return_data['data'].get('zhcRewardInfo').get('rewardType')
reward_value = return_data['data'].get('zhcRewardInfo').get('rewardValue')
print(f"当前用户等级{current_level}")
print(f"距下一级还需{need_exp}成长值")
self.income(level, reward_id, reward_type, reward_value)
# 每日营收
def income(self, level, reward_id, reward_type, reward_value):
url = f'https://m3.dmsp.ccb.com/api/businessCenter/mainVenue/receiveLevelReward?zhc_token={self.zhc_token}'
payload = {"level": level, "rewardId": reward_id, "levelRewardType": reward_type}
return_data = self.send_request(url, headers = self.base_header, data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data['message'])
return
print(f"今日营收: {reward_value}cc豆")
# 签到
def sign_in(self):
signin_url = f'https://m3.dmsp.ccb.com/api/businessCenter/taskCenter/signin?zhc_token={self.zhc_token}'
signin_payload = {"taskId": 96}
return_data = self.send_request(url = signin_url, headers = self.base_header, data = signin_payload,
method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data['message'])
return
print(return_data['message'])
# 获取浏览任务列表
def getlist(self):
list_url = f'https://m3.dmsp.ccb.com/api/businessCenter/taskCenter/getTaskList?zhc_token={self.zhc_token}'
payload = {"publishChannels": "03", "regionId": self.user_region} # 440300
return_data = self.send_request(url = list_url, headers = self.base_header, data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data['message'])
return
task_list = return_data['data'].get('浏览任务')
for value in task_list:
complete_status = value['taskDetail'].get('completeStatus')
if complete_status == '02':
print(f"--已完成: {value['taskName']}")
else:
task_id = value['id']
task_name = value['taskName']
print(f'---去完成: {task_name}')
self.execute_task(task_id)
def execute_task(self, task_id):
browse_url = f'https://m3.dmsp.ccb.com/api/businessCenter/taskCenter/browseTask?zhc_token={self.zhc_token}'
receive_url = f'https://m3.dmsp.ccb.com/api/businessCenter/taskCenter/receiveReward?zhc_token={self.zhc_token}'
payload = {"taskId": task_id, "browseSec": 1}
browse_data = self.send_request(browse_url, headers = self.base_header, data = payload, method = 'POST')
self.sleep()
if browse_data['code'] != 200:
print(browse_data['message'])
return
print(browse_data['message'])
receive_data = self.send_request(receive_url, headers = self.base_header, data = payload, method = 'POST')
self.sleep()
if receive_data['code'] != 200:
print(receive_data['message'])
return
print(receive_data['message'])
# 获取答题state
def answer_state(self):
url = f'https://m3.dmsp.ccb.com/api/businessCenter/zhcUserDayAnswer/getAnswerStatus?zhc_token={self.zhc_token}'
return_data = self.send_request(url, headers = self.base_header)
if return_data['code'] == 200:
if return_data['data'].get('answerState') == 'Y':
return print(return_data['message'])
else:
# 获取今日题目
print('获取今日题目')
self.get_question()
else:
return print(return_data['message'])
# 获取题目
def get_question(self):
url = f'https://m3.dmsp.ccb.com/api/businessCenter/zhcUserDayAnswer/queryQuestionToday?zhc_token={self.zhc_token}'
return_data = self.send_request(url, headers = self.base_header)
self.sleep()
if return_data['code'] != 200:
print(return_data['message'])
return
question_id = return_data['data'].get('questionId')
remark = return_data['data'].get('remark')
answer_list = return_data['data'].get('answerList')
if remark:
# 匹配答案
print('开始匹配正确答案')
pattern = r"[,。?!“”、]"
remark_cleaned = re.sub(pattern, "", remark)
max_match_count = 0
right_answer_id = None
for answer in answer_list:
answer_id = answer["id"]
answer_result = answer["answerResult"]
answer_cleaned = re.sub(pattern, "", answer_result)
match_count = 0
for word in answer_cleaned:
if word in remark_cleaned:
match_count += 1
remark_cleaned = remark_cleaned.replace(word, "", 1)
if match_count > max_match_count:
max_match_count = match_count
right_answer_id = answer_id
print("匹配成功,开始答题")
self.answer(question_id, right_answer_id)
else:
print('暂无提示随机答题')
right_answer_id = random.choice(answer_list)['id']
self.answer(question_id, right_answer_id)
# 答题
def answer(self, question_id, answer_ids):
url = f'https://m3.dmsp.ccb.com/api/businessCenter/zhcUserDayAnswer/userAnswerQuestion?zhc_token={self.zhc_token}'
payload = {"questionId": question_id, "answerIds": answer_ids}
return_data = self.send_request(url, headers = self.base_header, data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data['message'])
return
print(return_data['message'])
# ---------下面是精彩专区任务--------
def get_csrftoken(self):
url1 = 'https://event.ccbft.com/api/flow/nf/shortLink/redirect/ccb_gjb?CCB_Chnl=6000110'
url2 = 'https://fission-events.ccbft.com/a/224/kmenz5Zd?CCB_Chnl=6000110'
payload1 = '{{"appId":"wxd513efdbf26b5744","shortId":"jd9H3uCkzHaQBn8aeq5NWQ","archId":"ccb_gjb","channelId":"wx","ifWxFirst":false,"wxUUID":"{}"}}'.format(
self.wx_uuid)
headers = {
'Host': 'fission-events.ccbft.com',
'pragma': 'no-cache',
'cache-control': 'no-cache',
'upgrade-insecure-requests': '1',
'user-agent': app_ua,
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'x-requested-with': 'com.ccb.longjiLife',
'sec-fetch-site': 'same-site',
'sec-fetch-mode': 'navigate',
'sec-fetch-dest': 'document',
'referer': 'https://event.ccbft.com/',
'accept-encoding': 'gzip, deflate',
'accept-language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'cookie': self.zq_cookie
}
return_data = requests.post(url1, headers = self.token_headers, data = payload1).json()
if return_data['code'] != 200:
return print(return_data['message'])
redirect_url = return_data['data'].get('redirectUrl')
requests.get(url = redirect_url, headers = headers)
try:
res = requests.get(url = url2, headers = headers)
data = res.text
csrf_token, authorization = self.extract_csrf_and_auth(data)
if csrf_token and authorization:
self.bus_headers['x-csrf-token'] = csrf_token
self.bus_headers['authorization'] = f'Bearer {authorization}'
self.sleep()
print('\n----代发专区----')
# self.game_id()
print('\n----养老专区----')
self.turn()
print('\n----跨境专区----')
self.border_draw()
print('\n----商户专区----')
self.shoplist()
print('\n----消保专区----\n---登山游戏----')
self.fire()
print('\n---抓娃娃游戏----')
self.get_doll()
print('\n---投篮球游戏----')
self.do_basket()
else:
print('CSRF token or Authorization not found.')
except requests.RequestException as e:
print(f"请求异常: {e}")
def extract_csrf_and_auth(self, data):
csrf_token_pattern = r'<meta\s+name=csrf-token\s+content="([^"]+)">'
authorization_pattern = r'<meta\s+name=Authorization\s+content="([^"]+)">'
csrf_token_match = re.search(csrf_token_pattern, data)
authorization_match = re.search(authorization_pattern, data)
if csrf_token_match and authorization_match:
return csrf_token_match.group(1), authorization_match.group(1)
return None, None
# 代发专区
# 养老专区新
def turn(self):
index_url = 'https://fission-events.ccbft.com/a/224/5P87Md3y/index?CCB_Chnl=2030005'
tasklist_url = 'https://fission-events.ccbft.com/activity/dmspmileage/getindexdata/224/5P87Md3y'
go_url = 'https://fission-events.ccbft.com/activity/dmspmileage/go/224/5P87Md3y'
requests.get(url = index_url, headers = self.bus_headers)
tasks_data = self.send_request(tasklist_url, headers = self.bus_headers)
if tasks_data['status'] != 'success':
return print(tasks_data['message'])
task_list = tasks_data.get('data', {}).get('acttask', {}).get('limit_time')
for task in task_list:
ident = task.get('ident')
title = task.get('title')
state = task.get('state')
reward = task.get('reward')
if state == 1:
print(f'--已完成: {title}')
else:
print(f'---去完成: {title}')
dotask_url = 'https://fission-events.ccbft.com/activity/dmspmileage/taskgo/224/5P87Md3y'
do_payload = {"type": "limit_time", "ident": ident}
do_data = self.send_request(dotask_url, headers = self.bus_headers, data = do_payload, method = 'POST')
if do_data['status'] != 'success':
return print(do_data['message'])
print(f'--浏览成功获得: {reward} 里程')
self.sleep()
self.sleep()
query_data = self.send_request(tasklist_url, headers = self.bus_headers)
surplus = query_data.get('data', {}).get('mileage').get('surplus')
rewards = query_data.get('data', {}).get('map', {}).get('config').get('node')
if surplus != '0':
go_data = self.send_request(go_url, headers = self.bus_headers, method = 'POST')
mileage_go = go_data.get('data', {}).get('mileage_go', '')
user_node = go_data.get('data', {}).get('user_node_value')
print(f'前进: {mileage_go}里程, 当前: {user_node}里程')
for reward in rewards:
value = reward.get('value')
state = reward.get('state')
if value == 0 or state != 3:
continue
getreward_url = 'https://fission-events.ccbft.com/activity/dmspmileage/draw/224/5P87Md3y'
reward_payload = {"value": value}
rewrd_data = self.send_request(getreward_url, headers = self.bus_headers, data = reward_payload,
method = 'POST')
if rewrd_data['status'] != 'success':
return print(rewrd_data['message'])
prizename = rewrd_data.get('data', {}).get('prizename')
print(f'领取 {value}里程奖励: {prizename}')
# 跨境专区新
def border_draw(self):
index_url = 'https://fission-events.ccbft.com/a/224/1m0xM2mx/index?CCB_Chnl=6000117'
query_url = 'https://fission-events.ccbft.com/Component/draw/getUserExtInfo/224/1m0xM2mx'
draw_url = 'https://fission-events.ccbft.com/Component/draw/commonDrawPrize/224/1m0xM2mx'
requests.get(url = index_url, headers = self.bus_headers)
query_data = self.send_request(query_url, headers = self.bus_headers)
if query_data['status'] != 'success':
return print(query_data['message'])
remain = query_data['data'].get('remain_num')
if remain == '0':
return print('--当前剩余抽奖次数为0')
self.sleep()
draw_data = self.send_request(draw_url, headers = self.bus_headers, method = 'POST')
if draw_data['status'] != 'success':
print(draw_data['message'])
return
print(f"--{draw_data['message']}---{draw_data['data'].get('prizename')}")
# 商户专区新
def shoplist(self):
index_url = 'https://fission-events.ccbft.com/a/224/8ZWXBM3w/index?CCB_Chnl=6000115'
task_url = 'https://fission-events.ccbft.com/Component/task/lists/224/8ZWXBM3w'
requests.get(url = index_url, headers = self.bus_headers)
tasks_data = self.send_request(task_url, headers = self.bus_headers)
self.sleep()
if tasks_data['status'] != 'success':
print(tasks_data['message'])
return
task_list = tasks_data['data'].get('userTask')
for value in task_list:
complete_status = value['finish']
if complete_status == 1:
print('--已完成该任务,继续浏览下一个任务')
continue
task_id = value['id']
do_url = 'https://fission-events.ccbft.com/Component/task/do/224/8ZWXBM3w'
payload = {"id": task_id}
do_data = self.send_request(do_url, headers = self.bus_headers, data = payload, method = 'POST')
if do_data['status'] != 'success':
print(do_data['message'])
return
print('--浏览完成')
time.sleep(3)
print('--已完成全部任务,去掷骰子')
time.sleep(3)
self.throw()
def throw(self):
query_url = 'https://fission-events.ccbft.com/activity/dmspshzq/getIndex/224/8ZWXBM3w'
query_data = self.send_request(query_url, headers = self.bus_headers)
if query_data['status'] != 'success':
print(query_data['message'])
return
remain_num = query_data['data'].get('remain_num')
if remain_num == '0':
return print('当前没有骰子了')
self.sleep()
num = int(remain_num)
draw_url = 'https://fission-events.ccbft.com/activity/dmspshzq/drawPrize/224/8ZWXBM3w'
payload = {}
prizes = []
for _ in range(num):
draw_data = self.send_request(draw_url, headers = self.bus_headers, data = payload, method = 'POST')
if draw_data['status'] != 'success':
print(draw_data['message'])
return
add_step = draw_data['data'].get('add_step')
current_step = draw_data['data'].get('current_step')
prize_name = draw_data['data'].get('prize_name')
prizes.append(f"前进步数:{add_step},当前步数:{current_step}\n获得奖励:{prize_name}")
time.sleep(3)
if prizes:
print('\n'.join(prizes))
# 消保专区新
def fire(self):
num_url = 'https://fission-events.ccbft.com/activity/dmspxbmountain/getUserInfo/224/jmXN4Q3d'
num_data = self.send_request(num_url, headers = self.bus_headers)
self.sleep()
if num_data.get('status') != 'success':
print(num_data.get('message'))
return
remain_num = num_data['data'].get('remain_num', 0)
num = int(remain_num)
if num == 0:
print('当前剩余游戏次数为0')
return
id_url = 'https://fission-events.ccbft.com/activity/dmspxbmountain/startChallenge/224/jmXN4Q3d'
draw_url = 'https://fission-events.ccbft.com/Component/draw/commonDrawPrize/224/jmXN4Q3d'
payload = {}
for _ in range(num):
id_data = self.send_request(id_url, headers = self.bus_headers, data = payload, method = 'POST')
if id_data.get('status') != 'success':
print(id_data.get('message'))
return
game_id = id_data.get('data')
print('获取成功,开始登山游戏')
time.sleep(20)
game_url = 'https://fission-events.ccbft.com/activity/dmspxbmountain/doChallenge/224/jmXN4Q3d'
payload_game = {"l_id": game_id, "stage": 13, "score": 200}
msg_data = self.send_request(game_url, headers = self.bus_headers, data = payload_game,
method = 'POST')
if msg_data.get('status') != 'success':
print(msg_data.get('message'))
return
draw_payload = {}
draw_data = self.send_request(draw_url, headers = self.bus_headers, data = draw_payload,
method = 'POST')
if draw_data.get('status') != 'success':
print(draw_data.get('message'))
return
mes = draw_data.get('message')
prizename = draw_data.get('data', {}).get('prizename', '')
print(f'{mes} {prizename}')
time.sleep(5)
# 抓娃娃
def get_doll(self):
if doll_flag == 0:
print('已关闭抓娃娃游戏')
return
query_url = 'https://fission-events.ccbft.com/Component/draw/getUserCCB/224/xPOLkama'
draw_url = 'https://fission-events.ccbft.com/Component/draw/dmspCommonCcbDrawPrize/224/xPOLkama'
query_data = self.send_request(query_url, headers = self.bus_headers)
draw_num = query_data.get('data', {}).get('user_day_draw_num', 0)
num = 10 - int(draw_num)
num2 = 10 - doll_draw
print(f'--当前剩余游戏次数: {num}')
while num > num2:
draw_payload = {}
draw_data = self.send_request(draw_url, headers = self.bus_headers, data = draw_payload, method = 'POST')
if draw_data.get('status') != 'success':
print(draw_data.get('message'))
break
msg = draw_data.get('message')
prizename = draw_data.get('data', {}).get('prizename', '')
print(f'{msg} {prizename}')
time.sleep(5)
num -= 1
# 投篮球
def do_basket(self):
if basket_flag == 0:
print('已关闭投篮球游戏')
return
index_url = 'https://fission-events.ccbft.com/a/224/eZgpye3y/index?CCB_Chnl=1000181'
query_url = 'https://fission-events.ccbft.com/activity/dmspdunk/user/224/eZgpye3y'
requests.get(url = index_url, headers = self.bus_headers)
query_data = self.send_request(query_url, headers = self.bus_headers)
remain_daily = query_data.get('data', {}).get('remain_daily_times')
num = 5 - basket_draw
print(f'--当前剩余游戏次数: {remain_daily}')
self.sleep()
while remain_daily > num:
id_url = 'https://fission-events.ccbft.com/activity/dmspdunk/start/224/eZgpye3y'
id_data = self.send_request(id_url, headers = self.bus_headers, method = 'POST')
if id_data.get('status') != 'success':
print(id_data.get('message'))
break
game_id = id_data.get('data', {}).get('id')
time.sleep(5)
activity_url = f'https://fission-events.ccbft.com/activity/dmspdunk/scene/224/eZgpye3y?id={game_id}'
activity_data = self.send_request(activity_url, headers = self.bus_headers)
remain_times = activity_data.get('data', {}).get('remain_times')
basket_num = int(remain_times) # 篮球数量
while basket_num > 0:
dogame_url = 'https://fission-events.ccbft.com/activity/dmspdunk/shot/224/eZgpye3y'
payload = {'id': game_id}
dogeme_data = self.send_request(dogame_url, headers = self.bus_headers, data = payload, method = 'POST')
if dogeme_data.get('status') != 'success':
print(dogeme_data.get('message'))
continue
win_times = dogeme_data.get('data', {}).get('win_times') # 投中数量
got_ccb = dogeme_data.get('data', {}).get('got_ccb') # 获得cc豆
print(f'当前投中篮球数量: {win_times}')
if basket_num == 1:
print(f'游戏结束,获得cc豆数量: {got_ccb}')
time.sleep(2.5)
basket_num -= 1
remain_daily -= 1
# 查询cc豆及过期cc豆时间
def get_user_ccd(self):
url_get_ccd = f'https://m3.dmsp.ccb.com/api/businessCenter/user/getUserCCD?zhc_token={self.zhc_token}'
url_get_expired_ccd = f'https://m3.dmsp.ccb.com/api/businessCenter/user/getUserCCDExpired?zhc_token={self.zhc_token}'
try:
return_data1 = self.send_request(url_get_ccd, headers = self.base_header, data = {},
method = 'POST')
self.sleep()
return_data2 = self.send_request(url_get_expired_ccd, headers = self.base_header,
data = {}, method = 'POST')
if return_data1['code'] != 200:
raise Exception(return_data1['message'])
elif return_data2['code'] != 200:
raise Exception(return_data2['message'])
count1 = return_data1['data'].get('userCCBeanInfo').get('count')
count2 = return_data2['data'].get('userCCBeanExpiredInfo').get('count')
expire_date_str = return_data2['data'].get('userCCBeanExpiredInfo').get('expireDate')
if expire_date_str:
expire_date = datetime.fromisoformat(expire_date_str)
formatted_date = expire_date.strftime('%Y-%m-%d %H:%M:%S')
print(f'\n当前cc豆:{count1},有{count2} cc豆将于{formatted_date}过期')
else:
print("expire_date_str is empty")
except Exception as e:
print(str(e))
if __name__ == "__main__":
cookies = user_cookie.split("@")
msg = f"建行cc豆共获取到{len(cookies)}个账号"
print(msg)
for i, cookie in enumerate(cookies, start = 1):
print(f"\n======== ▷ 第 {i} 个账号 ◁ ========")
CCD(cookie).run()
print("\n随机等待5-10s进行下一个账号")
time.sleep(random.randint(5, 10))

601
必看免费小说V1.5.js Normal file

File diff suppressed because one or more lines are too long

BIN
悟空浏览器免root.apk Normal file

Binary file not shown.

9
悟空看广告.js Normal file

File diff suppressed because one or more lines are too long

1812
抖音V1.2.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

13
望潮.txt Normal file

File diff suppressed because one or more lines are too long

67
植白说.js Normal file

File diff suppressed because one or more lines are too long

914
爱嵊州-v1.5.js Normal file

File diff suppressed because one or more lines are too long

344
美团每日赚A.py Normal file
View File

@@ -0,0 +1,344 @@
# 软件美团app
# 功能:每日赚钱
# A版用户部分信息适用于不会抓包用户B版信息更全更真实适用于抓包用户目前两个版本都正常跑。自己选择。
# 抓包 https://passport.meituan.com/useraccount/ilogin微信登录复制链接抓取userId=xx&token=xxx
# 变量名称 mtck = userId=xx&token=xxx 多账号@分割
# 跑之前进活动看下是否正常后续不用管draw = 0 为0不抽奖为1抽奖。抽奖是没有问题自行决定
# 定时 : 一天一次
# 每日随机提现,默认不开启,没抓
import os
import random
import re
import string
import time
import requests
cookies = os.getenv("mtck")
draw = 0 # 为0不抽奖为1抽奖。抽奖是没有问题自行决定
class MT:
current_time = int(round(time.time() * 1000))
url = 'https://game.meituan.com/earn-daily/msg/post'
def __init__(self, cookie, uuid):
self.cookie = cookie
userid_match = re.search(r'userId=(\d+)', self.cookie)
token_match = re.search(r'token=([A-Za-z0-9_-]+)', self.cookie)
if userid_match and token_match:
self.userId = userid_match.group(1)
self.token = token_match.group(1)
else:
print("未找到userid和token值")
self.uuid = uuid
characters = string.digits + string.ascii_lowercase
self.nonce_str = ''.join(random.choice(characters) for _ in range(16))
self.headers = {
'Host': 'game.meituan.com',
'Connection': 'keep-alive',
'Accept': 'application/json, text/plain, */*',
'X-Requested-With': 'XMLHttpRequest',
'acToken': 'undefined',
'mToken': 'undefined',
'User-Agent': self.get_ua(),
'Origin': 'https://awp.meituan.com',
'Sec-Fetch-Site': 'same-site',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://awp.meituan.com/',
'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'Cookie': f'utm_medium=android;uuid={self.uuid};token={self.token};mt_c_token={self.token};',
'Content-Type': 'application/json'
}
self.base_data = {
"acToken": None,
"riskParams": {
"ip": "",
"fingerprint": 'undefined',
"cityId": "1",
"platform": 4,
"app": 0,
"version": "12.9.209",
"uuid": self.uuid
}
}
def run(self):
self.login()
self.task_list()
self.get_user_info()
def send_request(self, url=None, headers=None, data=None, method='GET', cookies=None):
if url is None:
url = self.url
if headers is None:
headers = self.headers
with requests.Session() as session:
session.headers.update(headers)
if cookies is not None:
session.cookies.update(cookies)
try:
if method == 'GET':
response = session.get(url, timeout = 3)
elif method == 'POST':
response = session.post(url, json = data, timeout = 3)
else:
raise ValueError('Invalid HTTP method.')
response.raise_for_status()
return response.json()
except requests.Timeout as e:
print("请求超时:", str(e))
except requests.RequestException as e:
print("请求错误:", str(e))
except Exception as e:
print("其他错误:", str(e))
# 随机延迟默认1-1.5s
def sleep(self, min_delay=1, max_delay=2):
delay = random.uniform(min_delay, max_delay)
time.sleep(delay)
# 随机ua
def get_ua(self):
android_version = f'{random.randint(10, 12)}.0' # 随机生成 Android 版本号
chrome_version = f'{random.randint(80, 90)}.0.{random.randint(4000, 5000)}.210' # 随机生成 Chrome 版本号
ua_string = f'Mozilla/5.0 (Linux; Android {android_version}; {self.get_model()}) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/{chrome_version} Mobile Safari/537.36 TitansX/12.9.1 KNB/1.2.0 android/{android_version} mt/com.sankuai.meituan/12.9.209 App/10120/12.9.209 MeituanGroup/12.9.209'
return ua_string
def get_model(self):
models = ['M2012K10C', '22041211AC', 'ABR-AL80', 'AGT-AN00', 'M2011K2C']
return random.choice(models)
# 登录
def login(self):
url = f'https://game.meituan.com/earn-daily/login/loginMgc?gameType=10402&mtUserId={self.userId}&mtToken={self.token}&mtDeviceId={self.uuid}&nonceStr={self.nonce_str}&externalStr=%7B%22cityId%22%3A%221%22%7D'
return_data = self.send_request(url)
self.sleep()
if return_data['code'] != 0:
return print(return_data)
access_token = return_data['response'].get('accessToken')
self.headers['acToken'] = access_token
self.headers['mToken'] = self.token
self.base_data['acToken'] = access_token
# task_list
def task_list(self):
payload = self.base_data.copy()
payload['protocolId'] = 1001
payload['data'] = {
"externalStr": f'{{"cityId": \'"1"\'}}'
}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data)
return
task_list = return_data['data'].get('taskInfoList')
sign_state = return_data['data'].get('signInPopModel').get('rewardModelList')
# 每日签到
for sign in sign_state:
current = sign.get('current', False)
state = sign.get('state', 0)
if not current:
continue
if state == 2:
print('今日已打卡签到')
break
print('去完成:现金打卡')
self.sign_in()
break
# 浏览任务
for task in task_list:
task_id = task['id']
if task_id in [15099, 15278, 780]:
continue
daily_finish = task.get('dailyFinishTimes')
max_finish = task.get('mgcTaskBaseInfo', {}).get('curPeriodMaxFinishTimes')
name = task.get('mgcTaskBaseInfo', {}).get('viewTitle')
if daily_finish == max_finish:
print(f'今日已完成:{name}')
continue
num = max_finish - daily_finish
for _ in range(num):
self.go_shoping(task_id, name)
time.sleep(2)
new_data = self.send_request(data = payload, method = 'POST')
base_model = new_data['data'].get('playerBaseModel', {})
# 开红包
packet_amount = base_model.get('redPacketInfo').get('leftRedPacketAmount')
if packet_amount == 0:
print('今日红包已经开完了')
else:
print(f'今日可开红包次数:{packet_amount}')
for _ in range(packet_amount):
self.open_packet()
time.sleep(2)
new_data2 = self.send_request(data = payload, method = 'POST')
base_model2 = new_data2['data'].get('playerBaseModel', {})
draw_info = base_model2.get('lotteryInfo').get('leftLotteryTimesAmount')
# 抽奖
if draw_info == 0:
print('剩余抽奖次数为0')
else:
print(f'今日可抽奖次数:{draw_info}')
if not draw:
print('已关闭抽奖')
else:
for _ in range(draw_info):
self.draw()
# task
def go_shoping(self, task_id, name):
def send_shoping(protocol_id):
payload = self.base_data.copy()
payload['protocolId'] = protocol_id
payload['data'] = {
"taskId": task_id,
"externalStr": f'{{"cityId": \'"1"\'}}'
}
return_data = self.send_request(data = payload, method = 'POST')
if return_data['code'] != 200:
print(return_data)
return
send_shoping(1004)
print(f'完成任务: [{name}]')
time.sleep(random.randint(5, 10))
send_shoping(1005)
print(f'领取任务: [{name}] 奖励成功')
# 签到
def sign_in(self):
payload = self.base_data.copy()
payload['protocolId'] = 1007
payload['data'] = {}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data)
return
content = return_data['data'].get('remitNotificationModelList')[0].get('content')
print(content)
# 开红包
def open_packet(self):
max_cash_token = 49.98
payload = self.base_data.copy()
payload['protocolId'] = 1008
payload['data'] = {}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep
if return_data['code'] != 200:
print(return_data)
return
reward_list = return_data['data'].get('rewardModelList')
remit_models = return_data['data'].get('remitNotificationModels')
activity_info = return_data.get('data').get('playerBaseModel').get('activityCycleInfo')
cash_token = activity_info.get('cashToken') / 100.0
content = remit_models[0].get('content') if remit_models else None
if content:
print(content)
else:
rewards = [value['amount'] / 100.0 if cash_token < max_cash_token else value['amount']
for value in reward_list if value['rewarded']]
if rewards:
for reward in rewards:
print(f'开红包获得:{reward}金额' if cash_token < max_cash_token else f'开红包获得:{reward}金币')
# 抽奖
def draw(self):
payload = self.base_data.copy()
payload['protocolId'] = 1010
payload['data'] = {}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data)
return
data = return_data['data']
current_reward = data.get('currentReward', {})
rewarded_model = current_reward.get('rewardedCouponModel')
if rewarded_model:
name = rewarded_model.get('name')
print(f'抽奖获得:{name}')
else:
seq = current_reward.get('seq')
amount = current_reward.get('amount')
reward_list = return_data['data'].get('rewardModelList', [])
rewards_dict = {value.get('seq'): value for value in reward_list}
resource_type = rewards_dict.get(seq, {}).get('resourceType', None)
if resource_type == 5:
print(f'抽奖获得: {amount}金币')
elif resource_type == 9 or resource_type == 3:
num = amount // 100
print(f'抽奖获得: {num}元提现券')
else:
print('抽了个啥')
# 获取用户信息
def get_user_info(self):
payload = self.base_data.copy()
payload['protocolId'] = 1012
payload['data'] = {}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data)
return
activity_info = return_data.get('data').get('activityCycleInfo')
cash_token = activity_info.get('cashToken') / 100.0
coin_token = activity_info.get('coinToken')
expire_time = activity_info.get('expireTime')
surplus_time = expire_time - self.current_time
day = int(surplus_time / (1000 * 60 * 60 * 24))
print(f'每日赚钱余额:{cash_token}{coin_token}金币')
print(f'本期剩余天数:{day},请注意过期时间哦')
if __name__ == "__main__":
cookies = cookies.split("@")
mt = f"美团共获取到{len(cookies)}个账号"
print(mt)
current_uuid_index = 0 # 将当前UUID索引初始化为0
uuids_list = [
"00000000000005A71494E8805428A93A5EBB6E00282BDA167095351831885613",
"0000000000000E757A5DF300944AF82C239A47442EB26A168979373388967298",
"0000000000000FE39E282D85D4184826D7A3CB6BDEE71A168979301991229841",
"000000000000026CD052477C44C26964557ABBE7B24C7A168980721534295742"
]
for i, cookie in enumerate(cookies, start = 1):
print(f"\n======== ▷ 第 {i} 个账号 ◁ ========")
uuid = uuids_list[current_uuid_index]
current_uuid_index = (current_uuid_index + 1) % len(uuids_list)
MT(cookie, uuid).run()
print("\n随机等待5-10秒进行下一个账号")
time.sleep(random.randint(5, 10))

314
美团每日赚B.py Normal file
View File

@@ -0,0 +1,314 @@
# 软件美团app
# 功能:每日赚钱
# A版用户部分信息适用于不会抓包用户B版信息更全更真实适用于抓包用户目前两个版本都正常跑。自己选择。
# 抓包 game.meituan.com/earn-daily/msg/post进入活动会有一堆这个请求全部cookie
# 变量名称 mtck = cookie 多账号@分割
# 跑之前进活动看下是否正常后续不用管draw = 0 为0不抽奖为1抽奖。抽奖是没有问题自行决定
# 定时 : 一天一次
# 每日随机提现,默认不开启,没抓
import os
import random
import re
import string
import time
import requests
cookies = os.getenv("mtck")
ua = ''
draw = 0 # 为0不抽奖为1抽奖。抽奖是没有问题自行决定
class MT:
current_time = int(round(time.time() * 1000))
url = 'https://game.meituan.com/earn-daily/msg/post'
def __init__(self, cookie):
self.cookie = cookie
try:
self.uuid = re.search(r"uuid=(.*?);", self.cookie).group(1)
self.cityid = re.search(r"cityid=(.*?);", self.cookie).group(1)
self.token = re.search(r"token=(.*?);", self.cookie).group(1)
self.userId = re.search(r"userId=(.*?);", self.cookie).group(1)
except AttributeError:
self.uuid = None
self.cityid = None
self.token = None
self.userId = None
characters = string.digits + string.ascii_lowercase
self.nonce_str = ''.join(random.choice(characters) for _ in range(16))
self.headers = {
'Host': 'game.meituan.com',
'Connection': 'keep-alive',
'Accept': 'application/json, text/plain, */*',
'X-Requested-With': 'XMLHttpRequest',
'acToken': 'undefined',
'mToken': 'undefined',
'User-Agent': ua,
'Origin': 'https://awp.meituan.com',
'Sec-Fetch-Site': 'same-site',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://awp.meituan.com/',
'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
'Cookie': self.cookie,
'Content-Type': 'application/json'
}
self.base_data = {
"acToken": None,
"riskParams": {
"ip": "",
"fingerprint": 'undefined',
"cityId": self.cityid,
"platform": 4,
"app": 0,
"version": "12.9.209",
"uuid": self.uuid
}
}
def run(self):
self.login()
self.task_list()
self.get_user_info()
def send_request(self, url=None, headers=None, data=None, method='GET', cookies=None):
if url is None:
url = self.url
if headers is None:
headers = self.headers
with requests.Session() as session:
session.headers.update(headers)
if cookies is not None:
session.cookies.update(cookies)
try:
if method == 'GET':
response = session.get(url, timeout = 3)
elif method == 'POST':
response = session.post(url, json = data, timeout = 3)
else:
raise ValueError('Invalid HTTP method.')
response.raise_for_status()
return response.json()
except requests.Timeout as e:
print("请求超时:", str(e))
except requests.RequestException as e:
print("请求错误:", str(e))
except Exception as e:
print("其他错误:", str(e))
# 随机延迟默认1-1.5s
def sleep(self, min_delay=1, max_delay=2):
delay = random.uniform(min_delay, max_delay)
time.sleep(delay)
# 登录
def login(self):
url = f'https://game.meituan.com/earn-daily/login/loginMgc?gameType=10402&mtUserId={self.userId}&mtToken={self.token}&mtDeviceId={self.uuid}&nonceStr={self.nonce_str}&externalStr={"cityId":{self.cityid}}'
return_data = self.send_request(url)
self.sleep()
if return_data['code'] != 0:
return return_data['desc']
access_token = return_data['response'].get('accessToken')
self.headers['acToken'] = access_token
self.headers['mToken'] = self.token
self.base_data['acToken'] = access_token
# task_list
def task_list(self):
payload = self.base_data.copy()
payload['protocolId'] = 1001
payload['data'] = {
"externalStr": f'{{"cityId": \'{self.cityid}\'}}'
}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
return return_data['desc']
task_list = return_data['data'].get('taskInfoList')
sign_state = return_data['data'].get('signInPopModel').get('rewardModelList')
# 浏览任务
for task in task_list:
task_id = task['id']
if task_id in [15099, 15278, 780]:
continue
daily_finish = task.get('dailyFinishTimes')
max_finish = task.get('mgcTaskBaseInfo', {}).get('curPeriodMaxFinishTimes')
name = task.get('mgcTaskBaseInfo', {}).get('viewTitle')
if daily_finish == max_finish:
print(f'今日已完成:{name}')
continue
num = max_finish - daily_finish
for _ in range(num):
self.go_shoping(task_id, name)
# 每日签到
for sign in sign_state:
current = sign.get('current', False)
state = sign.get('state', 0)
if not current:
continue
if state == 2:
print('今日已打卡签到')
break
print('去完成:现金打卡')
self.sign_in()
break
self.sleep()
new_data = self.send_request(data = payload, method = 'POST')
base_model = new_data['data'].get('playerBaseModel', {})
# 开红包
packet_amount = base_model.get('redPacketInfo').get('leftRedPacketAmount')
draw_info = base_model.get('lotteryInfo').get('leftLotteryTimesAmount')
if packet_amount == 0:
print('今日红包已经开完了')
else:
print(f'今日可开红包次数:{packet_amount}')
for _ in range(packet_amount):
self.open_packet()
# 抽奖
if draw_info == 0:
print('剩余抽奖次数为0')
else:
print(f'今日可抽奖次数:{draw_info}')
if not draw:
print('已关闭抽奖')
else:
for _ in range(draw_info):
self.draw()
# task
def go_shoping(self, task_id, name):
def send_shoping(protocol_id):
payload = self.base_data.copy()
payload['protocolId'] = protocol_id
payload['data'] = {
"taskId": task_id,
"externalStr": f'{{"cityId": \'{self.cityid}\'}}'
}
return_data = self.send_request(data = payload, method = 'POST')
if return_data['code'] != 200:
return return_data['desc']
send_shoping(1004)
print(f'完成任务: [{name}]')
time.sleep(random.randint(5, 10))
send_shoping(1005)
print(f'领取任务: [{name}] 奖励成功')
# 签到
def sign_in(self):
payload = self.base_data.copy()
payload['protocolId'] = 1007
payload['data'] = {}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
return return_data['desc']
content = return_data['data'].get('remitNotificationModelList')[0].get('content')
print(content)
# 开红包
def open_packet(self):
max_cash_token = 49.98
payload = self.base_data.copy()
payload['protocolId'] = 1008
payload['data'] = {}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep
if return_data['code'] != 200:
print(return_data)
return
reward_list = return_data['data'].get('rewardModelList')
remit_models = return_data['data'].get('remitNotificationModels')
activity_info = return_data.get('data').get('playerBaseModel').get('activityCycleInfo')
cash_token = activity_info.get('cashToken') / 100.0
content = remit_models[0].get('content') if remit_models else None
if content:
print(content)
else:
rewards = [value['amount'] / 100.0 if cash_token < max_cash_token else value['amount']
for value in reward_list if value['rewarded']]
if rewards:
for reward in rewards:
print(f'开红包获得:{reward}金额' if cash_token < max_cash_token else f'开红包获得:{reward}金币')
# 抽奖
def draw(self):
payload = self.base_data.copy()
payload['protocolId'] = 1010
payload['data'] = {}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
print(return_data)
return
data = return_data['data']
current_reward = data.get('currentReward', {})
rewarded_model = current_reward.get('rewardedCouponModel')
if rewarded_model:
name = rewarded_model.get('name')
print(f'抽奖获得:{name}')
else:
seq = current_reward.get('seq')
amount = current_reward.get('amount')
reward_list = return_data['data'].get('rewardModelList', [])
rewards_dict = {value.get('seq'): value for value in reward_list}
resource_type = rewards_dict.get(seq, {}).get('resourceType', None)
if resource_type == 5:
print(f'抽奖获得: {amount}金币')
elif resource_type == 9 or resource_type == 3:
num = amount // 100
print(f'抽奖获得: {num}元提现券')
else:
print('抽了个啥')
# 获取用户信息
def get_user_info(self):
payload = self.base_data.copy()
payload['protocolId'] = 1012
payload['data'] = {}
return_data = self.send_request(data = payload, method = 'POST')
self.sleep()
if return_data['code'] != 200:
return return_data['desc']
activity_info = return_data.get('data').get('activityCycleInfo')
cash_token = activity_info.get('cashToken') / 100.0
coin_token = activity_info.get('coinToken')
expire_time = activity_info.get('expireTime')
surplus_time = expire_time - self.current_time
day = int(surplus_time / (1000 * 60 * 60 * 24))
print(f'每日赚钱余额:{cash_token}{coin_token}金币')
print(f'本期剩余天数:{day},请注意过期时间哦')
if __name__ == "__main__":
cookies = cookies.split("@")
mt = f"美团共获取到{len(cookies)}个账号"
print(mt)
for i, cookie in enumerate(cookies, start = 1):
print(f"\n======== ▷ 第 {i} 个账号 ◁ ========")
MT(cookie).run()
print("\n随机等待5-10s进行下一个账号")
time.sleep(random.randint(5, 10))

59
融磐安1.1.js Normal file

File diff suppressed because one or more lines are too long

2304
西瓜视频v2.0.js Normal file

File diff suppressed because one or more lines are too long

1221
读嘉V1.5.js Normal file

File diff suppressed because one or more lines are too long

909
阅龙湾V1.3.js Normal file

File diff suppressed because one or more lines are too long