├── .idea
├── .gitignore
├── codeStyles
│ ├── Project.xml
│ └── codeStyleConfig.xml
├── encodings.xml
├── jd_job.iml
├── misc.xml
├── modules.xml
└── vcs.xml
├── CK_WxPusherUid.json
├── DreamFactoryShareCodes.js
├── Env.min.js
├── FactoryShareCodes.js
├── JDCookies.txt
├── JDJRValidator.js
├── JDJRValidator_Aaron.js
├── JDJRValidator_Pure.js
├── JDJRValidator_Pure_Smiek.js
├── JDSignValidator.js
├── JD_DailyBonus.js
├── JS_USER_AGENTS.js
├── MoveMentFaker.js
├── QLOneKeyDependency.sh
├── README.md
├── TS_USER_AGENTS.js
├── USER_AGENTS.js
├── ZooFaker_Necklace.js
├── all
├── del_kww.py
├── jd_dfcf.js
├── jd_ksjsb.js
├── jd_kww.js
├── jd_wx_hyyd.js
└── jd_wxyd.py
├── backUp
├── del_618red.js
├── del_Coupon.js
├── del_SpeedUp.js
├── del_angryKoii.js
├── del_bean_change_pro.js
├── del_bean_change_xh.js
├── del_big_winner_Mod.js
├── del_blueCoin.js
├── del_dpqd_diy.js
├── del_fcffl.js
├── del_homeRain.js
├── del_jdfactory.js
├── del_jin_tie.js
├── del_joy.js
├── del_joy_feedPet.js
├── del_jxmc_zl.js
├── del_kanjia.js
├── del_market_lottery.js
├── del_mhtask.js
├── del_moneyTree.js
├── del_nnfls.js
├── del_redrain_half.js
├── del_sgmh.js
├── del_shop.js
├── del_superBrandJK.js
├── del_superBrandStar.js
├── del_tyt.js
├── del_tyt_ks.js
└── del_wish.js
├── crontab_list.sh
├── docs
├── GXJL.md
├── JD2.2.md
├── QLOneKeyDependency.sh
├── ZLPZ.md
├── _config.yml
├── assets
│ ├── img
│ │ ├── img_1.png
│ │ ├── img_2.png
│ │ ├── img_3.png
│ │ ├── img_4.png
│ │ └── img_5.png
│ └── js
│ │ ├── 30.json
│ │ ├── cityShareCodes.json
│ │ ├── dyj.json
│ │ ├── jxhb.json
│ │ ├── mall_active.json
│ │ ├── qjd.json
│ │ └── updateBeanHome.json
├── dyj.json
├── fcwb.json
├── index.md
├── jd_shopid.txt
├── jdwxx.json
├── jsdelivr
│ ├── codemirror.min.js
│ ├── darkreader.min.js
│ ├── javascript.js
│ ├── python.js
│ ├── react-dom.production.min.js
│ ├── shell.js
│ ├── sockjs.min.js
│ └── umi.8e15ef06.js
├── ks.json
├── ksjsb.json
├── ksjsbjk.json
├── tiger.json
├── update.json
├── version.json
├── wbzl.json
├── wish.json
├── wskey.txt
├── zdfd_all.json
└── zqkd
│ ├── Backup
│ ├── zq_cron.json
│ └── zqcx.json
│ ├── md5.js
│ ├── zq_Adv_video.js
│ ├── zq_Rotary.js
│ ├── zq_box.js
│ ├── zq_double.js
│ ├── zq_friendSign.js
│ ├── zq_kkz.js
│ ├── zq_llz.js
│ ├── zq_qd.js
│ ├── zq_share.js
│ ├── zq_sj.js
│ ├── zq_ssz.js
│ ├── zq_today_score.js
│ ├── zq_wakeup.js
│ ├── zq_withdraw.js
│ └── zq_wz.js
├── function
├── JDJRValidator_Pure_smiek.js
├── TS_USER_AGENTS.ts
├── cache
│ └── index.js
├── common.js
├── config.js
├── dylant.js
├── dylanx.js
├── dylany.js
├── dylanz.js
├── eval.js
├── getToken.js
├── h5st.ts
├── jdValidate.js
├── jdcookie.js
├── jinli_log.ts
├── jxAlgo.js
├── krgetSign.js
├── krgetToken.js
├── krh5st.js
├── magic.js
├── ql.js
├── sendNotify.js
├── sign_graphics_validate.js
├── signdps.js
└── zjdtool.js
├── install-node.sh
├── jd
├── JD_DailyBonus.js
├── del_SendBean.js
├── del_couponspace.js
├── del_daily_lottery.js
├── del_joy_park_task.js
├── del_joypark_task.js
├── del_marketmh.js
├── del_pigPet.js
├── del_speed_signA.js
├── del_speed_signB.js
├── del_try.js
├── del_try_dl.js
├── jd_618.js
├── jd_FactoryShareCodes.js
├── jd_JRValidator_Pure.js
├── jd_TreasureRank.js
├── jd_bean_change.js
├── jd_bean_change_nm.js
├── jd_bean_change_pro.js
├── jd_bean_home.js
├── jd_bean_info.js
├── jd_bean_sign.js
├── jd_beauty.js
├── jd_cash.js
├── jd_cash_exchange.js
├── jd_cash_nolan.js
├── jd_cash_wx.js
├── jd_cfd.js
├── jd_ckcheck.js
├── jd_cleancart.js
├── jd_cleancart_nolan.js
├── jd_club_lottery.js
├── jd_code2url.js
├── jd_comment.js
├── jd_couponspace.js
├── jd_ddly.js
├── jd_ddnc_farmpark.js
├── jd_dreamFactoryy.js
├── jd_dwapp.js
├── jd_ffl.js
├── jd_fruit_friend.js
├── jd_fruit_task.js
├── jd_fruit_zl.js
├── jd_get_share_code.js
├── jd_gold_creation.js
├── jd_health.js
├── jd_health_collect.js
├── jd_insight.js
├── jd_jdzz.js
├── jd_joy_tx.js
├── jd_jsbzjd.js
├── jd_jxsign.js
├── jd_kanjia.js
├── jd_kd.js
├── jd_mdou.js
├── jd_mohe_help.js
├── jd_morningSc.js
├── jd_pay_contract.js
├── jd_plantBean.js
├── jd_plantBean_help.js
├── jd_plus2bean.js
├── jd_price.js
├── jd_priceProtectMo.js
├── jd_productZ4BrandZ.js
├── jd_redrain_half.js
├── jd_sevenDay.js
├── jd_shangou.js
├── jd_sign_graphics1.js
├── jd_speed.js
├── jd_speed_sign_new.js
├── jd_speed_signfree.js
├── jd_supergz.js
├── jd_unsubscribe.js
├── jd_vipgrowth.js
├── jd_wish.js
├── jd_wywcj.js
└── jd_yqyll.js
├── jdCookie.js
├── jdCookieZkl.js
├── jdDreamFactoryShareCodes.js
├── jdFactoryShareCodes.js
├── jdFruitShareCodes.js
├── jdJxncShareCodes.js
├── jdPetShareCodes.js
├── jdPlantBeanShareCodes.js
├── jdShareCodes.js
├── jdZooFaker_Necklace.js
├── jdgraphics_validate.js
├── jm
├── jd_20zn.js
├── jd_618_Red.js
├── jd_fruit_zldl.js
├── jd_js_sign.js
├── jd_sk.js
├── jd_washbeans.js
└── sign_graphics_validate.js
├── ms
├── del_618red.js
├── del_ftmtqgA.js
├── del_xmscqj.js
├── del_yhq_2.js
├── del_yhq_29.js
├── jd_mtyy.js
└── jd_wwspT11.js
├── py
├── del_Evaluation.py
├── del_bigwinner.py
├── del_fcwb.py
├── del_lxj.py
├── del_qjd.py
├── jd_OpenCard_T.py
├── jd_delete.py
├── jd_fcwb.py
├── jd_getFollowGift.py
├── jd_hbtj.py
├── jd_health_exchange.py
├── jd_prodev.py
├── jd_pzhb_notify.py
├── jd_try_notify.py
├── jd_wskey.py
├── jd_wskeyVIP.py
├── jd_yqhy.py
└── jd_zqfl.py
├── ql.js
├── ql212796668.js
├── ql_jlhb_log.js
├── scripts_jd_live.js
├── sendNotify.js
├── sendNotify.py
├── sign_graphics_validate.js
├── ts
├── TS_USER_AGENTS.ts
├── jd_joy_park_run.ts
├── package-lock.json
└── package.json
└── utils
├── DreamFactoryShareCodes.js
├── FactoryShareCodes.js
├── JDJRValidator.js
├── JDJRValidator_Pure.js
├── JD_DailyBonus.js
├── MoveMentFaker.js
├── PetShareCodes.js
├── USER_AGENTS.js
├── ZooFaker_Necklace.js
├── common.js
├── config.js
├── eval.js
├── jdPlantBeanShareCodes.js
├── jdShareCodes.js
├── jdValidate.js
├── jdcookie.js
├── jinli_log.ts
├── jxAlgo.js
├── magic.js
├── sendjxmcToken.js
├── share_code.js
└── sign_graphics_validate.js
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Datasource local storage ignored files
5 | /../../../../../:\tang\Git\jd_job\.idea/dataSources/
6 | /dataSources.local.xml
7 | # Editor-based HTTP Client requests
8 | /httpRequests/
9 |
--------------------------------------------------------------------------------
/.idea/codeStyles/Project.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/.idea/codeStyles/codeStyleConfig.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/.idea/encodings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/.idea/jd_job.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/CK_WxPusherUid.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "pt_pin": "ptpin1",
4 | "Uid": "UID_AAAAAAAAAAAA"
5 | },
6 | {
7 | "pt_pin": "ptpin2",
8 | "Uid": "UID_BBBBBBBBBB"
9 | },
10 | {
11 | "pt_pin": "ptpin3",
12 | "Uid": "UID_CCCCCCCCC"
13 | }
14 | ]
--------------------------------------------------------------------------------
/DreamFactoryShareCodes.js:
--------------------------------------------------------------------------------
1 | /*
2 | 京喜工厂互助码
3 | 此文件为Node.js专用。其他用户请忽略
4 | 支持京东N个账号
5 | */
6 | //云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。
7 | // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例
8 | // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2
9 | let shareCodes = [
10 | 'AXDgNYKNLs51h24hm7ZK-w==@2pMYXE95BIkCIGcO6UzTpQ==@DgHnSIl_Xks49TJjxzo7nw==@UO68abNzUTGatLzR4Z4RTg==@xJctChTp3ru2blH_WwFopg==@W2y011egxw55xNDYP8Xpww==@NRjbnfYENRVL9QSnLZZNrA==@dmgVOhr4JdUp1CG78ohkWw==@6nURqZ5tze71d9TbZGQg3Q==',//账号一的好友shareCode,不同好友中间用@符号隔开
11 | 'AXDgNYKNLs51h24hm7ZK-w==@2pMYXE95BIkCIGcO6UzTpQ==@DgHnSIl_Xks49TJjxzo7nw==@UO68abNzUTGatLzR4Z4RTg==@xJctChTp3ru2blH_WwFopg==@W2y011egxw55xNDYP8Xpww==@NRjbnfYENRVL9QSnLZZNrA==@dmgVOhr4JdUp1CG78ohkWw==@6nURqZ5tze71d9TbZGQg3Q==',//账号二的好友shareCode,不同好友中间用@符号隔开
12 | ]
13 |
14 | // 从日志获取互助码
15 | // const logShareCodes = require('./utils/jdShareCodes');
16 | // if (logShareCodes.DREAM_FACTORY_SHARE_CODES.length > 0 && !process.env.DREAM_FACTORY_SHARE_CODES) {
17 | // process.env.DREAM_FACTORY_SHARE_CODES = logShareCodes.DREAM_FACTORY_SHARE_CODES.join('&');
18 | // }
19 |
20 | // 判断环境变量里面是否有京喜工厂互助码
21 | if (process.env.DREAM_FACTORY_SHARE_CODES) {
22 | if (process.env.DREAM_FACTORY_SHARE_CODES.indexOf('&') > -1) {
23 | console.log(`您的互助码选择的是用&隔开\n`)
24 | shareCodes = process.env.DREAM_FACTORY_SHARE_CODES.split('&');
25 | } else if (process.env.DREAM_FACTORY_SHARE_CODES.indexOf('\n') > -1) {
26 | console.log(`您的互助码选择的是用换行隔开\n`)
27 | shareCodes = process.env.DREAM_FACTORY_SHARE_CODES.split('\n');
28 | } else {
29 | shareCodes = process.env.DREAM_FACTORY_SHARE_CODES.split();
30 | }
31 | } else {
32 | console.log(`由于您环境变量(DREAM_FACTORY_SHARE_CODES)里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`)
33 | }
34 | for (let i = 0; i < shareCodes.length; i++) {
35 | const index = (i + 1 === 1) ? '' : (i + 1);
36 | exports['shareCodes' + index] = shareCodes[i];
37 | }
38 |
--------------------------------------------------------------------------------
/Env.min.js:
--------------------------------------------------------------------------------
1 | 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,o)=>{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.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 o=this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");o=o?1*o:20,o=e&&e.timeout?e.timeout:o;const[r,h]=i.split("@"),a={url:`http://${h}/v1/scripting/evaluate`,body:{script_text:t,mock_type:"cron",timeout:o},headers:{"X-Key":r,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),o=JSON.stringify(this.data);s?this.fs.writeFileSync(t,o):i?this.fs.writeFileSync(e,o):this.fs.writeFileSync(t,o)}}lodash_get(t,e,s){const i=e.replace(/\[(\d+)\]/g,".$1").split(".");let o=t;for(const t of i)if(o=Object(o)[t],void 0===o)return s;return o}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),o=s?this.getval(s):"";if(o)try{const t=JSON.parse(o);e=t?this.lodash_get(t,i,""):e}catch(t){e=""}}return e}setdata(t,e){let s=!1;if(/^@/.test(e)){const[,i,o]=/^@(.*?)\.(.*?)$/.exec(e),r=this.getval(i),h=i?"null"===r?null:r||"{}":"{}";try{const e=JSON.parse(h);this.lodash_set(e,o,t),s=this.setval(JSON.stringify(e),i)}catch(e){const r={};this.lodash_set(r,o,t),s=this.setval(JSON.stringify(r),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()?$httpClient.get(t,(t,s,i)=>{!t&&s&&(s.body=i,s.statusCode=s.status),e(t,s,i)}):this.isQuanX()?$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)):this.isNode()&&(this.initGotEnv(t),this.got(t).on("redirect",(t,e)=>{try{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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t)))}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())$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",$task.fetch(t).then(t=>{const{statusCode:s,statusCode:i,headers:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},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:o,body:r}=t;e(null,{status:s,statusCode:i,headers:o,body:r},r)},t=>e(t))}}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="",o){const r=t=>{if(!t||!this.isLoon()&&this.isSurge())return t;if("string"==typeof t)return this.isLoon()?t:this.isQuanX()?{"open-url":t}:void 0;if("object"==typeof t){if(this.isLoon()){let e=t.openUrl||t["open-url"],s=t.mediaUrl||t["media-url"];return{openUrl:e,mediaUrl:s}}if(this.isQuanX()){let e=t["open-url"]||t.openUrl,s=t["media-url"]||t.mediaUrl;return{"open-url":e,"media-url":s}}}};this.isMute||(this.isSurge()||this.isLoon()?$notification.post(e,s,i,r(o)):this.isQuanX()&&$notify(e,s,i,r(o)));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)}
--------------------------------------------------------------------------------
/FactoryShareCodes.js:
--------------------------------------------------------------------------------
1 | /*
2 | 东东工厂互助码
3 | 此文件为Node.js专用。其他用户请忽略
4 | 支持京东N个账号
5 | */
6 | //云服务器腾讯云函数等NOde.js用户在此处填写东东萌宠的好友码。
7 | // 同一个京东账号的好友互助码用@符号隔开,不同京东账号之间用&符号或者换行隔开,下面给一个示例
8 | // 如: 京东账号1的shareCode1@京东账号1的shareCode2&京东账号2的shareCode1@京东账号2的shareCode2
9 | let shareCodes = [
10 | '',//账号一的好友shareCode,不同好友中间用@符号隔开
11 | '',//账号二的好友shareCode,不同好友中间用@符号隔开
12 | ]
13 |
14 | // 从日志获取互助码
15 | // const logShareCodes = require('./utils/jdShareCodes');
16 | // if (logShareCodes.DDFACTORY_SHARECODES.length > 0 && !process.env.DDFACTORY_SHARECODES) {
17 | // process.env.DDFACTORY_SHARECODES = logShareCodes.DDFACTORY_SHARECODES.join('&');
18 | // }
19 |
20 | // 判断环境变量里面是否有东东工厂互助码
21 | if (process.env.DDFACTORY_SHARECODES) {
22 | if (process.env.DDFACTORY_SHARECODES.indexOf('&') > -1) {
23 | console.log(`您的互助码选择的是用&隔开\n`)
24 | shareCodes = process.env.DDFACTORY_SHARECODES.split('&');
25 | } else if (process.env.DDFACTORY_SHARECODES.indexOf('\n') > -1) {
26 | console.log(`您的互助码选择的是用换行隔开\n`)
27 | shareCodes = process.env.DDFACTORY_SHARECODES.split('\n');
28 | } else {
29 | shareCodes = process.env.DDFACTORY_SHARECODES.split();
30 | }
31 | } else {
32 | console.log(`由于您环境变量(DDFACTORY_SHARECODES)里面未提供助力码,故此处运行将会给脚本内置的码进行助力,请知晓!`)
33 | }
34 | for (let i = 0; i < shareCodes.length; i++) {
35 | const index = (i + 1 === 1) ? '' : (i + 1);
36 | exports['shareCodes' + index] = shareCodes[i];
37 | }
--------------------------------------------------------------------------------
/JDCookies.txt:
--------------------------------------------------------------------------------
1 | #多账号换行,以下示例:(通过正则获取此文件的ck,理论上可以自定义名字标记ck,也可以随意摆放ck)
2 | 账号1【Curtinlv】cookie1;
3 | 账号2【TopStyle】cookie2;
--------------------------------------------------------------------------------
/MoveMentFaker.js:
--------------------------------------------------------------------------------
1 | const https = require('https');
2 | const fs = require('fs/promises');
3 | const { R_OK } = require('fs').constants;
4 | const vm = require('vm');
5 | const UA = require('../USER_AGENTS.js').USER_AGENT;
6 |
7 | const URL = 'https://wbbny.m.jd.com/babelDiy/Zeus/2rtpffK8wqNyPBH6wyUDuBKoAbCt/index.html';
8 | // const REG_MODULE = /(\d+)\:function\(.*(?=smashUtils\.get_risk_result)/gm;
9 | const SYNTAX_MODULE = '!function(n){var r={};function o(e){if(r[e])';
10 | const REG_SCRIPT = /