├── .github ├── pull.yml └── workflows │ ├── dianshijia.yml │ ├── kuaishou.yml │ ├── repo_sync.yml │ └── weibo.yml ├── .gitignore ├── LICENSE ├── README.md ├── Script ├── 115lx.js ├── 91.js ├── Adguard.js ├── BiliHD.js ├── Bilibili.js ├── Bilibili │ ├── BiliHD.js │ ├── bilibili.unblock.playurl.min.js │ └── bilibili.unblock.season.min.js ├── BilibiliUnlock.js ├── CheckIP.js ├── Diyidan.js ├── HTJZ.js ├── IPinfo.js ├── ITHome.js ├── JAV101.js ├── JDcrazy.js ├── LaunchCenterPro.js ├── Pacdebug.js ├── Pdfexpert.vip.js ├── SMZDM.js ├── Smh.js ├── VideoStar.js ├── Wanliyingshi.js ├── XMind.js ├── YYeTs.js ├── YouTube.js ├── ZhiHu_All.js ├── abaenglish.vip.js ├── aimeiju.js ├── altstore.js ├── amjvip.js ├── bandwagon.js ├── bear.js ├── bilibili.unblock.playurl.min.js ├── bilibili.unblock.season.min.js ├── bilibili_space_qx.js ├── blockBikaUpdate.js ├── china_unicom.js ├── clarity.js ├── cpdq.js ├── cupdasher.js ├── cyxy.js ├── dayone-pre.js ├── dayone.js ├── fantastical.js ├── fit.js ├── hanjuTV.js ├── hjsp.js ├── hnsyhb.js ├── jdyTV.js ├── jxydt.js ├── kkyy.js ├── lake.js ├── llyd.js ├── mb.js ├── mkl.js ├── mmfy.js ├── mryy.js ├── myxj.js ├── nomo.js ├── old_ipa.js ├── peak.js ├── pear.js ├── pear2.js ├── photoshop.js ├── pillow.js ├── pock.js ├── qrxs.js ├── quanx.js ├── qyxj.js ├── resource-parser.js ├── revenuecat.js ├── rrtv.js ├── sdxz.js ├── shimo.js ├── sjyjgj.js ├── smart.js ├── smy.js ├── sololearn.js ├── themekuwo.js ├── wnsm.js ├── workingcopy.js ├── wps.js ├── wszs.js ├── xcz.js ├── xiaoshuimian.js ├── xigua_ad.js ├── xunjie.js ├── xxys.js ├── xxysad.js ├── ydybj.js ├── zgtyzb.js └── znzj.js ├── Surge_Task ├── Sunert_Cookie.sgmodule └── Sunert_Task.sgmodule ├── Task ├── Env.js ├── Env.min.js ├── GithubActions.md ├── README.md ├── Sunert_Task.json ├── Youth_Read.js ├── backup │ ├── beatPay.js │ ├── exchangeRate.js │ ├── sinanews.js │ ├── tele_p5.js │ └── youth_catcher │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── getdata.py │ │ └── readme.md ├── baidu_speed.js ├── dianshijia.js ├── formatJson.js ├── formatJson.txt ├── jdCookie.js ├── jddj.js ├── jukan.js ├── kuaishou.js ├── lkyl.js ├── midu_Read.js ├── moji.js ├── mydigit.js ├── package.json ├── sendNotify.js ├── sunert.boxjs.json ├── telecomInfinity.js ├── trainquery.js ├── translate.js ├── tvpreview.js ├── txnews.js ├── txnews_task.js ├── weibo.js ├── youth.js ├── youth_env.js └── youth_gain.js ├── TaskConf ├── README.md ├── baidu │ └── qx_rewite.txt ├── dianshijia │ ├── loon.plugin │ ├── qx_rewite.txt │ ├── readme.md │ └── surge.sgmodule ├── dianxin │ ├── qx_rewite.txt │ └── readme.md ├── digital_home │ ├── qx_rewite.txt │ └── readme.md ├── jd │ ├── qx_rewite.txt │ └── readme.md ├── jukan │ ├── qx_rewite.txt │ └── readme.md ├── kuaishou │ ├── loon.plugin │ ├── qx_rewite.txt │ ├── readme.md │ └── surge.sgmodule ├── sina │ ├── loon.plugin │ ├── qx_rewite.txt │ ├── readme.md │ └── surge.sgmodule ├── txnews │ ├── loon.plugin │ ├── qx_rewite.txt │ ├── readme.md │ └── surge.sgmodule └── youth │ ├── loon.plugin │ ├── qx_rewite.txt │ ├── qx_youthread.txt │ ├── readme.md │ └── surge.sgmodule ├── index.js └── package.json /.github/pull.yml: -------------------------------------------------------------------------------- 1 | # 使用方法见[@lxk0301](https://raw.githubusercontent.com/lxk0301/scripts/master/githubAction.md) 2 | 3 | version: "1" 4 | rules: # Array of rules 5 | - base: master # Required. Target branch 6 | upstream: Sunert:master # Required. Must be in the same fork network. 7 | mergeMethod: hardreset # Optional, one of [none, merge, squash, rebase, hardreset], Default: none. 8 | mergeUnstable: true # Optional, merge pull request even when the mergeable_state is not clean. Default: false -------------------------------------------------------------------------------- /.github/workflows/dianshijia.yml: -------------------------------------------------------------------------------- 1 | 2 | name: 电视家 3 | 4 | on: 5 | workflow_dispatch: 6 | schedule: 7 | - cron: '*/15 4,12,19,23 * * *' 8 | watch: 9 | types: started 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | if: github.event.repository.owner.id == github.event.sender.id 14 | env: 15 | DSJ_HEADERS: ${{ secrets.DSJ_HEADERS }} 16 | DSJ_DRAWAL: ${{ secrets.DSJ_DRAWAL }} 17 | TZ: Asia/shanghai 18 | steps: 19 | - name: Checkout 20 | uses: actions/checkout@v2 21 | - name: Use Node.js 12.x 22 | uses: actions/setup-node@v1 23 | with: 24 | node-version: 12.x 25 | - name: npm install 26 | run: | 27 | npm install 28 | - name: '运行 【电视家】' 29 | if: env.DSJ_HEADERS 30 | run: | 31 | node Task/dianshijia.js 32 | env: 33 | DSJ_NOTIFY_CONTROL: ${{ secrets.DSJ_NOTIFY_CONTROL }} 34 | PUSH_KEY: ${{ secrets.PUSH_KEY}} 35 | BARK_PUSH: ${{ secrets.BARK_PUSH}} 36 | BARK_SOUND: ${{ secrets.BARK_SOUND}} 37 | TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}} 38 | TG_USER_ID: ${{ secrets.TG_USER_ID}} 39 | DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}} 40 | DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}} 41 | QYWX_KEY: ${{ secrets.QYWX_KEY}} 42 | IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}} 43 | QQ_SKEY: ${{ secrets.QQ_SKEY}} 44 | QQ_MODE: ${{ secrets.QQ_MODE}} 45 | PUSH_PLUS_TOKEN: ${{ secrets.PUSH_PLUS_TOKEN}} 46 | PUSH_PLUS_USER: ${{ secrets.PUSH_PLUS_USER}} 47 | TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} 48 | TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} 49 | -------------------------------------------------------------------------------- /.github/workflows/kuaishou.yml: -------------------------------------------------------------------------------- 1 | name: 快手视频签到 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '1/20 10-23/3 * * *' 7 | watch: 8 | types: started 9 | jobs: 10 | build: 11 | runs-on: ubuntu-latest 12 | if: github.event.repository.owner.id == github.event.sender.id 13 | env: 14 | KS_TOKEN: ${{ secrets.KS_TOKEN }} 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v2 18 | - name: Use Node.js 12.x 19 | uses: actions/setup-node@v1 20 | with: 21 | node-version: 12.x 22 | - name: npm install 23 | run: | 24 | npm install 25 | - name: 运行 【快手视频签到】 26 | if: env.KS_TOKEN 27 | run: | 28 | node Task/kuaishou.js 29 | env: 30 | PUSH_KEY: ${{ secrets.PUSH_KEY || github.event.client_payload.PUSH_KEY }} 31 | BARK_PUSH: ${{ secrets.BARK_PUSH || github.event.client_payload.BARK_PUSH }} 32 | BARK_SOUND: ${{ secrets.BARK_SOUND || github.event.client_payload.BARK_SOUND }} 33 | TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN || github.event.client_payload.TG_BOT_TOKEN }} 34 | TG_USER_ID: ${{ secrets.TG_USER_ID || github.event.client_payload.TG_USER_ID }} 35 | DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN || github.event.client_payload.DD_BOT_TOKEN }} 36 | DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET || github.event.client_payload.DD_BOT_SECRET }} 37 | IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY || github.event.client_payload.IGOT_PUSH_KEY }} 38 | -------------------------------------------------------------------------------- /.github/workflows/repo_sync.yml: -------------------------------------------------------------------------------- 1 | # File: .github/workflows/repo-sync.yml 2 | name: sync-Sunert-scripts 3 | on: 4 | schedule: 5 | workflow_dispatch: 6 | watch: 7 | types: started 8 | repository_dispatch: 9 | types: sync-Sunert-scripts 10 | jobs: 11 | repo-sync: 12 | env: 13 | PAT: ${{ secrets.PAT }} #此处PAT需要申请,教程详见:https://www.jianshu.com/p/bb82b3ad1d11 14 | dst_key: ${{ secrets.GITEE_PRIVATE_KEY }} # 我自己同步到gitee使用,其他人可忽略 15 | runs-on: ubuntu-latest 16 | if: github.event.repository.owner.id == github.event.sender.id 17 | steps: 18 | - uses: actions/checkout@v2 19 | with: 20 | persist-credentials: false 21 | 22 | - name: sync Sunert-scripts 23 | uses: repo-sync/github-sync@v2 24 | if: env.PAT 25 | with: 26 | source_repo: "https://github.com/Sunert/Scripts.git" 27 | source_branch: "master" 28 | destination_branch: "master" 29 | github_token: ${{ secrets.PAT }} 30 | # 我自己同步到gitee使用,其他人可忽略 31 | - name: sync github -> gitee 32 | uses: Yikun/hub-mirror-action@master 33 | if: env.dst_key 34 | with: 35 | # 必选,需要同步的Github用户(源) 36 | src: github/Sunert 37 | # 必选,需要同步到的Gitee的用户(目的) 38 | dst: gitee/Sunert 39 | # 必选,更新指定库名字 40 | static_list: "Scripts" 41 | 42 | # 必选,Gitee公钥对应的私钥,https://gitee.com/profile/sshkeys 43 | dst_key: ${{ secrets.GITEE_PRIVATE_KEY }} 44 | 45 | # 必选,Gitee对应的用于创建仓库的token,https://gitee.com/profile/personal_access_tokens 46 | dst_token: ${{ secrets.GITEE_TOKEN }} 47 | -------------------------------------------------------------------------------- /.github/workflows/weibo.yml: -------------------------------------------------------------------------------- 1 | 2 | name: 微博每日签到打卡 3 | 4 | on: 5 | workflow_dispatch: 6 | schedule: 7 | - cron: '5 18 * * *' 8 | watch: 9 | types: started 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | if: github.event.repository.owner.id == github.event.sender.id 14 | env: 15 | WB_TOKEN: ${{ secrets.WB_TOKEN }} 16 | WB_COOKIE: ${{ secrets.WB_COOKIE }} 17 | steps: 18 | - name: Checkout 19 | uses: actions/checkout@v2 20 | - name: Use Node.js 12.x 21 | uses: actions/setup-node@v1 22 | with: 23 | node-version: 12.x 24 | - name: npm install 25 | if: env.WB_TOKEN 26 | run: | 27 | npm install 28 | - name: '运行 【新浪微博】' 29 | if: env.WB_TOKEN 30 | run: | 31 | node Task/weibo.js 32 | env: 33 | PUSH_KEY: ${{ secrets.PUSH_KEY}} 34 | BARK_PUSH: ${{ secrets.BARK_PUSH}} 35 | BARK_SOUND: ${{ secrets.BARK_SOUND}} 36 | TG_BOT_TOKEN: ${{ secrets.TG_BOT_TOKEN}} 37 | TG_USER_ID: ${{ secrets.TG_USER_ID}} 38 | DD_BOT_TOKEN: ${{ secrets.DD_BOT_TOKEN}} 39 | DD_BOT_SECRET: ${{ secrets.DD_BOT_SECRET}} 40 | QYWX_KEY: ${{ secrets.QYWX_KEY}} 41 | IGOT_PUSH_KEY: ${{ secrets.IGOT_PUSH_KEY}} 42 | QQ_SKEY: ${{ secrets.QQ_SKEY}} 43 | QQ_MODE: ${{ secrets.QQ_MODE}} 44 | PUSH_PLUS_TOKEN: ${{ secrets.PUSH_PLUS_TOKEN}} 45 | PUSH_PLUS_USER: ${{ secrets.PUSH_PLUS_USER}} 46 | TG_PROXY_HOST: ${{ secrets.TG_PROXY_HOST}} 47 | TG_PROXY_PORT: ${{ secrets.TG_PROXY_PORT}} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |
3 |

本仓库不再维护

4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 |
12 | 13 | [跳转到任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf) --- [跳转到脚本列表](https://github.com/Sunert/Scripts/tree/master/Task) 14 | 15 | *** 16 | 17 | ## 免责声明: 18 | 19 | * 本仓库发布的Script项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断. 20 | 21 | * Sunert对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害. 22 | 23 | * 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, Sunert 对于由此引起的任何隐私泄漏或其他后果概不负责. 24 | 25 | * 请勿将Script项目的任何内容用于商业或非法目的,否则后果自负. 26 | 27 | * 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本. 28 | 29 | * 任何以任何方式查看此项目的人或直接或间接使用该Script项目的任何脚本的使用者都应仔细阅读此声明。Sunert保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或Script项目的规则,则视为您已接受此免责声明. 30 | 31 | - 您必须在下载后的24小时内从计算机或手机中完全删除以上内容.
32 |
您使用或者复制了本仓库且本人制作的任何脚本,则视为 已接受 此免责声明,请仔细阅读 33 |
34 | 35 | *** 36 | 37 | #### 开发者不易,请赏杯茶水费 38 |
39 |
40 | 41 | --- 42 | 43 | ### 特别感谢: 44 | 45 | * [@chavyleung](https://github.com/chavyleung) 46 | 47 | * [@NobyDa](https://github.com/NobyDa) 48 | 49 | * [@lxk0301](https://github.com/lxk0301) 50 | 51 | * [@id77_Github](https://github.com/id77) 52 | -------------------------------------------------------------------------------- /Script/115lx.js: -------------------------------------------------------------------------------- 1 | /* 2 | 使用方法: 3 | 注意:该脚本无破解离线功能,只是给新版115的App添加创建离线任务的方法。 4 | 1.在[Script]分组下添加下面这行配置 5 | http-response ^http:\/\/115\.com\/lx.*$ script-path=https://raw.githubusercontent.com/ikanam/Surge-Scripts/master/115lx.js, requires-body=true 6 | http-response ^https?:\/\/webapi\.115\.com\/user\/check_sign.*$ script-path=https://raw.githubusercontent.com/ikanam/Surge-Scripts/master/115lx.js, requires-body=true 7 | 2.[MITM]分组添加hostname = *.115.com 8 | 3.在115Aapp中通过网页打开http://115.com/lx?taskdg=1(可在记录中保存该地址打开, 也可添加下面的配置将首页的签到按钮跳转重定向到离线下载页面) 9 | [URL Rewrite] 10 | ^http:\/\/115\.com\/\?ct=sign$ http://115.com/lx?taskdg=1 header 11 | 4.快速创建下载任务的快捷指令: https://www.icloud.com/shortcuts/31e3a877cec340a48192aa081e25c05e 12 | */ 13 | var body = $response.body; 14 | if ($request.url.indexOf('/user/check_sign') != -1) { 15 | let json = JSON.parse(body); 16 | json.data.is_new_sign = false; 17 | body = JSON.stringify(json); 18 | } else { 19 | body = body.replace("UDown", 'XXXXXXXXX'); // 使重定向判断条件失效 20 | let clearJS = `` 44 | body = body.replace("", clearJS + '\n'); // 注入清空任务相关JS 45 | } 46 | $done({body}); 47 | -------------------------------------------------------------------------------- /Script/91.js: -------------------------------------------------------------------------------- 1 | /* 2 | 91 short video unlock vip 3 | 4 | app download link :https://url.cn/5K3zGtt 5 | 6 | QX: 7 | ^https?:\/\/.+\.(my10api|(.*91.*))\.(com|tips|app|xyz)(:\d{2,5})?\/api.php$ url script-response-body JGG/91.js 8 | 9 | 10 | */ 11 | 12 | let key = "4945D5AF62FEFE6043D7828462FA4ADC0D7478745E72F6D6565D35773286C712958336DA088FF7CB6A8D55AB67D8D608575E4B45CC6E66C332734FD40CBA4B5B2608D918C684467971C5A3FE697ABD435310D34BB47CB6D2A674171D3803062BFFD2A4F54BDF02D6904EDBF7E98091B0001259CDA8BD5B8E5A356EF5378854E6BF62FFDDA70B8B2D18E7FD076777ABF04A8DF778981BF915332BE6AE4165234FB800FC4666E8573B031D5B7F4648CFC8AD3A1E92E7C3F295043BC9EBFF176A179A73F61530110ABC1F580A9C885D1BB32D3B205635EED375A9647FAC00ECF75A744901636144A20A8193ACFF31B9F5307A5BD97A6EE1F2AB57CB23EDC226828946329B2628B75CAC8E18D1916C1EF8A26DC094CDE7C856156DBEADD70151D7686A02B6A8203A1B061874BA098A75F65962AFFFFD8F46861C8790E56F14DEDDB471D09CBA674D4E53F221EA3C5D5BBA0C24E2A83FF020F88C1729B38F7E42EB1169AC83356CE57389F1218D75FE89BE18D5012A539281318D06C657568B81A7DD8748D474601E6024CCB203934AA5CB04AD721094AFDD52630B9B360B6735700A1E7E01D9C9CAFBCC3CA63319B8BE3F3BDC1786D383822D2E4F2C7442EEE18EFA98B1D92EAF996BF1906F30356F1899FB271DB055ADECE7633F7498B6220064BFD7B32CB19691F79D921EDFF3654B53780DA192E7AEB6A70B8E88CAFC43840852AC767442A6269F7A60D3041596724D3AD048E435539F02F48CF7166E3A9133CCA439C21595C59748B9080C842066B8702C144A5D76703CB85C4F7821DBCA9026DCC491E373DB117D2A5F6265329E4C8B1922FAD3856BF9B9E20318A4E895521A3BA43AF1BB522D13F41CA7841E62D0E1270F65DBFCB1019517F779497B53E9EBE5687AA4CFD640ED801A118030A2A3C33A9A3F1F823ADB27DABEFD00125ACE263073DBD21BA5FF74EEDB265DCF2A6EAE1BDB9C79369E40957652F0E9BC2955C8AC4AB3A7DF32EA87E991BC04A1645F28CAAB0E6E3DEBDBA4E9CDB84E3A7199B127F8F1E0B459E22E0D4A22C2BE99094EE5C44A599710816C511342CB624884BA8848FC143656E7656FAB94A98E6DCE18EBB3206C7D14E4840B5883E0BE7869CAAB3E209EB1E5CC2999A2B74EECE8E0D4804105A58F8549FF6273A21FBAC0191F6B1363DB974D755801820384B7D39A9E1072B4B528042D97AECA9CDCCDD08AF89901A86B88862EBF5E00649998223A692F3DD63F89C3FF1080A9A3514C71C091ABEC7C9EAA9C6C64358624E82EFBB0933D913C5564E016FE6ACF29E0CCDD2608CF1F31E2B92F43CE90FC892E2C1399F7F9A7CF9C4293172A59D5C8C809EBBC094A5F1093EBA7C40A0196A241F2E5EA66B16522B216B9EB653162A3DAB107835F29CD1F597A6E0B7303642C82E7A9578FD473184A7E7EDEFB11DD681DCE4A032B572C117E01119C8D842EB6E0A32F7D760ECF55A1659A76D95D086145965114E3A8A8E3A9F43AF9A47894381A462CEFE3DC2F284C2BAD2F71FACCE39F579C7199F420BE84C83E075A717E1E0120510837908554277920C85879B67FA4E485BA1D1AEC9AA4D63BC35F19250C0B6EC4F60F2C7083088115E53BC2E39ED2CA2F5607F7C2FD6C0BC5580243D43A3B701FEC71F5056DE64CDD7670CD7C1937F7990D5DCBA9BE884CAD0855B33D1476B9F37B895512A53F3D3A2FE4C6A405FBE0321E2209859623C426D840EDA4CD8208B55D8C612D8981DA0E63B9A55C175B5E832BECDD09EE7E8EA41510D86355085725611A46F65C29FE72C6FD331EA1A4D7961479DC378261E155EE75032873A3A4BADE174A7DE38937DD14D7D19CBAD8F42703B7675457DCC8E85E76472834EAE6340CD0AFF7D67DEB0043E960C988037B8FA699BAF6D8E5E0553D8BEF6EDDA8A80BE3813774ABF691F8FBAF98A8B1A2E94E63EB73AF627A1CAEF561C277420E5A9CDFD83E2C28A89AD0A352DD0B528BAECF48DB8CEA53A72AC5362F71A8FB43C6C40170DDE4CA0DF8A6595DCB7187057D133FDE35CC00961F0FAF133F3A1B6ADA6692F6277227297715AE9FBDFCB4F7E85773C55C6F5E0CE5602016C1DDF3BF50ADC396318EC9AED521DD1D93412F9D28E3B1B58B8B18BE477C2F55CA4A539A997101C3FF6287E2E4E8AB7973202586CC9B6C2E6AC9D0E36C97FCAF4EFC4A5FCE0BB24F71D8DF880FA1AEDE60CFEF1F0B8F9D540D76E56EE16EEC1A2A18288C5770E1782AFE61EE0AB4CD29903C8BCCB3F073C49B85F813FC33A2F4D3FD4D17D854E336EE371ED030B1F492BAEFB963A564793A20716EE73610B8FDE40E9EB3041EC16F5A61B504A632AB57DA0E310CC3E54751E6A5E7A590D1E6DE44F667232C4F76C10D67BD23F3621767A34EFE17B615C1BDAACADD1FA38DC31B6E3794C3D4597EAB37552E58106163C32C86D9CE4CF089A1D032CD6A04B5C785CA791EEFB99B63375C3A7F99C24E2D9663B4E8E8A81A0C166996225610A05DBD4E8F558BCE2057C9B6441AB3D2C24E20C517901852D415D04AEF7191228E92ACDE08415EDFE2CE979EDC53982BCFF47269EBE58240FD6D863062CDD419231C0811D503BA4570C8A48748BDE7E6DE8116517716070EA14C11EEDF7EC7B50394CB04AEE917C989889C103A22992FE5B719A6FC9C93BF7FAB715B88521BFB173635455E36C7E8DA384BC65D1466B0ABEE542F8A71811811DAC3C0578181C134D5F6F1D41111880E46EB53A5FE2A915585E651F8142059343DC039A0C154B36A60101E474D54872A193692291611290E394E895BD0F8614D9B858089240F7A6E620DFED4A3F1102A690ADD5F69CCFC0682189B071FC184C8F4E6B4501013FD04946CCA09F5A010AA71BEFADBA182A0D75658FC9DD11F59082142CA71882CA2D8FD1BFCB339B775C4EAFA1AC99A230711731E5AF6512FBF8912DC3C11955AE9A4D2A4595EBE4167E651821EBA393C72216EEA0297E43E730F6F8AB3545B6A3576CA8B2BE0A94A036941E0C043DE32AB19510687B8B571A4B4CA46087F318D5726519419370CDC412378DC93ADDA737D7577359E4260A21070BD23F9923DFC731A4243073EE35B837D98E9ABC9929A65EF859ABFEEEB8D5C9A970C2E67042C9E436CEAF9D167B121803DCD2595977B734B9688C3FE87A2E1E37D9B0F12F4CDAB12105A2FC90EDEDA436A7FC1ACBCF4A32D2F3FECC0992740C473E102C172CA0ACCF1EF03975318364349740650601B8F822D58A72951F5DBA787BBF47DDE1D065D505333A17C413BBFF656B706AEF84E06DE92C417D110F6787EE2BCCA1650DE8372A4AED496488A5EF4404BCD14CF516A2583F647FF9E6948FFB280144B9ED6EEBBA9921A47885C1A2217B61128CAB3334750DDEB0D1F9F529B6A084FA4A1311166CDC0AA5032C4ECBE31933ADED56EB6E8754A3A14E052BC8B0404BD412E15192FDC1253234B0B093E7956629F3F12071044E7C26734BAE9EA0B64C8CC141E66ED61B2E1CFB97887945BEDDD439C80EC0A0DB9BA8A914F7587D75EFF35FDA122161D0F0E8FEF41E8F1463667BF11CD14D074441696A8308DF2BB235DD567B9AE19509268C74DA3043373164C4543E2C1F8678434D1E6C307186D7612F04F33EDAB46114828B17D5D21761A8AE7F1C2C239721F957290315DAAF67F4A32E3767B792E115AC136636F4DE85C7233B5FAE1ABE419C2DDAD1BF47C603D57FC3BE0253693ED96FE16747E46B7C723F560BABA020852EA5E1AFBB087043EBD790CB90FB6F373089F9025054716CCD2C0C46D9DAAA57249D7F4744CBDD67293CC019D1C8F8200C555ADB5966A0B957C055B0BC00D28AE70BC0DB1122AE2A0377D48B2F767F2F35EE72C31D6B8C465266A22F1A32D64AFC4828CDB1785A0B6B4D26F20DF398931618FCE4AB8D542259B319C74509776734DB9A5CBA4840D03E56EB17929629F47BAF571F7E8B55E9D69712E2CB0F88054761AE825491AF1A53AD946886F36D572777FEB9F0BDC7C96A3A6637C902981790CCAA956C1D9A8A1171E2103C5E68A21F48F10F41C4EB1167569FE3EBD1CFE2EAEBB20A828D97D24A87230A6BD7998DAC2F15830003540F9CE0AC17FCF2B740E1766617D2474E00FEB3D35C00818F3CCFAC049A5F5E221949330E66FCDA9888DB04F1ADE88783818D6DCBEFCEE7828DBBE4CD60BE3397D3A69A526A0610C8BB45A32FD57366BEA5E6601935A3E7EBCFE279111B5E27D6A479692E5239826D20195DC10582D61C2E0A344D8E94D15ECF80FF8A97529786B2429CEC39243899A95472F7F33B7CF7C4BCB85B2E5474B584FFBCE83F0B4C769154B9DA141C707DCB68F24A032446962EB4F7DD5C4C8ABB84A39B84A83C1906AC63F4D5F4C60D6C96B54D784AC419816B7C20B54DEB0ABA901A468D51D9B83D3A7FED0C0EAEEFA986F3BED9AA4D063EE6E36DC96CC2B8AB03D9B13A8A5566EBFCFBF8A2942A716F0EAF642F1BAEC578A13AA42B4934E7FC5E47BBA64AD2707C32FF6532F1CED7490F670E792EC967B512CA887FD87ABD52726F0D251C831EE02F24183AB90957BBA345676BFCCE2EABC3677FF9F7A1DCFAD552D4C026C87FE4B5E6BCD27C26EC52556B99BEF784D1EBEC830F9EE47E68C6A641F36BD74B0D3E399DF414E7487DE05B33E8B673B114EE3899F2AFC729C32597A9B9BA199491E75F84913F9160721E579BD7F7AC49950494437641B1FAE41252367FD699BC3C38B8AFCA95DFD46A5C617B33BC02414EE98C850BCB2752EB21DB391EA1C83ED7F40100E01360167EF5167F073EB3747A17DBDDA96CF149D239754D2C0E63DBFD6F61C6905B5F0DAED8B5E8FCF418E1440BA5440608D096560BE8A8D06E03238CB8CD943507CDA5716160CB610E216BB1D82AEC55219F29C4AAE86979422ADCD6C240C9335B05F256CF4C1FF60999B81B5086E2EE591B12FE42B92FA5CAC48C623F8A049022B1CCECB38521675E44FB1809E05D55DCDA5123F915FB9D8AC7CDB7C5421622963BB7120A8ACEA6C19DC39B18953FF40AE65542DE05C3F14D22B93040CF2D7572EC7FA64456C8322CF751F4A76C23CA967DE002FF381E0E4726ED6EC9A451A3381E6"; 13 | 14 | let obj = JSON.parse($response.body); 15 | 16 | if (obj.data.match(/^[A-Z0-9]{1000,40000}$/)) { 17 | obj.data = key; 18 | } 19 | $done({ 20 | body: JSON.stringify(obj) 21 | }); 22 | // From JGG, Welcome to focus on my TG channel https://t.me/f4thorHCC 23 | -------------------------------------------------------------------------------- /Script/Adguard.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj={"products":[{"product_id":"com.adguard.lifetimePurchase","premium_status":"ACTIVE"}]}; 3 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/BiliHD.js: -------------------------------------------------------------------------------- 1 | /* 2 | bilibili fan drama open 1080P+ 3 | 4 | By @Macsuny 5 | Modified from NobyDa 6 | 7 | QX: 8 | https:\/\/ap(p|i)\.bilibili\.com\/((pgc\/player\/api\/playurl)|(x\/v2\/account\/myinfo\?)|(x\/v2\/account/mine\?)) url script-response-body https://raw.githubusercontent.com/Sunert/Scripts/master/Script/Bilibili/BiliHD.js 9 | 10 | Surge4: 11 | http-response https:\/\/ap(p|i)\.bilibili\.com\/((pgc\/player\/api\/playurl)|(x\/v2\/account\/myinfo\?)|(x\/v2\/account/mine\?)) requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Script/Bilibili/BiliHD.js 12 | 13 | Surge & QX MITM = api.bilibili.com 14 | */ 15 | 16 | var body = $response.body; 17 | var url = $request.url; 18 | 19 | const path1 = '/pgc/player/api/playurl'; 20 | const path2 = "/x/v2/account/myinfo?"; 21 | const path3 = "/x/v2/account/mine\?"; 22 | if (url.indexOf(path1) != -1) { 23 | let obj = JSON.parse(body); 24 | obj["has_paid"] = true; 25 | obj["quality"] = obj["accept_quality"][0]; 26 | obj.vip_type = 2; 27 | obj.vip_status = 1; 28 | body = JSON.stringify(obj); 29 | }; 30 | if (url.indexOf(path2) != -1){ 31 | let obj = JSON.parse(body); 32 | obj["data"]["vip"]["type"] = 2; 33 | obj["data"]["vip"]["status"] = 1; 34 | obj["data"]["vip"]["vip_pay_type"] = 1; 35 | obj["data"]["vip"]["due_date"] = 1669824160; 36 | 37 | body=JSON.stringify(obj); 38 | }; 39 | 40 | if (url.indexOf(path3) != -1){ 41 | let obj = JSON.parse(body); 42 | obj["data"]["vip_type"] = 2; 43 | obj["data"]["vip"]["type"] = 2; 44 | obj["data"]["vip"]["status"] = 1; 45 | obj["data"]["vip"]["vip_pay_type"] = 1; 46 | obj["data"]["vip"]["due_date"] = 1669824160; 47 | body=JSON.stringify(obj); 48 | }; 49 | 50 | $done({body}); 51 | 52 | -------------------------------------------------------------------------------- /Script/Bilibili.js: -------------------------------------------------------------------------------- 1 | const up_blacklist = ['NathanRich火锅大王','大祥哥来了']; 2 | const title_blackwords = ['乔碧萝','鸡你太美']; 3 | const region_blacklist = ['宅舞','三次元舞蹈']; 4 | let body = $response.body; 5 | console.log($request.url) 6 | console.log(body) 7 | body = JSON.parse(body); 8 | 9 | // 观看页面 10 | if (-1 != $request.url.indexOf('/x/v2/view\?a') && 0 == body['code']) { 11 | body['data']['relates'] = body['data']['relates'].filter(function (item) { 12 | if (item.hasOwnProperty('is_ad')) { 13 | return false; 14 | } 15 | return true; 16 | }); 17 | } 18 | 19 | // 排行榜 20 | if (-1 != $request.url.indexOf('/x/v2/rank') && 0 == body['code']) { 21 | body['data'] = body['data'].filter(function (item) { 22 | if (up_blacklist.includes(item.name)) { 23 | return false; 24 | } 25 | return true; 26 | }); 27 | } 28 | 29 | // feed 30 | if (-1 != $request.url.indexOf('/x/v2/feed') && 0 == body['code']) { 31 | body['data']['items'] = body['data']['items'].filter(function (item) { 32 | // search_subscribe 人气UP主推荐 33 | if (['ad_web_s', 'ad_web', 'live', 'banner', 'search_subscribe'].includes(item.card_goto)) { 34 | return false; 35 | } 36 | if (item.hasOwnProperty('ad_info')) { 37 | return false; 38 | } 39 | if (up_blacklist.includes(item.args.up_name)) { 40 | return false; 41 | } 42 | if (region_blacklist.includes(item.args.rname)) { 43 | return false; 44 | } 45 | for( let word of title_blackwords){ 46 | if(-1 != item.title.indexOf(word)){ 47 | return false; 48 | } 49 | } 50 | return true; 51 | }); 52 | } 53 | 54 | // 搜索页Banner 55 | if(-1 != $request.url.indexOf('search/resource') && 0 == body['code']){ 56 | body['data'] = []; 57 | } 58 | 59 | // 评论页面notice 60 | if (-1 != $request.url.indexOf('/x/v2/reply/main') && 0 == body['code']) { 61 | body['data']['notice'] = {}; 62 | } 63 | 64 | // tab 65 | if (-1 != $request.url.indexOf('resource/show/tab?') && 0 == body['code']) { 66 | // 会员购 67 | body['data']['bottom'] = body['data']['bottom'].filter(function (item) { 68 | return item.id != 180 69 | }); 70 | // 70 直播 影视 71 | body['data']['tab'] = body['data']['tab'].filter(function (item) { 72 | return item.id != 38247 && item.id != 39 && item.id != 165 73 | }); 74 | // 游戏中心 75 | body['data']['top'] = body['data']['top'].filter(function (item) { 76 | return item.id != 175 77 | }); 78 | } 79 | 80 | // 我的 81 | if (-1 != $request.url.indexOf('/x/v2/account/mine') && 0 == body['code']) { 82 | body['data']['vip_section'] = {}; 83 | body['data']['vip_section_v2'] = {}; 84 | body['data']['sections'] = body['data']['sections'].filter( 85 | function (item, index) { 86 | if ('创作中心' == item.title) { 87 | return true; 88 | } 89 | item.items = item.items.filter(function (section_items) { 90 | console.log(section_items.title); 91 | if ((['我的课程', '我的钱包', '会员购中心', '直播中心', '青少年模式', '看视频免流量', '我的客服'].includes(section_items.title))) { 92 | return true; 93 | } 94 | return true; 95 | }); 96 | return true; 97 | }); 98 | } 99 | body = JSON.stringify(body); 100 | $done({body}); 101 | -------------------------------------------------------------------------------- /Script/Bilibili/BiliHD.js: -------------------------------------------------------------------------------- 1 | /* 2 | bilibili fan drama open 1080P+ 3 | 4 | QX: 5 | https:\/\/ap(p|i)\.bilibili\.com\/((pgc\/player\/api\/playurl)|(x\/v2\/account\/myinfo\?)|(x\/v2\/account/mine\?)) url script-response-body BiliHD.js 6 | 7 | QX MITM = api.bilibili.com 8 | */ 9 | 10 | var body = $response.body; 11 | var url = $request.url; 12 | 13 | const path1 = '/pgc/player/api/playurl'; 14 | const path2 = "/x/v2/account/myinfo?"; 15 | const path3 = "/x/v2/account/mine\?"; 16 | if (url.indexOf(path1) != -1) { 17 | let obj = JSON.parse(body); 18 | obj["has_paid"] = true; 19 | obj["quality"] = obj["accept_quality"][0]; 20 | obj.vip_type = 2; 21 | obj.vip_status = 1; 22 | body = JSON.stringify(obj); 23 | }; 24 | if (url.indexOf(path2) != -1){ 25 | let obj = JSON.parse(body); 26 | obj["data"]["vip"]["type"] = 2; 27 | obj["data"]["vip"]["status"] = 1; 28 | obj["data"]["vip"]["vip_pay_type"] = 1; 29 | obj["data"]["vip"]["due_date"] = 1669824160; 30 | 31 | body=JSON.stringify(obj); 32 | }; 33 | 34 | if (url.indexOf(path3) != -1){ 35 | let obj = JSON.parse(body); 36 | obj["data"]["vip_type"] = 2; 37 | obj["data"]["vip"]["type"] = 2; 38 | obj["data"]["vip"]["status"] = 1; 39 | obj["data"]["vip"]["vip_pay_type"] = 1; 40 | obj["data"]["vip"]["due_date"] = 1669824160; 41 | body=JSON.stringify(obj); 42 | }; 43 | 44 | $done({body}); 45 | 46 | -------------------------------------------------------------------------------- /Script/Bilibili/bilibili.unblock.playurl.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | # bilibili 4 | 5 | > 代码已同时兼容 Surge & QuanX, 使用同一份签到脚本即可 6 | 7 | > https://github.com/chavyleung/scripts 8 | 9 | ## 配置 (QuanX) 10 | ```properties 11 | [mitm] 12 | hostname = api.bilibili.com 13 | [rewrite_local] 14 | ^https:\/\/api.bilibili.com\/pgc\/player\/api\/playurl url script-response-body bilibili.unblock.playurl.min.js 15 | ^https:\/\/api.bilibili.com\/pgc\/view\/app\/season url script-response-body bilibili.unblock.season.min.js 16 | ``` 17 | 18 | ## 配置 (Surge) 19 | ```properties 20 | [MITM] 21 | hostname = api.bilibili.com 22 | [Script] 23 | http-response https://api.bilibili.com/pgc/player/api/playurl requires-body=1,max-size=0,script-path=bilibili.unblock.playurl.min.js 24 | http-response https://api.bilibili.com/pgc/view/app/season requires-body=1,max-size=0,script-path=bilibili.unblock.season.min.js 25 | 26 | ## 感谢 27 | 28 | [@onewayticket255](https://github.com/onewayticket255) 29 | ``` 30 | */ 31 | function init(){return isSurge=(()=>void 0!==this.$httpClient),isQuanX=(()=>void 0!==this.$task),isJSON=(e=>"object"==typeof JSON.parse(e)),getdata=(e=>isSurge()?$persistentStore.read(e):isQuanX()?$prefs.valueForKey(e):void 0),setdata=((e,t)=>isSurge()?$persistentStore.write(e,t):isQuanX()?$prefs.setValueForKey(e,t):void 0),msg=((e,t,i)=>{isSurge()&&$notification.post(e,t,i),isQuanX()&&$notify(e,t,i)}),log=(e=>console.log(e)),get=((e,t)=>{isSurge()&&$httpClient.get(e,t),isQuanX()&&(e.method="GET",$task.fetch(e).then(e=>t(null,{},e.body)))}),post=((e,t)=>{isSurge()&&$httpClient.post(e,t),isQuanX()&&(e.method="POST",$task.fetch(e).then(e=>t(null,{},e.body)))}),done=((e={})=>{$done(e)}),{isSurge:isSurge,isQuanX:isQuanX,isJSON:isJSON,msg:msg,log:log,getdata:getdata,setdata:setdata,get:get,post:post,done:done}}const chavy=init(),querystr=$request.url.split("?")[1],queryparams={};if(querystr)for(queryparam of querystr.split("&"))queryparams[queryparam.split("=")[0]]=queryparam.split("=")[1];const cid=queryparams.cid?queryparams.cid:"",ep_id=queryparams.ep_id?queryparams.ep_id:"",url=`https://bilibili.mlyx.workers.dev/?cid=${cid}&ep_id=${ep_id}`;chavy.get({url:url},(e,t,i)=>{try{let e=JSON.parse(i);0==e.code?(chavy.msg("bilibili","\u64ad\u653e\u65b9\u5f0f: \u5927\u4f1a\u5458","\u8bf4\u660e: \u83b7\u53d6\u8fde\u63a5\u4fe1\u606f"),chavy.done({body:i})):(chavy.msg("bilibili","\u64ad\u653e\u65b9\u5f0f: \u666e\u901a\u4f1a\u5458","\u8bf4\u660e: \u83b7\u53d6\u8fde\u63a5\u4fe1\u606f"),chavy.done())}catch(e){chavy.done()}}); -------------------------------------------------------------------------------- /Script/Bilibili/bilibili.unblock.season.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | # bilibili 4 | 5 | > 代码已同时兼容 Surge & QuanX, 使用同一份签到脚本即可 6 | 7 | > https://github.com/chavyleung/scripts 8 | 9 | ## 配置 (QuanX) 10 | ```properties 11 | [mitm] 12 | hostname = api.bilibili.com 13 | [rewrite_local] 14 | ^https:\/\/api.bilibili.com\/pgc\/player\/api\/playurl url script-response-body bilibili.unblock.playurl.min.js 15 | ^https:\/\/api.bilibili.com\/pgc\/view\/app\/season url script-response-body bilibili.unblock.season.min.js 16 | ``` 17 | 18 | ## 配置 (Surge) 19 | ```properties 20 | [MITM] 21 | hostname = api.bilibili.com 22 | [Script] 23 | http-response https://api.bilibili.com/pgc/player/api/playurl requires-body=1,max-size=0,script-path=bilibili.unblock.playurl.min.js 24 | http-response https://api.bilibili.com/pgc/view/app/season requires-body=1,max-size=0,script-path=bilibili.unblock.season.min.js 25 | 26 | ## 感谢 27 | 28 | [@onewayticket255](https://github.com/onewayticket255) 29 | ``` 30 | */ 31 | function init(){return isSurge=(()=>void 0!==this.$httpClient),isQuanX=(()=>void 0!==this.$task),isJSON=(e=>"object"==typeof JSON.parse(e)),getdata=(e=>isSurge()?$persistentStore.read(e):isQuanX()?$prefs.valueForKey(e):void 0),setdata=((e,s)=>isSurge()?$persistentStore.write(e,s):isQuanX()?$prefs.setValueForKey(e,s):void 0),msg=((e,s,t)=>{isSurge()&&$notification.post(e,s,t),isQuanX()&&$notify(e,s,t)}),log=(e=>console.log(e)),get=((e,s)=>{isSurge()&&$httpClient.get(e,s),isQuanX()&&(e.method="GET",$task.fetch(e).then(e=>s(null,{},e.body)))}),post=((e,s)=>{isSurge()&&$httpClient.post(e,s),isQuanX()&&(e.method="POST",$task.fetch(e).then(e=>s(null,{},e.body)))}),done=((e={})=>{$done(e)}),{isSurge:isSurge,isQuanX:isQuanX,isJSON:isJSON,msg:msg,log:log,getdata:getdata,setdata:setdata,get:get,post:post,done:done}}const chavy=init(),querystr=$request.url.split("?")[1],queryparams={};if(querystr)for(queryparam of querystr.split("&"))queryparams[queryparam.split("=")[0]]=queryparam.split("=")[1];const season_id=queryparams.season_id?queryparams.season_id:"",ep_id=queryparams.ep_id?queryparams.ep_id:"";let url="https://bilibili.mlyx.workers.dev/?season_id=";season_id?url+=season_id:ep_id?url+=JSON.parse($response.body).result.season_id:chavy.done(),chavy.get({url:url},(e,s,t)=>{try{let e=JSON.parse(t);0==e.code?(chavy.msg("bilibili","\u64ad\u653e\u65b9\u5f0f: \u5927\u4f1a\u5458","\u8bf4\u660e: \u83b7\u53d6\u756a\u5267\u4fe1\u606f"),chavy.done({body:t})):(chavy.msg("bilibili","\u64ad\u653e\u65b9\u5f0f: \u666e\u901a\u4f1a\u5458","\u8bf4\u660e: \u83b7\u53d6\u756a\u5267\u4fe1\u606f"),chavy.done())}catch(e){chavy.done()}}); -------------------------------------------------------------------------------- /Script/BilibiliUnlock.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj["result"]["user_status"]["vip"] = 1; 3 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/CheckIP.js: -------------------------------------------------------------------------------- 1 | /* 2 | var title =Area_check(obj['country'])+' '+' '+flags.get(obj['countryCode']); 3 | 4 | var subtitle ='🍎'+City_ValidCheck(obj['city'])+'-'+'('+ ISP_ValidCheck(obj['org'])+')'+'🌍'; 5 | 6 | */ 7 | 8 | if ($response.statusCode != 200) { 9 | $done(null); 10 | } 11 | 12 | const emojis= ['🆘','🈲','⚠️','🔞','📵','🚦','🏖','🖥','📺','🐧','🐬','🦉','🍄','⛳️','🚴','🤑','👽','🤖','🎃', '👺', '👁', '🐶', '🐼','🐌', '👥'] 13 | var city0 = " "; 14 | var isp0 = " "; 15 | function getRandomInt(max) { 16 | return Math.floor(Math.random() * Math.floor(max)); 17 | } 18 | 19 | /*function City_ValidCheck(para) { 20 | if(para) { 21 | return para 22 | } 23 | else 24 | { 25 | return city0 26 | } 27 | } 28 | */ 29 | function ENWORD(par) { 30 | par = par.replace(/[\.\_\-\d]+/g," ") 31 | let myRequest = { 32 | url: "http://translate.google.cn/translate_a/single?client=gtx&sl=auto&tl=zh-CN&dt=t&q=" + encodeURI(par), 33 | method: "GET" 34 | }; 35 | $task.fetch(myRequest).then(response => { 36 | //console.log($response.body) 37 | data = response.body 38 | par = data.split(/[\"]+/g)[1]; 39 | console.log(par); 40 | return par; 41 | }, reason =>{ 42 | return par; 43 | }) 44 | } 45 | function ISP_ValidCheck(para) { 46 | if(para=="Microsoft Azure Cloud (eastasia)"){ 47 | return "微软云服务" 48 | } 49 | else if(para=="Chunghwa Telecom Co. Ltd."){ 50 | return "中华电信" 51 | } 52 | else if(para=="Alibaba.com LLC"){ 53 | return "阿里云服务" 54 | } 55 | else if(para=="Hong Kong Telecommunications (HKT) Limited"){ 56 | return "香港电讯有限公司" 57 | } 58 | else if(para=="DigitalOcean, LLC"){ 59 | return "数字海洋有限公司" 60 | } 61 | else if(para=="AWS EC2 (us-west-2)"){ 62 | return "亚马逊云服务" 63 | } 64 | else if(para=="Newmedia Express PTE LTD"){ 65 | return "新媒体快递有限公司" 66 | } 67 | else if(para=="Taiwan Fixed Network") { 68 | return "台湾固网股份有限公司" 69 | } 70 | else 71 | { 72 | return para 73 | } 74 | } 75 | 76 | function Area_check(para) { 77 | if(para=="中华民国"){ 78 | return "台湾省" 79 | } 80 | else if(para=="台湾"){ 81 | return "台湾省" 82 | } 83 | else 84 | { 85 | return para 86 | } 87 | } 88 | function City_ValidCheck(regionName) { 89 | if(regionName=="Kowloon"){ 90 | return "九龙" 91 | } 92 | else if(regionName=="Central and Western District"){ 93 | return "中西部" 94 | } 95 | else if(regionName=="臺灣省 or 台灣省"){ 96 | return "台湾省" 97 | } 98 | else if(regionName=="Moscow"){ 99 | return "莫斯科" 100 | } 101 | else if(regionName=="新加坡"){ 102 | return "新加坡" 103 | } 104 | else if(regionName=="Tuen Mun"){ 105 | return "屯门" 106 | } 107 | else if(regionName=="Palo Alto"){ 108 | return "帕洛阿尔托" 109 | } 110 | else if(regionName=="Central"){ 111 | return "中心" 112 | } 113 | else if(regionName=="Sha Tin"){ 114 | return "沙田" 115 | } 116 | else if(regionName=="Tai Wai"){ 117 | return "大围村" 118 | } 119 | else if(regionName=="San Jose") 120 | { 121 | return "圣何塞" 122 | } 123 | else if(regionName=="Fremont") 124 | { 125 | return "弗里蒙特" 126 | } 127 | else if(regionName=="Heiwajima") 128 | { 129 | return "平和岛" 130 | } 131 | else if(regionName=="Tokyo") 132 | { 133 | return "东京" 134 | } 135 | else if(regionName=="Taichung") 136 | { 137 | return "台中" 138 | } 139 | else 140 | { 141 | return regionName 142 | } 143 | } 144 | function Org_ValidCheck(para) { 145 | if(para.indexOf("Networks Limited")>-1){ 146 | para = para.replace("Networks Limited","网络技术有限公司") 147 | return para 148 | } 149 | if(para.indexOf("AWS")>-1){ 150 | para = para.replace("AWS","亚马逊云服务") 151 | return para 152 | } 153 | if(para=="Microsoft Azure Cloud (eastasia)"){ 154 | return "微软云服务" 155 | } 156 | else if(para=="Chunghwa Telecom Co. Ltd."){ 157 | return "中华电信" 158 | } 159 | else if(para=="Alibaba.com LLC"){ 160 | return "阿里云服务" 161 | } 162 | else if(para=="Hong Kong Telecommunications (HKT) Limited"){ 163 | return "香港电讯有限公司" 164 | } 165 | else if(para=="DigitalOcean, LLC"){ 166 | return "数字海洋" 167 | } 168 | else if(para=="AWS EC2 (us-west-2)"){ 169 | return "亚马逊西部云服务" 170 | } 171 | else if(para=="AWS EC2 (ap-northeast-2)"){ 172 | return "亚马逊东北亚服务器" 173 | } 174 | else if(para=="AWS EC2 (ap-southeast-1)"){ 175 | return "亚马逊东南亚云服务" 176 | } 177 | else if(para=="Newmedia Express PTE LTD"){ 178 | return "新媒体快递" 179 | } 180 | else if(para=="Taiwan Fixed Network CO., LTD.") { 181 | return "台湾固网股份" 182 | } 183 | else if(para=="Hostigation") { 184 | return "大谷互联网" 185 | } 186 | else if(para=="CL Online network Technology Co., Ltd"){ 187 | return "中联在线网络科技" 188 | } 189 | else if(para=="CodecCloud(HK)Limited"){ 190 | return "编码器云(香港)" 191 | } 192 | else if(para=="RESNET INC DBA of RESIDENTIAL NETWORKING SOLUTIONS LLC") 193 | { 194 | return "RESNET住宅网络解决方案" 195 | } 196 | else if(para=="Hong Kong Broadband Network Ltd") 197 | { 198 | return "香港宽频网络" 199 | } 200 | else if(para=="ALICLOUD-HK") 201 | { 202 | return "香港阿里云" 203 | } 204 | else if(para=="HGC Global Communications Limited") 205 | { 206 | return "和记环球电讯" 207 | } 208 | else if(para=="Quicksilver Express Courier, Inc.") 209 | { 210 | return "快银快递" 211 | } 212 | else 213 | { 214 | return para 215 | } 216 | } 217 | 218 | var flags = new Map([[ "AC" , "🇦🇨" ] , [ "AF" , "🇦🇫" ] , [ "AI" , "🇦🇮" ] , [ "AL" , "🇦🇱" ] , [ "AM" , "🇦🇲" ] , [ "AQ" , "🇦🇶" ] , [ "AR" , "🇦🇷" ] , [ "AS" , "🇦🇸" ] , [ "AT" , "🇦🇹" ] , [ "AU" , "🇦🇺" ] , [ "AW" , "🇦🇼" ] , [ "AX" , "🇦🇽" ] , [ "AZ" , "🇦🇿" ] , [ "BB" , "🇧🇧" ] , [ "BD" , "🇧🇩" ] , [ "BE" , "🇧🇪" ] , [ "BF" , "🇧🇫" ] , [ "BG" , "🇧🇬" ] , [ "BH" , "🇧🇭" ] , [ "BI" , "🇧🇮" ] , [ "BJ" , "🇧🇯" ] , [ "BM" , "🇧🇲" ] , [ "BN" , "🇧🇳" ] , [ "BO" , "🇧🇴" ] , [ "BR" , "🇧🇷" ] , [ "BS" , "🇧🇸" ] , [ "BT" , "🇧🇹" ] , [ "BV" , "🇧🇻" ] , [ "BW" , "🇧🇼" ] , [ "BY" , "🇧🇾" ] , [ "BZ" , "🇧🇿" ] , [ "CA" , "🇨🇦" ] , [ "CF" , "🇨🇫" ] , [ "CH" , "🇨🇭" ] , [ "CK" , "🇨🇰" ] , [ "CL" , "🇨🇱" ] , [ "CM" , "🇨🇲" ] , [ "CN" , "🇨🇳" ] , [ "CO" , "🇨🇴" ] , [ "CP" , "🇨🇵" ] , [ "CR" , "🇨🇷" ] , [ "CU" , "🇨🇺" ] , [ "CV" , "🇨🇻" ] , [ "CW" , "🇨🇼" ] , [ "CX" , "🇨🇽" ] , [ "CY" , "🇨🇾" ] , [ "CZ" , "🇨🇿" ] , [ "DE" , "🇩🇪" ] , [ "DG" , "🇩🇬" ] , [ "DJ" , "🇩🇯" ] , [ "DK" , "🇩🇰" ] , [ "DM" , "🇩🇲" ] , [ "DO" , "🇩🇴" ] , [ "DZ" , "🇩🇿" ] , [ "EA" , "🇪🇦" ] , [ "EC" , "🇪🇨" ] , [ "EE" , "🇪🇪" ] , [ "EG" , "🇪🇬" ] , [ "EH" , "🇪🇭" ] , [ "ER" , "🇪🇷" ] , [ "ES" , "🇪🇸" ] , [ "ET" , "🇪🇹" ] , [ "EU" , "🇪🇺" ] , [ "FI" , "🇫🇮" ] , [ "FJ" , "🇫🇯" ] , [ "FK" , "🇫🇰" ] , [ "FM" , "🇫🇲" ] , [ "FO" , "🇫🇴" ] , [ "FR" , "🇫🇷" ] , [ "GA" , "🇬🇦" ] , [ "GB" , "🇬🇧" ] , [ "HK" , "🇭🇰" ] , [ "ID" , "🇮🇩" ] , [ "IE" , "🇮🇪" ] , [ "IL" , "🇮🇱" ] , [ "IM" , "🇮🇲" ] , [ "IN" , "🇮🇳" ] , [ "IS" , "🇮🇸" ] , [ "IT" , "🇮🇹" ] , [ "JP" , "🇯🇵" ] , [ "KR" , "🇰🇷" ] , [ "MO" , "🇲🇴" ] , [ "MX" , "🇲🇽" ] , [ "MY" , "🇲🇾" ] , [ "NL" , "🇳🇱" ] , [ "PH" , "🇵🇭" ] , [ "RO" , "🇷🇴" ] , [ "RS" , "🇷🇸" ] , [ "RU" , "🇷🇺" ] , [ "RW" , "🇷🇼" ] , [ "SA" , "🇸🇦" ] , [ "SB" , "🇸🇧" ] , [ "SC" , "🇸🇨" ] , [ "SD" , "🇸🇩" ] , [ "SE" , "🇸🇪" ] , [ "SG" , "🇸🇬" ] , [ "TH" , "🇹🇭" ] , [ "TN" , "🇹🇳" ] , [ "TO" , "🇹🇴" ] , [ "TR" , "🇹🇷" ] , [ "TV" , "🇹🇻" ] , [ "TW" , "🇨🇳" ] , [ "UA" , "🇺🇦" ] , [ "UK" , "🇬🇧" ] , [ "UM" , "🇺🇲" ] , [ "US" , "🇺🇸" ] , [ "UY" , "🇺🇾" ] , [ "UZ" , "🇺🇿" ] , [ "VA" , "🇻🇦" ] , [ "VE" , "🇻🇪" ] , [ "VG" , "🇻🇬" ] , [ "VI" , "🇻🇮" ] , [ "VN" , "🇻🇳" ]]) 219 | var body = $response.body; 220 | var obj = JSON.parse(body); 221 | var title =Area_check(obj['country'])+' '+''+City_ValidCheck(obj['regionName']); 222 | var subtitle =flags.get(obj['countryCode'])+City_ValidCheck(obj['city'])+'📀'+Org_ValidCheck(obj['org'])+'🌍'+obj['continent']; 223 | var ip = obj['query']; 224 | var description = '服务商:'+ISP_ValidCheck(obj['isp']) +'\n'+'DNS:'+ obj['reverse'] +'\n'+'地区:' +City_ValidCheck(obj['regionName'])+obj['district']+'\n' +'洲际:'+obj['continent'] +'\n'+'IP:'+obj['query'] +'\n' +'托管:'+ obj['hosting']; 225 | $done({title, subtitle, ip, description}); 226 | -------------------------------------------------------------------------------- /Script/Diyidan.js: -------------------------------------------------------------------------------- 1 | /* 2 | 第一弹 去广告+原画 (By Miao Miao) 3 | 4 | Surge4: 5 | http-response ^https:\/\/api\.diyidan\.net\/v0\.3\/(user\/personal_homepage|vip_user\/info|tv_series\/index\?appChanne) requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/nzw9314/QuantumultX/master/Script/Diyidan.js 6 | 7 | QuantumultX(远程): 8 | ^https:\/\/api\.diyidan\.net\/v0\.3\/(user\/personal_homepage|vip_user\/info|tv_series\/index\?appChanne) url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/Script/Diyidan.js 9 | 10 | QuantumultX(本地): 11 | ^https:\/\/api\.diyidan\.net\/v0\.3\/(user\/personal_homepage|vip_user\/info|tv_series\/index\?appChanne) url script-response-body Diyidan.js 12 | 13 | */ 14 | 15 | let url = $request.url; 16 | const path1 = "user/personal_homepage"; 17 | const path2 = "vip_user/info"; 18 | const path3 = "tv_series/index?appChannel"; 19 | let obj = JSON.parse($response.body); 20 | 21 | if (url.indexOf(path1) != -1) { 22 | // 去广告 23 | delete obj["data"]["vipArticle"]; 24 | delete obj["data"]["bannerList"]; 25 | obj["data"]["iconList"] = obj["data"]["iconList"].filter(i => { 26 | return ![5, 25, 27].includes(i.functionId); 27 | }); 28 | } 29 | if (url.indexOf(path2) != -1) { 30 | obj["data"]["isMember"] = true; 31 | } 32 | if (url.indexOf(path3) != -1) { 33 | delete obj["data"]["advertisement"]; 34 | } 35 | 36 | $done({ 37 | body: JSON.stringify(obj) 38 | }); 39 | -------------------------------------------------------------------------------- /Script/HTJZ.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj={ 3 | "data": { 4 | "level": 2, 5 | "status": 1, 6 | "openTime": "2099-10-20", 7 | "startTime": "2099-10-20", 8 | "endTime": "2099-10-20", 9 | "shareToken": "" 10 | }, 11 | "code": 0, 12 | "msg": "返回成功" 13 | }; 14 | $done({body: JSON.stringify(obj)}); 15 | // 16 | -------------------------------------------------------------------------------- /Script/IPinfo.js: -------------------------------------------------------------------------------- 1 | /* 2 | var title =Area_check(obj['country'])+' '+' '+flags.get(obj['countryCode']); 3 | 4 | var subtitle ='🍎'+City_ValidCheck(obj['city'])+'-'+'('+ ISP_ValidCheck(obj['org'])+')'+'🌍'; 5 | 6 | */ 7 | 8 | if ($response.statusCode != 200) { 9 | $done(null); 10 | } 11 | 12 | const emojis= ['🆘','🈲','⚠️','🔞','📵','🚦','🏖','🖥','📺','🐧','🐬','🦉','🍄','⛳️','🚴','🤑','👽','🤖','🎃', '👺', '👁', '🐶', '🐼','🐌', '👥'] 13 | var city0 = " "; 14 | var isp0 = " "; 15 | function getRandomInt(max) { 16 | return Math.floor(Math.random() * Math.floor(max)); 17 | } 18 | 19 | /*function City_ValidCheck(para) { 20 | if(para) { 21 | return para 22 | } 23 | else 24 | { 25 | return city0 26 | } 27 | } 28 | */ 29 | function ISP_ValidCheck(para) { 30 | if (/[^a-zA-Z.]+$/.test(para)) 31 | { 32 | return para 33 | } 34 | else { 35 | const word = encodeURI(para) 36 | const enTocnUrl = {url: "http://translate.google.cn/translate_a/single?client=gtx&sl=auto&tl=zh-CN&dt=t&q="+word} 37 | $task.fetch(enTocnUrl).then(response => { 38 | if(/[a-zA-Z0-9]+/g.test(response.body)) { 39 | const rest = response.body.match(/[\u4e00-\u9fa5]+/g) 40 | if (rest == null){ 41 | // $notify(para) 42 | return para 43 | } 44 | else { 45 | para = rest 46 | // $notify(para) 47 | return para 48 | } 49 | } 50 | }) 51 | } 52 | } 53 | 54 | function Area_check(para) { 55 | if(para=="中华民国"){ 56 | return "台湾省" 57 | } 58 | else if(para=="台湾"){ 59 | return "台湾省" 60 | } 61 | else 62 | { 63 | return para 64 | } 65 | } 66 | function City_ValidCheck(regionName) { 67 | if(regionName=="Kowloon"){ 68 | return "九龙" 69 | } 70 | else if(regionName=="Central and Western District"){ 71 | return "中西部" 72 | } 73 | else if(regionName=="臺灣省 or 台灣省"){ 74 | return city0 75 | } 76 | else if(regionName=="Moscow"){ 77 | return "莫斯科" 78 | } 79 | else if(regionName=="新加坡"){ 80 | return city0 81 | } 82 | else if(regionName=="Tuen Mun"){ 83 | return "屯门" 84 | } 85 | else if(regionName=="Palo Alto"){ 86 | return "帕洛阿尔托" 87 | } 88 | else if(regionName=="Central"){ 89 | return "中心" 90 | } 91 | else 92 | { 93 | return regionName 94 | } 95 | } 96 | function Org_ValidCheck(para) { 97 | if (/[^a-zA-Z.]+$/.test(para)) 98 | { 99 | return para 100 | } 101 | else { 102 | const word = encodeURI(para) 103 | const enTocnUrl = {url: "http://translate.google.cn/translate_a/single?client=gtx&sl=auto&tl=zh-CN&dt=t&q="+word} 104 | $task.fetch(enTocnUrl).then(response => { 105 | if(/[a-zA-Z0-9]+/g.test(response.body)) { 106 | const rest = response.body.match(/[\u4e00-\u9fa5a-zA-Z]+/) 107 | if (rest == null){ 108 | // $notify(para) 109 | return para 110 | } 111 | else { 112 | para = rest 113 | // $notify(para) 114 | return para 115 | } 116 | } 117 | }) 118 | } 119 | } 120 | 121 | var flags = new Map([[ "AC" , "🇦🇨" ] , [ "AF" , "🇦🇫" ] , [ "AI" , "🇦🇮" ] , [ "AL" , "🇦🇱" ] , [ "AM" , "🇦🇲" ] , [ "AQ" , "🇦🇶" ] , [ "AR" , "🇦🇷" ] , [ "AS" , "🇦🇸" ] , [ "AT" , "🇦🇹" ] , [ "AU" , "🇦🇺" ] , [ "AW" , "🇦🇼" ] , [ "AX" , "🇦🇽" ] , [ "AZ" , "🇦🇿" ] , [ "BB" , "🇧🇧" ] , [ "BD" , "🇧🇩" ] , [ "BE" , "🇧🇪" ] , [ "BF" , "🇧🇫" ] , [ "BG" , "🇧🇬" ] , [ "BH" , "🇧🇭" ] , [ "BI" , "🇧🇮" ] , [ "BJ" , "🇧🇯" ] , [ "BM" , "🇧🇲" ] , [ "BN" , "🇧🇳" ] , [ "BO" , "🇧🇴" ] , [ "BR" , "🇧🇷" ] , [ "BS" , "🇧🇸" ] , [ "BT" , "🇧🇹" ] , [ "BV" , "🇧🇻" ] , [ "BW" , "🇧🇼" ] , [ "BY" , "🇧🇾" ] , [ "BZ" , "🇧🇿" ] , [ "CA" , "🇨🇦" ] , [ "CF" , "🇨🇫" ] , [ "CH" , "🇨🇭" ] , [ "CK" , "🇨🇰" ] , [ "CL" , "🇨🇱" ] , [ "CM" , "🇨🇲" ] , [ "CN" , "🇨🇳" ] , [ "CO" , "🇨🇴" ] , [ "CP" , "🇨🇵" ] , [ "CR" , "🇨🇷" ] , [ "CU" , "🇨🇺" ] , [ "CV" , "🇨🇻" ] , [ "CW" , "🇨🇼" ] , [ "CX" , "🇨🇽" ] , [ "CY" , "🇨🇾" ] , [ "CZ" , "🇨🇿" ] , [ "DE" , "🇩🇪" ] , [ "DG" , "🇩🇬" ] , [ "DJ" , "🇩🇯" ] , [ "DK" , "🇩🇰" ] , [ "DM" , "🇩🇲" ] , [ "DO" , "🇩🇴" ] , [ "DZ" , "🇩🇿" ] , [ "EA" , "🇪🇦" ] , [ "EC" , "🇪🇨" ] , [ "EE" , "🇪🇪" ] , [ "EG" , "🇪🇬" ] , [ "EH" , "🇪🇭" ] , [ "ER" , "🇪🇷" ] , [ "ES" , "🇪🇸" ] , [ "ET" , "🇪🇹" ] , [ "EU" , "🇪🇺" ] , [ "FI" , "🇫🇮" ] , [ "FJ" , "🇫🇯" ] , [ "FK" , "🇫🇰" ] , [ "FM" , "🇫🇲" ] , [ "FO" , "🇫🇴" ] , [ "FR" , "🇫🇷" ] , [ "GA" , "🇬🇦" ] , [ "GB" , "🇬🇧" ] , [ "HK" , "🇭🇰" ] , [ "ID" , "🇮🇩" ] , [ "IE" , "🇮🇪" ] , [ "IL" , "🇮🇱" ] , [ "IM" , "🇮🇲" ] , [ "IN" , "🇮🇳" ] , [ "IS" , "🇮🇸" ] , [ "IT" , "🇮🇹" ] , [ "JP" , "🇯🇵" ] , [ "KR" , "🇰🇷" ] , [ "MO" , "🇲🇴" ] , [ "MX" , "🇲🇽" ] , [ "MY" , "🇲🇾" ] , [ "NL" , "🇳🇱" ] , [ "PH" , "🇵🇭" ] , [ "RO" , "🇷🇴" ] , [ "RS" , "🇷🇸" ] , [ "RU" , "🇷🇺" ] , [ "RW" , "🇷🇼" ] , [ "SA" , "🇸🇦" ] , [ "SB" , "🇸🇧" ] , [ "SC" , "🇸🇨" ] , [ "SD" , "🇸🇩" ] , [ "SE" , "🇸🇪" ] , [ "SG" , "🇸🇬" ] , [ "TH" , "🇹🇭" ] , [ "TN" , "🇹🇳" ] , [ "TO" , "🇹🇴" ] , [ "TR" , "🇹🇷" ] , [ "TV" , "🇹🇻" ] , [ "TW" , "🇨🇳" ] , [ "UA" , "🇺🇦" ] , [ "UK" , "🇬🇧" ] , [ "UM" , "🇺🇲" ] , [ "US" , "🇺🇸" ] , [ "UY" , "🇺🇾" ] , [ "UZ" , "🇺🇿" ] , [ "VA" , "🇻🇦" ] , [ "VE" , "🇻🇪" ] , [ "VG" , "🇻🇬" ] , [ "VI" , "🇻🇮" ] , [ "VN" , "🇻🇳" ]]) 122 | var body = $response.body; 123 | var obj = JSON.parse(body); 124 | var title =Area_check(obj['country'])+' '+''+City_ValidCheck(obj['regionName']); 125 | var subtitle =flags.get(obj['countryCode'])+City_ValidCheck(obj['city'])+'📀'+Org_ValidCheck(obj['org'])+'🌍'+obj['continent']; 126 | var ip = obj['query']; 127 | var description = '服务商:'+obj['isp']+'\n'+'DNS:'+ obj['reverse'] +'\n'+'地区:' +City_ValidCheck(obj['regionName'])+obj['district']+'\n' +'洲际:'+obj['continent'] +'\n'+'IP:'+obj['query'] +'\n' +'托管:'+ obj['hosting']; 128 | $done({title, subtitle, ip, description}); -------------------------------------------------------------------------------- /Script/ITHome.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @supported 3 | */ 4 | 5 | function indexAD(obj) { 6 | // 去除 IT 之家首页滚动板块广告 7 | let del_num = []; 8 | for (item of obj) { 9 | if (item["isad"]) { 10 | del_num.unshift(obj.indexOf(item)); 11 | } 12 | } 13 | for (n of del_num) { 14 | obj.splice(n, 1); 15 | } 16 | return obj; 17 | } 18 | 19 | function newslistAD(obj) { 20 | // 去除 IT 之家新闻列表广告 21 | let data = obj["newslist"]; 22 | let del_num = []; 23 | for (item of data) { 24 | if ("aid" in item) { 25 | del_num.unshift(data.indexOf(item)); 26 | } 27 | } 28 | for (n of del_num) { 29 | data.splice(n, 1); 30 | } 31 | obj["newslist"] = data; 32 | return obj; 33 | } 34 | 35 | let obj = JSON.parse($response.body); 36 | if (obj["newslist"] == undefined) { 37 | $done({ body: JSON.stringify(indexAD(obj)) }); 38 | } else { 39 | $done({ body: JSON.stringify(newslistAD(obj)) }); 40 | } -------------------------------------------------------------------------------- /Script/JAV101.js: -------------------------------------------------------------------------------- 1 | /* Quantumult X 脚本: 啪啪啪研究所vip❤凉意 下载链接🔗推荐码:NDHJVB 2 | https://zhhml.cn?code=NDHJVB&channelCode=share 3 | 4 | [rewrite_local] 5 | #JAV101无限观看 6 | ^https\:\/\/pwaapi\.gao1gps\.cn\/v1\/user\/info url script-response-body JAV101.js 7 | [mitm] hostname = api.*.cn, 8 | 9 | */ 10 | 11 | if ($response.body != "") { 12 | let obj = JSON.parse($response.body); 13 | obj.response.expiry = 9576796302; 14 | obj.response.level = 2; 15 | $done({body: JSON.stringify(obj)}); 16 | } else { 17 | $done({body: $response.body}); 18 | } 19 | -------------------------------------------------------------------------------- /Script/JDcrazy.js: -------------------------------------------------------------------------------- 1 | /* 2 | 运行代码作者: 小赤佬ByQQ83802712 3 | 4 | 修改:elecV2 5 | 发布:https://t.me/elecV2 6 | 7 | 京东品牌狂欢城自动任务 JS 注入。 8 | 9 | [rewrite] 10 | ^https://h5.m.jd.com/babelDiy/Zeus/QzjyrF2MpMcB5yq9zwaNpwspZWx/index.html url script-response-body JDcrazy.js 11 | 12 | [mitm] 13 | h5.m.jd.com 14 | 15 | 设置完成后手动打开活动页面 https://h5.m.jd.com/babelDiy/Zeus/QzjyrF2MpMcB5yq9zwaNpwspZWx/index.html ,JS 会自动运行,完成任务。任务每天0点刷新,完成需要一定时间,如有未完成任务刷新一下。 16 | */ 17 | 18 | let body = $response.body; 19 | 20 | if (/<\/body>/.test($response.body)) { 21 | let tampermonkeyjs = `eval(function(p,a,c,k,e,r){e=function(c){return c.toString(36)};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'[fh-jlm]'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('eval(f(p,a,c,k,e,d){e=f(c){h(c35?i.fromCharCode(c+29):c.toString(36))};j(!\\'\\'.l(/^/,i)){m(c--)d[e(c)]=k[c]||e(c);k=[f(e){h d[e]}];e=f(){h\\'\\\\\\\\w+\\'};c=1};m(c--)j(k[c])p=p.l(new RegExp(\\'\\\\\\\\b\\'+e(c)+\\'\\\\\\\\b\\',\\'g\\'),k[c]);h p}(\\' e 9=4.3(\\\\\\'9\\\\\\');9.d="b/6";9.a="5://c.2/8/7.8";4.1.0(9);\\',62,15,\\'appendChild|body|com|createElement|document|https|javascript|jdppkhc|js|script|src|text|tyh52|type|var\\'.split(\\'|\\'),0,{}))',[],23,'|||||||||||||||function||return|String|if||replace|while'.split('|'),0,{}))` // 这段代码原作者: 小赤佬 22 | 23 | body = body.replace('', ``) 24 | 25 | console.log("京东狂欢城 自动任务JS注入完成") 26 | } 27 | 28 | $done({ body }) 29 | -------------------------------------------------------------------------------- /Script/LaunchCenterPro.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj = { 3 | "status": 0, 4 | "environment": "Production", 5 | "receipt": { 6 | "receipt_type": "Production", 7 | "adam_id": 532016360, 8 | "app_item_id": 532016360, 9 | "bundle_id": "com.appcubby.launchpro", 10 | "application_version": "419", 11 | "download_id": 36067532683136, 12 | "version_external_identifier": 834788001, 13 | "receipt_creation_date": "2020-03-23 08:44:59 Etc/GMT", 14 | "receipt_creation_date_ms": "1584953099000", 15 | "receipt_creation_date_pst": "2020-03-23 01:44:59 America/Los_Angeles", 16 | "request_date": "2020-03-23 08:53:05 Etc/GMT", 17 | "request_date_ms": "1584953585061", 18 | "request_date_pst": "2020-03-23 01:53:05 America/Los_Angeles", 19 | "original_purchase_date": "2020-03-23 07:25:19 Etc/GMT", 20 | "original_purchase_date_ms": "1584948319000", 21 | "original_purchase_date_pst": "2020-03-23 00:25:19 America/Los_Angeles", 22 | "original_application_version": "419", 23 | "in_app": [{ 24 | "quantity": "1", 25 | "product_id": "com.appcubby.launchpro.subscription.annual", 26 | "transaction_id": "160000705706982", 27 | "original_transaction_id": "160000705706982", 28 | "purchase_date": "2020-03-23 08:42:53 Etc/GMT", 29 | "purchase_date_ms": "1584952973000", 30 | "purchase_date_pst": "2020-03-23 01:42:53 America/Los_Angeles", 31 | "original_purchase_date": "2020-03-23 08:42:53 Etc/GMT", 32 | "original_purchase_date_ms": "1584952973000", 33 | "original_purchase_date_pst": "2020-03-23 01:42:53 America/Los_Angeles", 34 | "expires_date": "2099-03-30 08:42:53 Etc/GMT", 35 | "expires_date_ms": "4078544769000", 36 | "expires_date_pst": "2099-03-30 01:42:53 America/Los_Angeles", 37 | "web_order_line_item_id": "160000251874135", 38 | "is_trial_period": "true", 39 | "is_in_intro_offer_period": "false" 40 | }] 41 | }, 42 | "latest_receipt_info": [{ 43 | "quantity": "1", 44 | "product_id": "com.appcubby.launchpro.subscription.annual", 45 | "transaction_id": "160000705706982", 46 | "original_transaction_id": "160000705706982", 47 | "purchase_date": "2020-03-23 08:42:53 Etc/GMT", 48 | "purchase_date_ms": "1584952973000", 49 | "purchase_date_pst": "2020-03-23 01:42:53 America/Los_Angeles", 50 | "original_purchase_date": "2020-03-23 08:42:53 Etc/GMT", 51 | "original_purchase_date_ms": "1584952973000", 52 | "original_purchase_date_pst": "2020-03-23 01:42:53 America/Los_Angeles", 53 | "expires_date": "2099-03-30 08:42:53 Etc/GMT", 54 | "expires_date_ms": "4078544769000", 55 | "expires_date_pst": "2099-03-30 01:42:53 America/Los_Angeles", 56 | "web_order_line_item_id": "160000251874135", 57 | "is_trial_period": "true", 58 | "is_in_intro_offer_period": "false", 59 | "subscription_group_identifier": "20491497" 60 | }], 61 | "latest_receipt": "MIIUFgYJKoZIhvcNAQcCoIIUBzCCFAMCAQExCzAJBgUrDgMCGgUAMIIDtwYJKoZIhvcNAQcBoIIDqASCA6QxggOgMAoCARQCAQEEAgwAMAsCARkCAQEEAwIBAzAMAgELAgEBBAQCAlHJMAwCAQ4CAQEEBAICAL0wDQIBAwIBAQQFDAM0MTkwDQIBCgIBAQQFFgMxMiswDQIBDQIBAQQFAgMB/PwwDQIBEwIBAQQFDAM0MTkwDgIBAQIBAQQGAgQftezoMA4CAQkCAQEEBgIEUDI1MzAOAgEQAgEBBAYCBDHB2qEwEAIBDwIBAQQIAgYgzaB5N4AwFAIBAAIBAQQMDApQcm9kdWN0aW9uMBgCAQQCAQIEENuH1Dkwr6jT0n3LVOjPTv8wHAIBBQIBAQQUYS9x1MV87g7hz3rrydIziyusHDkwHgIBCAIBAQQWFhQyMDIwLTAzLTIzVDA4OjQ0OjU5WjAeAgEMAgEBBBYWFDIwMjAtMDMtMjNUMDg6NTM6MDVaMB4CARICAQEEFhYUMjAyMC0wMy0yM1QwNzoyNToxOVowIAIBAgIBAQQYDBZjb20uYXBwY3ViYnkubGF1bmNocHJvMDECAQcCAQEEKcnq4L/uG+UsjaVJdGLFg1uVxu7qUr8g/dRt3v5k9chz643tksvEcTa3MEwCAQYCAQEERD3MvRu0IpPol7nvNpQI3azaxPhDWKA90ryJ7NRx/qaopB0ocBwlLfc9IxcKjNOMrzirxpDTqDOMxFk+YCXt+l09wq/gMIIBmAIBEQIBAQSCAY4xggGKMAsCAgatAgEBBAIMADALAgIGsAIBAQQCFgAwCwICBrICAQEEAgwAMAsCAgazAgEBBAIMADALAgIGtAIBAQQCDAAwCwICBrUCAQEEAgwAMAsCAga2AgEBBAIMADAMAgIGpQIBAQQDAgEBMAwCAgarAgEBBAMCAQMwDAICBrECAQEEAwIBATAMAgIGtwIBAQQDAgEAMA8CAgauAgEBBAYCBFYJIGgwEgICBq8CAQEECQIHAJGE9i1LVzAaAgIGpwIBAQQRDA8xNjAwMDA3MDU3MDY5ODIwGgICBqkCAQEEEQwPMTYwMDAwNzA1NzA2OTgyMB8CAgaoAgEBBBYWFDIwMjAtMDMtMjNUMDg6NDI6NTNaMB8CAgaqAgEBBBYWFDIwMjAtMDMtMjNUMDg6NDI6NTNaMB8CAgasAgEBBBYWFDIwMjAtMDMtMzBUMDg6NDI6NTNaMDUCAgamAgEBBCwMKmNvbS5hcHBjdWJieS5sYXVuY2hwcm8uc3Vic2NyaXB0aW9uLmFubnVhbKCCDmUwggV8MIIEZKADAgECAggO61eH554JjTANBgkqhkiG9w0BAQUFADCBljELMAkGA1UEBhMCVVMxEzARBgNVBAoMCkFwcGxlIEluYy4xLDAqBgNVBAsMI0FwcGxlIFdvcmxkd2lkZSBEZXZlbG9wZXIgUmVsYXRpb25zMUQwQgYDVQQDDDtBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9ucyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNTExMTMwMjE1MDlaFw0yMzAyMDcyMTQ4NDdaMIGJMTcwNQYDVQQDDC5NYWMgQXBwIFN0b3JlIGFuZCBpVHVuZXMgU3RvcmUgUmVjZWlwdCBTaWduaW5nMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQClz4H9JaKBW9aH7SPaMxyO4iPApcQmyz3Gn+xKDVWG/6QC15fKOVRtfX+yVBidxCxScY5ke4LOibpJ1gjltIhxzz9bRi7GxB24A6lYogQ+IXjV27fQjhKNg0xbKmg3k8LyvR7E0qEMSlhSqxLj7d0fmBWQNS3CzBLKjUiB91h4VGvojDE2H0oGDEdU8zeQuLKSiX1fpIVK4cCc4Lqku4KXY/Qrk8H9Pm/KwfU8qY9SGsAlCnYO3v6Z/v/Ca/VbXqxzUUkIVonMQ5DMjoEC0KCXtlyxoWlph5AQaCYmObgdEHOwCl3Fc9DfdjvYLdmIHuPsB8/ijtDT+iZVge/iA0kjAgMBAAGjggHXMIIB0zA/BggrBgEFBQcBAQQzMDEwLwYIKwYBBQUHMAGGI2h0dHA6Ly9vY3NwLmFwcGxlLmNvbS9vY3NwMDMtd3dkcjA0MB0GA1UdDgQWBBSRpJz8xHa3n6CK9E31jzZd7SsEhTAMBgNVHRMBAf8EAjAAMB8GA1UdIwQYMBaAFIgnFwmpthhgi+zruvZHWcVSVKO3MIIBHgYDVR0gBIIBFTCCAREwggENBgoqhkiG92NkBQYBMIH+MIHDBggrBgEFBQcCAjCBtgyBs1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMDYGCCsGAQUFBwIBFipodHRwOi8vd3d3LmFwcGxlLmNvbS9jZXJ0aWZpY2F0ZWF1dGhvcml0eS8wDgYDVR0PAQH/BAQDAgeAMBAGCiqGSIb3Y2QGCwEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQANphvTLj3jWysHbkKWbNPojEMwgl/gXNGNvr0PvRr8JZLbjIXDgFnf4+LXLgUUrA3btrj+/DUufMutF2uOfx/kd7mxZ5W0E16mGYZ2+FogledjjA9z/Ojtxh+umfhlSFyg4Cg6wBA3LbmgBDkfc7nIBf3y3n8aKipuKwH8oCBc2et9J6Yz+PWY4L5E27FMZ/xuCk/J4gao0pfzp45rUaJahHVl0RYEYuPBX/UIqc9o2ZIAycGMs/iNAGS6WGDAfK+PdcppuVsq1h1obphC9UynNxmbzDscehlD86Ntv0hgBgw2kivs3hi1EdotI9CO/KBpnBcbnoB7OUdFMGEvxxOoMIIEIjCCAwqgAwIBAgIIAd68xDltoBAwDQYJKoZIhvcNAQEFBQAwYjELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkFwcGxlIEluYy4xJjAkBgNVBAsTHUFwcGxlIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRYwFAYDVQQDEw1BcHBsZSBSb290IENBMB4XDTEzMDIwNzIxNDg0N1oXDTIzMDIwNzIxNDg0N1owgZYxCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDKOFSmy1aqyCQ5SOmM7uxfuH8mkbw0U3rOfGOAYXdkXqUHI7Y5/lAtFVZYcC1+xG7BSoU+L/DehBqhV8mvexj/avoVEkkVCBmsqtsqMu2WY2hSFT2Miuy/axiV4AOsAX2XBWfODoWVN2rtCbauZ81RZJ/GXNG8V25nNYB2NqSHgW44j9grFU57Jdhav06DwY3Sk9UacbVgnJ0zTlX5ElgMhrgWDcHld0WNUEi6Ky3klIXh6MSdxmilsKP8Z35wugJZS3dCkTm59c3hTO/AO0iMpuUhXf1qarunFjVg0uat80YpyejDi+l5wGphZxWy8P3laLxiX27Pmd3vG2P+kmWrAgMBAAGjgaYwgaMwHQYDVR0OBBYEFIgnFwmpthhgi+zruvZHWcVSVKO3MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wLgYDVR0fBCcwJTAjoCGgH4YdaHR0cDovL2NybC5hcHBsZS5jb20vcm9vdC5jcmwwDgYDVR0PAQH/BAQDAgGGMBAGCiqGSIb3Y2QGAgEEAgUAMA0GCSqGSIb3DQEBBQUAA4IBAQBPz+9Zviz1smwvj+4ThzLoBTWobot9yWkMudkXvHcs1Gfi/ZptOllc34MBvbKuKmFysa/Nw0Uwj6ODDc4dR7Txk4qjdJukw5hyhzs+r0ULklS5MruQGFNrCk4QttkdUGwhgAqJTleMa1s8Pab93vcNIx0LSiaHP7qRkkykGRIZbVf1eliHe2iK5IaMSuviSRSqpd1VAKmuu0swruGgsbwpgOYJd+W+NKIByn/c4grmO7i77LpilfMFY0GCzQ87HUyVpNur+cmV6U/kTecmmYHpvPm0KdIBembhLoz2IYrF+Hjhga6/05Cdqa3zr/04GpZnMBxRpVzscYqCtGwPDBUfMIIEuzCCA6OgAwIBAgIBAjANBgkqhkiG9w0BAQUFADBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwHhcNMDYwNDI1MjE0MDM2WhcNMzUwMjA5MjE0MDM2WjBiMQswCQYDVQQGEwJVUzETMBEGA1UEChMKQXBwbGUgSW5jLjEmMCQGA1UECxMdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxFjAUBgNVBAMTDUFwcGxlIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkkakJH5HbHkdQ6wXtXnmELes2oldMVeyLGYne+Uts9QerIjAC6Bg++FAJ039BqJj50cpmnCRrEdCju+QbKsMflZ56DKRHi1vUFjczy8QPTc4UadHJGXL1XQ7Vf1+b8iUDulWPTV0N8WQ1IxVLFVkds5T39pyez1C6wVhQZ48ItCD3y6wsIG9wtj8BMIy3Q88PnT3zK0koGsj+zrW5DtleHNbLPbU6rfQPDgCSC7EhFi501TwN22IWq6NxkkdTVcGvL0Gz+PvjcM3mo0xFfh9Ma1CWQYnEdGILEINBhzOKgbEwWOxaBDKMaLOPHd5lc/9nXmW8Sdh2nzMUZaF3lMktAgMBAAGjggF6MIIBdjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUK9BpR5R2Cf70a40uQKb3R01/CF4wHwYDVR0jBBgwFoAUK9BpR5R2Cf70a40uQKb3R01/CF4wggERBgNVHSAEggEIMIIBBDCCAQAGCSqGSIb3Y2QFATCB8jAqBggrBgEFBQcCARYeaHR0cHM6Ly93d3cuYXBwbGUuY29tL2FwcGxlY2EvMIHDBggrBgEFBQcCAjCBthqBs1JlbGlhbmNlIG9uIHRoaXMgY2VydGlmaWNhdGUgYnkgYW55IHBhcnR5IGFzc3VtZXMgYWNjZXB0YW5jZSBvZiB0aGUgdGhlbiBhcHBsaWNhYmxlIHN0YW5kYXJkIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHVzZSwgY2VydGlmaWNhdGUgcG9saWN5IGFuZCBjZXJ0aWZpY2F0aW9uIHByYWN0aWNlIHN0YXRlbWVudHMuMA0GCSqGSIb3DQEBBQUAA4IBAQBcNplMLXi37Yyb3PN3m/J20ncwT8EfhYOFG5k9RzfyqZtAjizUsZAS2L70c5vu0mQPy3lPNNiiPvl4/2vIB+x9OYOLUyDTOMSxv5pPCmv/K/xZpwUJfBdAVhEedNO3iyM7R6PVbyTi69G3cN8PReEnyvFteO3ntRcXqNx+IjXKJdXZD9Zr1KIkIxH3oayPc4FgxhtbCS+SsvhESPBgOJ4V9T0mZyCKM2r3DYLP3uujL/lTaltkwGMzd/c6ByxW69oPIQ7aunMZT7XZNn/Bh1XZp5m5MkL72NVxnn6hUrcbvZNCJBIqxw8dtk2cXmPIS4AXUKqK1drk/NAJBzewdXUhMYIByzCCAccCAQEwgaMwgZYxCzAJBgNVBAYTAlVTMRMwEQYDVQQKDApBcHBsZSBJbmMuMSwwKgYDVQQLDCNBcHBsZSBXb3JsZHdpZGUgRGV2ZWxvcGVyIFJlbGF0aW9uczFEMEIGA1UEAww7QXBwbGUgV29ybGR3aWRlIERldmVsb3BlciBSZWxhdGlvbnMgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkCCA7rV4fnngmNMAkGBSsOAwIaBQAwDQYJKoZIhvcNAQEBBQAEggEABAu6h5RGFYyYqz4L+9JIeh4zkNDiwcNkybzbYJcPjuX1IJpc8RO5ecdmu2LGd027ZVJzvmxASHWKjb6my7sXJf5ldR0Z0F/Y+CHRjwec4Y9UCDZ8ZQxmp0XlU+EaVBPw6Hc6mizxDsBGWR1nNnhtpZxhCkQT8IlsLFZc/QgiLxuDvMVShy6SdOa7f3TkhA7yyHmGpNqbT3OKBNT9cZaoV+gPQMiWtuTMgyXe5SwP06xhYWFCin1ALMiK2mPmAQOWgFIv9pO2YYiNGyjvcI8dD0a/YpJY2qqP4q/NIJ8Ph6Qjo/xyySG/QTcijDKNHY7WK2//eyXodsG9jKBRVvk+cA==", 62 | "pending_renewal_info": [{ 63 | "auto_renew_product_id": "com.appcubby.launchpro.subscription.annual", 64 | "original_transaction_id": "160000705706982", 65 | "product_id": "com.appcubby.launchpro.subscription.annual", 66 | "auto_renew_status": "0" 67 | }] 68 | } 69 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/Pacdebug.js: -------------------------------------------------------------------------------- 1 | var PROXY_DIRECT="DIRECT"; 2 | var DIRECT="DIRECT"; 3 | var BLACK= "PROXY 127.0.0.1:80" 4 | var DEBUG="PROXY 127.0.0.1:8423"; 5 | var WHITE=PROXY_DIRECT; 6 | function s(u,r){return shExpMatch(u,r);}function d(h,r){return dnsDomainIs(h,r);}function n(h,r,m){return isInNet(h,r,m);}function e(u){var h;if(u.indexOf("://")>-1){h=u.split('/')[2];}else{h=u.split('/')[0];}h=h.split(':')[0];var s=h.split('.').reverse();return s;} 7 | function FindProxyForURL(url,host){var u=url.toLowerCase();var h=host.toLowerCase();var a=e(u); 8 | var b=a[0];var c=a[1];var f=c.length;var t=c[f-1];var z=c[f-2]; 9 | if(d(h,"ocsp.apple.com")){return BLACK;} 10 | //if(d(h,"ocsp.apple.com")){return BLACK;} 11 | return PROXY_DIRECT;} 12 | -------------------------------------------------------------------------------- /Script/Pdfexpert.vip.js: -------------------------------------------------------------------------------- 1 | var obj= { 2 | "originalTransactionId": "20000618444996", 3 | "subscriptionState": "trial", 4 | "isInGracePeriod": false, 5 | "subscriptionExpirationDate": "13:15 03/11/2099", 6 | "subscriptionAutoRenewStatus": "autoRenewOn", 7 | "isEligibleForIntroPeriod": false, 8 | "isPDFExpert6User": false, 9 | "subscriptionReceiptId": "1572178404000" 10 | }; 11 | 12 | $done({body: JSON.stringify(obj)}); 13 | 14 | // -------------------------------------------------------------------------------- /Script/SMZDM.js: -------------------------------------------------------------------------------- 1 | let body = JSON.parse($response.body); 2 | if (body.data.hasOwnProperty('banner')) { 3 | delete body.data.banner.big_banner; 4 | delete body.data.banner.tonglan_banner; 5 | delete body.data.banner.calendar_banner; 6 | } 7 | if (body.data.hasOwnProperty('big_banner')) { 8 | delete body.data.big_banner; 9 | } 10 | if (body.data.hasOwnProperty('notice')) { 11 | delete body.data.notice; 12 | } 13 | body.data.rows = body.data.rows.filter(function(item) { 14 | if (item.article_channel_id == -1 || item.model_type == "ads") { 15 | return false; 16 | } 17 | return true; 18 | }); 19 | $done({ 20 | body: JSON.stringify(body) 21 | }) 22 | -------------------------------------------------------------------------------- /Script/Smh.js: -------------------------------------------------------------------------------- 1 | /* 2 | ^https:\/\/m\.samh\.xndm\.tech\/userapi\/info\/v1\/getuserinfo url script-response-body Smh.js 3 | hostname=m.samh.xndm.tech 4 | */ 5 | 6 | 7 | 8 | 9 | var body = $response.body; 10 | var url = $request.url; 11 | var obj = JSON.parse(body); 12 | const ad = 'https://pangolin.snssdk.com/api/ad/union/sdk/get_ads/'; 13 | const vip = 'userapi/info/v1/getuserinfo'; 14 | 15 | 16 | if (url.indexOf(vip) != -1) { 17 | obj.data["viplevel"] = "3"; 18 | obj.data["diamondViptime"]="1775575867000" 19 | 20 | body = JSON.stringify(obj); 21 | } 22 | if ($request.url.indexOf(ad) != -1) { 23 | delete obj.data.message; 24 | } 25 | $done({body: JSON.stringify(obj)}); 26 | -------------------------------------------------------------------------------- /Script/VideoStar.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Quantumult X 脚本: 4 | VideoStar Unlock Annual Subscriptions (by LTribe) 5 | Download Link : https://url.cn/5fCOG9R 6 | 7 | [rewrite_local] 8 | # VideoStar Unlock annual subscriptions (by LTribe) 9 | ^https?:\/\/.*\.videostarapp\.com\/scripts\/subsNew\.php url script-response-body VideoStar.js 10 | 11 | [mitm] 12 | hostname = *.videostarapp.com, 13 | 14 | */ 15 | 16 | let obj = JSON.parse($response.body); 17 | obj.latest_receipt = [{ 18 | "quantity": "1", 19 | "product_id": "OneYearUnlockVS", 20 | "transaction_id": "230000563000000", 21 | "original_transaction_id": "230000563000000", 22 | "purchase_date": "2018-07-24 00:08:51 Etc/GMT", 23 | "purchase_date_ms": "1532390931000", 24 | "purchase_date_pst": "2018-07-23 17:08:51 America/Los_Angeles", 25 | "original_purchase_date": "2018-07-24 00:08:57 Etc/GMT", 26 | "original_purchase_date_ms": "1532390931000", 27 | "original_purchase_date_pst": "2018-07-23 17:08:57 America/Los_Angeles", 28 | "expires_date": "2060-07-24 00:08:51 Etc/GMT", 29 | "expires_date_ms": "2840141331000", 30 | "expires_date_pst": "2060-07-23 17:08:51 America/Los_Angeles", 31 | "web_order_line_item_id": "230000189000000", 32 | "is_trial_period": "false", 33 | "is_in_intro_offer_period": "false", 34 | "subscription_group_identifier": "20300000" 35 | }]; 36 | 37 | obj.in_app = [{ 38 | "quantity": "1", 39 | "product_id": "OneYearUnlockVS", 40 | "transaction_id": "230000563000000", 41 | "original_transaction_id": "230000563000000", 42 | "purchase_date": "2018-07-24 00:08:51 Etc/GMT", 43 | "purchase_date_ms": "1532390931000", 44 | "purchase_date_pst": "2018-07-23 17:08:51 America/Los_Angeles", 45 | "original_purchase_date": "2018-07-24 00:08:57 Etc/GMT", 46 | "original_purchase_date_ms": "1532390931000", 47 | "original_purchase_date_pst": "2018-07-23 17:08:57 America/Los_Angeles", 48 | "expires_date": "2020-07-24 00:08:51 Etc/GMT", 49 | "expires_date_ms": "230000563000000", 50 | "expires_date_pst": "2060-07-23 17:08:51 America/Los_Angeles", 51 | "web_order_line_item_id": "230000189000000", 52 | "is_trial_period": "false", 53 | "is_in_intro_offer_period": "false" 54 | }]; 55 | 56 | obj.activeSubs = { 57 | "OneYearUnlockVS": "4102445330000" 58 | } 59 | 60 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/Wanliyingshi.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | By LTribe 4 | Quantumult X 脚本:万里影视解锁VIP无限时长 5 | 6 | 万里影视App Store版 : http://t.cn/A6zB6tlH 7 | 备用下载地址:http://t.cn/A6zB6IIG 8 | 9 | [rewrite_local] 10 | # 解锁万里影视VIP无限时长 (by LTribe) 11 | ^http?:\/\/.*\.arten.cn/login/login url script-response-body Wanliyingshi.js 12 | 13 | [mitm] 14 | hostname = *.arten.cn, 15 | 16 | */ 17 | 18 | let obj = JSON.parse($response.body); 19 | obj.msg.time = 4102464235; 20 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/XMind.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | 3 | obj = { 4 | "raw_data": "DBcBHgojrvPgruIJMfb4KK/76CmjxSHSp9KipRwOnQUuf+Gt2FncFUzNvxZydUeXEzDZt/XWEm91lHFYrvT0f2AFap2L4psLI/34sKU9VLGH7kFsBYlexU/nifBtosMJqQxL4TU1pjvjl+1uyWsFAeGR42aEnVhQWgvJB5Ovcd0=", 5 | "license": { 6 | "status": "sub", 7 | "expireTime": 3070928235000 8 | }, 9 | "_code": 200 10 | } 11 | 12 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/YYeTs.js: -------------------------------------------------------------------------------- 1 | let body = $response.body; 2 | body = JSON.parse(body); 3 | if (-1 != $request.url.indexOf('init')) { 4 | body['adSwitch'] = []; 5 | body['adUpdateTime'] += 86400*365; 6 | // 关闭弹幕功能 7 | // body['barrageIp'] = ""; 8 | } 9 | if (-1 != $request.url.indexOf('ads')) { 10 | // 留下影片推荐,防止轮播位置空白 11 | body['ads'] = body['ads'].filter( 12 | function (item) { 13 | if (6 != item.adType) { 14 | return false; 15 | } 16 | if (-1 == item.click.indexOf('yyets://')) { 17 | return false; 18 | } 19 | return true; 20 | }); 21 | } 22 | body = JSON.stringify(body); 23 | $done({body}); 24 | /** 25 | * MITM: ctrl.playcvn.com 26 | * 人人影视字幕组(https://itunes.apple.com/cn/app/%E4%BA%BA%E4%BA%BA%E5%BD%B1%E8%A7%86%E5%AD%97%E5%B9%95%E7%BB%84/id1052761459) 27 | * 应用有广告缓存,可能需要重装 28 | * http-response http://ctrl.playcvn.com/app/(init|ads) requires-body=true,script-path=YYeTs.js 29 | */ 30 | -------------------------------------------------------------------------------- /Script/YouTube.js: -------------------------------------------------------------------------------- 1 | /* 2 | [Script] 3 | ^https://[\s\S]*\.googlevideo\.com/.*&(oad|ctier) url script-response-body https://raw.githubusercontent.com/LvGuChuJiu/QuantumultXScripts/master/YouTube 4 | [MITM] 5 | hostname = *.googlevideo.com 6 | */ 7 | 8 | var data = { 9 | body: "{}", 10 | headers: { 11 | "Content-Type": "multipart/byteranges" 12 | } 13 | }; 14 | $done({response: data}); 15 | -------------------------------------------------------------------------------- /Script/ZhiHu_All.js: -------------------------------------------------------------------------------- 1 | /* by Huson 2 | QX: 3 | ^https:\/\/api\.zhihu\.com\/answers\/.*\/comments\/featured-comment url reject-img 4 | ^https:\/\/api\.zhihu\.com\/appview\/api\/v4\/answers\/.*\/recommendations url reject-img 5 | ^https:\/\/api\.zhihu\.com\/(moments\?(action|feed_type)|topstory\/recommend|v\d\/questions|market\/header|people\/) url script-response-body https://raw.githubusercontent.com/0x01-0xff/ProxyConf/master/js/ZhiHu_All.js 6 | [MITM] 7 | hostname = api.zhihu.com 8 | */ 9 | 10 | let body = $response.body; 11 | let url = $request.url; 12 | body = JSON.parse(body); 13 | 14 | if (url.indexOf('moments') != -1 || url.indexOf('recommend') != -1) { 15 | // feed recommend 16 | body['data'].forEach((element, index)=> { 17 | if (element.hasOwnProperty('ad') || element['card_type'] == 'slot_event_card') { 18 | body['data'].splice(index,1); 19 | } 20 | }); 21 | } 22 | 23 | if (url.indexOf('questions') != -1) { 24 | // answer 25 | delete body['ad_info']; 26 | body['data'].forEach((element, index)=> { 27 | if (element['author']['name'] == "盐选推荐") { 28 | body['data'].splice(index,1); 29 | } 30 | }); 31 | } 32 | if (url.indexOf('people') != -1) { 33 | // people 34 | delete body['mcn_user_info']; 35 | } 36 | 37 | if (url.indexOf('market') != -1) { 38 | // market 39 | body['sub_webs'].splice(0,1); 40 | body['sub_webs'].splice(1,1); 41 | } 42 | 43 | body = JSON.stringify(body); 44 | $done({body}); -------------------------------------------------------------------------------- /Script/abaenglish.vip.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj={ 3 | "request_date": "2020-01-04T13:45:50Z", 4 | "request_date_ms": 1578145550873, 5 | "subscriber": { 6 | "entitlements": {}, 7 | "first_seen": "2020-01-03T15:21:58Z", 8 | "non_subscriptions": {}, 9 | "original_app_user_id": "22683069", 10 | "original_application_version": "475", 11 | "original_purchase_date": "2019-11-10T14:07:55Z", 12 | "other_purchases": {}, 13 | "subscriptions": { 14 | "12m_freetrial_2018": { 15 | "billing_issues_detected_at": null, 16 | "expires_date": "2120-01-10T15:35:13Z", 17 | "is_sandbox": false, 18 | "original_purchase_date": "2020-01-03T15:35:13Z", 19 | "period_type": "trial", 20 | "purchase_date": "2020-01-03T15:35:13Z", 21 | "store": "app_store", 22 | "unsubscribe_detected_at": null 23 | } 24 | } 25 | } 26 | }; 27 | 28 | $done({body: JSON.stringify(obj)}); 29 | 30 | // Descriptions 31 | -------------------------------------------------------------------------------- /Script/aimeiju.js: -------------------------------------------------------------------------------- 1 | /* 2 | 爱美剧 unlock vip(官网:xmj.app) 3 | 4 | QX : 5 | ^https?:\/\/mjapp.anlujia.com\/index\.php\/app\/ios\/(vod\/show|(user|vod|topic|type)\/index) url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/Script/aimeiju.js 6 | 7 | Surge4: 8 | http-response ^https?:\/\/mjapp.anlujia.com\/index\.php\/app\/ios\/(vod\/show|(user|vod|topic|type)\/index) requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/NobyDa/Script/master/QuantumultX/File/aimeiju.js 9 | 10 | hostname = mjapp.anlujia.com 11 | 12 | #启动广告/弹窗 13 | ^https?://mjapp.anlujia.com/index.php/app/ios/ads/index url reject-dict 14 | ^https?://mjapp.anlujia.com/index.php/app/ios/ver/index_ios$ url reject 15 | ^https?://mjapp.anlujia.com/index.php/app/ios/pay/ok$ url reject-dict 16 | */ 17 | var body = $response.body; 18 | var url = $request.url; 19 | const user = "/index.php/app/ios/user/index"; //用户信息 20 | const show = "/index.php/app/ios/vod/show"; //视频播放页面 21 | const banner = "/index.php/app/ios/vod/index";//首页轮播广告 22 | const topic = "/index.php/app/ios/topic/index";//豆瓣热榜中间广告 23 | const type = "/index.php/app/ios/type/index"//综合专区,美剧专区中间广告 24 | 25 | if (url.indexOf(user) != -1){ 26 | let obj = JSON.parse(body); 27 | obj.data.user.viptime = "2088-08-08 08:08:08"; 28 | obj.data.user.cion = "88888"; 29 | obj.data.user.vip = "1"; 30 | body = JSON.stringify(obj); 31 | } 32 | 33 | if (url.indexOf(show) != -1) { 34 | let obj = JSON.parse(body); 35 | obj.data.looktime = -1; 36 | obj.data.vip = "4"; 37 | //obj.data.advertising = {}; 38 | delete obj.data.advertising;//视频下方轮播,删掉也不能清除广告占位 39 | obj.data.CT_App_Show_Pic1 = "";//联系客服图片 40 | obj.data.CT_App_Show_Url1 = "";//联系客服链接 41 | obj.data.CT_App_Show_Vod1 = "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1519044039,3175177225&fm=26&gp=0.jpg";//片头广告,留空的话不会自动播放 42 | obj.data.CT_App_Show_Vod_Time1 = "0";//片头广告显示时间(0秒也短暂显示) 43 | obj.data.CT_App_Show_Vod_Url1 = "";//片头广告链接 44 | obj.data.CT_App_Show_Vod_Type1 = "2";//片头广告显示类型,0一直显示,1暂停播放显示,2显示后自动播放 45 | obj.data.CT_App_Show_Vod_must_Time1 = "0";//片头联系客服图片显示时间,前面改VIP这里自动变0 46 | obj.data.CT_Pic_url1_pause = "";//暂停播放联系客服图片 47 | obj.data.CT_Pic_url1_pause_skip = "";//暂停播放联系客服链接 48 | body = JSON.stringify(obj); 49 | } 50 | 51 | if (url.indexOf(banner) != -1) { 52 | let obj = JSON.parse(body); 53 | let data = obj.data 54 | for (var i = data.length - 1 ; i >= 0 ; i--) { 55 | if (data[i].ad == 1) { 56 | data.splice(i, 1) 57 | } 58 | } 59 | body = JSON.stringify(obj); 60 | } 61 | 62 | if (url.indexOf(topic) != -1||url.indexOf(type) != -1) { 63 | let obj = JSON.parse(body); 64 | let data = obj.data 65 | for (var i = data.length - 1 ; i >= 0 ; i--) { 66 | if (data[i].ad == 1) { 67 | data[i].ad = 0; 68 | data[i].pic = ""; 69 | delete data[i].url 70 | } 71 | } 72 | body = JSON.stringify(obj); 73 | } 74 | $done({body}); 75 | -------------------------------------------------------------------------------- /Script/altstore.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | obj ={ 3 | "data": { 4 | "attributes": { 5 | "first_name": "barry", 6 | "full_name": "barry chen" 7 | }, 8 | "id": "30618536", 9 | "relationships": { 10 | "memberships": { 11 | "data": [{ 12 | "id": "e3a5c718-d930-4b92-a8b9-677f4699c9a4", 13 | "type": "tier" 14 | }] 15 | } 16 | }, 17 | "type": "member" 18 | }, 19 | "included": [{ 20 | "attributes": { 21 | "full_name": "barry chen", 22 | "patron_status": "active_patron" 23 | }, 24 | "id": "e3a5c718-d930-4b92-a8b9-677f4699c9a4", 25 | "type": "member" 26 | }], 27 | "links": { 28 | "self":"https://www.patreon.com/api/oauth2/v2/user/30618536" 29 | } 30 | } 31 | 32 | -------------------------------------------------------------------------------- /Script/amjvip.js: -------------------------------------------------------------------------------- 1 | /* ^https?:\/\/mjapp\.whetyy\.com\/index\.php\/app\/\w+\/(user|vod)\/ url script-response-body amjvip.js 2 | */ 3 | var body = $response.body; 4 | var url = $request.url; 5 | const path1 = "/index.php/app/ios/user/index"; 6 | const path2 = "/index.php/app/ios/vod/show"; 7 | 8 | if (url.indexOf(path1) != -1){ 9 | let obj = JSON.parse(body); 10 | obj.data.user["viptime"] = "2066-01-01 08:00:00"; 11 | obj.data.user["cion"] = "66666"; 12 | obj.data.user.name = "123456789" 13 | obj.data.user["vip"] = "1"; 14 | body = JSON.stringify(obj); 15 | } 16 | 17 | if (url.indexOf(path2) != -1){ 18 | let obj = JSON.parse(body); 19 | obj.data["looktime"] = -1; 20 | obj.data["vip"] = "4"; 21 | obj.data.user.name = "123456789"; 22 | body = JSON.stringify(obj); 23 | } 24 | 25 | $done({body}); 26 | -------------------------------------------------------------------------------- /Script/bilibili.unblock.playurl.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | # bilibili 4 | 5 | > 代码已同时兼容 Surge & QuanX, 使用同一份签到脚本即可 6 | 7 | > https://github.com/chavyleung/scripts 8 | 9 | ## 配置 (QuanX) 10 | ```properties 11 | [mitm] 12 | hostname = api.bilibili.com 13 | [rewrite_local] 14 | ^https:\/\/api.bilibili.com\/pgc\/player\/api\/playurl url script-response-body bilibili.unblock.playurl.min.js 15 | ^https:\/\/api.bilibili.com\/pgc\/view\/app\/season url script-response-body bilibili.unblock.season.min.js 16 | ``` 17 | 18 | ## 配置 (Surge) 19 | ```properties 20 | [MITM] 21 | hostname = api.bilibili.com 22 | [Script] 23 | http-response https://api.bilibili.com/pgc/player/api/playurl requires-body=1,max-size=0,script-path=bilibili.unblock.playurl.min.js 24 | http-response https://api.bilibili.com/pgc/view/app/season requires-body=1,max-size=0,script-path=bilibili.unblock.season.min.js 25 | 26 | ## 感谢 27 | 28 | [@onewayticket255](https://github.com/onewayticket255) 29 | ``` 30 | */ 31 | function init(){return isSurge=(()=>void 0!==this.$httpClient),isQuanX=(()=>void 0!==this.$task),isJSON=(e=>"object"==typeof JSON.parse(e)),getdata=(e=>isSurge()?$persistentStore.read(e):isQuanX()?$prefs.valueForKey(e):void 0),setdata=((e,t)=>isSurge()?$persistentStore.write(e,t):isQuanX()?$prefs.setValueForKey(e,t):void 0),msg=((e,t,i)=>{isSurge()&&$notification.post(e,t,i),isQuanX()&&$notify(e,t,i)}),log=(e=>console.log(e)),get=((e,t)=>{isSurge()&&$httpClient.get(e,t),isQuanX()&&(e.method="GET",$task.fetch(e).then(e=>t(null,{},e.body)))}),post=((e,t)=>{isSurge()&&$httpClient.post(e,t),isQuanX()&&(e.method="POST",$task.fetch(e).then(e=>t(null,{},e.body)))}),done=((e={})=>{$done(e)}),{isSurge:isSurge,isQuanX:isQuanX,isJSON:isJSON,msg:msg,log:log,getdata:getdata,setdata:setdata,get:get,post:post,done:done}}const chavy=init(),querystr=$request.url.split("?")[1],queryparams={};if(querystr)for(queryparam of querystr.split("&"))queryparams[queryparam.split("=")[0]]=queryparam.split("=")[1];const cid=queryparams.cid?queryparams.cid:"",ep_id=queryparams.ep_id?queryparams.ep_id:"",url=`https://bilibili.mlyx.workers.dev/?cid=${cid}&ep_id=${ep_id}`;chavy.get({url:url},(e,t,i)=>{try{let e=JSON.parse(i);0==e.code?(chavy.msg("bilibili","\u64ad\u653e\u65b9\u5f0f: \u5927\u4f1a\u5458","\u8bf4\u660e: \u83b7\u53d6\u8fde\u63a5\u4fe1\u606f"),chavy.done({body:i})):(chavy.msg("bilibili","\u64ad\u653e\u65b9\u5f0f: \u666e\u901a\u4f1a\u5458","\u8bf4\u660e: \u83b7\u53d6\u8fde\u63a5\u4fe1\u606f"),chavy.done())}catch(e){chavy.done()}}); -------------------------------------------------------------------------------- /Script/bilibili.unblock.season.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | 3 | # bilibili 4 | 5 | > 代码已同时兼容 Surge & QuanX, 使用同一份签到脚本即可 6 | 7 | > https://github.com/chavyleung/scripts 8 | 9 | ## 配置 (QuanX) 10 | ```properties 11 | [mitm] 12 | hostname = api.bilibili.com 13 | [rewrite_local] 14 | ^https:\/\/api.bilibili.com\/pgc\/player\/api\/playurl url script-response-body bilibili.unblock.playurl.min.js 15 | ^https:\/\/api.bilibili.com\/pgc\/view\/app\/season url script-response-body bilibili.unblock.season.min.js 16 | ``` 17 | 18 | ## 配置 (Surge) 19 | ```properties 20 | [MITM] 21 | hostname = api.bilibili.com 22 | [Script] 23 | http-response https://api.bilibili.com/pgc/player/api/playurl requires-body=1,max-size=0,script-path=bilibili.unblock.playurl.min.js 24 | http-response https://api.bilibili.com/pgc/view/app/season requires-body=1,max-size=0,script-path=bilibili.unblock.season.min.js 25 | 26 | ## 感谢 27 | 28 | [@onewayticket255](https://github.com/onewayticket255) 29 | ``` 30 | */ 31 | function init(){return isSurge=(()=>void 0!==this.$httpClient),isQuanX=(()=>void 0!==this.$task),isJSON=(e=>"object"==typeof JSON.parse(e)),getdata=(e=>isSurge()?$persistentStore.read(e):isQuanX()?$prefs.valueForKey(e):void 0),setdata=((e,s)=>isSurge()?$persistentStore.write(e,s):isQuanX()?$prefs.setValueForKey(e,s):void 0),msg=((e,s,t)=>{isSurge()&&$notification.post(e,s,t),isQuanX()&&$notify(e,s,t)}),log=(e=>console.log(e)),get=((e,s)=>{isSurge()&&$httpClient.get(e,s),isQuanX()&&(e.method="GET",$task.fetch(e).then(e=>s(null,{},e.body)))}),post=((e,s)=>{isSurge()&&$httpClient.post(e,s),isQuanX()&&(e.method="POST",$task.fetch(e).then(e=>s(null,{},e.body)))}),done=((e={})=>{$done(e)}),{isSurge:isSurge,isQuanX:isQuanX,isJSON:isJSON,msg:msg,log:log,getdata:getdata,setdata:setdata,get:get,post:post,done:done}}const chavy=init(),querystr=$request.url.split("?")[1],queryparams={};if(querystr)for(queryparam of querystr.split("&"))queryparams[queryparam.split("=")[0]]=queryparam.split("=")[1];const season_id=queryparams.season_id?queryparams.season_id:"",ep_id=queryparams.ep_id?queryparams.ep_id:"";let url="https://bilibili.mlyx.workers.dev/?season_id=";season_id?url+=season_id:ep_id?url+=JSON.parse($response.body).result.season_id:chavy.done(),chavy.get({url:url},(e,s,t)=>{try{let e=JSON.parse(t);0==e.code?(chavy.msg("bilibili","\u64ad\u653e\u65b9\u5f0f: \u5927\u4f1a\u5458","\u8bf4\u660e: \u83b7\u53d6\u756a\u5267\u4fe1\u606f"),chavy.done({body:t})):(chavy.msg("bilibili","\u64ad\u653e\u65b9\u5f0f: \u666e\u901a\u4f1a\u5458","\u8bf4\u660e: \u83b7\u53d6\u756a\u5267\u4fe1\u606f"),chavy.done())}catch(e){chavy.done()}}); -------------------------------------------------------------------------------- /Script/bilibili_space_qx.js: -------------------------------------------------------------------------------- 1 | /* 2 | [rewrite_local] 3 | ^https:\/\/app\.bilibili\.com\/x\/v2\/space\?access_key url script-response-body bilibili_space_qx.js 4 | [mitm] 5 | hostname = app.bilibili.com 6 | */ 7 | 8 | let url = $request.url 9 | let regex = /vmid=(\d*)/ 10 | let vmid= regex.exec(url) 11 | let mid = vmid[1] 12 | let api = `https://space.bilibili.com/ajax/member/getSubmitVideos?mid=${mid}&pagesize=10&order=stow` 13 | var Url = { 14 | url: api, 15 | method: "GET" 16 | }; 17 | 18 | $task.fetch(Url).then(response => { 19 | body=JSON.parse(response.body) 20 | let info="" 21 | body['data']['vlist'].forEach((element, index)=> { 22 | index++ 23 | let scheme=`bilibili://av/${element['aid']}` 24 | info+=index+": "+element['title']+"\n"+scheme+"\n" 25 | }) 26 | $notify('收藏排行前10','长按进入', info); 27 | $done({}); 28 | }, reason => { 29 | $notify("收藏排行获取失败", "", reason.error); 30 | $done({}); 31 | }); -------------------------------------------------------------------------------- /Script/blockBikaUpdate.js: -------------------------------------------------------------------------------- 1 | // ^https:\/\/api\.wakamoment\.ga\/init\?platform\=ios url script-request-header xxx.js 2 | 3 | 4 | let obj = JSON.parse($response.body); 5 | 6 | obj.data.latestApplication["version"] = "2.1.2.1"; 7 | obj.data["version"] = "2.1.2.1"; 8 | 9 | $done({ 10 | body: JSON.stringify(obj) 11 | }); 12 | 13 | "data":{ 14 | "latestApplication" : { 15 | "version" : "2.1.2.2" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Script/china_unicom.js: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | ^https?://m.client.10010.com/uniAdmsInterface/getHomePageAd url script-response-body china_unicom.js 4 | 5 | hostname=m.client.10010.com 6 | */ 7 | 8 | const url = $request.url 9 | var body = $response.body 10 | const path1 = "/uniAdmsInterface/getHomePageAd" 11 | if (url.indexOf(path1) != -1) { 12 | let obj = JSON.parse(body); 13 | if (obj.diffNetCard_A7) obj.diffNetCard_A7 = []; 14 | obj.homeAdv_A5.advCntList = []; 15 | body = JSON.stringify(obj); 16 | $done({ body }); 17 | } 18 | 19 | -------------------------------------------------------------------------------- /Script/clarity.js: -------------------------------------------------------------------------------- 1 | /* 2 | 克拉壁纸解锁付费壁纸 3 | 4 | Surge4: 5 | http-response ^https:\/\/claritywallpaper\.com\/clarity\/api\/(userInfo|special\/queryByCatalogAll) requires-body=1,max-size=262144,script-path=resources/js/clarity.js 6 | QX: 7 | ^https:\/\/claritywallpaper\.com\/clarity\/api\/(userInfo|special\/queryByCatalogAll) url script-response-body clarity.js 8 | 9 | Surge & QX MITM = claritywallpaper.com 10 | */ 11 | var body = $response.body; 12 | var url = $request.url; 13 | var obj = JSON.parse(body); 14 | 15 | const userinfo = '/userInfo'; 16 | 17 | const setfree = '/special/queryByCatalogAll'; 18 | 19 | if (url.indexOf(setfree) != -1) { 20 | for (var i = 0; i < obj.data.length; i++) { 21 | obj.data[i].isFree = true; 22 | } 23 | body = JSON.stringify(obj); 24 | } 25 | 26 | if (url.indexOf(userinfo) != -1) { 27 | obj.data.level = 5; 28 | obj.data.expireTime = 4070965662; 29 | body = JSON.stringify(obj); 30 | } 31 | 32 | $done({body}); -------------------------------------------------------------------------------- /Script/cpdq.js: -------------------------------------------------------------------------------- 1 | /* 2 | 菜谱大全 unlock vip 3 | 4 | #菜谱大全解锁vip 5 | https?:\/\/api\.jiaonizuocai\.com url script-response-body cpdq.js 6 | 7 | 8 | MITM = api.jiaonizuocai.com 9 | */ 10 | 11 | var body = $response.body; 12 | var url = $request.url; 13 | var obj = JSON.parse(body); 14 | 15 | const vip = '/v4/User/getUserData'; 16 | const dish = '/v4/dish/info'; 17 | const sb = '/v4/User/getDeviceInfo'; 18 | const bd = '/v4/User/bindVipCus'; 19 | 20 | if (url.indexOf(vip) != -1) { 21 | obj["data"]["data"]["vip"]["is_open_vip"] = "1"; 22 | obj["data"]["data"]["vip"]["is_vip"] = "2"; 23 | body = JSON.stringify(obj); 24 | } 25 | 26 | if (url.indexOf(dish) != -1) { 27 | obj["data"]["power"]["detail"]["video"]["common"]["isShow"] = "0"; 28 | body = JSON.stringify(obj); 29 | } 30 | 31 | if (url.indexOf(sb) != -1) { 32 | obj["data"]["is_vip"] = "2"; 33 | body = JSON.stringify(obj); 34 | } 35 | 36 | if (url.indexOf(bd) != -1) { 37 | obj["data"]["state"] = "2"; 38 | body = JSON.stringify(obj); 39 | } 40 | 41 | $done({body}); -------------------------------------------------------------------------------- /Script/cyxy.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj={ 3 | "point": {}, 4 | "user": { 5 | "status": "", 6 | "point": 168168, 7 | "audio_used_time": 0, 8 | "mvp_count": 477, 9 | "continuous_reading_count": 1, 10 | "updated_at": 1572729413, 11 | "doc_trans_block": false, 12 | "id": "5adb1b2ea4387f000be7ccb3", 13 | "be_liked_count": 0, 14 | "daily_comment_count": 0, 15 | "reading_page_count": 447, 16 | "type": "registered", 17 | "email": "", 18 | "username": "***8888", 19 | "daily_share_count": 0, 20 | "translation_count": 553, 21 | "biz": { 22 | "xy_vip_expire": 1999999999572020700, 23 | "platform_name": "caiyun", 24 | "phone_num": "15735012326", 25 | "name": "***2326", 26 | "grade": "积雨云", 27 | "is_xy_vip": true, 28 | "last_acted_at": 1569311538.545543, 29 | "platform_id": "", 30 | "score": 2000, 31 | "avatar": "https://images.unsplash.com/photo-1570328738505-305ad03ccc9f?ixlib=rb-1.2.1&q=85&fm=jpg&crop=entropy&cs=srgb&dl=lee-luis-CpPbh112yk0-unsplash.jpg", 32 | "_id": "5adb1b2ea4387f000be7ccb3", 33 | "is_xy_auto_renewal": false 34 | }, 35 | "audio_remaining_time": null, 36 | "daily_sentence_count": 0, 37 | "created_at": 1524308783, 38 | "free_download_count": 6, 39 | "avatar_url": "https://caiyunapp.com/imgs/webtrs/default.png", 40 | "reading_time_this_week": 45701, 41 | "_id": "5adb1b2ea4387f000be7ccb3" 42 | }, 43 | "rc": 0 44 | }; 45 | $done({body: JSON.stringify(obj)}); 46 | // 47 | 48 | -------------------------------------------------------------------------------- /Script/dayone-pre.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | 本脚本是 dayone.js 的附属脚本,需与主脚本配合使用。具体使用方式请查看主脚本说明 4 | Surge 5 | http-request ^https:\/\/dayone\.me\/api\/users$ debug=1,script-path=scripts/dayone-pre.js 6 | 7 | QX 8 | ^https:\/\/dayone\.me\/api\/users$ url script-response-body dayone-pre.js 9 | MitM = dayone.me 10 | 11 | */ 12 | 13 | 14 | const headers = $request.headers 15 | delete headers["If-None-Match"] 16 | $done({headers}) 17 | -------------------------------------------------------------------------------- /Script/dayone.js: -------------------------------------------------------------------------------- 1 | /* 2 | Day One Premium 3 | 4 | Day One 脚本由本脚本与 dayone-pre.js (以下称 pre 脚本)两部分组成,主脚本用于修改响应内容、pre 脚本用于屏蔽缓存 5 | 6 | 用法说明: 7 | 1. 启用本脚本与 pre 脚本 8 | 2. 重启 Day One,稍等片刻等待高级版出现 9 | 3. 禁用掉 pre 脚本,重启 Day One,确认高级版状况不变 10 | 11 | 如果后续误操作导致 Day One 恢复为 Free/Plus 则重复上述操作。 12 | 13 | Surge 14 | http-response ^https:\/\/dayone\.me\/api\/(users|v2\/users\/account-status)$ requires-body=1,max-size=0,script-path=scripts/dayone.js 15 | #QX(response.status)后➕Code 16 | ^https:\/\/dayone\.me\/api\/(users|v2\/users\/account-status)$ url script-response-body dayone.js 17 | 18 | MitM = dayone.me 19 | 20 | 本脚本由 @ImSingee 与 @Mornwind 共同完成,请勿在公开群组、频道或是论坛、博客发布 21 | */ 22 | 23 | if ($response.statusCode == 200) { 24 | if ($request.url.endsWith("account-status")) { 25 | 26 | $done({body: JSON.stringify({ 27 | "expirationDate": 1893427199000, 28 | "startDate": 1546272000000, 29 | "subscriptionPlan": "com.bloombuilt.dayoneios.subscription.premium.yearly_discounted_trial", 30 | "lastRenewalDate": 1546531200000, 31 | "subscriptionName": "premium", 32 | "bundleReason": "purchase", 33 | "cancellationDate": 0 34 | } )}); 35 | 36 | } else { 37 | const bodyJson = JSON.parse($response.body); 38 | 39 | bodyJson.featureBundle = {"bundleName":"premium","features":[{"name":"imagesPerEntry","limit":30,"canUpgrade":false},{"name":"printingDiscount","canUpgrade":false},{"name":"syncMac","canUpgrade":false},{"name":"prioritySupport","canUpgrade":false},{"name":"sync","canUpgrade":false},{"name":"journalLimit","limit":100,"canUpgrade":false},{"name":"audioPerEntry","limit":10,"canUpgrade":false}]}; 40 | 41 | $done({body: JSON.stringify(bodyJson)}); 42 | } 43 | } else { 44 | $done({}); 45 | } 46 | -------------------------------------------------------------------------------- /Script/fantastical.js: -------------------------------------------------------------------------------- 1 | /* 2 | ^https:\/\/api\.flexibits\.com\/v1\/(auth|account)\/(device|details|appstore-receipt)\/$ url script-response-body fantastical.js 3 | hostname=api.flexibits.com 4 | */ 5 | 6 | let url=$request.url; 7 | let obj=JSON.parse($response.body); 8 | 9 | if(url.indexOf('device')!=-1){ 10 | 11 | obj.status="success"; 12 | obj.subscription={ 13 | "autorenew": true, 14 | "expiration": "2099-12-31T16:49:37Z", 15 | "expires": "2099-12-31T16:49:37Z" 16 | }; 17 | obj.scope=["notify", "weather", "keyvalue-watch", "keyvalue-verification", "schedjoules", "scheduling", "account", "keyvalue", "fantastical"]; 18 | 19 | } 20 | 21 | if(url.indexOf('details')!=-1){ 22 | 23 | obj.subscription={ 24 | "autorenew": true, 25 | "expiration": "2099-12-31T16:49:37.000000Z", 26 | "uuid": "f1da7c78-e964-4367-915c-886edc794959", 27 | "subscription_type": "AppStore", 28 | "is_expired": false, 29 | "trial": false 30 | }; 31 | } 32 | 33 | if(url.indexOf('appstore-receipt')!=-1){ 34 | 35 | obj.autorenew=true; 36 | obj.expiration="2099-12-31T16:49:37.000000Z"; 37 | obj.subscription_type="AppStore"; 38 | obj.is_expired=false; 39 | obj.trial=false; 40 | } 41 | 42 | $done({body:JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/fit.js: -------------------------------------------------------------------------------- 1 | /* 2 | QX: 3 | [rewrite_local] 4 | 5 | #Fit健身会员 (by黑黑酱) 6 | ^https:\/\/bea\.sportq\.com\/SFitWeb\/sfit\/getUserBaseInfo url script-response-body fit.js 7 | 8 | [MITM] 9 | hostname:bea.sportq.com 10 | 11 | */ 12 | 13 | re('"isVip":"\\d','"isVip":"1') 14 | 15 | function re() { 16 | var body = $response.body; 17 | if (arguments[0].includes("@")) { 18 | var regs = arguments[0].split("@"); 19 | var strs = arguments[1].split("@"); 20 | for (i = 0;i < regs.length;i++) { 21 | var reg = new RegExp(regs[i],"g"); 22 | body = body.replace(reg, strs[i]); 23 | } 24 | } 25 | else { 26 | var reg = new RegExp(arguments[0],"g"); 27 | body = body.replace(reg, arguments[1]); 28 | } 29 | $done(body); 30 | } 31 | -------------------------------------------------------------------------------- /Script/hanjuTV.js: -------------------------------------------------------------------------------- 1 | /* Quantumult X 脚本: 韩剧tv(原名爱美剧) VIP❤凉意 韩剧tv 下载链接: https://h5.hjapi.bjxkhc.com/piglet_web/index.html#/shareGetRedBag?code=10000071 2 | [rewrite_local] 3 | #韩剧tv解锁全部特权 4 | ^https\:\/\/hjapi\.bjxkhc\.com\/v2d2\/users\/.*\/member url script-response-body hanjuTV.js 5 | [mitm] hostname = *.bjxkhc.com, 6 | */ 7 | let obj = JSON.parse($response.body); 8 | obj.data.member = 9576796302; 9 | obj.data.member_fhd = 4092599349; 10 | obj.data.member_download = 9576796302; 11 | obj.data.member_share_screen = 9576796302; 12 | obj.data.silver = 6796302; 13 | obj.data.member_barrage = 9576796302 14 | $done({ 15 | body: JSON.stringify(obj) 16 | } 17 | ); -------------------------------------------------------------------------------- /Script/hjsp.js: -------------------------------------------------------------------------------- 1 | /* 2 | 花椒视频解锁VIP 3 | http://user.shywck.com/user/userinfo 4 | */ 5 | 6 | 7 | body = $response.body.replace(/.+/, "r2E18C9eded9yAup6iRND3cJpuvlH0xMj3haW7LLQ2Ql3QH3Ugtzp+puIMQNDGNAuYHySilwAzFklM4SIn/AqrOf6MzJCQZ43+PsMSgtnGYceWLgqScXVCwXFQXKR0Cxm7uDE1nEz+hfJnKq9oD6sgNiz7KibxRv1n1mQyXUPkCusDvhverqxX73YhJ5EWJGt5ITAcPg8WeE7FDPFRLvbA==") 8 | $done({body}); 9 | -------------------------------------------------------------------------------- /Script/hnsyhb.js: -------------------------------------------------------------------------------- 1 | /* 2 | 洪恩双语绘本 unlock Vip by 军哥哥 3 | 4 | app 下载地址:https://t.cn/AiCEguqn 5 | 6 | 电报频道:https://t.me/ThorHCC 7 | 电报群组:https://t.me/f4thorHCC 8 | QQ资源群:189519867 9 | QQ吹牛群:316864309 10 | 11 | QX: 12 | 13 | [rewrite_local]👇 14 | 15 | https:\/\/bookapi\.ihuman\.com\/(v1\/get\_user\_info|v1\/get\_purchase\_list) url script-response-body hnsyhb.js 16 | 17 | 18 | MITM = bookapi.ihuman.com 19 | 20 | */ 21 | 22 | const path1 = "/v1/get_purchase_list"; 23 | const path2 = "/v1/get_user_info"; 24 | 25 | let key = {"expire_time":7955110875,"vip_type":1,"last_product_id":"com.ihuman.book.sub.vip1y"}; 26 | 27 | let obj = JSON.parse($response.body); 28 | 29 | if ($request.url.indexOf(path1) != -1){ 30 | obj.result["vip_status"] = key; 31 | } 32 | if ($request.url.indexOf(path2) != -1){ 33 | obj.result.userinfo["vip_status"] = key; 34 | 35 | } 36 | 37 | 38 | $done({body: JSON.stringify(obj)}); 39 | -------------------------------------------------------------------------------- /Script/jdyTV.js: -------------------------------------------------------------------------------- 1 | /* Quantumult X 脚本: 筋斗云影院❤凉意 下载链接: http://jdytv.cn/app/index/qudao.html?uid=Mjg3NzQ= 2 | //显示到期时间后即可关闭Quantumult X,开着代理可能无法播放视频 3 | [rewrite_local] 4 | #筋斗云tv破解到期时间 5 | ^http\:\/\/jdytv\.cn\/login\/login\/veifys url script-response-body jdyTV.js 6 | [mitm] hostname = jdytv.cn, 7 | */ 8 | let obj = JSON.parse($response.body); 9 | obj.msg.time = 9576796302; 10 | $done({ 11 | body: JSON.stringify(obj) 12 | } 13 | ); -------------------------------------------------------------------------------- /Script/jxydt.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj= { 3 | "code": 0, 4 | "msg": "OK", 5 | "result": { 6 | "vipstatus": 1, 7 | "isexpert": true, 8 | "endtime": "2022-11-02", 9 | "vipType": 0, 10 | "begintime": "2019-11-03", 11 | "isRenewals": 1, 12 | "vipLevel": 0, 13 | "openCourseIds": [], 14 | "choreographySkills": 0, 15 | "has_append_service": 0, 16 | "vipDaysOverdue": -1, 17 | "vipResidualDay": 999, 18 | "imeiVIPOrderBindStatus": 1 19 | } 20 | }; 21 | $done({body: JSON.stringify(obj)}); 22 | // 23 | -------------------------------------------------------------------------------- /Script/kkyy.js: -------------------------------------------------------------------------------- 1 | re('"is_vip":\\d@"end_time":\\d+','"is_vip":1@"end_time":1741575902') 2 | 3 | function re() { 4 | var body = $response.body; 5 | if (arguments[0].includes("@")) { 6 | var regs = arguments[0].split("@"); 7 | var strs = arguments[1].split("@"); 8 | for (i = 0;i < regs.length;i++) { 9 | var reg = new RegExp(regs[i],"g"); 10 | body = body.replace(reg, strs[i]); 11 | } 12 | } 13 | else { 14 | var reg = new RegExp(arguments[0],"g"); 15 | body = body.replace(reg, arguments[1]); 16 | } 17 | $done(body); 18 | } -------------------------------------------------------------------------------- /Script/lake.js: -------------------------------------------------------------------------------- 1 | let body= $response.body; 2 | var obj = JSON.parse(body); 3 | obj= 4 | [ 5 | { 6 | "product_id": "com.lake.coloring.sub.all1.yearly1", 7 | "expired": false, 8 | "purchase_date": "2020-01-17T08:38:43.000Z", 9 | "expires": "2030-01-24T08:38:43.000Z" 10 | } 11 | ] 12 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/llyd.js: -------------------------------------------------------------------------------- 1 | /* 2 | 流利说•阅读 Qx 3 | 4 | 因缓存机制,使用脚本后可能需要重装一次「流利说•阅读」后方可生效;生效标志是点进详解不再有限制 5 | 6 | ^https?:\/\/vira\.llsapp\.com\/api\/v2\/readings\/(accessible|limitation) url script-response-body llyd.js 7 | 8 | MitM = vira.llsapp.com 9 | 10 | */ 11 | 12 | if ($response.statusCode == 200 && $request.method == 'GET') { 13 | const bodyObj = JSON.parse($response.body); 14 | 15 | if ($request.url.indexOf('limitation') != -1) { 16 | bodyObj.modules = []; 17 | bodyObj.auditionDuration = 72000; 18 | } else { 19 | bodyObj.from = 1482071586 20 | bodyObj.to = 1671373986 21 | } 22 | 23 | $done({body: JSON.stringify(bodyObj)}) 24 | } else { 25 | $done({}) 26 | } 27 | -------------------------------------------------------------------------------- /Script/mb.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj={ 3 | "code": 0, 4 | "msg": null, 5 | "data": { 6 | "level": 2 , 7 | "phone": null, 8 | "encryptPassword": null, 9 | "name": "大雄脚本组", 10 | "id": 4960640, 11 | "passSecure": false, 12 | "vipEndDate": "20330912" 13 | } 14 | }; 15 | $done({body: JSON.stringify(obj)}); 16 | // 17 | -------------------------------------------------------------------------------- /Script/mkl.js: -------------------------------------------------------------------------------- 1 | /* 2 | https://app.api.versa-ai.com/pay/order/iap/check url script-response-body mkl.js 3 | hostname=app.api.versa-ai.com 4 | */ 5 | 6 | 7 | 8 | 9 | let obj = JSON.parse($response.body); 10 | 11 | obj.result.paySuccess = true, 12 | obj.result.expireDate = 1867418130000, 13 | obj.result.days = 9999, 14 | obj.result.trialPeriod = true, 15 | obj.result.sandbox = true 16 | 17 | $done({body: JSON.stringify(obj)}); 18 | -------------------------------------------------------------------------------- /Script/mmfy.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj={ 3 | "code": 10000, 4 | "message": "success", 5 | "userinfo": { 6 | "usertoken": "WYxpMuKBIFzWZ0UEUh2487GdzAM92WMtHJuRBnGzXN1VWfpKgMoX4kbszZ4XlfVo1Mof9DgkIazDJc5-4d_7wSC1IeraiWGRO1qF", 7 | "nickname": "", 8 | "head_portrait": "", 9 | "username": "hd_2727de42b01a97eeea7dcd448f656fc4", 10 | "nowtime": 1574604433, 11 | "lastloginip": "47.103.92.104", 12 | "lastlogintime": 1574604408, 13 | "createtime": 1574604381, 14 | "bindmobile": "", 15 | "bindemail": "", 16 | "ispwd": 0, 17 | "uid": 141896378, 18 | "accounttype": 5, 19 | "vip": [], 20 | "vip_valid": 1, 21 | "vip_deadline": 1669099631 22 | } 23 | }; 24 | $done({body: JSON.stringify(obj)}); 25 | // 26 | -------------------------------------------------------------------------------- /Script/mryy.js: -------------------------------------------------------------------------------- 1 | /* 2 | //每日英语阅读/每日外刊 3 | by:chamberlen 4 | //^https:\/\/dict\.eudic\.net\/jingting\/GetThisChapterTaskStatus? url script-response-body mryy.js 5 | 6 | mitm = dict.eudic.net 7 | */ 8 | let obj=JSON.parse($response.body); 9 | obj.tasks[0].finished= true; 10 | obj.tasks[0].task_action.user_purchase_status = "1"; 11 | //obj.tasks[0].optional = true; 12 | //obj.tasks[0].finish_star = "1"; 13 | $done({body:JSON.stringify(obj)}) 14 | -------------------------------------------------------------------------------- /Script/myxj.js: -------------------------------------------------------------------------------- 1 | /* 2 | [rewrite_local] 3 | #美颜相机一次性解锁内购(by黑黑酱) 4 | ^https:\/\/api\.meiyan\.com\/iap\/verify\.json url script-response-body myxj.js 5 | 6 | Surge4.0: https://api.meiyan.com/iap/verify.json 7 | 8 | [MITM] 9 | hostname:api.meiyan.com 10 | 11 | */ 12 | 13 | 14 | var obj = JSON.parse($response.body); 15 | 16 | obj = { 17 | "meta": { 18 | "app_validate_result": 0, 19 | "bundleName": "pay", 20 | "code": 0, 21 | "msg": "success", 22 | "enabled": true, 23 | "paid": true, 24 | "user": null, 25 | "id": 56990, 26 | "subscription": 0, 27 | "request_uri": "/iap/verify", 28 | "error": "" 29 | }, 30 | "response": { 31 | "status": 1 32 | } 33 | } 34 | 35 | $done({body: JSON.stringify(obj)}); 36 | -------------------------------------------------------------------------------- /Script/old_ipa.js: -------------------------------------------------------------------------------- 1 | /* 2 | Old_iPA_Downloader by LangKhach 3 | */ 4 | var url = $request.url; 5 | var obj = $request.body; 6 | 7 | const api= "unlimapps"; 8 | const buy= "inAppCheckDownloadQueue"; 9 | 10 | if(url.indexOf(api) != -1){ 11 | var appidget = url.match(/\d{6,9}$/); 12 | console.log("🟢\n appid: " + appidget); 13 | $prefs.setValueForKey(appidget.toString(),"appid"); 14 | $notify('Old_iPA_Dowloader', 'iTunes PC search app and click Get', 'By @Lãng Khách'); 15 | $done({body}); 16 | } 17 | if(url.indexOf(buy) != -1){ 18 | var appid= $persistentStore.read("appid"); 19 | var body= obj.replace(/\d{6,}/, appid); 20 | console.log('🟢 Old_iPA_Downloader \nappid: ' + appid); 21 | $done({body}); 22 | } -------------------------------------------------------------------------------- /Script/peak.js: -------------------------------------------------------------------------------- 1 | /* 2 | //peak解锁pro 3 | 4 | by:chamberlen 5 | 6 | [rewrite_local] 7 | 8 | ^https:\/\/billing\.peakcloud\.org\/billing\/2\/user\/me? url script-response-body peak.js 9 | 10 | //MITM=billing.peakcloud.org 11 | 12 | 13 | */ 14 | let obj=JSON.parse($response.body); 15 | obj={ 16 | "response": { 17 | "bbuid": "NKoKXsjJnw", 18 | "usedIntroOfferPeriod": false, 19 | "class": "UserModuleBillingResponse", 20 | "is_in_billing_retry": false, 21 | "modules": [{ 22 | "class": "BillingModuleResponse", 23 | "name": "com.brainbow.module.peak.PeakModule", 24 | "subscription": { 25 | "status": 0, 26 | "statusdate": 0, 27 | "source": { 28 | "id": "com.brainbow.peak.arsub_1wtrial_12m3499", 29 | "cancelable": false, 30 | "provider": "itunes", 31 | "type": "trial" 32 | }, 33 | "bbuid": "NKoKXsjJnw", 34 | "endTime": 1899724030000, 35 | "startTime": 1577884030503, 36 | "pro": true 37 | } 38 | }] 39 | }, 40 | "metaResponse": { 41 | "code": 0 42 | } 43 | } 44 | 45 | 46 | $done({body: JSON.stringify(obj)}) 47 | -------------------------------------------------------------------------------- /Script/pear.js: -------------------------------------------------------------------------------- 1 | /* 2 | app下载地址:https://is.gd/atCoeV 3 | 4 | #圈Xpear解锁会员 5 | ^https:\/\/ayk\.tmdidi\.com\/api\/(movie\/WatchMovie|account\/IsVip|Account\/CheckVip|account\/IndexDetail|account\/IsSafeUser|PictureSet\/LookPhoto|account\/Milk|video\/watch.*|video\/WatchCount|account\/UserSetting) url script-response-body pear.js 6 | 7 | MITM = ayk.tmdidi.com 8 | 9 | */ 10 | 11 | var body = $response.body; 12 | var url = $request.url; 13 | var obj = JSON.parse(body); 14 | 15 | const vip = '/movie/WatchMovie'; 16 | 17 | const checkvip = '/account/IsVip'; 18 | 19 | const checkvip2 = '/Account/CheckVip'; 20 | 21 | const vipinfo = '/account/IndexDetail'; 22 | 23 | const safe = '/account/IsSafeUser'; 24 | 25 | const picfree = '/PictureSet/LookPhoto'; 26 | 27 | const spfree = '/video/watch'; 28 | 29 | const spcount = '/video/WatchCount'; 30 | 31 | const milk = '/account/Milk'; 32 | 33 | const point = '/account/UserSetting'; 34 | 35 | if (url.indexOf(vip) != -1) { 36 | obj["canWath"] = true; 37 | body = JSON.stringify(obj); 38 | } 39 | 40 | if (url.indexOf(checkvip) != -1) { 41 | obj["data"] = 1; 42 | obj["value"] = true; 43 | body = JSON.stringify(obj); 44 | } 45 | if (url.indexOf(checkvip2) != -1) { 46 | obj["data"] = 1; 47 | obj["value"] = true; 48 | body = JSON.stringify(obj); 49 | } 50 | 51 | if (url.indexOf(vipinfo) != -1) { 52 | obj["nickName"] = "爱熬夜的好心人"; 53 | obj["vipLevel"] = 3; 54 | obj["vipEndTime"] = "2222-05-21"; 55 | obj["cartoonVip"] = true; 56 | body = JSON.stringify(obj); 57 | } 58 | if (url.indexOf(safe) != -1) { 59 | obj["value"] = true; 60 | body = JSON.stringify(obj); 61 | } 62 | if (url.indexOf(picfree) != -1) { 63 | obj["value"] = true; 64 | body = JSON.stringify(obj); 65 | } 66 | if (url.indexOf(spfree) != -1) { 67 | obj["value"] = true; 68 | body = JSON.stringify(obj); 69 | } 70 | if (url.indexOf(spcount) != -1) { 71 | obj["todayCanWatchCount"] = 9999; 72 | body = JSON.stringify(obj); 73 | } 74 | if (url.indexOf(milk) != -1) { 75 | obj["milkName"] = "肯德鸡"; 76 | obj["milkLevel"] = 7; 77 | body = JSON.stringify(obj); 78 | } 79 | if (url.indexOf(point) != -1) { 80 | obj["orderVip"] = true; 81 | obj["accountHadSet"] = true; 82 | obj["memberPoint"] = 8000; 83 | body = JSON.stringify(obj); 84 | } 85 | 86 | 87 | $done({body}); 88 | 89 | -------------------------------------------------------------------------------- /Script/pear2.js: -------------------------------------------------------------------------------- 1 | var body = $response.body; 2 | var obj = JSON.parse(body); 3 | 4 | obj.outPutModel.isVip = true; 5 | obj.outPutModel.vipEndTime = "2022-05-21"; 6 | obj.outPutModel.nickName = "爱熬夜的好心人"; 7 | body = JSON.stringify(obj); 8 | $done(body); 9 | 10 | /* 11 | ^https:\/\/ayk\.tmdidi\.com\/api\/account\/suport url script-response-body pear2.js 12 | */ 13 | -------------------------------------------------------------------------------- /Script/photoshop.js: -------------------------------------------------------------------------------- 1 | /* 2 | 解锁 Photoshop for iPad 3 | 4 | ^https:\/\/lcs-mobile-cops\.adobe\.io\/mobile_profile\/nul\/v1$ url script-response-body photoshop.js 5 | 6 | Mitm = lcs-mobile-cops.adobe.io 7 | 8 | 作者 @ImSingee,请勿分享此脚本 9 | 10 | */ 11 | 12 | const bodyJson = JSON.parse($response.body) 13 | 14 | bodyJson.mobileProfile.profileStatus = 'PROFILE_AVAILABLE' 15 | 16 | bodyJson.mobileProfile.legacyProfile = '{}' 17 | bodyJson.mobileProfile.relationshipProfile = '{}' 18 | 19 | JSON.stringify(bodyJson) -------------------------------------------------------------------------------- /Script/pillow.js: -------------------------------------------------------------------------------- 1 | /*https:\/\/api\.revenuecat\.com\/v1\/(subscribers|receipts) url script-response-body pillow.js 2 | hostname= api.revenuecat.com 3 | */ 4 | 5 | var obj = {"request_date":"2020-02-15T07:09:49Z", 6 | "request_date_ms":"1581750589992", 7 | "subscriber":{ 8 | "entitlements":{ 9 | "premium":{ 10 | "expires_date":"2055-02-22T07:07:58Z", 11 | "product_identifier":"com.neybox.pillow.premium.year", 12 | "purchase_date":"2020-02-15T07:07:58Z"} 13 | }, 14 | "first_seen":"2020-02-14T20:28:01Z", 15 | "last_seen":"2020-02-14T20:28:01Z", 16 | "non_subscriptions":{}, 17 | "original_app_user_id":"D1D6D98B-EF51-48AF-9876-7352ABCEFD60", 18 | "original_application_version":"216", 19 | "original_purchase_date":"2020-02-14T20:26:59Z", 20 | "other_purchases":{}, 21 | "subscriptions":{ 22 | "com.neybox.pillow.premium.year":{ 23 | "billing_issues_detected_at":null, 24 | "expires_date":"2055-02-22T07:07:58Z", 25 | "is_sandbox":false, 26 | "original_purchase_date":"2020-02-15T07:07:58Z", 27 | "period_type":"trial", 28 | "purchase_date":"2020-02-15T07:07:58Z", 29 | "store":"app_store", 30 | "unsubscribe_detected_at":null} 31 | } 32 | } 33 | } 34 | $done({body: JSON.stringify(obj)}); 35 | -------------------------------------------------------------------------------- /Script/pock.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj= { 3 | "status": "ok", 4 | "data": { 5 | "contact_id": 27326, 6 | "name": "大雄脚本组", 7 | "firstname": "脚本组", 8 | "lastname": "大雄", 9 | "email": "", 10 | "userpic": "https://pocketlists.com/wa-data/public/contacts/photos/26/73/27326/1472772364.512x512.jpg", 11 | "userpic_minor": "", 12 | "update_datetime": 1574144842, 13 | "signup_date": "2019-11-19", 14 | "subscription_type": "premium", 15 | "subscription_expires": "2022-11-25", 16 | "family_id": null, 17 | "family_invitation_key": null, 18 | "family_role": "adult", 19 | "family_hash": null, 20 | "device_stat": { 21 | "desktop_first_login_datetime": 0, 22 | "mobile_first_login_datetime": 1574144846, 23 | "desktop_last_login_datetime": 0, 24 | "mobile_last_login_datetime": 1574144846, 25 | "desktop_login_counter": 0, 26 | "mobile_login_counter": 1 27 | } 28 | } 29 | }; 30 | $done({body: JSON.stringify(obj)}); 31 | // 32 | -------------------------------------------------------------------------------- /Script/qrxs.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | /* 奇热小说 5 | 进入收费章节-点击"立即解锁" 6 | #rewrite 7 | ^https://api.weiqire.com/api3/(visitor/|user/unlockCharpter) url script-response-body qrxs.js 8 | #mitm 9 | hostname = api.weiqire.com 10 | */ 11 | 12 | 13 | 14 | var body = $response.body; 15 | var url = $request.url; 16 | var obj = JSON.parse(body); 17 | 18 | const path1 = '/api3/visitor/'; 19 | 20 | if(url.indexOf(path1) != -1){ 21 | obj.data.enough = 1;} 22 | else { 23 | var reg1 = new RegExp("bid=(\\d+)"); 24 | var reg2 = new RegExp("sort=(\\d+)"); 25 | var bid = url.match(reg1); 26 | var sort = url.match(reg2); 27 | obj.status = "success"; 28 | obj.msg = "操作成功"; 29 | obj.code = 1; 30 | obj.data.bid = parseInt(bid[1]); 31 | obj.data.sort = [parseInt(sort[1])]; 32 | } 33 | body = JSON.stringify(obj); 34 | $done({body}); 35 | -------------------------------------------------------------------------------- /Script/quanx.js: -------------------------------------------------------------------------------- 1 | var body = $response.body; 2 | body = '\/*\n@supported B422643B7EE6\n*\/\n' + body; 3 | 4 | $done(body); -------------------------------------------------------------------------------- /Script/qyxj.js: -------------------------------------------------------------------------------- 1 | /* 2 | 轻颜相机 Ulike 蒸汽波相机(vaporcam) 三合一解锁VIP 3 | https://(commerce-.*api|pay).(faceu|wecut).(com|mobi)/(commerce|apple)/(iosAppVerifyReceipt.php|v1/subscription/user_info) url script-response-body nzw9314/Script/qyxj.js 4 | 5 | hostname= commerce-i18n-api.faceu.mobi,commerce-api.faceu.mobi, pay.wecut.com 6 | */ 7 | 8 | const path1 = "/commerce/v1/subscription/user_info"; 9 | const path2 = "/apple/iosAppVerifyReceipt.php"; 10 | 11 | let obj = JSON.parse($response.body); 12 | 13 | if ($request.url.indexOf(path1) != -1){ 14 | obj.data.start_time = 1584674770; 15 | obj.data.end_time = 4077660370; 16 | obj.data.is_cancel_subscribe = true; 17 | obj.data.flag = true; 18 | } 19 | if ($request.url.indexOf(path2) != -1){ 20 | obj.data = { 21 | "isValid": 1, 22 | "expiresTs": 4077660370 23 | } 24 | } 25 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/revenuecat.js: -------------------------------------------------------------------------------- 1 | /* 2 | QX: ^https:\/\/api\.revenuecat\.com\/v1\/subscribers\/ url script-response-body revenuecat.js 3 | 4 | hostname = api.revenuecat.com 5 | 6 | 仅限NobyDa Script群组学习交流,严禁外传! 7 | 8 | By @sunshy 9 | */ 10 | 11 | let obj=JSON.parse($response.body); 12 | let url=$request.url; 13 | 14 | if(url.endsWith("offerings")||url.endsWith("products")) { 15 | $done({}); 16 | } else { 17 | // Noto笔记Lifetime 18 | if (url.indexOf("EE5F4363-50A2-4A57-8172-DA69F76DE2FB")!=-1) { 19 | obj["subscriber"]["entitlements"]["pro"]={ 20 | "expires_date": null, 21 | "product_identifier": "com.lkzhao.editor.full.deal", 22 | "purchase_date": "2019-12-01T00:00:00Z" 23 | }; 24 | obj["subscriber"]["non_subscriptions"]["com.lkzhao.editor.full.deal"]=[{ 25 | "id": "12345qwert", 26 | "is_sandbox": false, 27 | "original_purchase_date": "2019-12-01T00:00:00Z", 28 | "purchase_date": "2019-12-01T00:00:00Z", 29 | "store": "app_store" 30 | }]; 31 | } 32 | // Airmail Premium 33 | if (url.indexOf("5647911E-B243-48C9-A25C-29116412A20D")!=-1) { 34 | obj["subscriber"]["entitlements"]={ 35 | "Airmail Premium": { 36 | "expires_date": "2099-12-01T00:00:00Z", 37 | "product_identifier": "Airmail_iOS_Yearly", 38 | "purchase_date": "2019-12-01T00:00:00Z" 39 | } 40 | }; 41 | obj["subscriber"]["subscriptions"]={ 42 | "Airmail_iOS_Yearly": { 43 | "is_sandbox": false, 44 | "period_type": "active", 45 | "billing_issues_detected_at": null, 46 | "unsubscribe_detected_at": null, 47 | "expires_date": "2099-12-01T00:00:00Z", 48 | "original_purchase_date": "2019-10-31T00:00:00Z", 49 | "purchase_date": "2019-10-31T00:00:00Z", 50 | "store": "app_store" 51 | } 52 | }; 53 | } 54 | } 55 | 56 | $done({body:JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/rrtv.js: -------------------------------------------------------------------------------- 1 | var body = $response.body; 2 | var url = $request.url; 3 | 4 | if (url.indexOf('/ad/getAll') != -1) { 5 | var obj = JSON.parse(body); 6 | obj.data.adList = []; 7 | body = JSON.stringify(obj); 8 | } else if (url.indexOf('/user/privilege/list') != -1) { 9 | var obj = JSON.parse(body); 10 | obj.data = [{ 11 | "action": "play", 12 | "effectObject": "video", 13 | "id": 1, 14 | "function": "originalPainting", 15 | "func": "originalPainting", 16 | "endTime": 1667341767582, 17 | "description": "解锁原画", 18 | "icon": "jiesuoyuanhua" 19 | }, { 20 | "action": "play", 21 | "effectObject": "video", 22 | "id": 4, 23 | "function": "noLimit", 24 | "func": "noLimit", 25 | "endTime": 1567341767582, 26 | "description": "看剧无限制", 27 | "icon": "kanjuwuxianzhi" 28 | }, { 29 | "action": "play", 30 | "effectObject": "growth", 31 | "id": 37, 32 | "function": "0.4", 33 | "func": "0.4", 34 | "endTime": 1667341767582, 35 | "description": "看剧经验+40%", 36 | "icon": "jingyanzhijiacheng" 37 | }, { 38 | "action": "send", 39 | "effectObject": "danmu", 40 | "id": 43, 41 | "function": "superBarrageBlue", 42 | "func": "superBarrageBlue", 43 | "endTime": 1667341767582, 44 | "description": "超级弹幕", 45 | "icon": "chaojidanmu" 46 | }, { 47 | "action": "play", 48 | "effectObject": "video", 49 | "id": 23, 50 | "function": "noAd", 51 | "func": "noAd", 52 | "endTime": 1667341767582, 53 | "description": "看剧无广告", 54 | "icon": "kanjuwuguanggao" 55 | }]; 56 | 57 | }else if(url.indexOf('/rrtv-video/v4plus/season/detail') != -1){ 58 | var obj = JSON.parse(body); 59 | 60 | obj.data['season']['feeMode'] = 'restriction'; 61 | } 62 | 63 | 64 | body = JSON.stringify(obj); 65 | 66 | $done({ 67 | body 68 | }); -------------------------------------------------------------------------------- /Script/sdxz.js: -------------------------------------------------------------------------------- 1 | /* Quantumult X 脚本: 闪电下载vip❤凉意 下载链接🔗 http://bbs.flashdown365.com/download.html 2 | 3 | [rewrite_local] 4 | #闪电下载vip 5 | ^http\:\/\/app\.flashdown365\.com\/ios\/login url script-response-body sdxz.js 6 | [mitm] hostname = app.flashdown365.com, 7 | 8 | */ 9 | 10 | let obj = JSON.parse($response.body); 11 | obj.body.isvip = true 12 | $done({body: JSON.stringify(obj)}); 13 | -------------------------------------------------------------------------------- /Script/shimo.js: -------------------------------------------------------------------------------- 1 | /* 2 | 石墨文档解锁VIP未测试,自行测试 3 | https://api.shimo.im/users/ 4 | */ 5 | 6 | let obj = JSON.parse($response.body); 7 | 8 | obj.membership = { 9 | "accountTypeExpiredAt": "2099-04-30T16:00:00.000Z", 10 | "accountTypeCreatedAt": "2020-03-25T13:09:31.000Z", 11 | "accountType": "personal_premium", 12 | "isEnterprisePremium": true, 13 | "isExpired": false, 14 | "isNewDing": false, 15 | "isOfficial": true 16 | } 17 | 18 | $done({body: JSON.stringify(obj)}); 19 | -------------------------------------------------------------------------------- /Script/sjyjgj.js: -------------------------------------------------------------------------------- 1 | /* 2 | 手机硬件管家VIP Pro 3 | http:\/\/api\.591master\.com\:8081\/(1.0|3.6.8)\/ui(forum|common)\/(downloadwallpaper|getuser) 4 | */ 5 | 6 | 7 | 8 | 9 | const path1 = "/3.6.8/uicommon/getuser"; 10 | const path2 = "/1.0/uiforum/downloadwallpaper"; 11 | 12 | 13 | let obj = JSON.parse($response.body); 14 | 15 | if ($request.url.indexOf(path1) != -1){ 16 | obj.data.expireTime = 1867600302, 17 | obj.data.isVip = true, 18 | obj.data.expExpireTime = 1867600302, 19 | obj.data.score = 666 20 | } 21 | if ($request.url.indexOf(path2) != -1){ 22 | obj = { 23 | "errno": 0, 24 | "errmsg": "OK", 25 | "data": "aXVNbR5r7cLe0FSpoXFuPw==" 26 | } 27 | } 28 | $done({body: JSON.stringify(obj)}); 29 | -------------------------------------------------------------------------------- /Script/smart.js: -------------------------------------------------------------------------------- 1 | /* 2 | 本作品用于QuantumultX和Surge之间js执行方法的转换 3 | 您只需书写其中任一软件的js,然后在您的js最【前面】追加上此段js即可 4 | 无需担心影响执行问题,具体原理是将QX和Surge的方法转换为互相可调用的方法 5 | 尚未测试是否支持import的方式进行使用,因此暂未export 6 | 如有问题或您有更好的改进方案,请前往 https://github.com/sazs34/TaskConfig/issues 提交内容,或直接进行pull request 7 | 您也可直接在tg中联系@wechatu 8 | */ 9 | // #region 固定头部 10 | let isQuantumultX = $task != undefined; //判断当前运行环境是否是qx 11 | let isSurge = $httpClient != undefined; //判断当前运行环境是否是surge 12 | // 判断request还是respons 13 | // down方法重写 14 | var $done = (obj={}) => { 15 | var isRequest = typeof $request != "undefined"; 16 | if (isQuantumultX) { 17 | return isRequest ? $done({}) : "" 18 | } 19 | if (isSurge) { 20 | return isRequest ? $done({}) : $done() 21 | } 22 | } 23 | // http请求 24 | var $task = isQuantumultX ? $task : {}; 25 | var $httpClient = isSurge ? $httpClient : {}; 26 | // cookie读写 27 | var $prefs = isQuantumultX ? $prefs : {}; 28 | var $persistentStore = isSurge ? $persistentStore : {}; 29 | // 消息通知 30 | var $notify = isQuantumultX ? $notify : {}; 31 | var $notification = isSurge ? $notification : {}; 32 | // #endregion 固定头部 33 | 34 | // #region 网络请求专用转换 35 | if (isQuantumultX) { 36 | var errorInfo = { 37 | error: '' 38 | }; 39 | $httpClient = { 40 | get: (url, cb) => { 41 | var urlObj; 42 | if (typeof (url) == 'string') { 43 | urlObj = { 44 | url: url 45 | } 46 | } else { 47 | urlObj = url; 48 | } 49 | $task.fetch(urlObj).then(response => { 50 | cb(undefined, response, response.body) 51 | }, reason => { 52 | errorInfo.error = reason.error; 53 | cb(errorInfo, response, '') 54 | }) 55 | }, 56 | post: (url, cb) => { 57 | var urlObj; 58 | if (typeof (url) == 'string') { 59 | urlObj = { 60 | url: url 61 | } 62 | } else { 63 | urlObj = url; 64 | } 65 | url.method = 'POST'; 66 | $task.fetch(urlObj).then(response => { 67 | cb(undefined, response, response.body) 68 | }, reason => { 69 | errorInfo.error = reason.error; 70 | cb(errorInfo, response, '') 71 | }) 72 | } 73 | } 74 | } 75 | if (isSurge) { 76 | $task = { 77 | fetch: url => { 78 | //为了兼容qx中fetch的写法,所以永不reject 79 | return new Promise((resolve, reject) => { 80 | if (url.method == 'POST') { 81 | $httpClient.post(url, (error, response, data) => { 82 | if (response) { 83 | response.body = data; 84 | resolve(response, { 85 | error: error 86 | }); 87 | } else { 88 | resolve(null, { 89 | error: error 90 | }) 91 | } 92 | }) 93 | } else { 94 | $httpClient.get(url, (error, response, data) => { 95 | if (response) { 96 | response.body = data; 97 | resolve(response, { 98 | error: error 99 | }); 100 | } else { 101 | resolve(null, { 102 | error: error 103 | }) 104 | } 105 | }) 106 | } 107 | }) 108 | 109 | } 110 | } 111 | } 112 | // #endregion 网络请求专用转换 113 | 114 | // #region cookie操作 115 | if (isQuantumultX) { 116 | $persistentStore = { 117 | read: key => { 118 | return $prefs.valueForKey(key); 119 | }, 120 | write: (val, key) => { 121 | return $prefs.setValueForKey(val, key); 122 | } 123 | } 124 | } 125 | if (isSurge) { 126 | $prefs = { 127 | valueForKey: key => { 128 | return $persistentStore.read(key); 129 | }, 130 | setValueForKey: (val, key) => { 131 | return $persistentStore.write(val, key); 132 | } 133 | } 134 | } 135 | // #endregion 136 | 137 | // #region 消息通知 138 | if (isQuantumultX) { 139 | $notification = { 140 | post: (title, subTitle, detail) => { 141 | $notify(title, subTitle, detail); 142 | } 143 | } 144 | } 145 | if (isSurge) { 146 | $notify = function (title, subTitle, detail) { 147 | $notification.post(title, subTitle, detail); 148 | } 149 | } 150 | // #endregion -------------------------------------------------------------------------------- /Script/smy.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj={ 3 | "status": "1000", 4 | "msg": "请求成功", 5 | "result": { 6 | "isvip": "true", 7 | "romspace": "200", 8 | "nickname": "大雄脚本组", 9 | "expiretime": "2099-11-24", 10 | "registertime": "2019-11-24", 11 | "ocrtimes": "8", 12 | "tel": "", 13 | "openid": "o-mlS1LoIQf9gVWRzJbVnoD27ujE", 14 | "sessionid": "211CCEE5BD0EC77BA9ACB21A13ED46FA", 15 | "userid": "196757", 16 | "token": "fca54885bb27d82844256ccb705c892e0cf7e2d095246e2ef44e6057", 17 | "password": "", 18 | "headimg": "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1573121472669&di=2c11ef9ea7c89c76d14632e9e456c67f&imgtype=0&src=http%3A%2F%2Ftx.haiqq.com%2Fuploads%2Fallimg%2F170826%2F04451MY6-2.jpg", 19 | "iosversionid": "false", 20 | "logintype": "3", 21 | "state": "1", 22 | "comment": "true", 23 | "share": "true", 24 | "signcount": "0", 25 | "signstate": "false", 26 | "message": "登录成功", 27 | "messagestate": "false", 28 | "totalocrtimes": "99", 29 | "checked": 0, 30 | "cloud_count": "0" 31 | } 32 | }; 33 | $done({body: JSON.stringify(obj)}); 34 | // 35 | -------------------------------------------------------------------------------- /Script/sololearn.js: -------------------------------------------------------------------------------- 1 | /* 2 | QX: ^https:\/\/api\.sololearn\.com\/(authenticateDevice|challenge\/GetContestFeed|Profile\/GetProfile)$ url script-response-body sololearn.js 3 | 4 | Surge: http-response ^https:\/\/api\.sololearn\.com\/(authenticateDevice|challenge\/GetContestFeed|Profile\/GetProfile)$ requires-body=1,max-size=0,script-path=resources/js/sololearn.js 5 | 6 | hostname=api.sololearn.com 7 | */ 8 | 9 | let url=$request.url; 10 | let obj=JSON.parse($response.body); 11 | 12 | if (url.endsWith('authenticateDevice')) { 13 | obj.user.badge="platinum|platinum_mod|pro"; 14 | obj.user.accessLevel=65520; 15 | obj.user.isPro=true; 16 | obj.user.proExpireDate="2099-01-31T00:00:00"; 17 | } 18 | 19 | if (url.endsWith('GetContestFeed')) { 20 | let num=obj.feed.length; 21 | if (num==0) { 22 | $done({}); 23 | } else { 24 | for (var i=0;i -1) { 11 | delete obj.data[i].content 12 | } 13 | } 14 | $done(JSON.stringify(obj)) 15 | -------------------------------------------------------------------------------- /Script/xunjie.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Quantumult X 脚本: 4 | 解锁迅捷六款App:清爽视频编辑,迅捷文字识别,录音转文字助手,文字转语音助手,迅捷PDF转换器,迅捷论文查重 5 | 6 | [rewrite_local] 7 | # Xunjie Unlock annual subscriptions (by LTribe) 8 | ^https?:\/\/.*\.xunjie.*\.com\/api\/v\d\/* url script-response-body xunjie.js 9 | 10 | [mitm] 11 | hostname = *.xunjie*.com, 12 | 13 | */ 14 | 15 | let obj = JSON.parse($response.body); 16 | obj.userinfo.vip = [{ 17 | "id": 00000001, 18 | "auth_type": 1, 19 | "auth_value": 4102469002 20 | }]; 21 | 22 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/xxys.js: -------------------------------------------------------------------------------- 1 | /* 2 | 小小影视 unlock Vip 3 | 4 | app 下载地址:http://t.cn/AiWI7o28 5 | 6 | 电报交流频道:https://t.me/ThorHCC 7 | QQ交流:189519867 8 | 9 | QX: 10 | 11 | [rewrite_local]👇 12 | 13 | https:\/\/.*\..*\.com\/(vod\/reqplay\/|ucp/index|getGlobalData) url script-response-body xxys.js 14 | 15 | 16 | MITM = *.*apps.com, *.xiao*.com 17 | 18 | */ 19 | 20 | const path1 = "/ucp/index"; 21 | const path2 = "/vod/reqplay/"; 22 | const ad = 'getGlobalData'; 23 | let obj = JSON.parse($response.body); 24 | 25 | if ($request.url.indexOf(path1) != -1){ 26 | obj.data.uinfo["down_daily_remainders"] = "5201314"; 27 | obj.data.uinfo["play_daily_remainders"] = "5201314"; 28 | obj.data.uinfo["curr_group"] = "5"; 29 | obj.data.user["isvip"] = "1"; 30 | obj.data.user["goldcoin"] = "5201314"; 31 | obj.data.user["avatar_url"] = "https://i.loli.net/2019/10/24/eCJuqz75WrL6ihQ.jpg"; 32 | } 33 | if ($request.url.indexOf(path2) != -1){ 34 | obj.retcode = "0"; 35 | obj.data.lastplayindex = "1"; 36 | if(obj.data.hasOwnProperty("httpurl_preview")){ 37 | var playurl = obj.data["httpurl_preview"]; 38 | obj.data["httpurl"] = playurl; 39 | }; 40 | } 41 | 42 | if ($request.url.indexOf(ad) != -1) { 43 | delete obj.data.adrows 44 | delete obj.data.adgroups 45 | } 46 | $done({body: JSON.stringify(obj)}); 47 | -------------------------------------------------------------------------------- /Script/xxysad.js: -------------------------------------------------------------------------------- 1 | /* 2 | 小小影视去广告 3 | https:\/\/.*\/getGlobalData 4 | */ 5 | 6 | 7 | let obj = JSON.parse($response.body); 8 | delete obj.data.adrows 9 | delete obj.data.iOS_adgroups 10 | $done({body: JSON.stringify(obj)}); 11 | -------------------------------------------------------------------------------- /Script/ydybj.js: -------------------------------------------------------------------------------- 1 | /* 2 | 有道云笔记VIP功能 3 | By Alex0510 4 | Surge 4: 5 | http-response https://note.youdao.com/yws/(mapi/payment|api/self) requires-body=1,max-size=0,script-path=https://raw.githubusercontent.com/Alex0510/surge/master/Script/ydybj.js 6 | 7 | QuanX: 8 | https://note.youdao.com/yws/(mapi/payment|api/self) url script-response-body ydybj.js 9 | 10 | hostname: note.youdao.com 11 | */ 12 | 13 | 14 | const path1 = "/api/self"; 15 | const path2 = "/mapi/payment"; 16 | 17 | let obj = JSON.parse($response.body); 18 | 19 | if ($request.url.indexOf(path1) != -1){ 20 | obj.vip = true, 21 | obj.properties.FEED_BACK_ID = 1, 22 | obj.properties.isvip = true 23 | } 24 | if ($request.url.indexOf(path2) != -1){ 25 | obj.service = 1, 26 | obj.payYear = true, 27 | obj.end = 1867248816000 28 | } 29 | $done({body: JSON.stringify(obj)}); -------------------------------------------------------------------------------- /Script/zgtyzb.js: -------------------------------------------------------------------------------- 1 | /* 2 | 中国体育直播 unlock by 军哥哥 3 | 4 | app 下载地址:https://t.cn/Ai8I6z7p 5 | 6 | 电报频道:https://t.me/ThorHCC 7 | 电报群组:https://t.me/f4thorHCC 8 | QQ资源群:189519867 9 | QQ吹牛群:316864309 10 | 11 | QX: 12 | 13 | [rewrite_local]👇 14 | 15 | http:\/\/rest\.zhibo\.tv\/room\/get\-room\-info\-v430 url script-response-body zgtyzb.js 16 | 17 | 18 | MITM = rest.zhibo.tv 19 | 20 | */ 21 | 22 | const path1 = "/room/get-room-info-v430"; 23 | 24 | let obj = JSON.parse($response.body); 25 | 26 | if ($request.url.indexOf(path1) != -1){ 27 | obj.data.anchor["userHas"] = "1"; 28 | } 29 | 30 | $done({body: JSON.stringify(obj)}); 31 | -------------------------------------------------------------------------------- /Script/znzj.js: -------------------------------------------------------------------------------- 1 | var obj = JSON.parse($response.body); 2 | obj={ 3 | "vip": [ 4 | { 5 | "id": 9005757, 6 | "auth_type": 1, 7 | "auth_value": 1999999999 8 | } 9 | ] 10 | }; 11 | $done({body: JSON.stringify(obj)}); 12 | // 13 | -------------------------------------------------------------------------------- /Surge_Task/Sunert_Cookie.sgmodule: -------------------------------------------------------------------------------- 1 | #!name=Task Cookie - By Sunert 2 | #!desc=该模块适用于获取任务Cookie,仅集成Sunert签到任务Cookie。您可以在使用后手动将其禁用,以免产生不必要的MITM.。 3 | #!system=ios 4 | 5 | # GitHub主页(https://github.com/Sunert/Scripts) 6 | # TG聊天群 (https://t.me/EveryLucky) 7 | # 定时脚本 8 | 9 | [Script] 10 | # 定时脚本Cookie 11 | 12 | # 数码之家 Cookie. 13 | 数码之家 = type=http-request,pattern=https:\/\/www\.mydigit\.cn\/plugin\.php\?id=k_misign:sign&operation=qiandao,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js 14 | 15 | # 中青看点 16 | 中青看点 = type=http-request,pattern=https:\/\/kd\.youth\.cn\/WebApi\/NewTaskIos\/getTaskList,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 17 | 18 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/article\/complete,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true 19 | 20 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/article\/red_packet,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true 21 | 22 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/user\/app_stay\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true 23 | 24 | 25 | # 腾讯新闻 26 | 腾讯新闻 = type=http-request,pattern=https:\/\/api\.inews\.qq\.com\/event\/v1\/user\/event\/report\?,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, requires-body=true 27 | 28 | # 新浪新闻 29 | 新浪新闻 = type=http-request,pattern=https:\/\/newsapi\.sina\.cn\/\?resource=hbpage&newsId=HB-1-sina_gold_center,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sinanews.js 30 | 31 | 新浪新闻 = type=http-request,pattern=https:\/\/newsapi\.sina\.cn\/\?resource=userpoint\/signIn,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sinanews.js 32 | 33 | # 新浪微博 34 | 微博签到 = type=http-request,pattern=https:\/\/api\.weibo\.cn\/\d\/page\/\w+\?gsid,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 35 | 36 | # 微博钱包签到 37 | 钱包签到 = type=http-request,pattern=https:\/\/pay\.sc\.weibo\.com\/aj\/mobile\/home\/welfare\/signin\/do\?,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 38 | 39 | # 快手极速版 40 | 快手极速版 = type=http-request,pattern=https:\/\/nebula\.kuaishou\.com\/nebula\/task\/earning\?,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 41 | 42 | # 来客有礼 43 | 来客有礼 = type=http-request,pattern=https:\/\/draw\.jdfcloud\.com\/\/api\/bean\/square\/silverBean\/task\/get\?,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/lkyl.js 44 | 45 | # 电视家 46 | 电视家签到 = type=http-request,pattern=http:\/\/act\.gaoqingdianshi\.com\/\/api\/v4\/sign\/signin,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 47 | 48 | 电视家兑换 = type=http-request,pattern=http:\/\/api\.gaoqingdianshi\.com\/api\/v2\/cash\/withdrawal,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 49 | 50 | # 电信套餐查询 51 | 电信套餐查询 = script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js,type=http-request,pattern=https?:\/\/e\.189\.cn\/store\/user\/package_detail\.do 52 | 53 | # 聚看点 54 | 中青看点 = type=https:\/\/www\.xiaodouzhuan\.cn\/jkd\/newMobileMenu\/infoMe\.action,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jukan.js, requires-body=true 55 | 56 | 57 | [MITM] 58 | hostname = %APPEND% www.mydigit.cn, kd.youth.cn, ios.baertt.com, api.inews.qq.com, newsapi.sina.cn, api.weibo.cn, pay.sc.weibo.com, nebula.kuaishou.com, draw.jdfcloud.com, e.189.cn, www.xiaodouzhuan.cn 59 | 60 | 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /Surge_Task/Sunert_Task.sgmodule: -------------------------------------------------------------------------------- 1 | #!name=Task - By Sunert 2 | #!desc=该模块适用于定时签到:集成Sunert签到脚本。建议本地安装以便自定义修改签到时间。 3 | #!system=ios 4 | 5 | # GitHub主页(https://github.com/Sunert/Scripts) 6 | # TG聊天群 (https://t.me/EveryLucky) 7 | # 定时脚本 8 | 9 | [Script] 10 | # 定时脚本 11 | 12 | # > 电视节目预告 13 | 电视节目预告 = type=cron,cronexp=0 0 8 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/tvpreview.js,script-update-interval=0 14 | 15 | # > 12306余票及列车时刻表查询 16 | 12306 = type=cron,cronexp=0 0 8 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/trainquery.js 17 | 18 | # > 实时货币换算 19 | 实时汇率 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/exchangeRate.js,script-update-interval=0 20 | 21 | # > 中国电信套餐 22 | 中国电信套餐 = type=cron,cronexp=50 4 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js,script-update-interval=0 23 | 24 | # > 腾讯新闻 25 | 腾讯新闻 = type=cron,cronexp=35 */7 */2 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js,script-update-interval=0 26 | 27 | # > 京东到家 28 | 京东到家 = type=cron,cronexp=25 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jddj.js,script-update-interval=0 29 | 30 | # > 微信小程序-来客有礼 31 | # 来客有礼 = type=cron,cronexp=30 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/lkyl.js,script-update-interval=0 32 | 33 | # > 电视家 34 | 电视家 = type=cron,cronexp=0 0 7,12,22 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js,script-update-interval=0 35 | 36 | # > 快手极速版 37 | 快手极速版 = type=cron,cronexp=40 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js,script-update-interval=0 38 | 39 | # > 微博签到 & 微博钱包 40 | 微博(钱包) = type=cron,cronexp=35 2 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js,script-update-interval=0 41 | 42 | # > 新浪新闻 43 | 新浪新闻 = type=cron,cronexp=0 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sinanews.js 44 | 45 | # > 中青看点极速版 46 | 中青看点极速版 = type=cron,cronexp=35 */5 */3 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js,script-update-interval=0 47 | 48 | # > 数码之家 49 | 数码之家 = type=cron,cronexp=0 7 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js,script-update-interval=0 50 | 51 | # > 聚看点 52 | 聚看点 = type=cron,cronexp=0 */30 * * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jukan.js,script-update-interval=0 53 | 54 | # > 谷歌翻译 55 | 谷歌翻译 = type=cron,cronexp=0 5 10 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/translate.js,script-update-interval=0 56 | 57 | # > 墨迹天气 58 | 墨迹天气 = type=cron,cronexp=0 5 10 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/moji.js,script-update-interval=0 59 | 60 | -------------------------------------------------------------------------------- /Task/Env.min.js: -------------------------------------------------------------------------------- 1 | function Env(name,opts){class Http{constructor(env){this.env=env};send(opts,method='GET'){opts=typeof opts==='string'?{url:opts}:opts;let sender=this.get;if(method==='POST'){sender=this.post};return new Promise((resolve,reject)=>{sender.call(this,opts,(err,resp,body)=>{if(err)reject(err);else resolve(resp)})})};get(opts){return this.send.call(this.env,opts)};post(opts){return this.send.call(this.env,opts,'POST')}};return new(class{constructor(name,opts){this.name=name,this.http=new Http(this),this.data=null,this.dataFile='box.dat',this.logs=[],this.isMute=false,this.isNeedRewrite=false,this.logSeparator='\n';this.startTime=new Date().getTime();Object.assign(this,opts);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(str,defaultValue=null){try{return JSON.parse(str)}catch{return defaultValue}};toStr(obj,defaultValue=null){try{return JSON.stringify(obj)}catch{return defaultValue}};getjson(key,defaultValue){let json=defaultValue;const val=this.getdata(key);if(val){try{json=JSON.parse(this.getdata(key))}catch{}};return json};setjson(val,key){try{return this.setdata(JSON.stringify(val),key)}catch{return false}}; getScript(url){return new Promise((resolve)=>{this.get({url},(err,resp,body)=>resolve(body))})};runScript(script,runOpts){return new Promise((resolve)=>{let httpapi=this.getdata('@chavy_boxjs_userCfgs.httpapi');httpapi=httpapi?httpapi.replace(/\n/g,'').trim():httpapi;let httpapi_timeout=this.getdata('@chavy_boxjs_userCfgs.httpapi_timeout');httpapi_timeout=httpapi_timeout?httpapi_timeout*1:20;httpapi_timeout=runOpts&&runOpts.timeout?runOpts.timeout:httpapi_timeout;const[key,addr]=httpapi.split('@');const opts={url:`http://${addr}/v1/scripting/evaluate`,body:{script_text:script,mock_type:'cron',timeout:httpapi_timeout},headers:{'X-Key':key,'Accept':'*/*'}};this.post(opts,(err,resp,body)=>resolve(body))}).catch((e)=>this.logErr(e))};loaddata(){if(this.isNode()){this.fs=this.fs?this.fs:require('fs');this.path=this.path?this.path:require('path');const curDirDataFilePath=this.path.resolve(this.dataFile);const rootDirDataFilePath=this.path.resolve(process.cwd(),this.dataFile);const isCurDirDataFile=this.fs.existsSync(curDirDataFilePath);const isRootDirDataFile=!isCurDirDataFile&&this.fs.existsSync(rootDirDataFilePath);if(isCurDirDataFile||isRootDirDataFile){const datPath=isCurDirDataFile?curDirDataFilePath:rootDirDataFilePath;try{return JSON.parse(this.fs.readFileSync(datPath))}catch(e){return{}}}else return{}}else return{}};writedata(){if(this.isNode()){this.fs=this.fs?this.fs:require('fs');this.path=this.path?this.path:require('path');const curDirDataFilePath=this.path.resolve(this.dataFile);const rootDirDataFilePath=this.path.resolve(process.cwd(),this.dataFile);const isCurDirDataFile=this.fs.existsSync(curDirDataFilePath);const isRootDirDataFile=!isCurDirDataFile&&this.fs.existsSync(rootDirDataFilePath);const jsondata=JSON.stringify(this.data);if(isCurDirDataFile){this.fs.writeFileSync(curDirDataFilePath,jsondata)}else if(isRootDirDataFile){this.fs.writeFileSync(rootDirDataFilePath,jsondata)}else{this.fs.writeFileSync(curDirDataFilePath,jsondata)}}};lodash_get(source,path,defaultValue=undefined){const paths=path.replace(/\[(\d+)\]/g,'.$1').split('.');let result=source;for(const p of paths){result=Object(result)[p];if(result===undefined){return defaultValue}};return result};lodash_set(obj,path,value){if(Object(obj)!==obj)return obj;if(!Array.isArray(path))path=path.toString().match(/[^.[\]]+/g)||[];path.slice(0,-1).reduce((a,c,i)=>(Object(a[c])===a[c]?a[c]:(a[c]=Math.abs(path[i+1])>>0===+path[i+1]?[]:{})),obj)[path[path.length-1]]=value;return obj};getdata(key){let val=this.getval(key);if(/^@/.test(key)){const[,objkey,paths]=/^@(.*?)\.(.*?)$/.exec(key);const objval=objkey?this.getval(objkey):'';if(objval){try{const objedval=JSON.parse(objval);val=objedval?this.lodash_get(objedval,paths,''):val}catch(e){val=''}}};return val};setdata(val,key){let issuc=false;if(/^@/.test(key)){const[,objkey,paths]=/^@(.*?)\.(.*?)$/.exec(key);const objdat=this.getval(objkey);const objval=objkey?(objdat==='null'?null:objdat||'{}'):'{}';try{const objedval=JSON.parse(objval);this.lodash_set(objedval,paths,val);issuc=this.setval(JSON.stringify(objedval),objkey)}catch(e){const objedval={};this.lodash_set(objedval,paths,val);issuc=this.setval(JSON.stringify(objedval),objkey)}}else{issuc=this.setval(val,key)};return issuc};getval(key){if(this.isSurge()||this.isLoon()){return $persistentStore.read(key)}else if(this.isQuanX()){return $prefs.valueForKey(key)}else if(this.isNode()){this.data=this.loaddata();return this.data[key]}else{return(this.data&&this.data[key])||null}};setval(val,key){if(this.isSurge()||this.isLoon()){return $persistentStore.write(val,key)}else if(this.isQuanX()){return $prefs.setValueForKey(val,key)}else if(this.isNode()){this.data=this.loaddata(),this.data[key]=val,this.writedata();return true}else{return(this.data&&this.data[key])||null}};initGotEnv(opts){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();if(opts){opts.headers=opts.headers?opts.headers:{};if(undefined===opts.headers.Cookie&&undefined===opts.cookieJar){opts.cookieJar=this.ckjar}}}; get(opts,callback=()=>{}){if(opts.headers){delete opts.headers['Content-Type'];delete opts.headers['Content-Length']};if(this.isSurge()||this.isLoon()){if(this.isSurge()&&this.isNeedRewrite){opts.headers=opts.headers||{};Object.assign(opts.headers,{'X-Surge-Skip-Scripting':false})};$httpClient.get(opts,(err,resp,body)=>{if(!err&&resp){resp.body=body,resp.statusCode=resp.status};callback(err,resp,body)})}else if(this.isQuanX()){if(this.isNeedRewrite){opts.opts=opts.opts||{};Object.assign(opts.opts,{hints:false})};$task.fetch(opts).then((resp)=>{const{statusCode:status,statusCode,headers,body}=resp;callback(null,{status,statusCode,headers,body},body)},(err)=>callback(err))}else if(this.isNode()){this.initGotEnv(opts);this.got(opts).on('redirect',(resp,nextOpts)=>{try{if(resp.headers['set-cookie']){const ck=resp.headers['set-cookie'].map(this.cktough.Cookie.parse).toString();if(ck){this.ckjar.setCookieSync(ck,null)};nextOpts.cookieJar=this.ckjar}}catch(e){this.logErr(e)}}).then((resp)=>{const{statusCode:status,statusCode,headers,body}=resp;callback(null,{status,statusCode,headers,body},body)},(err)=>{const{message:error,response:resp}=err;callback(error,resp,resp&&resp.body)})}};post(opts,callback=()=>{}){if(opts.body&&opts.headers&&!opts.headers['Content-Type']){opts.headers['Content-Type']='application/x-www-form-urlencoded'};if(opts.headers)delete opts.headers['Content-Length'];if(this.isSurge()||this.isLoon()){if(this.isSurge()&&this.isNeedRewrite){opts.headers=opts.headers||{};Object.assign(opts.headers,{'X-Surge-Skip-Scripting':false})};$httpClient.post(opts,(err,resp,body)=>{if(!err&&resp){resp.body=body,resp.statusCode=resp.status};callback(err,resp,body)})}else if(this.isQuanX()){opts.method='POST';if(this.isNeedRewrite){opts.opts=opts.opts||{};Object.assign(opts.opts,{hints:false})};$task.fetch(opts).then((resp)=>{const{statusCode:status,statusCode,headers,body}=resp;callback(null,{status,statusCode,headers,body},body)},(err)=>callback(err))}else if(this.isNode()){this.initGotEnv(opts);const{url,..._opts}=opts;this.got.post(url,_opts).then((resp)=>{const{statusCode:status,statusCode,headers,body}=resp;callback(null,{status,statusCode,headers,body},body)},(err)=>{const{message:error,response:resp}=err;callback(error,resp,resp&&resp.body)})}};time(fmt,ts=null){const date=ts?new Date(ts):new Date();var o={"M+":date.getMonth()+1,"d+":date.getDate(),"h":date.getHours()%12==0?12:date.getHours()/12<1?"上午"+date.getHours()%12:"下午"+date.getHours()%12,"H+":date.getHours(),"m+":date.getMinutes(),"s+":date.getSeconds(),"q+":Math.floor((date.getMonth()+3)/3),"S":date.getMilliseconds()};var week={"0":"\u65e5","1":"\u4e00","2":"\u4e8c","3":"\u4e09","4":"\u56db","5":"\u4e94","6":"\u516d"};if(/(y+)/.test(fmt)){fmt=fmt.replace(RegExp.$1,(date.getFullYear()+"").substr(4-RegExp.$1.length))};if(/(E+)/.test(fmt)){fmt=fmt.replace(RegExp.$1,((RegExp.$1.length>1)?(RegExp.$1.length>2?"\u661f\u671f":"\u5468"):"")+week[date.getDay()+""])};for(var k in o){if(new RegExp("("+k+")").test(fmt)){fmt=fmt.replace(RegExp.$1,(RegExp.$1.length==1)?(o[k]):(("00"+o[k]).substr((""+o[k]).length)))}};return fmt};msg(title=name,subt='',desc='',opts){const toEnvOpts=(rawopts)=>{if(!rawopts)return rawopts;if(typeof rawopts==='string'){if(this.isLoon())return rawopts;else if(this.isQuanX())return{'open-url':rawopts};else if(this.isSurge())return{url:rawopts};else return undefined}else if(typeof rawopts==='object'){if(this.isLoon()){let openUrl=rawopts.openUrl||rawopts.url||rawopts['open-url'];let mediaUrl=rawopts.mediaUrl||rawopts['media-url'];return{openUrl,mediaUrl}}else if(this.isQuanX()){let openUrl=rawopts['open-url']||rawopts.url||rawopts.openUrl;let mediaUrl=rawopts['media-url']||rawopts.mediaUrl;return{'open-url':openUrl,'media-url':mediaUrl}}else if(this.isSurge()){let openUrl=rawopts.url||rawopts.openUrl||rawopts['open-url'];return{url:openUrl}}}else{return undefined}};if(!this.isMute){if(this.isSurge()||this.isLoon()){$notification.post(title,subt,desc,toEnvOpts(opts))}else if(this.isQuanX()){$notify(title,subt,desc,toEnvOpts(opts))}};if(!this.isMuteLog){let logs=['','==============📣系统通知📣=============='];logs.push(title);subt?logs.push(subt):'';desc?logs.push(desc):'';console.log(logs.join('\n'));this.logs=this.logs.concat(logs)}};log(...logs){if(logs.length>0){this.logs=[...this.logs,...logs]};console.log(logs.join(this.logSeparator))};logErr(err,msg){const isPrintSack=!this.isSurge()&&!this.isQuanX()&&!this.isLoon();if(!isPrintSack){this.log('',`❗️${this.name}, 错误!`,err)}else{this.log('',`❗️${this.name}, 错误!`,err.stack)}};wait(time){return new Promise((resolve)=>setTimeout(resolve,time))};done(val={}){const endTime=new Date().getTime();const costTime=(endTime-this.startTime)/1000;this.log('',`🔔${this.name}, 结束! 🕛 ${costTime} 秒`);this.log();if(this.isSurge()||this.isQuanX()||this.isLoon()){$done(val)}}})(name,opts)} -------------------------------------------------------------------------------- /Task/GithubActions.md: -------------------------------------------------------------------------------- 1 |

Actions Secrets 环境变量配置说明 :

2 | 3 | | Name | 脚本相关YML | Value分割符 | 必须 / 可选 | 注意事项及样式(其中"xxx"代表任意字符) | 4 | | :-------: | :------: | :-------: | ------ | ------- | 5 | | YOUTH_HEADER | 中青看点 youth.yml | # | 必须 | 请求地址: "https://kd.youth.cn/WebApi/NewTaskIos/getTaskList",
中青签到请求头引用: uid=xxx&cookie_id=xxx&cookie=xxx| 6 | | YOUTH_ARTBODY | 同上 | & | 必须 | 请求地址: "https://ios.baertt.com/v5/article/complete",
阅读请求体: p=xxx | 7 | | YOUTH_REDBODY | 同上 | & | 必须 | 请求地址: "https://ios.baertt.com/v5/article/red_packet",
惊喜红包请求体: p=xxx | 8 | | YOUTH_TIME | 同上 | & | 必须 | 请求地址: "https://ios.baertt.com/v5/user/app_stay.json",
阅读时长请求体: p=xxx | 9 | | YOUTH_NOTIFY_CONTROL | 同上 | true/false | 可选 | 中青通知开关
默认当转盘次数为50或者100并且余额大于10元时推送通知 | 10 | | | | | - | | 11 | | YOUTH_READ | 中青阅读 youth_read.yml | &或者换行 | 必须 | 请求地址: "https://ios.baertt.com/v5/article/complete",
阅读请求体: p=xxx | 12 | | YOUTH_START | 中青浏览赚 youth_gain.yml | & | 必须 | 请求地址: "https://ios.baertt.com/v5/task/browse_start.json",
阅读请求体: p=xxx | 13 | | YOUTH_END | 同上 | & | 必须 | 请求地址: "https://ios.baertt.com/v5/task/browse_end.json",
阅读请求体: p=xxx | 14 | | | | - | | | 15 | | TXNEWS_COOKIE | 腾讯新闻 txnews.yml | & | 必须 | 请求地址: "https://api.inews.qq.com/event/v1/user/event/report?",
腾讯新闻 Cookie: openxx=xxx | 16 | | TXNEWS_SIGN | 同上 | # | 必须 | 请求地址同上, 阅读请求地址链接 | 17 | | TXNEWS_VIDEO | 同上 | # | 必须 | 请求地址同上, 视频请求地址链接 | 18 | | TXNEWS_NOTIFY_CONTROL | 同上 | true/false | 可选 | 腾讯新闻通知开关
默认当余额大于2元且通知间隔为50时推送通知 | 19 | | | | | - | | 20 | | DSJ_HEADERS | 电视家dianshijia.yml | #或换行 | 必须 | 请求地址: "http://api.gaoqingdianshi.com/api/v2/sign/signin",
签到请求头: { xxx } | 21 | | DSJ_DRAWAL | 同上 | #或换行 | 必须 | 请求地址: "http://api.gaoqingdianshi.com/api/v2/cash/withdrawal",
即提现请求地址 | 22 | | DSJ_NOTIFY_CONTROL | 同上 | true/false | 可选 | 电视家通知开关
默认不推送 | 23 | | | | | - | | 24 | | WB_TOKEN | 微博 | #或换行 | 必须 | 请求地址: "https://api.weibo.cn/xxx?gsid=",
签到token: uid=xxx&gsid=xxx&s=xxx | 25 | | | | | - | | 26 | 27 |
28 | 29 |
30 | 31 | 32 | 相关通知推送 33 | 34 | 35 | 36 | | Name | 脚本相关YML | Value分割符 | 必须 / 可选 | 注意事项及样式(其中"xxx"代表任意字符) | 37 | | :-------: | :------: | ------- | ------ | ------- | 38 | | PUSH_KEY | 微信推送 | - | 可选 | cookie失效推送[server酱的微信通知](http://sc.ftqq.com/3.version) | 39 | | BARK_PUSH | BARK推送 | - | 可选 | cookie失效推送BARK这个APP,填写内容是app提供的`设备码`,例如:https://api.day.app/123 ,那么此处的设备码就是`123`,再不懂看 [这个图](icon/bark.jpg) | 40 | | BARK_SOUND | BARK推送 | - | 可选 | bark推送声音设置,例如`choo`,具体值请在`bark`-`推送铃声`-`查看所有铃声` | 41 | | TG_BOT_TOKEN | telegram推送 | - | 可选 | tg推送,填写自己申请[@BotFather](https://t.me/BotFather)的Token,如`10xxx4:AAFcqxxxxgER5uw` , [具体教程](https://github.com/lxk0301/scripts/pull/37#issuecomment-692415594) | 42 | | TG_USER_ID | telegram推送 | - | 可选 | tg推送,填写[@getuseridbot](https://t.me/getuseridbot)中获取到的纯数字ID, [具体教程](https://github.com/lxk0301/scripts/pull/37#issuecomment-692415594) | 43 | | DD_BOT_TOKEN | 钉钉推送 | - | 可选 | 钉钉推送[官方文档](https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq) ,只需`https://oapi.dingtalk.com/robot/send?access_token=XXX` 等于符号后面的XXX, 注:如果钉钉推送只填写`DD_BOT_TOKEN`,那么安全设置需勾选`自定义关键词`,内容输入输入`账号`即可,其他安全设置不要勾选 | 44 | | DD_BOT_SECRET | 钉钉推送 | - | 可选 | 密钥,机器人安全设置页面,加签一栏下面显示的SEC开头的字符串 , 注:填写了`DD_BOT_TOKEN`和`DD_BOT_SECRET`,钉钉机器人安全设置只需勾选`加签`即可,其他选项不要勾选,再不懂看 [这个图](icon/DD_bot.png) | 45 | 46 |
47 | 48 | ## 以上为配置方法详见[@lxk0301](https://raw.githubusercontent.com/lxk0301/jd_scripts/master/githubAction.md) 49 | 50 | *** 51 | ## ***感谢*** 52 | * [@lxk0301](https://t.me/lxk0301) 53 | * [@chavy](https://t.me/chavyleung) 54 | 55 | -------------------------------------------------------------------------------- /Task/README.md: -------------------------------------------------------------------------------- 1 | 2 | #本仓库不再维护 3 | 4 | 5 | 6 | ## 免责声明: 7 | 8 | * 本仓库发布的Script项目中涉及的任何解锁和解密分析脚本,仅用于测试和学习研究,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断. 9 | 10 | * Sunert对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害. 11 | 12 | * 间接使用脚本的任何用户,包括但不限于建立VPS或在某些行为违反国家/地区法律或相关法规的情况下进行传播, Sunert 对于由此引起的任何隐私泄漏或其他后果概不负责. 13 | 14 | * 请勿将Script项目的任何内容用于商业或非法目的,否则后果自负. 15 | 16 | * 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关脚本. 17 | 18 | * 任何以任何方式查看此项目的人或直接或间接使用该Script项目的任何脚本的使用者都应仔细阅读此声明。Sunert保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或Script项目的规则,则视为您已接受此免责声明. 19 | 20 | ##### 您必须在下载后的24小时内从计算机或手机中完全删除以上内容. 21 | ***您使用或者复制了本仓库且本人制作的任何脚本,则视为`已接受`此免责声明,请仔细阅读*** 22 | 23 | ####开发者不易,请赏杯茶水费 24 |
25 | 26 | 27 | ### 特别感谢: 28 | * [@NobyDa](https://github.com/NobyDa) 29 | 30 | * [@chavyleung](https://github.com/chavyleung) 31 | 32 | 33 | -------------------------------------------------------------------------------- /Task/Sunert_Task.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sunert Task gallery", 3 | "description": "https://github.com/Sunert/Scripts", 4 | "task": [ 5 | { 6 | "config": "0 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/moji.js, tag=墨迹天气, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/moji.png, enabled=true" 7 | }, 8 | { 9 | "config": "0 0 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/tvpreview.js, tag=节目预告, img-url=https://raw.githubusercontent.com/Sunert/Profiles/master/QuantumultX/Rules/Images/icon/tvpreview.png, enabled=true" 10 | }, 11 | { 12 | "config": "0 0 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/trainquery.js, tag=12306火车时刻, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/12306.png, enabled=false" 13 | }, 14 | { 15 | "config": "7 10 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/translate.js, tag=谷歌中英互译, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/translate.png, enabled=false" 16 | }, 17 | { 18 | "config": "0 0 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js, tag=中国电信套餐, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/telecominfinty.png, enabled=true", 19 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/dianxin/qx_rewite.txt, tag=天翼电信套餐, update-interval=-1, opt-parser=false, enabled=true" 20 | }, 21 | { 22 | "config": "30 9 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, tag=腾讯新闻, img-url= https://raw.githubusercontent.com/Orz-3/mini/master/Color/txnews.png, enabled=true", 23 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/txnews/qx_rewite.txt, tag=腾讯新闻, update-interval=-1, opt-parser=false, enabled=true" 24 | }, 25 | { 26 | "config": "30 10 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jddj.js, tag=京东到家, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jddj.png, enabled=true", 27 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/jd/qx_rewite.txt, tag=京东到家, update-interval=-1, opt-parser=false, enabled=true" 28 | }, 29 | { 30 | "config": "40 10 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/lkyl.js, tag=来客有礼, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/lkyl.png, enabled=true", 31 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/jd/qx_rewite.txt, tag=来客有礼, update-interval=-1, opt-parser=false, enabled=true" 32 | }, 33 | { 34 | "config": "0 0 7,22 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js, tag=电视家, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/dianshijia.png, enabled=true", 35 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/dianshijia/qx_rewite.txt, tag=电视家, update-interval=-1, opt-parser=false, enabled=true" 36 | }, 37 | { 38 | "config": "0 11 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js, tag=快手, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/kuaishou.png, enabled=true", 39 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/kuaishou/qx_rewite.txt, tag=快手, update-interval=-1, opt-parser=false, enabled=true" 40 | }, 41 | { 42 | "config": "0 11 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js, tag=微博&钱包, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/weibo.png, enabled=true", 43 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/sina/qx_rewite.txt, tag=微博, update-interval=-1, opt-parser=false, enabled=true" 44 | }, 45 | { 46 | "config": "20 11 8 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, tag=中青看点极速版, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/youth.png, enabled=true", 47 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/qx_rewite.txt, tag=中青看点, update-interval=-1, opt-parser=false, enabled=true" 48 | }, 49 | { 50 | "config": "20 15 */2 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/Youth_Read.js, tag=中青自动阅读, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/youth.png, enabled=true", 51 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/qx_youthread.txt, tag=中青阅读, update-interval=-1, opt-parser=false, enabled=true" 52 | }, 53 | { 54 | "config": "20 5 10 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js, tag=中青浏览赚, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/youth.png, enabled=true", 55 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/qx_rewite.txt, tag=中青看点, update-interval=-1, opt-parser=false, enabled=true" 56 | }, 57 | { 58 | "config": "4 0 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js, tag=数码之家, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/mydigit.png, enabled=true", 59 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/digit_home/qx_rewite.txt, tag=数码之家, update-interval=-1, opt-parser=false, enabled=true" 60 | }, 61 | { 62 | "config": "*/10 */3 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jukan.js, tag=聚看点, img-url=https://raw.githubusercontent.com/Sunert/Profiles/master/QuantumultX/Rules/Images/icon/jukan.png, enabled=true", 63 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/jukan/qx_rewite.txt, tag=聚看点, update-interval=-1, opt-parser=false, enabled=true" 64 | }, 65 | { 66 | "config": "*/30 */5 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/baidu_speed.js, tag=百度极速版, img-url=https://raw.githubusercontent.com/Sunert/Profiles/master/QuantumultX/Rules/Images/icon/baiduspeed.png, enabled=true", 67 | "addons": "https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/baidu/qx_rewite.txt, tag=百度极速, update-interval=-1, opt-parser=false, enabled=true" 68 | } 69 | ] 70 | } 71 | -------------------------------------------------------------------------------- /Task/backup/youth_catcher/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoodHolidays/Scripts/dd80416c845098939c1aa9de85a7c2cd64950066/Task/backup/youth_catcher/1.png -------------------------------------------------------------------------------- /Task/backup/youth_catcher/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoodHolidays/Scripts/dd80416c845098939c1aa9de85a7c2cd64950066/Task/backup/youth_catcher/2.png -------------------------------------------------------------------------------- /Task/backup/youth_catcher/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoodHolidays/Scripts/dd80416c845098939c1aa9de85a7c2cd64950066/Task/backup/youth_catcher/3.png -------------------------------------------------------------------------------- /Task/backup/youth_catcher/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoodHolidays/Scripts/dd80416c845098939c1aa9de85a7c2cd64950066/Task/backup/youth_catcher/4.png -------------------------------------------------------------------------------- /Task/backup/youth_catcher/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoodHolidays/Scripts/dd80416c845098939c1aa9de85a7c2cd64950066/Task/backup/youth_catcher/5.png -------------------------------------------------------------------------------- /Task/backup/youth_catcher/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/GoodHolidays/Scripts/dd80416c845098939c1aa9de85a7c2cd64950066/Task/backup/youth_catcher/6.png -------------------------------------------------------------------------------- /Task/backup/youth_catcher/getdata.py: -------------------------------------------------------------------------------- 1 | # 数据获取,更新模式追加 2 | # charles 3 | # ios.baertt.com 4 | 5 | 6 | import json 7 | 8 | YOUTH_ARTBODY = [] 9 | YOUTH_REDBODY = [] 10 | YOUTH_TIME = [] 11 | YOUTH_START = [] 12 | YOUTH_END = [] 13 | YOUTH_START_ALL = [] 14 | YOUTH_END_ALL = [] 15 | YOUTH = {'YOUTH_ARTBODY':YOUTH_ARTBODY,'YOUTH_REDBODY':YOUTH_REDBODY,'YOUTH_TIME':YOUTH_TIME,'YOUTH_START':YOUTH_START,'YOUTH_END':YOUTH_END} 16 | 17 | with open('youth.json', 'r') as f: 18 | data = json.load(f) 19 | for d in data: 20 | # YOUTH_ARTBODY 21 | if d['path'] == '/v5/article/info/get.json': 22 | YOUTH_ARTBODY.append(d['query']) 23 | 24 | #YOUTH_REDBODY 25 | if d['path'] == '/v5/article/red_packet.json': 26 | YOUTH_REDBODY.append(d['request']['body']['text']) 27 | 28 | # YOUTH_TIME 29 | if d['path'] == '/v5/user/app_stay.json': 30 | YOUTH_TIME.append(d['request']['body']['text']) 31 | 32 | # YOUTH_START 33 | if d['path'] == '/v5/task/browse_start.json': 34 | YOUTH_START_ALL.append(d) 35 | 36 | # YOUTH_END 37 | if d['path'] == '/v5/task/browse_end.json': 38 | YOUTH_END_ALL.append(d) 39 | 40 | str_score = "\"score\":0" 41 | str_success = "\"success\":true" 42 | for ye in YOUTH_END_ALL: 43 | if str_score not in ye['response']['body']['text'] and str_success in ye['response']['body']['text']: 44 | for ys in YOUTH_START_ALL: 45 | if ye['clientPort'] == ys['clientPort']: 46 | YOUTH_START.append(ys['request']['body']['text']) 47 | YOUTH_END.append(ye['request']['body']['text']) 48 | try: 49 | for y in YOUTH: 50 | f = open(y, mode='a+', encoding='UTF-8') 51 | for t in YOUTH[y]: 52 | f.write(t+"&") 53 | 54 | finally: 55 | if f: 56 | f.close() -------------------------------------------------------------------------------- /Task/backup/youth_catcher/readme.md: -------------------------------------------------------------------------------- 1 | 感谢FKPYW提供的中青看点抓包Python包和使用教程 -------------------------------------------------------------------------------- /Task/formatJson.js: -------------------------------------------------------------------------------- 1 | function formatJson(json,options){var reg=null,formatted='',pad=0,PADDING=' ';options=options||{};options.newlineAfterColonIfBeforeBraceOrBracket=(options.newlineAfterColonIfBeforeBraceOrBracket===true)?true:false;options.spaceAfterColon=(options.spaceAfterColon===false)?false:true;if(typeof json!=='string'){json=JSON.stringify(json);}else{json=JSON.parse(json);json=JSON.stringify(json)};json=json.replace(/([\{\}])/g,'\r\n$1\r\n');json=json.replace(/([\[\]])/,'\r\n$1\r\n');json=json.replace(/(\,)/g,'$1\r\n');json=json.replace(/(\r\n\r\n)/g,'\r\n');json=json.replace(/\r\n\,/g,',');if(!options.newlineAfterColonIfBeforeBraceOrBracket){json=json.replace(/\:\r\n\{/g,':{');json=json.replace(/\:\r\n\[/g,':[')};if(options.spaceAfterColon){json=json.replace(/\:/g,':')};(json.split('\r\n')).forEach(function(node,index){var i=0,indent=0,padding='';if(node.match(/\{$/)||node.match(/\[$/)){indent=1}else if(node.match(/\}/)||node.match(/\]/)){if(pad!==0){pad-=1}}else{indent=0};for(i=0;i -1) { 13 | console.log(`您的cookie选择的是用&隔开\n`) 14 | CookieJDs = process.env.JD_COOKIE.split('&'); 15 | } else if (process.env.JD_COOKIE.indexOf('\n') > -1) { 16 | console.log(`您的cookie选择的是用换行隔开\n`) 17 | CookieJDs = process.env.JD_COOKIE.split('\n'); 18 | } else { 19 | CookieJDs = process.env.JD_COOKIE.split(); 20 | } 21 | console.log(`\n==================== 共有${CookieJDs.length}个京东账号Cookie =========`); 22 | console.log(`\n================== 脚本执行来自 github action =====================\n`) 23 | console.log(`================== 脚本执行-国际标准时间(UTC):${new Date().toLocaleString()} =====================\n`) 24 | console.log(`================== 脚本执行- 北京时间(UTC+8):${new Date(new Date().getTime() + 8 * 60 * 60 * 1000).toLocaleString()} =====================\n`) 25 | } 26 | for (let i = 0; i < CookieJDs.length; i++) { 27 | const index = (i + 1 === 1) ? '' : (i + 1); 28 | exports['CookieJD' + index] = CookieJDs[i]; 29 | } 30 | -------------------------------------------------------------------------------- /Task/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sunert", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "jingxi.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/Sunert/Scripts.git" 12 | }, 13 | "keywords": [], 14 | "author": "", 15 | "license": "ISC", 16 | "bugs": { 17 | "url": "https://github.com/Sunert/Scripts/issues" 18 | }, 19 | "homepage": "https://github.com/Sunert/Scripts#readme", 20 | "dependencies": { 21 | "crypto-js": "^4.0.0", 22 | "got": "^11.7.0", 23 | "http-server": "^0.12.3", 24 | "tough-cookie": "^4.0.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Task/translate.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | ~~~~~~~~~~~~~~~~ 4 | QX 1.0.6+ : 5 | 6 | [task_local] 7 | 0 * * * * translate.js, tag=谷歌中英互译 8 | # Remote 远程 9 | 0 10 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/translate.js, 谷歌中英互译 10 | ~~~~~~~~~~~~~~~~ 11 | Surge 4.0 : 12 | [Script] 13 | 谷歌中英互译 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/translate.js,script-update-interval=0 14 | 15 | ~~~~~~~~~~~~~~~~~ 16 | Loon 2.1.0+ 17 | [Script] 18 | cron "04 00 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/translate.js, enabled=true, tag=谷歌中英互译 19 | 20 | ---------------- 21 | 22 | * 谷歌中英互译,适合简单的中英短语单词互译 23 | */ 24 | 25 | var TEXT = 'CL Online network Technology Co.LTD' ; //翻译内容填入引号内 26 | 27 | const $ = new Env("谷歌翻译"); 28 | let ENword = $.getdata('word') || TEXT; 29 | let setword = encodeURI(ENword); 30 | const cnToenUrl = { 31 | url: "http://translate.google.cn/translate_a/single?client=gtx&sl=zh-CN&tl=en&dt=t&q=" + setword 32 | }; 33 | const enTocnUrl = { 34 | url: "http://translate.google.cn/translate_a/single?client=gtx&sl=auto&tl=zh-CN&dt=t&q=" + setword 35 | }; 36 | 37 | !(async() => { 38 | if (/[a-zA-Z.,]+$/.test(ENword)) { 39 | await ENWORD() 40 | } 41 | if (/[\u4e00-\u9fa5]+$/.test(ENword)) { 42 | await CNWORD() 43 | } 44 | })() 45 | .catch((e) => $.logErr(e)) 46 | .finally(() => $.done()) 47 | 48 | function CNWORD() { 49 | return new Promise((resolve, reject) => { 50 | $.get(cnToenUrl, (err, resp, data) => { 51 | //console.log(data) 52 | try { 53 | enres = data.split(/[\"]+/g)[1] 54 | $.msg(`谷歌翻译 中译英`, `🇨🇳 中文原文 : ` + ENword, `🇬🇧 翻译结果 : ` + enres) 55 | } catch (err) { 56 | $.msg(`谷歌翻译 中译英`, `🇨🇳 中文原文 : ` + ENword, `🇬🇧 翻译结果 : 失败 \n` + err) 57 | } 58 | resolve() 59 | }) 60 | }) 61 | } 62 | 63 | function ENWORD() { 64 | return new Promise((resolve, reject) => { 65 | $.get(enTocnUrl, (err, resp, data) => { 66 | //console.log(data) 67 | try { 68 | cnres = data.split(/[\"]+/g)[1] 69 | $.msg(`谷歌翻译 英译中`, `🇨🇳 英文原文 : ` + ENword, `🇬🇧 翻译结果 : ` + cnres) 70 | } catch (err) { 71 | $.msg(`谷歌翻译 英译中`, `🇨🇳 英文原文 : ` + ENword, `🇬🇧 翻译结果 : 失败 \n` + err) 72 | } 73 | resolve() 74 | }) 75 | }) 76 | } 77 | // prettier-ignore 78 | 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)} -------------------------------------------------------------------------------- /Task/youth_env.js: -------------------------------------------------------------------------------- 1 | if (process.env.YOUTH_HEADER && process.env.YOUTH_HEADER.indexOf('#') > -1) { 2 | cookieYouth = process.env.YOUTH_HEADER.split('#'); 3 | } else if (process.env.YOUTH_HEADER && process.env.YOUTH_HEADER.indexOf('\n') > -1) { 4 | cookieYouth = process.env.YOUTH_HEADER.split('\n'); 5 | } else { 6 | cookieYouth = [process.env.YOUTH_HEADER] 7 | }; 8 | if (process.env.YOUTH_ARTBODY && process.env.YOUTH_ARTBODY.indexOf('&') > -1) { 9 | ARTBODYs = process.env.YOUTH_ARTBODY.split('&'); 10 | } else if (process.env.YOUTH_ARTBODY && process.env.YOUTH_ARTBODY.indexOf('\n') > -1) { 11 | ARTBODYs = process.env.YOUTH_ARTBODY.split('\n'); 12 | } else { 13 | ARTBODYs = [process.env.YOUTH_ARTBODY] 14 | }; 15 | if (process.env.YOUTH_TIME && process.env.YOUTH_TIME.indexOf('&') > -1) { 16 | READTIME = process.env.YOUTH_TIME.split('&'); 17 | } else if (process.env.YOUTH_TIME && process.env.YOUTH_TIME.indexOf('\n') > -1) { 18 | READTIME = process.env.YOUTH_TIME.split('\n'); 19 | } else { 20 | READTIME = [process.env.YOUTH_TIME] 21 | } -------------------------------------------------------------------------------- /TaskConf/README.md: -------------------------------------------------------------------------------- 1 | # 目录导航 2 | 3 | 本目录为快捷直达所需配置地址页,点击蓝色字体即可 4 | 相关配置还在完善中,敬请等待 5 | 6 | > [回到主页](https://github.com/Sunert/Scripts) 7 | 8 | ### 一、本仓库重写配置集 9 | * Surge 10 | * [Cookie](https://raw.githubusercontent.com/Sunert/Profiles/master/Surge/Modules/Sunert_Cookie.sgmodule) 11 | * [任务模块](https://raw.githubusercontent.com/Sunert/Profiles/master/Surge/Modules/Sunert_Task.sgmodule) 12 |

13 | * Loon 14 | * [Cookie](https://raw.githubusercontent.com/Sunert/Profiles/master/Loon/Sunet_Cookie.plugin) 15 | * [任务插件](https://raw.githubusercontent.com/Sunert/Profiles/master/Loon/Sunert_Task.plugin) 16 |

17 | * Quantumult X 18 | * [Cookie](https://raw.githubusercontent.com/Sunert/Profiles/master/QuantumultX/Rewrite/Sunert_Cookie.conf) 19 | * [任务仓库](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/Sunert_Task.json) 20 | 21 | ### 二、[Boxjs订阅](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sunert.boxjs.json) 22 | 23 | ``` 24 | https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sunert.boxjs.json 25 | ``` 26 | 27 | ### 三、任务配置目录 28 | 29 | * 中青看点 30 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/youth) 31 | * [脚本地址](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js) 32 |

33 | * 腾讯新闻 34 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/txnews) 35 | * [脚本地址](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js) 36 |

37 | * 百度极速 38 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/baidu) 39 | * [脚本地址](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/baidu_speed.js) 40 |

41 | * 聚看点 42 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/jukan) 43 | * [脚本地址](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jukan.js) 44 |

45 | * 电视家 46 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/dianshijia) 47 | * [脚本地址](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js) 48 |

49 | * 电信套餐查询 50 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/dianxin) 51 | * [脚本地址](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js) 52 |

53 | * 快手视频签到 54 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/kuaishou) 55 | * [脚本地址](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js) 56 |

57 | * 数码之家 58 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/digital_home) 59 | * [脚本地址](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js) 60 |

61 | * 京东系 62 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/jd) 63 | * 脚本地址 64 | * [京东到家](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jddk.js) 65 | * [来客有礼](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/lkyl.js) 66 |

67 | * 新浪系 68 | * [任务配置](https://github.com/Sunert/Scripts/tree/master/TaskConf/sina) 69 | * 脚本地址 70 | * [微博](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js) 71 | * [新浪新闻](https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sinanews.js) 72 | 73 | -------------------------------------------------------------------------------- /TaskConf/baidu/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | hostname = haokan.baidu.com 2 | 3 | https:\/\/haokan\.baidu\.com\/activity\/h5\/vault\?productid=\d url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/baidu_speed.js -------------------------------------------------------------------------------- /TaskConf/dianshijia/loon.plugin: -------------------------------------------------------------------------------- 1 | # 电视家重写配置 2 | 3 | [Script] 4 | cron "1 7,12,20 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js, tag=电视家 5 | 6 | http-request http:\/\/api\.gaoqingdianshi\.com\/api\/v\d\/sign\/signin script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js, timeout=10, tag=电视家 7 | 8 | http-request http:\/\/api\.gaoqingdianshi\.com\/api\/v2\/cash\/withdrawal script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js, timeout=10, tag=电视家 -------------------------------------------------------------------------------- /TaskConf/dianshijia/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | # hostname = 2 | http:\/\/api\.gaoqingdianshi\.com\/api\/v\d\/sign\/signin url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 3 | 4 | http:\/\/api\.gaoqingdianshi\.com\/api\/v2\/cash\/withdrawal url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 5 | -------------------------------------------------------------------------------- /TaskConf/dianshijia/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [toc] 4 | 5 | #
电视家使用说明
6 | 7 | [跳转至底部](#注意事项) ---- [回到主页](https://github.com/Sunert/Scripts) 8 | 9 | ### IOS配置教程 10 | 11 | #### Surge: 12 | * [模块地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/dianshijia/surge.sgmodule) 13 | 14 | ``` 15 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/dianshijia/surge.sgmodule 16 | ``` 17 | * 本地重写 18 | 19 | ``` 20 | [Script] 21 | 22 | 电视家 = type=cron,cronexp=1 7,12,20 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js,script-update-interval=0 23 | 24 | 电视家 = type=http-request,pattern=http:\/\/api\.gaoqingdianshi\.com\/api\/v\d\/sign\/signin,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 25 | 26 | 电视家 = type=http-request,pattern=http:\/\/api\.gaoqingdianshi\.com\/api\/v2\/cash\/withdrawal,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 27 | ``` 28 | #### Shadowrocket(Cron配置): 29 | 30 | ``` 31 | [Script] 32 | 电视家 = type=cron,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js,cronexpr="1 7,12,20 * * *",timeout=20,enable=true 33 | ``` 34 | #### Loon: 35 | 36 | * [插件地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/dianshijia/loon.plugin) 37 | 38 | ``` 39 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/dianshijia/loon.plugin 40 | ``` 41 | * 本地重写 42 | 43 | ``` 44 | [Script] 45 | cron "1 7,12,20 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js, tag=电视家 46 | 47 | http-request http:\/\/api\.gaoqingdianshi\.com\/api\/v\d\/sign\/signin script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js, timeout=10, tag=电视家 48 | 49 | http-request http:\/\/api\.gaoqingdianshi\.com\/api\/v2\/cash\/withdrawal script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js, timeout=10, tag=电视家 50 | ``` 51 | #### Quantumult X: 52 | * [远程重写配置](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/dianshijia/qx_rewite.txt) 53 | 54 | ``` 55 | [rewrite_remote] 56 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/dianshijia/qx_rewite.txt 57 | ``` 58 | * 本地重写配置 59 | 60 | ``` 61 | [rewrite_local] 62 | http:\/\/api\.gaoqingdianshi\.com\/api\/v\d\/sign\/signin url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 63 | 64 | http:\/\/api\.gaoqingdianshi\.com\/api\/v2\/cash\/withdrawal url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 65 | ``` 66 | * 本地任务配置 67 | 68 | ``` 69 | [task_local] 70 | 1 7,12,20 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 71 | ``` 72 | ### 获取Cookie方法 73 | 74 | 赞赏:电视家邀请码`893988`,农妇山泉 -> 有点咸,万分感谢 75 | 76 | 1. APP登陆账号后,点击菜单栏'领现金',即可获取Cookie 77 | 2. 进入提现页面,点击随机金额,可获取提现地址!! 78 | 3. 无需添加 hostname,每日7点、12点、20点各运行一次,其他随意 79 | 80 | 81 | >>> [回到顶部](#IOS配置教程) 82 | 83 | ### Nodejs 配置密钥 (Github Actions) 84 | 85 |
86 | 87 | 88 | 89 | Actions Secrets 90 | 91 | 92 | 93 | | Name | 脚本相关YML | Value分割符 | 必须 / 可选 | 注意事项及样式(其中"xxx"代表任意字符) | 94 | | :-------: | :------: | :-------: | ------ | ------- | 95 | | DSJ_HEADERS | 电视家dianshijia.yml | #或换行 | 必须 | 请求地址: "http://api.gaoqingdianshi.com/api/v2/sign/signin",
签到请求头: { xxx } | 96 | | DSJ_DRAWAL | 同上 | #或换行 | 必须 | 请求地址: "http://api.gaoqingdianshi.com/api/v2/cash/withdrawal",
即提现请求地址 | 97 | | DSJ_NOTIFY_CONTROL | 同上 | true/false | 可选 | 电视家通知开关
默认不推送 | 98 | 99 |
100 | 101 | >>> [回到上一页](..) 102 | 103 | ### 注意事项: 104 | > 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | -------------------------------------------------------------------------------- /TaskConf/dianshijia/surge.sgmodule: -------------------------------------------------------------------------------- 1 | #!name= dianshijia Rewrite 2 | #!desc= 电视家重写配置 3 | #!system=ios 4 | 5 | [Script] 6 | 电视家 = type=cron,cronexp=1 7,12,20 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js,script-update-interval=0 7 | 8 | 电视家 = type=http-request,pattern=http:\/\/api\.gaoqingdianshi\.com\/api\/v\d\/sign\/signin,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js 9 | 10 | 电视家 = type=http-request,pattern=http:\/\/api\.gaoqingdianshi\.com\/api\/v2\/cash\/withdrawal,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/dianshijia.js -------------------------------------------------------------------------------- /TaskConf/dianxin/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | hostname = e.189.cn 2 | 3 | ^https?:\/\/e\.189\.cn\/store\/user\/package_detail\.do url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js 4 | -------------------------------------------------------------------------------- /TaskConf/dianxin/readme.md: -------------------------------------------------------------------------------- 1 | 更新时间: 2020-10-12 20:05 2 | 1.根据原版脚本修改,增加上月账单信息,需重新获取Cookie,打开app即可 3 | 2.适合流量畅享套餐使用,其他套餐,自行测试,此项仅供测试 4 | 3.可能因地区不同,脚本不一定适用 5 | By Macsuny 修改 6 | 感谢原版作者提供脚本 7 | * 下载安装 天翼账号中心 登陆 获取authToken 8 | 9 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 10 | # quantumultx 11 | [rewrite_local] 12 | ^https?:\/\/e\.189\.cn\/store\/user\/package_detail\.do url script-request-header telecomInfinity.js 13 | # MITM = e.189.cn 14 | [task_local] 15 | 10 8 * * * telecomInfinity.js 16 | 17 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 18 | # [Loon] 19 | cron "04 00 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js, enabled=true, tag=电信套餐查询 20 | 21 | http-request ^https?:\/\/e\.189\.cn\/store\/user\/package_detail\.do script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js 22 | 23 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 24 | 25 | # Surge 4.0 : 26 | [Script] 27 | 电信套餐查询 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js,script-update-interval=0 28 | 29 | 电信套餐查询 = script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/telecomInfinity.js,type=http-request,pattern=https?:\/\/e\.189\.cn\/store\/user\/package_detail\.do 30 | 31 | ~~~~~~~~~~~~~~~~~~~~~ 32 | # MITM 33 | hostname = e.189.cn 34 | -------------------------------------------------------------------------------- /TaskConf/digital_home/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | hostname = www.mydigit.cn 2 | 3 | https:\/\/www\.mydigit\.cn\/plugin\.php\?id=k_misign:sign&operation=qiandao url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js 4 | -------------------------------------------------------------------------------- /TaskConf/digital_home/readme.md: -------------------------------------------------------------------------------- 1 | 本脚本仅适用于数码之家每日签到 2 | 获取Cookie方法: 3 | 1.将下方[rewrite_local]和[MITM]地址复制的相应的区域 4 | 下, 5 | 6 | 2.登陆数码之家电脑版网页,签到一次,即可获取Cookie,获取后请禁用或注释掉❗️ 签过到的需次日获取 7 | 8 | 3.非专业人士制作,欢迎各位大佬提出宝贵意见和指导 9 | 10 | by Macsuny 11 | ~~~~~~~~~~~~~~~~ 12 | Surge 4.0 : 13 | [Script] 14 | 数码之家 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js,script-update-interval=0 15 | 16 | # 数码之家 Cookie. 17 | 数码之家 = type=http-request,pattern=https:\/\/www\.mydigit\.cn\/plugin\.php\?id=k_misign:sign&operation=qiandao,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js 18 | ~~~~~~~~~~~~~~~~ 19 | Loon 2.1.0+ 20 | [Script] 21 | cron "04 00 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js, enabled=true, tag=数码之家 22 | 23 | http-request https:\/\/www\.mydigit\.cn\/plugin\.php\?id=k_misign:sign&operation=qiandao script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js 24 | ----------------- 25 | 26 | QX 1.0. 7+ : 27 | [task_local] 28 | 0 9 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js 29 | 30 | [rewrite_local] 31 | https:\/\/www\.mydigit\.cn\/plugin\.php\?id=k_misign:sign&operation=qiandao url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/mydigit.js 32 | ~~~~~~~~~~~~~~~~ 33 | [MITM] 34 | hostname = www.mydigit.cn 35 | -------------------------------------------------------------------------------- /TaskConf/jd/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | # 增加lxk0301大佬多ck脚本 2 | 3 | hostname = daojia.jd.com, draw.jdfcloud.com, me-api.jd.com 4 | 5 | https:\/\/daojia\.jd\.com\/client\?_jdrandom=\d{13}&functionId=%2Fsignin url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jddj.js 6 | 7 | https:\/\/draw\.jdfcloud\.com\/\/api\/bean\/square\/silverBean\/task\/get\? url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/lkyl.js 8 | 9 | ^https:\/\/me-api\.jd\.com\/user_new\/info\/GetJDUserInfoUnion url script-request-header https://jdsharedresourcescdn.azureedge.net/jdresource/JD_extra_cookie.js 10 | -------------------------------------------------------------------------------- /TaskConf/jd/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TaskConf/jukan/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | hostname = www.xiaodouzhuan.cn 2 | 3 | https:\/\/www\.xiaodouzhuan\.cn\/jkd\/newMobileMenu\/infoMe\.action url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/jukan.js 4 | -------------------------------------------------------------------------------- /TaskConf/jukan/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TaskConf/kuaishou/loon.plugin: -------------------------------------------------------------------------------- 1 | 2 | [Script] 3 | cron "4 0 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js, enabled=true, tag=快手视频 4 | 5 | http-request https:\/\/activity\.m\.kuaishou\.com\/rest\/wd\/taskCenter\/\w+\/module\/list script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js, enabled=true, tag=快手视频正式版 6 | 7 | http-request https:\/\/nebula\.kuaishou\.com\/nebula\/task\/earning\? script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js, enabled=true, tag=快手视频极速版 8 | 9 | [MITM] 10 | hostname = nebula.kuaishou.com, activity.m.kuaishou.com -------------------------------------------------------------------------------- /TaskConf/kuaishou/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | hostname = nebula.kuaishou.com, activity.m.kuaishou.com 2 | 3 | https:\/\/activity\.m\.kuaishou\.com\/rest\/wd\/taskCenter\/\w+\/module\/list url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 4 | 5 | https:\/\/nebula\.kuaishou\.com\/nebula\/task\/earning\? url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 6 | -------------------------------------------------------------------------------- /TaskConf/kuaishou/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [toc] 4 | 5 | #
快手视频签到使用说明
6 | 7 | [跳转至底部](#注意事项) ---- [回到主页](https://github.com/Sunert/Scripts) 8 | 9 | ### IOS配置教程 10 | ``` 11 | [MITM] 12 | hostname = nebula.kuaishou.com, activity.m.kuaishou.com 13 | ``` 14 | #### Surge: 15 | * [模块地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/kuaishou/surge.sgmodule) 16 | 17 | ``` 18 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/kuaishou/surge.sgmodule 19 | ``` 20 | * 本地重写 21 | 22 | ``` 23 | [Script] 24 | 快手视频 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js,script-update-interval=0 25 | 26 | # 获取快手视频 Cookie. 27 | 快手正式版 = type=http-request,pattern=https:\/\/activity\.m\.kuaishou\.com\/rest\/wd\/taskCenter\/\w+\/module\/list,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 28 | 快手极速版 = type=http-request,pattern=https:\/\/nebula\.kuaishou\.com\/nebula\/task\/earning\?,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 29 | ``` 30 | #### Shadowrocket(Cron配置): 31 | 32 | ``` 33 | [Script] 34 | 快手视频 = type=cron,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js,cronexpr="35 5 0 * * *",timeout=20,enable=true 35 | ``` 36 | #### Loon: 37 | 38 | * [插件地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/kuaishou/loon.plugin) 39 | 40 | ``` 41 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/kuaishou/loon.plugin 42 | ``` 43 | * 本地重写 44 | 45 | ``` 46 | [Script] 47 | cron "4 0 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js, enabled=true, tag=快手视频 48 | 49 | http-request https:\/\/activity\.m\.kuaishou\.com\/rest\/wd\/taskCenter\/\w+\/module\/list script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js, enabled=true, tag=快手视频正式版 50 | http-request https:\/\/nebula\.kuaishou\.com\/nebula\/task\/earning\? script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js, enabled=true, tag=快手视频极速版 51 | ``` 52 | #### Quantumult X: 53 | * [远程重写配置](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/kuaishou/qx_rewite.txt) 54 | 55 | ``` 56 | [rewrite_remote] 57 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/kuaishou/qx_rewite.txt 58 | ``` 59 | * 本地重写配置 60 | 61 | ``` 62 | [rewrite_local] 63 | https:\/\/activity\.m\.kuaishou\.com\/rest\/wd\/taskCenter\/\w+\/module\/list url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 64 | https:\/\/nebula\.kuaishou\.com\/nebula\/task\/earning\? url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 65 | ``` 66 | * 本地任务配置 67 | 68 | ``` 69 | [task_local] 70 | 1 0 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js, tag=快手视频 71 | ``` 72 | ### 获取Cookie方法 73 | 1. 点击视频页悬浮红包,或者进入设置,点击"积分兑好礼"即可 74 | 75 | >>> [回到顶部](#IOS配置教程) 76 | 77 | ### Nodejs 配置密钥 (Github Actions) 78 | 79 |
80 | 81 | 82 | 83 | Actions Secrets 84 | 85 | 86 | 87 | | Name | 脚本相关YML | Value分割符 | 必须 / 可选 | 注意事项及样式(其中"xxx"代表任意字符) | 88 | | :-------: | :------: | :-------: | ------ | ------- | 89 | | KS_TOKEN | 快手视频 | &或换行 | 必须 | 请求地址: "https://activity.m.kuaishou.com/rest/wd/taskCenter/lowActive/module/list",
任务Cookie: uid=xxx&gsid=xxx&s=xxx | 90 | 91 |
92 | 93 | >>> [回到上一页](..) 94 | 95 | ### 注意事项: 96 | * 本脚本仅限快手视频"低活国庆"部分任务,不能自动刷视频,可以自动领取视频积分 97 | * 本脚本仅适用于快手双版本签到,仅支持正式版获取多Cookie,建议使用正式版获取Cookie 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /TaskConf/kuaishou/surge.sgmodule: -------------------------------------------------------------------------------- 1 | 2 | #!name= kuaishou Rewrite 3 | #!desc= 快手重写配置 4 | #!system=ios 5 | 6 | [Script] 7 | 快手视频 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js,script-update-interval=0 8 | 9 | 快手正式版 = type=http-request,pattern=https:\/\/activity\.m\.kuaishou\.com\/rest\/wd\/taskCenter\/\w+\/module\/list,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 10 | 快手极速版 = type=http-request,pattern=https:\/\/nebula\.kuaishou\.com\/nebula\/task\/earning\?,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/kuaishou.js 11 | 12 | [MITM] 13 | hostname = %APPEND% nebula.kuaishou.com, activity.m.kuaishou.com -------------------------------------------------------------------------------- /TaskConf/sina/loon.plugin: -------------------------------------------------------------------------------- 1 | # 仅新浪微博配置,不包含新浪新闻 2 | 3 | [Script] 4 | cron "4 0 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js, enabled=true, tag=新浪微博 5 | 6 | http-request https:\/\/api\.weibo\.cn\/\d\/users\/show script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js, enabled=true, tag=新浪微博 7 | 8 | http-request https:\/\/m\.weibo\.cn\/c\/checkin\/ug\/v2\/signin\/module\?module script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js, enabled=true, tag=新浪微博 9 | 10 | 11 | [MITM] 12 | hostname = api.weibo.cn, m.weibo.cn -------------------------------------------------------------------------------- /TaskConf/sina/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | hostname = api.weibo.cn, m.weibo.cn 2 | #newsapi.sina.cn, lite.sina.cn 3 | 4 | #https:\/\/newsapi\.sina\.cn\/\?resource=hbpage&newsId=HB-1-sina_gold_center url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sinanews.js 5 | 6 | #https:\/\/newsapi\.sina\.cn\/\?resource=userpoint\/signIn url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sinanews.js 7 | 8 | https:\/\/api\.weibo\.cn\/\d\/users\/show url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 9 | 10 | https:\/\/m\.weibo\.cn\/c\/checkin\/ug\/v2\/signin\/module\?module url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 11 | 12 | #https?:\/\/lite\.sina\.cn\/\?resource=hbpage&newsId=HB-1-sina_gold_center - script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sinanews.js 13 | 14 | #https?:\/\/lite\.sina\.cn\/\?resource=userpoint\/signIn - script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/sinanews.js 15 | 16 | 17 | -------------------------------------------------------------------------------- /TaskConf/sina/readme.md: -------------------------------------------------------------------------------- 1 | 2 | [toc] 3 | 4 | #
新浪微博使用说明
5 | 6 | [跳转至底部](#注意事项) ---- [回到主页](https://github.com/Sunert/Scripts) 7 | 8 | ### IOS配置教程 9 | ``` 10 | [MITM] 11 | hostname = api.weibo.cn, m.weibo.cn 12 | ``` 13 | #### Surge: 14 | * [模块地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/sina/surge.sgmodule) 15 | 16 | ``` 17 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/sina/surge.sgmodule 18 | ``` 19 | * 本地重写 20 | 21 | ``` 22 | [Script] 23 | 微博&钱包签到 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js,script-update-interval=0 24 | 25 | # 获取微博 Cookie. 26 | 微博签到 = type=http-request,pattern=https:\/\/api\.weibo\.cn\/\d\/users\/show,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 27 | 微博签到 = type=http-request,pattern=https:\/\/m\.weibo\.cn\/c\/checkin\/ug\/v2\/signin\/module\?module,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 28 | ``` 29 | #### Shadowrocket(Cron配置): 30 | 31 | ``` 32 | [Script] 33 | 新浪微博 = type=cron,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js,cronexpr="35 5 0 * * *",timeout=20,enable=true 34 | ``` 35 | #### Loon: 36 | 37 | * [插件地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/sina/loon.plugin) 38 | 39 | ``` 40 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/sina/loon.plugin 41 | ``` 42 | * 本地重写 43 | 44 | ``` 45 | [Script] 46 | cron "4 0 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js, enabled=true, tag=新浪微博 47 | 48 | http-request https:\/\/api\.weibo\.cn\/\d\/users\/show script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js, enabled=true, tag=新浪微博 49 | http-request https:\/\/m\.weibo\.cn\/c\/checkin\/ug\/v2\/signin\/module\?module script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js, enabled=true, tag=新浪微博 50 | ``` 51 | #### Quantumult X: 52 | * [远程重写配置](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/sina/qx_rewite.txt) 53 | 54 | ``` 55 | [rewrite_remote] 56 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/sina/qx_rewite.txt 57 | ``` 58 | * 本地重写配置 59 | 60 | ``` 61 | [rewrite_local] 62 | https:\/\/api\.weibo\.cn\/\d\/users\/show url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 63 | https:\/\/m\.weibo\.cn\/c\/checkin\/ug\/v2\/signin\/module\?module url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 64 | ``` 65 | * 本地任务配置 66 | 67 | ``` 68 | [task_local] 69 | 1 0 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js, tag=新浪微博 70 | ``` 71 | ### 获取Cookie方法 72 | 1. 打开微博App,获取Cookie,获取后请注释或禁用Cookie 73 | 2. 进入"用户任务中心",获取用户信息Cookie(可选,增加显示个人任务红包余额) 74 | 75 | >>> [回到顶部](#IOS配置教程) 76 | 77 | ### Nodejs 配置密钥 (Github Actions) 78 | 79 |
80 | 81 | 82 | 83 | Actions Secrets 84 | 85 | 86 | 87 | | Name | 脚本相关YML | Value分割符 | 必须 / 可选 | 注意事项及样式(其中"xxx"代表任意字符) | 88 | | :-------: | :------: | :-------: | ------ | ------- | 89 | | WB_TOKEN | 微博 | #或换行 | 必须 | 请求地址: "https://api.weibo.cn/2/users/show",
签到token: uid=xxx&gsid=xxx&s=xxx | 90 | 91 |
92 | 93 | >>> [回到上一页](..) 94 | 95 | ### 注意事项: 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /TaskConf/sina/surge.sgmodule: -------------------------------------------------------------------------------- 1 | #!name= weibo Rewrite 2 | #!desc= 新浪微博重写配置 3 | #!system=ios 4 | 5 | [Script] 6 | 微博&钱包签到 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js,script-update-interval=0 7 | 8 | # 获取微博 Cookie. 9 | 微博签到 = type=http-request,pattern=https:\/\/api\.weibo\.cn\/\d\/users\/show,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 10 | 11 | 微博签到 = type=http-request,pattern=https:\/\/m\.weibo\.cn\/c\/checkin\/ug\/v2\/signin\/module\?module,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/weibo.js 12 | 13 | [MITM] 14 | hostname = %APPEND% api.weibo.cn, m.weibo.cn -------------------------------------------------------------------------------- /TaskConf/txnews/loon.plugin: -------------------------------------------------------------------------------- 1 | [Script] 2 | 3 | cron ”04 00 * * *“ script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, enabled=true, tag=腾讯新闻 4 | 5 | http-request https:\/\/api\.inews\.qq\.com\/event\/v1\/user\/event\/report\? script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, requires-body=true, enabled=true, tag=腾讯新闻 6 | 7 | [MITM] 8 | hostname = api.inews.qq.com -------------------------------------------------------------------------------- /TaskConf/txnews/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | hostname = api.inews.qq.com 2 | 3 | https:\/\/api\.inews\.qq\.com\/event\/v1\/user\/event\/report\? url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js 4 | -------------------------------------------------------------------------------- /TaskConf/txnews/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [toc] 4 | 5 | #
腾讯新闻使用说明
6 | 7 | [跳转至底部](#注意事项) ---- [回到主页](https://github.com/Sunert/Scripts) 8 | 9 | ### IOS配置教程 10 | ``` 11 | [MITM] 12 | hostname = api.inews.qq.com 13 | ``` 14 | #### Surge: 15 | * [模块地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/txnews/surge.sgmodule) 16 | 17 | ``` 18 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/txnews/surge.sgmodule 19 | ``` 20 | * 本地重写 21 | 22 | ``` 23 | [Script] 24 | 腾讯新闻 = type=cron,cronexp=0 8 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js,script-update-interval=0 25 | 26 | 腾讯新闻 = type=http-request,pattern=https:\/\/api\.inews\.qq\.com\/event\/v1\/user\/event\/report\?,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, requires-body=true 27 | ``` 28 | #### Shadowrocket(Cron配置): 29 | 30 | ``` 31 | [Script] 32 | 腾讯新闻 = type=cron,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js,cronexpr="1 */6 * * *",timeout=20,enable=true 33 | ``` 34 | #### Loon: 35 | 36 | * [插件地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/txnews/loon.plugin) 37 | 38 | ``` 39 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/txnews/loon.plugin 40 | ``` 41 | * 本地重写 42 | 43 | ``` 44 | [Script] 45 | cron "04 00 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, enabled=true, tag=腾讯新闻 46 | http-request https:\/\/api\.inews\.qq\.com\/event\/v1\/user\/event\/report\? script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, requires-body=true, enabled=true, tag=腾讯新闻 47 | ``` 48 | #### Quantumult X: 49 | * [远程重写配置](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/txnews/qx_rewite.txt) 50 | 51 | ``` 52 | [rewrite_remote] 53 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/txnews/qx_rewite.txt 54 | ``` 55 | * 本地重写配置 56 | 57 | ``` 58 | [rewrite_local] 59 | https:\/\/api\.inews\.qq\.com\/event\/v1\/user\/event\/report\? url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js 60 | ``` 61 | * 本地任务配置 62 | 63 | ``` 64 | [task_local] 65 | 1 */5 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, tag=腾讯新闻 66 | ``` 67 | ### 获取Cookie方法 68 | 69 | 1. 打开腾讯新闻app,阅读几篇文章,倒计时结束后即可获取阅读Cookie 70 | 71 | 2. 看一次推荐视频,获取视频地址 72 | 73 | >>> [回到顶部](#IOS配置教程) 74 | 75 | ### Nodejs 配置密钥 (Github Actions) 76 | 77 |
78 | 79 | 80 | 81 | Actions Secrets 82 | 83 | 84 | 85 | | Name | 脚本相关YML | Value分割符 | 必须 / 可选 | 注意事项及样式(其中"xxx"代表任意字符) | 86 | | :-------: | :------: | :-------: | ------ | ------- | 87 | | TXNEWS_COOKIE | 腾讯新闻 txnews.yml | & | 必须 | 请求地址: "https://api.inews.qq.com/event/v1/user/event/report?",
腾讯新闻 Cookie: openxx=xxx | 88 | | TXNEWS_SIGN | 同上 | # | 必须 | 请求地址同上, 阅读请求地址链接 | 89 | | TXNEWS_VIDEO | 同上 | # | 必须 | 请求地址同上, 视频请求地址链接 | 90 | | TXNEWS_NOTIFY_CONTROL | 同上 | true/false | 可选 | 腾讯新闻通知开关
默认当余额大于2元且通知间隔为50时推送通知 | 91 | 92 |
93 | 94 | >>> [回到上一页](..) 95 | 96 | ### 注意事项: 97 | 1. 可能腾讯有某些限制,有些号码无法领取红包,手动阅读几篇,能领取红包,一般情况下都是正常的 98 | 2. 此脚本根据阅读篇数开启通知,默认阅读50篇通知一次 99 | 3. 支持boxjs配置,增加通知跳转链接https://news.qq.com/FERD/cjRedDown.htm,需手动领取此红包 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | -------------------------------------------------------------------------------- /TaskConf/txnews/surge.sgmodule: -------------------------------------------------------------------------------- 1 | #!name= txnews Rewrite 2 | #!desc= 腾讯新闻重写配置 3 | #!system=ios 4 | 5 | [Script] 6 | 腾讯新闻 = type=cron,cronexp=0 8 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js,script-update-interval=0 7 | 8 | 腾讯新闻 = type=http-request,pattern=https:\/\/api\.inews\.qq\.com\/event\/v1\/user\/event\/report\?,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/txnews.js, requires-body=true 9 | 10 | [MITM] 11 | hostname = api.inews.qq.com -------------------------------------------------------------------------------- /TaskConf/youth/loon.plugin: -------------------------------------------------------------------------------- 1 | # 中青看点获取Cookie 2 | 3 | [Script] 4 | cron "04 00 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, timeout=180, enabled=true, tag=中青看点 5 | 6 | cron "20 00 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js, timeout=1800, enabled=true, tag=中青看点看看赚 7 | 8 | http-request https:\/\/kd\.youth\.cn\/WebApi\/NewTaskIos\/getTaskList script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, enabled=true, tag=中青看点 9 | 10 | http-request https:\/\/ios\.baertt\.com\/v5\/article\/info\/get\.json script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, enabled=true, tag=中青看点 11 | 12 | http-request https:\/\/ios\.baertt\.com\/v5\/user\/stay\.json script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true, enabled=true, tag=中青看点 13 | 14 | http-request https:\/\/ios\.baertt\.com\/v5\/\w+\/withdraw\d?\.json script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true, enabled=true, tag=中青看点 15 | 16 | http-request https:\/\/ios\.baertt\.com\/v5\/task\/browse_start\.json script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js, requires-body=true, enabled=true, tag=中青看点浏览赚 17 | 18 | http-request https:\/\/ios\.baertt\.com\/v5\/Nameless\/adlickstart\.json script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js, requires-body=true, enabled=true, tag=中青看点看看赚 19 | 20 | [MITM] 21 | hostname = ios.baertt.com, kd.youth.cn -------------------------------------------------------------------------------- /TaskConf/youth/qx_rewite.txt: -------------------------------------------------------------------------------- 1 | hostname = kd.youth.cn, ios.baertt.com 2 | 3 | https:\/\/kd\.youth\.cn\/WebApi\/NewTaskIos\/getTaskList url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 4 | 5 | https:\/\/ios\.baertt\.com\/v5\/article\/info\/get\.json url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 6 | 7 | https:\/\/ios\.baertt\.com\/v5\/user\/stay\.json url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 8 | 9 | https:\/\/ios\.baertt\.com\/v5\/task\/browse_start\.json url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js 10 | 11 | https:\/\/ios\.baertt\.com\/v5\/Nameless\/adlickstart\.json url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js 12 | 13 | https:\/\/ios\.baertt\.com\/v5\/\w+\/withdraw\d?\.json url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 14 | -------------------------------------------------------------------------------- /TaskConf/youth/qx_youthread.txt: -------------------------------------------------------------------------------- 1 | hostname = ios.baertt.com 2 | 3 | https:\/\/ios\.baertt\.com\/v5\/article\/info\/get\.json url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/Youth_Read.js 4 | 5 | https:\/\/ios\.baertt\.com\/v5\/user\/stay\.json url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/Youth_Read.js -------------------------------------------------------------------------------- /TaskConf/youth/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | [toc] 4 | 5 | #
中青看点使用说明
6 | 7 | [跳转至底部](#注意事项) ---- [回到主页](https://github.com/Sunert/Scripts) 8 | 9 | ### IOS配置教程 10 | ``` 11 | [MITM] 12 | hostname = kd.youth.cn, ios.baertt.com 13 | ``` 14 | #### Surge: 15 | * [模块地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/surge.sgmodule) 16 | 17 | ``` 18 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/surge.sgmodule 19 | ``` 20 | * 本地重写 21 | 22 | ``` 23 | [Script] 24 | 中青看点 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js,script-update-interval=0 25 | 中青看点 = type=http-request,pattern=https:\/\/kd\.youth\.cn\/WebApi\/NewTaskIos\/getTaskList,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 26 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/article\/info\/get\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true 27 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/user\/stay\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true 28 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/\w+\/withdraw\d?\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true 29 | ``` 30 | #### Shadowrocket(Cron配置): 31 | 32 | ``` 33 | [Script] 34 | 中青看点 = type=cron,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js,cronexpr="1 */6 * * *",timeout=20,enable=true 35 | ``` 36 | #### Loon: 37 | 38 | * [插件地址](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/loon.plugin) 39 | 40 | ``` 41 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/loon.plugin 42 | ``` 43 | * 本地重写 44 | 45 | ``` 46 | [Script] 47 | cron "04 00 * * *" script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, enabled=true, tag=中青看点 48 | http-request https:\/\/kd\.youth\.cn\/WebApi\/NewTaskIos\/getTaskList script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, enabled=true, tag=中青看点 49 | http-request https:\/\/ios\.baertt\.com\/v5\/article\/info\/get\.json script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true, enabled=true, tag=中青看点 50 | http-request https:\/\/ios\.baertt\.com\/v5\/user\/stay\.json script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true, enabled=true, tag=中青看点 51 | http-request https:\/\/ios\.baertt\.com\/v5\/\w+\/withdraw\d?\.json script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true, enabled=true, tag=中青看点 52 | ``` 53 | #### Quantumult X: 54 | * [远程重写配置](https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/qx_rewite.txt) 55 | 56 | ``` 57 | [rewrite_remote] 58 | https://raw.githubusercontent.com/Sunert/Scripts/master/TaskConf/youth/qx_rewite.txt 59 | ``` 60 | * 本地重写配置 61 | 62 | ``` 63 | [rewrite_local] 64 | https:\/\/kd\.youth\.cn\/WebApi\/NewTaskIos\/getTaskList url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 65 | https:\/\/ios\.baertt\.com\/v5\/article\/info\/get\.json url script-request-header https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 66 | https:\/\/ios\.baertt\.com\/v5\/user\/stay\.json url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 67 | https:\/\/ios\.baertt\.com\/v5\/\w+\/withdraw\d?\.json url script-request-body https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 68 | ``` 69 | * 本地任务配置 70 | 71 | ``` 72 | [task_local] 73 | 1 */5 * * * https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, enabled=true, tag=中青看点 74 | ``` 75 | ### 获取Cookie方法 76 | * 打开极速版APP,进去我的"任务中心",提示获取Cookie 77 | - 打开一篇短文资讯,提示获取阅读请求 78 | * 多阅读几篇短文,随机获取阅读时长请求(至少1分钟左右,增加时长有关) 79 | - 正常提现一次,获取提现请求(可选,AC无添加) 80 | 81 | >>> [回到顶部](#IOS配置教程) 82 | 83 | ### Nodejs 配置密钥 (Github Actions) 84 | 85 |
86 | 87 | 88 | 89 | Actions Secrets 90 | 91 | 92 | 93 | | Name | 脚本相关YML | Value分割符 | 必须 / 可选 | 注意事项及样式(其中"xxx"代表任意字符) | 94 | | :-------: | :------: | :-------: | ------ | ------- | 95 | | YOUTH_HEADER | 中青看点 youth.yml | #或者换行 | 必须 | 请求地址: "https://kd.youth.cn/WebApi/NewTaskIos/getTaskList",
中青签到请求头引用: uid=xxx&cookie_id=xxx&cookie=xxx | 96 | | YOUTH_ARTBODY | 同上 | &或者换行 | 必须 | 请求地址: "https://ios.baertt.com/v5/article/complete",
阅读请求体: p=xxx | 97 | | YOUTH_TIME | 同上 | &或者换行 | 必须 | 请求地址: "https://ios.baertt.com/v5/user/stay.json",
阅读时长请求体: p=xxx | 98 | | YOUTH_NOTIFY_CONTROL | 同上 | true/false | 可选 | 中青通知开关
默认当转盘次数为50或者100并且余额大于10元时推送通知 | 99 | | | | | - | | 100 | | YOUTH_READ | 中青阅读 youth_read.yml | &或者换行 | 必须 | 请求地址: "https://ios.baertt.com/v5/article/complete",
阅读请求体: p=xxx | 101 | | YOUTH_START | 中青浏览赚 youth_gain.yml | & | 必须 | 请求地址: "https://ios.baertt.com/v5/task/browse_start.json",
阅读请求体: p=xxx | 102 | | YOUTH_END | 同上 | & | 必须 | 请求地址: "https://ios.baertt.com/v5/task/browse_end.json",
阅读请求体: p=xxx | 103 | 104 |
105 | 106 | >>> [回到上一页](..) 107 | 108 | ### 注意事项: 109 | - __提现金额需该请求一致,只更改提现金额无效,默认30元__ 110 | 111 | * __惊喜红包已下架,现所有请求均采用IOS新版APP任务__ 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /TaskConf/youth/surge.sgmodule: -------------------------------------------------------------------------------- 1 | #!name= Youth Rewrite 2 | #!desc= 中青极速版重写配置 3 | #!system=ios 4 | 5 | [Script] 6 | 中青看点 = type=cron,cronexp=35 5 0 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js,wake-system=1,timeout=360,script-update-interval=0 7 | 8 | 中青看点浏览赚 = type=cron,cronexp=35 5 8 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js,wake-system=1,timeout=1800,,script-update-interval=0 9 | 10 | #中青看点阅读 = type=cron,cronexp=35 */30 */2 * * *,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/Youth_Read.js,wake-system=1,timeout=3600,,script-update-interval=0 11 | 12 | 中青看点 = type=http-request,pattern=https:\/\/kd\.youth\.cn\/WebApi\/NewTaskIos\/getTaskList,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 13 | 14 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/article\/info\/get\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js 15 | 16 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/user\/stay\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true 17 | 18 | 中青看点 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/\w+\/withdraw\d?\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth.js, requires-body=true 19 | 20 | 中青看点浏览赚 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/task\/browse_start\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js, requires-body=true 21 | 22 | 中青看点看看赚 = type=http-request,pattern=https:\/\/ios\.baertt\.com\/v5\/Nameless\/adlickstart\.json,script-path=https://raw.githubusercontent.com/Sunert/Scripts/master/Task/youth_gain.js, requires-body=true 23 | 24 | [MITM] 25 | hostname = %APPEND% kd.youth.cn, ios.baertt.com -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | exports.main_handler = async (event, context, callback) => { 3 | try { 4 | const { TENCENTSCF_SOURCE_TYPE, TENCENTSCF_SOURCE_URL } = process.env 5 | //如果想在一个定时触发器里面执行多个js文件需要在定时触发器的【附加信息】里面填写对应的名称,用 & 链接 6 | //例如我想一个定时触发器里执行jd_speed.js和jd_bean_change.js,在定时触发器的【附加信息】里面就填写 jd_speed&jd_bean_change 7 | for (const v of event["Message"].split("&")) { 8 | console.log(v); 9 | var request = require('request'); 10 | switch (TENCENTSCF_SOURCE_TYPE) { 11 | case 'local': 12 | //1.执行自己上传的js文件 13 | delete require.cache[require.resolve('./Task/'+v+'.js')]; 14 | require('./Task/'+v+'.js') 15 | break; 16 | default: 17 | //2.执行自定义远端js文件网址 18 | if (!TENCENTSCF_SOURCE_URL) return console.log('自定义模式需要设置TENCENTSCF_SOURCE_URL变量') 19 | request(`${TENCENTSCF_SOURCE_URL}${v}.js`, function (error, response, body) { 20 | eval(response.body) 21 | }) 22 | break; 23 | } 24 | } 25 | } catch (e) { 26 | console.error(e) 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Sunert", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "jingxi.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/Sunert/Scripts.git" 12 | }, 13 | "keywords": ["中青看点,腾讯新闻等等"], 14 | "author": "Sunert", 15 | "license": "ISC", 16 | "bugs": { 17 | "url": "https://github.com/Sunert/Scripts/issues" 18 | }, 19 | "homepage": "https://github.com/Sunert/Scripts#readme", 20 | "dependencies": { 21 | "crypto-js": "^4.0.0", 22 | "got": "^11.7.0", 23 | "http-server": "^0.12.3", 24 | "tough-cookie": "^4.0.0", 25 | "download": "^8.0.0" 26 | } 27 | } 28 | --------------------------------------------------------------------------------