#!name=APP 去广告 · 本地精简版
#!desc=自包含的声明式去广告覆写；请先停用原融合版。
# Build: 2026-10-09 / local-clean-1
# Source SHA-256: 9b8f4cb679a0475385e69ddf95be389c7b3f41e1d5b99f8611075fbb18e1ab7a
# Validation: static checks and synthetic fixtures; actual app versions may differ.
# No CA, proxy, DNS, script, script-provider, scheduled task, or remote icon is included.
# Unknown JSON structures are left unchanged.
# Import as a Stash override, not as a replacement main configuration.

name: APP 去广告 · 本地精简版
desc: 基于 2026-10-09 审计快照；仅静态广告拦截和受结构检查保护的 JSON 改写；无 JavaScript、远程脚本或自动更新。请先停用原融合版，并使用自己的 MitM 证书。
http:
  # Only hosts needed by the rules below; your existing trusted CA is required.
  mitm:
  - '*.cupid.iqiyi.com'
  - '*.zdmimg.com'
  - 3g.csair.com
  - acs.m.taobao.com
  - acs4miniapp-inner.m.taobao.com
  - adproxy.autohome.com.cn
  - advertise.bczeducation.cn
  - adx.zuoyebang.com
  - ai.amap.com
  - amap-aos-info-nogw.amap.com
  - api-ad-product.huxiu.com
  - api-new.app.acfun.cn
  - api.cloud.189.cn
  - api.douban.com
  - api.ireader.mobi
  - api.ireaderm.net
  - api.izuiyou.com
  - api.juxingclub.com
  - api.jxedt.com
  - api.kkmh.com
  - api.m.jd.com
  - api.mcd.cn
  - api.qd-metro.com
  - api.taou.com
  - api.vistopia.com.cn
  - api.weibo.cn
  - api.xiachufang.com
  - api.yangkeduo.com
  - api.yonghuivip.com
  - app-api.smzdm.com
  - app-gw.csdn.net
  - app.58.com
  - app.dewu.com
  - app.ibuscloud.com
  - app.yinxiang.com
  - app3.qdaily.com
  - appwk.baidu.com
  - bbs-api.miyoushe.com
  - bdsp-x.jd.com
  - boot.biz.weibo.com
  - bp-api.bestv.com.cn
  - business.msstatic.com
  - c.tieba.baidu.com
  - ccsp-egmas.sf-express.com
  - center.amap.com
  - client.qunar.com
  - client.tujia.com
  - cn-acs.m.cainiao.com
  - cn-app.narwaltech.com
  - comapi.reader.qq.com
  - commontgw.reader.qq.com
  - cupid.iqiyi.com
  - dj.palmestore.com
  - djcapp.game.qq.com
  - dsp-x.jd.com
  - dynamicad.kfc.com.cn
  - easyreadfs.nosdn.127.net
  - fbchina.flipchina.cn
  - galaxy-app.geely.com
  - gateway.36kr.com
  - god.gameyw.netease.com
  - gongdu.youshu.cc
  - guide-acs.m.taobao.com
  - gw.aihuishou.com
  - gw.kaola.com
  - homefront.qunar.com
  - igetcool-gateway.igetcool.com
  - ih2.ireader.com
  - img.jiemian.com
  - img.meituan.net
  - info.mina.mi.com
  - j1.pupuapi.com
  - m.client.10010.com
  - m5-zb.amap.com
  - m5.amap.com
  - ma-adx.ctrip.com
  - magev6.if.qidian.com
  - maicai.api.ddxq.mobi
  - mapi.appvipshop.com
  - mapi.mafengwo.cn
  - mapi.weibo.com
  - marketing-aibox.v.mitvos.com
  - mbd.baidu.com
  - mi.gdt.qq.com
  - mime.baidu.com
  - mobads.baidu.com
  - mobile-consumer.jetour.com.cn
  - mxsa.mxbc.net
  - mystore-gw.watsonsvip.com.cn
  - napi.ithome.com
  - open.taou.com
  - open3.vistastory.com
  - overseas.weico.cc
  - pan.baidu.com
  - preload-click.uve.weibo.com
  - preload-impression.uve.weibo.com
  - res.kfc.com.cn
  - saad.ms.zhangyue.net
  - service.busi.inke.cn
  - shop-api.retail.mi.com
  - sp.kaola.com
  - superapp.xgimi.com
  - switch.jumpvg.com
  - syh.zybang.com
  - tiebac.baidu.com
  - top-widgets-api.xiaozujian.com
  - ucmp.sf-express.com
  - wap.ngchina.cn
  - yyfapi.huatu.com
  - zone.guiderank-app.com
  # Narrow advertisement endpoint rejection.
  url-rewrite:
  - ^https?://app\.58\.com(?::(?:80|443))?/api/home/(advertising|appadv)(?:$|[/?#]) - reject-200
  - ^https?://gateway\.36kr\.com(?::(?:80|443))?/api/adx/ad/show(?:$|[/?#]) - reject-200
  - ^https?://api-new\.app\.acfun\.cn(?::(?:80|443))?/rest/app/flash/screen/ - reject-200
  - ^https?://gw\.aihuishou\.com(?::(?:80|443))?/app-portal/home/getadvertisement(?:$|[/?#]) - reject-200
  - ^https?://acs\.m\.taobao\.com(?::(?:80|443))?/gw/mtop\.alibaba\.advertisementservice\.getadv/ - reject-200
  - ^https?://tiebac\.baidu\.com(?::(?:80|443))?/c/f/ad/getFeedAd(?:$|[/?#]) - reject-200
  - ^https?://mime\.baidu\.com(?::(?:80|443))?/v\d/activity/advertisement(?:$|[/?#]) - reject-200
  - ^https?://appwk\.baidu\.com(?::(?:80|443))?/xpage/interface/wknaad(?:$|[/?#]) - reject-200
  - ^https?://pan\.baidu\.com(?::(?:80|443))?/rest/2\.0/pcs/ad(?:$|[/?#]) - reject-200
  - ^https?://mobads\.baidu\.com(?::(?:80|443))?/cpro/ui/mads\.php(?:$|[/?#]) - reject-200
  - ^https?://advertise\.bczeducation\.cn(?::(?:80|443))?/rpc/advertise(?:$|[/?#]) - reject-200
  - ^https?://bp-api\.bestv\.com\.cn(?::(?:80|443))?/cms/api/free/open/advertisingV2(?:$|[/?#]) - reject-200
  - ^https?://cn-acs\.m\.cainiao\.com(?::(?:80|443))?/gw/mtop\.cainiao\.guoguo\.nbnetflow\.ads\.(show|mshow)\.cn/ - reject-200
  - ^https?://app-gw\.csdn\.net(?::(?:80|443))?/silkroad-api/api/v\d/assemble/list/pub/channel/app_open_screen_ad(?:$|[/?#]) - reject-200
  - ^https?://api\.douban\.com(?::(?:80|443))?/v2/app_ads/splash(?:$|[/?#]) - reject-200
  - ^https?://app\.dewu\.com(?::(?:80|443))?/api/v1/app/advertisement/ - reject-200
  - ^https?://maicai\.api\.ddxq\.mobi(?::(?:80|443))?/advert/startUpScreen(?:$|[/?#]) - reject-200
  - ^https?://dj\.palmestore\.com(?::(?:80|443))?/zybk/api/ad(?:$|[/?#]) - reject-200
  - ^https?://saad\.ms\.zhangyue\.net(?::(?:80|443))?/ad/ - reject-200
  - ^https?://acs\.m\.taobao\.com(?::(?:80|443))?/gw/mtop\.fliggy\.crm\.screen\.availablesplashstrategies(?:$|[/?#]) - reject-200
  - ^https?://mi\.gdt\.qq\.com(?::(?:80|443))?/gdt_mview\.fcg(?:$|[/?#]) - reject-200
  - ^https?://zone\.guiderank-app\.com(?::(?:80|443))?/guiderank-web/app/ad/listLaunchADByCity\.do(?:$|[/?#]) - reject-200
  - ^https?://wap\.ngchina\.cn(?::(?:80|443))?/news/adverts(?:$|[/?#]) - reject-200
  - ^https?://fbchina\.flipchina\.cn(?::(?:80|443))?/v2/ad/query/ - reject-200
  - ^https?://business\.msstatic\.com(?::(?:80|443))?/advertiser/material(?:$|[/?#]) - reject-200
  - ^https?://app3\.qdaily\.com(?::(?:80|443))?/app\d/boot_advertisements\.json(?:$|[/?#]) - reject-200
  - ^https?://api-ad-product\.huxiu\.com(?::(?:80|443))?/Api/Product/SDK/Advert/Query/queryAdvertListInfo(?:$|[/?#]) - reject-200
  - ^https?://yyfapi\.huatu\.com(?::(?:80|443))?/common/ad/ - reject-200
  - ^https?://api\.m\.jd\.com(?::(?:80|443))?/client\.action\?functionId=queryMaterialAdverts(?:$|[&#]) - reject-200
  - ^https?://(?:bdsp-x\.jd\.com|dsp-x\.jd\.com)(?::(?:80|443))?/adx/ - reject-200
  - ^https?://img\.jiemian\.com(?::(?:80|443))?/ads/ - reject-200
  - ^https?://mobile-consumer\.jetour\.com\.cn(?::(?:80|443))?/web/position/details\?pageCode=Splashscreens(?:$|[&#]) - reject-200
  - ^https?://api\.jxedt\.com(?::(?:80|443))?/ad/ - reject-200
  - ^https?://superapp\.xgimi\.com(?::(?:80|443))?/api/v1/app/ad/configs\?_sort=createdAt:Adesc(?:$|[&#]) - reject-200
  - ^https?://switch\.jumpvg\.com(?::(?:80|443))?/jump/(getlaunchad|recommend/ad_conf)(?:$|[/?#]) - reject-200
  - ^https?://galaxy-app\.geely\.com(?::(?:80|443))?/app/v\d/advertising(?:$|[/?#]) - reject-200
  - ^https?://res\.kfc\.com\.cn(?::(?:80|443))?/advertisement/ - reject-200
  - ^https?://dynamicad\.kfc\.com\.cn(?::(?:80|443))?/api/app5/homepage/ai/popup(?:$|[/?#]) - reject-200
  - ^https?://api\.kkmh\.com(?::(?:80|443))?/v\d/(ad|advertisement)/ - reject-200
  - ^https?://api\.vistopia\.com\.cn(?::(?:80|443))?/api/v\d/home/advertisement(?:$|[/?#]) - reject
  - ^https?://open3\.vistastory\.com(?::(?:80|443))?/v3/api/index/loading_ad(?:$|[/?#]) - reject-200
  - ^https?://adx\.zuoyebang\.com(?::(?:80|443))?/adxserver/ - reject-200
  - ^https?://img\.meituan\.net(?::(?:80|443))?/adunion/\w+\.(?:gif|jpg|jpg\.webp)$ - reject-200
  - ^https?://img\.meituan\.net(?::(?:80|443))?/bizad/\w+\.(?:png|jpg)(?:$|[?#]) - reject-200
  - ^https?://mapi\.mafengwo\.cn(?::(?:80|443))?/ad/get_launch_ad_list/v2(?:$|[/?#]) - reject-200
  - ^https?://open\.taou\.com(?::(?:80|443))?/maimai/launch_ad(?:$|[/?#]) - reject-200
  - ^https?://api\.taou\.com(?::(?:80|443))?/sdk/global/splash_ad(?:$|[/?#]) - reject-200
  - ^https?://mxsa\.mxbc\.net(?::(?:80|443))?/api/v1/adinfo/limitedAds$ - reject-200
  - ^https?://bbs-api\.miyoushe\.com(?::(?:80|443))?/apihub/api/getAppSplash(?:$|[/?#]) - reject-200
  - ^https?://api\.mcd\.cn(?::(?:80|443))?/bff/portal/home/splash(?:$|[/?#]) - reject-200
  - ^https?://3g\.csair\.com(?::(?:80|443))?/CSMBP/bookProcess/homepopup/queryAdvertisement(?:$|[/?#]) - reject-200
  - ^https?://api\.yangkeduo\.com(?::(?:80|443))?/api/cappuccino/splash(?:$|[/?#]) - reject-200
  - ^https?://homefront\.qunar\.com(?::(?:80|443))?/front/splash/ad(?:$|[/?#]) - reject-200
  - ^https?://client\.qunar\.com(?::(?:80|443))?/pitcher-proxy\?qrt=p_splashAd(?:$|[&#]) - reject-200
  - ^https?://adproxy\.autohome\.com\.cn(?::(?:80|443))?/AdvertiseService/ - reject-200
  - ^https?://(?:commontgw\.reader\.qq\.com|comapi\.reader\.qq\.com)(?::(?:80|443))?/(common/adV|com-ad/config)(?:$|[/?#]) - reject-200
  - ^https?://api\.qd-metro\.com(?::(?:80|443))?/ngstatic/appScreenAds(?:$|[/?#]) - reject-200
  - ^https?://mystore-gw\.watsonsvip\.com\.cn(?::(?:80|443))?/gfu/popup/advert/launch(?:$|[/?#]) - reject-200
  - ^https?://ccsp-egmas\.sf-express\.com(?::(?:80|443))?/cx-app-base/base/app/ad/queryAdImages(?:$|[/?#]) - reject-200
  - ^https?://igetcool-gateway\.igetcool\.com(?::(?:80|443))?/app-api-other-server/white/open/ads\.json(?:$|[/?#]) - reject-200
  - ^https?://api\.cloud\.189\.cn(?::(?:80|443))?/guns/getOpenscreenBanners(?:$|[/?#]) - reject-200
  - ^https?://top-widgets-api\.xiaozujian\.com(?::(?:80|443))?/api/ad/config(?:$|[/?#]) - reject-200
  - ^https?://client\.tujia\.com(?::(?:80|443))?/bnbapp-node/app/portal/getStartPictureAdvertising(?:$|[/?#]) - reject-200
  - ^https?://guide-acs\.m\.taobao\.com(?::(?:80|443))?/gw/mtop\.taobao\.wireless\.home\.splash\.awesome\.get(?:$|[/?#]) - reject-200
  - ^https?://mapi\.appvipshop\.com(?::(?:80|443))?/vips-mobile/rest/activity/advertisement/get(?:$|[/?#]) - reject-200
  - ^https?://mapi\.appvipshop\.com(?::(?:80|443))?/vips-mobile/rest/iosAdInfo/report(?:$|[/?#]) - reject-200
  - ^https?://god\.gameyw\.netease\.com(?::(?:80|443))?/v\d/ad/serving/app-start(?:$|[/?#]) - reject-200
  - ^https?://overseas\.weico\.cc(?::(?:80|443))?/portal\.php\?a=get_coopen_ads(?:$|[&#]) - reject-200
  - ^https?://easyreadfs\.nosdn\.127\.net(?::(?:80|443))?/ad-material/ - reject-200
  - ^https?://sp\.kaola\.com(?::(?:80|443))?/api/openad(?:$|[/?#]) - reject-200
  - ^https?://gw\.kaola\.com(?::(?:80|443))?/gw/dgmobile/newOpenAd(?:$|[/?#]) - reject-200
  - ^https?://ma-adx\.ctrip\.com(?::(?:80|443))?/_ma\.gif(?:$|[/?#]) - reject-200
  - ^https?://mbd\.baidu\.com(?::(?:80|443))?/newspage/api/getmobads\?page\=landingshare(?:$|[&#]) - reject-200
  - ^https?://api\.xiachufang\.com(?::(?:80|443))?/v\d/ad/ - reject-200
  - ^https?://marketing-aibox\.v\.mitvos\.com(?::(?:80|443))?/advertise/splash(?:$|[/?#]) - reject-200
  - ^https?://info\.mina\.mi\.com(?::(?:80|443))?/advertise/splash(?:$|[/?#]) - reject-200
  - ^https?://shop-api\.retail\.mi\.com(?::(?:80|443))?/mtop/navi/skywheel/mishop/splash(?:$|[/?#]) - reject-200
  - ^https?://service\.busi\.inke\.cn(?::(?:80|443))?/api/flash/screen(?:$|[/?#]) - reject-200
  - ^https?://app\.yinxiang\.com(?::(?:80|443))?/ads/ - reject-200
  - ^https?://api\.yonghuivip\.com(?::(?:80|443))?/web/shensuan/ad/getAd(?:$|[/?#]) - reject-200
  - ^https?://gongdu\.youshu\.cc(?::(?:80|443))?/m/open_screen/list_by_udid(?:$|[/?#]) - reject-200
  - ^https?://cn-app\.narwaltech\.com(?::(?:80|443))?/operate/appPosition/listSplash(?:$|[/?#]) - reject-200
  - ^https?://m\.client\.10010\.com(?::(?:80|443))?/uniAdmsInterface/(getHomePageAd|getWelcomeAd)(?:$|[/?#]) - reject-200
  - ^https?://syh\.zybang\.com(?::(?:80|443))?/com/adx/ - reject-200
  - ^https?://api\.izuiyou\.com(?::(?:80|443))?/ad/ - reject-200
  - ^https?://djcapp\.game\.qq\.com(?::(?:80|443))?/daoju/igw/main/\?_service=welink\.ad\.list(?:$|[&#]) - reject-200
  - ^https?://ih2\.ireader\.com(?::(?:80|443))?/zyapi/bookstore/ad(?:$|[/?#]) - reject-200
  - ^https?://ih2\.ireader\.com(?::(?:80|443))?/zyapi/self/screen/ad(?:$|[/?#]) - reject-200
  - ^https?://ih2\.ireader\.com(?::(?:80|443))?/zycl/api/ad(?:$|[/?#]) - reject-200
  - ^https?://app\.ibuscloud\.com(?::(?:80|443))?/v\d/app/getSkipAdvert(?:$|[/?#]) - reject-200
  - ^https?://api\.ireader\.mobi(?::(?:80|443))?/activity/ad/openScreen(?:$|[/?#]) - reject-200
  - ^https?://api\.ireaderm\.net(?::(?:80|443))?/activity/ad(?:$|[/?#]) - reject-200
  - ^https?://(?:m5\.amap\.com|m5-zb\.amap\.com|center\.amap\.com|amap-aos-info-nogw\.amap\.com|ai\.amap\.com)(?::(?:80|443))?/ws/aos/alimama/splash_screen(?:$|[/?#]) - reject-200
  - ^https?://ucmp\.sf-express\.com(?::(?:80|443))?/proxy/operation-platform/info-flow-adver/query$ - reject-200
  - ^https?://(?:acs\.m\.taobao\.com|guide-acs\.m\.taobao\.com|acs4miniapp-inner\.m\.taobao\.com)(?::(?:80|443))?/gw/mtop\.cainiao\.adx\.flyad\.getad(?:$|[/?#]) - reject-200
  - ^https?://api\.weibo\.cn(?::(?:80|443))?/\d/ad/preload(?:$|[/?#]) - reject-dict
  - ^https?://boot\.biz\.weibo\.com(?::(?:80|443))?/v\d/ad/realtime(?:$|[/?#]) - reject-200
  - ^https?://(?:preload-click\.uve\.weibo\.com|preload-impression\.uve\.weibo\.com)(?::(?:80|443))?/(interface/wbpullad/wbpullad_click\.php|wbapplua/get_wbpullad_log\.lua)(?:$|[/?#]) - reject
  - ^https?://(?:api\.weibo\.cn|mapi\.weibo\.com)(?::(?:80|443))?/\d/ad/weibointl\? - reject-dict
  # Local jq filters; preserve unrelated fields and unfamiliar JSON layouts.
  body-rewrite:
  - ^https?://app-api\.smzdm\.com/util/loading/?(?:\?[^#]*)?$ response-jq . as $original | try (if type == "object" and (.data | type) == "array" then .data |= map(if type == "object" and .is_show_ad == "1" then .start_date = "2030-12-24 00:00:00" | .end_date = "2030-12-24 23:59:59" | .unix_start_date = "1924272000" | .unix_end_date = "1924358399" | .is_show_ad = "0" else . end) else . end) catch $original
  - ^https?://(?:[A-Za-z0-9-]+\.)+zdmimg\.com/cpm/api/v[0-9]+/advert_distribution/get_all_advertise/?(?:\?[^#]*)?$ response-jq . as $original | try (if type == "object" and (.data | type) == "object" and .data.is_show_ad == "1" then .data |= (.start_date = "2030-12-24 00:00:00" | .end_date = "2030-12-24 23:59:59" | .unix_start_date = "1924272000" | .unix_end_date = "1924358399" | .is_show_ad = "0") else . end) catch $original
  - ^https?://(?:[A-Za-z0-9-]+\.)*cupid\.iqiyi\.com/mixer/?(?:\?[^#]*)?$ response-jq . as $original | try (if type == "object" and (.adSlots | type) == "array" then del(.adSlots) else . end) catch $original
  - ^https?://napi\.ithome\.com/api/news/indexv[0-9]+/iphone/?(?:\?[^#]*)?$ response-jq . as $original | try (if type == "object" and (.data | type) == "object" and (.data.list | type) == "array" then .data.list |= map(select(if type == "object" and (.feedContent | type) == "object" then .feedContent.flag != 2 and .feedContent.flag != "2" else true end)) else . end) catch $original
  - ^https?://api\.m\.jd\.com/api\?functionId=delivery_show(?:&[^#]*)?$ response-jq . as $original | try (if type == "object" and (.data | type) == "object" and (.data.materialList | type) == "object" and (.data.materialList.startTime | type) == "number" and (.data.materialList.endTime | type) == "number" then .data.materialList.startTime = 3667476800000 | .data.materialList.endTime = 3667908800000 else . end) catch $original
  - ^https?://j1\.pupuapi\.com/client/marketing/banner/v[0-9]+\?position(?:_type)?=[^#]*$ response-jq . as $original | try (if type == "object" and (.data | type) == "array" then .data |= map(select(if type == "object" then .position_type != 320 and .position_type != 710 and .position_type != 50 and .position_type != "320" and .position_type != "710" and .position_type != "50" else true end)) else . end) catch $original
  - ^https?://(?:m5|m5-zb)\.amap\.com/ws/valueadded/alimama/splash_screen/?(?:\?[^#]*)?$ response-jq . as $original | try (if type == "object" and (.data | type) == "object" and (.data.ad | type) == "array" then .data.ad |= map(if type == "object" and (.set | type) == "object" and (.set.setting | type) == "object" and (.creative | type) == "array" and (.creative | length) > 0 and (.creative[0] | type) == "object" then .set.setting.display_time = 0 | .creative[0].start_time = 2240150400 | .creative[0].end_time = 2240150400 else . end) else . end) catch $original
  - ^https?://cn-acs\.m\.cainiao\.com/gw/mtop\.cainiao\.adkeyword(?:/[0-9]+(?:\.[0-9]+)*/?)?(?:\?[^#]*)?$ response-jq . as $original | try (if type == "object" and (.data | type) == "object" and (.data.result | type) == "object" and (.data.result.adHotKeywords | type) == "array" then .data.result.adHotKeywords = [] else . end) catch $original
  - ^https://magev6\.if\.qidian\.com/argus/api/v4/client/getsplashscreen(?:\?[^#]*)?$ response-jq . as $original | try (if type != "object" then . elif (.Data | type) != "object" then . else (if (.Data.List | type) == "array" then .Data.List = null else . end) | (if .Data.EnableGDT == 1 then .Data.EnableGDT = 0 else . end) end) catch $original
  - ^https://magev6\.if\.qidian\.com/argus/api/v1/adv/getadvlistbatch\?positions=iOS_tab(?:&[^#]*)?$ response-jq . as $original | try (if type != "object" then . elif (.Data | type) != "object" then . elif (.Data.iOS_tab | type) == "array" then .Data.iOS_tab = [] else . end) catch $original
  - ^https://magev6\.if\.qidian\.com/argus/api/v1/bookshelf/getHoverAdv(?:\?[^#]*)?$ response-jq . as $original | try (if type != "object" then . elif (.Data | type) != "object" then . elif (.Data.ItemList | type) == "array" then .Data.ItemList = [] else . end) catch $original
  - ^https?://(?:tiebac|c\.tieba)\.baidu\.com/c/f/ad/getSplashAd$ response-jq . as $original | try (if type != "object" then . elif .error_code != 0 then . elif ((.data | type) != "object" and (.data | type) != "array") then . else .error_code = 2230209 | .data = null end) catch $original
  - ^https://api\.juxingclub\.com/ad/getAll(?:\?[^#]*)?$ response-jq . as $original | try (if type != "object" then . elif (.data | type) != "object" then . elif (.data.adList | type) == "array" then .data.adList = [] else . end) catch $original
