├── .gitignore ├── Loon └── Plugin │ └── Loon.plugin ├── QuantumultX ├── Rewrite │ └── QX.snippet └── Scripts │ ├── bwtea.js │ ├── mnmilk.js │ ├── paramjar.js │ └── skkpsync.js ├── README.md ├── Shadowrocket └── Rewrite │ └── Surge.sgmodule ├── Shell ├── Docker.sh └── elecv2p.sh ├── SillyPlugin ├── Time.js ├── compile.js ├── express.js ├── qqbound.js ├── sign.js └── step.js ├── Surge ├── Modules │ ├── BlockUpdate.sgmodule │ └── mnmilk.sgmodule ├── Rules │ └── OpenAI.list └── Scripts │ └── mnmilk.js ├── boxjs.json └── scripts ├── elm └── elm.js ├── js ├── 58tc.js ├── cmcc.js ├── jrtt.js ├── jztt.js ├── skkpsync.js └── xqz.js ├── ks ├── KS_Unencrypted.js ├── enhance.json ├── ks.js ├── ks.json ├── ksjbm.js ├── ksjsb-sever.js ├── ksjsb.js ├── ksjsb.json ├── ksjsb990.js ├── ksjsbdb.js ├── ksjsbenhance.js ├── ksjsbmixed.js ├── kstx.js └── mixed.json ├── python ├── O2O.py ├── cklist.txt ├── txxq.py └── xstl.py └── tyqh ├── tyqh.js └── tyqhhz.js /.gitignore: -------------------------------------------------------------------------------- 1 | **/node_modules -------------------------------------------------------------------------------- /Loon/Plugin/Loon.plugin: -------------------------------------------------------------------------------- 1 | #!name=Sub-Store 2 | #!desc=高级订阅管理工具 3 | #!openUrl=https://sub.store 4 | #!author=Peng-YM 5 | #!homepage=https://github.com/Peng-YM/Sub-Store 6 | #!icon=https://raw.githubusercontent.com/58xinian/icon/master/Sub-Store1.png 7 | 8 | [MITM] 9 | hostname=sub.store 10 | 11 | [Script] 12 | http-request https?:\/\/sub\.store script-path=https://github.com/sub-store-org/Sub-Store/releases/latest/download/sub-store.min.js, requires-body=true, timeout=120, tag=Sub-Store 13 | 14 | cron "0 0 * * *" script-path=https://github.com/sub-store-org/Sub-Store/releases/latest/download/cron-sync-artifacts.min.js, tag=Sub-Store Sync -------------------------------------------------------------------------------- /QuantumultX/Rewrite/QX.snippet: -------------------------------------------------------------------------------- 1 | hostname=sub.store 2 | 3 | ^https?:\/\/sub\.store url script-analyze-echo-response https://github.com/sub-store-org/Sub-Store/releases/latest/download/sub-store.min.js -------------------------------------------------------------------------------- /QuantumultX/Scripts/bwtea.js: -------------------------------------------------------------------------------- 1 | /* 霸王茶姬 2 | [rewrite_local] 3 | # > 替换token,达到换账号的功能 自己手动修改token的值 4 | ^http[s]?:\/\/qmwebapi\.qmai\.cn\/web\/seller\/oauth\/flash-sale-login.*$ url script-request-body https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/QuantumultX/Scripts/bwtea.js 5 | 6 | [mitm] 7 | hostname = qmwebapi.qmai.cn 8 | */ 9 | 10 | // 在此填写你的ck/token 11 | const tk = '' 12 | 13 | var body = $response.body 14 | var obj = JSON.parse(body) 15 | 16 | obj['data']['token'] = tk 17 | body = JSON.stringify(obj) 18 | 19 | //console.log(body) 20 | $notify('霸王茶姬', '替换成功', `已替换为${tk}`) 21 | $done(body) -------------------------------------------------------------------------------- /QuantumultX/Scripts/mnmilk.js: -------------------------------------------------------------------------------- 1 | /* 2 | 蒙牛兑奶,兑换提前点亮 3 | ******************************* 4 | [rewrite_local] 5 | # > 修改返回体,使按钮变亮 6 | ^http[s]?:\/\/mp-isv\.youzanyun\.com\/point\/item\/getItemDetail url script-response-body https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/QuantumultX/Scripts/mnmilk.js 7 | ^http[s]?:\/\/m\.pailifan\.com\/xcx\/v2\/mall_v2_goods_detail url script-response-body https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/QuantumultX/Scripts/mnmilk.js 8 | ^http[s]?:\/\/m\.pailifan\.com\/xcx\/v2\/exchange_order_confirm url script-response-body https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/QuantumultX/Scripts/mnmilk.js 9 | 10 | [mitm] 11 | hostname = mp-isv.youzanyun.com, m.pailifan.com 12 | */ 13 | url = $request.url 14 | u1 = "/point/item/getItemDetail" 15 | u2 = "/xcx/v2/mall_v2_goods_detail" 16 | u3 = "/xcx/v2/exchange_order_confirm" 17 | 18 | var body = $response.body; 19 | var obj = JSON.parse(body); 20 | var character = '商品已被抢光啦'; 21 | 22 | if (url.indexOf(u1) != -1){ 23 | 24 | obj['data']['isExchange'] = true; 25 | body = JSON.stringify(obj); 26 | $notify("点亮人生", "蒙牛营养家", "点亮成功") 27 | 28 | }else if (url.indexOf(u2) != -1){ 29 | 30 | obj['data']['is_not_time_exchange'] = ''; 31 | obj['data']['status'] = 4; 32 | body = JSON.stringify(obj); 33 | 34 | }else{ 35 | if (obj['msg'].indexOf(character) != -1){ 36 | obj['flag'] = 0; 37 | } 38 | body = JSON.stringify(obj); 39 | } 40 | 41 | $done(body); -------------------------------------------------------------------------------- /QuantumultX/Scripts/paramjar.js: -------------------------------------------------------------------------------- 1 | /* 蒙牛 伊利 2 | ******************************* 3 | [rewrite_local] 4 | # > 抓openid和id 5 | # > 抓openid和accesstoken 6 | ^http[s]?:\/\/zaocan\.javamall\.cn\/zaocan-api\/member\/userMember url script-response-body https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/QuantumultX/Scripts/paramjar.js 7 | ^http[s]?:\/\/wx-camp-180-02-applet-api\.mscampapi\.digitalyili\.com\/home\/page\/get\/game\/open\/time url script-request-header https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/QuantumultX/Scripts/paramjar.js 8 | ^http[s]?:\/\/wx-camp-180-02-applet-api\.mscampapi\.digitalyili.com\/home\/page\/get\/task\/red\/hint url script-request-header https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/QuantumultX/Scripts/paramjar.js 9 | 10 | [mitm] 11 | hostname = zaocan.javamall.cn, wx-camp-180-02-applet-api.mscampapi.digitalyili.com 12 | */ 13 | 14 | var url = $request.url; 15 | 16 | 17 | u1 = '/zaocan.javamall.cn/zaocan-api/member/userMember' 18 | u2 = '/wx-camp-180-02-applet-api.mscampapi.digitalyili.com/home/page/get/task/red/hint' 19 | 20 | if (url.indexOf(u1) != -1){ 21 | var response = $response.body; 22 | res = JSON.parse(response); 23 | id = res.data.id; 24 | openid = res.data.openid; 25 | 26 | var title = "蒙牛营养家"; 27 | var subtitle = "openId 和 id 获取成功"; 28 | var msg = 'id: '+ id + '\nopenid: ' +openid; 29 | $notify(title, subtitle, msg); 30 | 31 | }else if((url.indexOf(u2) != -1)){ // url.includes("?openId=") 32 | var headers = $request.headers; 33 | // console.log(`Headers: ${headers}`) 34 | var openId = url.match(/openId=([^&]*)/)[1]; 35 | // console.log(`openId: ${openId}`); 36 | var accessToken = headers.access_token; 37 | // console.log(`accessToken: ${accessToken}`) 38 | var title = "伊利"; 39 | var subtitle = "openId 和 accessToken 获取成功"; 40 | var msg = `openId: ${openId}\naccessToken: ${accessToken}`; 41 | $notify(title, subtitle, msg); 42 | 43 | }else{ 44 | $done(); 45 | 46 | } 47 | 48 | $done(); 49 | -------------------------------------------------------------------------------- /QuantumultX/Scripts/skkpsync.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file: skkp.js 3 | * @date: 2024.3.2 4 | * @param {string} host - 青龙地址,示例;http://12.13.14.15:5700 [必填] 5 | * @param {string} userName - 青龙面板用户名 [x] 6 | * @param {string} passWord - 青龙面板用户密码 [x] 7 | * @param {string} envName - 对应的变量名,这里是skkp [必填] 8 | * @param {string} client_id - 青龙面板OpenApi的id,可去系统设置-应用设置生成 [必填] 9 | * @param {string} client_secret - 青龙面板OpenApi的秘钥,可去系统设置-应用设置生成 [必填] 10 | * @description: 实现圈X获取数据添加或更新到青龙 11 | =========================================== 12 | [rewrite_local] 13 | # > 同步环境变量到青龙 14 | ^http[s]?:\/\/qnyk\.qnzjzk\.cn\:9090\/applet\/wechat\/hasUnionId url script-request-header skkp.js 15 | [mitm] 16 | hostname=qnyk.qnzjzk.cn 17 | **/ 18 | 19 | var host = "http://xxxxx"; 20 | var envName = "skkp"; 21 | var client_id = "xxxxx"; 22 | var client_secret = "xxxxxx"; 23 | var headers = $request.headers; 24 | // console.log(JSON.stringify(headers)) 25 | var key = headers.userId; 26 | // console.log(key) 27 | var updateValue = headers.ykSession; 28 | 29 | function getSysToken(client_id, client_secret) { 30 | let tokenEndPoint = `/open/auth/token?client_id=${client_id}&client_secret=${client_secret}`; 31 | let url = host + tokenEndPoint; 32 | // console.log(url); 33 | $task 34 | .fetch({ 35 | url: url, 36 | method: "GET", 37 | headers: { 38 | "Content-Type": "application/json" 39 | } 40 | }) 41 | .then( 42 | response => { 43 | let result = JSON.parse(response.body); 44 | // console.log(result); 45 | console.log(JSON.stringify(response.body)); 46 | let tokenText = result.data.token; 47 | // console.log(tokenText); 48 | let tokenType = result.data.token_type; 49 | let token = `${tokenType} ${tokenText}`; 50 | // console.log(token); 51 | console.log("OpenAPIToken: " + token); 52 | getEnvs(token); 53 | }, 54 | error => { 55 | console.log("获取OpenAPIToken失败: " + error); 56 | $done({}); 57 | } 58 | ); 59 | } 60 | 61 | function getEnvs(token) { 62 | let timestamp = Date.now(); 63 | let envEndPoint = `/open/envs?searchValue=&t=${timestamp}`; 64 | let url = host + envEndPoint; 65 | 66 | $task 67 | .fetch({ 68 | url: url, 69 | method: "GET", 70 | headers: { 71 | Authorization: `${token}` 72 | } 73 | }) 74 | .then( 75 | response => { 76 | let data = JSON.parse(response.body); 77 | let envList = data.data; 78 | const result = envList.find(item => item.name == envName); 79 | // console.log(JSON.stringify(result)); 80 | if (result) { 81 | console.log("获取の环境变量: " + JSON.stringify(result)); 82 | updateEnv(token, result); 83 | } else { 84 | console.log("未找到指定の环境变量"); 85 | $done({}); 86 | } 87 | }, 88 | error => { 89 | console.log("获取环境变量失败: " + error); 90 | $done({}); 91 | } 92 | ); 93 | } 94 | 95 | function updateEnv(token, result) { 96 | let updateEnvEndpoint = "/open/envs"; 97 | let url = host + updateEnvEndpoint; 98 | let { remarks, value, name, id } = result; 99 | let hijack = { remarks, value, name, id }; 100 | console.log("修改前:" + JSON.stringify(hijack)); 101 | let formerValue = hijack.value; 102 | formerValue = removeDuplicate(formerValue); 103 | console.log("去重后の结果: " + formerValue) 104 | // let updateValue = 'success'; 105 | let arr = formerValue.split("=="); 106 | if (formerValue.includes(key)) { 107 | for (let i = 0; i < arr.length; i++) { 108 | let subArr = arr[i].split("@"); 109 | if (subArr[0] == key) { 110 | subArr[1] = updateValue; 111 | arr[i] = subArr.join("@"); 112 | break; 113 | } 114 | } 115 | let title = "善康科普"; 116 | let subtitle = ""; 117 | let msg = `${key}已更新`; 118 | $notify(title, subtitle, msg); 119 | } else { 120 | arr.push(`${key}@${updateValue}`); 121 | console.log(`${key}@${updateValue}添加成功`); 122 | let title = "善康科普"; 123 | let subtitle = ""; 124 | let msg = `${key}已添加`; 125 | $notify(title, subtitle, msg); 126 | } 127 | 128 | hijack.value =removeDuplicate(arr.join("==")); 129 | console.log("修改后:" + JSON.stringify(hijack)); 130 | 131 | $task 132 | .fetch({ 133 | url: url, 134 | method: "PUT", 135 | headers: { 136 | Authorization: `${token}`, 137 | "Content-Type": "application/json" 138 | }, 139 | body: JSON.stringify(hijack) 140 | }) 141 | .then( 142 | response => { 143 | console.log("更新环境变量の结果:" + response.body); 144 | $done({}); 145 | }, 146 | error => { 147 | console.log("更新环境变量失败: " + error); 148 | $done({}); 149 | } 150 | ); 151 | } 152 | 153 | function removeDuplicate(str) { 154 | const fields = str.split("=="); 155 | // 初始化一个对象来存储每个前缀最后一次出现的字段 156 | const latestPrefixes = {}; 157 | 158 | // 遍历字段数组 159 | fields.forEach(field => { 160 | // 获取当前字段的前缀("@"之前的部分) 161 | const prefix = field.split("@")[0]; 162 | // 更新这个前缀对应的字段为当前字段,无论是否遇到过这个前缀 163 | latestPrefixes[prefix] = field; 164 | }); 165 | 166 | // 从latestPrefixes对象中提取值组成最终结果的字段数组 167 | const resultFields = Object.values(latestPrefixes); 168 | 169 | // 使用分隔符将处理后的字段数组重新组合成字符串 170 | const result = resultFields.join("=="); 171 | return result; 172 | } 173 | 174 | // 开始执行脚本 175 | getSysToken(client_id, client_secret); 176 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## SillyLib 2 | 自用的插件、工具、脚本集合 [Telegram](https://t.me/PorterTree) 3 | 4 | ### 代理工具 5 | > [!NOTE] 6 | > 1. Loon(推荐) 7 | > 2. QuantumultX 8 | > 3. ShadowRocket(推荐) 9 | > 4. Surge(推荐) 10 | ### 脚本运行环境 11 | - 青龙 12 | > Python 13 | > Nodejs 14 | > Shell 15 | > binary 16 | - 本地 17 | > Python3.10 18 | > ^16 || ^18 || ^19 (node >= 14) 19 | ### 免责声明 20 | > [!IMPORTANT] 21 | > 1. 此项目中的脚本仅用于学习研究,不保证其合法性、准确性、有效性,请根据情况自行判断,本人对此不承担任何保证责任。 22 | > 2. 由于此脚本仅用于学习研究,您必须在下载后 24 小时内将所有内容从您的计算机或手机或任何存储设备中完全删除,若违反规定引起任何事件本人对此均不负责。 23 | > 3. 请勿将此脚本用于任何商业或非法目的,若违反规定请自行对此负责。 24 | > 4. 此脚本涉及应用与本人无关,本人对因此引起的任何隐私泄漏或其他后果不承担任何责任。 -------------------------------------------------------------------------------- /Shadowrocket/Rewrite/Surge.sgmodule: -------------------------------------------------------------------------------- 1 | #!name=Sub-Store 2 | #!desc=高级订阅管理工具 @Peng-YM 3 | [MITM] 4 | hostname=%APPEND% sub.store 5 | 6 | [Script] 7 | Sub-Store = type=http-request,pattern=^https?:\/\/sub\.store,script-path=https://github.com/sub-store-org/Sub-Store/releases/latest/download/sub-store.min.js,requires-body=true,timeout=120,max-size=131072 8 | 9 | Sub-Store Sync = type=cron,cronexp=0 0 * * *,wake-system=1,timeout=120,script-path=https://github.com/sub-store-org/Sub-Store/releases/latest/download/cron-sync-artifacts.min.js 10 | -------------------------------------------------------------------------------- /Shell/Docker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/env bash 2 | ## Author: SuperManito 3 | ## Modified: 2021-5-25 4 | ## License: GPL-2.0 5 | ## Repository: https://github.com/SuperManito/LinuxMirrors 6 | ## https://gitee.com/SuperManito/LinuxMirrors 7 | 8 | function AuthorAutograph() { 9 | echo ' 10 | __ ___ __ ____ 11 | / |/ /___ _____/ /__ / __ )__ __ 12 | / /|_/ / __ `/ __ / _ \ / __ / / / / 13 | / / / / /_/ / /_/ / __/ / /_/ / /_/ / 14 | /_/ /_/\__,_/\__,_/\___/ /_____/\__, / 15 | /____/ 16 | _____ __ ___ _ __ 17 | / ___/__ ______ ___ _____/ |/ /___ _____ (_) /_____ 18 | \__ \/ / / / __ \/ _ \/ ___/ /|_/ / __ `/ __ \/ / __/ __ \ 19 | ___/ / /_/ / /_/ / __/ / / / / / /_/ / / / / / /_/ /_/ / 20 | /____/\__,_/ .___/\___/_/ /_/ /_/\__,_/_/ /_/_/\__/\____/ 21 | /_/ 22 | ' 23 | } 24 | 25 | ## 定义目录和文件 26 | RedHatRelease=/etc/redhat-release 27 | DebianSourceList=/etc/apt/sources.list 28 | DebianSourceListBackup=/etc/apt/sources.list.bak 29 | DebianExtendListDirectory=/etc/apt/sources.list.d 30 | DebianExtendListDirectoryBackup=/etc/apt/sources.list.d.bak 31 | RedHatReposDirectory=/etc/yum.repos.d 32 | RedHatReposDirectoryBackup=/etc/yum.repos.d.bak 33 | 34 | ## 定义系统变量 35 | DebianRelease=lsb_release 36 | Architecture=$(uname -m) 37 | SYSTEM_DEBIAN=Debian 38 | SYSTEM_UBUNTU=Ubuntu 39 | SYSTEM_KALI=Kali 40 | SYSTEM_REDHAT=RedHat 41 | SYSTEM_CENTOS=CentOS 42 | SYSTEM_FEDORA=Fedora 43 | 44 | ## 定义 Docker 相关变量 45 | DockerSourceList=${DebianExtendListDirectory}/docker.list 46 | DockerRepo=${RedHatReposDirectory}/docker-ce.repo 47 | DockerDirectory=/etc/docker 48 | DockerConfig=${DockerDirectory}/daemon.json 49 | DockerConfigBackup=${DockerDirectory}/daemon.json.bak 50 | DockerCompose=/usr/local/bin/docker-compose 51 | PROXY_URL=https://ghproxy.com/ 52 | DOCKER_COMPOSE_VERSION=1.29.2 53 | DOCKER_COMPOSE_URL=https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-Linux-x86_64 54 | 55 | ## 组合各个函数模块 56 | function CombinationFunction() { 57 | PermissionJudgment && NetWorkJudgment && clear 58 | EnvJudgment 59 | TurnOffFirewall 60 | ChooseMirrors 61 | RemoveOldVersion 62 | DockerEngine 63 | [ ${DOCKER_COMPOSE} = "True" ] && DockerCompose 64 | ShowVersion 65 | AuthorAutograph 66 | } 67 | 68 | ## 系统判定变量 69 | function EnvJudgment() { 70 | ## 判定当前系统基于 Debian or RedHat 71 | if [ -f ${RedHatRelease} ]; then 72 | SYSTEM=${SYSTEM_REDHAT} 73 | else 74 | SYSTEM=${SYSTEM_DEBIAN} 75 | fi 76 | ## 判定系统名称、版本、版本号 77 | if [ ${SYSTEM} = ${SYSTEM_DEBIAN} ]; then 78 | SYSTEM_NAME=$(${DebianRelease} -is) 79 | SYSTEM_VERSION=$(${DebianRelease} -cs) 80 | SYSTEM_VERSION_NUMBER=$(${DebianRelease} -rs) 81 | elif [ ${SYSTEM} = ${SYSTEM_REDHAT} ]; then 82 | SYSTEM_NAME=$(cat ${RedHatRelease} | cut -c1-6) 83 | if [ ${SYSTEM_NAME} = ${SYSTEM_CENTOS} ]; then 84 | SYSTEM_VERSION_NUMBER=$(cat ${RedHatRelease} | cut -c22-24) 85 | CENTOS_VERSION=$(cat ${RedHatRelease} | cut -c22) 86 | elif [ ${SYSTEM_NAME} = ${SYSTEM_FEDORA} ]; then 87 | SYSTEM_VERSION_NUMBER=$(cat ${RedHatRelease} | cut -c16-18) 88 | fi 89 | fi 90 | ## 判定系统处理器架构 91 | if [ ${Architecture} = "x86_64" ]; then 92 | SYSTEM_ARCH=x86_64 93 | SOURCE_ARCH=amd64 94 | elif [ ${Architecture} = "aarch64" ]; then 95 | SYSTEM_ARCH=arm64 96 | SOURCE_ARCH=arm64 97 | elif [ ${Architecture} = "armv7l" ]; then 98 | SYSTEM_ARCH=armv7 99 | SOURCE_ARCH=armhf 100 | elif [ ${Architecture} = "armv*" ]; then 101 | SYSTEM_ARCH=${Architecture} 102 | SOURCE_ARCH=armhf 103 | elif [ ${Architecture} = "i686" ]; then 104 | SYSTEM_ARCH=x86_32 105 | echo -e '\n\033[31m---------- Docker Engine 不支持安装在 x86_32 架构的环境上 ----------\033[0m' 106 | exit 107 | else 108 | SYSTEM_ARCH=${Architecture} 109 | SOURCE_ARCH=${Architecture} 110 | fi 111 | ## 定义更新源分支名称 112 | SOURCE_BRANCH=${SYSTEM_NAME,,} 113 | } 114 | 115 | ## 环境判定: 116 | function PermissionJudgment() { 117 | ## 权限判定: 118 | if [ $UID -ne 0 ]; then 119 | echo -e '\033[31m ---------- Permission no enough, please use user ROOT! ---------- \033[0m' 120 | exit 121 | fi 122 | } 123 | function NetWorkJudgment() { 124 | ## 网络环境判定: 125 | ping -c 1 www.baidu.com >/dev/null 2>&1 126 | if [ $? -ne 0 ]; then 127 | echo -e "\033[31m ----- Network connection error, please check the network environment and try again later! ----- \033[0m" 128 | exit 129 | fi 130 | } 131 | 132 | ## 关闭 防火墙 和 SELINUX 133 | function TurnOffFirewall() { 134 | systemctl status firewalld | grep running -q 135 | if [ $? -eq 0 ]; then 136 | systemctl disable --now firewalld >/dev/null 2>&1 137 | sed -i "7c SELINUX=disabled" /etc/selinux/config >/dev/null 2>&1 138 | setenforce 0 >/dev/null 2>&1 139 | fi 140 | } 141 | 142 | ## 卸载旧版本 143 | function RemoveOldVersion() { 144 | ## 删除旧的 Docker CE 源 145 | if [ $SYSTEM = ${SYSTEM_DEBIAN} ]; then 146 | sed -i '/docker-ce/d' ${DebianSourceList} 147 | rm -rf ${DockerSourceList} 148 | elif [ $SYSTEM = ${SYSTEM_REDHAT} ]; then 149 | rm -rf ${DockerRepo} 150 | fi 151 | ## 检测是否已安装旧版软件包 152 | if [ $SYSTEM = ${SYSTEM_DEBIAN} ]; then 153 | dpkg -l | grep docker -q 154 | elif [ $SYSTEM = ${SYSTEM_REDHAT} ]; then 155 | rpm -qa | grep docker -q 156 | fi 157 | if [ $? -eq 0 ]; then 158 | echo -e '\033[33m[*] 检测到已安装旧版本,正在卸载......\033[0m\n' 159 | ## 停止旧版本进程 160 | systemctl status docker | grep running -q 161 | if [ $? -eq 0 ]; then 162 | systemctl disable --now docker >/dev/null 2>&1 163 | sleep 3s 164 | fi 165 | ## 删除旧的软件包 166 | if [ $SYSTEM = ${SYSTEM_DEBIAN} ]; then 167 | apt-get remove -y docker-ce docker-ce-cli containerd.io podman* runc >/dev/null 2>&1 168 | elif [ $SYSTEM = ${SYSTEM_REDHAT} ]; then 169 | yum remove -y docker-ce docker-ce-cli containerd.io podman* runc >/dev/null 2>&1 170 | fi 171 | fi 172 | } 173 | 174 | ## 安装 Docker Engine 175 | function DockerEngine() { 176 | ## 安装前环境检测 177 | if [ $SYSTEM = ${SYSTEM_DEBIAN} ]; then 178 | apt-get update 179 | elif [ $SYSTEM = ${SYSTEM_REDHAT} ]; then 180 | systemctl status firewalld | grep running -q 181 | if [ $? -eq 0 ]; then 182 | systemctl disable --now firewalld >/dev/null 2>&1 183 | sed -i "7c SELINUX=disabled" /etc/selinux/config 184 | setenforce 0 >/dev/null 2>&1 185 | fi 186 | yum makecache 187 | fi 188 | VERIFICATION_SOURCESYNC=$? 189 | if [ ${VERIFICATION_SOURCESYNC} -ne 0 ]; then 190 | echo -e '\033[31m ---------- 软件源同步出错,请先确保软件包管理工具可用 ---------- \033[0m' 191 | exit 192 | fi 193 | 194 | ## 安装环境所需的软件包 195 | if [ $SYSTEM = ${SYSTEM_DEBIAN} ]; then 196 | apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common 197 | elif [ $SYSTEM = ${SYSTEM_REDHAT} ]; then 198 | yum install -y yum-utils device-mapper-persistent-data lvm2 199 | fi 200 | 201 | ## 配置 Docker CE 源 202 | if [ $SYSTEM = ${SYSTEM_DEBIAN} ]; then 203 | if [ $SYSTEM_NAME = ${SYSTEM_KALI} ]; then 204 | curl -fsSL https://${SOURCE}/linux/debian/gpg | apt-key add - 205 | else 206 | curl -fsSL https://${SOURCE}/linux/${SOURCE_BRANCH}/gpg | apt-key add - 207 | fi 208 | 209 | echo "deb [arch=${SOURCE_ARCH}] https://${SOURCE}/linux/${SOURCE_BRANCH} $SYSTEM_VERSION stable" | tee ${DockerSourceList} >/dev/null 2>&1 210 | 211 | if [ $SYSTEM_NAME = ${SYSTEM_KALI} ]; then 212 | sed -i "s/${SYSTEM_VERSION}/buster/g" ${DockerSourceList} 213 | sed -i "s/${SOURCE_BRANCH}/debian/g" ${DockerSourceList} 214 | fi 215 | elif [ $SYSTEM = ${SYSTEM_REDHAT} ]; then 216 | yum-config-manager -y --add-repo https://${SOURCE}/linux/${SOURCE_BRANCH}/docker-ce.repo 217 | fi 218 | 219 | ## 安装 Docker Engine 软件包 220 | if [ $SYSTEM = ${SYSTEM_DEBIAN} ]; then 221 | apt-get update 222 | apt-get install -y docker-ce docker-ce-cli containerd.io 223 | elif [ $SYSTEM = ${SYSTEM_REDHAT} ]; then 224 | yum makecache 225 | yum install -y docker-ce docker-ce-cli containerd.io 226 | fi 227 | 228 | ## 配置镜像加速器 229 | [ $REGISTRY_SOURCE_OFFICIAL == "True" ] || ImageAccelerator 230 | 231 | ## 启动 Docker Engine 服务 232 | systemctl stop docker >/dev/null 2>&1 233 | systemctl enable --now docker 234 | } 235 | 236 | ## 镜像加速器 237 | function ImageAccelerator() { 238 | ## 创建目录和文件 239 | if [ -d ${DockerDirectory} ] && [ -e ${DockerConfig} ]; then 240 | if [ -e ${DockerConfigBackup} ]; then 241 | echo -e "\n\033[32m└ 检测到已备份的 Docker 配置文件,跳过备份操作 ...... \033[0m\n" 242 | else 243 | cp -rf ${DockerConfig} ${DockerConfigBackup} 244 | echo -e "\n\033[32m└ 已备份原有 Docker 配置文件至 ${DockerConfigBackup} ...... \033[0m\n" 245 | fi 246 | sleep 2s 247 | else 248 | mkdir -p ${DockerDirectory} >/dev/null 2>&1 249 | touch ${DockerConfig} 250 | fi 251 | 252 | ## 配置镜像加速器 253 | echo -e '{\n "registry-mirrors": ["https://SOURCE"]\n}' >${DockerConfig} 254 | sed -i "s/SOURCE/$REGISTRY_SOURCE/g" ${DockerConfig} 255 | systemctl daemon-reload 256 | } 257 | 258 | ## 安装 Docker Compose 259 | function DockerCompose() { 260 | echo -e '' 261 | ## 卸载旧版本 262 | [ -e ${DockerCompose} ] && rm -rf ${DockerCompose} 263 | ## 根据处理器架构选择安装方式 264 | if [ ${Architecture} = "x86_64" ]; then 265 | if [ ${DOCKER_COMPOSE_PROXY} = "True" ]; then 266 | curl -L ${PROXY_URL}${DOCKER_COMPOSE_URL} -o ${DockerCompose} 267 | else 268 | curl -L ${DOCKER_COMPOSE_URL} -o ${DockerCompose} 269 | fi 270 | chmod +x ${DockerCompose} 271 | else 272 | if [ $SYSTEM = ${SYSTEM_DEBIAN} ]; then 273 | apt-get install -y python3-pip 274 | elif [ $SYSTEM = ${SYSTEM_REDHAT} ]; then 275 | yum install -y python3-pip 276 | fi 277 | pip3 install --upgrade pip 278 | if [ ${DOCKER_COMPOSE_PROXY} = "True" ]; then 279 | pip3 install -i https://mirrors.aliyun.com/pypi/simple docker-compose 280 | else 281 | pip3 install docker-compose 282 | fi 283 | 284 | [ $? -eq 0 ] || echo -e '\n\033[32m---------- Docker Compose 安装失败 ----------\033[0m\n' 285 | fi 286 | echo -e '' 287 | } 288 | 289 | ## 查看版本信息 290 | function ShowVersion() { 291 | echo -e '\n\033[32m---------- 查看版本 ----------\033[0m\n' 292 | docker -v 293 | VERIFICATION_DOCKER=$? 294 | if [ ${VERIFICATION_DOCKER} -eq 0 ]; then 295 | [ -x ${DockerCompose} ] && docker-compose -v 296 | echo -e '\n\033[32m---------- 安装成功 ----------\033[0m' 297 | else 298 | echo -e '\n\033[31m---------- 安装失败 ----------\033[0m' 299 | exit 300 | fi 301 | systemctl status docker | grep running -q 302 | [ $? -ne 0 ] && echo -e '\n\033[31m [ERROR] 检测到 Docker 服务启动异常,可能由于重复安装导致\033[0m' && echo -e '\n\033[34m 请执行 systemctl start docker 或 service docker start 命令尝试启动......\033[0m' 303 | } 304 | 305 | ## 选择 Docker CE & Docker Hub 源: 306 | function ChooseMirrors() { 307 | echo -e '+---------------------------------------------------+' 308 | echo -e '| |' 309 | echo -e '| ============================================= |' 310 | echo -e '| |' 311 | echo -e '| 欢迎使用 Docker 一键安装脚本 |' 312 | echo -e '| |' 313 | echo -e '| ============================================= |' 314 | echo -e '| |' 315 | echo -e '+---------------------------------------------------+' 316 | echo -e '' 317 | echo -e '#####################################################' 318 | echo -e '' 319 | echo -e ' 提供以下 Docker CE 和 Docker Hub 源可供选择:' 320 | echo -e '' 321 | echo -e '#####################################################' 322 | echo -e '' 323 | echo -e ' Docker CE' 324 | echo -e '' 325 | echo -e ' * 1) 阿里云' 326 | echo -e ' * 2) 腾讯云' 327 | echo -e ' * 3) 华为云' 328 | echo -e ' * 4) Azure' 329 | echo -e ' * 5) 网易' 330 | echo -e ' * 6) 清华大学' 331 | echo -e ' * 7) 浙江大学' 332 | echo -e ' * 8) 中国科学技术大学' 333 | echo -e ' * 9) 官方(国际)' 334 | echo -e '' 335 | echo -e ' Docker Hub' 336 | echo -e '' 337 | echo -e ' * 1) 阿里云(北京)' 338 | echo -e ' * 2) 阿里云(杭州)' 339 | echo -e ' * 3) 阿里云(广州)' 340 | echo -e ' * 4) 腾讯云' 341 | echo -e ' * 5) 华为云' 342 | echo -e ' * 6) Azure' 343 | echo -e ' * 7) DaoCloud' 344 | echo -e ' * 8) 中国科学技术大学' 345 | echo -e ' * 9) 谷歌云(国际)' 346 | echo -e ' * 10) 官方(国际)' 347 | echo -e '' 348 | echo -e '#####################################################' 349 | echo -e '' 350 | echo -e " 运行环境 ${SYSTEM_NAME} ${SYSTEM_VERSION_NUMBER} ${SYSTEM_ARCH}" 351 | echo -e " 系统时间 $(date "+%Y-%m-%d %H:%M:%S")" 352 | echo -e '' 353 | echo -e '#####################################################' 354 | ## 定义 Docker CE 源 355 | CHOICE_A=$(echo -e '\n\033[32m└ 请选择并输入您想使用的 Docker CE 源 [ 1~9 ]:\033[0m') 356 | read -p "${CHOICE_A}" INPUT 357 | case $INPUT in 358 | 1) 359 | SOURCE="mirrors.aliyun.com/docker-ce" 360 | ;; 361 | 2) 362 | SOURCE="mirrors.cloud.tencent.com/docker-ce" 363 | ;; 364 | 3) 365 | SOURCE="repo.huaweicloud.com/docker-ce" 366 | ;; 367 | 4) 368 | SOURCE="mirror.azure.cn/docker-ce" 369 | ;; 370 | 5) 371 | SOURCE="mirrors.163.com/docker-ce" 372 | ;; 373 | 6) 374 | SOURCE="mirrors.tuna.tsinghua.edu.cn/docker-ce" 375 | ;; 376 | 7) 377 | SOURCE="mirrors.zju.edu.cn/docker-ce" 378 | ;; 379 | 8) 380 | SOURCE="mirrors.ustc.edu.cn/docker-ce" 381 | ;; 382 | 9) 383 | SOURCE="download.docker.com" 384 | ;; 385 | *) 386 | SOURCE="mirrors.aliyun.com/docker-ce" 387 | echo -e '\n\033[33m---------- 输入错误,Docker CE 源将默认使用阿里云 ----------\033[0m' 388 | sleep 2s 389 | ;; 390 | esac 391 | echo -e '' 392 | ## 定义 Docker Hub 源(镜像加速器) 393 | CHOICE_B=$(echo -e '\033[32m└ 请选择并输入您想使用的 Docker Hub 源 [ 1~10 ]:\033[0m') 394 | read -p "${CHOICE_B}" INPUT 395 | case $INPUT in 396 | 1) 397 | REGISTRY_SOURCE="registry.cn-beijing.aliyuncs.com" 398 | REGISTRY_SOURCE_OFFICIAL="False" 399 | ;; 400 | 2) 401 | REGISTRY_SOURCE="registry.cn-hangzhou.aliyuncs.com" 402 | REGISTRY_SOURCE_OFFICIAL="False" 403 | ;; 404 | 3) 405 | REGISTRY_SOURCE="registry.cn-guangzhou.aliyuncs.com" 406 | REGISTRY_SOURCE_OFFICIAL="False" 407 | ;; 408 | 4) 409 | REGISTRY_SOURCE="mirror.ccs.tencentyun.com" 410 | REGISTRY_SOURCE_OFFICIAL="False" 411 | ;; 412 | 5) 413 | REGISTRY_SOURCE="0bab0ef02500f24b0f31c00db79ffa00.mirror.swr.myhuaweicloud.com" 414 | REGISTRY_SOURCE_OFFICIAL="False" 415 | ;; 416 | 6) 417 | REGISTRY_SOURCE="dockerhub.azk8s.com" 418 | REGISTRY_SOURCE_OFFICIAL="False" 419 | ;; 420 | 7) 421 | REGISTRY_SOURCE="f1361db2.m.daocloud.io" 422 | REGISTRY_SOURCE_OFFICIAL="False" 423 | ;; 424 | 8) 425 | REGISTRY_SOURCE="docker.mirrors.ustc.edu.cn" 426 | REGISTRY_SOURCE_OFFICIAL="False" 427 | ;; 428 | 9) 429 | REGISTRY_SOURCE="gcr.io" 430 | REGISTRY_SOURCE_OFFICIAL="False" 431 | ;; 432 | 10) 433 | REGISTRY_SOURCE="registry.docker-cn.com" 434 | REGISTRY_SOURCE_OFFICIAL="True" 435 | ;; 436 | *) 437 | REGISTRY_SOURCE="registry.cn-hangzhou.aliyuncs.com" 438 | echo -e '\033[33m---------- 输入错误,将默认使用阿里云(杭州)镜像加速器 ----------\033[0m' 439 | sleep 3s 440 | ;; 441 | esac 442 | 443 | ## 选择是否安装 Docker Compose 444 | if [ -x ${DockerCompose} ]; then 445 | CHOICE_C=$(echo -e '\n\033[32m└ 检测到已安装 Docker Compose ,是否覆盖安装 [ Y/n ]:\033[0m') 446 | else 447 | CHOICE_C=$(echo -e '\n\033[32m└ 是否安装 Docker Compose [ Y/n ]:\033[0m') 448 | fi 449 | read -p "${CHOICE_C}" INPUT 450 | [ -z ${INPUT} ] && INPUT=Y 451 | case $INPUT in 452 | [Yy]*) 453 | DOCKER_COMPOSE="True" 454 | ## 选择下载方式 455 | CHOICE_C1=$(echo -e '\n\033[32m └ 是否使用国内代理进行下载 [ Y/n ]:\033[0m') 456 | read -p "${CHOICE_C1}" INPUT 457 | [ -z ${INPUT} ] && INPUT=Y 458 | case $INPUT in 459 | [Yy]*) 460 | DOCKER_COMPOSE_PROXY="True" 461 | ;; 462 | [Nn]*) 463 | DOCKER_COMPOSE_PROXY="False" 464 | ;; 465 | *) 466 | DOCKER_COMPOSE_PROXY="False" 467 | echo -e '\n\033[33m---------- 输入错误,默认不使用 ----------\033[0m\n' 468 | ;; 469 | esac 470 | ;; 471 | [Nn]*) 472 | DOCKER_COMPOSE="False" 473 | ;; 474 | *) 475 | DOCKER_COMPOSE="False" 476 | echo -e '\n\033[33m---------- 输入错误,默认不安装 ----------\033[0m\n' 477 | ;; 478 | esac 479 | echo -e '' 480 | 481 | systemctl disable --now firewalld >/dev/null 2>&1 482 | [ -s /etc/selinux/config ] && sed -i "7c SELINUX=disabled" /etc/selinux/config >/dev/null 2>&1 && setenforce 0 >/dev/null 2>&1 483 | } 484 | 485 | CombinationFunction -------------------------------------------------------------------------------- /Shell/elecv2p.sh: -------------------------------------------------------------------------------- 1 | cd ~ 2 | if [ $(command -v wget | grep -c "wget") -lt 1 -o $(command -v node | grep -c "node") -lt 1 -o $(command -v yarn | grep -c "yarn") -lt 1 ] 3 | then yum update || apt update 4 | yes | yum upgrade || yes | apt upgrade 5 | yum update || apt update 6 | yum install wget nodejs yarn -y || apt install wget nodejs yarn -y 7 | fi 8 | npm install -g pm2 9 | yarn global add pm2 10 | last_version=$(curl -s https://github.com/elecV2/elecV2P/tags | grep -o "/tag/.*" | cut -c 6- | cut -d '"' -f1 | sed -n 1p) 11 | rm -rf $last_version.tar.gz 12 | wget https://github.com/elecV2/elecV2P/archive/refs/tags/$last_version.tar.gz 13 | if [ ! -d elecV2P ] 14 | then mkdir elecV2P 15 | cz=安装 16 | else cz=更新 17 | fi 18 | tar --extract --file=$last_version.tar.gz --strip-components=1 --directory=elecV2P 19 | rm -rf $last_version.tar.gz 20 | cd ~/elecV2P 21 | yarn 22 | if [ $(grep -c "$last_version" package.json) -ge 1 ] 23 | then cd ~ 24 | echo "cd ~/elecV2P && PORT=8000 node index.js" > v2p.sh 25 | chmod +x v2p.sh 26 | clear 27 | echo v2p已经$cz完成,当前版本为$last_version,输入 ./v2p.sh 启动 28 | else clear 29 | echo v2p$cz失败,请检查全局或更换代理后重新运行脚本 30 | fi -------------------------------------------------------------------------------- /SillyPlugin/Time.js: -------------------------------------------------------------------------------- 1 | const { log } = require("console"); 2 | 3 | /* function Time(){ 4 | let GlobalDate = new Date(); 5 | let CurrentTime = GlobalDate.toLocaleString(); 6 | return CurrentTime; 7 | } 8 | console.log(Time()); */ 9 | let timestamp = new Date().getTime(); 10 | console.log(timestamp); -------------------------------------------------------------------------------- /SillyPlugin/compile.js: -------------------------------------------------------------------------------- 1 | var myDate = new Date(); 2 | var Time = myDate.toLocaleString(); 3 | console.log(Time) 4 | // [rule: ^demo(.*)$] 使用正则匹配,括号中为期望匹配的值 5 | // [rule: demo ?] 使用问号匹配 6 | // [rule: demo] 直接匹配 7 | // [cron: 36 11,17 * * *] 定时任务 8 | // [admin: true] 是否只允许管理员使用 9 | // [disable: false] 是否禁用 10 | // [priority: 10] 匹配优先级 11 | // [server: 1 ] 如果不指定rule和cron时,设置为非空则指定为一个空服务,否则这个js不会加载 12 | //上下文获取 13 | param(n)//获取rule中期望捕获的第n个字符串,中文需要使用 encodeURI(param(n)) 14 | ImType()//聊天来源类型如:qq,wx等,其中fake为特殊调用可能为cron调用 15 | GetUserID()//发送人用户id 16 | GetUsername()//发送人昵称 17 | GetChatID()//群号 18 | GetChatname()//群名 19 | GetContent()//获取接受到的消息 20 | isAdmin()//发送人是否管理员 21 | //系统功能相关 22 | cancall(name)//返回特殊调用的函数 23 | call(name,value)//特殊调用 24 | Debug(log)//打印日志 25 | sleep(millisecond)//休眠 26 | GroupBan(uid, time)//群禁言,需要在群聊才可用 27 | GroupKick(uid, reject)//群踢人,reject为是否拉黑名单,需要在群聊才可用 28 | request({ 29 | url:"",//必须 30 | method:"",//get,post,put,delete,可选,默认get 31 | headers:{},//可选 32 | body:"",//可选 33 | dataType:"",//location=>重定向url,json=>尝试解析为对象,否则为body字符串,可选 34 | useproxy:false,//可选 35 | })//发送请求 36 | //存储相关 sillyGirl存储结构为 {mainKey1:{key1:value,key2:value},mainKey2:{key1:value,key2:value}}} 37 | bucketGet(mainKey,key)//取值 38 | bucketSet(mainKey,key,value)//存值 39 | bucketKeys(mainKey)//获取所有key名称 40 | get(key)//同bucketGet("otto",key) 41 | set(key,value)//同bucketSet("otto",key,value) 42 | //消息相关 43 | input(time /*[,str]*/)//等待下一个消息,str不为空时可接受其他群的消息 str可选 44 | breakIn(str)//生成一个新的消息向下传递,可以被所有命令处理(包括当前js,所以需要防止递归) 45 | Continue()//消息继续向下传递,可以被其他命令处理 46 | Delete()//撤回接受到的这条消息 47 | image(string)//图片地址转可拼接消息字符串 48 | push({ 49 | imType:string,//发送到指定渠道,如qq,wx,必须有 50 | userID:"",//groupCode不为0时为@指定用户,可选 51 | groupCode:"",//可选 52 | content:string,//发送消息 53 | })//给指定im发送消息 54 | notifyMasters(string)//通知管理员 55 | sendText(string)//发送文本 56 | sendImage(url)//发送图片 57 | sendVideo(url)//发送视频 58 | 59 | 60 | 61 | //快手COOKIE 62 | kpn=NEBULA; kpf=ANDROID_PHONE; userId=1703587123; did=ANDROID_d20e0f976406a1f7; c=XIAOMI; ver=10.2; appver=10.2.10.2930; language=zh-cn; countryCode=CN; sys=ANDROID_9; mod=Xiaomi%28Redmi+Note+7+Pro%29; net=WIFI; deviceName=Xiaomi%28Redmi+Note+7+Pro%29; isp=; ud=1703587123; did_tag=7; egid=DFP84F3499D49EC149D8836E4AAAF9F5C3220D655C6D36CE2774E1CB97F5699B; kcv=1455; app=0; bottom_navigation=true; oDid=TEST_ANDROID_d20e0f976406a1f7; android_os=0; boardPlatform=sm6150; androidApiLevel=28; newOc=XIAOMI; slh=0; country_code=cn; nbh=130; hotfix_ver=; did_gt=1647149943198; keyconfig_state=2; max_memory=128; sid=28ce7e79-3382-4002-a799-431302c37cac; cold_launch_time_ms=1649474962512; oc=XIAOMI; sh=2340; app_status=3; ddpi=440; deviceBit=0; browseType=3; power_mode=0; socName=Qualcomm+Snapdragon+6150; is_background=0; sw=1080; ftt=; apptype=22; abi=arm64; userRecoBit=0; device_abi=arm64; totalMemory=5657; grant_browse_type=AUTHORIZED; iuid=; rdid=ANDROID_e6281d517eddc036; sbh=80; darkMode=false; kuaishou.api_st=Cg9rdWFpc2hvdS5hcGkuc3QSoAH1VKlfcM9ox83EF3OuDAWduIuYJ_oyJ1vsUb0BfRZfcj4VvtVggWR8Ko1wFfcxSnYHjaJcVNB4yrUuH5J0p5R6aFEp-gDENIAdnvUZMJmhCXHtMcbcbpmt2NL1VNbaodLS1LLeIA2y0ZMhaDVFKpzyHlCP4q9l-YN4MyVB7FKvRJqszVSAeCfzlFeluYTi57whjDsk7gTTA_OaXvnraEVzGhL608FrZ2RKEaX4x5mnqMPZWrYiICqa2RXJ1x5gXcaf3J2kOhOmMvxDLcJgOr6DhKPBD_TjKAUwAQ; token=Cg9rdWFpc2hvdS5hcGkuc3QSoAH1VKlfcM9ox83EF3OuDAWduIuYJ_oyJ1vsUb0BfRZfcj4VvtVggWR8Ko1wFfcxSnYHjaJcVNB4yrUuH5J0p5R6aFEp-gDENIAdnvUZMJmhCXHtMcbcbpmt2NL1VNbaodLS1LLeIA2y0ZMhaDVFKpzyHlCP4q9l-YN4MyVB7FKvRJqszVSAeCfzlFeluYTi57whjDsk7gTTA_OaXvnraEVzGhL608FrZ2RKEaX4x5mnqMPZWrYiICqa2RXJ1x5gXcaf3J2kOhOmMvxDLcJgOr6DhKPBD_TjKAUwAQ; __NSWJ=jrXD1ZUEeKDaSfw8KRnJSsT4JyLgvRoPqkyCMbcS2ZRW99jiquu4YC5ZtDJa%2F6k2AAAAAw%3D%3D; client_key=2ac2a76d; kuaishou.h5_st=Cg5rdWFpc2hvdS5oNS5zdBKQAcdQVDU8G4ohpRvn2IUwjaPbrrNKLzjEkKcPambBkn_MAUGhVJ8UJ3nlZ4ULMvsw21m0XZIH-ssEyOhW6eTq2C9XhZA_0kHOO9h_FxfkwqDFq5wUnNUCgE-uOMsXjI86ULa43Mw76oF-FlYJkE_eq2Lk014Iil4Boui8uOvW4wsE9ZMRMVu9uCGraOZj7NiWBRoSORtdXpIejLJWWsAD9TbijOAxIiCpEiVLC4GHkoMWQ6FXzd8K6bBbJXyykiUiA8cL_am6vygFMAE -------------------------------------------------------------------------------- /SillyPlugin/express.js: -------------------------------------------------------------------------------- 1 | // [rule: ^快递$] 2 | const api = 'https://route.showapi.com/64-19?showapi_appid=75497&showapi_sign=7276c8f4cbc14155aa3e025b73eff0ca'; 3 | var myDate = new Date(); 4 | var Time = myDate.toLocaleString( ); 5 | function express() { 6 | sendText("[Tips]请输入你的快递单号"+"\n[Tips]请在10秒之内输入快递单号"+"\n[Tips]输入q退出当前会话"+"\n[当前时间] "+Time); 7 | var num = input(10000); 8 | if (num == ''){ 9 | sendText('已超时,退出当前会话') 10 | return 11 | } 12 | if (num == 'q') { 13 | sendText('已取消会话') 14 | return 15 | } 16 | //if (num != ''){} 17 | sleep(6500); 18 | let orderid = "com=auto&nu="+num+"&phone="+num; 19 | var result =request({ 20 | url:api,//必须 21 | method:"post",//get,post,put,delete,可选,默认get 22 | //headers:{},//可选 23 | body:orderid,//可选 24 | dataType:"json",//location=>重定向url,json=>尝试解析为对象,否则为body字符串,可选 25 | useproxy:false,//可选 26 | }) 27 | let data_formal = result.showapi_res_body.data; 28 | //获取expresslogo 29 | let urllogo =result.showapi_res_body.logo; 30 | //倒叙数组 31 | let data = data_formal.reverse(); 32 | let steplength = data.length; 33 | var generalmsg = ''; 34 | for (let i = 0;i重定向url,json=>尝试解析为对象,否则为body字符串,可选 34 | useproxy:false,//可选 35 | })//发送请求 36 | let status = rst.code 37 | if (status == 0) { 38 | signin(); 39 | }else{ 40 | sendText("状态:COOKIE失效,请更新"+"\n"+"时间:"+Time()); 41 | main(); 42 | } 43 | } 44 | 45 | 46 | function getBatcId(){ 47 | const url = 'https://gw.wozaixiaoyuan.com/health/mobile/health/getBatch' 48 | let userCk = bucketGet('signck',qq); 49 | rst = request({ 50 | url:url,//必须 51 | method:"post",//get,post,put,delete,可选,默认get 52 | headers:{ 53 | 'User-Agent':' Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.20(0x18001423) NetType/WIFI Language/zh_CN', 54 | 'JWSESSION':userCk, 55 | 'content-type': 'application/x-www-form-urlencoded' 56 | },//可选 57 | // body:data.SWPU,//可选 58 | dataType:"json",//location=>重定向url,json=>尝试解析为对象,否则为body字符串,可选 59 | useproxy:false,//可选 60 | })//发送请求 61 | let BatchId = rst.data.list[0].id 62 | return BatchId 63 | } 64 | 65 | 66 | 67 | function main() { 68 | sleep(1000); 69 | sendText("状态:请在30秒之内输入你的CCOOKIE"+"\n"+"时间:"+Time()); 70 | inCk = input (30000); 71 | var arr = ['q','Q','退出']; 72 | if (inCk && inCk.length === 32) { 73 | bucketSet('signck',qq,inCk); 74 | sendText("状态:COOKIE已记录\n信息:如需更改请联系管理员"+"\n"+"时间:"+Time()); 75 | //getParam(); 76 | sleep(1000); 77 | sendText("状态:即将开始打卡"+"\n"+"时间:"+Time()); 78 | signin(); 79 | }else if (arr.indexOf(inCk) != -1) {} else { 80 | sendText("状态:输入有误,请重新开始录入"+"\n"+"时间:"+Time()); 81 | } 82 | 83 | } 84 | 85 | 86 | /* function getParam() { 87 | sendText("请在30秒之内输入你的Param"); 88 | inParam = input (30000); 89 | sendText("Param已记录\n如需更改请联系管理员"); 90 | bucketSet('signparam',qq,inParam); 91 | } */ 92 | function signin() { 93 | const punchUrl = "https://gw.wozaixiaoyuan.com/health/mobile/health/save?batch="+getBatcId() 94 | let userCk = bucketGet('signck',qq); 95 | let userName = GetUsername(); 96 | const data = { 97 | "location" : "中国/四川省/达州市/万源市/河口镇//156/511781/156511700/511781104", 98 | "t4" : "未列为风险区", 99 | "t7" : "已全部接种(含加强针)", 100 | "t2" : "无不适症状", 101 | "locationType" : 0, 102 | "t5" : "正常", 103 | "t3" : "暑假已离校", 104 | "type" : 0, 105 | "t6" : "正常", 106 | "t1" : "[\"无下列情况\"]" 107 | } 108 | 109 | rst = request({ 110 | url:punchUrl,//必须 111 | method:"post",//get,post,put,delete,可选,默认get 112 | headers:{ 113 | 'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.25(0x18001927) NetType/WIFI Language/zh_CN miniProgram/wxce6d08f781975d91', 114 | 'JWSESSION':userCk, 115 | 'content-type': 'application/json;charset=UTF-8', 116 | 'Referer':"https://gw.wozaixiaoyuan.com/h5/mobile/health/index/health/detail?id="+getBatcId() 117 | },//可选 118 | body:data,//可选 119 | dataType:"json",//location=>重定向url,json=>尝试解析为对象,否则为body字符串,可选 120 | useproxy:false,//可选 121 | })//发送请求 122 | let code = rst.code; 123 | if (code == '0') { 124 | sendText("用户名:"+userName+"\n状态:打卡成功\n"+"时间:"+Time()); 125 | } 126 | else { 127 | let msg = rst.message; 128 | sendText("状态:打卡失败\n"+"信息:"+msg+"\n"+"时间:"+Time()); 129 | } 130 | } -------------------------------------------------------------------------------- /SillyPlugin/step.js: -------------------------------------------------------------------------------- 1 | // [rule: ^刷步$] 2 | // 随机步数 3 | // var min = 30000; 4 | // var max = 50000; 5 | // var step = parseInt(Math.random()*(max-min+1)+min,10); 6 | // //console.log(step); 7 | // var num = param(1); 8 | // var pwd = param(2); 9 | //var step = param(3); 10 | 11 | //获取当前时间函数 12 | function Time() { 13 | let GlobalDate = new Date(); 14 | let CurrentTime = GlobalDate.toLocaleString(); 15 | return CurrentTime; 16 | } 17 | 18 | //主程序 19 | function step() { 20 | sendText("[Tips]请输入登录手机号,请在5秒之内输入\n"+"[Tips]输入q退出当前会话"+"\n[当前时间] "+Time()) 21 | var num = input(10000); 22 | if (num == ''){ 23 | sendText('已超时,退出当前会话') 24 | return 25 | } 26 | if (num == 'q') { 27 | sendText('已取消会话') 28 | return 29 | } 30 | sleep(500); 31 | sendText("[Tips]请输入密码,请在5秒之内输入"+"\n[Tips]输入q退出当前会话"+"\n[当前时间] "+Time()) 32 | var pwd = input(10000); 33 | if (pwd == ''){ 34 | sendText('已超时,退出当前会话') 35 | return 36 | } 37 | if (pwd == 'q') { 38 | sendText('已取消会话') 39 | return 40 | } 41 | sleep(500); 42 | sendText("[Tips]请输入你想刷的步数\n[Tips]在10000-99988之间,请在5秒之内输入"+"\n[Tips]输入q退出当前会话"+"\n[当前时间] "+Time()) 43 | var step = input(10000); 44 | if (step == ''){ 45 | sendText('已超时,退出当前会话') 46 | return 47 | } 48 | if (step == 'q') { 49 | sendText('已取消会话') 50 | return 51 | } 52 | sleep(500); 53 | var result = request({ 54 | url:"https://api.kit9.cn/api/milletmotion/?mobile="+num+"&password="+pwd+"&step="+step, 55 | "dataType": "json" 56 | }) 57 | 58 | if(result.code == 200 ){ 59 | sendText("[状态] "+result.msg+"\n[当前时间]"+Time()) 60 | } 61 | else{ 62 | sendText("[状态] "+result.data+"\n[当前时间]"+Time()) 63 | } 64 | 65 | } 66 | step() 67 | -------------------------------------------------------------------------------- /Surge/Modules/BlockUpdate.sgmodule: -------------------------------------------------------------------------------- 1 | #!name=屏蔽系统更新 2 | #!desc=屏蔽IOS系统更新 3 | 4 | [Rule] 5 | DOMAIN,mesu.apple.com,REJECT 6 | DOMAIN,gdmf.apple.com,REJECT 7 | DOMAIN,updates-http.cdn-apple.com,REJECT 8 | DOMAIN,xp.apple.com,REJECT -------------------------------------------------------------------------------- /Surge/Modules/mnmilk.sgmodule: -------------------------------------------------------------------------------- 1 | #!name=点亮蒙牛 2 | #!desc=点亮我的心 3 | 4 | [Script] 5 | # > 修改返回体,使按钮变亮 6 | mnmilk1 = type=http-response, pattern=^http[s]?:\/\/mp-isv\.youzanyun\.com\/point\/item\/getItemDetail, script-path=https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/Surge/Scripts/mnmilk.js, requires-body=true, max-size=-1, timeout=60 7 | 8 | mnmilk2 = type=http-response, pattern=^http[s]?:\/\/m\.pailifan\.com\/xcx\/v2\/mall_v2_goods_detail, script-path=https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/Surge/Scripts/mnmilk.js, requires-body=true, max-size=-1, timeout=60 9 | 10 | mnmilk3 = type=http-response, pattern=^http[s]?:\/\/m\.pailifan\.com\/xcx\/v2\/exchange_order_confirm, script-path=https://mirror.945688.xyz/https://raw.githubusercontent.com/treasunew/SillyLib/main/Surge/Scripts/mnmilk.js, requires-body=true, max-size=-1, timeout=60 11 | [MITM] 12 | hostname = %APPEND% mp-isv.youzanyun.com, m.pailifan.com -------------------------------------------------------------------------------- /Surge/Rules/OpenAI.list: -------------------------------------------------------------------------------- 1 | # > for chatgpt 2 | HOST-SUFFIX,ai.com,Proxy 3 | HOST-SUFFIX,chatgpt.com,Proxy 4 | HOST-SUFFIX,oaistatic.com,Proxy 5 | HOST-SUFFIX,oaiusercontent.com,Proxy 6 | HOST-SUFFIX,openai.com,Proxy 7 | 8 | # > for chatgpt api&cdn 9 | HOST,chat.openai.com.cdn.cloudflare.net,Proxy 10 | HOST,openaiapi-site.azureedge.net,Proxy 11 | HOST,openaicom-api-bdcpf8c6d2e9atf6.z01.azurefd.net,Proxy 12 | HOST,openaicomproductionae4b.blob.core.windows.net,Proxy 13 | HOST,production-openaicom-storage.azureedge.net,Proxy -------------------------------------------------------------------------------- /Surge/Scripts/mnmilk.js: -------------------------------------------------------------------------------- 1 | url = $request.url 2 | u1 = "/point/item/getItemDetail" 3 | u2 = "/xcx/v2/mall_v2_goods_detail" 4 | u3 = "/xcx/v2/exchange_order_confirm" 5 | 6 | var body = $response.body; 7 | var obj = JSON.parse(body); 8 | var character = '商品已被抢光啦'; 9 | 10 | if (url.indexOf(u1) != -1){ 11 | 12 | obj['data']['isExchange'] = true; 13 | body = JSON.stringify(obj); 14 | $notification.post("点亮人生", "蒙牛营养家", "点亮成功"); 15 | 16 | }else if (url.indexOf(u2) != -1){ 17 | 18 | obj['data']['is_not_time_exchange'] = ''; 19 | obj['data']['status'] = 4; 20 | body = JSON.stringify(obj); 21 | 22 | }else{ 23 | if (obj['msg'].indexOf(character) != -1){ 24 | obj['flag'] = 0; 25 | } 26 | body = JSON.stringify(obj); 27 | } 28 | 29 | $done({body: body}); -------------------------------------------------------------------------------- /boxjs.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "treasunew.app.sub", 3 | "name": "Treasunew应用订阅", 4 | "author": "@treasunew", 5 | "icon": "https://avatars.githubusercontent.com/u/104483693?v=4", 6 | "repo": "https://github.com/treasunew/SillyLib/tree/main/JavaScript", 7 | "apps": [ 8 | { 9 | "id": "ksjsbCookie", 10 | "name": "快手极速版", 11 | "keys": ["ksjsbCookie"], 12 | "descs_html": [ 13 | "脚本地址【快手极速版】,有问题可以提issue", 14 | "使用方式:自己抓包获取相应的字段。多账号用@连接", 15 | "注:本文件改自lxk大佬" 16 | ], 17 | "settings": [ 18 | { 19 | "id": "ksjsbCookie", 20 | "name": "CK 列表", 21 | "val": "", 22 | "type": "textarea", 23 | "autoGrow": true, 24 | "rows": 8, 25 | "desc": "ksjsbCookie" 26 | } 27 | ], 28 | "icons": [ 29 | "https://cdn.jsdelivr.net/gh/conceay/self-bin@main/Pic/ksjsb.jpg", 30 | "https://cdn.jsdelivr.net/gh/conceay/self-bin@main/Pic/ksjsb.jpg" 31 | ], 32 | "author": "@treasunew", 33 | "repo": "https://github.com/treasunew/SillyLib", 34 | "script": "https://raw.githubusercontent.com/treasunew/SillyLib/main/JavaScript/ksjsb.js" 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /scripts/elm/elm.js: -------------------------------------------------------------------------------- 1 | /** 2 | 环境变量:elmck 多个账号用@或者隔开 3 | */ 4 | /* 脚本仅可本地使用 */ 5 | const axios = require('axios') 6 | const crypto = require('crypto-js') 7 | 8 | var _0xodS = 'jsjiami.com.v6', _0xodS_ = ['‮_0xodS'], _0x569c = [_0xodS, 'wrrCtcKtwoAe', 'L8KwG8OhVw==', 'wpV1wo0=', 'wpJRw4c=', 'HxXDlw==', 'w5nDlno1fQ==', 'wpNrGGI9f8K8wqt6w4HDnQ==', 'wr90ZW/DkQ==', 'P8KIBcO8R8Oc', 'wr/DpVgE', 'w43ChsKQ', 'CXYtHA==', 'w4bChMOBS0I=', 'TCvCjQ==', 'YgdrCg==', 'w5fDvlI=', '5ZGw6LSV6LKB', 'UcKUwrDCi1E=', 'wqDCi8K4', 'agl4', 'wpR/wpnDu8KJw57CnQ==', 'w60+P21Ew4prEhUcZBLDvcOLw60TNX/Ct8Knw5/DrcKQf8OnYcOCMiwmw6jCrcKmWw==', 'wozDh8Kjw7lnw6XDm8KofUo2O8KQ', 'wpRuwoXDuA==', 'wqdIH0gN', 'w4MPw4HCs0g=', 'wpNCJzjDv8OK', 'wp9RSkXDoMOiMg==', 'UkhzwofCi8OFw6UkIh8bYA==', 'Ww89DMO7BsK9Qg==', 'BjVTw6DCinx3IcO4', '6I6s5Yyb5LmS5YmD5YuZ6KKh5aSB6LaA', 'wrliw7I1w7E=', 'D8K+w6Z2w7M=', 'AEbCtU7Ck8K3AQAW', 'w7FCwo7DiWw=', 'Rmpgw6olwog3YsOr', 'E8Kbw5Zuw7/DssKnAgU=', 'w6cLwqkwwoM=', 'w5nDjzk=', 'MDANw7k=', 'wqfCqXF6IA==', 'w5zCgMO/ZGM=', 'w5J3w7kfMg==', 'OcKmGxF1', 'wrXDoFLDlSM=', 'wphpwpnDocKPw5c=', 'w5kewqBN', 'ZWBKwrY=', 'w7rClcKIw6Er', 'KMKLD8KE', 'w43CgsKTw7gfchY=', 'L3vDpA==', 'C2fDkcKhWg==', 'FcKZw7dkw6c=', 'w5EQwrM=', 'wq9XAX4J', 'OcK6woMAFw==', 'w5FuwojDvUg=', 'wpjDqsKKwrQt', 'wrR/wrDDv8K/', 'AcK9wocgAw==', 'YcKrwonDmsOZ', 'N3fCqUrCtg==', 'wpZuw6l0wpQ=', 'Nz/DnirDiA==', 'w6/DpgcCw5c=', 'w5F1wp8=', 'w5A/wqIrwoY=', 'w4wEfHnDp8Kdw5B8wrHCusO1wpHDr8KOw7LDpcKOQsKFbwBJdChmw47DlMORw6UGw7nCrw==', 'wphtGH8=', 'Y2hEwojCpMOvw5IIOjwzRxc=', '6aGI5YyD5Lum5YmJ5omA5Yum', 'R25dwrbCrQ==', 'wq1qUMK2w4E=', 'wofDq8KTw4J+', 'wrHDkMKOwqwyQTkGLw==', 'ecKjwqjCtkI=', 'NiPDsibDtw==', 'w742Jw==', 'wrF7YzM=', 'DMKjFDRP', 'w4URZ2g=', 'WXF1', '5ZG+6LSj6LCC', 'C8O/woI=', 'DMOcwoTDnsKB', 'worDj3hxL8OFDwvCthLDg8Oiw60a', 'w4wEfHnDp8KZw5Bww73CucO+worDr8Kaw7bDo8KJGMKBIBpPdSo7w5jDh8OGwqUTwrTCq0/DkzQEw6tPwp8=', 'UUB5wpLCkcOJw7M6', 'w7oew5HCrg==', 'w6jCpsK2w4owVCzChDR2wrbDk8Kb', 'w715wpoIw6jChHJxA21HwqTCmzfCnlrDusKFHsOGXsKu', '5reu6Ka4IjznpJvkuIfliJ3lrpnmi4M=', 'PBV2', 'wqhhb2fDkMOdFcOUTCNGDFJPw7vCmTxfHzHCt8OoPsKHNcKTEi4XYsO8PMOWw5TCs8KNfcK9wpPDqW3DhMO9w7sAw5jDgRYcOsOhccKvw5vCrcO3w5ZhG8Opw57ChsKDC8KIGFXDiVR/DE7Dg8OPw5DDgMKbGE7DjMOTIcOsdRNcOj7DkDnDtxTChQ==', 'woRRw5UZw4lkYGDChcObRHzDpysaw53DtMOoeCjDncKxw5kmRsOMw6RUTsK4NMKgwp4CRHYpJMONw6lDwqXClcOGdMOZwp7DlsO3Wikrw7DCusOXaAvCn8O1w6TDoMOJHUbCnsOZw75zw6fDq8K+d0/CtcOfwrs1wpI3wqU0w6ggWsOrBcOGRsOAKcOyKjYObA==', 'w7BnBcOzwow=', 'wrvDtsKuw4d9', 'JMKAwoofwqM=', 'f8KRwrPCgkk=', 'XA5bDsOj', 'YEZzw5Mv', 'EcOGwqHDl8KH', 'FcKdwqAYwpc=', 'w68aw5fCs1/Ch37ChG/CiEw=', 'wrjDp10AFw==', 'wp9zwobDvMKNw4s=', 'Jghow4g=', 'w5B7wog=', 'wrLDolfDkQ==', 'Y8KWwo7Cu0w=', 'FmE9Ag==', 'XMKYwrY=', 'GRXDmSk=', 'w65TwrXDsU3Cs8OvCMKnYTMn', 'w5ALF1g8w6JCLA==', 'XSMTBsOC', 'wpdibMKbw6I=', 'wpppYEnDig==', 'wr3CkH5ZKQ==', 'w58Fw5HCkXU=', 'w63DvFw2Qw==', 'wq93woPDh8KH', 'DcKewpgeHQ==', 'wplVw4F2wrY=', 'w4xmP8OIwpA=', 'wp3DulgmDA==', 'K2ktPsOQ', 'dinCgwfCtg==', 'GsKHEsKqw4s=', 'wprCicK2wqYE', 'NsKdMxNX', 'NsKCw41Iw74=', 'w6hbwrTDiEo=', 'RsKLwovCnVc=', 'wrjDg8Kww6lr', 'w6t3wpHDrm4=', 'wpJ/GXwK', 'wqhew4ZKwqs=', 'wqzDsV8aEQ==', 'w5oZwrpfBg==', 'wozCm3llNA==', 'w64Ow5bCrWg=', 'wp58woTDu8Ka', 'fMKrw4fCkcK8', 'w5lQwrPDtFc=', 'w5LCksODUUQ=', 'wodSw50Lw44=', 'wqnCs3PCmyI=', 'asK7C8KwwrI=', 'wqLDh8KbwrpQ', 'Unh8w7A5', 'KXnDrsKZYQ==', 'w6csPm4Y', 'w4Bow6UEEA==', 'w4fCgcKOw7gM', 'B8KWNC9K', 'GmIqAsON', 'wqZpa8Knw78=', 'JWHCkn3Cpw==', 'wq9uwprDgMKH', 'wpZyT2jDhg==', 'FztUw6vCvg==', 'wo5/csKRw4A=', '6KyZ5rWV5Ym554yJ5aKH5Y2c6YWmwqlOSjQ577+y5aWc5Lqz6LaO5Y6N55Wow67pmJLlvbo=', 'w6bDqgQiwo5DwozDrsOBw5x5LMO9YcKGWcKrNyhww4vDmiLCtgNjdcOkCmjDtTs=', 'worCpcKWwqU0wq8gB0fDtmjCjizCuzvDkjLClVNeSsOGw4Un', '55mg5b6Y5oq55Ym9', '6I2Z5Y245Lii5YiH5YiT6KOs', '5oiU6KC26Zig6JaI5Lm45YuD', 'w6YTwo4Iwr57w6bCmMO6dgoU', 'MMKuw6NCw4fDnMKLMw==', 'woVaw4U=', 'PsKfwpwyGQ==', 'N8K2OcO8aQ==', 'wo3DjMKVw4NN', 'wqnDpFsnGg==', 'w7QjXmXCmg==', 'ecKIwobCt0BSUg==', 'dcKaw7nClsKF', 'E8Kkwog0Nw==', 'Xll3w4Ug', 'w6wlNw==', 'w4prw7gEAy/Ckg==', 'KsKRBcOhVg==', 'WMKjw4HCu8KM', 'FmPDosKKEw==', 'bhgQIsOi', 'w7FuL8O0', 'wq/DhcKM', 'OBVow4s=', 'wqnDjsKS', 'OTFEw5HCow==', 'I8Kgwq8=', 'YcK4C8KkwrQK', '5Lmm6LeM5Y6M', 'c8K9wp7DhcOQ', 'wplNcMKew5U=', 'wqNdw4Zewq3DnQ==', 'w53DvVoWXg==', 'JMOmwqTDq8Kc', 'TyPCkALCtQ==', 'wpJVw50cw5Nl', 'H13CoA==', 'aMK2bMKZJ1h8GMOx5b6J5aW/44Kw6LeD5Y+k', 'w6R4w4oAOw==', '44OxHsKZUsKWIj4ew4DCug==', 'w7NWwr3Dg0o=', 'eMKSB8KgwqU=', 'wrLDlWvDjwI=', 'JcOTwoTDqsKI', 'DMKAw4M=', 'BcOYM8OeSA==', 'YcKyAg==', 'wqLCrG/CnSM=', 'L3AgA8OQ', 'NA7DsyvDtw==', 'wpl2EA==', 'YMK/wqvDgcOX', 'w68Bw5TCqn/Cmw==', 'wqrDhcKP', 'Nh9nw6zCrQ==', 'w5JZwro=', 'w6wvPnoew4M=', '5LqX6ZqK6JS35Lma5Yqg', 'wrHDpMKgwrp3', 'GjDDoTfDuw==', 'wqjDscKYwqkP', 'fwsvOsO4', 'w77DsDERw5M=', 'w4Vbw5kbCw==', 'wp7Ck01VNQ==', 'KsKPA8OkSQ==', 'wrtJw4Zqwrc=', '6ZaS6K2x5Y+05Zqy77665LuZ5YmB5ou66KOu6aGj57mN5omJ6IKd6ZyT6KSp5pyG5Z++54+r5aOY5om+6KOo6Iau5pyg', 'YEg1wpTDvw8=', 'wolsbsKRw4g=', '6aCN5Y2I5LqQ5Yuz5oqw5Yq9', 'NR91', 'a8OPX8KmEA==', 'asOBw4RmRsKwHS0=', 'aMOPWQ==', 'AsO8woA=', 'woHCjnh4', 'ccKWwpLCvlF+VcK0PhRwwq4HRBHCmi5GNiogdsKGwpvDjETDsMOOwq58wrk7w7w=', 'w4I7wqo1wpNXwpjCtsOIUSc/w7sOBsOsDmvDoA==', 'w5PDpUEJX1RsQ8K9WsKfaF1Zwr0qw7DDlw==', 'wp9qRkXDog==', 'wozDlEErKg==', 'IC/DswTDhjHDsg==', 'wq3CvF5aGcK4Z23DmXfCtcKFwopnwpbDvT3DgcKzLMOEFzcS', 'AcKJGMKfw5Q=', 'w59XwrDDg3U=', 'w4YLGVE1w7heKCgpSTjClsO2w4Q/HR7CksKUw7TDjg==', 'wqZ1w7o0w6NbTWfCtcOkblnCkzoww7XDpsOWQwU=', '6ISm5Yqs5pu95pa2w7HDvirDhEM=', 'eCsOZMOOIMKXfsKlBw==', 'NTvDuQvDnDHDuMKvwo7ClsKdRkRAw6PCkAYIwoUTXws=', 'VsKzwrTDvsOS', 'SgrCiTzCjQ==', 'BMKewq45R8ObXn4=', 'RMKgw7bCisO7wpZEw44=', 'wp3DnsK1w49w', 'wqLCi8Ko', 'wp1tA38LK8Onw7Zkw4XDh8OdwpnCqnLClCfClsOpA8K/w6vDvcOEwr5Sw4rCs0jDkyU=', 'wog/wqVH', 'SsKpw6LCt8KA', 'wrh8GlkC', 'GcKWw4trw74=', 'Hz40', 'acO+w7pBw5kQSVgsYg==', 'JhVSw5HCu1BQEA==', 'F0PDicKDBA==', 'YVR3w4gi', 'w4l9D8OBwr0=', 'wq/DtkUI', 'S8KnH8KJwrI=', 'RcKLwpbCpVw=', 'Kl0TN8O+', 'X8K8D8KiwrhNwqcww4HCrcKlwqLCjMOVw4LDmDjCoh4wwoQoH8OINx3DrMKHw63Do1TCiEMTPsOvwrnDnENjwq9JRcOKCcOmICsWw7jDscOADg==', 'woLCvHBOHVZuWMOxfcKBIA==', 'wod0w7DCv2TCpcOSRzYTDcKaw7XCk8K9HG/CrsO2wpDCusOVwqLDr8Obw69Hwr/DhifCv2jDksKBw4FiwrVMR8OTFMOBKcKBa8O5ccKwYcKIdcKaGsKxLsOHPcO1wrHClMORAyPDh8KRcsKGw4dcw6rCuhoxGh13M8KRwrHDgz9IA0/CrWAoR1DCvMOHbH0cwoTCvmU5wpVkTz5nwpbDmcKcIMO4w5oCXsOEIsKiwodTZQgEw6jDrcOLMxfDjHbCjBYEakDCpMOIwrXCvcOCwosSwpnCrMOJa8Kiwocyw4IcUcOGC0/CicO+D8K2w5F6w4rCt8OxZsKlLMO6wpPDtHEmwp/DhsKrXkACd8ObEsOcD0DDlsKEw7/ClMKXQh7CjcKGIMKWKijCscObbAE8VhrClsO/w7nDjcOMw4jCj8OQJMOJA3TDhhk=', 'ek1hw7oh', 'w4LCpMOvTWQ=', 'N3rDqsKuHg==', 'wrnCicKqwqgc', 'w49/wow=', 'wrHDlMKQwqwo', 'OsKhwrcfJA==', 'wofDpsKfwoFr', 'YFN4wpnCkQ==', 'ZMKVwpTCik8=', 'STXCnDHCng==', 'woXCgMKlwp8D', 'wqlecsKNw5g=', 'wq1gYg==', 'EsKKw5A=', 'NcKODg==', 'b8KaKsKPwpE=', 'PhVm', 'JsK6CB9z', 'w4MecG7ChQ==', 'woLCk3R6M8KPW00=', 'AxXDvwLDrA==', 'w5DCiMK1w74J', 'wp91wpjDjcKJw5rCkA==', 'P2kMA8O1', 'wph1c1HDoA==', 'w5/DrxEFw6U=', 'Nht1w4Q=', 'wqbDhcKIwqQ=', 'w5nDky4Xw4g=', 'BsO9MsOS', 'ODRiw5HCnQ==', 'wpjCjXt/Mg==', 'wqrDpEIABMKH', 'wpTCnMKvwoUb', 'wqbChFt8Ng==', 'w792w7sbEg==', 'CcOYwrHDqMKL', 'w5LCgsKU', 'w7cPwpUawp4=', 'ecKXwpTCq38=', 'jZJfEsjiaUmCCiY.TPcomXfy.vd6==']; if (function (_0x5d4561, _0x4da8be, _0x1077f9) { function _0x1eaeaf(_0x409002, _0x4e185f, _0x544cfb, _0x2a5022, _0x56bede, _0x4f7790) { _0x4e185f = _0x4e185f >> 0x8, _0x56bede = 'po'; var _0x4d7e5c = 'shift', _0x6869ae = 'push', _0x4f7790 = '‮'; if (_0x4e185f < _0x409002) { while (--_0x409002) { _0x2a5022 = _0x5d4561[_0x4d7e5c](); if (_0x4e185f === _0x409002 && _0x4f7790 === '‮' && _0x4f7790['length'] === 0x1) { _0x4e185f = _0x2a5022, _0x544cfb = _0x5d4561[_0x56bede + 'p'](); } else if (_0x4e185f && _0x544cfb['replace'](/[ZJfEUCCYTPXfyd=]/g, '') === _0x4e185f) { _0x5d4561[_0x6869ae](_0x2a5022); } } _0x5d4561[_0x6869ae](_0x5d4561[_0x4d7e5c]()); } return 0x103fcd; }; return _0x1eaeaf(++_0x4da8be, _0x1077f9) >> _0x4da8be ^ _0x1077f9; }(_0x569c, 0xa0, 0xa000), _0x569c) { _0xodS_ = _0x569c['length'] ^ 0xa0; }; function _0x51ce(_0x1ab76e, _0x4dd022) { _0x1ab76e = ~~'0x'['concat'](_0x1ab76e['slice'](0x1)); var _0x2eb82b = _0x569c[_0x1ab76e]; if (_0x51ce['nnbfet'] === undefined) { (function () { var _0x34daa5 = function () { var _0x8b7d68; try { _0x8b7d68 = Function('return\x20(function()\x20' + '{}.constructor(\x22return\x20this\x22)(\x20)' + ');')(); } catch (_0x1360e9) { _0x8b7d68 = window; } return _0x8b7d68; }; var _0x382192 = _0x34daa5(); var _0x83e332 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; _0x382192['atob'] || (_0x382192['atob'] = function (_0x5d1629) { var _0x443b62 = String(_0x5d1629)['replace'](/=+$/, ''); for (var _0x441af2 = 0x0, _0x251b8b, _0x4f2053, _0x3a8e27 = 0x0, _0x412c55 = ''; _0x4f2053 = _0x443b62['charAt'](_0x3a8e27++); ~_0x4f2053 && (_0x251b8b = _0x441af2 % 0x4 ? _0x251b8b * 0x40 + _0x4f2053 : _0x4f2053, _0x441af2++ % 0x4) ? _0x412c55 += String['fromCharCode'](0xff & _0x251b8b >> (-0x2 * _0x441af2 & 0x6)) : 0x0) { _0x4f2053 = _0x83e332['indexOf'](_0x4f2053); } return _0x412c55; }); }()); function _0x4f26e6(_0x4bf99c, _0x4dd022) { var _0x41f519 = [], _0x4f75d4 = 0x0, _0x857f07, _0x2c054d = '', _0x3971d6 = ''; _0x4bf99c = atob(_0x4bf99c); for (var _0x98b4d3 = 0x0, _0x28ac4b = _0x4bf99c['length']; _0x98b4d3 < _0x28ac4b; _0x98b4d3++) { _0x3971d6 += '%' + ('00' + _0x4bf99c['charCodeAt'](_0x98b4d3)['toString'](0x10))['slice'](-0x2); } _0x4bf99c = decodeURIComponent(_0x3971d6); for (var _0x3b1a0a = 0x0; _0x3b1a0a < 0x100; _0x3b1a0a++) { _0x41f519[_0x3b1a0a] = _0x3b1a0a; } for (_0x3b1a0a = 0x0; _0x3b1a0a < 0x100; _0x3b1a0a++) { _0x4f75d4 = (_0x4f75d4 + _0x41f519[_0x3b1a0a] + _0x4dd022['charCodeAt'](_0x3b1a0a % _0x4dd022['length'])) % 0x100; _0x857f07 = _0x41f519[_0x3b1a0a]; _0x41f519[_0x3b1a0a] = _0x41f519[_0x4f75d4]; _0x41f519[_0x4f75d4] = _0x857f07; } _0x3b1a0a = 0x0; _0x4f75d4 = 0x0; for (var _0x230de6 = 0x0; _0x230de6 < _0x4bf99c['length']; _0x230de6++) { _0x3b1a0a = (_0x3b1a0a + 0x1) % 0x100; _0x4f75d4 = (_0x4f75d4 + _0x41f519[_0x3b1a0a]) % 0x100; _0x857f07 = _0x41f519[_0x3b1a0a]; _0x41f519[_0x3b1a0a] = _0x41f519[_0x4f75d4]; _0x41f519[_0x4f75d4] = _0x857f07; _0x2c054d += String['fromCharCode'](_0x4bf99c['charCodeAt'](_0x230de6) ^ _0x41f519[(_0x41f519[_0x3b1a0a] + _0x41f519[_0x4f75d4]) % 0x100]); } return _0x2c054d; } _0x51ce['rUegFc'] = _0x4f26e6; _0x51ce['kGkBwA'] = {}; _0x51ce['nnbfet'] = !![]; } var _0x2c0fad = _0x51ce['kGkBwA'][_0x1ab76e]; if (_0x2c0fad === undefined) { if (_0x51ce['bAkNFe'] === undefined) { _0x51ce['bAkNFe'] = !![]; } _0x2eb82b = _0x51ce['rUegFc'](_0x2eb82b, _0x4dd022); _0x51ce['kGkBwA'][_0x1ab76e] = _0x2eb82b; } else { _0x2eb82b = _0x2c0fad; } return _0x2eb82b; }; let cookie, num, tasks; !(async () => { var _0x304cec = { 'nWPtK': function (_0x7fc7d6, _0x24168a) { return _0x7fc7d6 === _0x24168a; }, 'cbLeI': _0x51ce('‫0', 'o88m'), 'bsjNy': _0x51ce('‫1', 'Ugac'), 'USMlS': function (_0x6beab7, _0x26a372) { return _0x6beab7 > _0x26a372; }, 'HWyeE': _0x51ce('‫2', 'dEVQ'), 'kGeFk': _0x51ce('‫3', 'BD!n'), 'CnhYB': function (_0x513d79, _0x5aa305) { return _0x513d79 === _0x5aa305; }, 'eVjkO': _0x51ce('‫4', 'QNOt'), 'kKEtj': _0x51ce('‮5', 'k4J0'), 'BDXPM': function (_0x258a02) { return _0x258a02(); }, 'XBuJX': function (_0x9cf8f3, _0x153330) { return _0x9cf8f3 < _0x153330; }, 'CvAwY': function (_0x1ce1bd, _0x19248f) { return _0x1ce1bd + _0x19248f; }, 'ogzJl': function (_0x26a878, _0x3a28ee) { return _0x26a878 * _0x3a28ee; }, 'NLEbK': function (_0x9cd34f, _0x45aeaa) { return _0x9cd34f(_0x45aeaa); }, 'uObce': _0x51ce('‫6', 'kBBJ'), 'tEUsU': function (_0x2f632e, _0x2236d4) { return _0x2f632e == _0x2236d4; }, 'BCavM': _0x51ce('‮7', '9C&5'), 'gDumE': _0x51ce('‫8', '&IbV'), 'lyrus': _0x51ce('‮9', 'k4J0'), 'Rtdro': function (_0x4fc60d) { return _0x4fc60d(); }, 'GtClt': function (_0x392ea6) { return _0x392ea6(); }, 'QFmTJ': _0x51ce('‮a', '#03b'), 'iJQpx': _0x51ce('‫b', '$gEi'), 'jUdlS': function (_0x51cdd9, _0x49fd00, _0x5e788c) { return _0x51cdd9(_0x49fd00, _0x5e788c); }, 'unZCs': _0x51ce('‮c', 'iDRY'), 'bURli': function (_0x1256eb, _0xf2d116, _0x479dfc, _0x1e3d0c) { return _0x1256eb(_0xf2d116, _0x479dfc, _0x1e3d0c); }, 'snjlk': function (_0x16278b, _0x2aa211, _0x57edbc) { return _0x16278b(_0x2aa211, _0x57edbc); }, 'tqnSn': function (_0x3832db, _0x16126b) { return _0x3832db(_0x16126b); } }; let _0x2bc990 = [], _0x5d7043 = process[_0x51ce('‮d', '%dCI')][_0x51ce('‫e', '$WGW')]; if (_0x5d7043) { if (_0x304cec[_0x51ce('‫f', 'PJup')](_0x304cec[_0x51ce('‫10', 'k4J0')], _0x304cec[_0x51ce('‫11', 'v^Gf')])) { _0x2bc990 = [_0x5d7043]; } else { if (_0x304cec[_0x51ce('‮12', 'PoeV')](_0x5d7043[_0x51ce('‫13', 'wknF')]('@'), -0x1)) { if (_0x304cec[_0x51ce('‫14', '&IbV')](_0x304cec[_0x51ce('‫15', '$WGW')], _0x304cec[_0x51ce('‫16', 'Blw&')])) { console[_0x51ce('‫17', 'jg)j')](e[_0x51ce('‫18', 'f*4j')]); } else { _0x2bc990 = _0x5d7043[_0x51ce('‮19', 'PJup')]('@'); } } else { if (_0x304cec[_0x51ce('‫1a', '&IbV')](_0x304cec[_0x51ce('‫1b', '1IvF')], _0x304cec[_0x51ce('‫1c', ']s1^')])) { _0x2bc990 = [_0x5d7043]; } else { return Object[_0x51ce('‮1d', 'aS8j')](obj)[_0x51ce('‫1e', 'n^eQ')](_0x11ae27 => _0x11ae27 + '=' + obj[_0x11ae27])[_0x51ce('‫1f', 'BD!n')](';'); } } } } else console[_0x51ce('‫20', 'aMpO')](_0x304cec[_0x51ce('‮21', 'BD!n')]); console[_0x51ce('‮22', 'Tt]2')]('共' + _0x2bc990[_0x51ce('‫23', 'IORW')] + _0x51ce('‫24', '$PO0')); let _0x5b140e = _0x304cec[_0x51ce('‮25', '$nH)')](getHideTasks); for (let _0x2aad72 = 0x0; _0x304cec[_0x51ce('‫26', 'QNOt')](_0x2aad72, _0x2bc990[_0x51ce('‫27', '*Xc7')]); _0x2aad72++) { cookie = _0x2bc990[_0x2aad72]; num = Math[_0x51ce('‫28', 'wVd9')](_0x304cec[_0x51ce('‮29', 'VtP4')](_0x304cec[_0x51ce('‫2a', 'KB7Q')](Math[_0x51ce('‮2b', '%dCI')](), 0x5a), 0xa)); console[_0x51ce('‫2c', 'o88m')](_0x51ce('‫2d', 'smmP') + _0x304cec[_0x51ce('‮2e', 'f*4j')](_0x2aad72, 0x1) + _0x51ce('‮2f', '%dCI')); let _0x79cf4a = await _0x304cec[_0x51ce('‮30', 'ytXa')](request, { 'api': _0x304cec[_0x51ce('‮31', 'IORW')], 'data': '{}' }); if (_0x304cec[_0x51ce('‮32', 'KZt(')](_0x79cf4a, _0x304cec[_0x51ce('‮33', 'VtP4')])) continue; else console[_0x51ce('‫34', 'iDRY')](_0x304cec[_0x51ce('‫35', 'smmP')]); tasks = new Set(); console[_0x51ce('‮36', 'IORW')](_0x304cec[_0x51ce('‮37', 'Mjg!')]); await _0x304cec[_0x51ce('‮38', 'nG6p')](query); await _0x304cec[_0x51ce('‮39', '#03b')](sleep); console[_0x51ce('‮3a', '9&2o')](_0x304cec[_0x51ce('‫3b', '$nH)')]); let _0x2e3447 = _0x5b140e[_0x51ce('‮3c', '17Jv')](_0x21cb11 => !tasks[_0x51ce('‫3d', 'n^eQ')](_0x21cb11[_0x51ce('‫3e', 'BD!n')])); console[_0x51ce('‫3f', 'N)BA')](_0x2e3447[_0x51ce('‫40', 'jg)j')] + _0x51ce('‮41', 'ytXa')); for (let { collectionId, defId, type } of _0x2e3447) { if (_0x304cec[_0x51ce('‮42', 'aMpO')](type, _0x304cec[_0x51ce('‮43', '#03b')])) await _0x304cec[_0x51ce('‮44', 'n^eQ')](act, defId, collectionId); else if (_0x304cec[_0x51ce('‫45', ']s1^')](type, _0x304cec[_0x51ce('‮46', 'kBBJ')])) { await _0x304cec[_0x51ce('‫47', 'f*4j')](act, defId, collectionId, _0x304cec[_0x51ce('‮48', 'puG#')]); await _0x304cec[_0x51ce('‮30', 'ytXa')](sleep, 0x1770); await _0x304cec[_0x51ce('‮49', 'PJup')](pageView, defId, collectionId); } await _0x304cec[_0x51ce('‮4a', '*Xc7')](sleep, 0x1770); } } })(); async function request(_0x5dd62c) { var _0x2a02f4 = { 'bGOLQ': _0x51ce('‮4b', 'kBBJ'), 'RMEEh': _0x51ce('‫4c', 'BD!n'), 'BmHrJ': function (_0x255fcf, _0x666000) { return _0x255fcf !== _0x666000; }, 'TqzWE': _0x51ce('‮4d', 'QNOt'), 'jNctT': function (_0x5eaad7, _0xf6d36d) { return _0x5eaad7(_0xf6d36d); }, 'ArRYi': _0x51ce('‫4e', 'kBBJ'), 'QdKUN': _0x51ce('‮4f', 'BD!n'), 'MemVz': _0x51ce('‫50', 'PJup'), 'yyolo': _0x51ce('‮51', '$WGW'), 'dvAbX': _0x51ce('‮52', 'PJup'), 'TJeKi': _0x51ce('‮53', 'VtP4'), 'SvYFB': _0x51ce('‫54', 'puG#'), 'FzzJr': _0x51ce('‮55', 'wknF'), 'Umtwd': _0x51ce('‮56', '$gEi'), 'WYWFA': _0x51ce('‮57', 'wVd9'), 'OSsyj': function (_0x33b948, _0x42e85a) { return _0x33b948 !== _0x42e85a; }, 'wPBoR': _0x51ce('‮58', 'dEVQ'), 'DObOB': _0x51ce('‮59', 'v^Gf'), 'umuAw': function (_0x15f016, _0x198d15) { return _0x15f016(_0x198d15); }, 'aRFNV': function (_0x2f0797, _0x4fd0e4) { return _0x2f0797 == _0x4fd0e4; }, 'BGjHI': _0x51ce('‮5a', '#03b'), 'tsvXw': _0x51ce('‮5b', 'puG#'), 'iqvyG': function (_0x21d8cd, _0x5b67d8) { return _0x21d8cd === _0x5b67d8; }, 'Idzvh': _0x51ce('‮5c', '$PO0'), 'hQwYU': _0x51ce('‮5d', 'N)BA'), 'FJRCK': _0x51ce('‮5e', 'jg)j'), 'bncgL': _0x51ce('‫5f', '%dCI'), 'poOEo': _0x51ce('‮60', 'dEVQ'), 'poUuw': _0x51ce('‫61', ']s1^'), 'Xxplp': function (_0x391ed7, _0x5ad99c) { return _0x391ed7(_0x5ad99c); }, 'MyLjp': function (_0x125a32) { return _0x125a32(); }, 'nHTtN': function (_0x1e4f7a, _0x1bb343) { return _0x1e4f7a == _0x1bb343; }, 'BUVBl': _0x51ce('‮62', '#03b'), 'vQriu': _0x51ce('‫63', '$nH)') }; let _0x44ee6a = _0x2a02f4[_0x51ce('‫64', 'KB7Q')](cookieToJson, cookie), _0x561f0e = _0x44ee6a[_0x51ce('‫65', '$WGW')] && _0x44ee6a[_0x51ce('‫66', '&IbV')][_0x51ce('‫67', 'k4J0')]('_')[0x0], { t = Date[_0x51ce('‮68', '9C&5')](), api, data } = _0x5dd62c, _0x126d6b = { 'url': _0x51ce('‮69', '9&2o') + api + _0x51ce('‫6a', 'f*4j'), 'method': _0x2a02f4[_0x51ce('‫6b', '&IbV')], 'params': { 'jsv': _0x2a02f4[_0x51ce('‫6c', '9&2o')], 'appKey': _0x2a02f4[_0x51ce('‮6d', 'iDRY')], 't': t, 'sign': crypto[_0x51ce('‮6e', 'BD!n')](_0x561f0e + '&' + t + _0x51ce('‮6f', 'Tt]2') + data)[_0x51ce('‮70', 'BD!n')](), 'api': api, 'v': _0x2a02f4[_0x51ce('‫71', '1IvF')], 'app': _0x2a02f4[_0x51ce('‫72', 'Blw&')], 'dataType': _0x2a02f4[_0x51ce('‮73', 'aS8j')], 'data': _0x5dd62c[_0x51ce('‫74', 'v^Gf')] }, 'headers': { 'content-type': _0x2a02f4[_0x51ce('‮75', 'IORW')], 'cookie': cookie, 'host': _0x2a02f4[_0x51ce('‫76', 'wknF')], 'referer': _0x2a02f4[_0x51ce('‮77', 'nG6p')], 'user-agent': _0x51ce('‫78', 'IORW') + num + _0x51ce('‫79', 'wVd9') + num + _0x51ce('‮7a', 'N)BA') } }; try { if (_0x2a02f4[_0x51ce('‮7b', 'Blw&')](_0x2a02f4[_0x51ce('‫7c', 'oU5o')], _0x2a02f4[_0x51ce('‮7d', '1IvF')])) { let { data, headers } = await _0x2a02f4[_0x51ce('‫7e', '9C&5')](axios, _0x126d6b); let [_0x24d059, _0xe18373] = data[_0x51ce('‫7f', 'ytXa')][0x0][_0x51ce('‮80', 'n^eQ')]('::'); if (_0x2a02f4[_0x51ce('‫81', '$WGW')](_0x24d059, _0x2a02f4[_0x51ce('‫82', 'aMpO')])) return data; else if (_0x2a02f4[_0x51ce('‫83', 'f95H')](_0x24d059, _0x2a02f4[_0x51ce('‮84', 'wknF')])) { if (_0x2a02f4[_0x51ce('‫85', 'KB7Q')](_0x2a02f4[_0x51ce('‮86', '9C&5')], _0x2a02f4[_0x51ce('‮87', 'QNOt')])) { console[_0x51ce('‮88', 'QNOt')](data[_0x51ce('‮89', 'iDRY')]); console[_0x51ce('‮8a', 'PJup')](_0x2a02f4[_0x51ce('‫8b', 'IORW')]); } else { console[_0x51ce('‮8c', 'BD!n')](_0xe18373); return _0x24d059; } } else if ([_0x2a02f4[_0x51ce('‫8d', 'GvvM')], _0x2a02f4[_0x51ce('‫8e', 'PoeV')]][_0x51ce('‫8f', 'puG#')](_0x24d059)) { console[_0x51ce('‫2c', 'o88m')](_0x2a02f4[_0x51ce('‮90', '#03b')]); headers[_0x2a02f4[_0x51ce('‫91', '562d')]][_0x51ce('‮92', 'Ugac')](_0x36ecfb => { if (_0x2a02f4[_0x51ce('‫93', 'nG6p')](_0x2a02f4[_0x51ce('‫94', 'dEVQ')], _0x2a02f4[_0x51ce('‫95', 'kBBJ')])) { data = res[_0x51ce('‮96', 'BD!n')][_0x51ce('‮97', 'n^eQ')][_0x2a02f4[_0x51ce('‫98', 'kBBJ')]][_0x51ce('‫99', 'smmP')]; } else { _0x36ecfb = _0x2a02f4[_0x51ce('‫9a', 'BD!n')](cookieToJson, _0x36ecfb[_0x51ce('‮9b', 'puG#')](';')[0x0]); _0x44ee6a = Object[_0x51ce('‮9c', 'v^Gf')](_0x44ee6a, _0x36ecfb); } }); cookie = _0x2a02f4[_0x51ce('‫9d', '9C&5')](jsonToCookie, _0x44ee6a); await _0x2a02f4[_0x51ce('‮9e', 'puG#')](sleep); return _0x2a02f4[_0x51ce('‮9f', 'f*4j')](request, _0x5dd62c); } else if (_0x2a02f4[_0x51ce('‮a0', 'VtP4')](data[_0x51ce('‫a1', '562d')][0x0], _0x2a02f4[_0x51ce('‫a2', '$gEi')])) { if (_0x2a02f4[_0x51ce('‫a3', 'wknF')](_0x2a02f4[_0x51ce('‫a4', '9C&5')], _0x2a02f4[_0x51ce('‫a5', 'PJup')])) { console[_0x51ce('‫a6', 'Ugac')](data[_0x51ce('‫a7', '%dCI')]); console[_0x51ce('‮a8', '#03b')](_0x2a02f4[_0x51ce('‫a9', 'wVd9')]); } else { return Object[_0x51ce('‫aa', '9&2o')](cookie[_0x51ce('‮ab', 'dEVQ')](';')[_0x51ce('‮ac', 'PJup')](_0x24596c => _0x24596c[_0x51ce('‫ad', 'v^Gf')]())[_0x51ce('‫ae', '562d')](_0x454fb6 => _0x454fb6[_0x51ce('‫af', 'nG6p')]()[_0x51ce('‮b0', 'oU5o')]('='))); } } else console[_0x51ce('‫b1', 'KB7Q')](_0xe18373); } else { let { extend: { value }, msgInfo, success } = res[_0x51ce('‫b2', 'Bnvs')] || { 'extend': {} }; if (value) console[_0x51ce('‫b3', 'wVd9')]('获得' + value + _0x51ce('‫b4', 'o88m')); else if (success) console[_0x51ce('‮22', 'Tt]2')](_0x2a02f4[_0x51ce('‮b5', 'wknF')]); else console[_0x51ce('‮b6', '9C&5')](msgInfo); } } catch (_0x4ec258) { console[_0x51ce('‫b7', 'Bnvs')](_0x4ec258[_0x51ce('‮b8', 'Ugac')]); } } async function query() { var _0x10bf07 = { 'YVAMM': function (_0x10db07, _0x12a51) { return _0x10db07(_0x12a51); }, 'oQBqb': _0x51ce('‮b9', 'jg)j'), 'OtSNI': _0x51ce('‮ba', 'k4J0'), 'RQjhq': _0x51ce('‮bb', 'Ugac'), 'LTflf': function (_0xda1733, _0x43bed0) { return _0xda1733 === _0x43bed0; }, 'itRFU': _0x51ce('‫bc', '9&2o'), 'uyrhP': _0x51ce('‮bd', '17Jv'), 'ZrhjU': _0x51ce('‫be', 'PoeV'), 'ExQKI': function (_0x5e5be8, _0x188574) { return _0x5e5be8 == _0x188574; }, 'uvScv': _0x51ce('‮bf', 'dEVQ'), 'ZNvqq': function (_0x26682d, _0x52d568) { return _0x26682d == _0x52d568; }, 'bIrQe': _0x51ce('‫c0', 'f95H'), 'oXUzm': function (_0x4d4c3b, _0x272e3a, _0x36d6f0) { return _0x4d4c3b(_0x272e3a, _0x36d6f0); }, 'MeZwW': _0x51ce('‫c1', ']s1^'), 'PROOD': _0x51ce('‫c2', 'BD!n'), 'DEnmK': function (_0x21f511, _0x58c1f0, _0x34b232, _0x351851) { return _0x21f511(_0x58c1f0, _0x34b232, _0x351851); }, 'dxlPw': function (_0x276b41, _0x5589a3) { return _0x276b41(_0x5589a3); }, 'eeast': _0x51ce('‮c3', '&IbV') }; let _0x445375 = await _0x10bf07[_0x51ce('‫c4', '%dCI')](request, { 'api': _0x10bf07[_0x51ce('‫c5', 'iDRY')], 'data': JSON[_0x51ce('‮c6', 'o88m')]({ 'callSource': _0x10bf07[_0x51ce('‫c7', 'N)BA')], 'lgrsRequestItems': JSON[_0x51ce('‮c8', 'Blw&')]([{ 'resId': 0x36ba6 }]), 'extra': JSON[_0x51ce('‫c9', 'iDRY')]({ 'source': _0x10bf07[_0x51ce('‫ca', '$gEi')] }), 'latitude': _0x51ce('‮cb', 'puG#') + num, 'longitude': _0x51ce('‮cc', 'f95H') + num }) }); let _0xf4b607; try { if (_0x10bf07[_0x51ce('‫cd', 'puG#')](_0x10bf07[_0x51ce('‮ce', 'oU5o')], _0x10bf07[_0x51ce('‮cf', 'f*4j')])) { v = _0x10bf07[_0x51ce('‫d0', 'GvvM')](cookieToJson, v[_0x51ce('‮d1', 'KZt(')](';')[0x0]); ck = Object[_0x51ce('‮d2', 'Ugac')](ck, v); } else { _0xf4b607 = _0x445375[_0x51ce('‫d3', 'EEw5')][_0x51ce('‫d4', 'f95H')][_0x10bf07[_0x51ce('‮d5', '562d')]][_0x51ce('‫d6', '$PO0')]; } } catch (_0x45b9ec) { console[_0x51ce('‮8a', 'PJup')](_0x45b9ec[_0x51ce('‮d7', '562d')]); } if (_0xf4b607) { for (let { missionCollectionId: collectionId, missionDefId: defId, missionType: type, pageSpm, receiveStatus, rewardStatus, showTitle: title } of _0xf4b607) { tasks[_0x51ce('‫d8', '$(y@')](defId); if (_0x10bf07[_0x51ce('‫d9', '$(y@')](rewardStatus, _0x10bf07[_0x51ce('‫da', 'iDRY')])) continue; console[_0x51ce('‫db', 'EEw5')](title); if (_0x10bf07[_0x51ce('‮dc', '9&2o')](type, _0x10bf07[_0x51ce('‫dd', '$WGW')])) await _0x10bf07[_0x51ce('‫de', 'N)BA')](act, defId, collectionId); else if (_0x10bf07[_0x51ce('‮df', 'n^eQ')](type, _0x10bf07[_0x51ce('‮e0', 'Ugac')])) { if (_0x10bf07[_0x51ce('‮e1', '$WGW')](receiveStatus, _0x10bf07[_0x51ce('‫e2', '$nH)')])) await _0x10bf07[_0x51ce('‮e3', 'o88m')](act, defId, collectionId, type); await _0x10bf07[_0x51ce('‮e4', '*Xc7')](sleep, 0x1770); await _0x10bf07[_0x51ce('‮e5', '#03b')](pageView, defId, collectionId, pageSpm); } await _0x10bf07[_0x51ce('‫e6', 'kBBJ')](sleep, 0x1770); } } else console[_0x51ce('‫e7', 'ytXa')](_0x10bf07[_0x51ce('‮e8', '$gEi')]); } async function act(_0x241d13, _0x2a3ce5, _0x4cfd7f = _0x51ce('‫c0', 'f95H')) { var _0x535995 = { 'Focaj': function (_0x3988a5, _0x49177f) { return _0x3988a5(_0x49177f); }, 'leUbL': _0x51ce('‮e9', 'PoeV'), 'iEJdz': _0x51ce('‫ea', '9&2o'), 'EYBat': _0x51ce('‮eb', 'f95H'), 'lSNhw': function (_0x1ae921, _0x4d0c35) { return _0x1ae921 instanceof _0x4d0c35; }, 'kLaBD': _0x51ce('‮ec', 'Mjg!') }; let _0x3e4f4e = await _0x535995[_0x51ce('‮ed', 'f95H')](request, { 'api': _0x535995[_0x51ce('‫ee', 'QNOt')], 'data': JSON[_0x51ce('‮c8', 'Blw&')]({ 'resId': 0x367be, 'source': _0x535995[_0x51ce('‮ef', 'k4J0')], 'extra': JSON[_0x51ce('‮f0', 'n^eQ')]({ 'missionDefId': _0x241d13, 'missionCollectionId': _0x2a3ce5, 'missionType': _0x4cfd7f, 'source': _0x535995[_0x51ce('‮f1', 'wknF')] }), 'callSource': _0x535995[_0x51ce('‮f2', '#03b')], 'latitude': _0x51ce('‮f3', 'dEVQ') + num, 'longitude': _0x51ce('‫f4', 'jg)j') + num }) }); if (_0x535995[_0x51ce('‫f5', 'GvvM')](_0x3e4f4e, Object)) { let { extend: { value }, msgInfo, success } = _0x3e4f4e[_0x51ce('‮f6', 'PoeV')] || { 'extend': {} }; if (value) console[_0x51ce('‮f7', 'Blw&')]('获得' + value + _0x51ce('‫f8', 'nG6p')); else if (success) console[_0x51ce('‮f9', 'VtP4')](_0x535995[_0x51ce('‮fa', 'VtP4')]); else console[_0x51ce('‮f9', 'VtP4')](msgInfo); } } async function pageView(_0x3f2f6a, _0x379286, _0x332107 = _0x51ce('‮fb', 'puG#')) { var _0x3a14d6 = { 'jlSts': function (_0x17a800, _0xe41d4c) { return _0x17a800(_0xe41d4c); }, 'UXway': _0x51ce('‮fc', 'PoeV'), 'kOBkM': _0x51ce('‮fd', 'f95H'), 'owQPq': _0x51ce('‫fe', '17Jv'), 'ZhDeM': _0x51ce('‫ff', '562d'), 'UXaPd': _0x51ce('‫100', '*Xc7'), 'vVDKB': function (_0x1e897c, _0x17c377) { return _0x1e897c instanceof _0x17c377; }, 'ZRhly': _0x51ce('‫101', 'PoeV') }; let _0xfedbfa = Date[_0x51ce('‮102', 'BD!n')](), _0x48be6c = _0x51ce('‮103', 'dEVQ') + _0xfedbfa, _0x5afb58 = _0x51ce('‫104', '%dCI') + _0xfedbfa; let _0x4bf6bc = await _0x3a14d6[_0x51ce('‮105', 'aS8j')](request, { 't': _0xfedbfa, 'api': _0x3a14d6[_0x51ce('‫106', 'k4J0')], 'data': JSON[_0x51ce('‮c6', 'o88m')]({ 'collectionId': _0x379286, 'missionId': _0x3f2f6a, 'actionCode': _0x3a14d6[_0x51ce('‫107', 'Tt]2')], 'pageFrom': _0x332107, 'viewTime': 0xf, 'bizScene': _0x3a14d6[_0x51ce('‫108', 'wknF')], 'accountPlan': _0x3a14d6[_0x51ce('‮109', 'Bnvs')], 'sync': !![], 'asac': _0x3a14d6[_0x51ce('‫10a', 'Blw&')], 'ua': _0x48be6c, 'umidtoken': _0x5afb58 }) }); if (_0x3a14d6[_0x51ce('‫10b', 'VtP4')](_0x4bf6bc, Object)) console[_0x51ce('‫db', 'EEw5')](_0x3a14d6[_0x51ce('‫10c', 'Tt]2')]); } function cookieToJson(_0x647056) { return Object[_0x51ce('‫10d', '17Jv')](_0x647056[_0x51ce('‮10e', 'v^Gf')](';')[_0x51ce('‮10f', 'Ugac')](_0x2d167e => _0x2d167e[_0x51ce('‮110', 'BD!n')]())[_0x51ce('‫111', 'ytXa')](_0x439bd0 => _0x439bd0[_0x51ce('‮112', 'KZt(')]()[_0x51ce('‫113', 'wknF')]('='))); } function jsonToCookie(_0x32f20) { return Object[_0x51ce('‮114', 'nG6p')](_0x32f20)[_0x51ce('‫115', '$nH)')](_0x235965 => _0x235965 + '=' + _0x32f20[_0x235965])[_0x51ce('‮116', '#03b')](';'); } function sleep(_0x56c62d = 0x7d0) { return new Promise(_0x38417a => setTimeout(_0x38417a, _0x56c62d)); } function getHideTasks() { var _0x2a1504 = { 'VmiOo': _0x51ce('‮117', 'ytXa'), 'gfnsr': _0x51ce('‮118', 'jg)j') }; let _0x9194e6 = [{ 'collectionId': 0x24, 'defId': 0x39211, 'type': _0x2a1504[_0x51ce('‮119', ']s1^')] }, { 'collectionId': 0x24, 'defId': 0x118c31, 'type': _0x2a1504[_0x51ce('‮11a', 'QNOt')] }, { 'collectionId': 0xaa, 'defId': 0x2e3bf1, 'type': _0x2a1504[_0x51ce('‮11b', 'dEVQ')] }, { 'collectionId': 0x24, 'defId': 0x3567e1, 'type': _0x2a1504[_0x51ce('‮11c', 'puG#')] }, { 'collectionId': 0x24, 'defId': 0x3e87d1, 'type': _0x2a1504[_0x51ce('‮11d', '17Jv')] }, { 'collectionId': 0x24, 'defId': 0x3ff701, 'type': _0x2a1504[_0x51ce('‫11e', 'wVd9')] }, { 'collectionId': 0x24, 'defId': 0x402db1, 'type': _0x2a1504[_0x51ce('‮11f', 'Ugac')] }, { 'collectionId': 0x24, 'defId': 0x40ba51, 'type': _0x2a1504[_0x51ce('‮11d', '17Jv')] }, { 'collectionId': 0x24, 'defId': 0x46d4d1, 'type': _0x2a1504[_0x51ce('‮11a', 'QNOt')] }, { 'collectionId': 0x24, 'defId': 0x46ec41, 'type': _0x2a1504[_0x51ce('‫120', '$WGW')] }, { 'collectionId': 0x24, 'defId': 0x4bd611, 'type': _0x2a1504[_0x51ce('‮121', '*Xc7')] }, { 'collectionId': 0x24, 'defId': 0x534851, 'type': _0x2a1504[_0x51ce('‫122', 'aS8j')] }, { 'collectionId': 0x24, 'defId': 0x586102, 'type': _0x2a1504[_0x51ce('‫123', 'v^Gf')] }, { 'collectionId': 0x24, 'defId': 0x5f3701, 'type': _0x2a1504[_0x51ce('‮124', 'nG6p')] }, { 'collectionId': 0x24, 'defId': 0x5fd341, 'type': _0x2a1504[_0x51ce('‮125', 'KB7Q')] }, { 'collectionId': 0x24, 'defId': 0x630f61, 'type': _0x2a1504[_0x51ce('‮126', '$PO0')] }, { 'collectionId': 0x24, 'defId': 0x661ca2, 'type': _0x2a1504[_0x51ce('‫127', '9C&5')] }, { 'collectionId': 0xaa, 'defId': 0x663be3, 'type': _0x2a1504[_0x51ce('‫128', 'GvvM')] }, { 'collectionId': 0xaa, 'defId': 0x686691, 'type': _0x2a1504[_0x51ce('‮121', '*Xc7')] }, { 'collectionId': 0x24, 'defId': 0x6eb7c1, 'type': _0x2a1504[_0x51ce('‮11c', 'puG#')] }, { 'collectionId': 0x24, 'defId': 0x6ebf91, 'type': _0x2a1504[_0x51ce('‫129', 'iDRY')] }, { 'collectionId': 0x24, 'defId': 0x70f211, 'type': _0x2a1504[_0x51ce('‫123', 'v^Gf')] }, { 'collectionId': 0x24, 'defId': 0x711921, 'type': _0x2a1504[_0x51ce('‮12a', 'N)BA')] }, { 'collectionId': 0x24, 'defId': 0x714801, 'type': _0x2a1504[_0x51ce('‮119', ']s1^')] }, { 'collectionId': 0x24, 'defId': 0x733431, 'type': _0x2a1504[_0x51ce('‮12b', 'wknF')] }, { 'collectionId': 0x24, 'defId': 0x7372b2, 'type': _0x2a1504[_0x51ce('‮12c', 'k4J0')] }, { 'collectionId': 0x24, 'defId': 0x7493c1, 'type': _0x2a1504[_0x51ce('‮12d', 'ytXa')] }]; let _0x503cd2 = [{ 'collectionId': 0x24, 'defId': 0x74361, 'type': _0x2a1504[_0x51ce('‫12e', '9&2o')] }, { 'collectionId': 0x24, 'defId': 0x4b2a31, 'type': _0x2a1504[_0x51ce('‫12f', '*Xc7')] }, { 'collectionId': 0x24, 'defId': 0x56e231, 'type': _0x2a1504[_0x51ce('‮130', 'v^Gf')] }, { 'collectionId': 0x24, 'defId': 0x56e231, 'type': _0x2a1504[_0x51ce('‮131', 'EEw5')] }, { 'collectionId': 0x24, 'defId': 0x6ceb03, 'type': _0x2a1504[_0x51ce('‮132', 'puG#')] }, { 'collectionId': 0x24, 'defId': 0x6deca1, 'type': _0x2a1504[_0x51ce('‫133', '17Jv')] }, { 'collectionId': 0x24, 'defId': 0x6e5231, 'type': _0x2a1504[_0x51ce('‮134', 'Ugac')] }, { 'collectionId': 0x24, 'defId': 0x7270e1, 'type': _0x2a1504[_0x51ce('‮135', '&IbV')] }, { 'collectionId': 0x24, 'defId': 0x729fc1, 'type': _0x2a1504[_0x51ce('‫136', 'N)BA')] }, { 'collectionId': 0x24, 'defId': 0x7343d1, 'type': _0x2a1504[_0x51ce('‮135', '&IbV')] }, { 'collectionId': 0x24, 'defId': 0x73d071, 'type': _0x2a1504[_0x51ce('‫137', 'oU5o')] }, { 'collectionId': 0x24, 'defId': 0x73d841, 'type': _0x2a1504[_0x51ce('‮138', '%dCI')] }, { 'collectionId': 0x24, 'defId': 0x7464e1, 'type': _0x2a1504[_0x51ce('‫139', 'Mjg!')] }, { 'collectionId': 0x24, 'defId': 0x746cb1, 'type': _0x2a1504[_0x51ce('‮13a', 'IORW')] }, { 'collectionId': 0x24, 'defId': 0x747481, 'type': _0x2a1504[_0x51ce('‮13b', 'aMpO')] }, { 'collectionId': 0x24, 'defId': 0x747c51, 'type': _0x2a1504[_0x51ce('‮13a', 'IORW')] }, { 'collectionId': 0x24, 'defId': 0x748421, 'type': _0x2a1504[_0x51ce('‫13c', 'Blw&')] }, { 'collectionId': 0x24, 'defId': 0x752061, 'type': _0x2a1504[_0x51ce('‮13d', '$(y@')] }, { 'collectionId': 0x24, 'defId': 0x752061, 'type': _0x2a1504[_0x51ce('‮13a', 'IORW')] }, { 'collectionId': 0x24, 'defId': 0x752831, 'type': _0x2a1504[_0x51ce('‫13e', 'jg)j')] }, { 'collectionId': 0x24, 'defId': 0x752831, 'type': _0x2a1504[_0x51ce('‫133', '17Jv')] }, { 'collectionId': 0x24, 'defId': 0x752832, 'type': _0x2a1504[_0x51ce('‫139', 'Mjg!')] }, { 'collectionId': 0x24, 'defId': 0x753001, 'type': _0x2a1504[_0x51ce('‫13f', 'f*4j')] }, { 'collectionId': 0x24, 'defId': 0x753001, 'type': _0x2a1504[_0x51ce('‫140', '562d')] }, { 'collectionId': 0x24, 'defId': 0x754771, 'type': _0x2a1504[_0x51ce('‫12e', '9&2o')] }, { 'collectionId': 0x24, 'defId': 0x754771, 'type': _0x2a1504[_0x51ce('‫141', 'GvvM')] }, { 'collectionId': 0x24, 'defId': 0x754f41, 'type': _0x2a1504[_0x51ce('‮142', 'nG6p')] }, { 'collectionId': 0x24, 'defId': 0x754f41, 'type': _0x2a1504[_0x51ce('‫13e', 'jg)j')] }, { 'collectionId': 0x24, 'defId': 0x758dc1, 'type': _0x2a1504[_0x51ce('‫143', 'QNOt')] }, { 'collectionId': 0x24, 'defId': 0x75ad01, 'type': _0x2a1504[_0x51ce('‫139', 'Mjg!')] }]; return [..._0x9194e6, ..._0x503cd2]; }; _0xodS = 'jsjiami.com.v6'; -------------------------------------------------------------------------------- /scripts/js/cmcc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/treasunew/SillyLib/326f8b63f6ed39558b4ab95fa3c3724a5dab1824/scripts/js/cmcc.js -------------------------------------------------------------------------------- /scripts/js/skkpsync.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @file: skkpsync.js 3 | * @date: 2024.3.2 4 | * @param {string} host - 青龙地址,示例;http://12.13.14.15:5700 [必填] 5 | * @param {string} userName - 青龙面板用户名 [x] 6 | * @param {string} passWord - 青龙面板用户密码 [x] 7 | * @param {string} envName - 对应的变量名,这里是skkp [必填] 8 | * @param {string} client_id - 青龙面板OpenApi的id,可去系统设置-应用设置生成 [必填] 9 | * @param {string} client_secret - 青龙面板OpenApi的秘钥,可去系统设置-应用设置生成 [必填] 10 | * @description: 实现圈X获取数据添加或更新到青龙 11 | =========================================== 12 | [rewrite_local] 13 | [mitm] 14 | */ 15 | 16 | const axios = require('axios'); 17 | 18 | var host = "http://********"; 19 | var userName = ""; 20 | var passWord = ""; 21 | var envName = "sskp"; 22 | var client_id = ""; 23 | var client_secret = ""; 24 | 25 | function getSysToken(client_id, client_secret) { 26 | return new Promise((resolve, reject) => { 27 | let tokenEndPoint = `/open/auth/token?client_id=${client_id}&client_secret=${client_secret}`; 28 | let url = host + tokenEndPoint; 29 | axios.get(url, { 30 | headers: { 31 | "Content-Type": "application/json" 32 | } 33 | }).then(resp => { 34 | let data = resp.data; 35 | let tokenText = data.data.token; 36 | let tokenType = data.data.token_type; 37 | let token = `${tokenType} ${tokenText}`; 38 | console.log(token); 39 | resolve(token); 40 | }).catch(error => { 41 | reject(error); 42 | }); 43 | }); 44 | } 45 | 46 | function getToken(userName, passWord) { 47 | return new Promise((resolve, reject) => { 48 | let tokenEndPoint = "/open/user/login"; 49 | let url = host + tokenEndPoint; 50 | let body = { 51 | username: userName, 52 | password: passWord 53 | }; 54 | axios.post(url, body, { 55 | headers: { 56 | "Content-Type": "application/json" 57 | } 58 | }).then(resp => { 59 | let data = resp.data; 60 | let token = data.data.token; 61 | console.log(token); 62 | resolve(token); 63 | }).catch(error => { 64 | reject(error); 65 | }); 66 | }); 67 | } 68 | 69 | function getEnvs(token) { 70 | return new Promise((resolve, reject) => { 71 | let timestamp = Date.now(); 72 | let envEndPoint = `/open/envs?searchValue=&t=${timestamp}`; 73 | console.log(envEndPoint); 74 | let url = host + envEndPoint; 75 | axios.get(url, { 76 | headers: { 77 | Authorization: `${token}`, 78 | "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4577.63 Safari/537.36" 79 | } 80 | }).then(resp => { 81 | let data = resp.data; 82 | let envList = data.data; 83 | const result = envList.find(item => item.name == `${envName}`); 84 | console.log(result); 85 | resolve(result); 86 | }).catch(error => { 87 | reject(error); 88 | }); 89 | }); 90 | } 91 | 92 | function updateEnv(token, result) { 93 | let updateEnvePonit = "/open/envs"; 94 | let url = host + updateEnvePonit; 95 | let { remarks, value, name, id } = result; 96 | let hijack = { remarks, value, name, id }; 97 | console.log('修改前:', hijack) 98 | let formerValue = hijack.value; 99 | let key = '1123'; 100 | let updateValue = 'success'; 101 | let arr = formerValue.split("=="); 102 | for (let i = 0; i < arr.length; i++) { 103 | let subArr = arr[i].split("@"); 104 | if (subArr[0] == key) { 105 | subArr[1] = updateValue; 106 | arr[i] = subArr.join("@"); 107 | break; 108 | } 109 | } 110 | let str = arr.join("=="); 111 | hijack.value = str; 112 | console.log('修改后:', hijack) 113 | 114 | axios.put(url, hijack, { 115 | headers: { 116 | "Authorization": `${token}`, 117 | "Content-Type": "application/json" 118 | } 119 | }).then(resp => { 120 | let data = resp.data; 121 | console.log('修改结果:', data); 122 | }).catch(error => { 123 | console.log(error); 124 | }); 125 | } 126 | 127 | // Example usage 128 | getSysToken(client_id, client_secret) 129 | .then(token => { 130 | return getEnvs(token) 131 | .then(result => [token, result]); 132 | }) 133 | .then(([token, result]) => { 134 | updateEnv(token, result); 135 | }) 136 | .catch(err => console.log(err)); 137 | 138 | 139 | -------------------------------------------------------------------------------- /scripts/js/xqz.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3.22 闲趣赚 一天0.1-0.4或者更高(根据用户等级增加任务次数) 3 | 3.24 更新加入用户余额和信息。。。。 4 | 苹果&安卓下载地址:百度搜索一大堆 5 | 新人进去直接秒到账两个0.3.。。。(微信登录)花两分钟再完成下新人任务,大概秒到微信3元左右 6 | 感觉看账号等级,我的小号进去只能做五个任务,大号可以做十个。 7 | 建议做一下里面的任务,单价还是不错的,做完等级升上来了挂脚本收益也多一点。 8 | 抓取域名 wap.quxianzhuan.com 抓取cookie的全部数据。。 9 | 青龙变量 xqzck 多账户@隔开 10 | 更新加入用户余额和信息。。。。 11 | */ 12 | var _0xodm='jsjiami.com.v6',_0xodm_=['‮_0xodm'],_0x47f7=[_0xodm,'IsOGIMKifQ==','PMOQw4A=','w4c3f8O7wrQ=','ZemVnOi3vei3rOS4jeWLp++9mQ==','WBDCuiI=','wpDCpicUwr8=','wqjplb7otprotZrkua7liKjvvbo=','w5/DocKtEwc=','eDHCiUIhHwVmw7DCvMK4axzDjsOiwqLCjy/Dp8KrDsOww68wwoJbwrQ6w48aUDkJ','acKCVMOEBQ==','F1rDqsKSwowJw5XDgsOrw5XDg0NzS8Kdw4FGwrrCpQvDgsK6Bg3CsWDDg8KUcMKFwrLDuC8nwoE3MMKmwrczw5jCu8KJwrdEw6LCqMOdU8ORw6p3woLCihjDmsKrSFrDjlNGQ8KmQBHCkgYxCsOQwr8Ow4bCo19uwp7DvcOaV8KnRcKNKMOPUUg1w5HDtcKTAMOSw6LDtAs2RsOJw7xNOHzClcKEw7sywo7CgsODBk/Dr3EOdcKjD8Ktwrhpw7gLwpwNJcKMwopDw6QNdSbCvXjCjEMlwo5Jdj1RwopQQwHDtH3DtsOLwrksw6ltNg7CshZfK2p+w5IywoNDXsOHwrDCtgXDhMOqwrLCrsKLw4oIw5HDlMOOwqsOw4vCoMKVZsOYw7Ehw5TDqsOpwpLCksKPcC3CjMKgFg7CkS1pFMOzRH8oMcKxfcOLw4sIw7jCjDjCgsK6XsOSw6PDkjTDvcOUb8O8WMKMw5R9HsKmwrjDgsKrw5chwq9DaFYfwpDDtDrDo3JiDDNbw7/Cg8Kiw4FSw7vDg8OfJiI+N8OwZTzDsMKUw7rCsgoAworCozjDvMKqCsKow4XCjcK+wp4lwr/DhSkmw7x0wo7Cj8OOfBIRwoVywoJOw49lZQnDt2RGQMKIEsK5PHBdWcKJIsKqwqY8L8O5w5VdKsKsSX9OwpdDw6rCvsO9wooBGMK8aMO5FRdOwoEjJMKUwrsjdCPCpMKdRMO4wopQbsOxw6zCl8KVwq/CuTwbf8KTwpF1FWxgIHklwqIQcMKFwo0UwoBxw7lqwqjDtcK5QsKzw7PCpcOqRsOGw7BbLiXDqMOwQj3CqExPwqocKyjDncKLw6LCpsOkwqEJwp9HworCrcOAwo/DusKAEsOHwrJ3w7fCllUPTMONw6HCjgXCpiLDjcOhwqPCgA3DusOrwrgDw7bChsK7wqlPw5lzw6PDmsKUw5cew4HCjDbCmx/CmMONwqB9U0UcwpvDg3zDqwkOw5cZw40/GMO5w47DvnbCvRNEwosMPSdPw6B5w4ouw6oPwp7Dj0lWBMOKw7lsbx7ClsK6wqdAwr9bF8KUfw3DksKQJj4NwqR3wqnDpjZFw5vDsgTCjTbCggLCpRoAw6zCmBw8w60Sw6vClRDCsMKAw7TDsVTDlmE9w6bCicKmw519VVHCs1IKwqrClk/DmMOYOGzCuyNZwqBdVMKOw47CnsKswprDhkbCtDTCghQbTsK6UsOWw7nCtlkXwqNpAAzDlg7Cun3Ct8OFwpw9woIPCMKhwownwoVPQ8KTQDHCgz/DoXcyL2ZBwqhXw5bDrMOvFmnDncKow4XCk8OCwojCjF3CjCB7w6/CqyfClGsfw7F4IQ9FwoNFw7dhbMKON3QOLMKIwpDClTIHa8OAwrjDmV3Cv2oaIMOxw4LClygnE1x2MDjDlUNFwrAdw7zDlSPDusKXKmFXw4VHRMOUAEwOwpfDjDcabnLDiMK2C2gcwq/DrgBEw63Dm8OBwpoEwoBFTMOwwojCnWDDiWDCmMK1AMOoTjhBw4hHw7/CgHRYwrw0HcKbwpM5wrQbBhJcYcKjwrkqQcOEw7cAw6Irw4XDn05kwoBuw7p6HA3CuMOVMQ==','w7Y0Cw==','Uh5uD8KS','W+mVs+i0qui2oOmesuS4t+eUp+aIt++/j+ODhQ==','a8OiVcK4Og==','TR50CMKVw4g=','6Zej6La76LeZA8KIwr1A','wozCnsKAw6hmMQ==','w4M9VmF5wr54IyM=','w5I9ZQ==','w5TDp8KOPyA=','wp7DmcK2w7TCk8KzwpzDmEo=','w5HDgD8rwp4=','HyjChcOHJQ==','QT7CuhjCoQ==','dTNXIcKc','w5QCSmYm','w68eZsOew5E=','w7AMaw==','wo/CoRQtwrjCpE10w5Vawoshwr4o5Yee','w7AGYkkiwpc=','5Lme6Lac5YyVejfCogJmIsK8FgXCmFtsBsKt','w7YgeGRc','F8Ouw6bCi8KO','wo3ClC4Aw6Q=','GcO3BcKFew==','HcOPMMOSwpkr','w5rDni3DqMO8','Az7DrA==','fuW+uuWkqeOBh+mXqOi0rOi1tQ==','wrPCthITw48=','PsOww45ww5k=','w4fDtinDiTA=','PcOdJg==','wp3plK7oto7otrbpnabkuIXnlrzmioTvv6XjgY0=','44K5wrhGwrDljYbmjaPnjKPkv5rpoa7jgI0=','cyTCiVE6','w4TDtwzDlcObw4E=','w4bDo1dl','wrrCiMKiw7dw','aCLDtcOhWA==','w7nDh8KM','YOmUrOi3gei3ieS4tuWKh++9kg==','wrLCrAIGw4TCvXrDm8KwwqwKw7PDvcKqVMOHTMO9I3otIcOow6hrG0xhwpHDu8OJwpUtMijDkA7DhEDCi18hWy1ZwoEAb8KLw5DCgnDCkcO7F8Kfw6pQw7vCjMKTDB5Mbj8=','HzDDuRAM','wrjCsMKZ','elDDkl9n','XlAwBcKa','PgzCocOLDw==','w4DDl1srYQ==','w6/DqVREQg==','PMObw5wUKQ==','EMKcwp1ybg==','56+75bybA0jnp5fnubXnu4Hku7/kuoHku7bliq0=','w47DuEFpSw==','wqPDrsKhw7PCsw==','eA7Cp8OJFA==','w5nDpXBJWw==','w6fDgcKbNB8=','dyDChMOUJFk4bnY7wq4fBULCksKFw4ROw708wp/DksK7bHA9C8O0RsKyHcO9wr7Cun1RwrTCsgrDo14XFHPCm8OQQMOKw5M=','e8OEw6/DgE5hwoDDk8O3woE=','wroFY1w7wpdUwoHCtcKP','w7zChg80wod0w7BUwrQ=','wq/CusKeTA==','EMOGw47CkMKT','BUZabMK3','GcObwpY0cg==','44C+UcO+duWMguaMu+eMo+S+j+mhuOOCig==','ejFsjigbbaCUmiuU.coDSKm.WGtWv6=='];if(function(_0x2d158c,_0x5267c3,_0x228c42){function _0x247644(_0x3a135d,_0x2a2af7,_0x49ff78,_0x19dbdb,_0x48e387,_0x1d2c4f){_0x2a2af7=_0x2a2af7>>0x8,_0x48e387='po';var _0x2c4df0='shift',_0x4548da='push',_0x1d2c4f='‮';if(_0x2a2af7<_0x3a135d){while(--_0x3a135d){_0x19dbdb=_0x2d158c[_0x2c4df0]();if(_0x2a2af7===_0x3a135d&&_0x1d2c4f==='‮'&&_0x1d2c4f['length']===0x1){_0x2a2af7=_0x19dbdb,_0x49ff78=_0x2d158c[_0x48e387+'p']();}else if(_0x2a2af7&&_0x49ff78['replace'](/[eFgbbCUuUDSKWGtW=]/g,'')===_0x2a2af7){_0x2d158c[_0x4548da](_0x19dbdb);}}_0x2d158c[_0x4548da](_0x2d158c[_0x2c4df0]());}return 0xd98cb;};return _0x247644(++_0x5267c3,_0x228c42)>>_0x5267c3^_0x228c42;}(_0x47f7,0xfa,0xfa00),_0x47f7){_0xodm_=_0x47f7['length']^0xfa;};function _0x39d2(_0x14a187,_0x2c8b59){_0x14a187=~~'0x'['concat'](_0x14a187['slice'](0x1));var _0x1dcceb=_0x47f7[_0x14a187];if(_0x39d2['cyBWSE']===undefined){(function(){var _0x5620f1=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x28fd2d='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x5620f1['atob']||(_0x5620f1['atob']=function(_0x36d503){var _0x27a8c2=String(_0x36d503)['replace'](/=+$/,'');for(var _0x14c4b5=0x0,_0x398741,_0x2e0bac,_0x341908=0x0,_0x13699b='';_0x2e0bac=_0x27a8c2['charAt'](_0x341908++);~_0x2e0bac&&(_0x398741=_0x14c4b5%0x4?_0x398741*0x40+_0x2e0bac:_0x2e0bac,_0x14c4b5++%0x4)?_0x13699b+=String['fromCharCode'](0xff&_0x398741>>(-0x2*_0x14c4b5&0x6)):0x0){_0x2e0bac=_0x28fd2d['indexOf'](_0x2e0bac);}return _0x13699b;});}());function _0x145597(_0x433724,_0x2c8b59){var _0x5de13e=[],_0x205ea1=0x0,_0x52aed6,_0x39de4b='',_0x63fd89='';_0x433724=atob(_0x433724);for(var _0x385398=0x0,_0x532dd4=_0x433724['length'];_0x385398<_0x532dd4;_0x385398++){_0x63fd89+='%'+('00'+_0x433724['charCodeAt'](_0x385398)['toString'](0x10))['slice'](-0x2);}_0x433724=decodeURIComponent(_0x63fd89);for(var _0x2218a7=0x0;_0x2218a7<0x100;_0x2218a7++){_0x5de13e[_0x2218a7]=_0x2218a7;}for(_0x2218a7=0x0;_0x2218a7<0x100;_0x2218a7++){_0x205ea1=(_0x205ea1+_0x5de13e[_0x2218a7]+_0x2c8b59['charCodeAt'](_0x2218a7%_0x2c8b59['length']))%0x100;_0x52aed6=_0x5de13e[_0x2218a7];_0x5de13e[_0x2218a7]=_0x5de13e[_0x205ea1];_0x5de13e[_0x205ea1]=_0x52aed6;}_0x2218a7=0x0;_0x205ea1=0x0;for(var _0x3915c7=0x0;_0x3915c7<_0x433724['length'];_0x3915c7++){_0x2218a7=(_0x2218a7+0x1)%0x100;_0x205ea1=(_0x205ea1+_0x5de13e[_0x2218a7])%0x100;_0x52aed6=_0x5de13e[_0x2218a7];_0x5de13e[_0x2218a7]=_0x5de13e[_0x205ea1];_0x5de13e[_0x205ea1]=_0x52aed6;_0x39de4b+=String['fromCharCode'](_0x433724['charCodeAt'](_0x3915c7)^_0x5de13e[(_0x5de13e[_0x2218a7]+_0x5de13e[_0x205ea1])%0x100]);}return _0x39de4b;}_0x39d2['weUfxi']=_0x145597;_0x39d2['eNnPgT']={};_0x39d2['cyBWSE']=!![];}var _0x36f452=_0x39d2['eNnPgT'][_0x14a187];if(_0x36f452===undefined){if(_0x39d2['zGiWHB']===undefined){_0x39d2['zGiWHB']=!![];}_0x1dcceb=_0x39d2['weUfxi'](_0x1dcceb,_0x2c8b59);_0x39d2['eNnPgT'][_0x14a187]=_0x1dcceb;}else{_0x1dcceb=_0x36f452;}return _0x1dcceb;};const $=new Env(_0x39d2('‮0','XzrC'));let status;status=(status=$[_0x39d2('‮1','#4H(')](_0x39d2('‮2','uIh3'))||'1')>0x1?''+status:'';let xqzckArr=[],xqzcount='';let xqzck=($['isNode']()?process[_0x39d2('‫3','weK&')]['xqzck']:$['getdata']('xqzck'))||'';let xqzid='',xqztk='';!(async()=>{var _0x55a7c1={'orBje':function(_0x3d9df1){return _0x3d9df1();},'WLXvS':function(_0x59adb7,_0x5f06d4,_0x142623){return _0x59adb7(_0x5f06d4,_0x142623);},'mCwUH':function(_0x1c7e11,_0x16d57c){return _0x1c7e11+_0x16d57c;},'HEDSc':function(_0x1f5d99,_0x5cba52){return _0x1f5d99*_0x5cba52;},'rFFxU':function(_0x6159b8,_0x5668d1){return _0x6159b8-_0x5668d1;},'FFWmu':function(_0xcefed9,_0x245794){return _0xcefed9!==_0x245794;},'MyPAY':'VkgaL','nOiNL':function(_0x33e25c){return _0x33e25c();},'JLMMf':'LcqgK','MlTvQ':function(_0x16c644,_0xb3e2de){return _0x16c644!==_0xb3e2de;},'Fooqo':_0x39d2('‫4','EUbI'),'JpigR':function(_0x52bc02){return _0x52bc02();}};if(typeof $request!==_0x39d2('‫5','KA3y')){if(_0x55a7c1[_0x39d2('‫6','%iIs')](_0x55a7c1['MyPAY'],'VkgaL')){_0x55a7c1[_0x39d2('‮7','v0Nn')](resolve);}else{await _0x55a7c1[_0x39d2('‫8','GV6i')](xqzck);}}else{if(_0x55a7c1[_0x39d2('‮9','JUv5')]!==_0x39d2('‮a','qAxn')){xqzckArr=xqzck[_0x39d2('‮b','RHFD')]('@');console[_0x39d2('‮c','qAxn')](_0x39d2('‮d','z[7J')+xqzckArr[_0x39d2('‫e','qAxn')]+_0x39d2('‫f',']!Q4'));for(let _0x2c0f0c=0x0;_0x2c0f0c/)[0x1];console[_0x39d2('‮1b','lZuR')](_0x39d2('‮1c','*ScD')+_0x5497b6+_0x39d2('‮1d','F)D0')+_0x5e3e9e+'】');}}})()[_0x39d2('‫1e','K94p')](_0x848d15=>$[_0x39d2('‮1f','F)D0')](_0x848d15))['finally'](()=>$[_0x39d2('‫20','z[7J')]());function xqzlb(_0x8d8167=0x0){var _0x3bf983={'NVffO':function(_0x434d83,_0x1d93f5){return _0x434d83+_0x1d93f5;},'bCdXO':function(_0x54e068){return _0x54e068();},'rIiSd':function(_0x47304e,_0x49bb07){return _0x47304e===_0x49bb07;},'XytsM':'lDtXA','QsViw':function(_0x14a394,_0x4e71ae){return _0x14a394===_0x4e71ae;},'FAXle':'wGNFK'};return new Promise(_0x28fe4c=>{if(_0x3bf983[_0x39d2('‫21','#4H(')](_0x3bf983[_0x39d2('‮22','a)uq')],'NHhEC')){console[_0x39d2('‮23','EUbI')](_0x39d2('‮24','fwM@')+result['msg']);}else{let _0x3df897={'url':_0x39d2('‫25','A#B#'),'headers':JSON[_0x39d2('‫26','nY6I')]('{\x22Host\x22:\x22wap.quxianzhuan.com\x22,\x22Connection\x22:\x22keep-alive\x22,\x22Upgrade-Insecure-Requests\x22:\x221\x22,\x22User-Agent\x22:\x22Mozilla/5.0\x20(Linux;\x20Android\x2010;\x2016s\x20Pro\x20Build/QKQ1.191222.002;\x20wv)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Version/4.0\x20Chrome/83.0.4103.106\x20Mobile\x20Safari/537.36\x20\x20XiaoMi/MiuiBrowser/10.8.1\x20LT-APP/44/200\x22,\x22Accept\x22:\x22text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\x22,\x22x-app\x22:\x2296c1ea5a-9a52-44c9-8ac4-8dceafa065c8\x22,\x22X-Requested-With\x22:\x22com.quxianzhuan.wap\x22,\x22Sec-Fetch-Site\x22:\x22none\x22,\x22Sec-Fetch-Mode\x22:\x22navigate\x22,\x22Sec-Fetch-User\x22:\x22?1\x22,\x22Sec-Fetch-Dest\x22:\x22document\x22,\x22Referer\x22:\x22https://wap.quxianzhuan.com/reward/list/?xapp-target=blank\x22,\x22Accept-Encoding\x22:\x22gzip,\x20deflate\x22,\x22Accept-Language\x22:\x22zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\x22,\x22Cookie\x22:\x22'+xqzck+'\x22}')};$[_0x39d2('‫27','D[2Z')](_0x3df897,async(_0x190220,_0x3af933,_0x409111)=>{var _0x1d5449={'khrUf':function(_0x56d23f){return _0x56d23f();}};try{xqzid=_0x409111[_0x39d2('‫28','vIQK')](/reward_id":"(\d+)",/)[0x1];xqztk=xqzck[_0x39d2('‮29','MJIk')](/tzb_formhash_cookie=(\w+);/)[0x1];console[_0x39d2('‮c','qAxn')](_0x3bf983[_0x39d2('‮2a','v0Nn')]('\x0a闲趣赚匹配任务ID:',xqzid));await _0x3bf983['bCdXO'](xqzrw);}catch(_0x32f4e6){}finally{if(_0x3bf983[_0x39d2('‮2b','IKE$')](_0x39d2('‮2c','6#ww'),_0x3bf983[_0x39d2('‫2d','wh%A')])){_0x28fe4c();}else{_0x1d5449[_0x39d2('‫2e','Lb&R')](_0x28fe4c);}}},_0x8d8167);}});}function xqzrw(_0x2888ee=0x0){var _0x5ea225={'gZWmC':function(_0x53beb3,_0x918b3c){return _0x53beb3+_0x918b3c;},'ZHPUX':_0x39d2('‮2f','IKE$'),'tqjiW':function(_0x1277a6){return _0x1277a6();},'ripfJ':_0x39d2('‫30','6#ww')};return new Promise(_0x41ce33=>{var _0x4b087c={'ZLCPS':_0x39d2('‮31','KA3y'),'NjTne':function(_0x1bf7c4,_0x3e6c23){return _0x1bf7c4==_0x3e6c23;},'sSGZa':function(_0x1e0e2f,_0x32be6d){return _0x1e0e2f+_0x32be6d;},'pdleX':function(_0x1b23d9,_0x23a9f1){return _0x5ea225[_0x39d2('‮32','Ve8i')](_0x1b23d9,_0x23a9f1);},'coVjE':_0x5ea225[_0x39d2('‫33','6#ww')],'JIFAR':function(_0x32f184){return _0x5ea225['tqjiW'](_0x32f184);},'MARWE':_0x5ea225[_0x39d2('‮34','EUbI')]};let _0x579dd9={'url':_0x39d2('‮35','Ve8i'),'headers':JSON['parse']('{\x22Host\x22:\x22wap.quxianzhuan.com\x22,\x22Connection\x22:\x22keep-alive\x22,\x22Upgrade-Insecure-Requests\x22:\x221\x22,\x22User-Agent\x22:\x22Mozilla/5.0\x20(Linux;\x20Android\x2010;\x2016s\x20Pro\x20Build/QKQ1.191222.002;\x20wv)\x20AppleWebKit/537.36\x20(KHTML,\x20like\x20Gecko)\x20Version/4.0\x20Chrome/83.0.4103.106\x20Mobile\x20Safari/537.36\x20\x20XiaoMi/MiuiBrowser/10.8.1\x20LT-APP/44/200\x22,\x22Accept\x22:\x22text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\x22,\x22x-app\x22:\x2296c1ea5a-9a52-44c9-8ac4-8dceafa065c8\x22,\x22X-Requested-With\x22:\x22com.quxianzhuan.wap\x22,\x22Sec-Fetch-Site\x22:\x22none\x22,\x22Sec-Fetch-Mode\x22:\x22navigate\x22,\x22Sec-Fetch-User\x22:\x22?1\x22,\x22Sec-Fetch-Dest\x22:\x22document\x22,\x22Referer\x22:\x22https://wap.quxianzhuan.com/reward/list/?xapp-target=blank\x22,\x22Accept-Encoding\x22:\x22gzip,\x20deflate\x22,\x22Accept-Language\x22:\x22zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7\x22,\x22Cookie\x22:\x22'+xqzck+'\x22}'),'body':_0x39d2('‫36','MPxS')+xqzid+_0x39d2('‫37','qAxn')+xqztk+_0x39d2('‫38','mVvS')};$[_0x39d2('‮39','D[2Z')](_0x579dd9,async(_0x216874,_0x50e484,_0x53fa76)=>{if(_0x39d2('‫3a','NiW#')===_0x4b087c['ZLCPS']){try{let _0x4dbc7e=_0x53fa76[_0x39d2('‫3b','YLkM')](/available_money":(.+?),"/)[0x1];let _0x6e63b2=_0x53fa76[_0x39d2('‮3c',']!Q4')](/UID:(.+?)\<\/span\>/)[0x1];console['log']('\x0a闲趣赚靓仔用户:【'+_0x6e63b2+_0x39d2('‫3d','GV6i')+_0x4dbc7e+'】');}catch(_0x20e178){}finally{_0x41ce33();}}else{try{const _0x35ebda=JSON['parse'](_0x53fa76);if(_0x4b087c['NjTne'](_0x35ebda[_0x39d2('‫3e','lZuR')],0x1)){console[_0x39d2('‮3f','GlR)')](_0x4b087c['sSGZa'](_0x4b087c[_0x39d2('‮40','weK&')](_0x39d2('‫41','K@)D'),_0x35ebda['msg']),_0x4b087c['coVjE']));await $[_0x39d2('‮42','GV6i')](0x2af8);await _0x4b087c[_0x39d2('‮43','mVvS')](xqzlb);}else{console['log'](_0x39d2('‫44','z[7J')+_0x35ebda['msg']);}}catch(_0x1ec8c9){}finally{if('xdnrf'!==_0x4b087c['MARWE']){_0x4b087c[_0x39d2('‫45','EUbI')](_0x41ce33);}else{_0x41ce33();}}}},_0x2888ee);});}function xqzxx(_0x330473=0x0){return new Promise(_0x51f24f=>{let _0x54f1fa={'url':_0x39d2('‫46','K94p'),'headers':JSON[_0x39d2('‫47','GPfi')](_0x39d2('‫48','s[%2')+xqzck+'\x22}')};$[_0x39d2('‫49','PP[x')](_0x54f1fa,async(_0x3bfce3,_0x1a61ad,_0x4ac891)=>{try{let _0x31cd8c=_0x4ac891['match'](/available_money":(.+?),"/)[0x1];let _0x318a42=_0x4ac891[_0x39d2('‫4a','JUv5')](/UID:(.+?)\<\/span\>/)[0x1];console['log'](_0x39d2('‮4b','NiW#')+_0x318a42+'】\x20-\x20可提现余额【'+_0x31cd8c+'】');}catch(_0x147b1e){}finally{_0x51f24f();}},_0x330473);});}function rand(_0x55047e,_0x5f4ee9){var _0x253226={'ggzfO':function(_0x217605,_0x739a8,_0x25f69f){return _0x217605(_0x739a8,_0x25f69f);},'fwQfS':function(_0x52c6b1,_0x59640f){return _0x52c6b1+_0x59640f;},'SwwXA':function(_0x3efd66,_0x4d12ef){return _0x3efd66-_0x4d12ef;}};return _0x253226[_0x39d2('‮4c','bV^@')](parseInt,_0x253226['fwQfS'](Math[_0x39d2('‫4d','JUv5')]()*(_0x253226['SwwXA'](_0x5f4ee9,_0x55047e)+0x1),_0x55047e),0xa);};_0xodm='jsjiami.com.v6'; 13 | function Env(t, e) { class s { constructor(t) { this.env = t } send(t, e = "GET") { t = "string" == typeof t ? { url: t } : t; let s = this.get; return "POST" === e && (s = this.post), new Promise((e, i) => { s.call(this, t, (t, s, r) => { t ? i(t) : e(s) }) }) } get(t) { return this.send.call(this.env, t) } post(t) { return this.send.call(this.env, t, "POST") } } return new class { constructor(t, e) { this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `\ud83d\udd14${this.name}, \u5f00\u59cb!`) } isNode() { return "undefined" != typeof module && !!module.exports } isQuanX() { return "undefined" != typeof $task } isSurge() { return "undefined" != typeof $httpClient && "undefined" == typeof $loon } isLoon() { return "undefined" != typeof $loon } toObj(t, e = null) { try { return JSON.parse(t) } catch { return e } } toStr(t, e = null) { try { return JSON.stringify(t) } catch { return e } } getjson(t, e) { let s = e; const i = this.getdata(t); if (i) try { s = JSON.parse(this.getdata(t)) } catch { } return s } setjson(t, e) { try { return this.setdata(JSON.stringify(t), e) } catch { return !1 } } getScript(t) { return new Promise(e => { this.get({ url: t }, (t, s, i) => e(i)) }) } runScript(t, e) { return new Promise(s => { let i = this.getdata("@chavy_boxjs_userCfgs.httpapi"); i = i ? i.replace(/\n/g, "").trim() : i; let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout"); r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r; const [o, h] = i.split("@"), a = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(a, (t, e, i) => s(i)) }).catch(t => this.logErr(t)) } loaddata() { if (!this.isNode()) return {}; { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e); if (!s && !i) return {}; { const i = s ? t : e; try { return JSON.parse(this.fs.readFileSync(i)) } catch (t) { return {} } } } } writedata() { if (this.isNode()) { this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path"); const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile), s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data); s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r) } } lodash_get(t, e, s) { const i = e.replace(/\[(\d+)\]/g, ".$1").split("."); let r = t; for (const t of i) if (r = Object(r)[t], void 0 === r) return s; return r } lodash_set(t, e, s) { return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t) } getdata(t) { let e = this.getval(t); if (/^@/.test(t)) { const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : ""; if (r) try { const t = JSON.parse(r); e = t ? this.lodash_get(t, i, "") : e } catch (t) { e = "" } } return e } setdata(t, e) { let s = !1; if (/^@/.test(e)) { const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}"; try { const e = JSON.parse(h); this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i) } catch (e) { const o = {}; this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i) } } else s = this.setval(t, e); return s } getval(t) { return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null } setval(t, e) { return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null } initGotEnv(t) { this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar)) } get(t, e = (() => { })) { t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) })) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => { try { if (t.headers["set-cookie"]) { const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString(); this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar } } catch (t) { this.logErr(t) } }).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) })) } post(t, e = (() => { })) { if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => { !t && s && (s.body = i, s.statusCode = s.status), e(t, s, i) }); else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => e(t)); else if (this.isNode()) { this.initGotEnv(t); const { url: s, ...i } = t; this.got.post(s, i).then(t => { const { statusCode: s, statusCode: i, headers: r, body: o } = t; e(null, { status: s, statusCode: i, headers: r, body: o }, o) }, t => { const { message: s, response: i } = t; e(s, i, i && i.body) }) } } time(t) { let e = { "M+": (new Date).getMonth() + 1, "d+": (new Date).getDate(), "H+": (new Date).getHours(), "m+": (new Date).getMinutes(), "s+": (new Date).getSeconds(), "q+": Math.floor(((new Date).getMonth() + 3) / 3), S: (new Date).getMilliseconds() }; /(y+)/.test(t) && (t = t.replace(RegExp.$1, ((new Date).getFullYear() + "").substr(4 - RegExp.$1.length))); for (let s in e) new RegExp("(" + s + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? e[s] : ("00" + e[s]).substr(("" + e[s]).length))); return t } msg(e = t, s = "", i = "", r) { const o = t => { if (!t) return t; if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0; if ("object" == typeof t) { if (this.isLoon()) { let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"]; return { openUrl: e, mediaUrl: s } } if (this.isQuanX()) { let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl; return { "open-url": e, "media-url": s } } if (this.isSurge()) { let e = t.url || t.openUrl || t["open-url"]; return { url: e } } } }; this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))); let h = ["", "==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3=============="]; h.push(e), s && h.push(s), i && h.push(i), console.log(h.join("\n")), this.logs = this.logs.concat(h) } log(...t) { t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator)) } logErr(t, e) { const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); s ? this.log("", `\u2757\ufe0f${this.name}, \u9519\u8bef!`, t.stack) : this.log("", `\u2757\ufe0f${this.name}, \u9519\u8bef!`, t) } wait(t) { return new Promise(e => setTimeout(e, t)) } done(t = {}) { const e = (new Date).getTime(), s = (e - this.startTime) / 1e3; this.log("", `\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t) } }(t, e) } -------------------------------------------------------------------------------- /scripts/ks/enhance.json: -------------------------------------------------------------------------------- 1 | [{"llsid":2001305955537902000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22752224650}}]}]}, 2 | {"llsid":2005115516487910000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22867550250}}]}]}, 3 | {"llsid":2001305814263288300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859116574}}]}]}, 4 | {"llsid":2005155705251074600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724726690}}]}]}, 5 | {"llsid":2005108142733320700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22548500932}}]}]}, 6 | {"llsid":2005115518903388400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22829573580}}]}]}, 7 | {"llsid":2001305356524580900,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22699556439}}]}]}, 8 | {"llsid":2001305955538266000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22866296167}}]}]}, 9 | {"llsid":2005126799846313000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22550389209}}]}]}, 10 | {"llsid":2001304539541544000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22860108192}}]}]}, 11 | {"llsid":2001305575424785000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724908592}}]}]}, 12 | {"llsid":2005110867182989800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22712950057}}]}]}, 13 | {"llsid":2005138109596227000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22778197711}}]}]}, 14 | {"llsid":2005149912628157000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":20243125434}}]}]}, 15 | {"llsid":2001304411251556600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22715665006}}]}]}, 16 | {"llsid":2001304083751193900,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22713914496}}]}]}, 17 | {"llsid":2001304195571586600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22841910869}}]}]}, 18 | {"llsid":2005145482789271600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22686208540}}]}]}, 19 | {"llsid":2001305234472561000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21763320189}}]}]}, 20 | {"llsid":2005176255858580000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22393805140}}]}]}, 21 | {"llsid":2005149934660693000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21695233817}}]}]}, 22 | {"llsid":2001306494153643300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22092796991}}]}]}, 23 | {"llsid":2005108005855706000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22671878165}}]}]}, 24 | {"llsid":2005110867183820000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22841828135}}]}]}, 25 | {"llsid":2005134354907469800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861503252}}]}]}, 26 | {"llsid":2001305609689737700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22830791046}}]}]}, 27 | {"llsid":2001303338017351000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22589315886}}]}]}, 28 | {"llsid":2005139346664528100,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22721557366}}]}]}, 29 | {"llsid":2005115518904678400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22584918713}}]}]}, 30 | {"llsid":2001305590455038500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22820470727}}]}]}, 31 | {"llsid":2001304873157838800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863268285}}]}]}, 32 | {"llsid":2001303756873687300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859940342}}]}]}, 33 | {"llsid":2001305681535910700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22783703822}}]}]}, 34 | {"llsid":2005149923011498000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863040285}}]}]}, 35 | {"llsid":2005076804316352300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22828126941}}]}]}, 36 | {"llsid":2005155617900538400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22788991142}}]}]}, 37 | {"llsid":2005134354908089300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862527282}}]}]}, 38 | {"llsid":2001306464203699700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864626047}}]}]}, 39 | {"llsid":2005110793349204200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859940943}}]}]}, 40 | {"llsid":2001305621084590300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22838392226}}]}]}, 41 | {"llsid":2005110763713243400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22846184204}}]}]}, 42 | {"llsid":2001304882627598300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862612839}}]}]}, 43 | {"llsid":2005149764096181200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22319611465}}]}]}, 44 | {"llsid":2005138039290093800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22052241996}}]}]}, 45 | {"llsid":2001304037237127400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22798620712}}]}]}, 46 | {"llsid":2005126824536293400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21126570247}}]}]}, 47 | {"llsid":2001304539544124400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22290070945}}]}]}, 48 | {"llsid":2001305990042437600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22867551253}}]}]}, 49 | {"llsid":2001304992784756500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859224537}}]}]}, 50 | {"llsid":2001306477737781200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22380881584}}]}]}, 51 | {"llsid":2005108054609125000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22867044904}}]}]}, 52 | {"llsid":2005110793350267100,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22531684399}}]}]}, 53 | {"llsid":2001305721625463600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22785649274}}]}]}, 54 | {"llsid":2005115516491356000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22754261033}}]}]}, 55 | {"llsid":2001305656126063400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861668289}}]}]}, 56 | {"llsid":2001304338388759000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859105140}}]}]}, 57 | {"llsid":2001305621085867300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22747478415}}]}]}, 58 | {"llsid":2001305698197791500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22817293387}}]}]}, 59 | {"llsid":2005155595875711000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22860221405}}]}]}, 60 | {"llsid":2005149912631531300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22826809651}}]}]}, 61 | {"llsid":2005126826569415400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22837277638}}]}]}, 62 | {"llsid":2005155595875855400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22867712542}}]}]}, 63 | {"llsid":2001305234475778000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859442381}}]}]}, 64 | {"llsid":2001304539926957600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22662306844}}]}]}, 65 | {"llsid":2005076647964877800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22631279259}}]}]}, 66 | {"llsid":2005134207035256000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22748127460}}]}]}, 67 | {"llsid":2005138109599859500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22866294510}}]}]}, 68 | {"llsid":2005172296593047800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862329912}}]}]}, 69 | {"llsid":2005139346667494100,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22810611226}}]}]}, 70 | {"llsid":2001305575428958000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864660619}}]}]}, 71 | {"llsid":2001304939663953200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22671878169}}]}]}, 72 | {"llsid":2001305698198611000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22860312702}}]}]}, 73 | {"llsid":2001303723324427500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22361799731}}]}]}, 74 | {"llsid":2005176255862257400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862971627}}]}]}, 75 | {"llsid":2001305234476506400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22470135022}}]}]}, 76 | {"llsid":2001305273367344400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22847209383}}]}]}, 77 | {"llsid":2001304339914820600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22451023672}}]}]}, 78 | {"llsid":2001304338389962800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22559018102}}]}]}, 79 | {"llsid":2001304539927821800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22829193285}}]}]}, 80 | {"llsid":2005176207868113700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22403443295}}]}]}, 81 | {"llsid":2001304605997378000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724857150}}]}]}, 82 | {"llsid":2001304135160140500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22689370262}}]}]}, 83 | {"llsid":2001304873161359000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724544515}}]}]}, 84 | {"llsid":2001305228830156500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22817690335}}]}]}, 85 | {"llsid":2005132750281637000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22837277638}}]}]}, 86 | {"llsid":2001305588742274000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22641989059}}]}]}, 87 | {"llsid":2005118141603651000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22657491741}}]}]}, 88 | {"llsid":2005139326558033200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859806782}}]}]}, 89 | {"llsid":2001305173770512400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22762012402}}]}]}, 90 | {"llsid":2005138039223805700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22506953094}}]}]}, 91 | {"llsid":2001303810886488000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861716791}}]}]}, 92 | {"llsid":2005172263057544700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22528278877}}]}]}, 93 | {"llsid":2001304884552471600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22557696550}}]}]}, 94 | {"llsid":2001305549212442000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22716221375}}]}]}, 95 | {"llsid":2005176162320913200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22763942356}}]}]}, 96 | {"llsid":2005110763647448600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22819866225}}]}]}, 97 | {"llsid":2001305551120305000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22621679195}}]}]}, 98 | {"llsid":2005108054543074600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22821398974}}]}]}, 99 | {"llsid":2005076633956035000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863271965}}]}]}, 100 | {"llsid":2005115518839996700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":20979672995}}]}]}, 101 | {"llsid":2005108005791616800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22826601206}}]}]}, 102 | {"llsid":2005155617835895600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22662476751}}]}]}, 103 | {"llsid":2001303810886984200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22795975123}}]}]}, 104 | {"llsid":2001303790131677700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22571073715}}]}]}, 105 | {"llsid":2005115518840332500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21763440090}}]}]}, 106 | {"llsid":2001305627890923300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22531684399}}]}]}, 107 | {"llsid":2001305146396927500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22547780265}}]}]}, 108 | {"llsid":2005145330259706400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22820476678}}]}]}, 109 | {"llsid":2001304407433549600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22459127597}}]}]}, 110 | {"llsid":2005118113591694000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22758597707}}]}]}, 111 | {"llsid":2005176006454268400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863268283}}]}]}, 112 | {"llsid":2001304826899126500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22846184202}}]}]}, 113 | {"llsid":2001303337953760300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22854057898}}]}]}, 114 | {"llsid":2001304040097592300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22795823331}}]}]}, 115 | {"llsid":2005155497685140500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22524083793}}]}]}, 116 | {"llsid":2001304015923275500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22691548373}}]}]}, 117 | {"llsid":2005139326559535000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22814167898}}]}]}, 118 | {"llsid":2001305166781710000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859938968}}]}]}, 119 | {"llsid":2005172317035907800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22788991142}}]}]}, 120 | {"llsid":2005132750214638800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22844371565}}]}]}, 121 | {"llsid":2001305609626419500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22478193130}}]}]}, 122 | {"llsid":2005132693218226200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22565357804}}]}]}, 123 | {"llsid":2005145330260466700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864626047}}]}]}, 124 | {"llsid":2001304844972035600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22795981260}}]}]}, 125 | {"llsid":2005108005793085200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22860410787}}]}]}, 126 | {"llsid":2001304407434486500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22842057636}}]}]}, 127 | {"llsid":2005118141605839600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859935730}}]}]}, 128 | {"llsid":2005155559727763700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22854057898}}]}]}, 129 | {"llsid":2001303749479535900,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22846184202}}]}]}, 130 | {"llsid":2001304338323863600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22617484128}}]}]}, 131 | {"llsid":2005118141605998300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22319611465}}]}]}, 132 | {"llsid":2005076633957873700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22837659048}}]}]}, 133 | {"llsid":2005172321997506800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22722012764}}]}]}, 134 | {"llsid":2001304095479978000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21126570247}}]}]}, 135 | {"llsid":2001305549214655000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22681629399}}]}]}, 136 | {"llsid":2005149764032591000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22858945779}}]}]}, 137 | {"llsid":2005115500588605200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22290070945}}]}]}, 138 | {"llsid":2001305550322169000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22851085461}}]}]}, 139 | {"llsid":2001304040098828300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22838076600}}]}]}, 140 | {"llsid":2001303700031923500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864186223}}]}]}, 141 | {"llsid":2005110763649949400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22531681770}}]}]}, 142 | {"llsid":2005134233829444400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22641007666}}]}]}, 143 | {"llsid":2005068251235108900,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22806444455}}]}]}, 144 | {"llsid":2005115519221788700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22825754230}}]}]}, 145 | {"llsid":2005068169587596300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22663056076}}]}]}, 146 | {"llsid":2001304397781771800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22851271887}}]}]}, 147 | {"llsid":2005132696017896200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22695037864}}]}]}, 148 | {"llsid":2005068169587727000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22777586580}}]}]}, 149 | {"llsid":2005176027980151300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22810531540}}]}]}, 150 | {"llsid":2005134236809703400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21456897368}}]}]}, 151 | {"llsid":2001306295691954700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22451023672}}]}]}, 152 | {"llsid":2005118077141563000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22851941235}}]}]}, 153 | {"llsid":2001305127249757400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22588375303}}]}]}, 154 | {"llsid":2005134233830001200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22595987477}}]}]}, 155 | {"llsid":2005149755383680800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22667037073}}]}]}, 156 | {"llsid":2005107975333157600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22713294009}}]}]}, 157 | {"llsid":2005134206971256000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22671188070}}]}]}, 158 | {"llsid":2001303293722429200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22819866203}}]}]}, 159 | {"llsid":2005172325252375800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22671878779}}]}]}, 160 | {"llsid":2001305173406751500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22857037295}}]}]}, 161 | {"llsid":2005110717184727300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22240802145}}]}]}, 162 | {"llsid":2005068326335731000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22850384334}}]}]}, 163 | {"llsid":2005076623665553200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861247476}}]}]}, 164 | {"llsid":2005155456514604300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22836930801}}]}]}, 165 | {"llsid":2005149764034307600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22451023672}}]}]}, 166 | {"llsid":2001304823460691700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22559018093}}]}]}, 167 | {"llsid":2001305580473858800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22833791597}}]}]}, 168 | {"llsid":2001304083691745000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862025841}}]}]}, 169 | {"llsid":2001305127250718200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22548041356}}]}]}, 170 | {"llsid":2005139430664497000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22854057898}}]}]}, 171 | {"llsid":2001305627894449200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864384265}}]}]}, 172 | {"llsid":2005149755384705300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864922994}}]}]}, 173 | {"llsid":2005068251236654300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724499098}}]}]}, 174 | {"llsid":2001305621023446300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22752222923}}]}]}, 175 | {"llsid":2005068251236719000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22715939938}}]}]}, 176 | {"llsid":2005068233813944000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22660885552}}]}]}, 177 | {"llsid":2005118141603651000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22657491741}}]}]}, 178 | {"llsid":2005139326558033200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859806782}}]}]}, 179 | {"llsid":2001305173770512400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22762012402}}]}]}, 180 | {"llsid":2005138039223805700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22506953094}}]}]}, 181 | {"llsid":2001303810886488000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861716791}}]}]}, 182 | {"llsid":2005172263057544700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22528278877}}]}]}, 183 | {"llsid":2001304884552471600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22557696550}}]}]}, 184 | {"llsid":2001305549212442000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22716221375}}]}]}, 185 | {"llsid":2005176162320913200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22763942356}}]}]}, 186 | {"llsid":2005110763647448600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22819866225}}]}]}, 187 | {"llsid":2001305551120305000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22621679195}}]}]}, 188 | {"llsid":2005108054543074600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22821398974}}]}]}, 189 | {"llsid":2005076633956035000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863271965}}]}]}, 190 | {"llsid":2005115518839996700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":20979672995}}]}]}, 191 | {"llsid":2005108005791616800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22826601206}}]}]}, 192 | {"llsid":2005155617835895600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22662476751}}]}]}, 193 | {"llsid":2001303810886984200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22795975123}}]}]}, 194 | {"llsid":2001303790131677700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22571073715}}]}]}, 195 | {"llsid":2005115518840332500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21763440090}}]}]}, 196 | {"llsid":2001305627890923300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22531684399}}]}]}, 197 | {"llsid":2001305146396927500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22547780265}}]}]}, 198 | {"llsid":2005145330259706400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22820476678}}]}]}, 199 | {"llsid":2001304407433549600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22459127597}}]}]}, 200 | {"llsid":2005118113591694000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22758597707}}]}]}] -------------------------------------------------------------------------------- /scripts/ks/ks.json: -------------------------------------------------------------------------------- 1 | { 2 | "invite": ["null@null"], 3 | "ijkkk": ["null@null"] 4 | } -------------------------------------------------------------------------------- /scripts/ks/ksjsbdb.js: -------------------------------------------------------------------------------- 1 | const $ = new Env('快手极速版低保'); 2 | let res, 3 | ksjsbCookie = process.env.ksjsbCookie || '', 4 | Users = [], 5 | ksjsbCash = process.env.ksjsbCash || '', 6 | ksjsbWithdrawTime = process.env.ksjsbWithdrawTime || 15, 7 | ksjsbAggressive = process.env.ksjsbAggressive || 0, 8 | ksjsbNotify = process.env.ksjsbNotify || 1, 9 | index = 0, 10 | count = 0; 11 | 12 | 13 | 14 | 15 | //let curHours = new Date().getHours(); 16 | class ksUser { 17 | constructor(cookie) { 18 | let api_st = cookie.match(/(kuaishou.api_st=[\w\-]+)/)[1] + ';'; 19 | 20 | this.index = ++index; 21 | this.cookie = 22 | 'kpn=NEBULA; kpf=ANDROID_PHONE; did=ANDROID_' + 23 | randomString(16) + 24 | '; ver=9.10; appver=9.10.40.2474; language=zh-cn; countryCode=CN; sys=ANDROID_5.1; client_key=2ac2a76d; ' + 25 | api_st; 26 | this.name = this.index; 27 | this.valid = false; 28 | this.bindAlipay = false; 29 | this.alipay = ''; 30 | this.bindWechat = false; 31 | this.wechat = ''; 32 | this.needSms = false; 33 | } 34 | //获取用户信息 35 | async getUserInfo() { 36 | let url = 37 | 'https://nebula.kuaishou.com/rest/n/nebula/activity/earn/overview/basicInfo'; 38 | let body = ''; 39 | let options = getOptions(url, this.cookie, body); 40 | await doRequest('get', options); 41 | if (!res) { 42 | return; 43 | } 44 | if (res.result == 1) { 45 | this.valid = true; 46 | this.name = res.data.userData.nickname; 47 | this.cashBalance = res.data.totalCash; 48 | this.coinBalance = res.data.totalCoin; 49 | this.allCash = res.data.allCash; 50 | /* console.log( 51 | `🎉${this.name}=>|账户余额${this.cashBalance}元,${ 52 | this.coinBalance 53 | }金币,未审核余额${Math.floor( 54 | parseFloat(this.allCash) - parseFloat(this.cashBalance) 55 | )}元` 56 | ); */ 57 | } else { 58 | console.log(`🎉${this.name}=>|查询账户信息失败:${res.error_msg}`); 59 | } 60 | } 61 | //分享获得3000金币 62 | async setShare() { 63 | let url = 64 | 'https://nebula.kuaishou.com/rest/n/nebula/account/withdraw/setShare'; 65 | let body = ''; 66 | let options = getOptions(url, this.cookie, body); 67 | await doRequest('post', options); 68 | if (!res) { 69 | return; 70 | } 71 | if (res.result == 1) { 72 | console.log(`🎉${this.name}=>|准备分享得金币`); 73 | await $.wait(200); 74 | await this.taskReward(122); 75 | } else { 76 | console.log(`🎉${this.name}=>|分享失败:${res.error_msg}`); 77 | } 78 | } 79 | //做任务 80 | async taskReward(taskId) { 81 | let url = `https://nebula.kuaishou.com/rest/n/nebula/daily/report?taskId=${taskId}`; 82 | let body = ''; 83 | let options = getOptions(url, this.cookie, body); 84 | await doRequest('get', options); 85 | if (!res) { 86 | return; 87 | } 88 | if (res.result == 1) { 89 | console.log( 90 | `🎉${this.name}=>|完成任务[${taskId}]成功,获得${res.data.amount}金币` 91 | ); 92 | } else { 93 | console.log( 94 | `🎉${this.name}=>|完成任务[${taskId}]失败:${res.error_msg}` 95 | ); 96 | } 97 | } 98 | //签到详情 99 | async getSignInfo() { 100 | let url = 'https://nebula.kuaishou.com/rest/n/nebula/sign/queryPopup'; 101 | let body = ''; 102 | let options = getOptions(url, this.cookie, body); 103 | await doRequest('get', options); 104 | if (!res) { 105 | return; 106 | } 107 | if (res.result == 1) { 108 | let todaySigned = res.data.nebulaSignInPopup.todaySigned; 109 | console.log(`🎉${this.name}=>|今天${todaySigned ? '已' : '未'}签到`); 110 | if (!todaySigned) { 111 | await $.wait(200); 112 | await this.doSign(); 113 | await $.wait(200); 114 | await this.setShare(); 115 | } 116 | } else { 117 | console.log(`🎉${this.name}=>|查询签到信息失败:${res.error_msg}`); 118 | } 119 | } 120 | 121 | 122 | //签到 123 | async doSign() { 124 | let url = 125 | 'https://nebula.kuaishou.com/rest/n/nebula/sign/sign?source=activity'; 126 | let body = ''; 127 | let options = getOptions(url, this.cookie, body); 128 | await doRequest('get', options); 129 | if (!res) { 130 | return; 131 | } 132 | if (res.result == 1) { 133 | console.log(`🎉${this.name}=>|签到成功:${res.data.toast}`); 134 | await $.wait(200); 135 | } else { 136 | console.log(`🎉${this.name}=>|签到失败:${res.error_msg}`); 137 | } 138 | } 139 | 140 | 141 | 142 | async accountOverview() { 143 | let _0x512fe7 = 144 | 'https://nebula.kuaishou.com/rest/n/nebula/account/overview', 145 | _0x251847 = '', 146 | _0x39f16d = getOptions(_0x512fe7, this.cookie, _0x251847); 147 | 148 | await doRequest('get', _0x39f16d); 149 | let _0xa69994 = res; 150 | 151 | if (!_0xa69994) { 152 | return; 153 | } 154 | 155 | if (_0xa69994.result == 1) { 156 | this.coinBalance = _0xa69994.data.coinBalance; 157 | this.cashBalance = _0xa69994.data.cashBalance; 158 | let _0x54aac5 = _0xa69994.data.exchangeCoinState; 159 | 160 | console.log( 161 | '🎉' + 162 | this.name + 163 | '=>|账户余额' + 164 | this.cashBalance + 165 | '元,' + 166 | this.coinBalance + 167 | '金币' 168 | ); 169 | 170 | _0x54aac5 == 2 && (await $.wait(200), await this.changeExchangeType(0)); 171 | } else { 172 | console.log( 173 | '🎉' + this.name + '=>|查询账户信息失败:' + _0xa69994.error_msg 174 | ); 175 | } 176 | } 177 | 178 | /* //开箱子,1金币懒得搞 179 | async openBox(_0x412555) { 180 | let _0x513362 = 181 | 'https://nebula.kuaishou.com/rest/n/nebula/box/explore?isOpen=' + 182 | _0x412555 + 183 | '&isReadyOfAdPlay=true', 184 | _0x3ef8d9 = '', 185 | _0x48334f = getOptions(_0x513362, this.cookie, _0x3ef8d9); 186 | 187 | await doRequest('get', _0x48334f); 188 | let _0x15220b = res; 189 | 190 | if (!_0x15220b) { 191 | return; 192 | } 193 | 194 | _0x15220b.result == 1 195 | ? _0x412555 == true 196 | ? _0x15220b.data.commonAwardPopup && 197 | _0x15220b.data.commonAwardPopup.awardAmount 198 | ? (console.log( 199 | '🎉' + 200 | this.name + 201 | '=>|开宝箱获得' + 202 | _0x15220b.data.commonAwardPopup.awardAmount + 203 | '金币' 204 | ), 205 | await $.wait(200), 206 | await this.ksAdParam(AdName.box)) 207 | : console.log('🎉' + this.name + '=>|开宝箱没有获得金币') 208 | : _0x15220b.data.openTime > -1 209 | ? (console.log( 210 | '🎉' + 211 | this.name + 212 | '=>|开宝箱冷却时间还有' + 213 | Math.floor(_0x15220b.data.openTime / 1000) + 214 | '秒' 215 | ), 216 | _0x15220b.data.openTime == 0 && 217 | (await $.wait(200), await this.openBox(true))) 218 | : console.log('🎉' + this.name + '=>|开宝箱次数已用完') 219 | : _0x412555 == true 220 | ? console.log('🎉' + this.name + '=>|开宝箱失败:' + _0x15220b.error_msg) 221 | : console.log( 222 | '🎉' + this.name + '=>|查询宝箱状态失败:' + _0x15220b.error_msg 223 | ); 224 | } */ 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | //兑换 234 | async changeExchangeType(_0x1bd22f) { 235 | let _0x4e7ea7 = 236 | 'https://nebula.kuaishou.com/rest/n/nebula/exchange/changeExchangeType', 237 | _0x6250c8 = '{"type":' + _0x1bd22f + '}', 238 | _0x2c1c9f = getOptions(_0x4e7ea7, this.cookie, _0x6250c8); 239 | 240 | _0x2c1c9f.headers['Content-Type'] = 'application/json'; 241 | await doRequest('post', _0x2c1c9f); 242 | let _0x4df55c = res; 243 | 244 | if (!_0x4df55c) { 245 | return; 246 | } 247 | 248 | let _0x1fdd87 = _0x1bd22f == 0 ? '自动兑换' : '手动兑换'; 249 | 250 | _0x4df55c.result == 1 251 | ? console.log( 252 | '🎉' + 253 | this.name + 254 | '=>|兑换方式更改成功,目前兑换方式为:' + 255 | _0x1fdd87 256 | ) 257 | : console.log( 258 | '🎉' + this.name + '=>|兑换方式更改失败:' + _0x4df55c.error_msg 259 | ); 260 | } 261 | 262 | 263 | 264 | 265 | 266 | //金币兑换奖券 267 | async exchangeCoin() { 268 | if (this.coinBalance < 100) { 269 | console.log('🎉' + this.name + '=>|金币余额不足100,不执行兑换'); 270 | return; 271 | } 272 | 273 | let _0x54ee74 = 274 | 'https://nebula.kuaishou.com/rest/n/nebula/exchange/coinToCash/submit', 275 | _0x365938 = 276 | '{"coinAmount":' + 277 | this.coinBalance + 278 | ',"token":"rE2zK-Cmc82uOzxMJW7LI2-wTGcKMqqAHE0PhfN0U4bJY4cAM5Inxw"}', 279 | _0x4650af = getOptions(_0x54ee74, this.cookie, _0x365938); 280 | 281 | _0x4650af.headers['Content-Type'] = 'application/json'; 282 | await doRequest('post', _0x4650af); 283 | let _0x2ae7ad = res; 284 | 285 | if (!_0x2ae7ad) { 286 | return; 287 | } 288 | 289 | if (_0x2ae7ad.result == 1) { 290 | let _0x1e5bfa = Math.floor(this.coinBalance / 100) * 100, 291 | _0xd2629a = Math.floor(this.coinBalance / 100) / 100; 292 | 293 | console.log( 294 | '🎉' + 295 | this.name + 296 | '=>|兑换金币成功,将' + 297 | _0x1e5bfa + 298 | '金币兑换成' + 299 | _0xd2629a + 300 | '元' 301 | ); 302 | } else { 303 | console.log( 304 | '🎉' + this.name + '=>|兑换金币失败:' + _0x2ae7ad.error_msg 305 | ); 306 | } 307 | } 308 | 309 | 310 | //获取用户ID 311 | async getUserid() { 312 | let _0x579d90 = 313 | 'https://nebula.kuaishou.com/rest/n/nebula/activity/invitation/relationLink?version=1.2.0', 314 | _0xb20aec = '', 315 | _0x5a5910 = getOptions(_0x579d90, this.cookie, _0xb20aec); 316 | 317 | await doRequest('get', _0x5a5910); 318 | let _0x450eae = res; 319 | 320 | if (!_0x450eae) { 321 | return; 322 | } 323 | 324 | _0x450eae.result == 1 325 | ? (this.userId = _0x450eae.data.userId) 326 | : console.log( 327 | '🎉' + this.name + '=>|获取userId失败:' + _0x450eae.error_msg 328 | ); 329 | } 330 | 331 | 332 | 333 | 334 | 335 | 336 | //账号详情 337 | async accountInfo() { 338 | let _0x308f69 = 339 | 'https://www.kuaishoupay.com/pay/account/h5/withdraw/account_info', 340 | _0xfe05d = 'account_group_key=NEBULA_CASH_ACCOUNT&providers=', 341 | _0x52286e = getOptions(_0x308f69, this.cookie, _0xfe05d); 342 | 343 | await doRequest('post', _0x52286e); 344 | let _0x25e462 = res; 345 | 346 | if (!_0x25e462) { 347 | return; 348 | } 349 | 350 | _0x25e462.result == 'SUCCESS' 351 | ? (this.needSms = _0x25e462.need_mobile_code) 352 | : console.log( 353 | '🎉' + this.name + '=>|查询账号提现情况失败:' + _0x25e462.error_msg 354 | ); 355 | } 356 | } 357 | 358 | 359 | 360 | 361 | //执行任务,前面的async是异步,现在处理 362 | !(async () => { 363 | if (!(await formatCookie())) { 364 | return; 365 | } 366 | //console.log('\n============== 🎉登录🎉 =============='); 367 | for (let user of Users) { 368 | await user.getUserInfo(); 369 | await $.wait(100); 370 | } 371 | 372 | let CurrentUser = Users.filter((u) => u.valid == true); 373 | if (CurrentUser.length == 0) { 374 | return; 375 | } 376 | 377 | for (let u of CurrentUser) { 378 | console.log('\n=========== 🎉' + u.name + ' 🎉==========='); 379 | await u.getSignInfo(); 380 | await $.wait(200); 381 | //await u.openBox(false); 382 | } 383 | console.log('\n============== 🎉账户情况🎉 =============='); 384 | for (let u of CurrentUser) { 385 | await u.accountOverview(); 386 | await $.wait(200); 387 | await u.accountInfo(); 388 | await $.wait(200); 389 | } 390 | 391 | })() 392 | .catch((error) => $.logErr(error)) 393 | .finally(() => $.done()); 394 | async function formatCookie() { 395 | if (ksjsbCookie) { 396 | for (let ck of ksjsbCookie.split('@')) { 397 | if (ck) { 398 | Users.push(new ksUser(ck)); 399 | } 400 | } 401 | count = Users.length; 402 | } else { 403 | console.log('未找到CK'); 404 | return; 405 | } 406 | console.log('共找到' + count + '个账号'); 407 | return true; 408 | } 409 | function getOptions(url, cookie, body = '') { 410 | const options = { 411 | url: url, 412 | headers: { 413 | Cookie: cookie, 414 | }, 415 | }; 416 | if (body) { 417 | options.body = body; 418 | options.headers['Content-Type'] = 'application/x-www-form-urlencoded'; 419 | } 420 | return options; 421 | } 422 | 423 | //http请求 424 | 425 | async function doRequest(method, options) { 426 | res = null; 427 | return new Promise((resolve) => { 428 | $[method](options, async (err, resp, data) => { 429 | try { 430 | if (err) { 431 | console.log(method + '请求失败'); 432 | console.log(JSON.stringify(err)); 433 | $.logErr(err); 434 | } else { 435 | if (safeGet(data)) { 436 | res = JSON.parse(data); 437 | } 438 | } 439 | } catch (error) { 440 | $.logErr(error, resp); 441 | } finally { 442 | resolve(); 443 | } 444 | }); 445 | }); 446 | } 447 | 448 | //安全获取数据 449 | function safeGet(data) { 450 | try { 451 | if (typeof JSON.parse(data) == 'object') { 452 | return true; 453 | } 454 | } catch (e) { 455 | console.log(e); 456 | console.log(`服务器访问数据为空,请检查自身设备网络情况`); 457 | return false; 458 | } 459 | } 460 | function randomString(e = 12) { 461 | let t = 'abcdef0123456789', 462 | a = t.length, 463 | n = ''; 464 | for (let i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a)); 465 | return n; 466 | } 467 | var Base64 = { 468 | encode: function encode(input) { 469 | var _keyStr = 470 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; 471 | var output = ''; 472 | var chr1, chr2, chr3, enc1, enc2, enc3, enc4; 473 | var i = 0; 474 | input = $.util.Charset.utf8_encode(input); 475 | while (i < input.length) { 476 | chr1 = input.charCodeAt(i++); 477 | chr2 = input.charCodeAt(i++); 478 | chr3 = input.charCodeAt(i++); 479 | enc1 = chr1 >> 2; 480 | enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); 481 | enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); 482 | enc4 = chr3 & 63; 483 | if (isNaN(chr2)) { 484 | enc3 = enc4 = 64; 485 | } else if (isNaN(chr3)) { 486 | enc4 = 64; 487 | } 488 | output = 489 | output + 490 | _keyStr.charAt(enc1) + 491 | _keyStr.charAt(enc2) + 492 | _keyStr.charAt(enc3) + 493 | _keyStr.charAt(enc4); 494 | } 495 | return output; 496 | }, 497 | decode: function (input) { 498 | var _keyStr = 499 | 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; 500 | var output = ''; 501 | var chr1, chr2, chr3; 502 | var enc1, enc2, enc3, enc4; 503 | var i = 0; 504 | input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); 505 | while (i < input.length) { 506 | enc1 = _keyStr.indexOf(input.charAt(i++)); 507 | enc2 = _keyStr.indexOf(input.charAt(i++)); 508 | enc3 = _keyStr.indexOf(input.charAt(i++)); 509 | enc4 = _keyStr.indexOf(input.charAt(i++)); 510 | chr1 = (enc1 << 2) | (enc2 >> 4); 511 | chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); 512 | chr3 = ((enc3 & 3) << 6) | enc4; 513 | output = output + String.fromCharCode(chr1); 514 | if (enc3 != 64) { 515 | output = output + String.fromCharCode(chr2); 516 | } 517 | if (enc4 != 64) { 518 | output = output + String.fromCharCode(chr3); 519 | } 520 | } 521 | output = $.util.Charset.utf8_decode(output); 522 | return output; 523 | }, 524 | }; 525 | 526 | 527 | 528 | //青龙等模块 529 | function Env(t, e) { 530 | class s { 531 | constructor(t) { 532 | this.env = t; 533 | } 534 | send(t, e = 'GET') { 535 | t = 'string' == typeof t ? { url: t } : t; 536 | let s = this.get; 537 | return ( 538 | 'POST' === e && (s = this.post), 539 | new Promise((e, i) => { 540 | s.call(this, t, (t, s, r) => { 541 | t ? i(t) : e(s); 542 | }); 543 | }) 544 | ); 545 | } 546 | get(t) { 547 | return this.send.call(this.env, t); 548 | } 549 | post(t) { 550 | return this.send.call(this.env, t, 'POST'); 551 | } 552 | } 553 | return new (class { 554 | constructor(t, e) { 555 | (this.name = t), 556 | (this.http = new s(this)), 557 | (this.data = null), 558 | (this.dataFile = 'box.dat'), 559 | (this.logs = []), 560 | (this.isMute = !1), 561 | (this.isNeedRewrite = !1), 562 | (this.logSeparator = '\n'), 563 | (this.startTime = new Date().getTime()), 564 | Object.assign(this, e), 565 | this.log('', `\ud83d\udd14${this.name}, \u5f00\u59cb!`); 566 | } 567 | isNode() { 568 | return 'undefined' != typeof module && !!module.exports; 569 | } 570 | isQuanX() { 571 | return 'undefined' != typeof $task; 572 | } 573 | isSurge() { 574 | return 'undefined' != typeof $httpClient && 'undefined' == typeof $loon; 575 | } 576 | isLoon() { 577 | return 'undefined' != typeof $loon; 578 | } 579 | toObj(t, e = null) { 580 | try { 581 | return JSON.parse(t); 582 | } catch { 583 | return e; 584 | } 585 | } 586 | toStr(t, e = null) { 587 | try { 588 | return JSON.stringify(t); 589 | } catch { 590 | return e; 591 | } 592 | } 593 | getjson(t, e) { 594 | let s = e; 595 | const i = this.getdata(t); 596 | if (i) 597 | try { 598 | s = JSON.parse(this.getdata(t)); 599 | } catch {} 600 | return s; 601 | } 602 | setjson(t, e) { 603 | try { 604 | return this.setdata(JSON.stringify(t), e); 605 | } catch { 606 | return !1; 607 | } 608 | } 609 | getScript(t) { 610 | return new Promise((e) => { 611 | this.get({ url: t }, (t, s, i) => e(i)); 612 | }); 613 | } 614 | runScript(t, e) { 615 | return new Promise((s) => { 616 | let i = this.getdata('@chavy_boxjs_userCfgs.httpapi'); 617 | i = i ? i.replace(/\n/g, '').trim() : i; 618 | let r = this.getdata('@chavy_boxjs_userCfgs.httpapi_timeout'); 619 | (r = r ? 1 * r : 20), (r = e && e.timeout ? e.timeout : r); 620 | const [o, h] = i.split('@'), 621 | a = { 622 | url: `http://${h}/v1/scripting/evaluate`, 623 | body: { script_text: t, mock_type: 'cron', timeout: r }, 624 | headers: { 'X-Key': o, Accept: '*/*' }, 625 | }; 626 | this.post(a, (t, e, i) => s(i)); 627 | }).catch((t) => this.logErr(t)); 628 | } 629 | loaddata() { 630 | if (!this.isNode()) return {}; 631 | { 632 | (this.fs = this.fs ? this.fs : require('fs')), 633 | (this.path = this.path ? this.path : require('path')); 634 | const t = this.path.resolve(this.dataFile), 635 | e = this.path.resolve(process.cwd(), this.dataFile), 636 | s = this.fs.existsSync(t), 637 | i = !s && this.fs.existsSync(e); 638 | if (!s && !i) return {}; 639 | { 640 | const i = s ? t : e; 641 | try { 642 | return JSON.parse(this.fs.readFileSync(i)); 643 | } catch (t) { 644 | return {}; 645 | } 646 | } 647 | } 648 | } 649 | writedata() { 650 | if (this.isNode()) { 651 | (this.fs = this.fs ? this.fs : require('fs')), 652 | (this.path = this.path ? this.path : require('path')); 653 | const t = this.path.resolve(this.dataFile), 654 | e = this.path.resolve(process.cwd(), this.dataFile), 655 | s = this.fs.existsSync(t), 656 | i = !s && this.fs.existsSync(e), 657 | r = JSON.stringify(this.data); 658 | s 659 | ? this.fs.writeFileSync(t, r) 660 | : i 661 | ? this.fs.writeFileSync(e, r) 662 | : this.fs.writeFileSync(t, r); 663 | } 664 | } 665 | lodash_get(t, e, s) { 666 | const i = e.replace(/\[(\d+)\]/g, '.$1').split('.'); 667 | let r = t; 668 | for (const t of i) if (((r = Object(r)[t]), void 0 === r)) return s; 669 | return r; 670 | } 671 | lodash_set(t, e, s) { 672 | return Object(t) !== t 673 | ? t 674 | : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), 675 | (e 676 | .slice(0, -1) 677 | .reduce( 678 | (t, s, i) => 679 | Object(t[s]) === t[s] 680 | ? t[s] 681 | : (t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}), 682 | t 683 | )[e[e.length - 1]] = s), 684 | t); 685 | } 686 | getdata(t) { 687 | let e = this.getval(t); 688 | if (/^@/.test(t)) { 689 | const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), 690 | r = s ? this.getval(s) : ''; 691 | if (r) 692 | try { 693 | const t = JSON.parse(r); 694 | e = t ? this.lodash_get(t, i, '') : e; 695 | } catch (t) { 696 | e = ''; 697 | } 698 | } 699 | return e; 700 | } 701 | setdata(t, e) { 702 | let s = !1; 703 | if (/^@/.test(e)) { 704 | const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), 705 | o = this.getval(i), 706 | h = i ? ('null' === o ? null : o || '{}') : '{}'; 707 | try { 708 | const e = JSON.parse(h); 709 | this.lodash_set(e, r, t), (s = this.setval(JSON.stringify(e), i)); 710 | } catch (e) { 711 | const o = {}; 712 | this.lodash_set(o, r, t), (s = this.setval(JSON.stringify(o), i)); 713 | } 714 | } else s = this.setval(t, e); 715 | return s; 716 | } 717 | getval(t) { 718 | return this.isSurge() || this.isLoon() 719 | ? $persistentStore.read(t) 720 | : this.isQuanX() 721 | ? $prefs.valueForKey(t) 722 | : this.isNode() 723 | ? ((this.data = this.loaddata()), this.data[t]) 724 | : (this.data && this.data[t]) || null; 725 | } 726 | setval(t, e) { 727 | return this.isSurge() || this.isLoon() 728 | ? $persistentStore.write(t, e) 729 | : this.isQuanX() 730 | ? $prefs.setValueForKey(t, e) 731 | : this.isNode() 732 | ? ((this.data = this.loaddata()), 733 | (this.data[e] = t), 734 | this.writedata(), 735 | !0) 736 | : (this.data && this.data[e]) || null; 737 | } 738 | initGotEnv(t) { 739 | (this.got = this.got ? this.got : require('got')), 740 | (this.cktough = this.cktough ? this.cktough : require('tough-cookie')), 741 | (this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar()), 742 | t && 743 | ((t.headers = t.headers ? t.headers : {}), 744 | void 0 === t.headers.Cookie && 745 | void 0 === t.cookieJar && 746 | (t.cookieJar = this.ckjar)); 747 | } 748 | get(t, e = () => {}) { 749 | t.headers && 750 | (delete t.headers['Content-Type'], delete t.headers['Content-Length']), 751 | this.isSurge() || this.isLoon() 752 | ? (this.isSurge() && 753 | this.isNeedRewrite && 754 | ((t.headers = t.headers || {}), 755 | Object.assign(t.headers, { 'X-Surge-Skip-Scripting': !1 })), 756 | $httpClient.get(t, (t, s, i) => { 757 | !t && s && ((s.body = i), (s.statusCode = s.status)), e(t, s, i); 758 | })) 759 | : this.isQuanX() 760 | ? (this.isNeedRewrite && 761 | ((t.opts = t.opts || {}), Object.assign(t.opts, { hints: !1 })), 762 | $task.fetch(t).then( 763 | (t) => { 764 | const { statusCode: s, statusCode: i, headers: r, body: o } = t; 765 | e(null, { status: s, statusCode: i, headers: r, body: o }, o); 766 | }, 767 | (t) => e(t) 768 | )) 769 | : this.isNode() && 770 | (this.initGotEnv(t), 771 | this.got(t) 772 | .on('redirect', (t, e) => { 773 | try { 774 | if (t.headers['set-cookie']) { 775 | const s = t.headers['set-cookie'] 776 | .map(this.cktough.Cookie.parse) 777 | .toString(); 778 | this.ckjar.setCookieSync(s, null), 779 | (e.cookieJar = this.ckjar); 780 | } 781 | } catch (t) { 782 | this.logErr(t); 783 | } 784 | }) 785 | .then( 786 | (t) => { 787 | const { 788 | statusCode: s, 789 | statusCode: i, 790 | headers: r, 791 | body: o, 792 | } = t; 793 | e(null, { status: s, statusCode: i, headers: r, body: o }, o); 794 | }, 795 | (t) => { 796 | const { message: s, response: i } = t; 797 | e(s, i, i && i.body); 798 | } 799 | )); 800 | } 801 | post(t, e = () => {}) { 802 | if ( 803 | (t.body && 804 | t.headers && 805 | !t.headers['Content-Type'] && 806 | (t.headers['Content-Type'] = 'application/x-www-form-urlencoded'), 807 | t.headers && delete t.headers['Content-Length'], 808 | this.isSurge() || this.isLoon()) 809 | ) 810 | this.isSurge() && 811 | this.isNeedRewrite && 812 | ((t.headers = t.headers || {}), 813 | Object.assign(t.headers, { 'X-Surge-Skip-Scripting': !1 })), 814 | $httpClient.post(t, (t, s, i) => { 815 | !t && s && ((s.body = i), (s.statusCode = s.status)), e(t, s, i); 816 | }); 817 | else if (this.isQuanX()) 818 | (t.method = 'POST'), 819 | this.isNeedRewrite && 820 | ((t.opts = t.opts || {}), Object.assign(t.opts, { hints: !1 })), 821 | $task.fetch(t).then( 822 | (t) => { 823 | const { statusCode: s, statusCode: i, headers: r, body: o } = t; 824 | e(null, { status: s, statusCode: i, headers: r, body: o }, o); 825 | }, 826 | (t) => e(t) 827 | ); 828 | else if (this.isNode()) { 829 | this.initGotEnv(t); 830 | const { url: s, ...i } = t; 831 | this.got.post(s, i).then( 832 | (t) => { 833 | const { statusCode: s, statusCode: i, headers: r, body: o } = t; 834 | e(null, { status: s, statusCode: i, headers: r, body: o }, o); 835 | }, 836 | (t) => { 837 | const { message: s, response: i } = t; 838 | e(s, i, i && i.body); 839 | } 840 | ); 841 | } 842 | } 843 | time(t) { 844 | let e = { 845 | 'M+': new Date().getMonth() + 1, 846 | 'd+': new Date().getDate(), 847 | 'H+': new Date().getHours(), 848 | 'm+': new Date().getMinutes(), 849 | 's+': new Date().getSeconds(), 850 | 'q+': Math.floor((new Date().getMonth() + 3) / 3), 851 | S: new Date().getMilliseconds(), 852 | }; 853 | /(y+)/.test(t) && 854 | (t = t.replace( 855 | RegExp.$1, 856 | (new Date().getFullYear() + '').substr(4 - RegExp.$1.length) 857 | )); 858 | for (let s in e) 859 | new RegExp('(' + s + ')').test(t) && 860 | (t = t.replace( 861 | RegExp.$1, 862 | 1 == RegExp.$1.length 863 | ? e[s] 864 | : ('00' + e[s]).substr(('' + e[s]).length) 865 | )); 866 | return t; 867 | } 868 | msg(e = t, s = '', i = '', r) { 869 | const o = (t) => { 870 | if (!t) return t; 871 | if ('string' == typeof t) 872 | return this.isLoon() 873 | ? t 874 | : this.isQuanX() 875 | ? { 'open-url': t } 876 | : this.isSurge() 877 | ? { url: t } 878 | : void 0; 879 | if ('object' == typeof t) { 880 | if (this.isLoon()) { 881 | let e = t.openUrl || t.url || t['open-url'], 882 | s = t.mediaUrl || t['media-url']; 883 | return { openUrl: e, mediaUrl: s }; 884 | } 885 | if (this.isQuanX()) { 886 | let e = t['open-url'] || t.url || t.openUrl, 887 | s = t['media-url'] || t.mediaUrl; 888 | return { 'open-url': e, 'media-url': s }; 889 | } 890 | if (this.isSurge()) { 891 | let e = t.url || t.openUrl || t['open-url']; 892 | return { url: e }; 893 | } 894 | } 895 | }; 896 | this.isMute || 897 | (this.isSurge() || this.isLoon() 898 | ? $notification.post(e, s, i, o(r)) 899 | : this.isQuanX() && $notify(e, s, i, o(r))); 900 | let h = [ 901 | '', 902 | '==============\ud83d\udce3\u7cfb\u7edf\u901a\u77e5\ud83d\udce3==============', 903 | ]; 904 | h.push(e), 905 | s && h.push(s), 906 | i && h.push(i), 907 | console.log(h.join('\n')), 908 | (this.logs = this.logs.concat(h)); 909 | } 910 | log(...t) { 911 | t.length > 0 && (this.logs = [...this.logs, ...t]), 912 | console.log(t.join(this.logSeparator)); 913 | } 914 | logErr(t, e) { 915 | const s = !this.isSurge() && !this.isQuanX() && !this.isLoon(); 916 | s 917 | ? this.log('', `\u2757\ufe0f${this.name}, \u9519\u8bef!`, t.stack) 918 | : this.log('', `\u2757\ufe0f${this.name}, \u9519\u8bef!`, t); 919 | } 920 | wait(t) { 921 | return new Promise((e) => setTimeout(e, t)); 922 | } 923 | done(t = {}) { 924 | const e = new Date().getTime(), 925 | s = (e - this.startTime) / 1e3; 926 | this.log( 927 | '', 928 | `\ud83d\udd14${this.name}, \u7ed3\u675f! \ud83d\udd5b ${s} \u79d2` 929 | ), 930 | this.log(), 931 | (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t); 932 | } 933 | })(t, e); 934 | } -------------------------------------------------------------------------------- /scripts/ks/mixed.json: -------------------------------------------------------------------------------- 1 | [{"llsid":2001305955537902000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22752224650}}]}]}, 2 | {"llsid":2005115516487910000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22867550250}}]}]}, 3 | {"llsid":2001305814263288300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859116574}}]}]}, 4 | {"llsid":2005155705251074600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724726690}}]}]}, 5 | {"llsid":2005108142733320700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22548500932}}]}]}, 6 | {"llsid":2005115518903388400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22829573580}}]}]}, 7 | {"llsid":2001305356524580900,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22699556439}}]}]}, 8 | {"llsid":2001305955538266000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22866296167}}]}]}, 9 | {"llsid":2005126799846313000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22550389209}}]}]}, 10 | {"llsid":2001304539541544000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22860108192}}]}]}, 11 | {"llsid":2001305575424785000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724908592}}]}]}, 12 | {"llsid":2005110867182989800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22712950057}}]}]}, 13 | {"llsid":2005138109596227000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22778197711}}]}]}, 14 | {"llsid":2005149912628157000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":20243125434}}]}]}, 15 | {"llsid":2001304411251556600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22715665006}}]}]}, 16 | {"llsid":2001304083751193900,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22713914496}}]}]}, 17 | {"llsid":2001304195571586600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22841910869}}]}]}, 18 | {"llsid":2005145482789271600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22686208540}}]}]}, 19 | {"llsid":2001305234472561000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21763320189}}]}]}, 20 | {"llsid":2005176255858580000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22393805140}}]}]}, 21 | {"llsid":2005149934660693000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21695233817}}]}]}, 22 | {"llsid":2001306494153643300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22092796991}}]}]}, 23 | {"llsid":2005108005855706000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22671878165}}]}]}, 24 | {"llsid":2005110867183820000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22841828135}}]}]}, 25 | {"llsid":2005134354907469800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861503252}}]}]}, 26 | {"llsid":2001305609689737700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22830791046}}]}]}, 27 | {"llsid":2001303338017351000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22589315886}}]}]}, 28 | {"llsid":2005139346664528100,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22721557366}}]}]}, 29 | {"llsid":2005115518904678400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22584918713}}]}]}, 30 | {"llsid":2001305590455038500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22820470727}}]}]}, 31 | {"llsid":2001304873157838800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863268285}}]}]}, 32 | {"llsid":2001303756873687300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859940342}}]}]}, 33 | {"llsid":2001305681535910700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22783703822}}]}]}, 34 | {"llsid":2005149923011498000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863040285}}]}]}, 35 | {"llsid":2005076804316352300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22828126941}}]}]}, 36 | {"llsid":2005155617900538400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22788991142}}]}]}, 37 | {"llsid":2005134354908089300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862527282}}]}]}, 38 | {"llsid":2001306464203699700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864626047}}]}]}, 39 | {"llsid":2005110793349204200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859940943}}]}]}, 40 | {"llsid":2001305621084590300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22838392226}}]}]}, 41 | {"llsid":2005110763713243400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22846184204}}]}]}, 42 | {"llsid":2001304882627598300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862612839}}]}]}, 43 | {"llsid":2005149764096181200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22319611465}}]}]}, 44 | {"llsid":2005138039290093800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22052241996}}]}]}, 45 | {"llsid":2001304037237127400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22798620712}}]}]}, 46 | {"llsid":2005126824536293400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21126570247}}]}]}, 47 | {"llsid":2001304539544124400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22290070945}}]}]}, 48 | {"llsid":2001305990042437600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22867551253}}]}]}, 49 | {"llsid":2001304992784756500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859224537}}]}]}, 50 | {"llsid":2001306477737781200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22380881584}}]}]}, 51 | {"llsid":2005108054609125000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22867044904}}]}]}, 52 | {"llsid":2005110793350267100,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22531684399}}]}]}, 53 | {"llsid":2001305721625463600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22785649274}}]}]}, 54 | {"llsid":2005115516491356000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22754261033}}]}]}, 55 | {"llsid":2001305656126063400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861668289}}]}]}, 56 | {"llsid":2001304338388759000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859105140}}]}]}, 57 | {"llsid":2001305621085867300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22747478415}}]}]}, 58 | {"llsid":2001305698197791500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22817293387}}]}]}, 59 | {"llsid":2005155595875711000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22860221405}}]}]}, 60 | {"llsid":2005149912631531300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22826809651}}]}]}, 61 | {"llsid":2005126826569415400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22837277638}}]}]}, 62 | {"llsid":2005155595875855400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22867712542}}]}]}, 63 | {"llsid":2001305234475778000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859442381}}]}]}, 64 | {"llsid":2001304539926957600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22662306844}}]}]}, 65 | {"llsid":2005076647964877800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22631279259}}]}]}, 66 | {"llsid":2005134207035256000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22748127460}}]}]}, 67 | {"llsid":2005138109599859500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22866294510}}]}]}, 68 | {"llsid":2005172296593047800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862329912}}]}]}, 69 | {"llsid":2005139346667494100,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22810611226}}]}]}, 70 | {"llsid":2001305575428958000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864660619}}]}]}, 71 | {"llsid":2001304939663953200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22671878169}}]}]}, 72 | {"llsid":2001305698198611000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22860312702}}]}]}, 73 | {"llsid":2001303723324427500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22361799731}}]}]}, 74 | {"llsid":2005176255862257400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862971627}}]}]}, 75 | {"llsid":2001305234476506400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22470135022}}]}]}, 76 | {"llsid":2001305273367344400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22847209383}}]}]}, 77 | {"llsid":2001304339914820600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22451023672}}]}]}, 78 | {"llsid":2001304338389962800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22559018102}}]}]}, 79 | {"llsid":2001304539927821800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22829193285}}]}]}, 80 | {"llsid":2005176207868113700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22403443295}}]}]}, 81 | {"llsid":2001304605997378000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724857150}}]}]}, 82 | {"llsid":2001304135160140500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22689370262}}]}]}, 83 | {"llsid":2001304873161359000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724544515}}]}]}, 84 | {"llsid":2001305228830156500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22817690335}}]}]}, 85 | {"llsid":2005132750281637000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22837277638}}]}]}, 86 | {"llsid":2001305588742274000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22641989059}}]}]}, 87 | {"llsid":2005118141603651000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22657491741}}]}]}, 88 | {"llsid":2005139326558033200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859806782}}]}]}, 89 | {"llsid":2001305173770512400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22762012402}}]}]}, 90 | {"llsid":2005138039223805700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22506953094}}]}]}, 91 | {"llsid":2001303810886488000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861716791}}]}]}, 92 | {"llsid":2005172263057544700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22528278877}}]}]}, 93 | {"llsid":2001304884552471600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22557696550}}]}]}, 94 | {"llsid":2001305549212442000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22716221375}}]}]}, 95 | {"llsid":2005176162320913200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22763942356}}]}]}, 96 | {"llsid":2005110763647448600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22819866225}}]}]}, 97 | {"llsid":2001305551120305000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22621679195}}]}]}, 98 | {"llsid":2005108054543074600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22821398974}}]}]}, 99 | {"llsid":2005076633956035000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863271965}}]}]}, 100 | {"llsid":2005115518839996700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":20979672995}}]}]}, 101 | {"llsid":2005108005791616800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22826601206}}]}]}, 102 | {"llsid":2005155617835895600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22662476751}}]}]}, 103 | {"llsid":2001303810886984200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22795975123}}]}]}, 104 | {"llsid":2001303790131677700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22571073715}}]}]}, 105 | {"llsid":2005115518840332500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21763440090}}]}]}, 106 | {"llsid":2001305627890923300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22531684399}}]}]}, 107 | {"llsid":2001305146396927500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22547780265}}]}]}, 108 | {"llsid":2005145330259706400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22820476678}}]}]}, 109 | {"llsid":2001304407433549600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22459127597}}]}]}, 110 | {"llsid":2005118113591694000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22758597707}}]}]}, 111 | {"llsid":2005176006454268400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863268283}}]}]}, 112 | {"llsid":2001304826899126500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22846184202}}]}]}, 113 | {"llsid":2001303337953760300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22854057898}}]}]}, 114 | {"llsid":2001304040097592300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22795823331}}]}]}, 115 | {"llsid":2005155497685140500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22524083793}}]}]}, 116 | {"llsid":2001304015923275500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22691548373}}]}]}, 117 | {"llsid":2005139326559535000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22814167898}}]}]}, 118 | {"llsid":2001305166781710000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859938968}}]}]}, 119 | {"llsid":2005172317035907800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22788991142}}]}]}, 120 | {"llsid":2005132750214638800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22844371565}}]}]}, 121 | {"llsid":2001305609626419500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22478193130}}]}]}, 122 | {"llsid":2005132693218226200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22565357804}}]}]}, 123 | {"llsid":2005145330260466700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864626047}}]}]}, 124 | {"llsid":2001304844972035600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22795981260}}]}]}, 125 | {"llsid":2005108005793085200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22860410787}}]}]}, 126 | {"llsid":2001304407434486500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22842057636}}]}]}, 127 | {"llsid":2005118141605839600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859935730}}]}]}, 128 | {"llsid":2005155559727763700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22854057898}}]}]}, 129 | {"llsid":2001303749479535900,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22846184202}}]}]}, 130 | {"llsid":2001304338323863600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22617484128}}]}]}, 131 | {"llsid":2005118141605998300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22319611465}}]}]}, 132 | {"llsid":2005076633957873700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22837659048}}]}]}, 133 | {"llsid":2005172321997506800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22722012764}}]}]}, 134 | {"llsid":2001304095479978000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21126570247}}]}]}, 135 | {"llsid":2001305549214655000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22681629399}}]}]}, 136 | {"llsid":2005149764032591000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22858945779}}]}]}, 137 | {"llsid":2005115500588605200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22290070945}}]}]}, 138 | {"llsid":2001305550322169000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22851085461}}]}]}, 139 | {"llsid":2001304040098828300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22838076600}}]}]}, 140 | {"llsid":2001303700031923500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864186223}}]}]}, 141 | {"llsid":2005110763649949400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22531681770}}]}]}, 142 | {"llsid":2005134233829444400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22641007666}}]}]}, 143 | {"llsid":2005068251235108900,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22806444455}}]}]}, 144 | {"llsid":2005115519221788700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22825754230}}]}]}, 145 | {"llsid":2005068169587596300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22663056076}}]}]}, 146 | {"llsid":2001304397781771800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22851271887}}]}]}, 147 | {"llsid":2005132696017896200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22695037864}}]}]}, 148 | {"llsid":2005068169587727000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22777586580}}]}]}, 149 | {"llsid":2005176027980151300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22810531540}}]}]}, 150 | {"llsid":2005134236809703400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21456897368}}]}]}, 151 | {"llsid":2001306295691954700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22451023672}}]}]}, 152 | {"llsid":2005118077141563000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22851941235}}]}]}, 153 | {"llsid":2001305127249757400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22588375303}}]}]}, 154 | {"llsid":2005134233830001200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22595987477}}]}]}, 155 | {"llsid":2005149755383680800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22667037073}}]}]}, 156 | {"llsid":2005107975333157600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22713294009}}]}]}, 157 | {"llsid":2005134206971256000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22671188070}}]}]}, 158 | {"llsid":2001303293722429200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22819866203}}]}]}, 159 | {"llsid":2005172325252375800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22671878779}}]}]}, 160 | {"llsid":2001305173406751500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22857037295}}]}]}, 161 | {"llsid":2005110717184727300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22240802145}}]}]}, 162 | {"llsid":2005068326335731000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22850384334}}]}]}, 163 | {"llsid":2005076623665553200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861247476}}]}]}, 164 | {"llsid":2005155456514604300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22836930801}}]}]}, 165 | {"llsid":2005149764034307600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22451023672}}]}]}, 166 | {"llsid":2001304823460691700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22559018093}}]}]}, 167 | {"llsid":2001305580473858800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22833791597}}]}]}, 168 | {"llsid":2001304083691745000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22862025841}}]}]}, 169 | {"llsid":2001305127250718200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22548041356}}]}]}, 170 | {"llsid":2005139430664497000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22854057898}}]}]}, 171 | {"llsid":2001305627894449200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864384265}}]}]}, 172 | {"llsid":2005149755384705300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22864922994}}]}]}, 173 | {"llsid":2005068251236654300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22724499098}}]}]}, 174 | {"llsid":2001305621023446300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22752222923}}]}]}, 175 | {"llsid":2005068251236719000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22715939938}}]}]}, 176 | {"llsid":2005068233813944000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22660885552}}]}]}, 177 | {"llsid":2005118141603651000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22657491741}}]}]}, 178 | {"llsid":2005139326558033200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22859806782}}]}]}, 179 | {"llsid":2001305173770512400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22762012402}}]}]}, 180 | {"llsid":2005138039223805700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22506953094}}]}]}, 181 | {"llsid":2001303810886488000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22861716791}}]}]}, 182 | {"llsid":2005172263057544700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22528278877}}]}]}, 183 | {"llsid":2001304884552471600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22557696550}}]}]}, 184 | {"llsid":2001305549212442000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22716221375}}]}]}, 185 | {"llsid":2005176162320913200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22763942356}}]}]}, 186 | {"llsid":2005110763647448600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22819866225}}]}]}, 187 | {"llsid":2001305551120305000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22621679195}}]}]}, 188 | {"llsid":2005108054543074600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22821398974}}]}]}, 189 | {"llsid":2005076633956035000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22863271965}}]}]}, 190 | {"llsid":2005115518839996700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":20979672995}}]}]}, 191 | {"llsid":2005108005791616800,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22826601206}}]}]}, 192 | {"llsid":2005155617835895600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22662476751}}]}]}, 193 | {"llsid":2001303810886984200,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22795975123}}]}]}, 194 | {"llsid":2001303790131677700,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22571073715}}]}]}, 195 | {"llsid":2005115518840332500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":21763440090}}]}]}, 196 | {"llsid":2001305627890923300,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22531684399}}]}]}, 197 | {"llsid":2001305146396927500,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22547780265}}]}]}, 198 | {"llsid":2005145330259706400,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22820476678}}]}]}, 199 | {"llsid":2001304407433549600,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22459127597}}]}]}, 200 | {"llsid":2005118113591694000,"result":1,"impAdInfo":[{"adInfo":[{"adBaseInfo":{"creativeId":22758597707}}]}]}] -------------------------------------------------------------------------------- /scripts/python/O2O.py: -------------------------------------------------------------------------------- 1 | from email import header 2 | import requests 3 | 4 | 5 | 6 | from functools import partial 7 | print = partial(print, flush=True) 8 | 9 | async def expired(): 10 | url = '' 11 | header = { 12 | 13 | } 14 | result = requests.get() -------------------------------------------------------------------------------- /scripts/python/cklist.txt: -------------------------------------------------------------------------------- 1 | SESSDATA=1f51eee8%2C1694239366%2Cc61cc%2A32; bili_jct=a9dadde82a69d06d0b33a5ae704d01f4; DedeUserID=553465461; DedeUserID__ckMd5=443563351549f024; sid=5zp7h69o; innersign=0; buvid3=DCFF1A24-E964-6938-27E8-61D920A9C4AC79333infoc; b_nut=1678687379; i-wanna-go-back=-1; b_ut=5 2 | SESSDATA=882e3fbe%2C1694238238%2C3dea7%2A31; bili_jct=a52a6b878f51c52a9722a72bd1c6e5ac; DedeUserID=360270553; DedeUserID__ckMd5=29a2ddf491b6f87e; sid=ps9gpmiw; innersign=0; buvid3=3CE99D6C-C9B5-03FD-F70D-F24340956BAC56520infoc; b_nut=1678686256; i-wanna-go-back=-1; b_ut=5 -------------------------------------------------------------------------------- /scripts/python/txxq.py: -------------------------------------------------------------------------------- 1 | # -*- coding:utf-8 -*- 2 | # from email import header 3 | # import random 4 | import requests 5 | import json 6 | import re 7 | import os 8 | import time 9 | import random 10 | import asyncio 11 | from functools import partial 12 | print = partial(print, flush=True) 13 | 14 | 15 | taskname = '天选时刻 奖品详情' 16 | """ 17 | Author: Treasunew 18 | Modifier: NONE 19 | Date: Sat July 10 08:24:30 UTC 2022 20 | cron: 25 20 * * * 21 | new Env('天选时刻奖品'); 22 | ------------ 23 | 环境变量说明 24 | biliCookie 25 | 多账号用@隔开 26 | 浏览器打开并登录 bilibili 网站 27 | 登录成功后,访问 https://api.bilibili.com/x/web-interface/nav,按 F12 打开"开发者工具",按 F5 刷新一下 28 | 在"开发者工具"面板中,点击 网络(Network),在左侧的请求列表中,找到名称为 nav 的接口,点击它 29 | 依次查找 Headers ——> RequestHeader ——> cookie,可以看到很长一串以英文分号分隔的字符串,复制整个这个cookie字符串(不要使用右键复制,请使用 Ctrl+C 复制,部分浏览器右键可能会进行 UrlDecode ) 30 | 31 | # 暂时没有推送 32 | PMODE: 推送模式 || PKEY: 具体推送格式填写(不带 [TG: ],请用具体的值代替) 33 | wx [Server 酱: skey] 34 | nwx [新 Server 酱: skey] 35 | tg [TG: tg_bot_token@user_id] 36 | qwx [企业微信: touser-corpid-corpsecret-agentid 其中 touser 可填 @all,agenid 不填默认为 1000002] 37 | pp [PushPlus: push_plus_token] 38 | off [关闭推送] 39 | 40 | 41 | """ 42 | 43 | 44 | 45 | 46 | # 随机ua 47 | def randomuserAgent(): 48 | global uuid, addressid, iosVer, iosV, clientVersion, iPhone, area, ADID, lng, lat 49 | uuid = ''.join(random.sample( 50 | ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 51 | 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'z'], 40)) 52 | addressid = ''.join(random.sample('1234567898647', 10)) 53 | iosVer = ''.join(random.sample(["15.1.1", "14.5.1", "14.4", "14.3", "14.2", "14.1", "14.0.1"], 1)) 54 | iosV = iosVer.replace('.', '_') 55 | clientVersion = ''.join(random.sample(["10.3.0", "10.2.7", "10.2.4"], 1)) 56 | iPhone = ''.join(random.sample(["8", "9", "10", "11", "12", "13"], 1)) 57 | area = ''.join(random.sample('0123456789', 2)) + '_' + ''.join(random.sample('0123456789', 4)) + '_' + ''.join( 58 | random.sample('0123456789', 5)) + '_' + ''.join(random.sample('0123456789', 4)) 59 | ADID = ''.join(random.sample('0987654321ABCDEF', 8)) + '-' + ''.join( 60 | random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 4)) + '-' + ''.join( 61 | random.sample('0987654321ABCDEF', 4)) + '-' + ''.join(random.sample('0987654321ABCDEF', 12)) 62 | lng = '119.31991256596' + str(random.randint(100, 999)) 63 | lat = '26.1187118976' + str(random.randint(100, 999)) 64 | UserAgent = '' 65 | if not UserAgent: 66 | return f'jdapp;iPhone;10.0.4;{iosVer};{uuid};network/wifi;ADID/{ADID};model/iPhone{iPhone},1;addressid/{addressid};appBuild/167707;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS {iosV} like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/null;supportJDSHWK/1' 67 | else: 68 | return UserAgent 69 | 70 | """ async def check(ck,ua): 71 | try: 72 | url = 'https://api.live.bilibili.com/xlive/web-ucenter/user/get_user_info' 73 | header = { 74 | "Host": "api.live.bilibili.com", 75 | "Accept": "*/*", 76 | "Connection": "keep-alive", 77 | "Cookie": ck, 78 | "User-Agent": ua, 79 | "Accept-Language": "zh-cn", 80 | "Accept-Encoding": "gzip, deflate", 81 | } 82 | result = requests.get(url=url, headers=header, timeout=2).text 83 | codestate = json.loads(result) 84 | if codestate['code'] == '-101': 85 | msg = "未登录" 86 | return {"code":-101,"message":msg} 87 | elif codestate['code'] == '0': 88 | nickName = codestate['data']['uname'] 89 | return {'code': 0, 'name': nickName, 'ck': ck} 90 | except Exception as e: 91 | return {'code': 0, 'data': e} 92 | """ 93 | 94 | # 获取当前时间 95 | # now = time.strftime("%H:%M:%S", time.localtime()) 96 | 97 | 98 | def getCurrentTime(): 99 | now = time.strftime("%H:%M:%S", time.localtime()) 100 | return now 101 | 102 | 103 | 104 | async def getRewardInfo(ua,ck,currentPage): 105 | url = 'https://api.live.bilibili.com/xlive/lottery-interface/v1/Anchor/AwardRecord?page={}'.format(currentPage) 106 | header = { 107 | "Host": "api.live.bilibili.com", 108 | "Accept": "*/*", 109 | "Connection": "keep-alive", 110 | "Cookie": ck, 111 | "User-Agent": ua, 112 | "Accept-Language": "zh-cn", 113 | "Accept-Encoding": "gzip, deflate", 114 | } 115 | response = requests.get(url=url,headers=header).text 116 | return json.loads(response) 117 | 118 | 119 | 120 | async def getUserInfo(ua,ck): 121 | url = "https://api.bilibili.com/x/web-interface/nav" 122 | header = { 123 | "Host": "api.bilibili.com", 124 | "Accept": "*/*", 125 | "Connection": "keep-alive", 126 | "User-Agent": ua, 127 | "Cookie": ck, 128 | "Accept-Language": "zh-cn", 129 | "Accept-Encoding": "gzip, deflate", 130 | } 131 | response = requests.get(url=url,headers=header).text 132 | return json.loads(response) 133 | 134 | """ def getMaxPages(ua,ck): 135 | url = "https://api.live.bilibili.com/xlive/lottery-interface/v1/Anchor/AwardRecord?page=1" 136 | header = { 137 | "Host": "api.bilibili.com", 138 | "Accept": "*/*", 139 | "Connection": "keep-alive", 140 | "User-Agent": ua, 141 | "Cookie": ck, 142 | "Accept-Language": "zh-cn", 143 | "Accept-Encoding": "gzip, deflate", 144 | } 145 | response = requests.get(url=url,headers=header).text 146 | return json.loads(response) """ 147 | 148 | 149 | 150 | 151 | async def getNeededRewardInfo(ua,ck): 152 | url = f'https://api.live.bilibili.com/xlive/lottery-interface/v1/Anchor/AwardRecord?page=1' 153 | header = { 154 | "Host": "api.live.bilibili.com", 155 | "Accept": "*/*", 156 | "Connection": "keep-alive", 157 | "Cookie": ck, 158 | "User-Agent": ua, 159 | "Accept-Language": "zh-cn", 160 | "Accept-Encoding": "gzip, deflate", 161 | } 162 | response = requests.get(url=url,headers=header).text 163 | return json.loads(response) 164 | 165 | 166 | #主程序 167 | async def main(): 168 | try: 169 | cks = os.environ["biliCookie"].split("@") 170 | except: 171 | with open('cklist.txt','r') as f: 172 | cks = f.read().split('\n') 173 | if cks: 174 | print(f'🔔{taskname}', flush=True) 175 | print(f'==================共{len(cks)}个账号=================') 176 | print(f'==================脚本执行- 北京时间(UTC+8):{getCurrentTime()}=====================\n') 177 | for n,ck in enumerate(cks): 178 | ua = randomuserAgent() # 获取ua 179 | pin = f'账号{n+1}' 180 | print(f'******开始【{pin}】*********\n') 181 | await asyncio.sleep(2) 182 | result = await getUserInfo(ua, ck) # 检测ck并返回相关信息 183 | if result['code'] == 0: 184 | print(f"[{getCurrentTime()} INF]"+" "+"【用户名】"+result['data']['uname']) 185 | print(f"[{getCurrentTime()} INF]"+" "+"【硬币】"+str(result['data']['money'])) 186 | await asyncio.sleep(2) 187 | else: 188 | print(result['msg']) 189 | return 190 | await asyncio.sleep(2) 191 | result = await getNeededRewardInfo(ua,ck) 192 | totalGift = result['data']['total_count'] 193 | totalPages = result['data']['page_count'] 194 | # print(totalPages) 195 | print(f"[{getCurrentTime()} INF]"+" "+" 共获得"+str(totalGift)+"个奖品") 196 | await asyncio.sleep(2) 197 | if result['code'] == 0: 198 | print(f"[{getCurrentTime()} INF] "+" "+"开始列出前20个奖品"+'\n') 199 | # currentPage = 1 200 | result = await getRewardInfo(ua,ck,currentPage=1) 201 | # print(result) 202 | onePageNumber = len(result['data']['list']) 203 | # print(onePageNumber) 204 | for i in range(onePageNumber): 205 | giftName = result['data']['list'][i]['award_name'] 206 | giftAnchor = result['data']['list'][i]['anchor_name'] 207 | giftTime = result['data']['list'][i]['end_time'] 208 | print(f"[{getCurrentTime()} INF]"+" "+f"【主播{i+1}】"+giftAnchor) 209 | print(f"[{getCurrentTime()} INF]"+" "+f"【奖品{i+1}】"+giftName) 210 | print(f"[{getCurrentTime()} INF]"+" "+f"【中奖时间】"+giftTime+"\n") 211 | await asyncio.sleep(2) 212 | 213 | else: 214 | print(f"请检查是否填写变量biliCookie") 215 | 216 | 217 | if __name__ == "__main__": 218 | # asyncio.run(main()) 219 | loop = asyncio.get_event_loop() 220 | loop.run_until_complete(main()) -------------------------------------------------------------------------------- /scripts/python/xstl.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from datetime import datetime 3 | import sys 4 | import os 5 | import time 6 | import re 7 | import json 8 | 9 | """ 10 | Author: 羊毛出在羊身上 11 | Date: 2023.12.02 12 | cron: 0 9 * * * 13 | new Env('潇洒桐庐') 14 | -------------------- 15 | 环境变量: xstlck 示例: channelid#userid#sessionid 16 | 多账号: & 或者 换行 17 | """ 18 | # 获取脚本所在的目录 19 | script_directory = os.path.dirname(os.path.abspath(__file__)) 20 | # 切换当前工作目录到脚本所在的目录 21 | os.chdir(script_directory) 22 | 23 | 24 | def get_env(env, default="", output=True): 25 | def no_env(): 26 | if output: 27 | print(f"[WARN] 未读取到{env}, 请在环境变量中添加xstlck") 28 | sys.exit(0) 29 | return default 30 | return os.environ.get(env) if os.environ.get(env) else no_env() 31 | 32 | def get_now(): 33 | now_time = datetime.now() 34 | formated_time = now_time.strftime("%Y-%m-%d %H:%M") 35 | return formated_time 36 | 37 | # 处理无效控制字符的函数 38 | def clean_invalid_chars(match): 39 | char = match.group(0) 40 | if char == '\\/': 41 | return '/' 42 | return '' 43 | 44 | class XSTL: 45 | def __init__(self, cookie, num): 46 | self.cookies = cookie.split('#') 47 | self.num = num 48 | self.channelid = self.cookies[0].split('=')[1] 49 | self.userid = self.cookies[1].split('=')[1] 50 | self.sessionid = self.cookies[2].split('=')[1] 51 | 52 | def get_all_info(self): 53 | print(f"\n----------[账号{self.num}]开始获取阅读信息----------") 54 | 55 | url = 'https://wxapi.hoolo.tv/event/dtqp/index.php?s=/home/TmApi/getUserInformation&accountId=' + self.userid + '&type=jsonp' 56 | 57 | headers = { 58 | 'User-Agent': "Mozilla/5.0 (iPhone; CPU iPhone OS 15_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;;xsb;xsb_xiaosatonglu;1.0.60;Appstore;native_app", 59 | 'Accept': "application/json, text/javascript, */*; q=0.01", 60 | 'origin': "https://tp.hoolo.tv", 61 | 'accept-language': "zh-CN,zh-Hans;q=0.9", 62 | 'referer': "https://tp.hoolo.tv/" 63 | } 64 | 65 | resp = requests.get(url, headers=headers) 66 | 67 | # print(resp.text) 68 | info = resp.json() 69 | self.id = info["data"]["userid"] 70 | print(f"[DEBUG] {info}") 71 | 72 | # 获取文章ID 73 | url = 'https://wxapi.hoolo.tv/event/dtqp/index.php?s=/home/TmApi/channelList&channelId=' + self.channelid + '&userId=' + self.userid + '&sessionId=' + self.sessionid 74 | 75 | headers = { 76 | 'User-Agent': "Mozilla/5.0 (Linux; Android 12; 22041211AC Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/117.0.0.0 Mobile Safari/537.36;xsb_xiaosatonglu;xsb_xiaosatonglu;1.0.60;native_app;6.5.1", 77 | 'Accept': "application/json, text/javascript, */*; q=0.01", 78 | 'sec-ch-ua': "\"Android WebView\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"", 79 | 'sec-ch-ua-mobile': "?1", 80 | 'sec-ch-ua-platform': "\"Android\"", 81 | 'origin': "https://tp.hoolo.tv", 82 | 'x-requested-with': "com.chinamcloud.wangjie.b87d8fb20e29a0328c6e21045e8b500e", 83 | 'sec-fetch-site': "same-site", 84 | 'sec-fetch-mode': "cors", 85 | 'sec-fetch-dest': "empty", 86 | 'referer': "https://tp.hoolo.tv/", 87 | 'accept-language': "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7" 88 | } 89 | res = requests.get(url, headers=headers) 90 | if not res.text: 91 | print(f'[INFO] 账号{num}已失效, 请重新获取CK') 92 | return 93 | # print(res.text) 94 | cookies = res.cookies 95 | self.cookie_string = ";".join( 96 | [f"{cookie.name}={cookie.value}" if cookie.name == "acw_tc" else f"{cookie.name}={cookie.value}" for cookie in 97 | cookies]) 98 | print(f"[DEBUG] {self.cookie_string}") 99 | cleaned_data = re.sub(r'\\/', clean_invalid_chars, res.text) 100 | self.data = json.loads(cleaned_data) 101 | # print(cleaned_data) 102 | self.id_values = [item["id"] for item in self.data] 103 | 104 | # print(self.id_values) 105 | 106 | def read_article(self): 107 | # 再次判断数据是否为空 108 | if not self.id_values: 109 | return 110 | print(f"\n------------[账号{self.num}]开始阅读文章------------") 111 | print(f"[INFO] {self.id_values}") 112 | for index, id in enumerate(self.id_values, start=1): 113 | url = 'https://wxapi.hoolo.tv/event/dtqp/index.php?s=home/baoming/postBaoming/&activityId=428&name=' + self.userid + '&city=' + str( 114 | id) + '&gender=1&type=jsonp' 115 | 116 | headers = { 117 | 'User-Agent': "Mozilla/5.0 (Linux; Android 12; 22041211AC Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/117.0.0.0 Mobile Safari/537.36;xsb_xiaosatonglu;xsb_xiaosatonglu;1.0.60;native_app;6.5.1", 118 | 'Accept': "application/json, text/javascript, */*; q=0.01", 119 | 'sec-ch-ua': "\"Android WebView\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"", 120 | 'sec-ch-ua-mobile': "?1", 121 | 'sec-ch-ua-platform': "\"Android\"", 122 | 'origin': "https://tp.hoolo.tv", 123 | 'x-requested-with': "com.chinamcloud.wangjie.b87d8fb20e29a0328c6e21045e8b500e", 124 | 'sec-fetch-site': "same-site", 125 | 'sec-fetch-mode': "cors", 126 | 'sec-fetch-dest': "empty", 127 | 'referer': "https://tp.hoolo.tv/", 128 | 'accept-language': "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7" 129 | } 130 | 131 | response = requests.get(url, headers=headers).json() 132 | # print(response) 133 | time.sleep(3) 134 | print(f"[INFO] {id}阅读状态: {response['msg']}") 135 | 136 | # resp = requests.get(url, headers).json() 137 | # if resp['code'] == 0: 138 | # print(f"[INFO] {artid}阅读状态: {resp['message']}") 139 | 140 | def start_lottery(self): 141 | if not self.data: 142 | return 143 | print(f"\n--------------[账号{self.num}]开始抽奖--------------") 144 | for i in range(3): 145 | # 获取抽奖机会 146 | url = 'https://wxapi.hoolo.tv/event/dtqp/index.php?s=/home/TmApi/addPrizenum&accountId=' + self.userid + '&round=1&num=' + str( 147 | len(self.data)) + '&type=jsonp' 148 | 149 | headers = { 150 | 'User-Agent': "Mozilla/5.0 (Linux; Android 12; 22041211AC Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/117.0.0.0 Mobile Safari/537.36;xsb_xiaosatonglu;xsb_xiaosatonglu;1.0.60;native_app;6.5.1", 151 | 'sec-ch-ua': "\"Android WebView\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"", 152 | 'sec-ch-ua-mobile': "?1", 153 | 'sec-ch-ua-platform': "\"Android\"", 154 | 'x-requested-with': "com.chinamcloud.wangjie.b87d8fb20e29a0328c6e21045e8b500e", 155 | 'sec-fetch-site': "same-site", 156 | 'sec-fetch-mode': "no-cors", 157 | 'sec-fetch-dest': "script", 158 | 'accept-language': "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", 159 | 'referer': "https://tp.hoolo.tv/", 160 | 'cookie': self.cookie_string 161 | } 162 | resp = requests.get(url, headers=headers) 163 | print(f"[DEBUG] {resp.text}") 164 | 165 | # 抽奖 166 | ts = self.__get_timestamp() 167 | # print(f"[DEBUG] {ts}") 168 | url = 'https://wxapi.hoolo.tv/event/dtqp/index.php?s=/Home/ChoujiangNew/apiChoujiang&callback=jQuery17108606669896657728_'+str(ts)+'&openId=' + self.userid + '&action=cj&typeId=122&address&userid=' + self.id + '&_=' + str(ts) 169 | 170 | headers = { 171 | 'User-Agent': "Mozilla/5.0 (Linux; Android 12; 22041211AC Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/117.0.0.0 Mobile Safari/537.36;xsb_xiaosatonglu;xsb_xiaosatonglu;1.0.60;native_app;6.5.1", 172 | 'sec-ch-ua': "\"Android WebView\";v=\"117\", \"Not;A=Brand\";v=\"8\", \"Chromium\";v=\"117\"", 173 | 'sec-ch-ua-mobile': "?1", 174 | 'sec-ch-ua-platform': "\"Android\"", 175 | 'x-requested-with': "com.chinamcloud.wangjie.b87d8fb20e29a0328c6e21045e8b500e", 176 | 'sec-fetch-site': "same-site", 177 | 'sec-fetch-mode': "no-cors", 178 | 'sec-fetch-dest': "script", 179 | 'accept-language': "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7", 180 | 'referer': "https://tp.hoolo.tv/", 181 | 'cookie': self.cookie_string 182 | } 183 | response = requests.get(url, headers=headers) 184 | decoded_str = response.text.encode('utf-8').decode('unicode_escape').replace('\/', '/') 185 | print(f"[INFO] {decoded_str}") 186 | 187 | def __get_timestamp(self): 188 | time = datetime.now() 189 | timestamp = time.timestamp() 190 | timestamp = int(timestamp * 1000) 191 | # print(timestamp) 192 | return timestamp 193 | 194 | if __name__ == "__main__": 195 | try: 196 | cks = get_env('xstlck').split("&") or get_env("xstlck").split("\n") 197 | except: 198 | try: 199 | with open('cklist.txt','r') as f: 200 | cks = f.read().split('\n') 201 | except Exception as e: 202 | print(f"[ERROR] 无法获取环境变量或读取文件: {e}") 203 | sys.exit(0) 204 | else: 205 | print("[INFO] 从文件读取ck成功") 206 | else: 207 | print("[INFO] 从环境变量读取ck成功") 208 | 209 | 210 | print("[INFO] 共读取到{}个ck".format(len(cks))) 211 | num = 0 212 | for ck in cks: 213 | num += 1 214 | xstl = XSTL(ck, num) 215 | xstl.get_all_info() 216 | time.sleep(3) 217 | xstl.read_article() 218 | time.sleep(3) 219 | xstl.start_lottery() 220 | time.sleep(4) --------------------------------------------------------------------------------