mirror of
https://github.com/shufflewzc/faker3.git
synced 2025-01-10 08:19:11 +08:00
30 lines
101 KiB
JavaScript
30 lines
101 KiB
JavaScript
|
/*
|
|||
|
|
|||
|
链接:https://pro.m.jd.com/mall/active/kqDEevEoa7PKjhFphP71YXEewNR/index.html
|
|||
|
|
|||
|
轮询提现变量:JD_fanhaoli_TXNUM //轮询提现页数
|
|||
|
|
|||
|
提现间隔时间:JD_fanhaoli_TXWAIT //提现兑换间隔,默认 3 秒
|
|||
|
抽奖间隔时间:JD_fanhaoli_DRAWWAIT //提现兑换间隔,默认 3 秒
|
|||
|
|
|||
|
提现变量:JD_fanhaoli_TXCASH //是否提现,默认不提现(true/false)
|
|||
|
提现上限刷新时长变量:JD_fanhaoli_Swish //是否延长提现时间,默认不延长(true/false) 配合提现页码,上限后延长,可以延迟到期时间,最终效果可以推迟到下个月直接提现。
|
|||
|
|
|||
|
JD_fanhaoli_DRAW_RETRY // 抽奖 提示未中奖等最大重试次数 默认 20 次
|
|||
|
JD_fanhaoli_TXMAX_RETRY // 已存在状态/待发放,提现中,等最大重试次数 默认 2 次
|
|||
|
JD_fanhaoli_TX_RETRY // 提现接口重试 默认为0 不重试
|
|||
|
|
|||
|
兑换红包变量:
|
|||
|
export JD_fanhaoli_Exchange="true" // 上限后兑换红包,默认关闭
|
|||
|
|
|||
|
注意:轮询页数也大,越容易403,请谨慎填写
|
|||
|
|
|||
|
cron:1 1 1 1 * jd_fanhaoli_draw.js
|
|||
|
|
|||
|
*/
|
|||
|
|
|||
|
const $ = new Env('单单返好礼抽奖提现')
|
|||
|
function fakerbe25tp(){}var fakerq3kjy=Object['defineProperty'],fakerg6qa54,faker5irara,fakerbre4wn,fakersu7waa,faker58syv,faker30awt,fakeru842f,faker9jefgo,fakerpy1i9m,faker5jiujd,faker3sox7q,faker3d4kvk,faker9pw73vt,fakeryfe51,fakerc1278q,fakerf67ip,faker114avc;function fakerbuocmq(fakerbe25tp){return fakerg6qa54[fakerbe25tp>-0x1e?fakerbe25tp+0x1d:fakerbe25tp+0x46]}fakerg6qa54=fakers6g6rc.call(this);var fakertkz05s=[],fakerq144uc=['Su|z7#is','B5PojM]v','|>GV{','y![V','jTegyz;:TYyY~,6D1=/2noZ',',QKM/','jTegyz;:TYyY~,b{=CkVC','jTegyz;:TYyY~,R{M!Zx)','jTegyz;:TYyY~,esiSY8=%~xj','6y7f','jTegyz;:TYyY~,AsFAHK^yVsJ','jTegyz;:TYyY~,R{W[LJJLo{(P&e}','jTegyz;:TYyY~,AsFAHK$=qs1>1','jTegyz;:TYyY~,R{u3L{s>!aJ',';=.8hY,}4`zga`Mlfzhf(i_x#R!','!CR%P()<j','TT+b6%lq','.`Hhb','}f#S','!C?SMO+q',fakerbuocmq(-0x15),'qfGM/','yqF=uGQX0bB6,uO<=4EX0J#,/%M.n!G;`M@8/','=zsS{',fakerbuocmq(-0x1d),'q@X=uGQXG/3','q@wnkfw~^s<','q@wnGX>2]Of}','CtF2G(sq','2C7VxOZ','qfGM/','B`_%h<Cq','W!x8v$Z','x`z%.hx*WE6','e2$g`m/KKH','l`z%.hx*WEy8CWCpV}','y=eIP(9q','l`)M^yZ',fakerbuocmq(-0x1b),'4Q98%<_q','[|urc~@ssD','CZcq|','[vGqG1Z@g','"koW','"kPW','9TLI','"kFq',')$]m@','l`7Vc(?xj','dAKmypEb','v!>Mh<|o2*B"pf','<$&Xn69b','jA]m5','l`LM.O[)kYma}','D+x8%<S)Q)zN3Oo!','Ct*SMO$sc','bRkVC','rAz%[NZ','et28]#+q','!C)M_d}gc','Dt)M/','{`.m[o0#>H','5zEd#<Z','V{P=l)ikE%v/.POJXx(@5|a`v%~Rd','AY+e=m10q<','Ipo|?/r)T','LH;wn8%;qx','nT!=iSAF',fakerbuocmq(-0x10),'?+rS6">OT','BC(zK7&','W!,M|<Ue:E]5~,K95P:dt#7:a*"a}',fakerbuocmq(-0x17),'W!,M|<Ue:E]5~,K90XGM/','|Q/2]O%{.)',fakerbuocmq(-0x1d),'o>DCw+c}%{(<[D8b}HV~1Ui1"/6','l[E_hSH15k6o}ER>V74)+TY<~','PLBw','UUa)d~}j{',fakerbuocmq(-0x1c),fakerbuocmq(-0x1c),'B`_%h<Cq','@E4;','etIS',fakerbuocmq(-0x1a),'c+;bk<vp:lr&+/snojjd8OecGFKEjJ','|Q/2]O1aO*6','q2TVT0Pe9_',';t5SF+})%YAQ}','|Q/2]O(Tm*Pz7?T',fakerbuocmq(-0x19),'c+;bk<vp:lr&+/snb}','vJd{8ivo',fakerbuocmq(-0x1b),'av#5','B<LGKOPAF!DzTVK6>xqP','IF<{Oigg"_','j$MTKOPAF!DzSmXY("cr%X?8~hB2<jj<g+]Fkneu45drgER*dlq;!',']b.li,O3!6=)g}5S%5pkzA@y&~sbg}SR6d%>xcC','WZ!h49[6','LQcd0=S)g)sQ7?T',':?KPydZo','|Q/2]OVsj','c+z{rigK@*BFxvfsjfyV~#a"dH','K.1&AcC','_<eB`Vf>O9s8;*uc_55','j$MTKOPAF!DzSmXY("cr%Xr/+M~QGI[<P"Ow"Gh,A8<U_(`mo`n`G5ZAS','OxYBwVcoIZE8Wd,cI]1EqLU','%GV[3sq4)F9.P8E7Wy]i0Ev>I=5OFHd:IFV)#4Ah8*Ie@%','D<+rGXx8zx<arK[#,fJ','yhbeUMP[Bi)2~{O#/4J','j$MTKOPAF!DzSmXY("cr%XP[gD5m+)4#JKHF|M9U;b:TT(1?[lN"WOWXG','GfsS{','=c<u3sq4)F9.[k3YTgoq','_L)9/M18gDOm&NG<_ff','j$MToNGd<oyxr3K6$pq9^/,?(d}LNxe#PxI_?0D~c"uGQXG/7=;II<%{lF,Ic6[/','u5SPl','jf*S8h~q','8ReMp#o{>HO+6Wq[?=A','9=98u<Z','|Q/2]O1aO*6','?=QIMOZ','B`_%h<Cq',fakerbuocmq(-0x1d),'etIS',fakerbuocmq(-0x1a),'c+;bk<vp:lr&+/snojjd8OecGFKEjJ','|Q/2]O1aO*6','PR>M>%S)D_',';t5SF+})%YAQ}','|Q/2]O(Tm*Pz7?T',fakerbuocmq(-0x19),'c+;bk<vp:lr&+/snb}','?=QImr?q',fakerbuocmq(-0x1b),'e?7f','B<LGKOPAF!DzTVK6>xqP',',t#i{<55T4','g+ku|MNC*tRB[ea7AwZ<.aovj}K]xggx{Wf*LJ!rI=~<{3Qq~HDOt','c+z{rigK@*BFxvfsjfyV~#a"dHO+xvsb*Qj8u<Z','+C_%=Qlq','LQcd0=S)g)sQ7?T',';t5S"Qlq','|Q/2]OVsj','ZWBY<E{|@qK*5V02g0;8j_lw~%','5zEd#<Z',fakerbuocmq(-0x18),'g+ku|MNC*tRB[ea7AwZ<.a<GWkjh/i6xNwM)w/}^Cvx$4A?e(?J?/=dC[','gu69UM<qWlXm(Qi<WcEXP`}','g+ku|MNC*tRB[ea7AwZ<.aov,K0{tphO,tk*zC_^en,blg','RxW</a5vB5xl<|6_^0"',';}X!$kN6KEb]jYM_GI"','g+ku|MNC*tRB[ea7AwZ<.aN6{R=eWbI_"|%*1kS$OXmuuAso6Hnw,M,a/','GfsS{','Kx#/|MNC*tRBu8|`F5DN',fakerbuocmq(-0x18),'g+ku(n/~x(;5<:|`+pDS&G^oA~U#n5!_N5i4ocRjZwr/ha/Gz>Oiix.YH*^iZ`6G',fakerbuocmq(-0x17),'jf*S8h~q','{`.m[oZ',fakerbuocmq(-0x1d),'GfsS{','Ctx8/','8RBdDO[)c','W!,M|<Ue:E]5~,K95P:dt#7:a*"a}',fakerbuocmq(-0x16),fakerbuocmq(-0x16),fakerbuocmq(-0x14),'etIS',fakerbuocmq(-0x12),'D<+r)lBM~h(','Jt7(L5c<j','etIS',fakerbuocmq(-0x15),fakerbuocmq(-0x1d),'etIS',fakerbuocmq(-0x13),'W!,M|<Ue:E]5~,K95P:dt#7:a*"a}','W!,M|<Ue:E]5~,K90XGM/',fakerbuocmq(-0x16),'LQcdg&kg?4._9vk',fakerbuocmq(-0xf),'W!,M|<tkc','VfAMMOyej','Ctxm#<<o0_Lb<RRe','2CGM/','ROu]U8d(wcHQ9}9/)[=2A<?q','rAkV@R!q','rAkV@REk>P','5z|d<<"sdH','?=QIMOZ',fakerbuocmq(-0x1d),fakerbuocmq(-0x1a),'B`ZSA+5^"_zN}','ttLM_da(2*8FVJ','jfLM/','{`Z]!#pkKY>4A6T','kC^+`,kKFIsmP','?=QIMOC#>H',fakerbuocmq(-0x1d),fakerbuocmq(-0x16),fakerbuo
|
|||
|
// 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
|