KR/jd_pdd2_draw.js

41 lines
79 KiB
JavaScript
Raw Normal View History

2023-11-03 16:48:08 +08:00
/*
PDD每日红包抽奖提现
入口京东APP京东秒杀种豆得豆-大额红包
链接https://pro.m.jd.com/mall/active/3WijvBWPdCirCBr72TzkyiPhgdxJ/index.html
注意抽奖尽量使用本地家宽否则大概率0.01和垃圾卷
轮询提现变量JD_PDD2_TXNUM //轮询提现页数
提现间隔时间JD_PDD2_TXWAIT //提现兑换间隔,默认 3 秒
提现变量JD_PDD2_TXCASH //是否提现默认不提现true/false
重试变量
JD_PDD2_TXMAX_RETRY // 已存在状态/待发放,提现中,等最大重试次数 默认 5 次
JD_PDD2_DRAW_RETRY // 抽奖 提示未中奖等最大重试次数 默认 20 次
兑换红包变量
export JD_PDD2_Exchange="true" // 上限后兑换红包,默认关闭
注意轮询页数也大越容易403请谨慎填写
代理变量
JD_PDD_PROXY_OPEN // 代理启用变量默认不开启true/false
JD_PDD_PROXY_TUNNRL // 代理池代理地址变量,默认不开启,仅支持代理池模式(auto-proxy-pool)格式为http://ip:port
JD_PDD_PROXY_URL // API代理地址变量默认不开启仅支持 数据格式:txt;提取数量:每次一个格式为http://api.xxx.xxx
JD_PDD_NO_PROXY // 禁止走代理,默认 127.0.0.1,*.baidu.com 需要自行修改
cron:1 1 1 1 *
============Quantumultx===============
[task_local]
#PDD每日红包抽奖提现
1 1 1 1 * JD_PDD2_draw.js, tag=PDD每日红包抽奖提现, enabled=true
*/
const $ = new Env('PDD每日红包抽奖提现');
2023-11-05 22:16:48 +08:00
var version_='jsjiami.com.v7';const iilIil=iii1II;(function(iII11I,IiIii1,l1lIIl,i1lIl,i1lIi,iilIiI,III1li){return iII11I=iII11I>>0x4,iilIiI='hs',III1li='hs',function(Ili1iI,lIlll1,Ili1i1,I1I11I,iII11l){const Ili1l1=iii1II;I1I11I='tfi',iilIiI=I1I11I+iilIiI,iII11l='up',III1li+=iII11l,iilIiI=Ili1i1(iilIiI),III1li=Ili1i1(III1li),Ili1i1=0x0;const i1IiI1=Ili1iI();while(!![]&&--i1lIl+lIlll1){try{I1I11I=parseInt(Ili1l1(0x28b,'sEn6'))/0x1+-parseInt(Ili1l1(0x374,'*]oI'))/0x2+parseInt(Ili1l1(0x282,'pP2a'))/0x3*(-parseInt(Ili1l1(0x126,'G](P'))/0x4)+parseInt(Ili1l1(0x273,'s#)N'))/0x5+-parseInt(Ili1l1(0x281,'&&^I'))/0x6+parseInt(Ili1l1(0x2a7,'jUg%'))/0x7+parseInt(Ili1l1(0x3a4,')[uk'))/0x8;}catch(l1lIII){I1I11I=Ili1i1;}finally{iII11l=i1IiI1[iilIiI]();if(iII11I<=i1lIl)Ili1i1?i1lIi?I1I11I=iII11l:i1lIi=iII11l:Ili1i1=iII11l;else{if(Ili1i1==i1lIi['replace'](/[PkSEengGJwRrUdbtfANCW=]/g,'')){if(I1I11I===lIlll1){i1IiI1['un'+iilIiI](iII11l);break;}i1IiI1[III1li](iII11l);}}}}}(l1lIIl,IiIii1,function(iII11i,l1iI1i,lIlllI,III1lI,I11i,ll1IlI,I11l){return l1iI1i='\x73\x70\x6c\x69\x74',iII11i=arguments[0x0],iII11i=iII11i[l1iI1i](''),lIlllI=`\x72\x65\x76\x65\x72\x73\x65`,iII11i=iII11i[lIlllI]('\x76'),III1lI=`\x6a\x6f\x69\x6e`,(0x1462f2,iII11i[III1lI](''));});}(0xc50,0x8b788,Iii11l,0xc7),Iii11l)&&(version_=iilIil(0x3cd,'*]oI'));const liI1Ii=require(iilIil(0x145,'on4v')),l1lil1=require('./function/sendJDNotify'),i1lil=require(iilIil(0x148,'5Tg2')),I1iIl=require(iilIil(0xf9,'7vG&')),IilII=process[iilIil(0x39e,'on4v')][iilIil(0x154,'dZO@')]==='true',ili1l=process['env'][iilIil(0x1e9,'WexN')]===iilIil(0x21b,'8B]['),i1lii=process[iilIil(0x1aa,'tU%^')]['JD_PDD2_TXNUM']||'1',iilIII=process['env'][iilIil(0xde,'7vG&')]===iilIil(0x2bb,'DKkE'),liI1Il=process[iilIil(0x13d,'fvJ%')][iilIil(0x1a8,'[RV!')]||'3',I1iIi=process[iilIil(0x2b0,'v#Qb')][iilIil(0x1be,'Xqu3')]||'5',iiiI1I=process[iilIil(0x2b0,'v#Qb')]['JD_PDD2_DRAW_RETRY']||'20',lilI11=iilIil(0x1c2,'7vG&'),Ili1II=process[iilIil(0x119,'s#)N')][iilIil(0x122,'FXg3')]===iilIil(0x21f,'[Hn4'),ili1i=process['env'][iilIil(0x388,'on4v')],IiIi1=process['env']['JD_PDD_PROXY_URL'],l1Ii1=process['env'][iilIil(0x3df,'on4v')]||iilIil(0x336,'vzL1');function iii1II(_0x530917,_0x1c3372){const _0x717cec=Iii11l();return iii1II=function(_0x46c524,_0x39fec1){_0x46c524=_0x46c524-0xbe;let _0x42e9cc=_0x717cec[_0x46c524];if(iii1II['wKMtEB']===undefined){var _0x5345dc=function(_0x117bdc){const _0x47fd50='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe38aed='',_0x340452='';for(let _0x2e39d2=0x0,_0x54a866,_0x10128f,_0x293ea0=0x0;_0x10128f=_0x117bdc['charAt'](_0x293ea0++);~_0x10128f&&(_0x54a866=_0x2e39d2%0x4?_0x54a866*0x40+_0x10128f:_0x10128f,_0x2e39d2++%0x4)?_0xe38aed+=String['fromCharCode'](0xff&_0x54a866>>(-0x2*_0x2e39d2&0x6)):0x0){_0x10128f=_0x47fd50['indexOf'](_0x10128f);}for(let _0x59e867=0x0,_0x5e26d2=_0xe38aed['length'];_0x59e867<_0x5e26d2;_0x59e867++){_0x340452+='%'+('00'+_0xe38aed['charCodeAt'](_0x59e867)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x340452);};const _0x32807e=function(_0x3100cf,_0x3591cb){let _0x4a4c74=[],_0x4971ff=0x0,_0x4d91c7,_0x18c9ca='';_0x3100cf=_0x5345dc(_0x3100cf);let _0x4d9636;for(_0x4d9636=0x0;_0x4d9636<0x100;_0x4d9636++){_0x4a4c74[_0x4d9636]=_0x4d9636;}for(_0x4d9636=0x0;_0x4d9636<0x100;_0x4d9636++){_0x4971ff=(_0x4971ff+_0x4a4c74[_0x4d9636]+_0x3591cb['charCodeAt'](_0x4d9636%_0x3591cb['length']))%0x100,_0x4d91c7=_0x4a4c74[_0x4d9636],_0x4a4c74[_0x4d9636]=_0x4a4c74[_0x4971ff],_0x4a4c74[_0x4971ff]=_0x4d91c7;}_0x4d9636=0x0,_0x4971ff=0x0;for(let _0x191cf2=0x0;_0x191cf2<_0x3100cf['length'];_0x191cf2++){_0x4d9636=(_0x4d9636+0x1)%0x100,_0x4971ff=(_0x4971ff+_0x4a4c74[_0x4d9636])%0x100,_0x4d91c7=_0x4a4c74[_0x4d9636],_0x4a4c74[_0x4d9636]=_0x4a4c74[_0x4971ff],_0x4a4c74[_0x4971ff]=_0x4d91c7,_0x18c9ca+=String['fromCharCode'](_0x3100cf['charCodeAt'](_0x191cf2)^_0x4a4c74[(_0x4a4c74[_0x4d9636]+_0x4a4c74[_0x4971ff])%0x100]);}return _0x18c9ca;};iii1II['HJcOwS']=_0x32807e,_0x530917=arguments,iii1II['wKMtEB']=!![];}const _0x315e6b=_0x717cec[0x0],_0x323197=_0x46c524+_0x315e6b,_0
2023-11-03 16:48:08 +08:00
// prettier-ignore
function Env(t, e) { "undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0); 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("", `🔔${this.name}, 开始!`) } 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("@"), n = { url: `http://${h}/v1/scripting/evaluate`, body: { script_text: t, mock_type: "cron", timeout: r }, headers: { "X-Key": o, Accept: "*/*" } }; this.post(n, (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.d