Files
qinglong/脚本库/web版/抓包/104-抖音极速版/2023-09-20_dyjsb_dc2d656e.py
2026-05-24 05:33:05 +00:00

334 lines
13 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Source: https://github.com/xfmeng970526/ql/blob/main/dyjsb.py
# Raw: https://raw.githubusercontent.com/xfmeng970526/ql/main/dyjsb.py
# Repo: xfmeng970526/ql
# Path: dyjsb.py
# UploadedAt: 2023-09-20T12:13:28+08:00
# SHA256: dc2d656ed2929b83200d5146d506918b9e802caab9bf01654affd1e94ca61562
# Category: web版/抓包
# Evidence: web/H5关键词 + cookie/token/header
"""
cron: * 37 0-23 * * *
new Env('104-抖音极速版');
项目名称:抖音极速版
安卓正常跑,不支持苹果
改自by Pearson大佬修复安卓
开宝箱,宝箱广告,视频广告,走路
6.13
url是链接后面的
变量名(dyjsb) url#cookie#x-argus#x-ladon
多账号@
ua换成自己的
"""
ua = "com.ss.android.ugc.aweme.lite/250101 (Linux; U; Android 10; zh_CN_#Hans; LRA-AL00; Build/HONORLRA-AL00;tt-ok/3.12.13.1)"
import sys
import os
from urllib.parse import unquote
import time
import random
import base64
import requests
import json
import threading
try:
from notify import send
except:
print("upload notify failed")
cookies = os.getenv("dyjsb")
log_content = ''
class LoggerWriter:
def __init__(self, level):
self.level = level
def write(self, message):
global log_content
self.level.write(message)
log_content += message
def flush(self):
return None
sys.stdout = LoggerWriter(sys.stdout)
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]
self.nickname = self.get_nickname()
def run(self):
self.get_info()
self.sign_in()
time.sleep(1.5)
self.read()
time.sleep(1.5)
self.open_box()
print(f"•••准备看广告,假装看15s•••")
time.sleep(random.randint(20, 30))
self.box_ad()
self.detail_info()
time.sleep(random.randint(20, 30))
self.detail_ad()
step = self.get_step()
time.sleep(0.5)
self.read()
time.sleep(1.5)
self.upload_step(step)
self.step_reward()
def sign_in(self):
try:
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/done/sign_in?{self.url}"
headers = {
'Host': 'api5-normal-c-lf.amemv.com',
'Connection': 'keep-alive',
'Content-Length': '22',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua,
'passport-sdk-version': '5.12.1',
'X-Argus': self.argus,
'X-Ladon': self.ladon,
'Content-Type': 'text/plain'}
payload = base64.b64decode("ewogICJpbl9zcF90aW1lIiA6IDAKfQ==")
response = requests.request("POST", url=url, headers=headers, data=payload)
qdcg = f"[{self.nickname}]签到成功,获取金币{response.json().get('data').get('amount')}"
print(qdcg)
except:
qdsb = "签到失败,可能今日已签到"
print(qdsb)
def get_info(self):
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/page?{self.url}"
headers = {'Host': 'api5-normal-c-lq.amemv.com',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua}
response = requests.request("GET", url=url, headers=headers)
if response.json().get("data").get("is_login"):
dlcg = f"[{self.nickname}]登录成功\n" f"[{self.nickname}]今日金币{response.json().get('data').get('income_data').get('amount1')}"
print(dlcg)
def get_nickname(self):
now = str(time.time()).replace(".", "")[:10]
url = f"https://api5-core-c-lf.amemv.com/aweme/v1/user/profile/self/?{self.url}"
headers = {'Host': 'api5-normal-c-lq.amemv.com',
'Content-Type': 'application/json; encoding=utf-8',
'Accept': 'application/json',
'tt-request-time': now,
'X-Argus': self.argus,
'X-Ladon': self.ladon,
'Cookie': self.cookie,
'User-Agent': ua}
payload = None
try:
response = requests.request("GET", url=url, headers=headers, data=payload)
i = 1
for cookie in cookies:
nickname = f"账号{i}"
# nickname = response.json().get("user").get("nickname")
return nickname
except:
hqyfmsb = "获取用户名失败"
print(hqyhmsb)
def read(self):
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/done/read?{self.url}"
headers = {
'Host': 'api5-normal-c-lf.amemv.com',
'Connection': 'keep-alive',
'Content-Length': '22',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua,
'passport-sdk-version': '5.12.1',
'X-Argus': self.argus,
'X-Ladon': self.ladon,
'Content-Type': 'text/plain'}
payload = base64.b64decode("ewogICJpbl9zcF90aW1lIiA6IDAsCiAgInRhc2tfa2V5IiA6ICJyZWFkIgp9")
response = requests.request("POST", url=url, headers=headers, data=payload)
if response.json().get("err_tips") == "成功":
sspjl = f"[{self.nickname}]刷视频奖励--{response.json().get('data').get('score_amount')}"
print(sspjl)
def open_box(self):
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/done/treasure_task?{self.url}"
headers = {
'Host': 'api5-normal-c-lf.amemv.com',
'Connection': 'keep-alive',
'Content-Length': '22',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua,
'passport-sdk-version': '5.12.1',
'X-Argus': self.argus,
'X-Ladon': self.ladon,
'Content-Type': 'text/plain'}
payload = base64.b64decode("ewogICJpbl9zcF90aW1lIiA6IDAKfQ==")
response = requests.request("POST", url=url, headers=headers, data=payload)
if response.json().get("err_tips") == "成功":
kbxjljb = f"[{self.nickname}]开宝箱奖励金币--{response.json().get('data').get('amount')}"
print(kbxjljb)
elif response.json().get("err_no") == 10006:
cw1 = response.json().get("err_tips")
print(cw1)
else:
kbx = "开宝箱"+response.text
print(kbx)########
def box_ad(self):
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/done/excitation_ad_treasure_box?{self.url}"
headers = {
'Host': 'api5-normal-c-lf.amemv.com',
'Connection': 'keep-alive',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua,
'X-Argus': self.argus,
'X-Ladon': self.ladon}
response = requests.request("POST", url=url, headers=headers)
if response.json().get("err_tips") == "成功":
kbxgg = f"[{self.nickname}]看宝箱广告--{response.json().get('data').get('amount')}"
print(kbxgg)
elif response.json().get("err_no") == 10006:
cw2 = response.json().get("err_tips")
print(cw2)
else:
bxgg = "宝箱广告"+response.text
print(bxgg)#########
def detail_info(self):
now = str(time.time()).replace(".", "")[:13]
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/sign_in/detail?{self.url}"
headers = {'Host': 'api5-normal-c-lq.amemv.com',
'Content-Type': 'application/json; encoding=utf-8',
'Accept': 'application/json',
'tt-request-time': now,
'X-Argus': self.argus,
'X-Ladon': self.ladon,
'Cookie': self.cookie,
'User-Agent': ua}
response = requests.request("GET", url=url, headers=headers)
score_amount = response.json().get("data").get("calendar_reminder_button").get("score_amount")
if response.json().get("err_tips") == "成功":
hqggspcg = f"[{self.nickname}]获取广告视频成功,预计获得{score_amount},假装看15秒"
print(hqggspcg)
else:
hqggsp = "获取广告视频"+response.text
print(hqggsp)
def detail_ad(self):
now = str(time.time()).replace(".", "")[:13]
url = f"https://api3-normal-c.amemv.com/luckycat/aweme/v1/task/done/excitation_ad?{self.url}"
headers = {
'Host': 'api3-normal-c-lf.amemv.com',
'Connection': 'keep-alive',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua,
'passport-sdk-version': '203100',
'X-Argus': self.argus,
'X-Ladon': self.ladon}
response = requests.request("POST", url=url, headers=headers)
if response.json().get("err_tips") == "成功":
kspjljbcg = f"[{self.nickname}]看视频奖励金币成功--{response.json().get('data').get('amount')}"
print(kspjljbcg)
else:
kspjl = "看视频奖励"+response.text
print(kspjl)
def get_step(self):
now = str(time.time()).replace(".", "")[:13]
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/walk/page?{self.url}"
headers = {
'Host': 'api5-normal-c-lf.amemv.com',
'Connection': 'keep-alive',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua,
'passport-sdk-version': '5.12.1',
'X-Argus': self.argus,
'X-Ladon': self.ladon}
response = requests.request("GET", url=url, headers=headers)
if response.json().get("err_tips") == "成功":
step = response.json().get("data").get("continue_walk_list")[0].get("step")
dqbs = f"[{self.nickname}]当前步数{step}"
print(dqbs)
return step
else:
zlcc = "走路出错"
print(zlcc)
def upload_step(self, steps):
now = str(time.time()).replace(".", "")[:10]
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/walk/step_submit?{self.url}"
headers = {
'Host': 'api5-normal-c-lf.amemv.com',
'Connection': 'keep-alive',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua,
'passport-sdk-version': '5.12.1',
'X-Argus': self.argus,
'X-Ladon': self.ladon}
step = random.randint(steps, steps+1200)
payload = {"step": step,
"submit_time": int(now),
"in_sp_time": 0}
payload = json.dumps(payload)
response = requests.request("POST", url=url, headers=headers, data=payload)
if response.json().get("err_tips") == "成功":
scbscg = f"[{self.nickname}]上传步数成功,当前步数--{response.json().get('data').get('today_step')}"
print(scbscg)
def step_reward(self):
now = str(time.time()).replace(".", "")[:13]
url = f"https://api5-normal-c-lf.amemv.com/luckycat/aweme/v1/task/walk/receive_step_reward?{self.url}"
headers = {
'Host': 'api5-normal-c-lf.amemv.com',
'Connection': 'keep-alive',
'Accept': 'application/json',
'Cookie': self.cookie,
'User-Agent': ua,
'passport-sdk-version': '5.12.1',
'X-Argus': self.argus,
'X-Ladon': self.ladon}
payload = base64.b64decode("ewogICJpbl9zcF90aW1lIiA6IDAKfQ==")
response = requests.request("POST", url=url, headers=headers, data=payload)
if response.json().get("err_tips") == "成功":
lcbsjlcg = f"[{self.nickname}]领取步数奖励成功--{response.json().get('data').get('reward_amount')}"
print(lcbsjlcg)
elif response.json().get("err_no") == 10009:
cw3 = response.json().get("err_tips")
print(cw3)
else:
xywb = response.text
print(xywb)
if __name__ == "__main__":
cookies = cookies.split("@")
dyjsbghqd = f"抖音极速版共获取到{len(cookies)}个账号,偷撸冲"
print(dyjsbghqd)
i = 1
for cookie in cookies:
print(f"\n---开始第{i}个账号---")
i += 1
DY(cookie).run()
print("\n随机等待30s进行下一个账号")
time.sleep(random.randint(30,60))
# 在所有账号循环处理完成后,将所有输出内容推送
if len(cookies) > 0:
send('抖音极速版', log_content)
# 推送消息完成后,立即退出程序
sys.exit(0)