├── Css ├── 18comic.css ├── 4hu.css ├── 555.css ├── 91mjw.css ├── 91porn.css ├── 91porny.css ├── Adblock4limbo.css ├── Adblock4limbo.function.css ├── Adblock4limbo.user.css ├── README.md ├── avple.css ├── avtb.css ├── bde4.css ├── bdys.css ├── biquge.css ├── cokemv.css ├── contentFarm.css ├── cupbox.css ├── ddrk.css ├── dsxys.css ├── gimytv.css ├── jable.css ├── javbus.css ├── javmost.css ├── libvio.css ├── missav.css ├── netflav.css ├── netflix.css ├── pornhub.css ├── qianoo.css ├── tkys.css ├── wsj.css ├── zhenbuka.css └── zhihu.css ├── Files ├── 2023noota.mobileconfig ├── README.md ├── RegExp.md ├── miTV.txt ├── miTVFull.txt ├── miTVLite.txt └── noota.mobileconfig ├── Icons ├── app │ ├── qx.png │ └── weibo.png ├── area │ ├── hk.png │ ├── jp.png │ ├── kor.png │ ├── ru.png │ ├── sp.png │ ├── tw.png │ ├── uk.png │ ├── un.png │ └── us.png ├── common │ ├── doMedia.png │ ├── domestic.png │ ├── final.png │ ├── foMedia.png │ ├── global.png │ ├── hijacking.png │ └── qx.png └── server │ └── moon.png ├── QuantumultX.conf ├── README.md ├── Rewrites ├── AppUnlock.conf ├── Cube │ ├── amap.snippet │ ├── bilibili.snippet │ ├── cloudmusic.snippet │ ├── cube.json │ ├── ithome.snippet │ ├── kuwo.snippet │ ├── smzdm.snippet │ ├── weibo.snippet │ ├── xiaohongshu.snippet │ ├── youtube.snippet │ └── zhihu.snippet ├── Emby.conf ├── EmbyPlus.conf ├── HaierHome.conf ├── MyBlockAds.conf ├── README.md ├── TestFlight.conf ├── TestFlightA.conf ├── WebPage.conf ├── WechatRead.conf └── Yang.conf ├── Rules ├── Adblock4limbo.list ├── Advertising.list ├── Apple.list ├── China.list ├── Global.list ├── MyBlockAds.list ├── Pinned.list ├── README.md ├── Speedtest.list └── WeChat.list └── Scripts ├── 12306.js ├── MultiPlatformEnv ├── Env.js ├── Env.min.js ├── EnvMute.js ├── EnvMute.min.js ├── MagicJS.js ├── MagicJS.min.js ├── OpenAPI.example.js ├── OpenAPI.js ├── OpenAPI.min.js └── README.md ├── adrive.js ├── adsense.js ├── amap.js ├── amdc.js ├── backup ├── amap_moyu.js ├── bilibili_moyu.js ├── coolapk_moyu.js ├── weibo_moyu.js └── weibo_zmq.js ├── baidu ├── baiduCloud.js ├── baiduLib.js ├── baiduNoRedirect.js ├── tiebaJson.js └── tiebaProto.js ├── bilibili ├── bili.js ├── biliCC.js └── biliProto.js ├── break ├── BananaVideo.js ├── CaiXin.js ├── ClarityPaper.js ├── MeiYan.js ├── Mematom3ProCrack.js ├── README.md ├── adobePDF.js ├── adobePS.js ├── aphrodite.js ├── aptv.js ├── caiyun.js ├── enpass.js ├── faceapp.js ├── grammarly.js ├── javdb.js ├── jianxun.js ├── kuwo.js ├── notability.js ├── notabilityDdgk.js ├── porncomics.js ├── pornhub.js ├── pornvideos.js ├── qingJian.js ├── shimo.js ├── tutu.js ├── wps.js ├── wpsOwer.js ├── wpsUser.js ├── xMind.js └── yinpin.js ├── coolapk.js ├── dns.js ├── emby ├── README.md ├── downloadFileRename.js ├── downloadFileRename2.js ├── downloadPathRename.js ├── emby.js ├── embyPlus.js ├── unlock.js └── unlock2.js ├── fenbi.js ├── general ├── README.md ├── locationCheck.js ├── resourceParser.js └── streamingCheck.js ├── haier.js ├── ithome.js ├── limbo ├── 4hu.js ├── 4huQX.js ├── 91porn.js ├── 91pornQX.js ├── Adblock4limbo.function.js ├── Adblock4limbo.user.js ├── Adblock4limboQX.js ├── README.md ├── avple.js ├── avpleQX.js ├── baidu.index.js ├── baidu.indexQX.js ├── baidu.zhidao.js ├── baidu.zhidaoQX.js ├── baiduQX.js ├── contentFarm.js ├── contentFarmQX.js ├── duboku.js ├── dubokuQX.js ├── gimytv.js ├── gimytvQX.js ├── javbusQX.js ├── javmost.js └── javmostQX.js ├── myBlockAds.js ├── noRedirect.js ├── qx2surge.js ├── qxEnv.js ├── smzdm.js ├── subsflow.js ├── tfa.js ├── webpage ├── 18comic.js ├── 555.js ├── README.md ├── baidu-index.js ├── baidu-zhidao.js ├── baidu.js ├── bdys.js ├── bimi.js ├── cokemv.js ├── cupbox.js ├── ddrk.js ├── gimytv.js ├── lezhu.js ├── libvio.js ├── pornhub.js ├── qianoo.js ├── tkys.js └── zhenbuka.js ├── wechat ├── wechat110.js └── wechatAutoRead.js ├── weibo.js ├── xiaohongshu.js ├── yang.js ├── youtube.js └── zhihu.js /Css/18comic.css: -------------------------------------------------------------------------------- 1 | div[style*="margin: 5px"]{display:none!important} 2 | div.pull-right{display:none!important} 3 | div[style^="display: flex"]{display:none!important} 4 | div[data-height="250"][data-width="300"]{display:none!important} 5 | div[data-height="90"][data-width="728"]{display:none!important} 6 | div.bot-per-back{display:none!important} 7 | div.bot-per-times{display:none!important} 8 | div#billboard-modal{display:none!important} 9 | div.container.phpage-bottom.switch-group.visible-xs.visible-sm{display:none!important} 10 | div.top-menu{display:none!important} 11 | div.ph-bottom.switch-group.visible-xs.visible-sm{display:none!important} 12 | div.bot-per.visible-xs.visible-sm{display:none!important} 13 | div.row.visible-xs.center{display:none!important} 14 | div.owl-carousel.partial-view.owl-loaded.owl-drag{display:none!important} 15 | div.modal-dialog.billboard-modal8888{display:none!important} 16 | div.modal-backdrop.fade.in{display:none!important} 17 | a[target="_blank"]{display:none!important} 18 | -------------------------------------------------------------------------------- /Css/4hu.css: -------------------------------------------------------------------------------- 1 | #adsbox {display: none! important;} 2 | .wrap + #midBox {display: none! important;} 3 | .wrap + #btmBox {display: none! important;} 4 | script[src="/static/base.js"] + #couplet {display: none! important;} 5 | .search + #midBox {display: none! important;} -------------------------------------------------------------------------------- /Css/555.css: -------------------------------------------------------------------------------- 1 | div#popup{display: none! important} 2 | div.myui-panel.myui-panel-bg.clearfix.wapad{display: none! important} 3 | div.myui-panel.myui-panel-bg.clearfix.pcad{display: none! important} 4 | a[href*="?channelCode="] > img[src*=".com:"]{display: none! important} 5 | a[href*="?invite_code="] > img[src*=".com"]{display: none! important} 6 | div.playtop.col-pd{display: none! important} 7 | div.playerad{display: none! important} 8 | div.myui-nav__tabbar{display: none! important} 9 | div#home_slide{display: none! important} 10 | a.open-share{display: none! important} 11 | div.myui-panel.myui-panel-bg.clearfix.hiddex-xs{display: none! important} 12 | div.visible-xs.col-pd{display: none! important} 13 | div.is_mb{display: none! important} 14 | div.shortcuts-mobile-overlay{display: none! important} 15 | -------------------------------------------------------------------------------- /Css/91mjw.css: -------------------------------------------------------------------------------- 1 | /*body[class*="ui-navtop"] {padding-top: 0px!important}*/ 2 | 3 | [class*="search_not focusslide_s_m"] {padding-top: 0px!important} 4 | iframe[frameborder*="no"] {display:none!important} 5 | [class*="stui-db"] {display:none!important} 6 | [ontouchstart*="this.click"] {display:none!important} 7 | [title="2021"] {display:none!important} 8 | img[style*="position:fixed"] {display:none!important} 9 | a[class*="calb"] {display:none!important} 10 | [src*=".gif"] {display:none!important} 11 | *::after {display:none!important} -------------------------------------------------------------------------------- /Css/91porn.css: -------------------------------------------------------------------------------- 1 | img[class*="ad_img"] {display: none!important;} 2 | iframe[src*="ads"] {display: none!important;} 3 | img[href*='.gif'] {display: none!important;} -------------------------------------------------------------------------------- /Css/91porny.css: -------------------------------------------------------------------------------- 1 | .container-fluid.mb-3.p-0 {display: none! important;} 2 | .need_grid_img {display: none! important;} 3 | .container-fluid.mb-0.p-m {display: none! important;} 4 | .container-fluid.mb-0.p-0 {display: none! important;} 5 | a[target*="_blank"] {display: none! important;} 6 | img[src*=".gif"] {display: none! important;} 7 | .jsv.jsv-g1.mb-0 {display: none! important;} -------------------------------------------------------------------------------- /Css/Adblock4limbo.css: -------------------------------------------------------------------------------- 1 | div.myui-ra-container {display: none !important;} 2 | div#aaaDiv2 {width: 0% !important;} 3 | div#aaaDiv {width: 0% !important;} 4 | iframe#zzzif {display: none !important;} 5 | img[src*="210212"]{display: none !important;} 6 | span#sponsorAdCountdown {display: none !important;} 7 | div#sponsorAdDiv2 {display: none !important;} 8 | div.hy-layout.clearfix {display: none !important;} 9 | -------------------------------------------------------------------------------- /Css/Adblock4limbo.function.css: -------------------------------------------------------------------------------- 1 | a[href*="/kst6632.com/"] { 2 | pointer-events: none !important; 3 | } 4 | 5 | a[href*="/kst6632.com/"]>img { 6 | width: 1px !important; 7 | } 8 | 9 | a[onclick^="ClickobayST();"] { 10 | display: none !important 11 | } 12 | 13 | a[href="###"] img:not(#trk_hcaptcha):not([src^="https://captcha.su.baidu.com"]) { 14 | display: none !important 15 | } 16 | 17 | a[href^="javascript"] img:not(#trk_hcaptcha):not([src^="https://captcha.su.baidu.com"]) { 18 | display: none !important 19 | } 20 | -------------------------------------------------------------------------------- /Css/Adblock4limbo.user.css: -------------------------------------------------------------------------------- 1 | /* ddrk.me */ 2 | a[href*="/kst6632.com/"] { 3 | pointer-events: none !important; 4 | } 5 | 6 | a[href*="/kst6632.com/"]>img { 7 | /*width: 1px !important;*/ 8 | display: none !important; 9 | } 10 | 11 | a[onclick^="ClickobayST();"] { 12 | display: none !important 13 | } 14 | 15 | a[href="###"] img:not(#trk_hcaptcha):not([src^="https://captcha.su.baidu.com"]) { 16 | display: none !important 17 | } 18 | 19 | a[href^="javascript"] img:not(#trk_hcaptcha):not([src^="https://captcha.su.baidu.com"]) { 20 | display: none !important 21 | } 22 | 23 | /* cn.pornhub.com */ 24 | [rel*='noopener nofollow'], 25 | a[href^="http: //ads.trafficjunky.net/"], 26 | .topAdContainter, 27 | .adsbytrafficjunky, 28 | .ad-link 29 | /*a[target='_blank']*/ { 30 | display: none !important 31 | } -------------------------------------------------------------------------------- /Css/README.md: -------------------------------------------------------------------------------- 1 | # 引用地址 2 | ``` 3 | https://github.com/ddgksf2013/Cuttlefish/tree/master/Html/CSS 4 | https://github.com/limbopro/Adblock4limbo/tree/main/CSS 5 | ``` 6 | ## 使用开发者工具找到相关CSS名称 7 | ### 参考资料及可能使用到的工具说明 8 | 1. CSS是啥子:https://developer.mozilla.org/zh-CN/docs/Web/CSS 9 | 2. 谷歌浏览器开发者工具:https://developers.google.com/web/tools/chrome-devtools/ 10 | 3. 编辑样式 https://developers.google.com/web/tools/chrome-devtools/inspect-styles/edit-styles 11 | 4. CSS 隐藏元素的八种方法:https://juejin.cn/post/6844903456545701901 12 | 5. CSS(层叠样式表):https://developer.mozilla.org/zh-CN/docs/Web/CSS 13 | 6. 使用谷歌浏览器开发者工具调整网页CSS样式以屏蔽广告(视频) 14 | :https://www.youtube.com/watch?v=uObW0Gr9QfA 15 | 16 | ## 制作CSS文件 17 | 18 | 最后我们将相关广告元素对应的样式进行隐藏,用到的代码为 `display: none !important;`; 19 | 20 | https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/CSS/Adblock4limbo.css 21 | 22 | 其内容如下; 23 | 24 | ``` 25 | .myui-ra-container {display: none !important;} 26 | #aaaDiv2 {width: 0% !important;} 27 | #aaaDiv {width: 0% !important;} 28 | #alqZmizfYfnG {display: none !important;} 29 | #arqZmizfYfnG {display: none !important;} 30 | img {display: none !important;} 31 | ``` 32 | 33 | ## 制作QuantumultX css.adblock.conf 文件(重写引用) 34 | 35 | https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/CSS/css.adblock.conf 36 | 37 | 其内容如下: 38 | 39 | ``` 40 | hostname = www.nfmovies.com 41 | #www.nfmovies.com adsblock by css 42 | ^https:?/\/www.nfmovies.com.* url response-body response-body 43 | ``` 44 | 45 | ## 引用css.adblock.conf 46 | 1.打开 Quantumult X - 点击右下角三菱按钮 - 找到 重写 - 点击 引用 ,粘贴以下 URL; 47 | 48 | https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/CSS/css.adblock.conf 49 | 50 | 2.开启重写按钮/MITM按钮,配置下证书,食用; 51 | 52 | 3.去广告效果参考:https://t.me/limboprossr/2222 53 | -------------------------------------------------------------------------------- /Css/avple.css: -------------------------------------------------------------------------------- 1 | #adsbox {display: none! important;} 2 | .asg-overlay {display: none! important;} 3 | span[class*=MuiSkeleton-root]{display: none! important;} 4 | .jss16 {display: none! important;} 5 | .MuiSkeleton-pulse.jss12.MuiSkeleton-rect.MuiSkeleton-root {display: none! important;} 6 | [id*=KnvW] {display: none! important;} 7 | img[src*=".gif"] {display: none! important;} 8 | iframe[data-width] {display: none! important;} -------------------------------------------------------------------------------- /Css/avtb.css: -------------------------------------------------------------------------------- 1 | div.ads,img[src*=gif],div.ads-footer,div.ads-player{display: none !important;} -------------------------------------------------------------------------------- /Css/bde4.css: -------------------------------------------------------------------------------- 1 | /*img[src*="YtKOt"] {display:none !important;} 2 | a[href*=aiyou] {display:none !important;}*/ 3 | /*div[style*="position"] {display:none !important;}*/ 4 | 5 | 6 | #ad-index {display:none !important;} 7 | .ayx[style^="position: fixed;bottom"] {display:none !important;} 8 | .ayx[style="display:block;"] {display:none !important;} 9 | #adsbox {display:none !important;} 10 | div.page-wrapper {overflow-x:hidden !important;} -------------------------------------------------------------------------------- /Css/bdys.css: -------------------------------------------------------------------------------- 1 | #notice{display:none!important;} 2 | div.modal-backdrop.fade.show{display:none!important;} 3 | .modal-open{overflow:auto !important;} 4 | div.jq-toast-wrap{display:none!important;} 5 | .card-body.text-cool{display:none!important;} 6 | .alert{display:none!important;} 7 | #related{display:none!important;} 8 | #yalayi{display:none!important;} 9 | -------------------------------------------------------------------------------- /Css/biquge.css: -------------------------------------------------------------------------------- 1 | dd,div > a[href*=api]{display:none!important} -------------------------------------------------------------------------------- /Css/cokemv.css: -------------------------------------------------------------------------------- 1 | a[target^="_blank"]{display:none!important} 2 | div.fixedGroup{display:none!important} 3 | div#popup{display:none!important} 4 | -------------------------------------------------------------------------------- /Css/contentFarm.css: -------------------------------------------------------------------------------- 1 | /* Google 搜索广告 */ 2 | 3 | [data-text-ad] , 4 | #tvcap {display: none! important;} 5 | 6 | /* 7 | .xSQxL.HDOrGf,.HK0d3e,img,a{ 8 | filter: grayscale(100%); 9 | -webkit-filter: grayscale(100%); 10 | -moz-filter: grayscale(100%); 11 | -ms-filter: grayscale(100%); 12 | -o-filter: grayscale(100%); 13 | } 14 | */ -------------------------------------------------------------------------------- /Css/cupbox.css: -------------------------------------------------------------------------------- 1 | div[class*="mobile-nav"]{display: none! important} 2 | div[class*="model"]{display: none! important} 3 | div[class*="hongbao"]{display: none! important} 4 | div[class*="jsx-ad"]{display: none! important} 5 | .adsbygoogle{display: none! important} 6 | .banner-box{display: none! important} 7 | a[href*="shopping"]{display: none! important} 8 | a[href*="donate"]{display: none! important} 9 | div[class*="notice"]{display: none! important} 10 | -------------------------------------------------------------------------------- /Css/ddrk.css: -------------------------------------------------------------------------------- 1 | div.hthb-row{display:none!important} 2 | a[href*="kst"]{display:none!important} 3 | a[href="###"]{position:absolute;z-index:-1000;} 4 | -------------------------------------------------------------------------------- /Css/dsxys.css: -------------------------------------------------------------------------------- 1 | div#popup{display:none!important} 2 | div.footer{display:none!important} 3 | div.logo{display:none!important} 4 | a[href*="app"]{display:none!important} 5 | a[href*="t.me"]{display:none!important} 6 | a[href*="new.html"]{display:none!important} 7 | -------------------------------------------------------------------------------- /Css/gimytv.css: -------------------------------------------------------------------------------- 1 | div.myui-nav__tabbar {display: none! important} 2 | a.open-share{display: none! important} 3 | div.col-pd.mb10{display: none! important} 4 | div.dabox2{display: none! important} 5 | div#closebutton{display: none! important} 6 | -------------------------------------------------------------------------------- /Css/jable.css: -------------------------------------------------------------------------------- 1 | iframe {display:none !important} 2 | div[class*="exo"] {display:none !important} 3 | .exo-native-widget-outer-container {display:none !important} 4 | div[class*="col-6 col-sm-4 col-lg-3"] div {display:none !important} 5 | a[target*="_blank"] {display:none !important} 6 | a[href*="trwl1"] {display:none !important} 7 | div.text-center.mb-e-30 {display:none !important} 8 | div[data-width="300"] {display:none !important} 9 | section[class*="justify"] {display: none! important;} 10 | /*03.22.2022*/ 11 | iframe[width="728"][height="90"] {display: none! important;} 12 | #site-content > div.container > section.pb-3.pb-e-lg-40.text-center {display: none! important;} 13 | .text-center > a[target="_blank"] > img {display: none! important;} 14 | a[href*="?banner="] {display: none! important;} 15 | .badge {display: none! important;} 16 | a[href="http://uus52.com/"] {display: none! important;} -------------------------------------------------------------------------------- /Css/javbus.css: -------------------------------------------------------------------------------- 1 | .ad-item,.ad-box {display:none !important} -------------------------------------------------------------------------------- /Css/javmost.css: -------------------------------------------------------------------------------- 1 | center>div[style^="width:100%; height: 100px"],center>div,[href*=".zlinkm.com/"],#poster,#preroll,.ui-sortable.col-md-4>.panel-inverse.panel>.panel-heading,.adsbyexoclick{display:none!important} 2 | -------------------------------------------------------------------------------- /Css/libvio.css: -------------------------------------------------------------------------------- 1 | div.hidden-log{display:none!important} 2 | div.t-img-box{display: none! important} 3 | div.none{display:none!important} 4 | div.inner-advertise{display:none!important} 5 | div.popup{display:none!important} 6 | div.advertise{display: none! important} 7 | a[target="_blank"] > .img-responsive {display: none! important} 8 | -------------------------------------------------------------------------------- /Css/missav.css: -------------------------------------------------------------------------------- 1 | a[target*="_blank"] {display:none!important} 2 | div[style*="position:fixed"] {display:none!important} 3 | #adsbox {display:none!important} 4 | .under_player {display:none!important} 5 | .m-auto {display:none!important} -------------------------------------------------------------------------------- /Css/netflav.css: -------------------------------------------------------------------------------- 1 | /* a[target*=blank] {display:none !important} */ 2 | .ads_video_overlay_mobile {display: none !important;} 3 | div.widget-container {display: none !important;} 4 | a[href*="register"][target="_blank"],div.ads_video_close_button,div.ads_video_overlay_mobile,div.footer_root,div.ads_head_banner_container {display:none !important;} 5 | 6 | a {background-color: black;} 7 | -------------------------------------------------------------------------------- /Css/netflix.css: -------------------------------------------------------------------------------- 1 | div#popup{display:none!important} 2 | div.shortcuts-mobile-overlay{display:none!important} 3 | div[style^="padding: 35px"]{display:none!important} 4 | div.mxprofoot{display:none!important} 5 | .module-adslist{display:none!important} 6 | a[href*="/ihezu.run"]{display:none!important} 7 | .share-btn{display:none!important} 8 | .player-rm > a[target="_blank"]{display:none!important} 9 | .icon-share{display:none!important} 10 | .tips-box{display:none!important} 11 | -------------------------------------------------------------------------------- /Css/pornhub.css: -------------------------------------------------------------------------------- 1 | div.ad-link{display:none!important} 2 | div.adLink{display:none!important} 3 | div.adsbytrafficjunky{display:none!important} 4 | div.adContainer{display:none!important} 5 | div.topAdContainter{display:none!important} 6 | div.joinLinkWrapper{display:none!important} 7 | a[href*="ads.trafficjunky.net"]{display:none!important} 8 | div#adSpot{display:none!important} 9 | -------------------------------------------------------------------------------- /Css/qianoo.css: -------------------------------------------------------------------------------- 1 | div.mi_btcon.ad{display: none! important} 2 | div.ads.right-ad{display: none! important} 3 | -------------------------------------------------------------------------------- /Css/tkys.css: -------------------------------------------------------------------------------- 1 | a[href*="/entry/register/?i_code="]{display: none! important} 2 | div.ayx[style="position: fixed;bottom: -10px;right:0;z-index:999;width:250px"]{display: none! important} 3 | a.open-share{display: none! important} 4 | a[href*="/index.php/gbook"]{display: none! important} 5 | a.language{display: none! important} 6 | div.myui-nav__tabbar{display: none! important} 7 | div.layui-layer.layui-layer-page{display: none! important} 8 | -------------------------------------------------------------------------------- /Css/wsj.css: -------------------------------------------------------------------------------- 1 | #wrapper-AD_G,#AD_G,.banner-ad-b,.adWrapper,#AD_L,#adsbox {display: none! important;} 2 | .staticAd,.wsj-responsive-ad-wrap,div[id^="wrapper-AD_"] {display: none! important;} 3 | iframe[src*="//imasdk.googleapis.com/js/core/bridge"][src*=".html"] {display: none! important;} 4 | -------------------------------------------------------------------------------- /Css/zhenbuka.css: -------------------------------------------------------------------------------- 1 | img#hth{display: none! important} 2 | img#hth616{display: none! important} 3 | div[style*="line-height: 21px"]{display: none! important} 4 | div#layui-layer1{display: none! important} 5 | div#layui-layer-shade1{display: none! important} 6 | div.marquee_outer{display: none! important} 7 | img#ad_img{display: none! important} 8 | img#buka888{display: none! important} 9 | iframe[id^=buffer]{display: none! important} 10 | span.more.text-muted.pull-right{display: none! important} 11 | ul.more-btn{display: none! important} 12 | a[target^="_blank"]{display:none!important} 13 | -------------------------------------------------------------------------------- /Css/zhihu.css: -------------------------------------------------------------------------------- 1 | .MHotFeedAd {display:none !important;} 2 | .MHotFeedAd-smallCard {display:none !important;} 3 | img{display:none !important;} 4 | -------------------------------------------------------------------------------- /Files/2023noota.mobileconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Files/2023noota.mobileconfig -------------------------------------------------------------------------------- /Files/README.md: -------------------------------------------------------------------------------- 1 | # 小米电视用户 2 | miTV.txt 引用地址 3 | ``` 4 | https://github.com/blackmatrix7/ios_rule_script/blob/master/rule/QuantumultX/AdvertisingMiTV/AdvertisingMiTV.list 5 | ``` 6 | miTVLite.txt 为自用版本 7 | ## 如何使用 8 | 1. 删除设备内名为 miad 的目录 9 | 2. 通过路由器 host 指定域名所对应的 ip 地址 10 | # iOS 用户 11 | 通过安装 noota.mobileconfig 文件来屏蔽更新 12 | -------------------------------------------------------------------------------- /Files/miTV.txt: -------------------------------------------------------------------------------- 1 | 127.0.0.1 519332da.rtc.youme.im 2 | 127.0.0.1 ad.hpplay.cn 3 | 127.0.0.1 ad.mi.com 4 | 127.0.0.1 ad.xiaomi.com 5 | 127.0.0.1 ad1.xiaomi.com 6 | 127.0.0.1 adcdn.hpplay.cn 7 | 127.0.0.1 adeng.hpplay.cn 8 | 127.0.0.1 alog.umeng.com 9 | 127.0.0.1 android.bugly.qq.com 10 | 127.0.0.1 api.ad.xiaomi.com 11 | 127.0.0.1 bss.pandora.xiaomi.com 12 | 127.0.0.1 cdn.hpplay.com.cn 13 | 127.0.0.1 conf.hpplay.cn 14 | 127.0.0.1 config.kuyun.com 15 | 127.0.0.1 data.mistat.xiaomi.com 16 | 127.0.0.1 de.pandora.xiaomi.com 17 | 127.0.0.1 dvb.pandora.xiaomi.com 18 | 127.0.0.1 fix.hpplay.cn 19 | 127.0.0.1 g.dtv.cn.miaozhen.com 20 | 127.0.0.1 gallery.pandora.xiaomi.com 21 | 127.0.0.1 gslb.hpplay.cn 22 | 127.0.0.1 gvod.aiseejapp.atianqi.com 23 | 127.0.0.1 h5.hpplay.com.cn 24 | 127.0.0.1 hotupgrade.hpplay.cn 25 | 127.0.0.1 hpplay.cdn.cibn.cc 26 | 127.0.0.1 image.hpplay.cn 27 | 127.0.0.1 imdns.hpplay.cn 28 | 127.0.0.1 jellyfish.pandora.xiaomi.com 29 | 127.0.0.1 logonext.tv.kuyun.com 30 | 127.0.0.1 mishop.pandora.xiaomi.com 31 | 127.0.0.1 pin.hpplay.cn 32 | 127.0.0.1 rp.hpplay.cn 33 | 127.0.0.1 sdkauth.hpplay.cn 34 | 127.0.0.1 sdkconfig.ad.xiaomi.com 35 | 127.0.0.1 sl.hpplay.cn 36 | 127.0.0.1 stat.pandora.xiaomi.com 37 | 127.0.0.1 t7z.cupid.ptqy.gitv.tv 38 | 127.0.0.1 tat.pandora.xiaomi.com 39 | 127.0.0.1 tvapp.hpplay.cn 40 | 127.0.0.1 upgrade.mishop.pandora.xiaomi.com 41 | 127.0.0.1 vipauth.hpplay.cn 42 | -------------------------------------------------------------------------------- /Files/miTVFull.txt: -------------------------------------------------------------------------------- 1 | 127.0.0.1 ad.doubleclick.net 2 | 127.0.0.1 ad.hpplay.cn 3 | 127.0.0.1 ad.mi.com 4 | 127.0.0.1 ad.xiaomi.com 5 | 127.0.0.1 ad1.xiaomi.com 6 | 127.0.0.1 adc.hpplay.cn 7 | 127.0.0.1 adcdn.hpplay.cn 8 | 127.0.0.1 adeng.hpplay.cn 9 | 127.0.0.1 admaster.com.cn 10 | 127.0.0.1 adv.sec.miui.com 11 | 127.0.0.1 alert.kuyun.com 12 | 127.0.0.1 alog.umeng.com 13 | 127.0.0.1 android.bugly.qq.com 14 | 127.0.0.1 api.ad.xiaomi.com 15 | 127.0.0.1 api.cupid.ptqy.gitv.tv 16 | 127.0.0.1 api.hpplay.com.cn 17 | 127.0.0.1 appstore.cdn.pandora.xiaomi.com 18 | 127.0.0.1 appstore.pandora.xiaomi.com 19 | 127.0.0.1 assistant.pandora.xiaomi.com 20 | 127.0.0.1 auth.api.gitv.tv 21 | 127.0.0.1 b.netcheck.gallery.pandora.xiaomi.com 22 | 127.0.0.1 broker.mqtt.pandora.xiaomi.com 23 | 127.0.0.1 bss.pandora.xiaomi.com 24 | 127.0.0.1 cdn.ad.xiaomi.com 25 | 127.0.0.1 cdn.hpplay.com.cn 26 | 127.0.0.1 cdn1.hpplay.cn 27 | 127.0.0.1 cloud.hpplay.cn 28 | 127.0.0.1 conf.hpplay.cn 29 | 127.0.0.1 config.kuyun.com 30 | 127.0.0.1 d1.xiaomi.com 31 | 127.0.0.1 data.mistat.xiaomi.com 32 | 127.0.0.1 de.pandora.xiaomi.com 33 | 127.0.0.1 devicemgr.hpplay.cn 34 | 127.0.0.1 dvb.pandora.xiaomi.com 35 | 127.0.0.1 e.ad.xiaomi.com 36 | 127.0.0.1 file.xmpush.xiaomi.com 37 | 127.0.0.1 fix.hpplay.cn 38 | 127.0.0.1 ftp.hpplay.com.cn 39 | 127.0.0.1 g.dtv.cn.miaozhan.com 40 | 127.0.0.1 g.dtv.cn.miaozhen.com 41 | 127.0.0.1 gallery.pandora.xiaomi.com 42 | 127.0.0.1 gslb.hpplay.cn 43 | 127.0.0.1 gvod.aiseejapp.atianqi.com 44 | 127.0.0.1 h5.hpplay.com.cn 45 | 127.0.0.1 hotupgrade.hpplay 46 | 127.0.0.1 hotupgrade.hpplay.cn 47 | 127.0.0.1 hpplay.cdn.cibn.cc 48 | 127.0.0.1 hub5btmain.sandai.net 49 | 127.0.0.1 hub5emu.sandai.net 50 | 127.0.0.1 image.hpplay.cn 51 | 127.0.0.1 imdns.hpplay.cn 52 | 127.0.0.1 jellyfish.pandora.xiaomi.com 53 | 127.0.0.1 leboapi.hpplay.com.cn 54 | 127.0.0.1 log.ad.xiaomi.com 55 | 127.0.0.1 logonext.tv.kuyun.com 56 | 127.0.0.1 metok.sys.miui.com 57 | 127.0.0.1 milink.pandora.xiaomi.com 58 | 127.0.0.1 misc.in.duokanbox.com 59 | 127.0.0.1 misc.pandora.xiaomi.com 60 | 127.0.0.1 mishop.pandora.xiaomi.com 61 | 127.0.0.1 mitv.tracking.miui.com 62 | 127.0.0.1 new.api.ad.xiaomi.com 63 | 127.0.0.1 o2o.api.xiaomi.com 64 | 127.0.0.1 omgmta.play.aiseet.atianqi.com 65 | 127.0.0.1 osfota.cdn.aliyun.com 66 | 127.0.0.1 osupdateservice.yunos.com 67 | 127.0.0.1 ota.cdn.pandora.xiaomi.com 68 | 127.0.0.1 package.box.xiaomi.com 69 | 127.0.0.1 package.cdn.pandora.xiaomi.com 70 | 127.0.0.1 pandora.mi.com 71 | 127.0.0.1 pin.hpplay.cn 72 | 127.0.0.1 r.browser.miui.com 73 | 127.0.0.1 redirect.pandora.xiaomi.com 74 | 127.0.0.1 register.xmpush.xiaomi.com 75 | 127.0.0.1 resolver.msg.xiaomi.net 76 | 127.0.0.1 rp.hpplay.cn 77 | 127.0.0.1 rp.hpplay.com.cn 78 | 127.0.0.1 rps.hpplay.cn 79 | 127.0.0.1 sdkauth.hpplay.cn 80 | 127.0.0.1 sdkconfig.ad.xiaomi.com 81 | 127.0.0.1 secure-chn.imrworldwide.com 82 | 127.0.0.1 sl.hpplay.cn 83 | 127.0.0.1 ssp.ad.xiaomi.com 84 | 127.0.0.1 staging.ai.api.xiaomi.com 85 | 127.0.0.1 starfish.pandora.xiaomi.com 86 | 127.0.0.1 stat.pandora.xiaomi.com 87 | 127.0.0.1 t7z.cupid.ptqy.gitv.tv 88 | 127.0.0.1 tat.pandora.xiaomi.com 89 | 127.0.0.1 test.ad.xiaomi.com 90 | 127.0.0.1 test.new.api.ad.xiaomi.com 91 | 127.0.0.1 tracking.miui.com 92 | 127.0.0.1 tv.aiseet.atianqi.com 93 | 127.0.0.1 tv.weixin.pandora.xiaomi.com 94 | 127.0.0.1 tvapi.kuyun.com 95 | 127.0.0.1 tvapp.hpplay.cn 96 | 127.0.0.1 tvmanager.pandora.xiaomi.com 97 | 127.0.0.1 tvmgr.pandora.xiaomi.com 98 | 127.0.0.1 upgrade.mishop.pandora.xiaomi.com 99 | 127.0.0.1 upgrade.xl9.xunlei.com 100 | 127.0.0.1 userapi.hpplay.com.cn 101 | 127.0.0.1 v.admaster.com.cn 102 | 127.0.0.1 video.market.xiaomi.com 103 | 127.0.0.1 vipauth.hpplay.cn 104 | 127.0.0.1 vipsdkauth.hpplay.cn 105 | 127.0.0.1 vv.play.aiseet.atianqi.com 106 | -------------------------------------------------------------------------------- /Files/miTVLite.txt: -------------------------------------------------------------------------------- 1 | 127.0.0.1 ad.hpplay.cn 2 | 127.0.0.1 ad.mi.com 3 | 127.0.0.1 ad.xiaomi.com 4 | 127.0.0.1 ad1.xiaomi.com 5 | 127.0.0.1 adc.hpplay.cn 6 | 127.0.0.1 adcdn.hpplay.cn 7 | 127.0.0.1 adeng.hpplay.cn 8 | 127.0.0.1 admaster.com.cn 9 | 127.0.0.1 adv.sec.miui.com 10 | 127.0.0.1 api.ad.xiaomi.com 11 | 127.0.0.1 bss.pandora.xiaomi.com 12 | 127.0.0.1 cdn.ad.xiaomi.com 13 | 127.0.0.1 conf.hpplay.cn 14 | 127.0.0.1 config.kuyun.com 15 | 127.0.0.1 data.mistat.xiaomi.com 16 | 127.0.0.1 de.pandora.xiaomi.com 17 | 127.0.0.1 dvb.pandora.xiaomi.com 18 | 127.0.0.1 e.ad.xiaomi.com 19 | 127.0.0.1 fix.hpplay.cn 20 | 127.0.0.1 gallery.pandora.xiaomi.com 21 | 127.0.0.1 gvod.aiseejapp.atianqi.com 22 | 127.0.0.1 jellyfish.pandora.xiaomi.com 23 | 127.0.0.1 log.ad.xiaomi.com 24 | 127.0.0.1 logonext.tv.kuyun.com 25 | 127.0.0.1 misc.pandora.xiaomi.com 26 | 127.0.0.1 mishop.pandora.xiaomi.com 27 | 127.0.0.1 mitv.tracking.miui.com 28 | 127.0.0.1 sdkauth.hpplay.cn 29 | 127.0.0.1 sdkconfig.ad.xiaomi.com 30 | 127.0.0.1 ssp.ad.xiaomi.com 31 | 127.0.0.1 starfish.pandora.xiaomi.com 32 | 127.0.0.1 stat.pandora.xiaomi.com 33 | 127.0.0.1 t7z.cupid.ptqy.gitv.tv 34 | 127.0.0.1 tat.pandora.xiaomi.com 35 | 127.0.0.1 test.ad.xiaomi.com 36 | 127.0.0.1 tvmanager.pandora.xiaomi.com 37 | 127.0.0.1 tvmgr.pandora.xiaomi.com 38 | 127.0.0.1 upgrade.mishop.pandora.xiaomi.com 39 | -------------------------------------------------------------------------------- /Files/noota.mobileconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Files/noota.mobileconfig -------------------------------------------------------------------------------- /Icons/app/qx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/app/qx.png -------------------------------------------------------------------------------- /Icons/app/weibo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/app/weibo.png -------------------------------------------------------------------------------- /Icons/area/hk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/hk.png -------------------------------------------------------------------------------- /Icons/area/jp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/jp.png -------------------------------------------------------------------------------- /Icons/area/kor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/kor.png -------------------------------------------------------------------------------- /Icons/area/ru.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/ru.png -------------------------------------------------------------------------------- /Icons/area/sp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/sp.png -------------------------------------------------------------------------------- /Icons/area/tw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/tw.png -------------------------------------------------------------------------------- /Icons/area/uk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/uk.png -------------------------------------------------------------------------------- /Icons/area/un.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/un.png -------------------------------------------------------------------------------- /Icons/area/us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/area/us.png -------------------------------------------------------------------------------- /Icons/common/doMedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/common/doMedia.png -------------------------------------------------------------------------------- /Icons/common/domestic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/common/domestic.png -------------------------------------------------------------------------------- /Icons/common/final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/common/final.png -------------------------------------------------------------------------------- /Icons/common/foMedia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/common/foMedia.png -------------------------------------------------------------------------------- /Icons/common/global.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/common/global.png -------------------------------------------------------------------------------- /Icons/common/hijacking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/common/hijacking.png -------------------------------------------------------------------------------- /Icons/common/qx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/common/qx.png -------------------------------------------------------------------------------- /Icons/server/moon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/YikR/QuanX/0d3b632a2efbca6261f3a8a2d7d848d504d87404/Icons/server/moon.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ⚠️ 禁止fork! 2 | 3 | # 访问量 4 | ![](http://profile-counter.glitch.me/RuCu6-QuanX/count.svg) 5 | 6 | # 鸣谢 7 | 按字母排序 8 | - [@app2smile](https://github.com/app2smile/rules) 9 | - [@blackmatrix7](https://github.com/blackmatrix7/ios_rule_script/tree/master) 10 | - [@kokoryh](https://github.com/kokoryh/Script) 11 | - [@Keywos](https://github.com/Keywos/rule) 12 | - [@Maasea](https://github.com/Maasea/sgmodule) 13 | - [@zmqcherish](https://github.com/zmqcherish/proxy-script) 14 | -------------------------------------------------------------------------------- /Rewrites/AppUnlock.conf: -------------------------------------------------------------------------------- 1 | # 2023-04-06 19:50 2 | 3 | # ======= B ====== # 4 | # 百度文库解锁VIP文档阅读权限 //appwk.baidu.com 5 | ^https:\/\/appwk\.baidu\.com\/naapi\/user\/getinfo url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/baidu/baiduLib.js 6 | # 百度网盘画质倍速 //pan.baidu.com 7 | ^https:\/\/pan\.baidu\.com\/rest\/2\.0\/membership\/user url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/baidu/baiduCloud.js 8 | 9 | # ======= C ====== # 10 | # 彩云天气 //biz.caiyunapp.com 11 | ^https:\/\/biz\.caiyunapp\.com\/v2\/user\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/break/caiyun.js 12 | 13 | # ======= E ====== # 14 | # Emby播放权限 //mb3admin.com 15 | ^https:\/\/mb3admin\.com\/admin\/service(\/registration\/validateDevice|\/appstore\/register|\/registration\/validate|\/registration\/getStatus|\/supporter\/retrievekey) url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/unlock2.js 16 | # Enpass Password Manager解锁订阅 //license.enpass.io 17 | ^https:\/\/license\.enpass\.io\/api\/v1\/subscription\/me url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/break/enpass.js 18 | 19 | # ======= J ====== # 20 | # 简讯订阅 //api.tipsoon.com 21 | ^https:\/\/api\.tipsoon\.com\/api\/v1\/user\/info$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/break/jianxun.js 22 | 23 | hostname = appwk.baidu.com, pan.baidu.com, biz.caiyunapp.com, mb3admin.com, license.enpass.io, api.tipsoon.com 24 | -------------------------------------------------------------------------------- /Rewrites/Cube/amap.snippet: -------------------------------------------------------------------------------- 1 | # ======= 高德地图 ======= # 2 | # 2023-04-04 08:45 3 | 4 | # 其他 5 | ^http:\/\/amdc\.m\.taobao\.com\/amdc\/mobileDispatch$ AMapiPhone url-and-header reject-dict 6 | ^https:\/\/m5\.amap\.com\/ws\/asa\/ads_attribution\? url reject-dict 7 | ^https:\/\/m5\.amap\.com\/ws\/shield\/scene\/recommend\? url reject-dict 8 | 9 | # 导航详情页,路线规划,地点详情页 10 | ^https:\/\/m5\.amap\.com\/ws\/faas\/amap-navigation\/card-service-route-plan\? url reject-dict 11 | ^https:\/\/m5\.amap\.com\/ws\/shield\/search\/new_hotword\? url reject-dict 12 | ^https:\/\/m5\.amap\.com\/ws\/shield\/search\/poi\/detail\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 13 | ^https:\/\/m5\.amap\.com\/ws\/shield\/search_poi\/(city_feed|tips_adv)\? url reject-dict 14 | ^https:\/\/m5\.amap\.com\/ws\/shield\/search_poi\/(search\/sp|tips_operation_location)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 15 | 16 | # 首页,卡片,红点角标,右上角动图,搜索框热词,左下角天气,天气动效图层,消息横幅 17 | ^https:\/\/m5\.amap\.com\/ws\/faas\/amap-navigation\/main-page\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 18 | ^https:\/\/m5\.amap\.com\/ws\/faas\/amap-navigation\/main-page-(assets|location)\? url reject-dict 19 | ^https:\/\/m5\.amap\.com\/ws\/(mapapi\/hint_text\/offline_data|message\/notice\/list|shield\/search\/new_hotword)\? url reject-dict 20 | ^https:\/\/m5\.amap\.com\/ws\/mapapi\/poi\/infolite\/\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 21 | ^https:\/\/m5\.amap\.com\/ws\/shield\/frogserver\/aocs\/updatable\/1\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 22 | ^https:\/\/m5\.amap\.com\/ws\/valueadded\/weather\/v2\? url reject-dict 23 | ^https:\/\/mps\.amap\.com\/ws\/mps\/scene\? url reject 24 | ^https:\/\/sns\.amap\.com\/ws\/msgbox\/pull(_mp)?\? url reject-dict 25 | 26 | # 我的页面,个人主页,卡片,足迹 27 | ^https:\/\/m5\.amap\.com\/ws\/faas\/amap-navigation\/usr-profile-fc\/(highlightV2|home)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 28 | ^https:\/\/m5\.amap\.com\/ws\/shield\/dsp\/profile\/index\/nodefaasv3\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 29 | ;^https:\/\/sns\.amap\.com\/ws\/userview\/footprint url reject-dict 30 | 31 | # 附近页 32 | ^https:\/\/m5\.amap\.com\/ws\/shield\/search\/nearbyrec_smart\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 33 | 34 | # 开屏广告 35 | ^https:\/\/m5\.amap\.com\/ws\/valueadded\/alimama\/splash_screen\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 36 | 37 | # 打车页,红点角标,弹窗,卡片 38 | ^https:\/\/m5-zb\.amap\.com\/ws\/boss\/order(_web\/friendly_information|\/car\/king_toolbox_car_bubble)\? url reject-dict 39 | ^https:\/\/m5-zb\.amap\.com\/ws\/promotion-web\/resource\?? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 40 | ^https:\/\/m5-zb\.amap\.com\/ws\/sharedtrip\/taxi\/order_detail_car_tips\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/amap.js 41 | 42 | hostname = m5.amap.com, m5-zb.amap.com, mps.amap.com, sns.amap.com 43 | -------------------------------------------------------------------------------- /Rewrites/Cube/bilibili.snippet: -------------------------------------------------------------------------------- 1 | # ======= 哔哩哔哩 ======= # 2 | # 2023-03-30 07:18 3 | 4 | # Proto 动态广告,后台播放限制,播放页广告 //app.bilibili.com 5 | ^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.app\.dynamic\.v2\.Dynamic\/DynAll$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/biliProto.js 6 | ;^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.app\.playurl\.v1\.PlayURL\/PlayView$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/biliProto.js 7 | ^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.app\.view\.v1\.View\/View$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/biliProto.js 8 | 9 | # 首页 DefaultWord,推荐,热搜发现,右上角活动,标签页,观影页,直播,直播间商品广告浮窗 10 | ^https:\/\/(grpc\.biliapi\.net|app\.bilibili\.com)\/bilibili\.app\.interface\.v1\.Search\/DefaultWords$ url reject 11 | ^https:\/\/app\.bilibili\.com\/x\/v2\/(feed\/index|search\/square)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/bili.js 12 | ^https:\/\/app\.bilibili\.com\/x\/resource\/(top\/activity|show\/tab\/v2)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/bili.js 13 | ^https:\/\/api\.bilibili\.com\/pgc\/page\/(bangumi|cinema\/tab\?) url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/bili.js 14 | ^https:\/\/api\.live\.bilibili\.com\/xlive\/app-room\/v1\/index\/getInfoByRoom\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/bili.js 15 | ^https:\/\/api\.live\.bilibili\.com\/xlive\/e-commerce-interface\/v1\/ecommerce-user\/get_shopping_info\? url reject-dict 16 | 17 | # 开屏广告 //app.bilibili.com 18 | ^https:\/\/app\.bilibili\.com\/x\/v2\/splash\/(brand\/list|event\/list2|list|show)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/bili.js 19 | 20 | # 我的页面 解锁1080P高码率,4K画质,皮肤推送 //app.bilibili.com 21 | ^https:\/\/app\.bilibili\.com\/x\/v2\/account\/(mine|myinfo)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/bili.js 22 | ^https:\/\/app\.bilibili\.com\/x\/resource\/show\/skin\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/bilibili/bili.js 23 | 24 | # IP请求,地理位置请求 //api.bilibili.com 25 | ^https:\/\/app\.bilibili\.com\/x\/resource\/ip url reject 26 | ^https:\/\/api\.bilibili\.com\/x\/web-interface\/zone\?jsonp=jsonp$ url reject-200 27 | 28 | hostname = app.bilibili.com, api.bilibili.com, api.live.bilibili.com, grpc.biliapi.net 29 | -------------------------------------------------------------------------------- /Rewrites/Cube/cloudmusic.snippet: -------------------------------------------------------------------------------- 1 | # ======= 网易云音乐 ======= # 2 | # 2023-03-25 17:05 3 | 4 | # 开屏广告,首页顶部横幅广告 5 | ^https?:\/\/interface3?\.music\.163.com\/eapi\/ad\/.* url reject-dict 6 | 7 | # 搜索页,填充词,排行榜 8 | ^https?:\/\/interface3?\.music\.163.com\/eapi\/search\/(chart\/(detail|list)$|default\/keyword\/list\?|rcmd\/keyword\/get\/v2$|specialkeyword\/get\?) url reject-dict 9 | 10 | # 播放页,多余图标,各种小提示,高品质音乐试用弹窗 11 | ^https:\/\/interface3\.music\.163\.com\/eapi\/(link\/position\/show\/(resource|strategy)|music\/songshare\/text\/recommend\/get)\? url reject-dict 12 | ^https:\/\/interface3\.music\.163\.com\/eapi\/(mlivestream\/entrance\/playpage\/v7|community\/friends\/fans-group\/artist\/group)\/get\? url reject-dict 13 | ^https:\/\/interface3\.music\.163\.com\/eapi\/mlog\/vinyl\/story\/list\? url reject-dict 14 | ^https:\/\/interface3\.music\.163\.com\/eapi\/(user\/sub\/artist\/exist|vipcenter\/tspopup\/get)\? url reject-dict 15 | ^https:\/\/interface3\.music\.163\.com\/eapi\/zone\/songplay\/entry\/get\? url reject-dict 16 | ^https?:\/\/interface3\.music\.163\.com\/eapi\/resniche\/position\/play\/new\/get\? url reject-dict 17 | 18 | # 评论页,回复广告,星评馆 19 | ^https?:\/\/interface3\.music\.163\.com\/eapi\/comment\/(hotcomment\/collect\/fetchmodelinfov2|feed\/inserted\/resources|tips\/v2\/get)\? url reject-dict 20 | ^https?:\/\/interface3\.music\.163\.com\/eapi\/v1\/content\/exposure\/comment\/banner\/get\? url reject-dict 21 | 22 | # 首页,右上角多余图标,会员续费弹窗,侧边栏推广 23 | ^https:\/\/interface3\.music\.163\.com\/eapi\/(homepage\/banner\/ad\/get|link\/scene\/show\/resource)\? url reject-dict 24 | ^https:\/\/interface3\.music\.163\.com\/eapi\/(music-vip-membership\/client\/vip\/info|vipauth\/app\/auth\/recycle)\? url reject-dict 25 | ^https:\/\/interface3\.music\.163\.com\/eapi\/(side-bar\/mini-program\/music-service\/account|delivery\/batch-deliver)\? url reject-dict 26 | 27 | # 我的页面,小部件红点 28 | ^https:\/\/interface3\.music\.163\.com\/eapi\/mine\/applet\/redpoint\? url reject-dict 29 | 30 | # 播客,弹出广告 31 | ^https:\/\/interface3\.music\.163\.com\/eapi\/voice\/play\/page\/ad\/info\? url reject-dict 32 | 33 | # 歌单页,横幅广告 34 | ^https:\/\/interface\.music\.163\.com\/weapi\/middle\/clientcfg\/config\/list\? url reject-dict 35 | ^https:\/\/interface3?\.music\.163\.com\/w?eapi\/resource-exposure\/(activity\/config\/get|config)\? url reject-dict 36 | 37 | hostname = interface*.music.163.com 38 | -------------------------------------------------------------------------------- /Rewrites/Cube/cube.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter_remote": [ 3 | "https://raw.githubusercontent.com/RuCu6/QuanX/main/Rules/MyBlockAds.list, tag=MyBlockAds, force-policy=reject, update-interval=172800, opt-parser=false, inserted-resource=true, enabled=true" 4 | ], 5 | "rewrite_remote": [ 6 | "https://raw.githubusercontent.com/RuCu6/QuanX/main/Rewrites/Cube/amap.snippet, tag=amap, update-interval=172800, opt-parser=false, inserted-resource=true, enabled=true" 7 | ] 8 | } 9 | -------------------------------------------------------------------------------- /Rewrites/Cube/ithome.snippet: -------------------------------------------------------------------------------- 1 | # ======= IT之家 ======= # 2 | # 2023-02-15 19:50 3 | 4 | ^https:\/\/api\.ithome\.com\/json\/(listpage\/news|newslist\/news|slide\/index) url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/ithome.js 5 | ^https:\/\/m\.ithome\.com\/api\/news\/newslistpageget url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/ithome.js 6 | ^https:\/\/napi\.ithome\.com\/api\/(news\/index|topmenu\/getfeeds) url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/ithome.js 7 | 8 | hostname = api.ithome.com, m.ithome.com, napi.ithome.com 9 | -------------------------------------------------------------------------------- /Rewrites/Cube/kuwo.snippet: -------------------------------------------------------------------------------- 1 | # ======= 酷我音乐 ====== # 2 | # 2023-02-27 19:30 3 | 4 | # 广告 5 | ^http:\/\/audiobookpay\.kuwo\.cn\/a\.p\?op=get_advertright_endtime url reject-dict 6 | ^http:\/\/(mgxhtj|nmobi|searchrecterm)\.kuwo\.cn\/(mgxh|mobi|recterm)\.s url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/break/kuwo.js 7 | 8 | # 会员 9 | ^http:\/\/audiobookpay\.kuwo\.cn\/a\.p url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/break/kuwo.js 10 | ^http:\/\/musicpay\.kuwo\.cn\/music\.pay url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/break/kuwo.js 11 | ^http:\/\/vip1\.kuwo\.cn\/vip\/(enc\/user\/vip\?op=ui|v2\/theme\?op=gd) url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/break/kuwo.js 12 | ^https:\/\/vip1\.kuwo\.cn\/vip\/v2\/user\/vip url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/break/kuwo.js 13 | 14 | hostname = *.kuwo.cn 15 | -------------------------------------------------------------------------------- /Rewrites/Cube/smzdm.snippet: -------------------------------------------------------------------------------- 1 | # ======= 什么值得买 ======= # 2 | # 2023-02-15 13:15 3 | # 适用 10.4.25 及以下版本 4 | 5 | # 开屏去广告 6 | ^https:\/\/app-api\.smzdm\.com\/util\/loading url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/smzdm.js 7 | 8 | # 百科去广告 9 | ^https:\/\/baike-api\.smzdm\.com\/home_v3\/list url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/smzdm.js 10 | 11 | # 好价去广告 12 | ^https:\/\/haojia-api\.smzdm\.com\/home\/list url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/smzdm.js 13 | 14 | # 好价详情页去广告,红包小助手,Wiki(618晒物活动推广,将来可能不是广告) 15 | ^https:\/\/haojia\.m\.smzdm\.com\/detail_modul\/(other|user_related|wiki_related)_modul url reject 16 | 17 | # 好价详情页去广告 18 | ^https:\/\/haojia\.m\.smzdm\.com\/detail_modul\/article_releated_modul url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/smzdm.js 19 | 20 | # 首页去广告 21 | ^https:\/\/homepage-api\.smzdm\.com\/v3\/home url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/smzdm.js 22 | 23 | # 搜索标签去广告,搜索结果去广告 24 | ^https:\/\/s-api\.smzdm\.com\/sou\/(filter\/tags\/hot_tags|list_v10) url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/smzdm.js 25 | 26 | # 值会员权益中心banner广告 27 | ^https:\/\/zhiyou\.m\.smzdm\.com\/user\/vip\/ajax_get_banner url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/smzdm.js 28 | 29 | hostname = app-api.smzdm.com, baike-api.smzdm.com, haojia-api.smzdm.com, haojia.m.smzdm.com, homepage-api.smzdm.com, s-api.smzdm.com, zhiyou.m.smzdm.com 30 | -------------------------------------------------------------------------------- /Rewrites/Cube/weibo.snippet: -------------------------------------------------------------------------------- 1 | # ======= 微博 ======= # 2 | # 2023-04-13 08:40 3 | 4 | # 首页 签到,发布按钮,侧边栏,右上角红包,侧边栏提醒,超话tab悬浮,顶部直播 5 | ^https:\/\/api\.weibo\.cn\/2\/(checkin\/show|client\/publisher_list|push\/active)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 6 | ^https:\/\/api\.weibo\.cn\/2\/(ug\/checkin\/list|push\/daily)\? url reject-dict 7 | ^https:\/\/api\.weibo\.cn\/2\/!\/live\/media_homelist\? url reject-dict 8 | 9 | # 详情页 超话,评论区,看图界面,个人主页,我的页面,信息流,商品橱窗,视频流,视频号,话题卡片 10 | ^https:\/\/api\.weibo\.cn\/2\/(cardlist|page)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 11 | ^https:\/\/api\.weibo\.cn\/2\/comments\/build_comments\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 12 | ^https:\/\/api\.weibo\.cn\/2\/comments\/bullet_screens\? url reject-dict 13 | ^https:\/\/api\.weibo\.cn\/2\/container\/asyn\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 14 | ^https:\/\/api\.weibo\.cn\/2\/photo\/info\? url reject-dict 15 | ^https:\/\/api\.weibo\.cn\/2\/profile\/(container_timeline|me)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 16 | ^https:\/\/api\.weibo\.cn\/2\/statuses\/(container_timeline(_topic|_unread|_hot)?|unread_hot_timeline)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 17 | ^https:\/\/api\.weibo\.cn\/2\/statuses\/(extend|show)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 18 | ^https:\/\/api\.weibo\.cn\/2\/statuses\/(container_positive|push_info)\? url reject-dict 19 | ^https:\/\/api\.weibo\.cn\/2\/video\/tiny_stream_video_list\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 20 | ^https:\/\/api\.weibo\.cn\/2\/!\/huati\/discovery_home_bottom_channels\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 21 | ^https:\/\/api\.weibo\.cn\/2\/!\/huati\/(discovery_home_bottom_getdotinfo|mobile_discovery_searchchange)\? url reject-dict 22 | 23 | # 消息页 24 | ^https:\/\/api\.weibo\.cn\/2\/messageflow\/notice\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 25 | 26 | # 发现页 热门微博信息流,搜索列表,热搜提醒,猜你想搜,视频流红包 27 | ^https:\/\/api\.weibo\.cn\/2\/search\/container_discover\? url reject-dict 28 | ^https:\/\/api\.weibo\.cn\/2\/search\/(container_timeline|finder)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 29 | ^https:\/\/api\.weibo\.cn\/2\/searchall\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 30 | ^https:\/\/api\.weibo\.cn\/2\/hot\/hours_spotlight\? url reject-dict 31 | ^https:\/\/api\.weibo\.cn\/2\/video\/redpacket\? url reject-dict 32 | ^https:\/\/api\.weibo\.cn\/!\/sug\/list\/finderchange\? url reject-dict 33 | 34 | # 开屏广告 //boot.biz.weibo.com, *.uve.weibo.com 35 | ^https:\/\/boot(realtime)?\.(biz|uve)\.weibo\.com\/v[12]\/ad\/realtime$ url reject-dict 36 | ^https:\/\/bootpreload\.uve\.weibo\.com\/v1\/ad\/preload$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 37 | ^https:\/\/sdkapp\.uve\.weibo\.com\/interface\/sdk\/(get-lbs-cell-info\.php$|sdkconfig\.php\?) url reject 38 | ^https:\/\/sdkapp\.uve\.weibo\.com\/interface\/sdk\/sdkad\.php$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 39 | ^https:\/\/wbapp\.uve\.weibo\.com\/wbapplua\/wbpullad\.lua\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/weibo.js 40 | 41 | # 微博长文章推广 42 | ^https:\/\/card\.weibo\.com\/article\/m\/aj\/(reward|uvead)\? url reject-dict 43 | ^https:\/\/weibo\.com\/ttarticle\/x\/m\/aj\/(reward|uvead)\? url reject-dict 44 | 45 | # 跳过重定向页面以直接访问 //weibo.cn, shop.sc.weibo.com, t.cn, sinaurl.cn 46 | ^https:\/\/weibo\.cn\/sinaurl\?(.*&)?(u|toasturl|goto)= url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/noRedirect.js 47 | ^https:\/\/shop\.sc\.weibo\.com\/h5\/jump\/error\?(.*&)?url= url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/noRedirect.js 48 | ^https:\/\/(sinaurl|t)\.cn\/ url script-response-header https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/noRedirect.js 49 | 50 | hostname = api.weibo.cn, boot.biz.weibo.com, *.uve.weibo.com, card.weibo.com, weibo.com, weibo.cn, shop.sc.weibo.com, t.cn, sinaurl.cn 51 | -------------------------------------------------------------------------------- /Rewrites/Cube/xiaohongshu.snippet: -------------------------------------------------------------------------------- 1 | # ======= 小红书 ======= # 2 | # 2023-03-30 10:35 3 | 4 | # 惊喜弹窗 5 | ^https:\/\/edith\.xiaohongshu\.com\/api\/sns\/v1\/surprisebox\/(get_style\?|open\?|submit_action$) url reject-dict 6 | ^https:\/\/www\.xiaohongshu\.com\/api\/marketing\/box\/trigger\? url reject-dict 7 | 8 | # 搜索页 9 | ^https:\/\/edith\.xiaohongshu\.com\/api\/sns\/v1\/search\/hot_list\?? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/xiaohongshu.js 10 | ^https:\/\/edith\.xiaohongshu\.com\/api\/sns\/v4\/search\/(hint|trending)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/xiaohongshu.js 11 | 12 | # 开屏广告 13 | ^https:\/\/edith\.xiaohongshu\.com\/api\/sns\/v1\/system_service\/config\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/xiaohongshu.js 14 | ^https:\/\/edith\.xiaohongshu\.com\/api\/sns\/v2\/system_service\/splash_config$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/xiaohongshu.js 15 | 16 | # 信息流 17 | ^https:\/\/edith\.xiaohongshu\.com\/api\/sns\/v6\/homefeed\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/xiaohongshu.js 18 | ^https:\/\/edith\.xiaohongshu\.com\/api\/sns\/v[23]\/note\/(video)?feed\? url response-body "disable_watermark":false, response-body "disable_watermark":true, 19 | ^https:\/\/www\.xiaohongshu\.com\/api\/sns\/v1\/ads\/resource\? url reject-dict 20 | 21 | hostname = edith.xiaohongshu.com, www.xiaohongshu.com 22 | -------------------------------------------------------------------------------- /Rewrites/Cube/youtube.snippet: -------------------------------------------------------------------------------- 1 | # ======= YouTube ======= # 2 | # 2023-04-11 14:42 3 | 4 | # ⚠️⚠️ 5 | # Quantumult X 必须在 [general] 部分加入以下代码: udp_drop_list=443 6 | 7 | # 开启画中画,后台播放 8 | ^https:\/\/youtubei\.googleapis\.com\/youtubei\/v1\/account\/get_setting\?key url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/youtube.js 9 | 10 | # 首页 瀑布流,上传按钮,短视频,反馈 11 | ^https:\/\/youtubei\.googleapis\.com\/youtubei\/v1\/(browse|guide|reel\/reel_watch_sequence)\?key url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/youtube.js 12 | ^https:\/\/youtubei\.googleapis\.com\/youtubei\/v1\/feedback\?key url reject-200 13 | 14 | # 播放页 插播广告,贴片广告 15 | ^https:\/\/youtubei\.googleapis\.com\/youtubei\/v1\/(next|player)\?key url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/youtube.js 16 | ^https:\/\/[\w-]+\.googlevideo\.com\/initplayback\?.+&oad url reject-200 17 | 18 | # 搜索页 19 | ^https:\/\/youtubei\.googleapis\.com\/youtubei\/v1\/search\?key url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/youtube.js 20 | 21 | hostname = rr*.googlevideo.com, youtubei.googleapis.com 22 | -------------------------------------------------------------------------------- /Rewrites/Cube/zhihu.snippet: -------------------------------------------------------------------------------- 1 | # ======= 知乎 ======= # 2 | # 2023-04-03 11:11 3 | 4 | # 首页 悬浮图标,顶部横幅,开屏广告,关注页推荐,推荐信息流,热榜信息流,热榜直播,回答底部卡片 5 | ^https:\/\/api\.zhihu\.com\/commercial_api\/app_float_layer$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 6 | ^https:\/\/api\.zhihu\.com\/commercial_api\/(banners_v3\/app_topstory_banner$|launch_v2\?|real_time_launch_v2\?) url reject-dict 7 | ^https:\/\/api\.zhihu\.com\/content-distribution-core\/bubble\/common\/settings$ url reject-dict 8 | ^https:\/\/api\.zhihu\.com\/(moments\/lastread|drama\/hot-drama-list)$ url reject-dict 9 | ^https:\/\/api\.zhihu\.com\/(moments_v3|topstory\/recommend(_v2)?)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 10 | ^https:\/\/api\.zhihu\.com\/root\/window$ url reject-dict 11 | ^https:\/\/api\.zhihu\.com\/v2\/topstory\/hot-lists\/everyone-seeing\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 12 | 13 | # 我的页面 项目列表,会员卡片,更多卡片 14 | ^https:\/\/api\.zhihu\.com\/me\/guides\?? url reject-dict 15 | ^https:\/\/api\.zhihu\.com\/people\/homepage_entry$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 16 | ^https:\/\/api\.zhihu\.com\/unlimited\/go\/my_card$ url reject-200 17 | ^https:\/\/www\.zhihu\.com\/appview\/v3\/zhmore\?? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 18 | 19 | # 搜索页 关键词,猜你想搜 20 | ^https:\/\/api\.zhihu\.com\/feed\/render\/revisit\/current_reading$ url reject-dict 21 | ^https:\/\/api\.zhihu\.com\/search\/preset_words\?? url reject-dict 22 | ^https:\/\/api\.zhihu\.com\/search\/recommend_query\/v2\? url response-body "recommend_queries":\{.+\} response-body "recommend_queries":{} 23 | ^https:\/\/www\.zhihu\.com\/api\/v4\/search\/related_queries\/(answer|article)\/\d+ url reject-dict 24 | 25 | # 回答详情页,下一个回答 26 | ^https:\/\/api\.zhihu\.com\/next-data\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 27 | ^https:\/\/api\.zhihu\.com\/(v4\/)?questions\/\d+\/(feeds|answers)\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 28 | ^https:\/\/www\.zhihu\.com\/api\/v4\/(answers|articles)\/\d+\/recommendations?\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 29 | 30 | # 其他,服务器推送配置 31 | ^https:\/\/api\.zhihu\.com\/ab\/api\/v1\/products\/zhihu\/platforms\/ios\/config$ url reject 32 | ^https:\/\/api\.zhihu\.com\/ad-style-service\/request$ url reject-dict 33 | ^https:\/\/appcloud2\.zhihu\.com\/v3\/config$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 34 | ^https:\/\/appcloud2\.zhihu\.com\/v3\/resource\?group_name=mp$ url reject-dict 35 | ^https:\/\/m-cloud\.zhihu\.com\/api\/cloud\/config\/all\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/zhihu.js 36 | 37 | # 网页版去广告 //www.zhihu.com, zhuanlan.zhihu.com 38 | ^https:\/\/api\.zhihu\.com\/distribute\/rhea\/qa_ad_card\/h5\/recommendation\? url reject-dict 39 | ^https:\/\/www\.zhihu\.com\/api\/v4/(questions|anwsers)\/\d+/related-readings url reject 40 | ^https:\/\/www\.zhihu\.com\/api\/v4\/hot_recommendation url reject 41 | ^https:\/\/www\.zhihu\.com\/commercial_api\/banners_v3\/mobile_banner url reject 42 | ^https:\/\/zhuanlan\.zhihu\.com\/api\/articles\/\d+\/recommendation url reject 43 | 44 | hostname = api.zhihu.com, appcloud2.zhihu.com, m-cloud.zhihu.com, www.zhihu.com, zhuanlan.zhihu.com 45 | -------------------------------------------------------------------------------- /Rewrites/Emby.conf: -------------------------------------------------------------------------------- 1 | # 引用地址 https://github.com/rartv/EmbyPublic/blob/test/quantumult-x/emby.conf 2 | 3 | # 播放解锁 4 | ^https?:\/\/mb3admin.com\/admin\/service\/registration\/validateDevice url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/unlock.js 5 | # 视频下载 6 | ((\/emby)*\/Users\/\w{32}\/Items\/\d+\?)|((\/emby)*\/Items\/\d+\/Download)|(\/web\/modules\/itemcontextmenu\.js)|(\/web\/item\/item\.js) url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/emby.js 7 | # 下载路径重命名 8 | \/Videos\/\d+\/stream\/.+\?.+ url script-request-header https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/downloadPathRename.js 9 | # 下载文件重命名 10 | (\/Videos\/\d+\/stream\?.+&filename)|(\/Videos\/\d+\/\w{32}\/Subtitles\/.+&filename) url script-response-header https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/downloadFileRename.js 11 | 12 | hostname = *.mb3admin.com, *.emby.wtf, *.plusmedia.site, *.jmsooo.com 13 | -------------------------------------------------------------------------------- /Rewrites/EmbyPlus.conf: -------------------------------------------------------------------------------- 1 | # Emby //*.mb3admin.com, *.emby.wtf, *.plusmedia.site, *.xeton.dev, *.jmsooo.com 2 | # 播放解锁 3 | ^https?:\/\/mb3admin.com\/admin\/service\/registration\/validateDevice url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/unlock.js 4 | # 解决QX抓取某些公益服该请求乱码问题 5 | \/Users\/\w{32}\/Items\/\d+\? url request-header (\r\n)Accept-Encoding:.+ request-header $Accept-Encoding: gzip, deflate, br 6 | # 添加外部播放器连接 7 | \/Users\/\w{32}\/Items\/\d+\? url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/embyPlus.js 8 | # 打开外部播放器 9 | \/plugin\/scheme url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/embyPlus.js 10 | # 资源路径伪静态 11 | (\/Videos\/\d+\/stream\/.+\?.+&filename)|(\/Videos\/\d+\/\w{32}\/Subtitles\/\d+\/.+\?.+&filename) url script-request-header https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/embyPlus.js 12 | # 下载文件重命名 13 | (\/Videos\/\d+\/stream\/.+\?.+&filename)|(\/Videos\/\d+\/\w{32}\/Subtitles\/\d+\/.+\?.+&filename) url script-response-header https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/emby/downloadFileRename2.js 14 | 15 | hostname = *.mb3admin.com, *.emby.wtf, *.plusmedia.site, *.xeton.dev, *.jmsooo.com 16 | -------------------------------------------------------------------------------- /Rewrites/HaierHome.conf: -------------------------------------------------------------------------------- 1 | ^https?:\/\/dualstack-(arestapi|restios)\.amap\.com\/v3\/iasdkauth\?key= url reject-200 2 | ^https?:\/\/dualstack-logs\.amap\.com\/ws\/log\/upload\?product url reject-200 3 | ^https?:\/\/oss-zjrs\.haier\.net\/resource\/confFile\/\d{22}\.zip$ url reject-200 4 | ^https?:\/\/oss-zjrs\.haier\.net\/resource\/confFile\/\d{22}\.json$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/Haier/haierMain.js 5 | ^https?:\/\/zj\.haier\.net\/api-gw\/shpmResource\/ad\/v1\/rotation$ url reject-200 6 | ^https?:\/\/zj\.haier\.net\/api-gw\/shpmResource\/servicePage\/start\/advertising\?approach url reject-200 7 | ^https?:\/\/zj\.haier\.net\/api-gw\/shpmResource\/servicePage\/visualize\/recommend\?dataType url reject-200 8 | ^https?:\/\/zj\.haier\.net\/api-gw\/shpmResource\/servicePage\/weather\/query\?areaId url reject-200 9 | ^https?:\/\/zj\.haier\.net\/api-gw\/upmapi\/appmanage\/app\/[cold]?start\/report$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/Haier/haierLaunch.js 10 | ^https?:\/\/zj\.haier\.net\/api-gw\/upmapi\/appmanage\/publish\/getRecommendVersion$ url reject-200 11 | ^https?:\/\/zj\.haier\.net\/omsappapi\/ad\/v1\/rotation$ url reject-200 12 | ^https?:\/\/zj\.haier\.net\/omsappapi\/resource\/v1\/resBagList$ url reject-200 13 | ^https?:\/\/zj\.haier\.net\/omsappapi\/resource\/v2\/get\/resourceBag$ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/Haier/haierRes.js 14 | ^https?:\/\/zj\.haier\.net\/omssceneapi\/house\/v1\/recommend\/listByRoom$ url reject-200 15 | 16 | hostname = dualstack*.amap.com, oss-zjrs.haier.net, zj.haier.net -------------------------------------------------------------------------------- /Rewrites/README.md: -------------------------------------------------------------------------------- 1 | # 引用地址 - AppUnlock.conf 2 | ``` 3 | https://github.com/qiangxinglin/Emby/blob/main/QuantumultX/emby.conf 4 | https://github.com/I-am-R-E/Functional-Store-Hub/blob/Master/KuWoMusic/KuWoMusic.QuantumultX.snippet 5 | https://github.com/yqc007/QuantumultX/blob/master/NotabilityProCrack.js 6 | https://github.com/I-am-R-E/Functional-Store-Hub/blob/Master/WPSOffice/QuantumultX.snippet 7 | https://github.com/yqc007/QuantumultX/blob/master/WPSDocerVIPowerCrack.js 8 | https://github.com/yqc007/QuantumultX/blob/master/WPSDocerVIPuserCrack.js 9 | ``` 10 | # 引用地址 - MyBlockAds.conf 11 | ``` 12 | https://github.com/zZPiglet/Task/blob/master/noredirect.conf 13 | https://github.com/ddgksf2013/Cuttlefish/blob/master/Rewrite/MyAdRule.conf 14 | https://github.com/ddgksf2013/Cuttlefish/blob/master/Rewrite/AdBlock/Bilibili.conf 15 | https://github.com/chouchoui/QuanX/blob/master/Scripts/xiaohongshu/xiaohongshu.ad.sgmodule 16 | https://github.com/chouchoui/QuanX/blob/master/Scripts/xiaohongshu/xiaohongshu.ad.js 17 | https://github.com/zZPiglet/Task/blob/master/UnblockURLinWeChat.conf 18 | https://github.com/zmqcherish/proxy-script/blob/main/weibo.conf 19 | https://github.com/zmqcherish/proxy-script/blob/main/weibo_main.js 20 | https://github.com/yjqiang/surge_scripts/blob/main/scripts/weibo/weibo_sdkad.js 21 | https://github.com/Maasea/sgmodule/blob/master/YoutubeAds.sgmodule 22 | https://github.com/Maasea/sgmodule/blob/master/Script/Youtube/youtube.js 23 | https://github.com/yjqiang/surge_scripts/blob/main/modules/zhihu/zhihu_website.sgmodule 24 | https://github.com/blackmatrix7/ios_rule_script/blob/master/script/zhihu/zhihu_plus.qxrewrite 25 | ``` 26 | # 引用地址 - TestFlight.conf 27 | ``` 28 | https://github.com/id77/QuantumultX/blob/master/rewrite/other.conf 29 | https://github.com/NobyDa/Script/blob/master/QuantumultX/TestFlightDownload.conf 30 | ``` 31 | # 引用地址 - WebPage.conf 32 | ``` 33 | https://github.com/DivineEngine/Profiles/blob/master/Quantumult/Rewrite/General.conf 34 | https://github.com/limbopro/Adblock4limbo/blob/main/Adblock4limbo.conf 35 | ``` 36 | -------------------------------------------------------------------------------- /Rewrites/TestFlight.conf: -------------------------------------------------------------------------------- 1 | # TestFlight 国区下载修正 2 | ^https:\/\/testflight\.apple\.com\/v2\/accounts\/.*\/apps\/\d*\/builds\/\d*\/install$ url request-body "storefrontId"\x20:\x20.*, request-body "storefrontId":"143441-19,29", 3 | 4 | hostname = testflight.apple.com 5 | -------------------------------------------------------------------------------- /Rewrites/TestFlightA.conf: -------------------------------------------------------------------------------- 1 | # TestFlight 多账户管理脚本 2 | # 引用地址 https://github.com/NobyDa/Script/blob/master/TestFlight/TestFlightAccount.js 3 | 4 | ^https:\/\/testflight\.apple\.com\/v\d\/(app|account|invite)s\/ url script-analyze-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/tfa.js 5 | 6 | hostname = testflight.apple.com 7 | -------------------------------------------------------------------------------- /Rewrites/WechatRead.conf: -------------------------------------------------------------------------------- 1 | ######################################################## 2 | # 微信阅读(全自动),阅读得积分,100积分换1元 3 | # 请复制下面的链接在微信中打开 4 | # 链接:https://zs909-1-1309352875.cos.ap-nanjing.myqcloud.com/zs.html?for=BJttgWm 5 | # 备用链接:https://zs909-2-1309352875.cos.ap-guangzhou.myqcloud.com/zs.html?for=BJttgWm 6 | ####################################################### 7 | 8 | # 自动阅读 //mp.weixin.qq.com 9 | ^https?:\/\/mp\.weixin\.qq\.com\/s.+? url response-body response-body setTimeout(()=>window.history.back(),7000); 10 | # 屏蔽弹窗 //m*bar 11 | ^https?:\/\/m.*bar\/reada\/finishTask url response-body true response-body false 12 | 13 | # 羊了个羊 //cat-match-static.easygame2021.com 14 | ^https?:\/\/cat-match-static\.easygame2021\.com\/maps\/(.*) url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/yang.js 15 | 16 | hostname = mp.weixin.qq.com, m*bar, cat-match-static.easygame2021.com 17 | -------------------------------------------------------------------------------- /Rewrites/Yang.conf: -------------------------------------------------------------------------------- 1 | # 引用地址 https://github.com/yangdaozhao/ylgy/blob/master/config.conf 2 | # 引用地址 https://github.com/yangdaozhao/ylgy/blob/master/ylgy.js 3 | 4 | ^https?:\/\/cat-match-static\.easygame2021\.com\/maps\/(.*) url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/yang.js 5 | 6 | hostname = cat-match-static.easygame2021.com 7 | -------------------------------------------------------------------------------- /Rules/Apple.list: -------------------------------------------------------------------------------- 1 | # https://github.com/DivineEngine/Profiles/blob/master/Quantumult/Filter/Extra/Apple/Apple.list 2 | # 2022-02-12 3 | 4 | HOST-SUFFIX, aaplimg.com, Apple 5 | HOST-SUFFIX, akadns.net, Apple 6 | HOST-SUFFIX, apple-cloudkit.com, Apple 7 | HOST-SUFFIX, apple-livephotoskit.com, Apple 8 | HOST-SUFFIX, apple-mapkit.com, Apple 9 | HOST-SUFFIX, apple.co, Apple 10 | HOST-SUFFIX, apple.com, Apple 11 | HOST-SUFFIX, apple.com.cn, Apple 12 | HOST-SUFFIX, apple.com.edgekey.net, Apple 13 | HOST-SUFFIX, applemusic.com, Apple 14 | HOST-SUFFIX, appstore.com, Apple 15 | HOST-SUFFIX, apzones.com, Apple 16 | HOST-SUFFIX, cdn-apple.com, Apple 17 | HOST-SUFFIX, icloud-content.com, Apple 18 | HOST-SUFFIX, icloud.com, Apple 19 | HOST-SUFFIX, icloud.com.cn, Apple 20 | HOST-SUFFIX, itunes.com, Apple 21 | HOST-SUFFIX, me.com, Apple 22 | HOST-SUFFIX, mzstatic.com, Apple 23 | HOST-SUFFIX, smoot.apple.cn, Apple 24 | -------------------------------------------------------------------------------- /Rules/China.list: -------------------------------------------------------------------------------- 1 | # China Area Network 2 | HOST-SUFFIX, flyert.com, DIRECT 3 | HOST-SUFFIX, gandi.net, DIRECT 4 | HOST-SUFFIX, snapdrop.net, DIRECT 5 | HOST, download.jetbrains.com, DIRECT 6 | HOST, origin-a.akamaihd.ne, DIRECT 7 | # ---(Microsoft)--- 8 | # > Outlook 9 | HOST, outlook.office365.com, DIRECT 10 | HOST, smtp-mail.outlook.com, DIRECT 11 | HOST, smtp.office365.com, DIRECT 12 | # > Windows Server Update Services 13 | HOST-SUFFIX, dl.delivery.mp.microsoft.com, DIRECT 14 | HOST-SUFFIX, update.microsoft.com, DIRECT 15 | HOST-SUFFIX, windowsupdate.com, DIRECT 16 | HOST-SUFFIX, windowsupdate.microsoft.com, DIRECT 17 | HOST, download.microsoft.com, DIRECT 18 | HOST, wustat.windows.com, DIRECT 19 | HOST, ntservicepack.microsoft.com, DIRECT 20 | # ------ 21 | # > PayPal 22 | HOST-SUFFIX, paypal.com, DIRECT 23 | HOST-SUFFIX, paypal.me, DIRECT 24 | HOST-SUFFIX, paypal-mktg.com, DIRECT 25 | HOST-SUFFIX, paypalobjects.com, DIRECT 26 | # > Steam 27 | HOST-SUFFIX, cm.steampowered.com, DIRECT 28 | HOST-SUFFIX, steamserver.net, DIRECT 29 | # > Tencent 30 | IP-CIDR, 182.254.116.0/24, DIRECT 31 | IP-CIDR, 203.205.238.0/23, DIRECT 32 | IP-CIDR, 203.205.254.0/23, DIRECT 33 | # > IP Query 34 | HOST, ip.istatmenus.app, DIRECT 35 | HOST, sms.imagetasks.com, DIRECT 36 | # > Speed Test 37 | HOST-SUFFIX, netspeedtestmaster.com, DIRECT 38 | HOST, speedtest.macpaw.com, DIRECT 39 | # > Private Tracker 40 | HOST-SUFFIX, acg.rip, DIRECT 41 | HOST-SUFFIX, animebytes.tv, DIRECT 42 | HOST-SUFFIX, awesome-hd.me, DIRECT 43 | HOST-SUFFIX, broadcasthe.net, DIRECT 44 | HOST-SUFFIX, chdbits.co, DIRECT 45 | HOST-SUFFIX, classix-unlimited.co.uk, DIRECT 46 | HOST-SUFFIX, comicat.org, DIRECT 47 | HOST-SUFFIX, empornium.me, DIRECT 48 | HOST-SUFFIX, gazellegames.net, DIRECT 49 | HOST-SUFFIX, hdbits.org, DIRECT 50 | HOST-SUFFIX, hdchina.org, DIRECT 51 | HOST-SUFFIX, hddolby.com, DIRECT 52 | HOST-SUFFIX, hdhome.org, DIRECT 53 | HOST-SUFFIX, hdsky.me, DIRECT 54 | HOST-SUFFIX, icetorrent.org, DIRECT 55 | HOST-SUFFIX, jpopsuki.eu, DIRECT 56 | HOST-SUFFIX, keepfrds.com, DIRECT 57 | HOST-SUFFIX, madsrevolution.net, DIRECT 58 | HOST-SUFFIX, morethan.tv, DIRECT 59 | HOST-SUFFIX, m-team.cc, DIRECT 60 | HOST-SUFFIX, myanonamouse.net, DIRECT 61 | HOST-SUFFIX, nanyangpt.com, DIRECT 62 | HOST-SUFFIX, ncore.cc, DIRECT 63 | HOST-SUFFIX, open.cd, DIRECT 64 | HOST-SUFFIX, ourbits.club, DIRECT 65 | HOST-SUFFIX, passthepopcorn.me, DIRECT 66 | HOST-SUFFIX, privatehd.to, DIRECT 67 | HOST-SUFFIX, pterclub.com, DIRECT 68 | HOST-SUFFIX, redacted.ch, DIRECT 69 | HOST-SUFFIX, springsunday.net, DIRECT 70 | HOST-SUFFIX, tjupt.org, DIRECT 71 | HOST-SUFFIX, totheglory.im, DIRECT 72 | 73 | # GeoIP 74 | GEOIP, CN, DIRECT 75 | -------------------------------------------------------------------------------- /Rules/MyBlockAds.list: -------------------------------------------------------------------------------- 1 | # 2023-04-03 15:08 2 | 3 | # ======= A ======= # 4 | # 安全浏览限制解除 5 | HOST, lookup.api.bsb.baidu.com, REJECT 6 | HOST, proxy.safebrowsing.apple, REJECT 7 | HOST, safebrowsing.g.applimg.com, REJECT 8 | HOST, safebrowsing.googleapis.com, REJECT 9 | HOST, safebrowsing.urlsec.qq.com, REJECT 10 | HOST, token.safebrowsing.apple, REJECT 11 | HOST, vs6.bj2ct.u3.ucweb.com, REJECT 12 | HOST-SUFFIX, u3.ucweb.com, REJECT 13 | 14 | # ======= C ======= # 15 | # Clue 智库 16 | HOST, api.helloclue.com, REJECT 17 | HOST, brahe.apptimize.com, REJECT 18 | HOST, collector.clue.run, REJECT 19 | HOST, mapi.apptimize.com, REJECT 20 | HOST, md-i-s.apptimize.com, REJECT 21 | HOST, images.ctfassets.net, REJECT 22 | 23 | # ======= F ======= # 24 | # Flurry 25 | HOST, data.flurry.com, REJECT 26 | # Foreca & Google 27 | HOST, googleads.g.doubleclick-cn.net, REJECT 28 | HOST, googleads.g.doubleclick.net, REJECT 29 | HOST, pubads.g.doubleclick.net, REJECT 30 | HOST, pagead2.googlesyndication.com, REJECT 31 | 32 | # ======= H ======= # 33 | # HTTPDNS 服务器 34 | ## 阿里云 35 | IP-CIDR, 203.107.1.1/32, REJECT 36 | ## 百度贴吧 37 | IP-CIDR, 186.76.76.200/32, REJECT 38 | 39 | # ======= G ======= # 40 | # 高德地图 41 | HOST, amap-aos-info-nogw.amap.com, REJECT 42 | HOST, awaken.amap.com, REJECT 43 | HOST, free-aos-cdn-image.amap.com, REJECT 44 | # 工商银行 开屏广告 45 | HOST, pageviewp.icbc.com.cn, REJECT 46 | # 广告联盟 47 | HOST, is.snssdk.com, REJECT 48 | HOST, mi.gdt.qq.com, REJECT 49 | HOST, open.e.kuaishou.com, REJECT 50 | HOST-SUFFIX, pangolin-sdk-toutiao.com, REJECT 51 | HOST-SUFFIX, pangolin-sdk-toutiao-b.com, REJECT 52 | 53 | # ======= K ======= # 54 | # 酷我音乐 55 | HOST, ad.tencentmusic.com, REJECT 56 | HOST, g.koowo.com, REJECT 57 | HOST, mobilead.kuwo.cn, REJECT 58 | HOST, rich.kuwo.cn, REJECT 59 | HOST, tmead.y.qq.com, REJECT 60 | HOST, tmeadcomm.y.qq.com, REJECT 61 | 62 | # ======= L ======= # 63 | # 蓝奏云 64 | HOST, pos.baidu.com, REJECT 65 | HOST, statics.woozooo.com, REJECT 66 | 67 | # ======= M ======= # 68 | # 美颜相机 69 | HOST, aaid.uyunad.com, REJECT 70 | HOST, adui.tg.meitu.com, REJECT 71 | 72 | # ======= O ======= # 73 | # Outlook 74 | HOST, acdn.adnxs.com, REJECT 75 | HOST, mediation.adnxs.com, REJECT 76 | HOST, sin3-ib.adnxs.com, REJECT 77 | 78 | # ======= R ======= # 79 | # RARBG 推广跳转 80 | HOST, bravetense.com, REJECT 81 | HOST, furiousfar.com, REJECT 82 | HOST, swallowcrockerybless.com, REJECT 83 | 84 | # ======= S ======= # 85 | # 什么值得买 86 | HOST, api.zuihuimai.com, REJECT 87 | # 数字联盟 88 | HOST-SUFFIX, shuzilm.cn, REJECT 89 | 90 | # ======= T ======= # 91 | # 腾讯 无法使用的推送服务 92 | HOST, tpns.qq.com, REJECT 93 | 94 | # ======= W ======= # 95 | # 网易云音乐 96 | HOST, gdt.qq.com, REJECT 97 | HOST, httpdns.n.netease.com, REJECT 98 | HOST, iadmat.nosdn.127.net, REJECT 99 | HOST, iadmusicmat.music.126.net, REJECT 100 | HOST, iadmusicmatvideo.music.126.net, REJECT 101 | HOST-SUFFIX, 163jiasu.com, REJECT 102 | # 微博 开屏广告 103 | HOST, adstrategy.biz.weibo.com, REJECT 104 | ;HOST, boot.biz.weibo.com, REJECT 105 | HOST, kadmimage.biz.weibo.com, REJECT 106 | HOST, sdkaction.biz.weibo.com, REJECT 107 | HOST, sdkclick.biz.weibo.com, REJECT 108 | HOST, sdkmonitor.biz.weibo.com, REJECT 109 | 110 | # ======= X ======= # 111 | # 小米 112 | HOST, sdkconfig.ad.xiaomi.com, REJECT 113 | # 迅雷 解除版权限制 114 | ;HOST, hub5btmain.v6.shub.sandai.net, REJECT 115 | ;HOST, hub5emu.v6.shub.sandai.net, REJECT 116 | ;HOST, hub5idx.v6.shub.sandai.net, REJECT 117 | 118 | # ======= Y ======= # 119 | # 云闪付 开屏广告 120 | HOST, ads.95516.com, REJECT 121 | HOST, cm-10-138.getui.com, REJECT 122 | HOST, sdk.open.talk.getui.net, REJECT 123 | HOST, sdk-conf.getui.com, REJECT 124 | HOST, switch.cup.com.cn, REJECT 125 | HOST, tysdk.95516.com, REJECT 126 | 127 | # ======= Z ======= # 128 | # 知乎 129 | HOST, appcloud.zhihu.com, REJECT 130 | HOST, appcloud2.in.zhihu.com, REJECT 131 | HOST, crash2.zhihu.com, REJECT 132 | HOST, mqtt.zhihu.com, REJECT 133 | HOST, sugar.zhihu.com, REJECT 134 | IP-CIDR, 118.89.204.198/32, REJECT 135 | IP-CIDR, 103.41.167.237/32, REJECT 136 | IP6-CIDR, 2402:4e00:1200:ed00:0:9089:6dac:96b6/128, REJECT 137 | -------------------------------------------------------------------------------- /Rules/Pinned.list: -------------------------------------------------------------------------------- 1 | # https://github.com/blackmatrix7/ios_rule_script/blob/release/rule/QuantumultX/Lan/Lan.list 2 | # 2022-11-30 21:11:38 3 | 4 | HOST, ad.10010.com, DIRECT 5 | HOST, alt1-mtalk.google.com, DIRECT 6 | HOST, alt2-mtalk.google.com, DIRECT 7 | HOST, alt3-mtalk.google.com, DIRECT 8 | HOST, alt4-mtalk.google.com, DIRECT 9 | HOST, alt5-mtalk.google.com, DIRECT 10 | HOST, alt6-mtalk.google.com, DIRECT 11 | HOST, alt7-mtalk.google.com, DIRECT 12 | HOST, alt8-mtalk.google.com, DIRECT 13 | HOST, analytics.95516.com, DIRECT 14 | HOST, analytics.strava.com, DIRECT 15 | HOST, app.adjust.com, DIRECT 16 | HOST, app.appsflyer.com, DIRECT 17 | HOST, bdtj.tagtic.cn, DIRECT 18 | HOST, clientservices.googleapis.com, DIRECT 19 | HOST, dl.google.com, DIRECT 20 | HOST, dl.l.google.com, DIRECT 21 | HOST, errlog.umeng.com, DIRECT 22 | HOST, fairplay.l.qq.com, DIRECT 23 | HOST, fonts.googleapis.com, DIRECT 24 | HOST, fonts.gstatic.com, DIRECT 25 | HOST, livew.l.qq.com, DIRECT 26 | HOST, log.mmstat.com, DIRECT 27 | HOST, msg.umeng.com, DIRECT 28 | HOST, msg.umengcloud.com, DIRECT 29 | HOST, mtalk.google.com, DIRECT 30 | HOST, origin-a.akamaihd.net, DIRECT 31 | HOST, picanalysis-auth.vivo.com.cn, DIRECT 32 | HOST, picanalysis.vivo.com.cn, DIRECT 33 | HOST, rewards.hypixel.net, DIRECT 34 | HOST, sycm.mmstat.com, DIRECT 35 | HOST, tracking.miui.com, DIRECT 36 | HOST, update.googleapis.com, DIRECT 37 | HOST, vd.l.qq.com, DIRECT 38 | HOST, vi.l.qq.com, DIRECT 39 | HOST, xivanalysis.com, DIRECT 40 | HOST-SUFFIX, baomitu.com, DIRECT 41 | HOST-SUFFIX, blog.google, DIRECT 42 | HOST-SUFFIX, bootcss.com, DIRECT 43 | HOST-SUFFIX, dizhensubao.getui.com, DIRECT 44 | HOST-SUFFIX, f.video.weibocdn.com, DIRECT 45 | HOST-SUFFIX, fus.cdn.krcom.cn, DIRECT 46 | HOST-SUFFIX, googletraveladservices.com, DIRECT 47 | HOST-SUFFIX, jiasule.com, DIRECT 48 | HOST-SUFFIX, ol.epicgames.com, DIRECT 49 | HOST-SUFFIX, staticfile.org, DIRECT 50 | HOST-SUFFIX, tracking-protection.cdn.mozilla.net, DIRECT 51 | HOST-SUFFIX, upaiyun.com, DIRECT 52 | 53 | # LAN 54 | IP-CIDR, 0.0.0.0/8, DIRECT 55 | IP-CIDR, 10.0.0.0/8, DIRECT 56 | IP-CIDR, 100.64.0.0/10, DIRECT 57 | IP-CIDR, 127.0.0.0/8, DIRECT 58 | IP-CIDR, 169.254.0.0/16, DIRECT 59 | IP-CIDR, 172.16.0.0/12, DIRECT 60 | IP-CIDR, 192.0.0.0/24, DIRECT 61 | IP-CIDR, 192.0.2.0/24, DIRECT 62 | IP-CIDR, 192.168.0.0/16, DIRECT 63 | IP-CIDR, 192.88.99.0/24, DIRECT 64 | IP-CIDR, 198.18.0.0/15, DIRECT 65 | IP-CIDR, 198.51.100.0/24, DIRECT 66 | IP-CIDR, 203.0.113.0/24, DIRECT 67 | IP-CIDR, 224.0.0.0/3, DIRECT 68 | IP6-CIDR, ::1/128, DIRECT 69 | IP6-CIDR, fc00::/7, DIRECT 70 | IP6-CIDR, fe80::/10, DIRECT 71 | -------------------------------------------------------------------------------- /Rules/README.md: -------------------------------------------------------------------------------- 1 | # 引用地址 - MyBlockAds.list 2 | ``` 3 | https://github.com/blackmatrix7/ios_rule_script/blob/release/rule/QuantumultX/ZhihuAds/ZhihuAds.list 4 | https://github.com/ddgksf2013/Cuttlefish/blob/master/Filter/MyAdRule.list 5 | https://github.com/ddgksf2013/Cuttlefish/blob/master/Filter/Mybreak.list 6 | https://github.com/app2smile/rules/tree/master/rule 7 | ``` 8 | -------------------------------------------------------------------------------- /Rules/Speedtest.list: -------------------------------------------------------------------------------- 1 | # https://github.com/blackmatrix7/ios_rule_script/blob/release/rule/QuantumultX/Speedtest/Speedtest.list 2 | # 2022-11-30 21:11:30 3 | 4 | HOST, speed.dler.io, Speedtest 5 | HOST-SUFFIX, fast.com, Speedtest 6 | HOST-SUFFIX, ooklaserver.net, Speedtest 7 | HOST-SUFFIX, speed.cloudflare.com, Speedtest 8 | HOST-SUFFIX, speed.dler.io, Speedtest 9 | HOST-KEYWORD, speedtest, Speedtest 10 | -------------------------------------------------------------------------------- /Rules/WeChat.list: -------------------------------------------------------------------------------- 1 | # https://github.com/blackmatrix7/ios_rule_script/blob/release/rule/QuantumultX/WeChat/WeChat.list 2 | # 2022-11-30 21:12:30 3 | 4 | HOST, dl.wechat.com, WeChat 5 | HOST, sgfindershort.wechat.com, WeChat 6 | HOST, sgilinkshort.wechat.com, WeChat 7 | HOST, sglong.wechat.com, WeChat 8 | HOST, sgminorshort.wechat.com, WeChat 9 | HOST, sgshort.wechat.com, WeChat 10 | HOST, tencentmap.wechat.com, WeChat 11 | HOST-SUFFIX, qlogo.cn, WeChat 12 | HOST-SUFFIX, qpic.cn, WeChat 13 | HOST-SUFFIX, servicewechat.com, WeChat 14 | HOST-SUFFIX, tenpay.com, WeChat 15 | HOST-SUFFIX, wechat.com, WeChat 16 | HOST-SUFFIX, wechatlegal.net, WeChat 17 | HOST-SUFFIX, wechatpay.com, WeChat 18 | HOST-SUFFIX, weixin.com, WeChat 19 | HOST-SUFFIX, weixin.qq.com, WeChat 20 | HOST-SUFFIX, weixinbridge.com, WeChat 21 | HOST-SUFFIX, weixinsxy.com, WeChat 22 | HOST-SUFFIX, wxapp.tc.qq.com, WeChat 23 | HOST-KEYWORD, 43.156.222., WeChat 24 | IP-CIDR, 101.32.104.4/32, WeChat 25 | IP-CIDR, 101.32.104.41/32, WeChat 26 | IP-CIDR, 101.32.104.56/32, WeChat 27 | IP-CIDR, 101.32.118.25/32, WeChat 28 | IP-CIDR, 101.32.133.16/32, WeChat 29 | IP-CIDR, 101.32.133.209/32, WeChat 30 | IP-CIDR, 101.32.133.53/32, WeChat 31 | IP-CIDR, 129.226.107.244/32, WeChat 32 | IP-CIDR, 129.226.3.47/32, WeChat 33 | -------------------------------------------------------------------------------- /Scripts/12306.js: -------------------------------------------------------------------------------- 1 | // 2023-02-22 18:20 2 | 3 | let body; 4 | let obj = JSON.parse($request.body); 5 | 6 | if (obj.placementNo === "0007") { 7 | body = 8 | '{"code":"00","materialsList":[{"billMaterialsId":"255","filePath":"h","creativeType":1}],"advertParam":{"skipTime":1}}'; 9 | } else if (obj.placementNo === "G0054") { 10 | body = '{"code":"00","materialsList":[]}'; 11 | } else { 12 | body = '{"code":"00","message":"无广告返回"}'; 13 | } 14 | 15 | $done({ body }); 16 | -------------------------------------------------------------------------------- /Scripts/MultiPlatformEnv/OpenAPI.min.js: -------------------------------------------------------------------------------- 1 | function ENV(){const e="function"==typeof require&&"undefined"!=typeof $jsbox;return{isQX:"undefined"!=typeof $task,isLoon:"undefined"!=typeof $loon,isSurge:"undefined"!=typeof $httpClient&&"undefined"!=typeof $utils,isBrowser:"undefined"!=typeof document,isNode:"function"==typeof require&&!e,isJSBox:e,isRequest:"undefined"!=typeof $request,isScriptable:"undefined"!=typeof importModule}}function HTTP(e={baseURL:""}){const{isQX:t,isLoon:s,isSurge:o,isScriptable:n,isNode:i,isBrowser:r}=ENV(),u=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)/;const a={};return["GET","POST","PUT","DELETE","HEAD","OPTIONS","PATCH"].forEach(h=>a[h.toLowerCase()]=(a=>(function(a,h){h="string"==typeof h?{url:h}:h;const d=e.baseURL;d&&!u.test(h.url||"")&&(h.url=d?d+h.url:h.url),h.body&&h.headers&&!h.headers["Content-Type"]&&(h.headers["Content-Type"]="application/x-www-form-urlencoded");const l=(h={...e,...h}).timeout,c={onRequest:()=>{},onResponse:e=>e,onTimeout:()=>{},...h.events};let f,p;if(c.onRequest(a,h),t)f=$task.fetch({method:a,...h});else if(s||o||i)f=new Promise((e,t)=>{(i?require("request"):$httpClient)[a.toLowerCase()](h,(s,o,n)=>{s?t(s):e({statusCode:o.status||o.statusCode,headers:o.headers,body:n})})});else if(n){const e=new Request(h.url);e.method=a,e.headers=h.headers,e.body=h.body,f=new Promise((t,s)=>{e.loadString().then(s=>{t({statusCode:e.response.statusCode,headers:e.response.headers,body:s})}).catch(e=>s(e))})}else r&&(f=new Promise((e,t)=>{fetch(h.url,{method:a,headers:h.headers,body:h.body}).then(e=>e.json()).then(t=>e({statusCode:t.status,headers:t.headers,body:t.data})).catch(t)}));const y=l?new Promise((e,t)=>{p=setTimeout(()=>(c.onTimeout(),t(`${a} URL: ${h.url} exceeds the timeout ${l} ms`)),l)}):null;return(y?Promise.race([y,f]).then(e=>(clearTimeout(p),e)):f).then(e=>c.onResponse(e))})(h,a))),a}function API(e="untitled",t=!1){const{isQX:s,isLoon:o,isSurge:n,isNode:i,isJSBox:r,isScriptable:u}=ENV();return new class{constructor(e,t){this.name=e,this.debug=t,this.http=HTTP(),this.env=ENV(),this.node=(()=>{if(i){return{fs:require("fs")}}return null})(),this.initCache();Promise.prototype.delay=function(e){return this.then(function(t){return((e,t)=>new Promise(function(s){setTimeout(s.bind(null,t),e)}))(e,t)})}}initCache(){if(s&&(this.cache=JSON.parse($prefs.valueForKey(this.name)||"{}")),(o||n)&&(this.cache=JSON.parse($persistentStore.read(this.name)||"{}")),i){let e="root.json";this.node.fs.existsSync(e)||this.node.fs.writeFileSync(e,JSON.stringify({}),{flag:"wx"},e=>console.log(e)),this.root={},e=`${this.name}.json`,this.node.fs.existsSync(e)?this.cache=JSON.parse(this.node.fs.readFileSync(`${this.name}.json`)):(this.node.fs.writeFileSync(e,JSON.stringify({}),{flag:"wx"},e=>console.log(e)),this.cache={})}}persistCache(){const e=JSON.stringify(this.cache,null,2);s&&$prefs.setValueForKey(e,this.name),(o||n)&&$persistentStore.write(e,this.name),i&&(this.node.fs.writeFileSync(`${this.name}.json`,e,{flag:"w"},e=>console.log(e)),this.node.fs.writeFileSync("root.json",JSON.stringify(this.root,null,2),{flag:"w"},e=>console.log(e)))}write(e,t){if(this.log(`SET ${t}`),-1!==t.indexOf("#")){if(t=t.substr(1),n||o)return $persistentStore.write(e,t);if(s)return $prefs.setValueForKey(e,t);i&&(this.root[t]=e)}else this.cache[t]=e;this.persistCache()}read(e){return this.log(`READ ${e}`),-1===e.indexOf("#")?this.cache[e]:(e=e.substr(1),n||o?$persistentStore.read(e):s?$prefs.valueForKey(e):i?this.root[e]:void 0)}delete(e){if(this.log(`DELETE ${e}`),-1!==e.indexOf("#")){if(e=e.substr(1),n||o)return $persistentStore.write(null,e);if(s)return $prefs.removeValueForKey(e);i&&delete this.root[e]}else delete this.cache[e];this.persistCache()}notify(e,t="",a="",h={}){const d=h["open-url"],l=h["media-url"];if(s&&$notify(e,t,a,h),n&&$notification.post(e,t,a+`${l?"\n多媒体:"+l:""}`,{url:d}),o){let s={};d&&(s.openUrl=d),l&&(s.mediaUrl=l),"{}"===JSON.stringify(s)?$notification.post(e,t,a):$notification.post(e,t,a,s)}if(i||u){const s=a+(d?`\n点击跳转: ${d}`:"")+(l?`\n多媒体: ${l}`:"");if(r){require("push").schedule({title:e,body:(t?t+"\n":"")+s})}else console.log(`${e}\n${t}\n${s}\n\n`)}}log(e){this.debug&&console.log(`[${this.name}] LOG: ${this.stringify(e)}`)}info(e){console.log(`[${this.name}] INFO: ${this.stringify(e)}`)}error(e){console.log(`[${this.name}] ERROR: ${this.stringify(e)}`)}wait(e){return new Promise(t=>setTimeout(t,e))}done(e={}){s||o||n?$done(e):i&&!r&&"undefined"!=typeof $context&&($context.headers=e.headers,$context.statusCode=e.statusCode,$context.body=e.body)}stringify(e){if("string"==typeof e||e instanceof String)return e;try{return JSON.stringify(e,null,2)}catch(e){return"[object Object]"}}}(e,t)} -------------------------------------------------------------------------------- /Scripts/MultiPlatformEnv/README.md: -------------------------------------------------------------------------------- 1 | # OpenAPI 2 | 3 | 优雅的跨平台脚本API,一种代码,同时支持Quantumult X, Loon, Surge, JSBox 和Node JS。让开发者更轻松在Node平台调试代码。 4 | 5 | ## 示例 6 | 7 | ### 开始使用 8 | 9 | 将`api-minified.js`内容复制到js脚本下方。 10 | 11 | ```javascript 12 | const $ = API("weather"); // 创建一个名字为weather的脚本。默认为product环境,抑制所有log输出,保持error信息。。 13 | const $ = API("weather", true); // 打开debug环境,打开所有log输出 14 | ``` 15 | 16 | ### Log 17 | 18 | ```javascript 19 | $.log("Something"); // 如果debug设置为false, log不会有任何输出。 20 | $.info("Some important thing"); // 需要展示给用户的info信息,不受debug影响。 21 | $.error("Some error message"); // 错误信息,不受debug影响。 22 | ``` 23 | 24 | ### 环境判断 25 | 26 | ```javascript 27 | $.env.isQX; 28 | $.env.isSurge; 29 | $.env.isLoon; 30 | $.env.isNode; 31 | $.env.isJSBox; 32 | ``` 33 | 34 | ### 通知 35 | 36 | ```javascript 37 | $.notify("title", "subtitle", "content"); // 简单标题 38 | // URL标题 39 | 40 | $.notify("title", "subtitle", "content", {"open-url": "https://www.bing.com"}) 41 | // 多媒体标题,QX >= build 316, 其他平台不会显示多媒体内容。 42 | $.notify("title", "subtitle", "content", {"media-url": "https://avatars2.githubusercontent.com/u/21050064?s=460&u=40a74913dd0a3d00670d05148c3a08c787470021&v=4"}) 43 | ``` 44 | 45 | ### HTTP 46 | 47 | HTTP接口在Node使用request实现,需要用npm安装request。推荐通过如下操作安装到全局,并link。 48 | 49 | ```bash 50 | npm install -g request 51 | # 在工作目录 52 | npm link request 53 | ``` 54 | 55 | OpenAPI提供了全部HTTP方法,包括`["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "PATCH"]`, 56 | 统一通过`$.http`调用: 57 | 58 | ```javascript 59 | // GET 60 | // 简单的请求一个URL 61 | $.http.get("https://postman-echo.com/get?foo1=bar1&foo2=bar2").then(resp => { 62 | // do something 63 | }); 64 | 65 | // PUT 66 | // 请求加入一些自定义参数 67 | $.http.put({ 68 | url: "https://postman-echo.com/put", 69 | body: "HELLO", // 设置请求body 70 | headers: { 71 | 'content-type': 'text/plain' 72 | }, // 设置请求头 73 | timeout: 200 // 设置请求超时为200ms, 74 | // 一些钩子函数 75 | events: { 76 | onRequest: (method, options) => { 77 | // 请求之前可以做一些操作,比如log,注意method和options无法修改 78 | }, 79 | onResponse: (resp) => { 80 | // 请求之后可以对resp做修改,记得返回resp! 81 | resp.body = JSON.parse(resp.body); 82 | return resp; 83 | }, 84 | onTimeout: () => { 85 | // timeout的处理,比如可以退出APP 86 | $.done(); 87 | } 88 | } 89 | }).then(response => { 90 | // do something 91 | }); 92 | ``` 93 | 94 | 或者你可以使用自定义参数的HTTP对象,实现一些自定义的配置。例如我们可以这样设置默认的baseURL以及默认的请求参数,比如: 95 | 96 | - headers 97 | - timeout 98 | - events 99 | 100 | 101 | 102 | ```javascript 103 | $.http = HTTP({ 104 | baseURL: "https://www.baidu.com", 105 | timeout: 500, 106 | headers: { 107 | "User-Agent": "OpenAPI" 108 | }, 109 | events: { 110 | onTimeout: () => $.error("OH NO!") 111 | } 112 | }); 113 | ``` 114 | 115 | 116 | ```javascript 117 | // 设置默认的baseURL为api.github.com,并设置鉴权token 118 | $.http = HTTP({ 119 | baseURL: "https://api.github.com", 120 | headers: { 121 | Authorization: `token MY_TOKEN`, 122 | "User-Agent": 123 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.141 Safari/537.36" 124 | } 125 | }) 126 | 127 | $.http.get("/gists").then(resp => { 128 | // do something 129 | }) 130 | ``` 131 | 132 | ### 持久化 133 | 134 | ```javascript 135 | $.write("VALUE", "KEY"); // 将VALUE保存到KEY中 136 | $.read("KEY"); // 将KEY的值取出 137 | $.delete("KEY"); // 删除KEY的值 138 | $.cache; // 当前脚本所有的缓存 139 | $.done(); 140 | ``` 141 | 142 | 持久化在OpenAPI中得到了巨大改进,在不同环境下,其表现如下: 143 | 144 | #### 1. QX & Loon & Surge 145 | 146 | 整个API对象共用一个`cache`,所以`$.write("VALUE", "KEY")`其实只是把值保存到`cache`中。然后`cache`会被以`name`属性作为key保存到`$prefs`或者`$persistentStore`中。这形成了每个脚本独自的缓存空间,避免key碰撞的情况产生。 147 | 148 | ```javascript 149 | const $1 = API("APP1"); 150 | const $2 = API("APP2"); 151 | 152 | // 这是安全的! 153 | $1.write("data", "key"); 154 | $2.write("data", "key"); 155 | ``` 156 | 157 | #### 2. Node & JSBox (2.0+) 158 | 159 | Node环境中,`cache`会被保存到和脚本同级目录下的`name.json`中。 160 | 161 | **如果希望在脚本里直接存取`$prefs`或者`$persistentStore`里面的缓存,可以通过在`KEY`前面加`#`号实现:** 162 | 163 | ```javascript 164 | $.read("#KEY"); 165 | $.write(value, "#KEY"); 166 | ``` 167 | 168 | ### 其他 169 | 170 | #### 延时 171 | 172 | ```javascript 173 | $.wait(1000).then(()=>{ 174 | // 等待1000毫秒之后执行 175 | }) 176 | 177 | // 在任何Promise后面可以自定义delay 178 | $.get("http://www.baidu.com") 179 | .delay(1000) // 延迟1000毫秒 180 | .then(resp => { 181 | // do something with response. 182 | }) 183 | ``` 184 | 185 | 更全面的用法请查看`example.js`。 186 | -------------------------------------------------------------------------------- /Scripts/adrive.js: -------------------------------------------------------------------------------- 1 | // 2023-02-11 22:30 2 | 3 | if (!$response.body) $done({}); 4 | let obj = JSON.parse($response.body); 5 | 6 | const item = [ 7 | "recentUsed", // 最近在看 8 | "coreFeatures", // 顶部图标 9 | "activities", // 精选活动 10 | "myBackup", // 我的备份 11 | // "recentSaved", // 最近转存 12 | "signIn" // 顶部签到 13 | ]; 14 | 15 | item.forEach((i) => { 16 | delete obj[i]; 17 | }); 18 | 19 | $done({ body: JSON.stringify(obj) }); 20 | -------------------------------------------------------------------------------- /Scripts/adsense.js: -------------------------------------------------------------------------------- 1 | // 2023-02-11 22:30 2 | 3 | const url = $request.url; 4 | if (!$response.body) $done({}); 5 | let obj = JSON.parse($response.body); 6 | 7 | // 广告联盟-穿山甲 8 | if ( 9 | url.includes("api-access.pangolin-sdk-toutiao.com/api/ad/union/sdk") || 10 | url.includes("is.snssdk.com/api/ad/union/sdk") 11 | ) { 12 | if (obj.message) { 13 | obj = { 14 | request_id: "F5617E54-3FF4-4052-9B09-4227D09B5105", 15 | status_code: 20001, 16 | reason: 112, 17 | desc: "该代码位请求量过大且消耗过低,因此填充率控制在10%以内,该策略每日生效,如果当天该代码位的消耗上涨或请求量小于5000,则次日不会命中该策略" 18 | }; 19 | } 20 | } else if (url.includes("open.e.kuaishou.com")) { 21 | // 广告联盟-快手联盟 22 | if (obj.result === 1) { 23 | obj.result = 40003; 24 | } 25 | } else if (url.includes("mi.gdt.qq.com")) { 26 | // 广告联盟-优量汇 27 | if ("ret" in obj) { 28 | if (obj.ret === 0) obj.ret = 102006; 29 | } 30 | } 31 | 32 | $done({ body: JSON.stringify(obj) }); 33 | -------------------------------------------------------------------------------- /Scripts/amdc.js: -------------------------------------------------------------------------------- 1 | // 2023-03-31 17:20 2 | 3 | const url = $request.url; 4 | const header = $request.headers; 5 | let ua = header["User-Agent"] || header["user-agent"]; 6 | 7 | if (url.includes("/amdc/mobileDispatch")) { 8 | if (ua.includes("AMapiPhone") || ua.includes("Cainiao")) { 9 | $done({ status: "HTTP/1.1 404 Not Found" }); 10 | return; 11 | } 12 | } 13 | 14 | $done({}); 15 | -------------------------------------------------------------------------------- /Scripts/backup/amap_moyu.js: -------------------------------------------------------------------------------- 1 | /*********************************************** 2 | > 应用名称:墨鱼自用高德地图去广告脚本 3 | > 脚本作者:@ddgksf2013 4 | > 微信账号:墨鱼手记 5 | > 更新时间:2022-04-07 6 | > 通知频道:https://t.me/ddgksf2021 7 | > 贡献投稿:https://t.me/ddgksf2013_bot 8 | > 问题反馈:ddgksf2013@163.com 9 | > 特别提醒:如需转载请注明出处,谢谢合作! 10 | ***********************************************/ 11 | 12 | const version = "V1.0.27"; 13 | 14 | var obj = JSON.parse($response.body); 15 | if (-1 != $request.url.indexOf("valueadded/alimama/splash_screen")) { 16 | if (obj.data && obj.data.ad) 17 | for (let a of obj.data.ad) 18 | (a.set.setting.display_time = 0), 19 | (a.creative[0].start_time = 2240150400), 20 | (a.creative[0].end_time = 2240150400); 21 | $done({ body: JSON.stringify(obj) }); 22 | } else if (-1 != $request.url.indexOf("faas/amap-navigation/main-page")) 23 | obj.data?.cardList && 24 | (obj.data.cardList = Object.values(obj.data.cardList).filter( 25 | (a) => "LoginCard" == a.dataType 26 | )), 27 | obj.data?.pull3?.msgs && (obj.data.pull3.msgs = []), 28 | obj.data?.mapBizList && (obj.data.mapBizList = []), 29 | $done({ body: JSON.stringify(obj) }); 30 | else if (-1 != $request.url.indexOf("profile/index/node")) 31 | delete obj.data.tipData, 32 | obj.data?.cardList && 33 | (obj.data.cardList = Object.values(obj.data.cardList).filter( 34 | (a) => "MyOrderCard" == a.dataType || "GdRecommendCard" == a.dataType 35 | )), 36 | $done({ body: JSON.stringify(obj) }); 37 | else if (-1 != $request.url.indexOf("new_hotword")) 38 | obj.data?.header_hotword && (obj.data.header_hotword = []), 39 | $done({ body: JSON.stringify(obj) }); 40 | else if (-1 != $request.url.indexOf("ws/promotion-web/resource")) { 41 | let e = ["icon", "banner", "tips", "popup", "bubble"]; 42 | for (let o of e) obj.data?.[o] && (obj.data[o] = []); 43 | $done({ body: JSON.stringify(obj) }); 44 | } else if (-1 != $request.url.indexOf("ws/msgbox/pull")) 45 | obj.msgs && (obj.msgs = []), 46 | obj.pull3?.msgs && (obj.pull3.msgs = []), 47 | $done({ body: JSON.stringify(obj) }); 48 | else if (-1 != $request.url.indexOf("ws/message/notice/list")) 49 | obj.data?.noticeList && (obj.data.noticeList = []), 50 | $done({ body: JSON.stringify(obj) }); 51 | else if (-1 != $request.url.indexOf("ws/shield/frogserver/aocs")) { 52 | for (let t of [ 53 | "gd_notch_logo", 54 | "home_business_position_config", 55 | "his_input_tip", 56 | "operation_layer" 57 | ]) 58 | obj.data?.[t] && (obj.data[t] = { status: 1, version: "", value: "" }); 59 | $done({ body: JSON.stringify(obj) }); 60 | } else if (-1 != $request.url.indexOf("search/nearbyrec_smart")) { 61 | let i = ["coupon", "scene", "activity", "commodity_rec"]; 62 | obj.data && 63 | (i.forEach((a) => { 64 | delete obj.data[a]; 65 | }), 66 | obj.data.modules && 67 | (obj.data.modules = obj.data.modules.filter((a) => !i.includes(a)))), 68 | $done({ body: JSON.stringify(obj) }); 69 | } else $done({}); 70 | -------------------------------------------------------------------------------- /Scripts/backup/coolapk_moyu.js: -------------------------------------------------------------------------------- 1 | /*********************************** 2 | > 应用名称:酷安净化 3 | > 脚本作者:ddgksf2013 4 | > 微信账号:墨鱼手记 5 | > 更新时间:2023-01-21 6 | > 通知频道:https://t.me/ddgksf2021 7 | > 贡献投稿:https://t.me/ddgksf2013_bot 8 | > 问题反馈:ddgksf2013@163.com 9 | > 特别提醒:如需转载请注明出处,谢谢合作! 10 | > 特别说明:⚠️⚠️⚠️ 11 | 本脚本仅供学习交流使用,禁止转载、售卖 12 | ⚠️⚠️⚠️ 13 | 14 | 15 | [rewrite_local] 16 | 17 | # > 酷安_推广广告@ddgksf2013 18 | ^https?:\/\/api.coolapk.com\/v6\/dataList url script-response-body https://github.com/ddgksf2013/Scripts/raw/master/coolapk.js 19 | # > 酷安_首页广告@ddgksf2013 20 | ^https?:\/\/api.coolapk.com\/v6\/main\/indexV8 url script-response-body https://github.com/ddgksf2013/Scripts/raw/master/coolapk.js 21 | # > 酷安_评论广告@ddgksf2013 22 | ^https?:\/\/api.coolapk.com\/v6\/feed\/replyList url script-response-body https://github.com/ddgksf2013/Scripts/raw/master/coolapk.js 23 | # > 酷安_商品推广@ddgksf2013 24 | ^https?:\/\/api.coolapk.com\/v6\/feed\/detail url script-response-body https://github.com/ddgksf2013/Scripts/raw/master/coolapk.js 25 | # > 酷安_屏蔽热词@ddgksf2013 26 | ^https?:\/\/api\.coolapk\.com\/v6\/search\?.*type=hotSearch url reject-dict 27 | [mitm] 28 | 29 | hostname=api.coolapk.com 30 | 31 | 32 | ***********************************/ 33 | 34 | const version = "V1.0.9"; 35 | 36 | if (-1 != $request.url.indexOf("replyList")) { 37 | var t = JSON.parse($response.body); 38 | t.data.length && (t.data = t.data.filter((t) => t.id)), 39 | $done({ body: JSON.stringify(t) }); 40 | } else if (-1 != $request.url.indexOf("indexV8")) { 41 | var t = JSON.parse($response.body); 42 | (t.data = t.data.filter( 43 | (t) => 44 | !( 45 | "sponsorCard" == t.entityTemplate || 46 | 8639 == t.entityId || 47 | 29349 == t.entityId || 48 | 33006 == t.entityId || 49 | 32557 == t.entityId || 50 | -1 != t.title.indexOf("值得买") || 51 | -1 != t.title.indexOf("红包") 52 | ) 53 | )), 54 | $done({ body: JSON.stringify(t) }); 55 | } else if (-1 != $request.url.indexOf("dataList")) { 56 | var t = JSON.parse($response.body); 57 | (t.data = t.data.filter( 58 | (t) => 59 | !("sponsorCard" == t.entityTemplate || -1 != t.title.indexOf("精选配件")) 60 | )), 61 | $done({ body: JSON.stringify(t) }); 62 | } else if (-1 != $request.url.indexOf("detail")) { 63 | var t = JSON.parse($response.body); 64 | t.data?.hotReplyRows?.length && 65 | (t.data.hotReplyRows = t.data.hotReplyRows.filter((t) => t.id)), 66 | t.data?.topReplyRows?.length && 67 | (t.data.topReplyRows = t.data.topReplyRows.filter((t) => t.id)), 68 | t.data?.include_goods_ids && (t.data.include_goods_ids = []), 69 | t.data?.include_goods && (t.data.include_goods = []), 70 | t.data?.detailSponsorCard && (t.data.detailSponsorCard = []), 71 | $done({ body: JSON.stringify(t) }); 72 | } else $done($response); 73 | -------------------------------------------------------------------------------- /Scripts/baidu/baiduCloud.js: -------------------------------------------------------------------------------- 1 | let obj = JSON.parse($response.body); 2 | 3 | obj = { 4 | product_infos: [ 5 | { 6 | product_id: "5310897792128633390", 7 | start_time: 1417260485, 8 | end_time: 2147483648, 9 | buy_time: "1417260485", 10 | cluster: "offlinedl", 11 | detail_cluster: "offlinedl", 12 | product_name: "gz_telecom_exp" 13 | }, 14 | { 15 | product_name: "svip2_nd", 16 | product_description: "超级会员", 17 | function_num: 0, 18 | start_time: 1553702399, 19 | buy_description: "", 20 | buy_time: 0, 21 | product_id: "1", 22 | auto_upgrade_to_svip: 0, 23 | end_time: 1672502399, 24 | cluster: "vip", 25 | detail_cluster: "svip", 26 | status: 0 27 | } 28 | ], 29 | currenttime: 1573473597, 30 | reminder: { 31 | reminderWithContent: [], 32 | advertiseContent: [] 33 | }, 34 | request_id: 7501873289383875000, 35 | guide_data: { 36 | title: "超级会员 SVIP", 37 | content: "已拥有极速下载+视频倍速特权", 38 | button: { 39 | text: "会员中心", 40 | action_url: "https://pan.baidu.com/wap/vip/user?from=myvip2#svip" 41 | } 42 | } 43 | }; 44 | 45 | $done({ body: JSON.stringify(obj) }); 46 | -------------------------------------------------------------------------------- /Scripts/baidu/baiduLib.js: -------------------------------------------------------------------------------- 1 | /*********************************** 2 | > 应用名称:百度文库 3 | > 脚本功能:解锁VIP文档阅读权限 4 | > 脚本作者:Cuttlefish 5 | > 微信账号:墨鱼手记 6 | > 更新时间:2022-10-19 7 | > 通知频道:https://t.me/ddgksf2021 8 | > 投稿助手:https://t.me/ddgksf2013_bot 9 | > 问题反馈:📮 ddgksf2013@163.com 📮 10 | > 特别说明:本脚本仅供学习交流使用,禁止转载、售卖 11 | 12 | [rewrite_local] 13 | # 百度文库☆解锁VIP文档阅读权限(2022-10-17)@ddgksf2013 14 | ^https:\/\/appwk\.baidu\.com\/naapi\/user\/getinfo url script-response-body https://github.com/ddgksf2013/Cuttlefish/raw/master/Crack/baidulibrary.js 15 | 16 | [mitm] 17 | hostname=appwk.baidu.com 18 | ***********************************/ 19 | 20 | let obj = JSON.parse($response.body); 21 | 22 | obj.data.vip.base_vip_info = { 23 | uid: 12345678, 24 | type: 2, 25 | start_time: 1622222200, 26 | end_time: 4622222200, 27 | is_vip: 1, 28 | remain_day: 999, 29 | pro_total: 5, 30 | normal_total: 5 31 | }; 32 | 33 | $done({ body: JSON.stringify(obj) }); 34 | -------------------------------------------------------------------------------- /Scripts/baidu/baiduNoRedirect.js: -------------------------------------------------------------------------------- 1 | /* 2 | 引用地址 https://github.com/app2smile/rules/blob/master/js/baidu-no-redirect.js 3 | 4 | [rewrite_local] 5 | ^https?:\/\/boxer\.baidu\.com\/scheme\?scheme url script-response-header https://gitlab.com/RuCu6/QuanX/-/raw/main/Scripts/baidu/baiduNoRedirect.js 6 | 7 | [mitm] 8 | hostname = boxer.baidu.com 9 | */ 10 | 11 | const method = $request.method; 12 | const statusCode = $response.statusCode; 13 | const url = $request.url; 14 | let headers = $response.headers; 15 | 16 | if (method === "GET" && statusCode === "HTTP/1.1 302 Found" && headers.hasOwnProperty("Location")) { 17 | if (headers.Location.includes(".apple.com")) { 18 | let tokenData = getUrlParamValue(url, "tokenData"); 19 | if (tokenData !== null) { 20 | let tokenDataObj = JSON.parse(decodeURIComponent(tokenData)); 21 | headers.Location = tokenDataObj.url; 22 | } 23 | } 24 | } 25 | $done({ headers: headers }); 26 | 27 | function getUrlParamValue(url, queryName) { 28 | return Object.fromEntries( 29 | url 30 | .substring(url.indexOf("?") + 1) 31 | .split("&") 32 | .map((pair) => pair.split("=")) 33 | )[queryName]; 34 | } 35 | -------------------------------------------------------------------------------- /Scripts/baidu/tiebaJson.js: -------------------------------------------------------------------------------- 1 | const url = $request.url; 2 | const method = $request.method; 3 | const postMethod = "POST"; 4 | const notifyTitle = "贴吧json脚本错误"; 5 | //console.log(`贴吧json-2022.11.09`); 6 | 7 | let body = JSON.parse($response.body); 8 | // 直接全局搜索 9 | if (url.includes("tiebaads/commonbatch") && method === postMethod) { 10 | // 看图模式下的广告 11 | let adCmd = getUrlParamValue(url, "adcmd"); 12 | if (adCmd) { 13 | if (body.error_code === 0) { 14 | if (body.res.ad?.length) { 15 | body.res.ad = []; 16 | // 即使ad有内容 也不一定显示广告 17 | // 因为如果服务器下发的数据少了一些字段同样是无广告的 18 | } 19 | } 20 | } 21 | } else if (url.includes("c/f/pb/picpage")) { 22 | const liveLength = body.recom_live_list?.length; 23 | if (liveLength) { 24 | body.recom_live_list = []; 25 | } 26 | } else if (url.includes("c/s/sync")) { 27 | // get post(贴吧使用了post)均可访问 28 | if ("floating_icon" in body) { 29 | if (body.floating_icon) { 30 | if (body.floating_icon.homepage?.icon_url) { 31 | } 32 | if (body.floating_icon.pb?.icon_url) { 33 | } 34 | body.floating_icon = null; 35 | } 36 | } 37 | // 回帖栏的广告 38 | if ("advertisement_config" in body) { 39 | if (body.advertisement_config?.advertisement_str) { 40 | body.advertisement_config = null; 41 | } 42 | } 43 | if ("config" in body) { 44 | if (body.config?.switch) { 45 | for (const item of body.config.switch) { 46 | if (["platform_csj_init", "platform_ks_init", "platform_gdt_init"].includes(item.name)) { 47 | item.type = "0"; 48 | // 禁止初始化穿山甲/广点通/快手 49 | } 50 | } 51 | } 52 | } 53 | if ("screen_fill_data_result" in body) { 54 | if (body.screen_fill_data_result.screen_fill_advertisement_bear_switch === "1") { 55 | body.screen_fill_data_result.screen_fill_advertisement_bear_switch = "0"; 56 | } 57 | if (body.screen_fill_data_result.screen_fill_advertisement_plj_cpc_switch === "1") { 58 | body.screen_fill_data_result.screen_fill_advertisement_plj_cpc_switch = "0"; 59 | } 60 | if (body.screen_fill_data_result.screen_fill_advertisement_plj_switch === "1") { 61 | body.screen_fill_data_result.screen_fill_advertisement_plj_switch = "0"; 62 | } 63 | } 64 | if ("ad_stlog_switch" in body) { 65 | if (body.ad_stlog_switch === "1") { 66 | body.ad_stlog_switch = "0"; 67 | } 68 | } 69 | if ("lcs_strategy" in body) { 70 | // 控制长连接开关 开启时帖子会走socket 71 | if (body.lcs_strategy.conn_conf === "0") { 72 | // 关闭 73 | body.lcs_strategy.conn_conf = "1"; 74 | } 75 | } 76 | } else if (url.includes("c/f/frs/page")) { 77 | if (body.live_fuse_forum?.length) { 78 | body.live_fuse_forum = []; 79 | } 80 | if (body.activityhead?.is_ad) { 81 | body.activityhead = {}; 82 | } 83 | body.thread_list = removeLive(body.thread_list); 84 | removeGoodsInfo(body.forum?.banner_list?.app); 85 | } else if (url.includes("c/f/frs/threadlist")) { 86 | // TODO 87 | } else if (url.includes("c/f/pb/page")) { 88 | if (body.recom_ala_info?.live_id) { 89 | body.recom_ala_info = null; 90 | } 91 | if (body.post_list?.length) { 92 | for (const post of body.post_list) { 93 | if (post.outer_item) { 94 | post.outer_item = null; 95 | } 96 | } 97 | } 98 | removeGoodsInfo(body.banner_list?.app); 99 | } else if (url.includes("c/f/excellent/personalized")) { 100 | removeGoodsInfo(body.banner_list?.app); 101 | body.thread_list = removeLive(body.thread_list); 102 | } else if (url.includes("c/f/frs/generalTabList")) { 103 | // TODO 104 | } 105 | 106 | body = JSON.stringify(body); 107 | $done({ body }); 108 | 109 | function getUrlParamValue(url, queryName) { 110 | return Object.fromEntries( 111 | url 112 | .substring(url.indexOf("?") + 1) 113 | .split("&") 114 | .map((pair) => pair.split("=")) 115 | )[queryName]; 116 | } 117 | 118 | function removeGoodsInfo(app) { 119 | if (app?.length) { 120 | let goodsInfoSize = 0; 121 | app.forEach((item) => { 122 | if (item.goods_info?.length) { 123 | goodsInfoSize++; 124 | item.goods_info = []; 125 | } 126 | }); 127 | } 128 | } 129 | 130 | function removeLive(threadList) { 131 | let newThreadList = threadList; 132 | const beforeLength = threadList?.length; 133 | if (beforeLength) { 134 | newThreadList = threadList.filter((item) => !item.ala_info); 135 | if (beforeLength === newThreadList.length) { 136 | } 137 | } 138 | return newThreadList; 139 | } 140 | -------------------------------------------------------------------------------- /Scripts/bilibili/biliCC.js: -------------------------------------------------------------------------------- 1 | /*********************************** 2 | > 應用名稱:哔哩哔哩 3 | > 軟件版本:6.66.0 4 | > 下載地址:https://apps.apple.com/cn/app/id736536022 5 | > 腳本作者:Cuttlefish 6 | > 微信賬號:墨魚手記 7 | > 更新時間:2022-04-02 8 | > 通知頻道:https://t.me/ddgksf2021 9 | > 投稿助手:https://t.me/ddgksf2013_bot 10 | > 問題反饋:📮 ddgksf2013@163.com 📮 11 | > 特别說明:本腳本僅供學習交流使用,禁止轉載售賣 12 | 13 | [rewrite_local] 14 | # 嗶哩嗶哩繁體CC字幕轉中文簡體 15 | ^https?:\/\/i.\.hdslb\.com\/bfs\/subtitle\/.+\.json$ url script-response-body https://raw.githubusercontent.com/ddgksf2013/Cuttlefish/master/Script/bilibili_cc.js 16 | 17 | [mitm] 18 | hostname=*.hdslb.com 19 | ***********************************/ 20 | 21 | var obj = JSON.parse($response.body); 22 | for (var i = 0; i < obj.body.length; i++) 23 | obj.body[i].content = Simplized(obj.body[i].content); 24 | $done({ body: JSON.stringify(obj) }); 25 | 26 | //通用函数来源于:https://blog.csdn.net/qq_39292868/article/details/98750390 27 | 28 | //通用函数 29 | function JTPYStr() { 30 | return "皑蔼碍爱翱袄奥坝罢摆败颁办绊帮绑镑谤剥饱宝报鲍辈贝钡狈备惫绷笔毕毙闭边编贬变辩辫鳖瘪濒滨宾摈饼拨钵铂驳卜补参蚕残惭惨灿苍舱仓沧厕侧册测层诧搀掺蝉馋谗缠铲产阐颤场尝长偿肠厂畅钞车彻尘陈衬撑称惩诚骋痴迟驰耻齿炽冲虫宠畴踌筹绸丑橱厨锄雏础储触处传疮闯创锤纯绰辞词赐聪葱囱从丛凑窜错达带贷担单郸掸胆惮诞弹当挡党荡档捣岛祷导盗灯邓敌涤递缔点垫电淀钓调迭谍叠钉顶锭订东动栋冻斗犊独读赌镀锻断缎兑队对吨顿钝夺鹅额讹恶饿儿尔饵贰发罚阀珐矾钒烦范贩饭访纺飞废费纷坟奋愤粪丰枫锋风疯冯缝讽凤肤辐抚辅赋复负讣妇缚该钙盖干赶秆赣冈刚钢纲岗皋镐搁鸽阁铬个给龚宫巩贡钩沟构购够蛊顾剐关观馆惯贯广规硅归龟闺轨诡柜贵刽辊滚锅国过骇韩汉阂鹤贺横轰鸿红后壶护沪户哗华画划话怀坏欢环还缓换唤痪焕涣黄谎挥辉毁贿秽会烩汇讳诲绘荤浑伙获货祸击机积饥讥鸡绩缉极辑级挤几蓟剂济计记际继纪夹荚颊贾钾价驾歼监坚笺间艰缄茧检碱硷拣捡简俭减荐槛鉴践贱见键舰剑饯渐溅涧浆蒋桨奖讲酱胶浇骄娇搅铰矫侥脚饺缴绞轿较秸阶节茎惊经颈静镜径痉竞净纠厩旧驹举据锯惧剧鹃绢杰洁结诫届紧锦仅谨进晋烬尽劲荆觉决诀绝钧军骏开凯颗壳课垦恳抠库裤夸块侩宽矿旷况亏岿窥馈溃扩阔蜡腊莱来赖蓝栏拦篮阑兰澜谰揽览懒缆烂滥捞劳涝乐镭垒类泪篱离里鲤礼丽厉励砾历沥隶俩联莲连镰怜涟帘敛脸链恋炼练粮凉两辆谅疗辽镣猎临邻鳞凛赁龄铃凌灵岭领馏刘龙聋咙笼垄拢陇楼娄搂篓芦卢颅庐炉掳卤虏鲁赂禄录陆驴吕铝侣屡缕虑滤绿峦挛孪滦乱抡轮伦仑沦纶论萝罗逻锣箩骡骆络妈玛码蚂马骂吗买麦卖迈脉瞒馒蛮满谩猫锚铆贸么霉没镁门闷们锰梦谜弥觅绵缅庙灭悯闽鸣铭谬谋亩钠纳难挠脑恼闹馁腻撵捻酿鸟聂啮镊镍柠狞宁拧泞钮纽脓浓农疟诺欧鸥殴呕沤盘庞国爱赔喷鹏骗飘频贫苹凭评泼颇扑铺朴谱脐齐骑岂启气弃讫牵扦钎铅迁签谦钱钳潜浅谴堑枪呛墙蔷强抢锹桥乔侨翘窍窃钦亲轻氢倾顷请庆琼穷趋区躯驱龋颧权劝却鹊让饶扰绕热韧认纫荣绒软锐闰润洒萨鳃赛伞丧骚扫涩杀纱筛晒闪陕赡缮伤赏烧绍赊摄慑设绅审婶肾渗声绳胜圣师狮湿诗尸时蚀实识驶势释饰视试寿兽枢输书赎属术树竖数帅双谁税顺说硕烁丝饲耸怂颂讼诵擞苏诉肃虽绥岁孙损笋缩琐锁獭挞抬摊贪瘫滩坛谭谈叹汤烫涛绦腾誊锑题体屉条贴铁厅听烃铜统头图涂团颓蜕脱鸵驮驼椭洼袜弯湾顽万网韦违围为潍维苇伟伪纬谓卫温闻纹稳问瓮挝蜗涡窝呜钨乌诬无芜吴坞雾务误锡牺袭习铣戏细虾辖峡侠狭厦锨鲜纤咸贤衔闲显险现献县馅羡宪线厢镶乡详响项萧销晓啸蝎协挟携胁谐写泻谢锌衅兴汹锈绣虚嘘须许绪续轩悬选癣绚学勋询寻驯训讯逊压鸦鸭哑亚讶阉烟盐严颜阎艳厌砚彦谚验鸯杨扬疡阳痒养样瑶摇尧遥窑谣药爷页业叶医铱颐遗仪彝蚁艺亿忆义诣议谊译异绎荫阴银饮樱婴鹰应缨莹萤营荧蝇颖哟拥佣痈踊咏涌优忧邮铀犹游诱舆鱼渔娱与屿语吁御狱誉预驭鸳渊辕园员圆缘远愿约跃钥岳粤悦阅云郧匀陨运蕴酝晕韵杂灾载攒暂赞赃脏凿枣灶责择则泽贼赠扎札轧铡闸诈斋债毡盏斩辗崭栈战绽张涨帐账胀赵蛰辙锗这贞针侦诊镇阵挣睁狰帧郑证织职执纸挚掷帜质钟终种肿众诌轴皱昼骤猪诸诛烛瞩嘱贮铸筑驻专砖转赚桩庄装妆壮状锥赘坠缀谆浊兹资渍踪综总纵邹诅组钻致钟么为只凶准启板里雳余链泄"; 31 | } 32 | //通用函数 33 | function FTPYStr() { 34 | return "皚藹礙愛翺襖奧壩罷擺敗頒辦絆幫綁鎊謗剝飽寶報鮑輩貝鋇狽備憊繃筆畢斃閉邊編貶變辯辮鼈癟瀕濱賓擯餅撥缽鉑駁蔔補參蠶殘慚慘燦蒼艙倉滄廁側冊測層詫攙摻蟬饞讒纏鏟産闡顫場嘗長償腸廠暢鈔車徹塵陳襯撐稱懲誠騁癡遲馳恥齒熾沖蟲寵疇躊籌綢醜櫥廚鋤雛礎儲觸處傳瘡闖創錘純綽辭詞賜聰蔥囪從叢湊竄錯達帶貸擔單鄲撣膽憚誕彈當擋黨蕩檔搗島禱導盜燈鄧敵滌遞締點墊電澱釣調叠諜疊釘頂錠訂東動棟凍鬥犢獨讀賭鍍鍛斷緞兌隊對噸頓鈍奪鵝額訛惡餓兒爾餌貳發罰閥琺礬釩煩範販飯訪紡飛廢費紛墳奮憤糞豐楓鋒風瘋馮縫諷鳳膚輻撫輔賦複負訃婦縛該鈣蓋幹趕稈贛岡剛鋼綱崗臯鎬擱鴿閣鉻個給龔宮鞏貢鈎溝構購夠蠱顧剮關觀館慣貫廣規矽歸龜閨軌詭櫃貴劊輥滾鍋國過駭韓漢閡鶴賀橫轟鴻紅後壺護滬戶嘩華畫劃話懷壞歡環還緩換喚瘓煥渙黃謊揮輝毀賄穢會燴彙諱誨繪葷渾夥獲貨禍擊機積饑譏雞績緝極輯級擠幾薊劑濟計記際繼紀夾莢頰賈鉀價駕殲監堅箋間艱緘繭檢堿鹼揀撿簡儉減薦檻鑒踐賤見鍵艦劍餞漸濺澗漿蔣槳獎講醬膠澆驕嬌攪鉸矯僥腳餃繳絞轎較稭階節莖驚經頸靜鏡徑痙競淨糾廄舊駒舉據鋸懼劇鵑絹傑潔結誡屆緊錦僅謹進晉燼盡勁荊覺決訣絕鈞軍駿開凱顆殼課墾懇摳庫褲誇塊儈寬礦曠況虧巋窺饋潰擴闊蠟臘萊來賴藍欄攔籃闌蘭瀾讕攬覽懶纜爛濫撈勞澇樂鐳壘類淚籬離裏鯉禮麗厲勵礫曆瀝隸倆聯蓮連鐮憐漣簾斂臉鏈戀煉練糧涼兩輛諒療遼鐐獵臨鄰鱗凜賃齡鈴淩靈嶺領餾劉龍聾嚨籠壟攏隴樓婁摟簍蘆盧顱廬爐擄鹵虜魯賂祿錄陸驢呂鋁侶屢縷慮濾綠巒攣孿灤亂掄輪倫侖淪綸論蘿羅邏鑼籮騾駱絡媽瑪碼螞馬罵嗎買麥賣邁脈瞞饅蠻滿謾貓錨鉚貿麽黴沒鎂門悶們錳夢謎彌覓綿緬廟滅憫閩鳴銘謬謀畝鈉納難撓腦惱鬧餒膩攆撚釀鳥聶齧鑷鎳檸獰甯擰濘鈕紐膿濃農瘧諾歐鷗毆嘔漚盤龐國愛賠噴鵬騙飄頻貧蘋憑評潑頗撲鋪樸譜臍齊騎豈啓氣棄訖牽扡釺鉛遷簽謙錢鉗潛淺譴塹槍嗆牆薔強搶鍬橋喬僑翹竅竊欽親輕氫傾頃請慶瓊窮趨區軀驅齲顴權勸卻鵲讓饒擾繞熱韌認紉榮絨軟銳閏潤灑薩鰓賽傘喪騷掃澀殺紗篩曬閃陝贍繕傷賞燒紹賒攝懾設紳審嬸腎滲聲繩勝聖師獅濕詩屍時蝕實識駛勢釋飾視試壽獸樞輸書贖屬術樹豎數帥雙誰稅順說碩爍絲飼聳慫頌訟誦擻蘇訴肅雖綏歲孫損筍縮瑣鎖獺撻擡攤貪癱灘壇譚談歎湯燙濤縧騰謄銻題體屜條貼鐵廳聽烴銅統頭圖塗團頹蛻脫鴕馱駝橢窪襪彎灣頑萬網韋違圍爲濰維葦偉僞緯謂衛溫聞紋穩問甕撾蝸渦窩嗚鎢烏誣無蕪吳塢霧務誤錫犧襲習銑戲細蝦轄峽俠狹廈鍁鮮纖鹹賢銜閑顯險現獻縣餡羨憲線廂鑲鄉詳響項蕭銷曉嘯蠍協挾攜脅諧寫瀉謝鋅釁興洶鏽繡虛噓須許緒續軒懸選癬絢學勳詢尋馴訓訊遜壓鴉鴨啞亞訝閹煙鹽嚴顔閻豔厭硯彥諺驗鴦楊揚瘍陽癢養樣瑤搖堯遙窯謠藥爺頁業葉醫銥頤遺儀彜蟻藝億憶義詣議誼譯異繹蔭陰銀飲櫻嬰鷹應纓瑩螢營熒蠅穎喲擁傭癰踴詠湧優憂郵鈾猶遊誘輿魚漁娛與嶼語籲禦獄譽預馭鴛淵轅園員圓緣遠願約躍鑰嶽粵悅閱雲鄖勻隕運蘊醞暈韻雜災載攢暫贊贓髒鑿棗竈責擇則澤賊贈紮劄軋鍘閘詐齋債氈盞斬輾嶄棧戰綻張漲帳賬脹趙蟄轍鍺這貞針偵診鎮陣掙睜猙幀鄭證織職執紙摯擲幟質鍾終種腫衆謅軸皺晝驟豬諸誅燭矚囑貯鑄築駐專磚轉賺樁莊裝妝壯狀錐贅墜綴諄濁茲資漬蹤綜總縱鄒詛組鑽緻鐘麼為隻兇準啟闆裡靂餘鍊洩"; 35 | } 36 | //转成繁体 37 | function Traditionalized(cc) { 38 | var str = "", 39 | ss = JTPYStr(), 40 | tt = FTPYStr(); 41 | for (var i = 0; i < cc.length; i++) { 42 | if (cc.charCodeAt(i) > 10000 && ss.indexOf(cc.charAt(i)) !== -1) 43 | str += tt.charAt(ss.indexOf(cc.charAt(i))); 44 | else str += cc.charAt(i); 45 | } 46 | return str; 47 | } 48 | //转成简体 49 | function Simplized(cc) { 50 | var str = "", 51 | ss = JTPYStr(), 52 | tt = FTPYStr(); 53 | for (var i = 0; i < cc.length; i++) { 54 | if (cc.charCodeAt(i) > 10000 && tt.indexOf(cc.charAt(i)) !== -1) 55 | str += ss.charAt(tt.indexOf(cc.charAt(i))); 56 | else str += cc.charAt(i); 57 | } 58 | return str; 59 | } 60 | -------------------------------------------------------------------------------- /Scripts/break/BananaVideo.js: -------------------------------------------------------------------------------- 1 | /****************************** 2 | 脚本功能:香蕉视频解锁无限次数 3 | 软件版本:1.1.0 4 | 下载地址:https://shrtm.nu/xjsp 5 | 脚本作者:Hausd0rff 6 | 更新时间:2022-07-24 7 | 脚本发布:https://t.me/yqc_123 8 | 问题反馈:https://t.me/yqc_777 9 | 使用声明:⚠️此脚本仅供学习与交流,请勿转载与贩卖!⚠️⚠️⚠️ 10 | 11 | [rewrite_local] 12 | # > 香蕉视频解锁无限次数 13 | ^https?:\/\/.+\/(index|ucp\/index|vod\/(show|reqplay\/)|getGlobalData).+ url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/Crack/BananaVideo.js 14 | 15 | [mitm] 16 | hostname = o0o0plpl11.xinai99.com 17 | *******************************/ 18 | 19 | var body = $response.body; 20 | var urlq = $request.url; 21 | var objc = JSON.parse(body); 22 | 23 | const config = "/getGloba"; 24 | const slider = "com/index"; 25 | const ssuper = "/ucp/index"; 26 | const reshow = "/vod/show"; 27 | const replay = "/vod/reqp"; 28 | 29 | if (urlq.indexOf(config) !== -1) { 30 | delete objc.data.adrows; 31 | delete objc.data.adgroups; 32 | delete objc.data.popuptext; 33 | delete objc.data.popuptext_v2; 34 | delete objc.data.iOS_adgroups; 35 | delete objc.data.popuptext_iOS; 36 | delete objc.data.Android_adgroups; 37 | delete objc.data.popuptext_Android; 38 | delete objc.data.app_launch_type_adshow; 39 | objc.data.app_launch_times_adshow = 0; 40 | body = JSON.stringify(objc); 41 | } 42 | 43 | if (urlq.indexOf(slider) !== -1) { 44 | objc.data.v2sliderows = [ 45 | { 46 | title: "WatchAss", 47 | scene: "web.url", 48 | url: "https://t.me/yqc_123", 49 | pic: "https://tva1.sinaimg.cn/large/006Xmmmggy1g5xvgq2w6gj31zo0u04qq.jpg" 50 | } 51 | ]; 52 | delete objc.data.sliderows; 53 | delete objc.data.pcsliderows; 54 | delete objc.data.mbsliderows; 55 | body = JSON.stringify(objc); 56 | } 57 | 58 | if (urlq.indexOf(ssuper) !== -1) { 59 | objc.data.user = { 60 | dueday: "999999天后过期", 61 | sysgid: "101", 62 | newmsg: "1", 63 | nickname: "Hausd0rff Crack", 64 | duetime: "2999-09-28 09:09:09", 65 | gids: null, 66 | mobi: "86.18812011099", 67 | gicon: "V5", 68 | avatar_url: "https://thirdqq.qlogo.cn/g?b=oidb&k=iaODNibZcQQTN0QPGShfkKIw&s=640", 69 | goldcoin: 1e6, 70 | exampass: 1, 71 | gender: 1, 72 | uid: "666666", 73 | uniqkey: "666666", 74 | email: "~1236868666", 75 | isvip: 1, 76 | gid: "17", 77 | avatar: "", 78 | regtime: "2021-11-09 09:18:00", 79 | username: "~1236868666" 80 | }; 81 | objc.data.uinfo = { 82 | goldcoin: "1000000", 83 | down_daily_remainders: 1e6, 84 | curr_group: { 85 | minup: "1000000", 86 | gicon: "V101", 87 | gid: "101", 88 | gname: "尊贵VIP" 89 | }, 90 | minivod_play_daily_remainders: 1e6, 91 | minivod_down_daily_remainders: 1e6, 92 | next_upgrade_need: 0, 93 | play_daily_remainders: 1e6, 94 | next_group: { 95 | minup: "2000000", 96 | gicon: "V102", 97 | gid: "102", 98 | gname: "禁止发言" 99 | } 100 | }; 101 | body = JSON.stringify(objc); 102 | } 103 | 104 | if (urlq.indexOf(reshow) !== -1) { 105 | objc.data.vodrow.isvip = 0; 106 | objc.data.vodrow.islimit = 0; 107 | objc.data.vodrow.islimitv3 = 0; 108 | body = JSON.stringify(objc); 109 | } 110 | 111 | if (urlq.indexOf(replay) !== -1) { 112 | objc.retcode = 0; 113 | objc.errmsg = ""; 114 | if (objc.data.hasOwnProperty("httpurl_preview")) { 115 | var httpurl = objc.data["httpurl_preview"]["replace"](/m3u8\?300/g, "m3u8"); 116 | objc.data["httpurl"] = httpurl; 117 | delete objc.data.httpurl_preview; 118 | } 119 | body = JSON.stringify(objc); 120 | } 121 | 122 | $done({ body }); 123 | -------------------------------------------------------------------------------- /Scripts/break/README.md: -------------------------------------------------------------------------------- 1 | # 引用地址 2 | ``` 3 | https://github.com/yqc007/QuantumultX 4 | https://github.com/yqc007/QuantumultX/blob/master/BananaVideoCrack.js 5 | https://github.com/I-am-R-E/Functional-Store-Hub/blob/Master/CaiXin/Script/CaiXin.js 6 | https://github.com/I-am-R-E/QuantumultX/blob/main/JavaScript/MeiYanXiangJi.js 7 | https://github.com/yqc007/QuantumultX/blob/master/NotabilityProCrack.js 8 | https://github.com/I-am-R-E/Functional-Store-Hub/blob/Master/Xmind/Script/Xmind.js 9 | https://github.com/I-am-R-E/QuantumultX/blob/main/JavaScript/Aphrodite.js 10 | https://github.com/I-am-R-E/QuantumultX/blob/main/JavaScript/CaiYunWeather.js 11 | https://github.com/yqc007/QuantumultX/blob/master/GrammarlyPremiumCrack.js 12 | https://github.com/yqc007/QuantumultX/blob/master/JavDBCrack.js 13 | https://github.com/nameking77/Qx/blob/main/rewrite/kw.js 14 | https://github.com/I-am-R-E/Functional-Store-Hub/blob/Master/WPSOffice/Script/WPS.js 15 | https://github.com/yqc007/QuantumultX/blob/master/WPSDocerVIPowerCrack.js 16 | https://github.com/yqc007/QuantumultX/blob/master/WPSDocerVIPuserCrack.js 17 | ``` 18 | -------------------------------------------------------------------------------- /Scripts/break/adobePDF.js: -------------------------------------------------------------------------------- 1 | /* 2 | 脚本作者:Marol62926 3 | 引用地址:https://raw.githubusercontent.com/Marol62926/MarScrpt/main/adobe.js 4 | 脚本功能:解锁Adobe Scan, Adobe Acrobat 5 | 6 | [rewrite_local] 7 | # Adobe解锁订阅 //createpdf.acrobat.com 8 | ^https?:\/\/createpdf\.acrobat\.com\/createpdf\/api\/users\/me\/subscriptions url script-response-body https://gitlab.com/RuCu6/QuanX/-/raw/main/Scripts/Crack/adobePdf.js 9 | 10 | [mitm] 11 | hostname = createpdf.acrobat.com 12 | */ 13 | 14 | var body = $response.body; 15 | var obj = JSON.parse(body); 16 | 17 | obj = { 18 | subscriptions: [ 19 | { 20 | subscription_name: "AcrobatPlus", 21 | subscription_level: "Plus", 22 | subscription_state: "ACTIVE", 23 | sub_ref: "", 24 | biz_source: "CCC", 25 | billing_term: null 26 | }, 27 | { 28 | subscription_name: "ESign", 29 | subscription_level: "Basic", 30 | subscription_state: "ACTIVE", 31 | sub_ref: "", 32 | biz_source: "CCC", 33 | billing_term: null 34 | }, 35 | { 36 | subscription_name: "PDFPack", 37 | subscription_level: "Plus", 38 | subscription_state: "ACTIVE", 39 | sub_ref: "", 40 | biz_source: "", 41 | billing_term: null 42 | }, 43 | { 44 | subscription_name: "CreatePDF", 45 | subscription_level: "Basic", 46 | subscription_state: "ACTIVE", 47 | sub_ref: "", 48 | biz_source: "CCC", 49 | billing_term: null 50 | } 51 | ] 52 | }; 53 | 54 | body = JSON.stringify(obj); 55 | $done({ body }); 56 | -------------------------------------------------------------------------------- /Scripts/break/adobePS.js: -------------------------------------------------------------------------------- 1 | /* 2 | 脚本作者:Marol62926 3 | 引用地址:https://raw.githubusercontent.com/Marol62926/MarScrpt/main/adobe.js 4 | 脚本功能:解锁Adobe Photoshop, Adobe Illustrator, Adobe Lightroom, Premiere Rush, Adobe Express, Spark Page, Spark Video, Adobe Fresco 5 | 6 | [rewrite_local] 7 | # Adobe解锁订阅 //lcs-mobile-cops.adobe.io 8 | ^https?:\/\/lcs-mobile-cops\.adobe\.io\/mobile_profile\/nul\/v2 url script-response-body https://gitlab.com/RuCu6/QuanX/-/raw/main/Scripts/Crack/adobePs.js 9 | 10 | [mitm] 11 | hostname = lcs-mobile-cops.adobe.io 12 | */ 13 | 14 | var body = $response.body; 15 | var obj = JSON.parse(body); 16 | 17 | obj.mobileProfile.profileStatus = "PROFILE_AVAILABLE"; 18 | obj.mobileProfile.legacyProfile = { 19 | licenseId: "", 20 | licenseType: 3, 21 | licenseVersion: "1.0", 22 | effectiveEndTimestamp: 1872675992000, 23 | graceTime: 8553600000, 24 | licensedFeatures: [], 25 | enigmaData: { 26 | productId: 598, 27 | serialKey: "", 28 | clearSerialKey: "", 29 | locale: "ALL", 30 | associatedLocales: "ALL", 31 | platform: 0, 32 | isk: 5984027, 33 | customerId: 0, 34 | deliveryMethod: 3, 35 | pc: true, 36 | rb: true 37 | } 38 | }; 39 | obj.mobileProfile.relationshipProfile = [ 40 | { 41 | profileGenerationTimestamp: 1651745145759, 42 | licenseId: "", 43 | licenseExpiryTimestamp: 1872675992000, 44 | appEntitlementStatus: "SUBSCRIPTION", 45 | activationType: "NAMED_USER", 46 | billingStatus: "NORMAL", 47 | usedForLegacyProfile: true, 48 | licenseExpiryWarningControl: { warningStartTimestamp: 1872675992000, warningInterval: 0 } 49 | } 50 | ]; 51 | 52 | body = JSON.stringify(obj); 53 | $done({ body }); 54 | -------------------------------------------------------------------------------- /Scripts/break/caiyun.js: -------------------------------------------------------------------------------- 1 | // 2023-02-11 22:30 2 | 3 | if (!$response.body) $done({}); 4 | let obj = JSON.parse($response.body); 5 | 6 | if (obj.result) { 7 | obj.result.svip_given = 365; 8 | obj.result.is_phone_verified = true; 9 | obj.result.is_xy_vip = true; 10 | obj.result.vip_expired_at = 4030000000.16; 11 | obj.result.is_vip = true; 12 | obj.result.xy_svip_expire = 4030000000.16; 13 | if (obj.result.wt) { 14 | if (obj.result.wt.vip) { 15 | obj.result.wt.vip.enabled = true; 16 | obj.result.wt.vip.expired_at = 4030000000.16; 17 | obj.result.wt.vip.svip_expired_at = 4030000000.16; 18 | } 19 | obj.result.wt.svip_given = 365; 20 | } 21 | obj.result.is_primary = true; 22 | obj.result.xy_vip_expire = 4030000000.16; 23 | obj.result.svip_expired_at = 4030000000.16; 24 | obj.result.vip_type = "s"; 25 | } 26 | 27 | $done({ body: JSON.stringify(obj) }); 28 | -------------------------------------------------------------------------------- /Scripts/break/enpass.js: -------------------------------------------------------------------------------- 1 | /* 2 | 脚本作者:Maasea 3 | 引用地址:https://raw.githubusercontent.com/Maasea/sgmodule/master/Script/Enpass/enpass.js 4 | 5 | [rewrite_local] 6 | # Enpass Password Manager解锁订阅 //license.enpass.io 7 | ^https?:\/\/license\.enpass\.io\/api\/v1\/subscription\/me url script-response-body https://gitlab.com/RuCu6/QuanX/-/raw/main/Scripts/Crack/enpass.js 8 | 9 | [mitm] 10 | hostname = license.enpass.io 11 | */ 12 | 13 | var obj = JSON.parse($response.body); 14 | 15 | obj.license = "premium"; 16 | obj.info = { 17 | purchase_type: "inapp", 18 | store: "ios", 19 | id: "ENP_IAP_LTP", 20 | userid: "000000", 21 | transaction_id: "1000000000000000", 22 | logo: "" 23 | }; 24 | 25 | $done({ body: JSON.stringify(obj) }); 26 | -------------------------------------------------------------------------------- /Scripts/break/faceapp.js: -------------------------------------------------------------------------------- 1 | /* 2 | FaceApp解锁vip 3 | 4 | ^https:\/\/api\.faceapp\.io(.*)\/api\/v.*\/auth\/user\/credentials url script-response-body https://raw.githubusercontent.com/ackakakaka/QuantumultX/master/faceapp.js 5 | 6 | hostname = api.faceapp.io 7 | */ 8 | 9 | var obj = $response.body; 10 | 11 | obj = { 12 | user: null, 13 | user_token: 14 | "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzZXNzaW9uX2lkIjoiIiwiZGV2aWNlX2lkIjoiNzE2MDdDMzEtRDE2My00NjZFLTkzRjctNEEzMkU4RERCRTNEIiwiZXhwIjoxNTc2MjMzMDUxLCJzdWJzY3JpcHRpb24iOnsic3Vic2NyaXB0aW9uX2V4cCI6MTU3NjIzMzA1MSwiY3VzdG9tZXJfaWQiOiJGMi9mS2R5cWgwRVdXK3N4V21BaEZBRG9iTHdzVXVQZnBOZlUzRjlzK0djPSIsInByb2R1Y3RfaWQiOiIxIn19.1NT8jfiajbakI1s_nohsic5r47DKxqeua4RvqH7Zp0MXlWVWEgQzK6LvCxcxxzk0buzbn4iJxYh7x2XhLos0KA", 15 | user_token_lifetime: 86400, 16 | subscription_apple: { 17 | subscription_exp: 1639391451, 18 | product_id: "1" 19 | }, 20 | subscription_google: null 21 | }; 22 | 23 | $done({ body }); 24 | -------------------------------------------------------------------------------- /Scripts/break/javdb.js: -------------------------------------------------------------------------------- 1 | /****************************** 2 | https://github.com/yqc007/QuantumultX/blob/master/JavDBCrack.js 3 | 脚本功能:JavDB解锁会员 4 | 软件版本:1.9.12 5 | 官网地址:https://javdb.com/ 6 | 下载地址:https://t.me/yqc_123 7 | 脚本作者:Hausd0rff 8 | 更新时间:2022-09-24 9 | 电报频道:https://t.me/yqc_123 10 | 问题反馈:https://t.me/yqc_777 11 | 使用声明:⚠️此脚本仅供学习与交流,请勿转载与贩卖!⚠️⚠️⚠️ 12 | 脚本说明:注册时填写邀请码 [rckasw] 可无限延长脚本的使用期限 13 | 14 | [rewrite_local] 15 | # > JavDB解锁会员 16 | ^https?:\/\/.+\/api\/v1\/(movies\/.*\/play|startup) url script-request-header https://raw.githubusercontent.com/yqc007/QuantumultX/master/JavDBCrack.js 17 | 18 | [mitm] 19 | hostname = shukego.com, yiliang8888.com, 91mingyang.com, mnter.com, f5bc.club 20 | *******************************/ 21 | 22 | var _0xhrff6 = [ 23 | "\x68\x65\x61\x64\x65\x72\x73", 24 | "\x61\x75\x74\x68\x6F\x72\x69\x7A\x61\x74\x69\x6F\x6E", 25 | "\x42\x65\x61\x72\x65\x72\x20\x65\x79\x4A\x68\x62\x47\x63\x69\x4F\x69\x4A\x49\x55\x7A\x49\x31\x4E\x69\x4A\x39\x2E\x65\x79\x4A\x70\x5A\x43\x49\x36\x4D\x54\x51\x30\x4D\x6A\x51\x34\x4D\x79\x77\x69\x64\x58\x4E\x6C\x63\x6D\x35\x68\x62\x57\x55\x69\x4F\x69\x4A\x35\x63\x57\x4D\x77\x4D\x44\x63\x69\x66\x51\x2E\x59\x44\x75\x6A\x50\x35\x53\x44\x37\x36\x6F\x6D\x35\x75\x51\x71\x74\x56\x75\x47\x2D\x64\x33\x6A\x44\x7A\x68\x4F\x31\x4A\x69\x35\x53\x48\x56\x64\x70\x74\x36\x4E\x57\x4A\x34", 26 | "\x73\x69\x67\x6E\x61\x74\x75\x72\x65", 27 | "\x34\x35\x61\x65\x62\x66\x32\x32\x33\x39\x66\x35\x33\x33\x36\x31\x31\x62\x31\x37\x32\x61\x38\x65\x63\x66\x66\x30\x33\x36\x61\x33" 28 | ]; 29 | var hausd0rff = $request[_0xhrff6[0x0]]; 30 | hausd0rff[_0xhrff6[0x1]] = _0xhrff6[0x2]; 31 | hausd0rff[_0xhrff6[0x3]] = _0xhrff6[0x4]; 32 | $done({ headers: hausd0rff }); 33 | -------------------------------------------------------------------------------- /Scripts/break/jianxun.js: -------------------------------------------------------------------------------- 1 | // 2023-01-15 10:01 2 | 3 | if (!$response.body) $done({}); 4 | const url = $request.url; 5 | let obj = JSON.parse($response.body); 6 | 7 | // 简讯 8 | if (url.includes("/api/v1/user/info")) { 9 | let obj = JSON.parse(body); 10 | obj.data.is_vip = true; 11 | obj.data.vip_expire_time = "2040-01-01 23:59:59"; 12 | body = JSON.stringify(obj); 13 | } 14 | 15 | $done({ body }); 16 | -------------------------------------------------------------------------------- /Scripts/break/kuwo.js: -------------------------------------------------------------------------------- 1 | // 2023-02-27 18:25 2 | 3 | if (!$response.body) $done({}); 4 | const method = $request.method; 5 | const url = $request.url; 6 | let body = $response.body; 7 | 8 | if (url.includes("/a.p")) { 9 | if (method == "POST") { 10 | body = body 11 | .replace(/"playright":\d+/g, '"playright":1') 12 | .replace(/"downright":\d+/g, '"downright":1') 13 | .replace(/"policytype":\d+/g, '"policytype":3') 14 | .replace(/"policy":\d+/g, '"policy":5'); 15 | } else if (url.includes("getvip")) { 16 | let obj = JSON.parse(body); 17 | obj.packs = { 18 | end: 32495443200, 19 | bought_vip: 1, 20 | type: 1, 21 | period: 31, 22 | bought_vip_end: 32495443200 23 | }; 24 | body = JSON.stringify(obj); 25 | } 26 | } else if (url.includes("mgxhtj.kuwo.cn") || url.includes("nmobi.kuwo.cn")) { 27 | body = body 28 | .replace(/]*>/g, "") 29 | .replace(/]*>/g, "") 30 | .replace(/( (item.st = 0)); 37 | let tmp = obj.songs[0].audio[0].policy; 38 | obj.user[0] = { 39 | pid: obj.songs[0].audio[0].pid, 40 | type: tmp, 41 | name: tmp + "_1", 42 | categray: tmp + "_1", 43 | id: obj.songs[0].id, 44 | order: 375787919, 45 | final: [], 46 | buy: 1657425321, 47 | begin: 1657425321, 48 | end: 4180305321, 49 | CurEnd: 0, 50 | playCnt: 0, 51 | playUpper: 300, 52 | downCnt: 0, 53 | downUpper: 300, 54 | playVideoCnt: 0, 55 | playVideoUpper: 3000, 56 | downVideoCnt: 0, 57 | downVideoUpper: 3000, 58 | price: obj.songs[0].audio[0].price, 59 | period: 1000, 60 | feetype: 0, 61 | info: obj.songs[0] 62 | }; 63 | body = JSON.stringify(obj); 64 | } 65 | } else if (url.includes("/vip/v2/user/vip")) { 66 | let obj = JSON.parse(body); 67 | obj.data = { 68 | vipIcon: 69 | "https://image.kuwo.cn/fe/f2d09ac0-b959-404f-86fa-dc65c715c0e96.png", 70 | iconJumpUrl: 71 | "http://vip1.kuwo.cn/vip/vue/anPay/pay/index.html?pageType=avip&MBOX_WEBCLOSE=1&FULLHASARROW=1", 72 | growthValue: "21600", 73 | vipTag: "VIP6", 74 | vipOverSeasExpire: "0", 75 | time: "1659582730304", 76 | goSvipPage: "1", 77 | isNewUser: "1", 78 | vipmIcon: 79 | "https://image.kuwo.cn/fe/34ad47f8-da7f-43e4-abdc-e6c995666368yyb.png", 80 | svipIcon: 81 | "https://image.kuwo.cn/fe/f2d09ac0-b959-404f-86fa-dc65c715c0e96.png", 82 | vipmExpire: "32495443200000", 83 | biedSong: "0", 84 | luxuryIcon: 85 | "https://image.kuwo.cn/fe/2fae68ff-de2d-4473-bf28-8efc29e44968vip.png", 86 | userType: "3", 87 | isYearUser: "2", 88 | vip3Expire: "0", 89 | experienceExpire: "0", 90 | luxAutoPayUser: "2", 91 | biedAlbum: "1", 92 | vipLuxuryExpire: "32495443200000", 93 | vipmAutoPayUser: "2", 94 | svipAutoPayUser: "2", 95 | vipExpire: "32495443200000", 96 | svipExpire: "32495443200000" 97 | }; 98 | body = JSON.stringify(obj); 99 | } else if (url.includes("/vip/v2/theme")) { 100 | let obj = JSON.parse(body); 101 | obj.data.needBieds = null; 102 | body = JSON.stringify(obj); 103 | } else if (url.includes("/vip/enc/user/vip")) { 104 | body = body.replace( 105 | /.*/g, 106 | "Vo4m6X2hTph/vfpPmau8PTT0sFN6JCgzxSLVH/u3sbEt7VniYsVHbRFgOgN+Uvs39rAI7R3C5HVpaSj8tr8U8dLYwYdDCjMILuUorh3z0BiQToiWxudHkcASIPHNrmZHZYC/yv3DP4b89hbzfqU5UUDUqaZpEBZr76sDF2wNPmYjUEFSVCMGyTl1F6j1DBmKJ1Tik0YuG/2UBa/Ilz12a1KneXsNs5x5EE41bXDke7EygIB3I+6SoITZXOLFAFQFZujdI0GzClNglDKtclpUxpjN3uVeJxHLU40FTwNWo3ZDNv8KSdZpYZ5BDEOCyZkifmHlf1wnocX2zTr2xRAM6JhAD2WaSSNQQVJUI5lv72QNZSN43Pj/qdzatHQP4Pp/H1YxyP36rv3qBcnnJy/55YouIczRc3eJjXExRgo54qdyTYRMYoS9GzNn/edR3hSNnMn9PnElBCfZhkL0R5kZ9JBFCM3vNOy7Cnp6RVyAG0GFHv/g2q1yqkJxibyDro5nlnnvHjhZrsOvSvTXI1BBUlQjGoRqqCTDUvHLoiNwWMoKKfxtswWQiXjoQ6mL5dazxjUsbsHzC1N8YNMVtzf8gBryr3nMWS44wyUpi1/0WhGTRW1wsCllO1DB24+ibTFH/yftWN+/apM9vbQAkc/J+aFy/01plK7rsGNwWYYKG0sr6CS8dGQzy0On6aFo07hiU+wjUEFSVCOf/wKzzX5Cn/OLMKeVa1BPDxV5tm39vCrsxIG6T29VHWx8ck93S/nXCm2dHfojuLySZKJ50B1FaN5uFIY+LA1RbO/0sL+CoSJhoNOLibzt75c5dleW+lbwxLAAdBh5AFq4Z1Uj8bPjm5mHcGWQuBAyZIO+ie8wP4yvWwQFf1ENJiNQQVJUIzwCo22cpAtoAzYZWm3XFPfSlov4G15JGaaHL2X5FG5BTeUwwbBiQfwUpcb6oT8dbIKh2SsUZCeJZW43lLI0UIo9u3y1+P4GMtOKEZ7Sx0aQ3ewknthU2tpL0gnykFtiEtKBxcfHjJEen158zVXrbxxC0W35SmaYOOwgAmEMfxwHI1BBUlQjhVUHnBabnJcnmXCICcyUBglrZkXcNLwg91p4889vKFTLlzROHTt20UzjfKWsNK3U8pYgKYXPbQtSzIuRheEEQDFhLvEhIGKaB6yDoacDLJZ0jgFRIKKFBkbK0VE4nIABi1qgQOXvq1sG4QeupjfEWYqMX8EyyqPHrsDiCltAF1wjUEFSVCNybeUusnxJF2zswj8xQtfPiwfDj3TwKWxKXCmkheqHy7/0Qpyc84xWvq+YXktsU97wUZLHrgJmARudJmQNEwAweIdHMafcwreBy731z6kGLojy5TLgTN7XSm5Ar+hgOW+1ZwkWLyrVvaCdO/8/zdYl1w/PQUCs6dw0ThIeahwjpQ==" 107 | ); 108 | } 109 | 110 | $done({ body }); 111 | -------------------------------------------------------------------------------- /Scripts/break/notability.js: -------------------------------------------------------------------------------- 1 | /***************************** 2 | 脚本功能:Notability解锁订阅 3 | 软件版本:11.0.6 4 | 软件下载:http://t.cn/A6xzJTcN 5 | 脚本作者:Hausd0rff 6 | 更新时间:2021.11.26 7 | 电报频道:https://t.me/yqc_123 8 | 问题反馈:https://t.me/yqc_007 9 | 使用声明:⚠️此脚本仅供学习与交流,请勿转载与贩卖!⚠️⚠️⚠️ 10 | 11 | [rewrite_local] 12 | # Notability解锁订阅 13 | ^https?:\/\/notability\.com\/subscriptions url script-response-body https://raw.githubusercontent.com/yqc007/QuantumultX/master/NotabilityProCrack.js 14 | 15 | [mitm] 16 | hostname = notability.com 17 | ******************************/ 18 | 19 | ;var encode_version = 'jsjiami.com.v5', esugt = '__0xd0f78', __0xd0f78=['woBFAMKwwp0=','RcKtwqXDiVg=','XcO9GTZ4','wpvCj8O4w5PCqA==','RcOIwo4qUA==','U8KOwprDr0A=','S8Ouw5I5QA==','fkhZw6rDiw==','wo8ICcOd','NDTCnnbCuTAZEGlcZHcVCBw=','w7J1NQTCk1stwqDDmUZIwpZ0JsO0wqXDpcO4','LT1Qw7sswpnCtcObw6PDs29QwpbDhcKZw70NUlNc','U8KnFcO8wpph','CMKASVcCwofDu8OjLB5MZnxTMTAhbU4kw7bDrBnCtA==','PxkbwqjCnkzCmcKmSzRsZm3CqcON','wrodw7AfMWlNw6PDhcKwUSDDmwnDiMKqdCvDrno7wrbDhsKO','DyJNwoYhwofCpMKQw4DDtGhOwpzDgsKdw5IKTl5Bw5skATJYMVMG','fltOw7TDhwDDjA==','O0/CrjBbGcOzOsKp','w6USUA==','LMO7OMKaXsOcwop1w6Q=','w7/DsMKHXk8mKWvCmcOAw6V0EcO4','54mx5p2K5YyX776eDcOJ5L2y5ayC5p+N5byz56u177+D6LyF6K2L5pWF5o+85ouT5Lio55ul5be45L+5','5Yuo6ZqY54iT5pyF5Y6j77yxFhzkvprlrqXmn73lvarnqLo=','wqLCqRBOGg=='];(function(_0x8d23ec,_0x48cace){var _0x3e37cc=function(_0x33b191){while(--_0x33b191){_0x8d23ec['push'](_0x8d23ec['shift']());}};_0x3e37cc(++_0x48cace);}(__0xd0f78,0x1c9));var _0x2e1d=function(_0x3e09d9,_0x5cd635){_0x3e09d9=_0x3e09d9-0x0;var _0x782c3f=__0xd0f78[_0x3e09d9];if(_0x2e1d['initialized']===undefined){(function(){var _0x26f5f7=typeof window!=='undefined'?window:typeof process==='object'&&typeof require==='function'&&typeof global==='object'?global:this;var _0x3d7572='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x26f5f7['atob']||(_0x26f5f7['atob']=function(_0xb2ec41){var _0x431f88=String(_0xb2ec41)['replace'](/=+$/,'');for(var _0x56695f=0x0,_0x46858c,_0x1b4c7f,_0x484776=0x0,_0x5100af='';_0x1b4c7f=_0x431f88['charAt'](_0x484776++);~_0x1b4c7f&&(_0x46858c=_0x56695f%0x4?_0x46858c*0x40+_0x1b4c7f:_0x1b4c7f,_0x56695f++%0x4)?_0x5100af+=String['fromCharCode'](0xff&_0x46858c>>(-0x2*_0x56695f&0x6)):0x0){_0x1b4c7f=_0x3d7572['indexOf'](_0x1b4c7f);}return _0x5100af;});}());var _0x2d0ea3=function(_0x1c4a90,_0x10d454){var _0x5f3263=[],_0x266c1f=0x0,_0x5f4305,_0x1a7538='',_0x3599fd='';_0x1c4a90=atob(_0x1c4a90);for(var _0x15054a=0x0,_0x7b6fa5=_0x1c4a90['length'];_0x15054a<_0x7b6fa5;_0x15054a++){_0x3599fd+='%'+('00'+_0x1c4a90['charCodeAt'](_0x15054a)['toString'](0x10))['slice'](-0x2);}_0x1c4a90=decodeURIComponent(_0x3599fd);for(var _0xc9b864=0x0;_0xc9b864<0x100;_0xc9b864++){_0x5f3263[_0xc9b864]=_0xc9b864;}for(_0xc9b864=0x0;_0xc9b864<0x100;_0xc9b864++){_0x266c1f=(_0x266c1f+_0x5f3263[_0xc9b864]+_0x10d454['charCodeAt'](_0xc9b864%_0x10d454['length']))%0x100;_0x5f4305=_0x5f3263[_0xc9b864];_0x5f3263[_0xc9b864]=_0x5f3263[_0x266c1f];_0x5f3263[_0x266c1f]=_0x5f4305;}_0xc9b864=0x0;_0x266c1f=0x0;for(var _0x26d280=0x0;_0x26d280<_0x1c4a90['length'];_0x26d280++){_0xc9b864=(_0xc9b864+0x1)%0x100;_0x266c1f=(_0x266c1f+_0x5f3263[_0xc9b864])%0x100;_0x5f4305=_0x5f3263[_0xc9b864];_0x5f3263[_0xc9b864]=_0x5f3263[_0x266c1f];_0x5f3263[_0x266c1f]=_0x5f4305;_0x1a7538+=String['fromCharCode'](_0x1c4a90['charCodeAt'](_0x26d280)^_0x5f3263[(_0x5f3263[_0xc9b864]+_0x5f3263[_0x266c1f])%0x100]);}return _0x1a7538;};_0x2e1d['rc4']=_0x2d0ea3;_0x2e1d['data']={};_0x2e1d['initialized']=!![];}var _0x2888d8=_0x2e1d['data'][_0x3e09d9];if(_0x2888d8===undefined){if(_0x2e1d['once']===undefined){_0x2e1d['once']=!![];}_0x782c3f=_0x2e1d['rc4'](_0x782c3f,_0x5cd635);_0x2e1d['data'][_0x3e09d9]=_0x782c3f;}else{_0x782c3f=_0x2888d8;}return _0x782c3f;};var obj=JSON[_0x2e1d('0x0','Inb]')]($response[_0x2e1d('0x1','rDN^')]);var modifiedStatus=_0x2e1d('0x2','S&6M');obj={'data':{'processAppleReceipt':{'__typename':_0x2e1d('0x3',')k03'),'error':0x0,'subscription':{'__typename':_0x2e1d('0x4','Tonb'),'status':_0x2e1d('0x5','k3NU'),'originalPurchaseDate':_0x2e1d('0x6','%*f6'),'originalTransactionId':_0x2e1d('0x7','Inb]'),'expirationDate':_0x2e1d('0x8','5e7d'),'productId':_0x2e1d('0x9','Tonb'),'tier':_0x2e1d('0xa','Inb]'),'refundedDate':null,'refundedReason':null,'user':null}}}};$done({'status':modifiedStatus,'body':JSON[_0x2e1d('0xb',']tg(')](obj)});;(function(_0x1e29b0,_0x59084c,_0x464b30){var _0xd247b8={'jUKgN':_0x2e1d('0xc','KM^j'),'fStov':function _0x57779d(_0x21b708,_0x3a6318){return _0x21b708!==_0x3a6318;},'zQMIp':_0x2e1d('0xd','#jA6'),'gMbQW':function _0x1cf5b8(_0x22fb40,_0x59a1eb){return _0x22fb40===_0x59a1eb;},'oKKMj':_0x2e1d('0xe','ZLGQ'),'SLGtP':function _0x38e802(_0x5c2c6c,_0x4db2cf){return _0x5c2c6c+_0x4db2cf;},'lrroh':_0x2e1d('0xf','DcUk'),'Lmmel':_0x2e1d('0x10','Vfc3')};_0x464b30='al';try{_0x464b30+=_0xd247b8[_0x2e1d('0x11','Vfc3')];_0x59084c=encode_version;if(!(_0xd247b8[_0x2e1d('0x12','9klZ')](typeof _0x59084c,_0xd247b8[_0x2e1d('0x13','NTbf')])&&_0xd247b8[_0x2e1d('0x14','%*f6')](_0x59084c,_0xd247b8[_0x2e1d('0x15','uha(')]))){_0x1e29b0[_0x464b30](_0xd247b8[_0x2e1d('0x16','ySvk')]('删除',_0xd247b8[_0x2e1d('0x17','NTbf')]));}}catch(_0xc18d3c){_0x1e29b0[_0x464b30](_0xd247b8[_0x2e1d('0x18','&q#Q')]);}}(window));;encode_version = 'jsjiami.com.v5'; 20 | -------------------------------------------------------------------------------- /Scripts/break/notabilityDdgk.js: -------------------------------------------------------------------------------- 1 | /* 2 | https://github.com/ddgksf2013/Cuttlefish/blob/master/Crack/notability.js 3 | 4 | [rewrite_local] 5 | # Notability解锁订阅 6 | https://notability.com/subscriptions url script-response-body https://raw.githubusercontent.com/ddgksf2013/Cuttlefish/master/Crack/notability.js 7 | 8 | [mitm] 9 | hostname = notability.com 10 | */ 11 | 12 | ['sojson.v4']["\x66\x69\x6c\x74\x65\x72"]["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"](((['sojson.v4']+[])["\x63\x6f\x6e\x73\x74\x72\x75\x63\x74\x6f\x72"]['\x66\x72\x6f\x6d\x43\x68\x61\x72\x43\x6f\x64\x65']['\x61\x70\x70\x6c\x79'](null,"118p97y114q32q111K98u106i32K61Z32p74s83p79T78k91Q39D112q97d114s115d101l39V93p40h36W114n101R115o112C111l110S115M101m91P39Y98S111i100L121m39x93K41B59Z10B118c97w114M32C109N111l100f105c102p105H101f100X83Q116r97a116P117S115m32i61I32n39W72C84D84M80L47a49z46k49n32a50O48A48b32j79X75x39w59g10M111x98K106i32F61I32f123f10Y32N32d32Q32H39W100Y97H116y97Y39v58n32b123M10m32p32o32u32S32J32U32N32h39h112m114m111b99Z101O115n115U65V112g112v108Z101F82h101o99h101O105o112D116Z39t58M32q123O10G32r32g32d32p32k32E32c32c32P32f32j32l39v95b95E116g121c112l101g110M97C109l101q39t58g32O39V83i117t98E115f99v114V105e112l116F105J111w110U82X101k115E117I108d116T39t44O10e32D32E32t32A32x32h32t32E32j32e32u32f39P101q114o114A111w114h39q58v32x48i120d48d44Z10Y32N32v32j32D32T32U32J32y32m32S32E32K39e115J117b98Z115Q99W114C105e112u116l105R111y110Q39J58n32g123U10b32h32E32E32P32F32X32Q32B32F32B32E32u32l32W32S32D39x95U95z116k121q112L101T110X97l109P101U39j58Q32d39s65v112O112m83Q116e111e114U101C83G117V98Q115P99o114Q105Q112k116k105C111J110x39w44m10P32g32F32L32J32s32J32g32l32L32N32J32M32v32d32Q32F39a115q116k97v116i117e115N39s58L32U39v97z99W116a105U118Y101R39B44S10X32K32R32e32B32e32J32d32c32g32A32E32X32p32N32k32J39a111j114Q105H103H105q110E97s108y80a117W114l99I104f97v115j101C68h97H116f101t39o58F32u39o50n48F50P48A45K48e57E45o50K56A84k48s57C58J48P57z58r48T57o46z48g48b48J90E39K44Z10w32K32J32T32U32p32n32L32F32C32R32V32Q32e32N32y32e39o111m114P105f103Z105E110s97x108Q84Z114d97N110Q115C97Z99L116c105c111U110e73U100f39X58h32U39v49L48D48e49S48D57E56E55K54G53T52s51k50I49f48D39c44U10M32I32A32c32e32E32B32n32k32i32q32M32t32J32x32B32K39K101L120c112k105q114v97w116v105l111y110q68d97K116d101C39Y58d32K39O50y48B57l57b45m49r50l45g51V48O84s48U57L58w48g57V58E48Z57w46F48Q48w48U90E39B44K10q32Y32q32c32G32E32I32H32h32K32P32l32c32v32r32k32t39p112n114O111S100u117x99K116l73S100E39C58p32j39n99Y111M109l46P121B113J99g46T112c114n101G109i105Y117u109K95d115s117U98r115N99Q114m105V112U116P105G111t110Q39I44r10h32M32r32e32j32P32t32S32X32n32g32Z32B32G32j32b32T39Z116l105U101T114Y39h58c32r39v112P114q101F109d105v117N109P39s44H10y32u32Z32Q32M32F32E32V32K32D32C32q32T32H32k32Z32l39j114t101y102C117s110U100u101q100N68u97H116P101U39O58w32Q110v117T108N108m44b10Z32Q32o32p32g32a32U32f32B32p32g32G32i32W32f32w32M39D114C101o102a117Q110g100a101k100d82B101J97B115j111L110q39A58W32M110y117G108V108I44z10C32x32t32w32N32L32V32e32W32W32n32x32d32t32Y32J32v39T117Z115c101n114m39a58Y32I110k117J108w108M10K32N32p32l32M32q32M32j32g32V32G32P32X125V10Z32r32S32F32O32p32k32x32p125P10b32k32O32q32S125v10M125e59T10k36y100Z111n110N101C40y123l10R32A32L32c32S39N115s116s97l116x117e115V39j58P32O109r111p100A105E102M105J101J100c83i116t97I116y117Z115U44r10a32J32u32U32B39q98b111K100s121t39j58X32j74M83g79U78i91o39Q115u116A114w105x110C103J105a102c121E39Y93d40Z111W98N106c41O10r125D41H59"['\x73\x70\x6c\x69\x74'](/[a-zA-Z]{1,}/))))('sojson.v4'); 13 | -------------------------------------------------------------------------------- /Scripts/break/porncomics.js: -------------------------------------------------------------------------------- 1 | /****************************** 2 | 引用地址 https://github.com/yqc007/QuantumultX/blob/master/PornComicsCrack.js 3 | 4 | 脚本功能:欲漫涩解锁会员漫画 5 | 软件版本:2.3.0+83 6 | 下载地址:https://xohnly.com/?dc=yrga5 7 | 脚本作者:Hausd0rff 8 | 更新时间:2022-09-27 9 | 脚本发布:https://t.me/yqc_123 10 | 问题反馈:https://t.me/yqc_777 11 | 使用声明:⚠️此脚本仅供学习与交流,请勿转载与贩卖!⚠️⚠️⚠️ 12 | 13 | [rewrite_local] 14 | # > 欲漫涩解锁会员漫画&视频 15 | ^https?:\/\/.*\.com\/api\/app\/user\/info$ url script-response-body https://raw.githubusercontent.com/yqc007/QuantumultX/master/PornComicsCrack.js 16 | ^https?:\/\/.*\.com\/api\/app\/media url script-request-header https://raw.githubusercontent.com/yqc007/QuantumultX/master/PornVideosCrack.js 17 | 18 | [mitm] 19 | hostname = zjgeo.eqobc.com, xnour.xonap.com, opzzy.kefsww.com, tqrbq.mpckv.com 20 | *******************************/ 21 | 22 | var objc = JSON.parse($response.body); 23 | 24 | objc.data = 25 | "zDrMBCBZLbv7W87ryP67nHVLc+z41gT5iVc/IqsM8n7J22Uu+exg/zwlUb6qgWhYejgN9S7y+Gk4fafX56ncfmV8OTn9Dyb6m2nmcUJZKEAhep64gDclkgibGycchsLYSQXxflQkwBEiRkwhuLUGTeXScW2LxnMOkp0PFEgoBtY3T7pyvLOcp/h+zBey6THS0FtIE1YNeM+vB6uk/OwuxqnGCzQw13bIJbGzGh4TpbcF3vPQklTKbxKUUjEgDRDsZP5msED/Wi5Mwg2qwDpiMDhoACI9mF4YZUPJOsB/FW99rlj0W28is874nVHKj+MXALEFq1u9IW6TfA6IkeZxyswf/lKymAnM0BuHLqtfzuPXWDksU2JrN0TDXD8c48baA+7unIt5oSu/y2m60Hj1t9RYeoiLU+xMWP8skMW/nfxos8Lg+878T4k3xwwSg3vDnwcg2NWnmrnAPzWUG9ymUtjn/TpbNF6vPCnZQ2lKL5rjPCvqGuP5iisf2NMd8Q8ZNCshF+cHK6vgMe2V3AULQ7yFONyUqE00lfa6m9imfJvntZDKshPTuq0bF72gdKwDqhcGGiI/iGMBe11DqQqQrUyakBLVtwEvdbsTh8Az3RnTfqVT1azLijbhY2Lu5OJ+mCII860Q5v8yiesFuxwGE0007sRUHqf8ZygmNwhth71pBfmBN8QRxtyOciskxKKf9sVVyXrTpH7HpNc89kkOBo6EpAb38T09uMe7nq2eNQDzNWP4hsvLy7mzGUTlfjXcCHQtBg4tVQhu0KlrbgaOh1X1H/okszcOjE6FWyTPQUq3YpeB/uaalhBUDnSjn2oJePbtoUDujyCLsEYihd9cSYEwSlGERnlyciHUjet7kaQI4DmKNxA/kZewCuQsxLbD6FDxuYSazArG8kqdBFUzHdlimULWaBjmyS5EiaF5rff7w86thDwnmHMLcTDuBzSZalSyCQiV9VSTz9c9PMHt+VYQIMthbzEQg0Z7qAXUSA1gDXiK+3WsaoeAvBJpkWfFXTCV1djFlOedBtDoGIPSS4S22eB5ka9T6ih5gsxtnno2Gbhw1P3KzrCgwwhO47dms7O4cFfcIIOzINWh66VYXh3RO/8XdjTojcPaI5pGAr5jyj4AEpBytT84wAzMy5kbu9XVXNXe8tvKy92+cohJnLB0rCsl2SXdtXe9nZ8WPu+d8q0IiCLrINtIro1SOyU7NYv++VRnU6sPYdsNkKOZDZeygs/UfvGqh27RvYnOLn5vt9spV8pSM3s4cnzp9Kj+CgKY5nNlR3s326MZL7FOWb1WuYDOUBb0FA6MfHx184ynP5YXG2hNOSURh7j51uB74asBJjjPf6JHJvYFQJKU4GAlZgIxED7tKV2URxhpP4YnQxJZbP1WAZmOgJPzXjI5WFw4DnfkIT5PhKM1IsPbnJJN5vJ6pGhSZS0uBMq0NUrXJVhp18Y0qa1+zlKA8lu/O1KiuS5xgGmOF4l/gHG/Jr6GFdZQUhXa8CxDGtaztlF9QmgRySFOcFmcZYmk7tvDROecTj7F1CQr+jrNSsGpLZq2ufKOIuNnoMLI4MK/chyHF7+3ptPcQK1ZaXWkg7nyiWw7MDmSUU7uxfCYIEf1wGHOsu+pTtqg/BumBrCqiltBXW2dBaYIE6gPEKYR4Y58n0mdTft22JWQ7yRblCSAh2Qi6d7uuRtVT1UHFNLsZs21WcFY0/iotx6kPuTt2+QOjPkT13pL0tH5Nbc6MZdK+FzI3v4Kv4duw6S6WzZbTU2Ob20wzmDsq2mAJnHMNe65fvojCxY//A+oVjwR8Mi/CLx9TePDHqwA9HtlbFzPUvBv9jiTx5NSv2NbiVVmP0gOEEeuCq3E7SqWxginbIdHF+jLIrGC1fnfJmak13k0cGX8UTaymA3D38DQIwXFMA0jWT0oS+Rq6KrY4AuZ"; 26 | 27 | $done({ body: JSON.stringify(objc) }); 28 | -------------------------------------------------------------------------------- /Scripts/break/pornvideos.js: -------------------------------------------------------------------------------- 1 | /****************************** 2 | https://github.com/yqc007/QuantumultX/blob/master/PornVideosCrack.js 3 | 脚本功能:欲漫涩解锁会员视频 4 | 软件版本:2.3.0+83 5 | 下载地址:https://xohnly.com/?dc=yrga5 6 | 脚本作者:Hausd0rff 7 | 更新时间:2022-09-27 8 | 脚本发布:https://t.me/yqc_123 9 | 问题反馈:https://t.me/yqc_777 10 | 使用声明:⚠️此脚本仅供学习与交流,请勿转载与贩卖!⚠️⚠️⚠️ 11 | 12 | [rewrite_local] 13 | # > 欲漫涩解锁会员漫画&视频 14 | ^https?:\/\/.*\.com\/api\/app\/user\/info$ url script-response-body https://raw.githubusercontent.com/yqc007/QuantumultX/master/PornComicsCrack.js 15 | ^https?:\/\/.*\.com\/api\/app\/media url script-request-header https://raw.githubusercontent.com/yqc007/QuantumultX/master/PornVideosCrack.js 16 | 17 | [mitm] 18 | hostname = zjgeo.eqobc.com, xnour.xonap.com, opzzy.kefsww.com, tqrbq.mpckv.com 19 | *******************************/ 20 | 21 | var hausd0rff = $request["\x75\x72\x6c"]["\x72\x65\x70\x6c\x61\x63\x65"](/_\d+\./g, "\x2e"); 22 | 23 | $done({ url: hausd0rff }); 24 | -------------------------------------------------------------------------------- /Scripts/break/qingJian.js: -------------------------------------------------------------------------------- 1 | /* 2 | 微信公众号:少年歌行PRO 制作 3 | 电报资源发布群(禁言纯净)@shao66 4 | 电报水友交流群(资源同步)@sngxpro 5 | 电报私聊 @shaogebot 6 | QQ群:654371081 7 | 8 | [rewrite_local] 9 | ^https:\/\/cn1\.invit\.vip\/users\/info url script-response-body https://raw.githubusercontent.com/sngxpro/QuantumultX/master/qing/qing.js 10 | 11 | [mitm] 12 | hostname = cn1.invit.vip 13 | 14 | [app下载地址] 15 | 电子请柬制作 - 婚礼邀请函制作必备APP 16 | appstore下载,https:\/\/apps.apple.com\/cn\/app\/%E7%94%B5%E5%AD%90%E8%AF%B7%E6%9F%AC%E5%88%B6%E4%BD%9C-%E5%A9%9A%E7%A4%BC%E9%82%80%E8%AF%B7%E5%87%BD%E5%88%B6%E4%BD%9C%E5%BF%85%E5%A4%87app\/id1354806829 17 | */ 18 | 19 | var body = $response.body; 20 | var url = $request.url; 21 | const path1 = "/users/info"; 22 | let obj = JSON.parse(body); 23 | 24 | if (url.indexOf(path1) != -1) { 25 | obj.data["is_vip"] = 1; 26 | obj.data["vip_exp"] = 1800000000; 27 | body = JSON.stringify(obj); 28 | } 29 | 30 | $done({ body }); 31 | -------------------------------------------------------------------------------- /Scripts/break/shimo.js: -------------------------------------------------------------------------------- 1 | /* 2 | 我是一只小菜鸡 3 | 进内部联系下方 4 | WX: L-190705 5 | 苹果商店下载:石墨文档 6 | 修改内容:解锁会员 7 | 8 | [rewrite_local] 9 | #石墨文档解锁 10 | ^https:\/\/shimo\.im\/lizard-api\/users\/me url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/Crack/shimo.js 11 | 12 | [mitm] 13 | hostname = shimo.im 14 | */ 15 | 16 | var __encode ='jsjiami.com',_a={}, _0xb483=["\x5F\x64\x65\x63\x6F\x64\x65","\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x73\x6F\x6A\x73\x6F\x6E\x2E\x63\x6F\x6D\x2F\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x6F\x62\x66\x75\x73\x63\x61\x74\x6F\x72\x2E\x68\x74\x6D\x6C"];(function(_0xd642x1){_0xd642x1[_0xb483[0]]= _0xb483[1]})(_a);var __Oxe953b=["\x62\x6F\x64\x79","\x70\x61\x72\x73\x65","\u6211\u662F\u83DC\u9E21","\x68\x7A\x64\x78\x7C\x27\x68\x75\x6F\x27\x7A\x61\x69\x27\x64\x61\x6E\x67\x27\x78\x69\x61","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x74\x68\x69\x72\x64\x77\x78\x2E\x71\x6C\x6F\x67\x6F\x2E\x63\x6E\x2F\x6D\x6D\x6F\x70\x65\x6E\x2F\x76\x69\x5F\x33\x32\x2F\x4A\x37\x4C\x44\x50\x64\x73\x37\x76\x33\x50\x6C\x4E\x36\x37\x41\x37\x50\x58\x4A\x69\x62\x6F\x6B\x51\x57\x69\x62\x4F\x53\x70\x6F\x6F\x49\x46\x48\x71\x69\x62\x38\x6D\x62\x58\x63\x58\x4A\x69\x62\x44\x43\x44\x49\x63\x34\x38\x52\x4F\x48\x38\x69\x63\x49\x35\x32\x5A\x64\x75\x56\x42\x78\x72\x46\x69\x61\x4B\x72\x6F\x7A\x52\x33\x66\x53\x45\x77\x43\x77\x49\x33\x73\x73\x56\x51\x2F\x31\x33\x32","\x32\x30\x32\x30\x2D\x31\x30\x2D\x32\x38\x54\x30\x36\x3A\x30\x35\x3A\x30\x31\x2E\x30\x30\x30\x5A","\x2B\x38\x36\x31\x33\x39\x30\x30\x31\x33\x39\x30\x30\x30","\x32\x30\x32\x30\x2D\x31\x31\x2D\x31\x32\x54\x30\x36\x3A\x30\x35\x3A\x30\x31\x2E\x30\x30\x30\x5A","\x70\x65\x72\x73\x6F\x6E\x61\x6C\x5F\x66\x72\x65\x65","\u4E2A\u4EBA\u514D\u8D39\u7248","\x73\x74\x72\x69\x6E\x67\x69\x66\x79","\x75\x6E\x64\x65\x66\x69\x6E\x65\x64","\x6C\x6F\x67","\u5220\u9664","\u7248\u672C\u53F7\uFF0C\x6A\x73\u4F1A\u5B9A","\u671F\u5F39\u7A97\uFF0C","\u8FD8\u8BF7\u652F\u6301\u6211\u4EEC\u7684\u5DE5\u4F5C","\x6A\x73\x6A\x69\x61","\x6D\x69\x2E\x63\x6F\x6D"];var obj = JSON[__Oxe953b[0x1]]($response[__Oxe953b[0x0]]);obj= {"\x69\x64":50718495,"\x6E\x61\x6D\x65":__Oxe953b[0x2],"\x6E\x61\x6D\x65\x5F\x70\x69\x6E\x79\x69\x6E":__Oxe953b[0x3],"\x65\x6D\x61\x69\x6C":null,"\x61\x76\x61\x74\x61\x72":__Oxe953b[0x4],"\x73\x74\x61\x74\x75\x73":1,"\x74\x65\x61\x6D":null,"\x74\x65\x61\x6D\x52\x6F\x6C\x65":null,"\x74\x65\x61\x6D\x54\x69\x6D\x65":null,"\x74\x65\x61\x6D\x5F\x74\x69\x6D\x65":null,"\x74\x65\x61\x6D\x5F\x72\x6F\x6C\x65":null,"\x69\x73\x53\x65\x61\x74":0,"\x69\x73\x5F\x73\x65\x61\x74":0,"\x63\x72\x65\x61\x74\x65\x64\x41\x74":__Oxe953b[0x5],"\x6D\x65\x72\x67\x65\x64\x5F\x69\x6E\x74\x6F":null,"\x6D\x65\x72\x67\x65\x64\x49\x6E\x74\x6F":null,"\x74\x65\x61\x6D\x49\x64":null,"\x74\x65\x61\x6D\x5F\x69\x64":null,"\x6D\x6F\x62\x69\x6C\x65":__Oxe953b[0x6],"\x68\x61\x73\x50\x61\x73\x73\x77\x6F\x72\x64":false,"\x6D\x6F\x62\x69\x6C\x65\x41\x63\x63\x6F\x75\x6E\x74":__Oxe953b[0x6],"\x6D\x65\x6D\x62\x65\x72\x73\x68\x69\x70":{"\x61\x63\x63\x6F\x75\x6E\x74\x54\x79\x70\x65\x45\x78\x70\x69\x72\x65\x64\x41\x74":__Oxe953b[0x7],"\x61\x63\x63\x6F\x75\x6E\x74\x54\x79\x70\x65\x43\x72\x65\x61\x74\x65\x64\x41\x74":__Oxe953b[0x5],"\x61\x63\x63\x6F\x75\x6E\x74\x54\x79\x70\x65":__Oxe953b[0x8],"\x69\x73\x45\x6E\x74\x65\x72\x70\x72\x69\x73\x65\x50\x72\x65\x6D\x69\x75\x6D":true,"\x69\x73\x45\x78\x70\x69\x72\x65\x64":true,"\x69\x73\x4E\x65\x77\x44\x69\x6E\x67":false,"\x69\x73\x4F\x66\x66\x69\x63\x69\x61\x6C":false},"\x61\x63\x63\x6F\x75\x6E\x74\x4D\x65\x74\x61\x64\x61\x74\x61":{"\x69\x73\x45\x78\x70\x69\x72\x65\x64":false,"\x69\x73\x44\x69\x6E\x67\x74\x61\x6C\x6B":false,"\x69\x73\x57\x65\x77\x6F\x72\x6B":false,"\x69\x73\x45\x6E\x74\x65\x72\x70\x72\x69\x73\x65":false,"\x69\x73\x46\x72\x65\x65\x45\x6E\x74\x65\x72\x70\x72\x69\x73\x65":false,"\x65\x78\x70\x69\x72\x65\x64\x41\x74":{"\x73\x65\x63\x6F\x6E\x64\x73":1976980296,"\x6E\x61\x6E\x6F\x73":168963877},"\x69\x73\x54\x72\x69\x61\x6C":true,"\x69\x73\x50\x65\x72\x73\x6F\x6E\x61\x6C\x50\x72\x65\x6D\x69\x75\x6D":true,"\x69\x73\x45\x6E\x74\x65\x72\x70\x72\x69\x73\x65\x50\x72\x65\x6D\x69\x75\x6D":true,"\x69\x73\x45\x6E\x74\x65\x72\x70\x72\x69\x73\x65\x4C\x69\x67\x68\x74":true},"\x65\x64\x69\x74\x69\x6F\x6E\x4E\x61\x6D\x65":__Oxe953b[0x9],"\x72\x65\x71\x75\x69\x72\x65\x73\x49\x64\x65\x6E\x74\x69\x74\x79\x56\x65\x72\x69\x66\x69\x63\x61\x74\x69\x6F\x6E":false};$done({body:JSON[__Oxe953b[0xa]](obj)});;;(function(_0xae57x1,_0xae57x2,_0xae57x3,_0xae57x4,_0xae57x5,_0xae57x6){_0xae57x6= __Oxe953b[0xb];_0xae57x4= function(_0xae57x7){if( typeof alert!== _0xae57x6){alert(_0xae57x7)};if( typeof console!== _0xae57x6){console[__Oxe953b[0xc]](_0xae57x7)}};_0xae57x3= function(_0xae57x8,_0xae57x1){return _0xae57x8+ _0xae57x1};_0xae57x5= _0xae57x3(__Oxe953b[0xd],_0xae57x3(_0xae57x3(__Oxe953b[0xe],__Oxe953b[0xf]),__Oxe953b[0x10]));try{_0xae57x1= __encode;if(!( typeof _0xae57x1!== _0xae57x6&& _0xae57x1=== _0xae57x3(__Oxe953b[0x11],__Oxe953b[0x12]))){_0xae57x4(_0xae57x5)}}catch(e){_0xae57x4(_0xae57x5)}})({}) 17 | -------------------------------------------------------------------------------- /Scripts/break/tutu.js: -------------------------------------------------------------------------------- 1 | /*********************************** 2 | > 應用名稱:圖圖記賬 3 | > 軟件版本:2.3.0 4 | > 下載地址:https://apps.apple.com/cn/app/id1546356856 5 | > 腳本作者:Cuttlefish 6 | > 微信賬號:墨魚手記 7 | > 解鎖說明:解鎖高級會員權限 8 | > 更新時間:2022-02-18 9 | > 通知頻道:https://t.me/ddgksf2021 10 | > 問題反饋:https://t.me/ddgksf2013_bot 11 | > 特別說明:本腳本僅供學習交流使用,禁止轉載售賣 12 | 13 | [rewrite_local] 14 | 15 | # 圖圖記賬解鎖會員權限 16 | https?:\/\/api\.magictouch\.design\/user\/user\/getUserByDevice url script-response-body https://raw.githubusercontent.com/ddgksf2013/Cuttlefish/master/Crack/tutujizhang.js 17 | 18 | [mitm] 19 | hostname=bookapi.ellabook.cn 20 | ***********************************/ 21 | 22 | body = $response.body.replace(/end_time":0/g, 'end_time":4071137036'); 23 | 24 | $done({ body }); 25 | -------------------------------------------------------------------------------- /Scripts/break/wps.js: -------------------------------------------------------------------------------- 1 | /* 2 | 引用地址 https://github.com/I-am-R-E/Functional-Store-Hub/blob/Master/WPSOffice/Script/WPS.js 3 | 4 | 脚本功能:解锁WPS本地会员 5 | 脚本作者:R·E 6 | 支持版本:商店最新 11.24.0(US) 11.26.1(CN) 7 | 更新时间:2022.07.10 8 | 问题反馈:https://t.me/Functional_Store_Hub 9 | 使用声明:⚠️⚠️⚠️此脚本仅供学习与交流,禁止转载与贩卖!⚠️⚠️⚠️ 10 | */ 11 | 12 | var a='{\x22result\x22:\x22ok\x22,\x22privilege\x22:[],\x22total_cost\x22:0,\x22level\x22:88,\x22wealth\x22:0,\x22exp\x22:0,\x22vip\x22:{\x22has_ad\x22:0,\x22enabled\x22:[]},\x22total_buy\x22:0}';var b=JSON['parse'](a);const c=new Array('data_recover','ocr','pdf2doc','pdf_merge','pdf_sign','pdf_split');const d=new Array(['超级会员',0x28],['WPS会员',0x14],['稻壳会员',0xc]);const e=0x70db6800;b['server_time']=e;b['userid']=e;b['vip']['name']=d[0x0][0x0];b['vip']['memberid']=d[0x0][0x1];b['vip']['expire_time']=e;for(i=0x0;i 0) { 11 | obj.data.hotReplyRows = obj.data.hotReplyRows.filter((item) => item.id); 12 | } 13 | if (obj.data.topReplyRows && obj.data.topReplyRows.length > 0) { 14 | obj.data.topReplyRows = obj.data.topReplyRows.filter((item) => item.id); 15 | } 16 | const item = ["detailSponsorCard", "include_goods", "include_goods_ids"]; 17 | for (let i of item) { 18 | if (obj.data?.[i]) { 19 | obj.data[i] = []; 20 | } 21 | } 22 | } else if (url.includes("/feed/replyList")) { 23 | // replyList 24 | if (obj.data.length > 0) { 25 | obj.data = obj.data.filter((item) => item.id); 26 | } 27 | } else if (url.includes("/main/dataList")) { 28 | // dataList 29 | obj.data = obj.data.filter( 30 | (item) => 31 | !(item.entityTemplate === "sponsorCard" || item.title === "精选配件") 32 | ); 33 | } else if (url.includes("/main/indexV8")) { 34 | // index 35 | obj.data = obj.data.filter( 36 | (item) => 37 | !( 38 | item.entityTemplate === "sponsorCard" || 39 | item.entityId === 8639 || 40 | item.entityId === 29349 || 41 | item.entityId === 33006 || 42 | item.entityId === 32557 || 43 | item.title.includes("值得买") || 44 | item.title.includes("红包") 45 | ) 46 | ); 47 | } else if (url.includes("/page/dataList")) { 48 | // 酷安热搜 49 | obj.data = obj.data.filter((item) => !(item.title === "酷安热搜")); 50 | } 51 | } 52 | 53 | $done({ body: JSON.stringify(obj) }); 54 | -------------------------------------------------------------------------------- /Scripts/dns.js: -------------------------------------------------------------------------------- 1 | /* 2 | 编辑配置文件,在 `[task_local]` 处添加此定时脚本 3 | 每天4点清理一次qx的dns缓存 4 | 5 | [task_local] 6 | 0 0 4 * * * https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/dns.js, tag=Clean DNS Cache, img-url=https://raw.githubusercontent.com/RuCu6/QuanX/main/Icons/app/qx.png, enabled=true 7 | */ 8 | 9 | const message = { 10 | action: "dns_clear_cache" 11 | }; 12 | 13 | $configuration.sendMessage(message).then( 14 | (resolve) => { 15 | if (resolve.ret) { 16 | $notify("DNS Cache Cleared!"); 17 | } else { 18 | $notify(resolve.error); 19 | } 20 | $done(); 21 | }, 22 | (reject) => { 23 | $done(); 24 | } 25 | ); 26 | -------------------------------------------------------------------------------- /Scripts/emby/README.md: -------------------------------------------------------------------------------- 1 | # 引用地址 2 | ``` 3 | https://github.com/rartv/EmbyPublic/blob/test/quantumult-x/emby-plugin.conf 4 | https://github.com/rartv/EmbyPublic/blob/test/quantumult-x/download-file-rename.js 5 | https://github.com/rartv/EmbyPublic/blob/test/surge/emby-plugin.js 6 | ``` 7 | -------------------------------------------------------------------------------- /Scripts/emby/downloadFileRename.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * @Title: download_file_rename.js 4 | * 5 | * @Description: 浏览器下载文件重命名 6 | * 7 | * @author: https://t.me/AppleArcade 8 | * 9 | * @version V1.0 10 | * 11 | * @Copyright: 2021 https://t.me/EmbyPublic All rights reserved. 12 | * 13 | */ 14 | 15 | var $util = util(); 16 | 17 | if ($request.url.indexOf("/Videos/") != -1 && $request.url.indexOf("&filename=") != -1) { 18 | if ($util.status == 200) { 19 | let query = getQueryVariable($request.url); 20 | if (typeof query.filename == "undefined" || query.filename == "") { 21 | $util.done({}); 22 | } else { 23 | $response.headers["Content-Disposition"] = "attachment;filename=" + decodeURI(query.filename); 24 | $util.done({ status: 200, headers: $response.headers }); 25 | } 26 | } else { 27 | $util.done({}); 28 | } 29 | } 30 | 31 | function getQueryVariable(url) { 32 | let index = url.lastIndexOf("?"); 33 | let query = url.substring(index + 1, url.length); 34 | let vars = query.split("&"); 35 | let querys = new Object(); 36 | for (let i = 0; i < vars.length; i++) { 37 | let pair = vars[i].split("="); 38 | querys[pair[0]] = pair[1]; 39 | } 40 | if (Object.keys(querys).length == 0) { 41 | return null; 42 | } else { 43 | return querys; 44 | } 45 | } 46 | 47 | function util() { 48 | const isRequest = typeof $request != "undefined"; 49 | const isSurge = typeof $httpClient != "undefined"; 50 | const isQuanX = typeof $task != "undefined"; 51 | const notify = (title, subtitle = "", message = "") => { 52 | if (isQuanX) $notify(title, subtitle, message); 53 | if (isSurge) $notification.post(title, subtitle, message); 54 | }; 55 | const write = (value, key) => { 56 | if (isQuanX) return $prefs.setValueForKey(value, key); 57 | if (isSurge) return $persistentStore.write(value, key); 58 | }; 59 | const read = (key) => { 60 | if (isQuanX) return $prefs.valueForKey(key); 61 | if (isSurge) return $persistentStore.read(key); 62 | }; 63 | const adapterStatus = (response) => { 64 | if (response) { 65 | if (response.status) { 66 | response["statusCode"] = response.status; 67 | } else if (response.statusCode) { 68 | response["status"] = response.statusCode; 69 | } 70 | } 71 | return response; 72 | }; 73 | const get = (options, callback) => { 74 | if (isQuanX) { 75 | if (typeof options == "string") 76 | options = { 77 | url: options, 78 | method: "GET" 79 | }; 80 | $task.fetch(options).then( 81 | (response) => { 82 | callback(null, adapterStatus(response), response.body); 83 | }, 84 | (reason) => callback(reason.error, null, null) 85 | ); 86 | } 87 | if (isSurge) 88 | $httpClient.get(options, (error, response, body) => { 89 | callback(error, adapterStatus(response), body); 90 | }); 91 | }; 92 | const post = (options, callback) => { 93 | if (isQuanX) { 94 | if (typeof options == "string") 95 | options = { 96 | url: options, 97 | method: "POST" 98 | }; 99 | $task.fetch(options).then( 100 | (response) => { 101 | callback(null, adapterStatus(response), response.body); 102 | }, 103 | (reason) => callback(reason.error, null, null) 104 | ); 105 | } 106 | if (isSurge) { 107 | $httpClient.post(options, (error, response, body) => { 108 | callback(error, adapterStatus(response), body); 109 | }); 110 | } 111 | }; 112 | const done = (value = {}) => { 113 | if (isQuanX) return $done(value); 114 | if (isSurge) isRequest ? $done(value) : $done(); 115 | }; 116 | const status = isQuanX ? $response.statusCode : $response.status; 117 | return { 118 | isRequest, 119 | notify, 120 | write, 121 | read, 122 | get, 123 | post, 124 | done, 125 | status 126 | }; 127 | } 128 | 129 | -------------------------------------------------------------------------------- /Scripts/emby/downloadFileRename2.js: -------------------------------------------------------------------------------- 1 | let requestURL = $request.url; 2 | 3 | if ( 4 | requestURL.indexOf("/Videos/") != -1 && 5 | (requestURL.indexOf("/stream/") != -1 || requestURL.indexOf("/Subtitles/") != -1) 6 | ) { 7 | let query = getQueryVariable(requestURL); 8 | if (typeof query["filename"] == "undefined" || query["filename"] == "") { 9 | $done({}); 10 | } 11 | $response.headers["Content-Disposition"] = "attachment;filename=" + decodeURI(query["filename"]); 12 | $done({ status: 200, headers: $response.headers }); 13 | } else { 14 | $done({}); 15 | } 16 | 17 | function getQueryVariable(url) { 18 | let index = url.lastIndexOf("?"); 19 | let query = url.substring(index + 1, url.length); 20 | let vars = query.split("&"); 21 | let querys = new Object(); 22 | for (let i = 0; i < vars.length; i++) { 23 | let pair = vars[i].split("="); 24 | querys[pair[0]] = pair[1]; 25 | } 26 | if (Object.keys(querys).length == 0) { 27 | return null; 28 | } else { 29 | return querys; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Scripts/emby/downloadPathRename.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * @Title: download_path_rename.js 4 | * 5 | * @Description: 下载路径重命名 6 | * 7 | * @author: https://t.me/AppleArcade 8 | * 9 | * @version V1.0 10 | * 11 | * @Copyright: 2021 https://t.me/EmbyPublic All rights reserved. 12 | * 13 | */ 14 | 15 | var $util = util(); 16 | 17 | if ($request.url.indexOf("/Videos/") != -1 && $request.method == "GET") { 18 | if ($util.isQuanX) { 19 | $request.path = $request.path.replace(/\/stream\/.+\?mediaSourceId/, "/stream?mediaSourceId"); 20 | $util.done({ path: $request.path, headers: $request.headers }); 21 | } else { 22 | $request.url = $request.url.replace(/\/stream\/.+\?mediaSourceId/, "/stream?mediaSourceId"); 23 | $util.done({ url: $request.url, headers: $request.headers }); 24 | } 25 | } else { 26 | $util.done({}); 27 | } 28 | 29 | function util() { 30 | const isRequest = typeof $request != "undefined"; 31 | const isSurge = typeof $httpClient != "undefined"; 32 | const isQuanX = typeof $task != "undefined"; 33 | const notify = (title, subtitle = "", message = "") => { 34 | if (isQuanX) $notify(title, subtitle, message); 35 | if (isSurge) $notification.post(title, subtitle, message); 36 | }; 37 | const write = (value, key) => { 38 | if (isQuanX) return $prefs.setValueForKey(value, key); 39 | if (isSurge) return $persistentStore.write(value, key); 40 | }; 41 | const read = (key) => { 42 | if (isQuanX) return $prefs.valueForKey(key); 43 | if (isSurge) return $persistentStore.read(key); 44 | }; 45 | const adapterStatus = (response) => { 46 | if (response) { 47 | if (response.status) { 48 | response["statusCode"] = response.status; 49 | } else if (response.statusCode) { 50 | response["status"] = response.statusCode; 51 | } 52 | } 53 | return response; 54 | }; 55 | const get = (options, callback) => { 56 | if (isQuanX) { 57 | if (typeof options == "string") 58 | options = { 59 | url: options, 60 | method: "GET" 61 | }; 62 | $task.fetch(options).then( 63 | (response) => { 64 | callback(null, adapterStatus(response), response.body); 65 | }, 66 | (reason) => callback(reason.error, null, null) 67 | ); 68 | } 69 | if (isSurge) 70 | $httpClient.get(options, (error, response, body) => { 71 | callback(error, adapterStatus(response), body); 72 | }); 73 | }; 74 | const post = (options, callback) => { 75 | if (isQuanX) { 76 | if (typeof options == "string") 77 | options = { 78 | url: options, 79 | method: "POST" 80 | }; 81 | $task.fetch(options).then( 82 | (response) => { 83 | callback(null, adapterStatus(response), response.body); 84 | }, 85 | (reason) => callback(reason.error, null, null) 86 | ); 87 | } 88 | if (isSurge) { 89 | $httpClient.post(options, (error, response, body) => { 90 | callback(error, adapterStatus(response), body); 91 | }); 92 | } 93 | }; 94 | const done = (value = {}) => { 95 | if (isQuanX) return $done(value); 96 | if (isSurge) isRequest ? $done(value) : $done(); 97 | }; 98 | return { 99 | isRequest, 100 | notify, 101 | write, 102 | read, 103 | get, 104 | post, 105 | done, 106 | isQuanX 107 | }; 108 | } 109 | -------------------------------------------------------------------------------- /Scripts/emby/unlock.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * @Title: unlock.js 4 | * 5 | * @Description: 客户端播放权限解锁 6 | * 7 | * @author: https://t.me/AppleArcade 8 | * 9 | * @version V1.0 10 | * 11 | * @Copyright: 2021 https://t.me/EmbyPublic All rights reserved. 12 | * 13 | */ 14 | 15 | var $util = util(); 16 | 17 | if ($request.url.indexOf("mb3admin.com/admin/service/registration/validateDevice") != -1) { 18 | if ($util.status != 200) { 19 | $done({ 20 | status: "HTTP/1.1 200 OK", 21 | headers: $response.headers, 22 | body: '{"cacheExpirationDays":999,"resultCode":"GOOD","message":"Device Valid"}' 23 | }); 24 | } else { 25 | $done({}); 26 | } 27 | } else { 28 | $done({}); 29 | } 30 | 31 | function util() { 32 | const isRequest = typeof $request != "undefined"; 33 | const isSurge = typeof $httpClient != "undefined"; 34 | const isQuanX = typeof $task != "undefined"; 35 | const notify = (title, subtitle = "", message = "") => { 36 | if (isQuanX) $notify(title, subtitle, message); 37 | if (isSurge) $notification.post(title, subtitle, message); 38 | }; 39 | const write = (value, key) => { 40 | if (isQuanX) return $prefs.setValueForKey(value, key); 41 | if (isSurge) return $persistentStore.write(value, key); 42 | }; 43 | const read = (key) => { 44 | if (isQuanX) return $prefs.valueForKey(key); 45 | if (isSurge) return $persistentStore.read(key); 46 | }; 47 | const adapterStatus = (response) => { 48 | if (response) { 49 | if (response.status) { 50 | response["statusCode"] = response.status; 51 | } else if (response.statusCode) { 52 | response["status"] = response.statusCode; 53 | } 54 | } 55 | return response; 56 | }; 57 | const get = (options, callback) => { 58 | if (isQuanX) { 59 | if (typeof options == "string") 60 | options = { 61 | url: options, 62 | method: "GET" 63 | }; 64 | $task.fetch(options).then( 65 | (response) => { 66 | callback(null, adapterStatus(response), response.body); 67 | }, 68 | (reason) => callback(reason.error, null, null) 69 | ); 70 | } 71 | if (isSurge) 72 | $httpClient.get(options, (error, response, body) => { 73 | callback(error, adapterStatus(response), body); 74 | }); 75 | }; 76 | const post = (options, callback) => { 77 | if (isQuanX) { 78 | if (typeof options == "string") 79 | options = { 80 | url: options, 81 | method: "POST" 82 | }; 83 | $task.fetch(options).then( 84 | (response) => { 85 | callback(null, adapterStatus(response), response.body); 86 | }, 87 | (reason) => callback(reason.error, null, null) 88 | ); 89 | } 90 | if (isSurge) { 91 | $httpClient.post(options, (error, response, body) => { 92 | callback(error, adapterStatus(response), body); 93 | }); 94 | } 95 | }; 96 | const done = (value = {}) => { 97 | if (isQuanX) return $done(value); 98 | if (isSurge) isRequest ? $done(value) : $done(); 99 | }; 100 | const status = isQuanX ? $response.statusCode : $response.status; 101 | return { 102 | isRequest, 103 | notify, 104 | write, 105 | read, 106 | get, 107 | post, 108 | done, 109 | status 110 | }; 111 | } 112 | -------------------------------------------------------------------------------- /Scripts/emby/unlock2.js: -------------------------------------------------------------------------------- 1 | /* 2 | 引用地址 https://github.com/qiangxinglin/Emby/blob/main/scripts/emby.js 3 | 2020-12-20 4 | 5 | [rewrite_local] 6 | ^https?:\/\/mb3admin\.com\/admin\/service(\/registration\/validateDevice|\/appstore\/register|\/registration\/validate|\/registration\/getStatus|\/supporter\/retrievekey) url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/Emby/unlock_2.js 7 | 8 | [mitm] 9 | hostname = mb3admin.com 10 | */ 11 | 12 | var url = $request.url; 13 | const myStatus = "HTTP/1.1 200 OK"; 14 | 15 | const myHeaders = { 16 | Crack: "KS", 17 | "Access-Control-Allow-Origin": "*", 18 | "Access-Control-Allow-Headers": "*", 19 | "Access-Control-Allow-Method": "*", 20 | "Access-Control-Allow-Credentials": "true" 21 | }; 22 | 23 | if (url.indexOf("/admin/service/registration/validateDevice") != -1) { 24 | obj = { 25 | cacheExpirationDays: 365, 26 | message: "Device Valid", 27 | resultCode: "GOOD" 28 | }; 29 | } else if (url.indexOf("/admin/service/appstore/register") != -1) { 30 | obj = { 31 | featId: "", 32 | registered: true, 33 | expDate: "2099-01-01", 34 | key: "" 35 | }; 36 | } else if (url.indexOf("/admin/service/registration/validate") != -1) { 37 | obj = { 38 | featId: "", 39 | registered: true, 40 | expDate: "2099-01-01", 41 | key: "" 42 | }; 43 | } else if (url.indexOf("/admin/service/registration/getStatus") != -1) { 44 | obj = { 45 | planType: "Cracked", 46 | deviceStatus: "", 47 | subscriptions: [] 48 | }; 49 | } else if (url.indexOf("/admin/service/supporter/retrievekey") != -1) { 50 | obj = { 51 | Success: false, 52 | ErrorMessage: "Supporter not found" 53 | }; 54 | } 55 | 56 | myData = JSON.stringify(obj); 57 | 58 | const myResponse = { 59 | status: myStatus, 60 | headers: myHeaders, // Optional. 61 | body: myData // Optional. 62 | }; 63 | 64 | var $util = util(); 65 | //$util.notify('Emby Premiere 已激活'); 66 | $util.done(myResponse); 67 | 68 | function util() { 69 | const isRequest = typeof $request != "undefined"; 70 | const isSurge = typeof $httpClient != "undefined"; 71 | const isQuanX = typeof $task != "undefined"; 72 | const notify = (title, subtitle = "", message = "") => { 73 | if (isQuanX) $notify(title, subtitle, message); 74 | if (isSurge) $notification.post(title, subtitle, message); 75 | }; 76 | const write = (value, key) => { 77 | if (isQuanX) return $prefs.setValueForKey(value, key); 78 | if (isSurge) return $persistentStore.write(value, key); 79 | }; 80 | const read = (key) => { 81 | if (isQuanX) return $prefs.valueForKey(key); 82 | if (isSurge) return $persistentStore.read(key); 83 | }; 84 | const adapterStatus = (response) => { 85 | if (response) { 86 | if (response.status) { 87 | response["statusCode"] = response.status; 88 | } else if (response.statusCode) { 89 | response["status"] = response.statusCode; 90 | } 91 | } 92 | return response; 93 | }; 94 | const get = (options, callback) => { 95 | if (isQuanX) { 96 | if (typeof options == "string") 97 | options = { 98 | url: options, 99 | method: "GET" 100 | }; 101 | $task.fetch(options).then( 102 | (response) => { 103 | callback(null, adapterStatus(response), response.body); 104 | }, 105 | (reason) => callback(reason.error, null, null) 106 | ); 107 | } 108 | if (isSurge) 109 | $httpClient.get(options, (error, response, body) => { 110 | callback(error, adapterStatus(response), body); 111 | }); 112 | }; 113 | const post = (options, callback) => { 114 | if (isQuanX) { 115 | if (typeof options == "string") 116 | options = { 117 | url: options, 118 | method: "POST" 119 | }; 120 | $task.fetch(options).then( 121 | (response) => { 122 | callback(null, adapterStatus(response), response.body); 123 | }, 124 | (reason) => callback(reason.error, null, null) 125 | ); 126 | } 127 | if (isSurge) { 128 | $httpClient.post(options, (error, response, body) => { 129 | callback(error, adapterStatus(response), body); 130 | }); 131 | } 132 | }; 133 | const done = (value = {}) => { 134 | if (isQuanX) return $done(value); 135 | if (isSurge) isRequest ? $done(value) : $done(); 136 | }; 137 | return { 138 | isRequest, 139 | notify, 140 | write, 141 | read, 142 | get, 143 | post, 144 | done 145 | }; 146 | } 147 | -------------------------------------------------------------------------------- /Scripts/fenbi.js: -------------------------------------------------------------------------------- 1 | /* 2 | [rewrite_local] 3 | ^https:\/\/tiku\.fenbi\.com\/iphone\/(shenlun|xingce|sqgj)\/banners\/v2?.* url script-response-body https://raw.githubusercontent.com/githubacct001/QuantumultX/secret/Rewrite/Fenbi/fbgk.js 4 | 5 | [mitm] 6 | hostname = tiku.fenbi.com 7 | */ 8 | 9 | let obj = JSON.parse($response.body); 10 | 11 | obj = { 12 | banners: { 13 | total: 0, 14 | datas: [{}] 15 | }, 16 | bannerStringVO: { 17 | redirectType: null, 18 | content: "练习", 19 | endTime: 9223372036854775807, 20 | url: null 21 | } 22 | }; 23 | 24 | $done({ body: JSON.stringify(obj) }); 25 | -------------------------------------------------------------------------------- /Scripts/general/README.md: -------------------------------------------------------------------------------- 1 | # 引用地址 2 | ``` 3 | https://github.com/KOP-XIAO/QuantumultX/blob/master/Scripts/IP_API.js 4 | https://github.com/KOP-XIAO/QuantumultX/blob/master/Scripts/resource-parser.js 5 | https://github.com/KOP-XIAO/QuantumultX/blob/master/Scripts/streaming-ui-check.js 6 | ``` -------------------------------------------------------------------------------- /Scripts/haier.js: -------------------------------------------------------------------------------- 1 | // 2023-01-16 10:28 2 | 3 | if (!$response.body) $done({}); 4 | const url = $request.url; 5 | let obj = JSON.parse($response.body); 6 | 7 | if (url.includes("/omsappapi/resource/v2/get/resourceBag")) { 8 | if (obj.data) { 9 | obj.data.resource.md5 = null; 10 | } 11 | } 12 | 13 | if (url.includes("/resource/confFile/")) { 14 | if (obj.id) { 15 | if (obj.id === 595 && obj.detail) { 16 | let item = obj.detail; 17 | item = item.filter(a => 18 | a.aliasName === "705首页顶部" || 19 | // a.aliasName === "718-天气" 20 | a.aliasName === "版块标题" || 21 | a.aliasName === "图文导航" || 22 | a.aliasName === "705消息通知" 23 | // a.aliasName === "705活动标题" 24 | // a.aliasName === "魔方" 25 | // a.aliasName === "705生活标题" 26 | // a.aliasName === "魔方" 27 | // a.aliasName === "双排瀑布流" 28 | ); 29 | } else if (obj.id === 169 && obj.detail) { 30 | let item = obj.detail[0].na.items; 31 | item = item.filter(b => 32 | b.na.name === "首页" || 33 | b.na.name === "智家" || 34 | b.na.name === "我的" 35 | ); 36 | } 37 | } else if (obj.length === 1) { 38 | let item = obj[0].na.items; 39 | item = item.filter(c => 40 | c.na.name === "首页" || 41 | c.na.name === "智家" || 42 | c.na.name === "我的" 43 | ); 44 | } 45 | } 46 | 47 | body = JSON.stringify(obj); 48 | $done({ body }); 49 | -------------------------------------------------------------------------------- /Scripts/ithome.js: -------------------------------------------------------------------------------- 1 | // 2023-02-11 22:30 2 | 3 | const url = $request.url; 4 | if (!$response.body) $done({}); 5 | let obj = JSON.parse($response.body); 6 | 7 | // appList 8 | if ( 9 | url.includes("/json/listpage/news") || 10 | url.includes("/json/newslist/news") 11 | ) { 12 | if (obj.newslist) { 13 | obj.newslist = obj.newslist.filter((n) => !n.aid); 14 | } 15 | } else if (url.includes("/json/slide/index")) { 16 | // appSlide 17 | const newList = obj.filter((i) => !i.isad); 18 | obj.splice(0, obj.length); 19 | obj.push(...newList); 20 | } else if (url.includes("/api/news/newslistpageget")) { 21 | // mobileWeb 22 | if (obj.Result) { 23 | obj.Result = obj.Result.filter((r) => 24 | r.NewsTips.every((t) => t.TipName !== "广告") 25 | ); 26 | } 27 | } else if ( 28 | url.includes("/api/news/index") || 29 | url.includes("/api/topmenu/getfeeds") 30 | ) { 31 | // newAppFeed 32 | let list = obj.data.list; 33 | const newList = []; 34 | for (const item of list) { 35 | if ( 36 | item.feedContent.smallTags && 37 | item.feedContent.smallTags.some((s) => s.text === "广告") 38 | ) { 39 | continue; 40 | } 41 | if (item.feedContent.focusNewsData) { 42 | const newNewsData = item.feedContent.focusNewsData.filter((n) => !n.isAd); 43 | item.feedContent.focusNewsData = newNewsData; 44 | } 45 | newList.push(item); 46 | } 47 | obj.data.list = newList; 48 | } 49 | 50 | $done({ body: JSON.stringify(obj) }); 51 | -------------------------------------------------------------------------------- /Scripts/limbo/4hu.js: -------------------------------------------------------------------------------- 1 | var _blank = document.querySelectorAll("a"); 2 | var i; 3 | for (i = 0; i < _blank.length; i++) { 4 | _blank[i].target = "_self"; 5 | } 6 | -------------------------------------------------------------------------------- /Scripts/limbo/4huQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_4hu.js 2 | 3 | let Old = ""; 4 | let New = 5 | ''; 6 | let body = $response.body.replace(Old, New); 7 | $done({ body }); 8 | -------------------------------------------------------------------------------- /Scripts/limbo/91porn.js: -------------------------------------------------------------------------------- 1 | var rTitle = document.title; 2 | var rKeyword = "Attention"; 3 | var rKeyword2 = "Cloudflare"; 4 | var rValues = rTitle.search(rKeyword); 5 | var rValues2 = rTitle.search(rKeyword2); 6 | var rFalse = "0"; 7 | if (rValues >= rFalse || rValues2 >= rFalse) { 8 | window.location.reload(); 9 | } 10 | -------------------------------------------------------------------------------- /Scripts/limbo/91pornQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_91porn.js 2 | 3 | let eleOne = ""; 4 | let newStyle = 5 | ''; 6 | var eleTwo = ""; 7 | var newJavaScript = 8 | ''; 9 | let body = $response.body.replace(eleOne, newStyle).replace(eleTwo, newJavaScript); 10 | $done({ body }); 11 | -------------------------------------------------------------------------------- /Scripts/limbo/Adblock4limbo.function.js: -------------------------------------------------------------------------------- 1 | // 各种 function 的集合 2 | // 获取M3U8文件资源链接 3 | 4 | const repeat_regex = ["https:?//.*?hls.*?.m3u8", "https:?//.*?phncdn.*?hls.*?.m3u8"]; 5 | 6 | function m3u8_tempt(x) { 7 | var i, url_result; 8 | var url_regex = new RegExp(x, "gi"); 9 | const ele = ["script", "a"]; 10 | const ele_catch = document.querySelectorAll(ele); 11 | for (i = 0; i < ele_catch.length; i++) { 12 | while ((url_result = url_regex.exec(ele_catch[i].innerHTML)) != null) { 13 | // console.log("Catch it"); 14 | alert(url_result); 15 | } 16 | } 17 | } 18 | 19 | /* 循环播放 */ 20 | function video_loopPlay() { 21 | setInterval(function () { 22 | var ele = ["video[preload='none'],video#player"]; 23 | var ele_catch = document.querySelector(ele); 24 | if (ele_catch) { 25 | ele_catch.play(); 26 | // console.log("视频已开启循环播放;"); 27 | } 28 | }, 1000); 29 | } 30 | 31 | /* 延后播放 */ 32 | function video_delayPlay(time) { 33 | setTimeout(function () { 34 | var ele = ["video[preload='none'],video#player"]; 35 | var ele_catch = document.querySelector(ele); 36 | if (ele_catch) { 37 | ele_catch.play(); 38 | // console.log("视频已延后播放;"); 39 | } 40 | }, time); 41 | } 42 | -------------------------------------------------------------------------------- /Scripts/limbo/Adblock4limboQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/Adblock4limbo.js 2 | 3 | let ele = ""; 4 | let eleReplace = 5 | ''; 6 | let body = $response.body.replace(ele, eleReplace); 7 | $done({ body }); 8 | -------------------------------------------------------------------------------- /Scripts/limbo/README.md: -------------------------------------------------------------------------------- 1 | 缺失javbus.js 2 | 缺失tvn.css、tvn.js 3 | 缺失baidu.js 4 | -------------------------------------------------------------------------------- /Scripts/limbo/avple.js: -------------------------------------------------------------------------------- 1 | function current() { 2 | var d = new Date(), 3 | ear = d.getFullYear(); 4 | onth = d.getMonth(); 5 | atex = d.getDate(); 6 | if (d.getHours() < 10) { 7 | ours = "0" + d.getHours(); 8 | } else { 9 | ours = d.getHours(); 10 | } 11 | inutes = d.getMinutes(); 12 | return ear + "-" + onth + "-" + atex + "%2" + ours + "%3A" + inutes + "%3A" + "01"; 13 | } 14 | let strx = "CFWztgFirstShowTime_2899_Cookie = "; 15 | let timex = current(); 16 | let total = strx + timex; 17 | document.cookie = total; 18 | var rTitle = document.title; 19 | var rKeyword = "Attention"; 20 | var rKeyword2 = "Cloudflare"; 21 | var rValues = rTitle.search(rKeyword); 22 | var rValues2 = rTitle.search(rKeyword2); 23 | var rFalse = "0"; 24 | if (rValues >= rFalse || rValues2 >= rFalse) { 25 | window.location.reload(); 26 | } 27 | -------------------------------------------------------------------------------- /Scripts/limbo/avpleQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_avple.js 2 | 3 | let rHead = ""; 4 | let newStyle = 5 | ''; 6 | let rBody = ""; 7 | let newJavaScript = 8 | ''; 9 | let body = $response.body.replace(rHead, newStyle).replace(rBody, newJavaScript); 10 | $done({ body }); 11 | -------------------------------------------------------------------------------- /Scripts/limbo/baidu.index.js: -------------------------------------------------------------------------------- 1 | var str = document.getElementById("respect-footer").innerHTML; 2 | var regx = /https?:\/\/.*?itunes.*?\?mt=8/g; 3 | var strreplace = str.replace(regx, "https://zhihu.baidu.com"); 4 | document.getElementById("respect-footer").innerHTML = strreplace; 5 | var x = "Powered by limbopro"; 6 | document.getElementById("bottom").innerHTML = x; 7 | -------------------------------------------------------------------------------- /Scripts/limbo/baidu.indexQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_baidu.index.js 2 | 3 | /* 4 | let Oldone = '' 5 | let Newone = '.ec_ad_results{display:none!important}'; 6 | let body = $response.body 7 | .replace(Oldone, Newone); 8 | $done({body}); 9 | */ 10 | 11 | let rHead = ""; 12 | let newStyle = 13 | ''; 14 | var rBody = ""; 15 | var newJavaScript = 16 | ''; 17 | let body = $response.body.replace(rHead, newStyle).replace(rBody, newJavaScript); 18 | $done({ body }); 19 | -------------------------------------------------------------------------------- /Scripts/limbo/baidu.zhidao.js: -------------------------------------------------------------------------------- 1 | var _blank = document.querySelectorAll("a"); 2 | var i; 3 | for (i = 0; i < _blank.length; i++) { 4 | _blank[i].target = "_self"; 5 | } 6 | var str = document.getElementById("respect-footer").innerHTML; 7 | var regx = /https?:\/\/.*?itunes.*?\?mt=8/g; 8 | var strreplace = str.replace(regx, "https://www.zhihu.com"); 9 | document.getElementById("respect-footer").innerHTML = strreplace; 10 | -------------------------------------------------------------------------------- /Scripts/limbo/baidu.zhidaoQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_baidu.zhidao.js 2 | 3 | /* 4 | let Oldone = '' 5 | let Newone = '.ec_ad_results{display:none!important}'; 6 | let body = $response.body 7 | .replace(Oldone, Newone); 8 | $done({body}); 9 | */ 10 | 11 | let rHead = ""; 12 | let newStyle = 13 | ''; 14 | var rBody = ""; 15 | var newJavaScript = 16 | ''; 17 | let body = $response.body.replace(rHead, newStyle).replace(rBody, newJavaScript); 18 | $done({ body }); 19 | -------------------------------------------------------------------------------- /Scripts/limbo/baiduQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_baidu.js 2 | 3 | /* 4 | let Oldone = '' 5 | let Newone = '.ec_ad_results{display:none!important}'; 6 | let body = $response.body 7 | .replace(Oldone, Newone); 8 | $done({body}); 9 | */ 10 | 11 | let rHead = ""; 12 | let newStyle = 13 | ''; 14 | var rBody = ""; 15 | var newJavaScript = 16 | ''; 17 | let body = $response.body.replace(rHead, newStyle).replace(rBody, newJavaScript); 18 | $done({ body }); 19 | -------------------------------------------------------------------------------- /Scripts/limbo/contentFarmQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/contentFarm/surge_contentFarm_qx.js 2 | 3 | let rHead = ""; 4 | let newStyle = 5 | ''; 6 | let rBody = ""; 7 | let newJavaScript = 8 | ''; 9 | let body = $response.body.replace(rHead, newStyle).replace(rBody, newJavaScript); 10 | $done({ body }); 11 | -------------------------------------------------------------------------------- /Scripts/limbo/dubokuQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_duboku.js 2 | 3 | let Old = ""; 4 | let New = 5 | ''; 6 | let body = $response.body.replace(Old, New); 7 | $done({ body }); 8 | -------------------------------------------------------------------------------- /Scripts/limbo/gimytv.js: -------------------------------------------------------------------------------- 1 | var gimy = document.querySelectorAll("div.stui-pannel.clearfix"); 2 | gimy[1].style.display = "none"; 3 | gimy[3].style.display = "none"; 4 | -------------------------------------------------------------------------------- /Scripts/limbo/gimytvQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_gimy.js 2 | 3 | let Old = ""; 4 | let New = 5 | ''; 6 | let body = $response.body.replace(Old, New); 7 | $done({ body }); 8 | -------------------------------------------------------------------------------- /Scripts/limbo/javbusQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_javbus.js 2 | 3 | var Oldone = ""; 4 | var Newone = 5 | ''; 6 | let body = $response.body.replace(Oldone, Newone); 7 | $done({ body }); 8 | -------------------------------------------------------------------------------- /Scripts/limbo/javmost.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var magic = 3 | String.fromCharCode((Date.now() % 26) + 97) + 4 | Math.floor(Math.random() * 982451653 + 982451653).toString(36); 5 | var prop = "{{1}}", 6 | owner = window, 7 | pos; 8 | for (;;) { 9 | pos = prop.indexOf("."); 10 | if (pos === -1) { 11 | break; 12 | } 13 | owner = owner[prop.slice(0, pos)]; 14 | if (owner instanceof Object === false) { 15 | return; 16 | } 17 | prop = prop.slice(pos + 1); 18 | } 19 | delete owner[prop]; 20 | Object.defineProperty(owner, prop, { 21 | set: function () { 22 | throw new ReferenceError(magic); 23 | } 24 | }); 25 | var oe = window.onerror; 26 | window.onerror = function (msg, src, line, col, error) { 27 | if (typeof msg === "string" && msg.indexOf(magic) !== -1) { 28 | return true; 29 | } 30 | if (oe instanceof Function) { 31 | return oe(msg, src, line, col, error); 32 | } 33 | }.bind(); 34 | })(); 35 | -------------------------------------------------------------------------------- /Scripts/limbo/javmostQX.js: -------------------------------------------------------------------------------- 1 | // 引用地址 https://github.com/limbopro/Adblock4limbo/blob/main/Adguard/surge_javmost.js 2 | 3 | let regex_1 = ""; 4 | let body_1 = 5 | '<link rel="stylesheet" href="https://gitlab.com/RuCu6/QuanX/-/raw/main/Css/javmost.css" type="text/css"><script type="text/javascript" async="async" src="https://gitlab.com/RuCu6/QuanX/-/raw/main/Scripts/limbo/javmost.js"></script><title>'; 6 | let body = $response.body.replace(regex_1, body_1); 7 | $done({ body }); 8 | -------------------------------------------------------------------------------- /Scripts/myBlockAds.js: -------------------------------------------------------------------------------- 1 | // 2023-03-11 09:50 2 | 3 | if (!$response.body) $done({}); 4 | const url = $request.url; 5 | var body = $response.body; 6 | 7 | function getCube(p) { 8 | if (/^https:\/\/capis(-?\w*)?\.didapinche\.com\/ad\/cx\/startup\?/.test(p)) { 9 | return "嘀嗒出行-开屏广告"; 10 | } 11 | if (/^https:\/\/cmsapi\.dmall\.com\/app\/home\/homepageStartUpPic/.test(p)) { 12 | return "多点-开屏广告"; 13 | } 14 | if (/^https:\/\/(jdforrepam|api\.huikaiju)\.com\/api\/v1\/startup\?/.test(p)) { 15 | return "JavDB"; 16 | } 17 | if (/^https:\/\/api\.m\.jd\.com\/client\.action\?functionId=start/.test(p)) { 18 | return "京东-开屏广告"; 19 | } 20 | if (/^https:\/\/mi\.gdt\.qq\.com\/gdt_mview\.fcg/.test(p)) { 21 | return "联享家-开屏广告"; 22 | } 23 | if (/^https:\/\/hd\.mina\.mi\.com\/splashscreen\/alert/.test(p)) { 24 | return "小爱音箱-开屏广告"; 25 | } 26 | if (/^https:\/\/api\.m\.mi\.com\/v1\/app\/start$/.test(p)) { 27 | return "小米商城-开屏广告"; 28 | } 29 | } 30 | 31 | switch (getCube(url)) { 32 | case "嘀嗒出行-开屏广告": 33 | try { 34 | let obj = JSON.parse(body); 35 | if (obj.hasOwnProperty("startupPages") == true) { 36 | obj.show_time = 1; 37 | obj.full_screen = 0; 38 | let startupPages = []; 39 | obj.startupPages.forEach((element) => { 40 | element["width"] = 1; 41 | element["height"] = 1; 42 | element["page_url"] = "#"; 43 | startupPages.push(element); 44 | }); 45 | obj.startupPages = startupPages; 46 | } 47 | body = JSON.stringify(obj); 48 | } catch (error) { 49 | console.log(`嘀嗒出行-开屏广告, 出现异常: ` + error); 50 | } 51 | break; 52 | case "多点-开屏广告": 53 | try { 54 | let obj = JSON.parse(body); 55 | for (let i = 0; i < obj["data"]["welcomePage"].length; i++) { 56 | obj["data"]["welcomePage"][i]["onlineTime"] = 2208960000000; 57 | obj["data"]["welcomePage"][i]["offlineTime"] = 2209046399000; 58 | } 59 | body = JSON.stringify(obj); 60 | } catch (error) { 61 | console.log(`多点-开屏广告, 出现异常: ` + error); 62 | } 63 | break; 64 | case "JavDB": 65 | try { 66 | let obj = JSON.parse(body); 67 | if (obj.data.splash_ad) { 68 | obj.data.splash_ad.enabled = false; 69 | obj.data.splash_ad.overtime = 0; 70 | } 71 | body = JSON.stringify(obj); 72 | } catch (error) { 73 | console.log(`JavDB, 出现异常: ` + error); 74 | } 75 | break; 76 | case "京东-开屏广告": 77 | try { 78 | let obj = JSON.parse(body); 79 | for (let i = 0; i < obj.images.length; i++) { 80 | for (let j = 0; j < obj.images[i].length; j++) { 81 | if (obj.images[i][j].showTimes) { 82 | obj.images[i][j].showTimes = 0; 83 | obj.images[i][j].onlineTime = "2040-01-01 00:00:00"; 84 | obj.images[i][j].referralsTime = "2040-01-01 23:59:59"; 85 | obj.images[i][j].time = 0; 86 | } 87 | } 88 | } 89 | obj.countdown = 100; 90 | obj.showTimesDaily = 0; 91 | body = JSON.stringify(obj); 92 | } catch (error) { 93 | console.log(`京东-开屏广告, 出现异常: ` + error); 94 | } 95 | break; 96 | case "联享家-开屏广告": 97 | try { 98 | let obj = JSON.parse(body); 99 | obj.seq = "0"; 100 | obj.reqinterval = 0; 101 | delete obj.last_ads; 102 | delete obj.data; 103 | body = JSON.stringify(obj); 104 | } catch (error) { 105 | console.log(`联享家-开屏广告, 出现异常: ` + error); 106 | } 107 | break; 108 | case "小爱音箱-开屏广告": 109 | try { 110 | let obj = JSON.parse(body); 111 | let data = []; 112 | for (let i = 0; i < obj.data.length; i++) { 113 | let ad = obj.data[i]; 114 | ad.start = "2208960000000"; 115 | ad.end = "2209046399000"; 116 | ad.stay = 1; 117 | ad.maxTimes = 1; 118 | data.push(ad); 119 | } 120 | obj.data = data; 121 | body = JSON.stringify(obj); 122 | } catch (error) { 123 | console.log(`小爱音箱-开屏广告, 出现异常: ` + error); 124 | } 125 | break; 126 | case "小米商城-开屏广告": 127 | try { 128 | let obj = JSON.parse(body); 129 | obj.code = 0; 130 | obj.data.skip_splash = true; 131 | delete obj.data.splash; 132 | obj.info = "ok"; 133 | obj.desc = "成功"; 134 | body = JSON.stringify(obj); 135 | } catch (error) { 136 | console.log(`小米商城-开屏广告, 出现异常: ` + error); 137 | } 138 | break; 139 | default: 140 | break; 141 | } 142 | 143 | $done({ body }); 144 | -------------------------------------------------------------------------------- /Scripts/noRedirect.js: -------------------------------------------------------------------------------- 1 | /* 2 | Skip the redirect page. 3 | 4 | Quantumult X: 5 | [rewrite_local] 6 | # 简书 7 | ^https:\/\/links\.jianshu\.com\/go\?to= url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 8 | ^https:\/\/www\.jianshu\.com\/go-wild\?ac=\d&url= url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 9 | # 知乎 10 | ^https:\/\/link\.zhihu\.com\/\?target=(https?)?(%3A|:)?(\/\/|%2F%2F)?(.*?)(&source.*)?$ url 302 http://$4 11 | # ^https:\/\/link\.zhihu\.com\/\?target= url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 12 | # 微博 13 | ^https?:\/\/weibo\.cn\/sinaurl\?(.*&)?(u|toasturl|goto)= url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 14 | ^https:\/\/shop\.sc\.weibo\.com\/h5\/jump\/error\?(.*&)?url= url script-echo-response https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 15 | ^https?:\/\/(sinaurl|t)\.cn\/ url script-response-header https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 16 | 17 | Surge: 18 | [URL Rewrite] 19 | ^https:\/\/link\.zhihu\.com\/\?target=(https?)?(%3A|:)?(\/\/|%2F%2F)?(.*?)(&source.*)?$ http://$4 302 20 | 21 | [Script] 22 | # 简书 23 | Jianshu_no_redirect = type=http-request,pattern=^https:\/\/links\.jianshu\.com\/go\?to=,script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 24 | Jianshu_no_redirect2 = type=http-request,pattern=^https:\/\/www\.jianshu\.com\/go-wild\?ac=\d&url=,script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 25 | # 知乎 26 | # Zhihu_no_redirect = type=http-request,pattern=^https:\/\/link\.zhihu\.com\/\?target=,script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 27 | # 微博 28 | Weibo_no_redirect = type=http-request,pattern=^https?:\/\/weibo\.cn\/sinaurl\?(.*&)?(u|toasturl|goto)=,script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 29 | Weibo_no_redircet2 = type=http-request,pattern=^https:\/\/shop\.sc\.weibo\.com\/h5\/jump\/error\?(.*&)?url=(.*),script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 30 | Weibo_no_redirect3 = type=http-response,pattern=^https?:\/\/(sinaurl|t)\.cn\/,script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/no_redirect.js 31 | 32 | [mitm] 33 | hostname = links.jianshu.com, www.jianshu.com, link.zhihu.com, weibo.cn, t.cn, sinaurl.cn, shop.sc.weibo.com 34 | */ 35 | 36 | const jianshur = /https:\/\/links\.jianshu\.com\/go\?to=(.*)/; 37 | const jianshur2 = /https:\/\/www\.jianshu\.com\/go-wild\?ac=\d&url=(.*)/; 38 | const zhihur = /https:\/\/link\.zhihu\.com\/\?target=(.*)/; 39 | const weibor = /https?:\/\/weibo\.cn\/sinaurl\?(.*&)?(u|toasturl|goto)=(.*?)(&.*)?$/; 40 | const weibor2 = /https:\/\/shop\.sc\.weibo\.com\/h5\/jump\/error\?(.*&)?url=(.*)/; 41 | 42 | const oldurl = $request.url; 43 | let newurl = ""; 44 | if (oldurl.indexOf("links.jianshu.com/go") !== -1) { 45 | newurl = decodeURIComponent(jianshur.exec(oldurl)[1]); 46 | } else if (oldurl.indexOf("www.jianshu.com/go") !== -1) { 47 | newurl = decodeURIComponent(jianshur2.exec(oldurl)[1]); 48 | } else if (oldurl.indexOf("link.zhihu.com/?target") !== -1) { 49 | newurl = decodeURIComponent(zhihur.exec(oldurl)[1].replace(/&source=.*/, "")); 50 | } else if (oldurl.indexOf("weibo.cn/sinaurl") !== -1) { 51 | newurl = decodeURIComponent(weibor.exec(oldurl)[3]); 52 | } else if (oldurl.indexOf("shop.sc.weibo.com/h5/jump/error") !== -1) { 53 | newurl = decodeURIComponent(weibor2.exec(oldurl)[2]); 54 | } else if (oldurl.indexOf("sinaurl.cn") !== -1 || oldurl.indexOf("t.cn") !== -1) { 55 | let headers = $response.headers; 56 | newurl = headers.Location; 57 | } 58 | 59 | newurl = newurl.indexOf("http") == 0 ? newurl : "http://" + newurl; 60 | const isQuanX = typeof $notify != "undefined"; 61 | const newstatus = isQuanX ? "HTTP/1.1 302 Temporary Redirect" : 302; 62 | 63 | const noredirect = { 64 | status: newstatus, 65 | headers: { Location: newurl } 66 | }; 67 | 68 | let resp = isQuanX ? noredirect : { response: noredirect }; 69 | resp = typeof $response != "undefined" ? noredirect : resp; 70 | 71 | $done(resp); 72 | -------------------------------------------------------------------------------- /Scripts/qx2surge.js: -------------------------------------------------------------------------------- 1 | /* 2 | #!name = QX格式转化 3 | #!desc = 使用方法在链接最后面加上qx 4 | 5 | [Script] 6 | QX转换 = type=http-request,pattern=qx$,requires-body=1,max-size=0,script-path=qx2surge.js 7 | 8 | [MITM] 9 | hostname = %APPEND% github.com:443, raw.githubusercontent.com:443 10 | 11 | "http-response" && requires-body=1" type = "script-response-body" 12 | "http-response" type = "script-response-header" 13 | "http-request" && requires-body=1 type = "script-request-body" 14 | "http-request" type = "script-request-header" 15 | */ 16 | 17 | let req = $request.url.replace(/qx$/, ""); 18 | let newName = "#!name= " + req.match(/.+\/(.+)\.(conf|js)/)?.[1] || "无名"; 19 | !(async () => { 20 | let body = await http(req); 21 | 22 | body = body.match(/[^\n]+/g); 23 | 24 | let script = []; 25 | let URLRewrite = []; 26 | let HeaderRewrite = []; 27 | let MapLocal = []; 28 | let MITM = ""; 29 | 30 | body.forEach((x, y, z) => { 31 | let type = x.match( 32 | /script-|enabled=|reject|echo-response|\-header|hostname|url\s(302|307)|\s(request|response)-body/ 33 | )?.[0]; 34 | if (type) { 35 | switch (type) { 36 | case "script-": 37 | if (x.match("echo")) { 38 | throw "脚本不支持通用"; 39 | } 40 | z[y - 1]?.match("#") && script.push(z[y - 1]); 41 | let proto = x.match("proto.js") ? ",binary-body-mode=1" : ""; 42 | script.push( 43 | x.replace( 44 | /(\^?http[^\s]+)\surl\sscript-(response|request)[^\s]+\s(http.+\/(.+)\.js)/, 45 | `$4 = type=http-$2,pattern=$1,requires-body=1${proto},max-size=0,script-path=$3,script-update-interval=-1` 46 | ) 47 | ); 48 | break; 49 | 50 | case "enabled=": 51 | z[y - 1]?.match("#") && script.push(z[y - 1]); 52 | script.push( 53 | x.replace( 54 | /(.+\*)\s([^\,]+).+?\=([^\,]+).+/, 55 | `$3 = type=cron,script-path=$2,timeout=60,cronexp=$1,wake-system=1` 56 | ) 57 | ); 58 | break; 59 | 60 | case "reject": 61 | let jct = x.match(/reject?[^\s]+/)[0]; 62 | let url = x.match(/\^?http[^\s]+/)?.[0]; 63 | 64 | if (jct === "reject-200") { 65 | z[y - 1]?.match("#") && MapLocal.push(z[y - 1]); 66 | MapLocal.push( 67 | `${url} data="https://raw.githubusercontent.com/mieqq/mieqq/master/reject-200.txt"` 68 | ); 69 | break; 70 | } 71 | 72 | if (jct === "reject-img") { 73 | z[y - 1]?.match("#") && MapLocal.push(z[y - 1]); 74 | MapLocal.push( 75 | `${url} data="https://raw.githubusercontent.com/mieqq/mieqq/master/reject-img.gif"` 76 | ); 77 | break; 78 | } 79 | 80 | z[y - 1]?.match("#") && URLRewrite.push(z[y - 1]); 81 | URLRewrite.push(x.replace(/(\^?http[^\s]+).+/, "$1 - reject")); 82 | break; 83 | 84 | case "-header": 85 | if (x.match(/\(\\r\\n\)/g).length === 2) { 86 | z[y - 1]?.match("#") && HeaderRewrite.push(z[y - 1]); 87 | let op = x.match(/\sresponse-header/) ? "http-response " : ""; 88 | if (x.match(/\$1\$2/)) { 89 | HeaderRewrite.push( 90 | x.replace(/(\^?http[^\s]+).+?n\)([^\:]+).+/, `${op}$1 header-del $2`) 91 | ); 92 | } else { 93 | HeaderRewrite.push( 94 | x.replace( 95 | /(\^?http[^\s]+)[^\)]+\)([^:]+):([^\(]+).+\$1\s?\2?\:?([^\$]+)?\$2/, 96 | `${op}$1 header-replace-regex $2 $3 $4''` 97 | ) 98 | ); 99 | } 100 | } else { 101 | $notification.post("不支持这条规则转换,已跳过", "", `${x}`); 102 | } 103 | break; 104 | 105 | case "echo-response": 106 | z[y - 1]?.match("#") && MapLocal.push(z[y - 1]); 107 | MapLocal.push(x.replace(/(\^?http[^\s]+).+(http.+)/, '$1 data="$2"')); 108 | break; 109 | case "hostname": 110 | MITM = x.replace(/hostname\s?=(.*)/, `[MITM]\nhostname = %APPEND% $1`); 111 | break; 112 | default: 113 | if (type.match("url ")) { 114 | z[y - 1]?.match("#") && URLRewrite.push(z[y - 1]); 115 | URLRewrite.push(x.replace(/(\^?http[^\s]+).+(302|307).+(http.+)/, "$1 $3 $2")); 116 | } else { 117 | z[y - 1]?.match("#") && script.push(z[y - 1]); 118 | script.push( 119 | x.replace( 120 | /([^\s]+)\surl\s(response|request)-body\s(.+)\2-body(.+)/, 121 | `test = type=$2,pattern=$1,requires-body=1,script-path=https://raw.githubusercontent.com/mieqq/mieqq/master/replace-body.js, argument=$3->$4` 122 | ) 123 | ); 124 | } 125 | } //switch结束 126 | } 127 | }); //循环结束 128 | 129 | script = (script[0] || "") && `[Script]\n${script.join("\n")}`; 130 | 131 | URLRewrite = (URLRewrite[0] || "") && `[URL Rewrite]\n${URLRewrite.join("\n")}`; 132 | 133 | HeaderRewrite = (HeaderRewrite[0] || "") && `[Header Rewrite]\n${HeaderRewrite.join("\n")}`; 134 | 135 | MapLocal = (MapLocal[0] || "") && `[MapLocal]\n${MapLocal.join("\n")}`; 136 | 137 | body = `${newName} 138 | 139 | ${script} 140 | ${URLRewrite} 141 | ${HeaderRewrite} 142 | ${MapLocal} 143 | ${MITM}`.replace(/\;/g, "#"); 144 | 145 | $done({ response: { status: 200, body: body } }); 146 | })().catch((e) => { 147 | $notification.post(`${e}`, "", ""); 148 | $done(); 149 | }); 150 | 151 | function http(req) { 152 | return new Promise((resolve, reject) => 153 | $httpClient.get(req, (err, resp, data) => { 154 | resolve(data); 155 | }) 156 | ); 157 | } 158 | -------------------------------------------------------------------------------- /Scripts/qxEnv.js: -------------------------------------------------------------------------------- 1 | $request; 2 | $response; 3 | $notify(title, subtitle, message); 4 | console.log(message); 5 | 6 | $request.scheme = []; 7 | $request.method = []; 8 | $request.url = []; 9 | $request.path = []; 10 | $request.headers = []; 11 | $response.statusCode = [ 12 | "HTTP/1.1 200 OK", 13 | "HTTP/1.1 204 No Content", 14 | "HTTP/1.1 301 Moved Permanently", 15 | "HTTP/1.1 302 Found", 16 | "HTTP/1.1 404 Not Found", 17 | "HTTP/1.1 408 Request Timeout" 18 | ]; 19 | $response.headers = []; 20 | 21 | $done(); 22 | $done(body); 23 | $done({ body: modifiedBody, path: modifiedPath, headers: modifiedHeaders, status: modifiedStatus }); 24 | -------------------------------------------------------------------------------- /Scripts/smzdm.js: -------------------------------------------------------------------------------- 1 | // 2023-02-11 22:30 2 | 3 | const url = $request.url; 4 | if (!$response.body) $done({}); 5 | let obj = JSON.parse($response.body); 6 | 7 | if (obj.data) { 8 | // 什么值得买-开屏广告 9 | if (url.includes("app-api.smzdm.com/util/loading")) { 10 | obj.data.forEach((element) => { 11 | element.start_date = "2040-01-01 00:00:00"; 12 | element.end_date = "2040-01-01 23:59:59"; 13 | element.unix_start_date = "2208960000"; // 什么值得买 Unix 时间戳 2040-01-01 00:00:00 14 | element.unix_end_date = "2209046399"; // 什么值得买 Unix 时间戳 2040-01-01 23:59:59 15 | element.is_show_ad = "0"; 16 | }); 17 | } else if (url.includes("baike-api.smzdm.com/home_v3/list")) { 18 | // 什么值得买-百科广告 19 | obj.data.rows = obj.data.rows.filter( 20 | (element) => 21 | !element.hasOwnProperty("ad_banner_id") || element.ad_banner_id === "" 22 | ); 23 | } else if (url.includes("haojia-api.smzdm.com/home/list")) { 24 | // 什么值得买-好价广告 25 | let bigBanner = obj.data.banner.big_banner.filter( 26 | (element) => element.ad_banner_id === "" 27 | ); 28 | obj.data.banner.big_banner = bigBanner; 29 | let rows = obj.data.rows.filter( 30 | (element) => !element.hasOwnProperty("ad_banner_id") 31 | ); 32 | // 什么值得买 红包相关 33 | obj.data.banner.hongbao_banner = []; 34 | obj.data.banner.module_banner.hongbao = {}; 35 | // 什么值得买 不显示皮肤 36 | // 什么值得买 obj.data.banner.skin = {}; 37 | obj.data.rows = rows; 38 | } else if (url.includes("/detail_modul/article_releated_modul")) { 39 | // 什么值得买-好价详情页广告 40 | obj.data.lanmu_qikan = {}; 41 | } else if (url.includes("homepage-api.smzdm.com/v3/home")) { 42 | // 什么值得买-首页广告 43 | let component = []; 44 | obj.data.component.forEach((element) => { 45 | if (element.zz_type === "banner") { 46 | let bannerList = element.zz_content.filter( 47 | (banner) => banner.tag !== "广告" 48 | ); 49 | element.zz_content = bannerList; 50 | // 什么值得买 去除信息流中的广告 51 | } else if (element.zz_type === "list") { 52 | let contentList = element.zz_content.filter( 53 | (content) => content.zz_content.model_type !== "ads" 54 | ); 55 | element.zz_content = contentList; 56 | // 什么值得买 去除首页背景颜色 57 | } else if (element.zz_type === "circular_banner") { 58 | element.zz_content.circular_banner_option.background = "1"; 59 | element.zz_content.circular_banner_option.color_card = "#ffffff"; 60 | element.zz_content.circular_banner_option.img = ""; 61 | } 62 | // 什么值得买 最顶部的banner和红包不显示 63 | if (element.zz_type !== "top_banner" && element.zz_type !== "hongbao") { 64 | component.push(element); 65 | } 66 | }); 67 | obj.data.component = component; 68 | } else if (url.includes("s-api.smzdm.com/sou/filter/tags/hot_tags")) { 69 | // 什么值得买-搜索标签广告 70 | obj.data.hongbao = {}; 71 | } else if (url.includes("s-api.smzdm.com/sou/list_v10")) { 72 | // 什么值得买-搜索结果广告 73 | obj.data.rows = obj.data.rows.filter( 74 | (element) => element.article_tag !== "广告" 75 | ); 76 | } else if (url.includes("/user/vip/ajax_get_banner")) { 77 | // 什么值得买-会员权益中心banner广告 78 | obj.data.big_banner = obj.data.big_banner.filter( 79 | (element) => element.logo_title !== "广告" 80 | ); 81 | } 82 | } 83 | 84 | $done({ body: JSON.stringify(obj) }); 85 | -------------------------------------------------------------------------------- /Scripts/webpage/18comic.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | /<head>/, 7 | '<head><link rel="stylesheet" href="https://gitlab.com/RuCu6/QuanX/-/raw/main/Css/18comic.css" type="text/css">' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/555.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | /<head>/, 7 | '<head><link rel="stylesheet" href="https://gitlab.com/RuCu6/QuanX/-/raw/main/Css/555.css" type="text/css">' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/README.md: -------------------------------------------------------------------------------- 1 | # 引用地址 2 | ``` 3 | https://github.com/ddgksf2013/Cuttlefish/tree/master/Html/JS 4 | ``` 5 | 仅做示例使用,不保证日后更新。 6 | 7 | 完整应用请参阅:https://github.com/limbopro/Adblock4limbo 8 | 9 | ## 如何提取 Adguard 的JavaScript文件 10 | Adguard For Mac/Windows 用户往下看,且以 https://www.nfmovies.com/ 举例; 11 | 12 | 1.谷歌浏览器打开 https://www.nfmovies.com/ ,右键选择`显示网页源代码`(当然也可以在开发者工具内查看),可看到如下HTML文档; 13 | 14 | ``` 15 | <!DOCTYPE html> 16 | <html> 17 | <head> 18 | <meta name="baidu-site-verification" content="CncDigBQlx" /> 19 | <title>奈菲影视-永久免费的福利超清影视站,没有套路,完全免费! - 最新电视剧,最新电影 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | ... 30 | ``` 31 | 32 | 2.找到以 injections.adguard.org 开头的两个 js 文件 URL; 33 | 34 | ``` 35 | 36 | 37 | ``` 38 | 39 | 3.分别打开两个URL,并复制其内容,依次命名为 `nfmovies.js` 和 `user-script.js`; 40 | 41 | ``` 42 | raw.githubusercontent.com/limbopro/Adblock4limbo/main/Adguard/nfmovies.js 43 | raw.githubusercontent.com/limbopro/Adblock4limbo/main/Adguard/user-script.js 44 | ``` 45 | 46 | ## 制作QuantumultX Adguard.conf 文件(重写引用) 47 | 48 | ``` 49 | hostname = www.nfmovies.com 50 | 51 | #www.nfmovies.com adsblock 52 | ^https:?/\/www.nfmovies.com.* url response-body response-body 53 | ``` 54 | 55 | ## 引用Adguard.conf 56 | 57 | 1.打开 Quantumult X - 点击右下角三菱按钮 - 找到 重写 - 点击 引用 ,粘贴以下 URL; 58 | 59 | https://raw.githubusercontent.com/limbopro/Adblock4limbo/main/Adguard/Adguard.conf 60 | 61 | 2.开启重写按钮/MITM按钮,配置下证书,食用; 62 | 63 | 3.去广告效果参考:https://t.me/limboprossr/2222 64 | 65 | 以上。 66 | -------------------------------------------------------------------------------- /Scripts/webpage/baidu-index.js: -------------------------------------------------------------------------------- 1 | let rHead = ""; 2 | let newStyle = 3 | ""; 4 | let body = $response.body.replace(rHead, newStyle); 5 | $done({ body }); 6 | -------------------------------------------------------------------------------- /Scripts/webpage/baidu-zhidao.js: -------------------------------------------------------------------------------- 1 | let rHead = ""; 2 | let newStyle = 3 | ""; 4 | let body = $response.body.replace(rHead, newStyle); 5 | $done({ body }); 6 | -------------------------------------------------------------------------------- /Scripts/webpage/baidu.js: -------------------------------------------------------------------------------- 1 | let rHead = ""; 2 | let newStyle = 3 | ""; 4 | let body = $response.body.replace(rHead, newStyle); 5 | $done({ body }); 6 | -------------------------------------------------------------------------------- /Scripts/webpage/bdys.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/bimi.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/cokemv.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/cupbox.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-06-07 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/ddrk.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/gimytv.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/lezhu.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body 6 | .replace( 7 | //, 8 | '' 9 | ) 10 | .replace(/jquerys.js\?v/g, "ddgksf2013.js?v"); 11 | $done({ body }); 12 | -------------------------------------------------------------------------------- /Scripts/webpage/libvio.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/pornhub.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/qianoo.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/tkys.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body.replace( 6 | //, 7 | '' 8 | ); 9 | $done({ body }); 10 | -------------------------------------------------------------------------------- /Scripts/webpage/zhenbuka.js: -------------------------------------------------------------------------------- 1 | /* 2 | 2022-05-28 3 | */ 4 | 5 | var body = $response.body 6 | .replace( 7 | //, 8 | '' 9 | ) 10 | .replace(/'6572'/g, "'6578'"); 11 | $done({ body }); 12 | -------------------------------------------------------------------------------- /Scripts/wechat/wechatAutoRead.js: -------------------------------------------------------------------------------- 1 | /* 2 | 引用地址 https://github.com/ddgksf2013/Cuttlefish/blob/master/Script/wechatread.conf 3 | 引用地址 https://github.com/ddgksf2013/Cuttlefish/blob/master/Script/wechat_auto_read.js 4 | 5 | 🐏 微信阅读(全自动),阅读得积分,100积分换1元 6 | 👀 请复制下面的链接在微信中打开👇👇👇 7 | 🔗 主选打开地址:https://shrtm.nu/riIs 8 | 🔗 备选打开地址:https://shrtm.nu/k8Pp 9 | 👀 Tg通知频道:https://t.me/ddgksf2021 10 | 🚩 建议积分每天兑换,并清空,不要积累 11 | 🍄 如需引用请注明出处,谢谢合作! 12 | 13 | 14 | 【QuantumultX】 : 15 | ************************* 16 | [rewrite_local] 17 | ^https?:\/\/mp\.weixin\.qq\.com/s\/?.* url script-response-body https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/wechat_auto_read.js 18 | ************************* 19 | 20 | 【Loon】 : 21 | ************************* 22 | [Script] 23 | http-response ^https?:\/\/mp\.weixin\.qq\.com/s\/?.* script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/wechat_auto_read.js, requires-body=true, timeout=10, tag=微信自动阅读 24 | ************************* 25 | 26 | 【Surge】 : 27 | ************************* 28 | [Script] 29 | 微信自动阅读 = type=http-response,pattern=^https?:\/\/mp\.weixin\.qq\.com/s\/?.*,script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/wechat_auto_read.js, requires-body=true 30 | ************************* 31 | 32 | 【小火箭】 : 33 | ************************* 34 | [Script] 35 | 微信自动阅读 = type=http-response,script-path=https://raw.githubusercontent.com/RuCu6/QuanX/main/Scripts/wechat_auto_read.js,pattern=^https?:\/\/mp\.weixin\.qq\.com/s\/?.*,max-size=131072,requires-body=true,timeout=10,enable=true 36 | ************************* 37 | 38 | [mitm] 39 | hostname = mp.weixin.qq.com 40 | */ 41 | 42 | var body = $response.body.replace( 43 | /<\/script>/, 44 | "setTimeout(()=>window.history.back(),6000); " 45 | ); 46 | $done({ body }); 47 | -------------------------------------------------------------------------------- /Scripts/xiaohongshu.js: -------------------------------------------------------------------------------- 1 | // 2023-03-04 11:10 2 | 3 | const url = $request.url; 4 | if (!$response.body) $done({}); 5 | let obj = JSON.parse($response.body); 6 | 7 | if (url.includes("/v1/search/hot_list")) { 8 | if (obj.data?.items) { 9 | obj.data.items = []; 10 | } 11 | } else if (url.includes("/v1/system_service/config")) { 12 | // 整体配置 13 | const item = ["app_theme", "loading_img", "splash", "store"]; 14 | if (obj.data) { 15 | item.forEach((i) => { 16 | delete obj.data[i]; 17 | }); 18 | } 19 | } else if (url.includes("/v2/system_service/splash_config")) { 20 | // 开屏广告 21 | if (obj.data?.ads_groups) { 22 | obj.data.ads_groups.forEach((i) => { 23 | i.start_time = 2208960000; // Unix 时间戳 2040-01-01 00:00:00 24 | i.end_time = 2209046399; // Unix 时间戳 2040-01-01 23:59:59 25 | if (i.ads) { 26 | i.ads.forEach((j) => { 27 | j.start_time = 2208960000; // Unix 时间戳 2040-01-01 00:00:00 28 | j.end_time = 2209046399; // Unix 时间戳 2040-01-01 23:59:59 29 | }); 30 | } 31 | }); 32 | } 33 | } else if (url.includes("/v4/search/trending")) { 34 | // 搜索栏 35 | if (obj.data?.queries) { 36 | obj.data.queries = []; 37 | } 38 | if (obj.data?.hint_word) { 39 | obj.data.hint_word = {}; 40 | } 41 | } else if (url.includes("/v4/search/hint")) { 42 | // 搜索栏填充词 43 | if (obj.data?.hint_words) { 44 | obj.data.hint_words = []; 45 | } 46 | } else if (url.includes("/v6/homefeed")) { 47 | if (obj.data) { 48 | // 信息流广告 49 | let newItems = []; 50 | for (let item of obj.data) { 51 | // 信息流-直播 52 | if (item.model_type === "live_v2") { 53 | continue; 54 | // 信息流-赞助 55 | } else if (item.ads_info) { 56 | continue; 57 | // 信息流-带货 58 | } else if (item.card_icon) { 59 | continue; 60 | // 信息流-商品 61 | } else if (item?.note_attributes?.includes("goods")) { 62 | continue; 63 | } else { 64 | newItems.push(item); 65 | } 66 | } 67 | obj.data = newItems; 68 | } 69 | } 70 | 71 | $done({ body: JSON.stringify(obj) }); 72 | -------------------------------------------------------------------------------- /Scripts/yang.js: -------------------------------------------------------------------------------- 1 | // https://github.com/yangdaozhao/ylgy/blob/master/ylgy.js 2 | 3 | let obj = JSON.parse($response.body); 4 | 5 | if (obj.blockTypeData) { 6 | obj.blockTypeData = {}; 7 | } 8 | 9 | $done({ body: JSON.stringify(obj) }); 10 | --------------------------------------------------------------------------------