chore: sync

This commit is contained in:
lisonge 2023-09-02 13:17:03 +08:00
parent cd5ec3bd6f
commit 17c007ebbf
88 changed files with 1191 additions and 363 deletions

4
.npmrc
View File

@ -1,4 +0,0 @@
strict-peer-dependencies=false
auto-install-peers=false
registry="https://registry.npmjs.org/"
access=public

View File

@ -3,4 +3,3 @@ pnpm-workspace.yaml
LICENCE
dist
src/kotlin

View File

@ -5,5 +5,5 @@
export default {
tabWidth: 2,
singleQuote: true,
trailingComma: 'all',
trailingComma: "all",
};

398
README.md
View File

@ -1,3 +1,401 @@
# @gkd-kit/subscription
搞快点 APP 默认订阅规则
当前订阅文件已适配 78 个 APP, 共有 129 规则组
## 适配 APP 列表
### [air.tv.douyu.android](/src/apps/air.tv.douyu.android.ts) - 斗鱼
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/50c858ee-d331-4d5a-b5db-5eb17323c5ff)
- 青少年模式 - 关闭青少年模式提醒弹窗
- [快照-0](https://gkd-kit.gitee.io/import/38517192/1c081a65-688a-406b-b67b-9bfb9aba0fad)
- 新版本弹窗
### [cmb.pb](/src/apps/cmb.pb.ts) - 招商银行
- 开屏广告
### [cn.damai](/src/apps/cn.damai.ts) - 大麦
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/38859663-6f0c-48b1-9392-20ae937a8c9e)
### [cn.wps.moffice_eng](/src/apps/cn.wps.moffice_eng.ts) - WPS
- 开屏广告
### [com.MobileTicket](/src/apps/com.MobileTicket.ts) - 铁路12306
- 开屏广告
### [com.UCMobile](/src/apps/com.UCMobile.ts) - UC浏览器
- 开屏广告
- 推荐页广告
### [com.achievo.vipshop](/src/apps/com.achievo.vipshop.ts) - 唯品会
- 开屏广告
### [com.alibaba.wireless](/src/apps/com.alibaba.wireless.ts) - 阿里巴巴
- 开屏广告
### [com.android.bankabc](/src/apps/com.android.bankabc.ts) - 中国农业银行
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/3653218a-e0e0-4a60-8308-dea5fd4179b3)
### [com.android.thememanager](/src/apps/com.android.thememanager.ts) - miui主题壁纸
- 推荐下广告
### [com.anjuke.android.app](/src/apps/com.anjuke.android.app.ts) - 安居客
- 开屏广告
### [com.baidu.BaiduMap](/src/apps/com.baidu.BaiduMap.ts) - 百度地图
- 开屏广告
### [com.baidu.homework](/src/apps/com.baidu.homework.ts) - 作业帮
- 开屏广告
### [com.baidu.netdisk](/src/apps/com.baidu.netdisk.ts) - 百度网盘
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/edc1d0a6-ebdd-48b0-9e11-f0b2c277c40a)
### [com.baidu.tieba](/src/apps/com.baidu.tieba.ts) - 百度贴吧
- 开屏广告 - 数字倒计时广告,圆形倒计时广告
- 任意界面-选择不喜欢理由-不感兴趣
- 首页/贴吧帖子列表-推荐列表-长得像帖子的广告卡片
- 某个广告卡片 - 忘记是哪个卡片了
- 帖子评论区内部广告卡片
- 帖子评论区广告卡片
- 首页左侧游戏广告小图标
- 升级弹窗
- [快照-0](https://gkd-kit.gitee.io/import/12496934)
### [com.bjsk.intelligent](/src/apps/com.bjsk.intelligent.ts) - WiFi智能钥匙
- 开屏广告
- 内部启动广告
### [com.cmcc.cmvideo](/src/apps/com.cmcc.cmvideo.ts) - 咪咕视频
- 开屏广告
- 青少年模式弹窗
- [快照-0](https://gkd-kit.gitee.io/import/12498307)
- 右下角小广告
- [快照-0](https://gkd-kit.gitee.io/import/12498315)
### [com.coolapk.market](/src/apps/com.coolapk.market.ts) - 酷安
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/4ba30986-55d4-4a94-b7e2-6cf7d9c6d66d)
- [快照-1](https://gkd-kit.gitee.io/import/38517192/47919419-30c7-41ee-b31e-01afaa98f108)
- 关闭卡片广告 - 点击卡片右上角按钮,然后点击关闭弹窗
- [快照-0](https://gkd-kit.gitee.io/import/38517192/9badc07c-4da2-4066-8af5-d96a86a28315)
### [com.ct.client](/src/apps/com.ct.client.ts) - 中国电信
- 开屏广告
### [com.daimajia.gold](/src/apps/com.daimajia.gold.ts) - 稀土掘金
- 开屏广告
### [com.dianping.v1](/src/apps/com.dianping.v1.ts) - 大众点评
- 开屏广告
### [com.dragon.read](/src/apps/com.dragon.read.ts) - 番茄免费小说
- 阅读页面底部广告
### [com.duokan.phone.remotecontroller](/src/apps/com.duokan.phone.remotecontroller.ts) - 万能遥控
- 底部横幅广告
### [com.duowan.kiwi](/src/apps/com.duowan.kiwi.ts) - 虎牙直播
- 开屏广告
- 青少年弹窗
### [com.google.android.youtube](/src/apps/com.google.android.youtube.ts) - youtube
- 视频播放-跳过广告
### [com.gotokeep.keep](/src/apps/com.gotokeep.keep.ts) - Keep
- 开屏广告
### [com.greenpoint.android.mc10086.activity](/src/apps/com.greenpoint.android.mc10086.activity.ts) - 中国移动
- 开屏广告
### [com.handsgo.jiakao.android](/src/apps/com.handsgo.jiakao.android.ts) - 驾考宝典
- 开屏广告
### [com.hunantv.imgo.activity](/src/apps/com.hunantv.imgo.activity.ts) - 芒果TV
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/7202bd0a-a5c6-4ec4-9547-bf4ca6d372d0)
- [快照-1](https://gkd-kit.gitee.io/import/38517192/7202bd0a-a5c6-4ec4-9547-bf4ca6d372d0)
- 关闭青少年模式提示
- 首页推荐流-卡片广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/40fb71ad-01a5-4420-9150-88172ff8a3bf)
- [快照-1](https://gkd-kit.gitee.io/import/38517192/b74150b5-8e9f-4cbb-86a7-722fc739a1b8)
### [com.hupu.shihuo](/src/apps/com.hupu.shihuo.ts) - 识货
- 开屏广告
### [com.hxak.liangongbao](/src/apps/com.hxak.liangongbao.ts) - 链工宝
- 开屏广告
### [com.icbc](/src/apps/com.icbc.ts) - 中国工商银行
- 第一次启动提示
### [com.intsig.camscanner](/src/apps/com.intsig.camscanner.ts) - 扫描全能王
- 开屏vip提示
### [com.iqiyi.hotchat](/src/apps/com.iqiyi.hotchat.ts) - 爱奇艺热聊
- 开屏广告
### [com.jym.mall](/src/apps/com.jym.mall.ts) - 交易猫
- 升级弹窗
- [快照-0](https://gkd-kit.gitee.io/import/12496974)
### [com.kmxs.reader](/src/apps/com.kmxs.reader.ts) - 七猫免费小说
- 关闭青少年模式
### [com.kuaikan.comic](/src/apps/com.kuaikan.comic.ts) - 快看
- 开屏广告
### [com.kugou.android](/src/apps/com.kugou.android.ts) - 酷狗音乐
- 开屏广告
### [com.kwai.videoeditor](/src/apps/com.kwai.videoeditor.ts) - 快影
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/d12c3b08-8233-4584-b2b9-595ebb4ce665)
### [com.mihoyo.hyperion](/src/apps/com.mihoyo.hyperion.ts) - 米游社
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/12482738)
- 青少年模式 - 关闭青少年模式提醒弹窗
### [com.miui.player](/src/apps/com.miui.player.ts) - 小米音乐
- 开屏广告
### [com.miui.systemAdSolution](/src/apps/com.miui.systemAdSolution.ts) - miui系统广告
- 任意app开屏广告
- miui-为什么不希望看到这条推广 - 关闭这个提示,使用ADB禁用广告组件时,点击此按钮无反应
### [com.mt.mtxx.mtxx](/src/apps/com.mt.mtxx.mtxx.ts) - 美图秀秀
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/1f56aa17-c290-4e56-b6fb-a94bc778448b)
### [com.netease.cloudmusic](/src/apps/com.netease.cloudmusic.ts) - 网易云音乐
- 开屏广告
- 广告卡片
- [快照-0](https://gkd-kit.songe.li/import/38517192/fea3449b-d642-4d75-929f-490421cc9080)
- [快照-1](https://gkd-kit.songe.li/import/38517192/a977b19d-2b3c-43df-ba01-63e7cbbb3908)
### [com.qidian.QDReader](/src/apps/com.qidian.QDReader.ts) - 起点读书
- 开屏广告
### [com.qiyi.video](/src/apps/com.qiyi.video.ts) - 爱奇艺
- 开屏广告
- 青少年弹窗
- 我的-顶部广告
- [快照-0](https://gkd-kit.gitee.io/import/12495050)
### [com.quark.browser](/src/apps/com.quark.browser.ts) - 夸克浏览器
- 小说阅读页面底部广告
### [com.sankuai.meituan](/src/apps/com.sankuai.meituan.ts) - 美团
- 开屏广告
### [com.sankuai.meituan.takeoutnew](/src/apps/com.sankuai.meituan.takeoutnew.ts) - 美团外卖
- 开屏广告
- 关闭更新弹窗
- 关闭美食广告弹窗
### [com.sdu.didi.psnger](/src/apps/com.sdu.didi.psnger.ts) - 滴滴
- 开屏广告
### [com.sina.weibo](/src/apps/com.sina.weibo.ts) - 微博
- 开屏广告
- 评论区顶部-相关推荐
- 关闭不感兴趣广告弹窗
### [com.smile.gifmaker](/src/apps/com.smile.gifmaker.ts) - 快手
- 关闭青少年弹窗
### [com.snda.wifilocating](/src/apps/com.snda.wifilocating.ts) - WiFi万能钥匙
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/4d6fdd1e-28ec-4b61-86e2-641b7b5b8899)
- 内部广告
### [com.ss.android.article.video](/src/apps/com.ss.android.article.video.ts) - 西瓜视频
- 西瓜视频-关闭青少年模式弹窗
- [快照-0](https://gkd-kit.gitee.io/import/38517192/78f0c1f6-e8da-4bc4-acd3-5e6dc056b044)
### [com.ss.android.ugc.aweme](/src/apps/com.ss.android.ugc.aweme.ts) - 抖音
- 关闭青少年弹窗
### [com.taobao.taobao](/src/apps/com.taobao.taobao.ts) - 淘宝
- 开屏广告
### [com.tencent.androidqqmail](/src/apps/com.tencent.androidqqmail.ts) - qq邮箱
- 广告邮件-列表卡片广告
### [com.tencent.djcity](/src/apps/com.tencent.djcity.ts) - 掌上道聚城
- 开屏广告
### [com.tencent.karaoke](/src/apps/com.tencent.karaoke.ts) - 全民K歌
- 开屏广告
### [com.tencent.mm](/src/apps/com.tencent.mm.ts) - 微信
- 关闭朋友圈广告 - 朋友圈信息流广告,点击关闭按钮,确认关闭
- [示例-0](https://github.com/gkd-kit/subscription/assets/38517192/c9ae4bba-a748-4755-b5e4-c7ad3d489a79)
- 电脑微信快捷自动登录
- 浏览器扫码微信登录自动授权
- 微信手机第三方APP申请使用 - 自动点击同意
### [com.tencent.mobileqq](/src/apps/com.tencent.mobileqq.ts) - QQ
- 开屏广告
- 消息页面-顶部广告
- 好友动态-广告卡片
### [com.tencent.mtt](/src/apps/com.tencent.mtt.ts) - QQ浏览器
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/7d8e9661-c29a-4448-94c2-d7b0a1756107)
### [com.tencent.qqlive](/src/apps/com.tencent.qqlive.ts) - 腾讯视频
- 开屏广告
- 关闭青少年弹窗
### [com.tencent.qqmusic](/src/apps/com.tencent.qqmusic.ts) - QQ音乐
- 开屏广告
- 推荐页-广告卡片
### [com.tencent.qt.sns](/src/apps/com.tencent.qt.sns.ts) - 掌上穿越火线
- 开屏广告
### [com.xiaomi.market](/src/apps/com.xiaomi.market.ts) - 小米应用商店
- 首页悬浮窗广告
### [com.xiaomi.shop](/src/apps/com.xiaomi.shop.ts) - 小米商城
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/9083b291-43f8-4d92-a506-a9dc6ed0156f)
### [com.ximalaya.ting.android](/src/apps/com.ximalaya.ting.android.ts) - 喜马拉雅
- 首页右侧浮动广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/45664dfb-b8e6-4bdb-b5bb-9852c7a86a2f)
### [com.ximalaya.ting.lite](/src/apps/com.ximalaya.ting.lite.ts) - 喜马拉雅极速版
- 开屏广告
- 首页-推荐-卡片广告
### [com.xunlei.downloadprovider](/src/apps/com.xunlei.downloadprovider.ts) - 迅雷
- 开屏广告
### [com.yek.android.kfc.activitys](/src/apps/com.yek.android.kfc.activitys.ts) - 肯德基
- 开屏广告
### [com.yipiao](/src/apps/com.yipiao.ts) - 智行火车票12306抢票
- 开屏广告
### [com.zhihu.android](/src/apps/com.zhihu.android.ts) - 知乎
- 开屏广告
- 关闭广告弹窗 - 点击 关闭广告按钮 之后出现的广告弹窗
- 关闭广告原因 - 点击 关闭广告按钮 之后出现的选择原因
- 关闭推荐 - 关闭回答底部其他回答
- 推荐页广告卡片 - 赚稿费广告卡片,盐选推荐广告,知乎学课堂,汽车广告
- 问题-回答列表-卡片广告
- 回答底部评论顶部的任意广告推荐
- 关闭首页广告
- 推荐页-顶部广告
### [com.zidongdianji](/src/apps/com.zidongdianji.ts) - 自动点击器
- 开屏广告
- 首页顶部广告卡片
### [ctrip.android.view](/src/apps/ctrip.android.view.ts) - 携程旅行
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/38517192/104f3807-7613-46ff-9eb2-3c8bcb6ee3b1)
### [gov.pianzong.androidnga](/src/apps/gov.pianzong.androidnga.ts) - NGA玩家社区
- 开屏广告
- [快照-0](https://gkd-kit.gitee.io/import/12476484)
- 首页-推荐-广告卡片
- [快照-0](https://gkd-kit.gitee.io/import/12482727)
### [li.songe.gkd](/src/apps/li.songe.gkd.ts) - GKD
- GKD-空规则组
### [tv.danmaku.bili](/src/apps/tv.danmaku.bili.ts) - B站
- 开屏广告 - 开屏广告,切回APP开屏广告
- 评论区顶部公告横幅
- 青少年模式弹窗
- 动态推荐卡片
- 点击关闭广告后出现的弹窗
- 视频底部广告
- 推荐页-可跳过广告

9
Template.md Normal file
View File

@ -0,0 +1,9 @@
# @gkd-kit/subscription
搞快点 APP 默认订阅规则
当前订阅文件已适配 --APP_SIZE-- 个 APP, 共有 --GROUP_SIZE-- 规则组
## 适配 APP 列表
--APP_LIST--

446
dist/gkd.json vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,14 @@
{
"name": "@gkd-kit/subscription",
"type": "module",
"version": "0.0.37",
"version": "0.0.40",
"main": "./dist/gkd.json",
"unpkg": "./dist/gkd.json",
"jsdelivr": "./dist/gkd.json",
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"files": [
"./dist"
],

View File

@ -1,4 +1,3 @@
pnpm build
git add '.'
git commit -m 'chore: sync'
git push

View File

@ -2,32 +2,44 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'air.tv.douyu.android',
name: `斗鱼`,
groups: [
{
key: 0,
name: '斗鱼-开屏广告',
name: '开屏广告',
activityIds: [
'com.douyu.module.home.pages.main.MainActivity',
`com.douyu.module.ad.launch.HotStartSplashActivity`,
],
rules: [
// https://gkd-kit.gitee.io/import/38517192/50c858ee-d331-4d5a-b5db-5eb17323c5ff
`@TextView[text^='跳过'] + LinearLayout TextView[text*="跳转"]`,
{
matches: `@TextView[text^='跳过'] + LinearLayout TextView[text*="跳转"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/50c858ee-d331-4d5a-b5db-5eb17323c5ff`,
},
`[text^='跳过'] + * >2 TextView[text*='跳转']`, // 1686970245243, 1686970188866
],
},
{
key: 1,
name: `斗鱼-青少年模式`,
name: `青少年模式`,
desc: `关闭青少年模式提醒弹窗`,
activityIds: [
`com.douyu.module.young.view.YoungModeGuideDialog`,
`com.douyu.module.home.pages.main.MainActivity`,
],
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/1c081a65-688a-406b-b67b-9bfb9aba0fad`,
rules: [
// https://gkd-kit.gitee.io/import/38517192/1c081a65-688a-406b-b67b-9bfb9aba0fad
`[text='开启青少年模式'] + [text='我知道了']`, // 1686970236642
],
},
{
key: 2,
name: '新版本弹窗',
activityIds: [
'com.douyu.module.update.view.UpdateDialog',
'com.douyu.module.home.pages.main.MainActivity',
],
rules: '[text="立即升级"] - [text="忽略"][clickable=true]',
},
],
};

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'cmb.pb',
name: '招商银行',
groups: [
{
key: 0,
name: '招商银行-开屏广告',
name: '开屏广告',
activityIds: 'cmb.pb.app.mainframe.container.PBMainActivity',
rules: '[id=`cmb.pb:id/ll_launch_ad_skip_hot_area`]',
},

View File

@ -2,13 +2,14 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'cn.damai',
name: `大麦`,
groups: [
{
key: 0,
name: `大麦-开屏广告`,
name: `开屏广告`,
activityIds: `cn.damai.launcher.splash.SplashMainActivity`,
// https://gkd-kit.gitee.io/import/38517192/38859663-6f0c-48b1-9392-20ae937a8c9e
rules: `[id="cn.damai:id/homepage_advert_pb"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/38859663-6f0c-48b1-9392-20ae937a8c9e`,
},
],
};

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'cn.wps.moffice_eng',
name: `WPS`,
groups: [
{
key: 0,
name: 'WPS-开屏广告',
name: '开屏广告',
activityIds: 'cn.wps.moffice.documentmanager.PreStartActivity',
rules: '[id=`cn.wps.moffice_eng:id/splash_skip`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.MobileTicket',
name: `铁路12306`,
groups: [
{
key: 0,
name: '铁路12306-开屏广告',
name: '开屏广告',
activityIds: 'com.MobileTicket.ui.dialog.SplashAdDialog',
rules: '[id=`com.MobileTicket:id/tv_skip`]',
},

View File

@ -2,16 +2,17 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.UCMobile',
name: `UC浏览器`,
groups: [
{
key: -1,
name: `UC浏览器-开屏广告`,
name: `开屏广告`,
activityIds: `com.uc.browser.InnerUCMobile`,
// rules: ``,
// TODO
},
{
key: 0,
name: 'UC浏览器-推荐页广告',
name: '推荐页广告',
activityIds: 'com.uc.browser.InnerUCMobile',
rules: [
'TextView[text=`屏蔽此条广告`]',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.achievo.vipshop',
name: `唯品会`,
groups: [
{
key: 0,
name: '唯品会-开屏广告',
name: '开屏广告',
activityIds: 'com.achievo.vipshop.activity.LodingActivity',
rules: '[id=`com.achievo.vipshop:id/adv_countdown`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.alibaba.wireless',
name: `阿里巴巴`,
groups: [
{
key: 0,
name: '阿里巴巴-开屏广告',
name: '开屏广告',
activityIds: 'com.alibaba.wireless.launch.home.V5HomeActivity',
rules: '[id=`com.alibaba.wireless:id/v5_splash_over`]',
},

View File

@ -2,15 +2,14 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.android.bankabc',
name: `中国农业银行`,
groups: [
{
key: 0,
name: `中国农业银行-开屏广告`,
name: `开屏广告`,
activityIds: `com.alipay.mobile.quinox.LauncherActivity`,
rules: [
// https://gkd-kit.gitee.io/import/38517192/3653218a-e0e0-4a60-8308-dea5fd4179b3
`ImageView[id="com.android.bankabc:id/close"]`,
],
rules: [`ImageView[id="com.android.bankabc:id/close"]`],
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/3653218a-e0e0-4a60-8308-dea5fd4179b3`,
},
],
};

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.android.thememanager',
name: `miui主题壁纸`,
groups: [
{
key: 1,
name: 'miui主题壁纸-推荐下广告',
name: '推荐下广告',
rules: '[id=`com.android.thememanager:id/ad_close_btn`]',
},
],

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.anjuke.android.app',
name: `安居客`,
groups: [
{
key: 0,
name: '安居客-开屏广告',
name: '开屏广告',
activityIds: 'com.anjuke.android.app.mainmodule.WelcomeActivity',
rules: '[id=`com.anjuke.android.app:id/skip_btn`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.baidu.BaiduMap',
name: `百度地图`,
groups: [
{
key: 0,
name: '百度地图-开屏广告',
name: '开屏广告',
activityIds: 'com.baidu.baidumaps.MapsActivity',
rules: [
'@TextView[text^=`跳过`] + TextView[text=`广告`]',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.baidu.homework',
name: `作业帮`,
groups: [
{
key: 0,
name: '作业帮-开屏广告',
name: '开屏广告',
activityIds: 'com.baidu.homework.activity.init.InitActivity',
rules: '[id=`com.baidu.homework:id/adx_splash_skip_text`]',
},

View File

@ -2,14 +2,17 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.baidu.netdisk',
name: `百度网盘`,
groups: [
{
key: 0,
name: '百度网盘-开屏广告',
name: '开屏广告',
activityIds: 'com.baidu.netdisk.ui.Navigate',
rules: [
// https://gkd-kit.gitee.io/import/38517192/edc1d0a6-ebdd-48b0-9e11-f0b2c277c40a
`TextView[text="跳过"][clickable=true]`,
{
matches: `TextView[text="跳过"][clickable=true]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/edc1d0a6-ebdd-48b0-9e11-f0b2c277c40a`,
},
'@TextView[text^=`跳过`] + TextView[text=`广告`]',
`[id='com.byted.pangle:id/tt_splash_skip_btn']`, // 1687136781353
],

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.baidu.tieba',
name: `百度贴吧`,
groups: [
{
key: 0,
name: '百度贴吧-开屏广告',
name: '开屏广告',
desc: '数字倒计时广告,圆形倒计时广告',
activityIds: [
'com.baidu.tieba.tblauncher.MainTabActivity',
@ -69,5 +70,12 @@ export default <AppConfig>{
`ImageView[clickable=true] - RelativeLayout[clickable=false][childCount=1] > ImageView[clickable=true]`,
],
},
{
key: 7,
name: `升级弹窗`,
activityIds: `com.baidu.tieba.UpdateDialog`,
rules: `[text="稍后再说"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/12496934`,
},
],
};

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.bjsk.intelligent',
name: `WiFi智能钥匙`,
groups: [
{
key: 0,
name: 'WiFi智能钥匙-开屏广告',
name: '开屏广告',
activityIds: 'com.cssq.wifi.ui.splash.SplashActivity',
rules: [
'[text^=`跳过`]',
@ -14,7 +15,7 @@ export default <AppConfig>{
},
{
key: 1,
name: 'WiFi智能钥匙-内部启动广告',
name: '内部启动广告',
activityIds:
'com.bytedance.sdk.openadsdk.stub.activity.Stub_Standard_Portrait_Activity',
rules: [

View File

@ -2,12 +2,27 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.cmcc.cmvideo',
name: `咪咕视频`,
groups: [
{
key: 0,
name: '咪咕视频-开屏广告',
name: '开屏广告',
activityIds: 'com.cmcc.cmvideo.main.application.CompatibleMainActivity',
rules: '[id=`com.cmcc.cmvideo:id/skip_button`]',
},
{
key: 1,
name: `青少年模式弹窗`,
activityIds: `com.cmcc.cmvideo.main.application.CompatibleMainActivity`,
rules: `[id="com.cmcc.cmvideo:id/btn_cancle"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/12498307`,
},
{
key: 2,
name: `右下角小广告`,
activityIds: `com.cmcc.cmvideo.main.application.CompatibleMainActivity`,
rules: `[id="com.cmcc.cmvideo:id/iv_right_bottom_close"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/12498315`,
},
],
};

View File

@ -2,21 +2,24 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.coolapk.market',
name: `酷安`,
groups: [
{
key: -1,
name: `酷安-开屏广告`,
name: `开屏广告`,
activityIds: [
`com.coolapk.market.view.splash.SplashActivity`,
`com.coolapk.market.view.main.MainActivity`,
],
rules: [`[id="com.byted.pangle.m:id/tt_splash_skip_btn"]`],
// https://gkd-kit.gitee.io/import/38517192/4ba30986-55d4-4a94-b7e2-6cf7d9c6d66d
// https://gkd-kit.gitee.io/import/38517192/47919419-30c7-41ee-b31e-01afaa98f108
snapshotUrls: [
`https://gkd-kit.gitee.io/import/38517192/4ba30986-55d4-4a94-b7e2-6cf7d9c6d66d`,
`https://gkd-kit.gitee.io/import/38517192/47919419-30c7-41ee-b31e-01afaa98f108`,
],
},
{
key: 0,
name: '酷安-关闭卡片广告',
name: '关闭卡片广告',
desc: '点击卡片右上角按钮,然后点击关闭弹窗',
activityIds: [
'com.coolapk.market.view.main.MainActivity',
@ -29,7 +32,7 @@ export default <AppConfig>{
'com.coolapk.market.view.main.MainActivity',
'com.coolapk.market.view.base.SimpleAlphaActivity',
],
// https://gkd-kit.gitee.io/import/38517192/9badc07c-4da2-4066-8af5-d96a86a28315
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/9badc07c-4da2-4066-8af5-d96a86a28315`,
matches: '@LinearLayout > TextView[id!=null][text=`不感兴趣`]',
},
`Button[text$="免广告"] + Button[text="不感兴趣"]`, // 1692148279610

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.ct.client',
name: `中国电信`,
groups: [
{
key: 0,
name: '中国电信-开屏广告',
name: '开屏广告',
activityIds: [
'com.ct.client.activity.MainActivity',
'com.ct.client.activity.SplashActivity',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.daimajia.gold',
name: `稀土掘金`,
groups: [
{
key: 0,
name: '稀土掘金-开屏广告',
name: '开屏广告',
activityIds: 'im.juejin.android.ui.SplashActivity',
rules: '[id=`com.daimajia.gold:id/fl_skip`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.dianping.v1',
name: `大众点评`,
groups: [
{
key: 0,
name: '大众点评-开屏广告',
name: '开屏广告',
activityIds: 'com.dianping.v1.NovaMainActivity',
rules: '[id=`com.dianping.v1:id/new_skip`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.dragon.read',
name: `番茄免费小说`,
groups: [
{
key: 0,
name: '番茄免费小说-阅读页面底部广告',
name: '阅读页面底部广告',
rules: [
{
activityIds: 'com.dragon.read.ad.banner.ui',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.duokan.phone.remotecontroller',
name: `万能遥控`,
groups: [
{
key: 0,
name: '万能遥控-底部横幅广告',
name: '底部横幅广告',
activityIds:
'com.xiaomi.mitv.phone.remotecontroller.HoriWidgetMainActivityV2',
rules:

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.duowan.kiwi',
name: `虎牙直播`,
groups: [
{
key: 0,
name: '虎牙直播-开屏广告',
name: '开屏广告',
activityIds: [
'com.duowan.kiwi.homepage.Homepage',
'com.duowan.kiwi.adsplash.view.AdSplashActivity',
@ -14,7 +15,7 @@ export default <AppConfig>{
},
{
key: 1,
name: '虎牙直播-关闭青少年模式弹窗',
name: '青少年弹窗',
activityIds: [
'com.duowan.kiwi.homepage.Homepage',
'com.miui.home.launcher.Launcher',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.google.android.youtube',
name: `youtube`,
groups: [
{
key: 0,
name: 'youtube-视频播放-跳过广告',
name: '视频播放-跳过广告',
activityIds:
'com.google.android.apps.youtube.app.watchwhile.WatchWhileActivity',
rules: '[id=`com.google.android.youtube:id/skip_ad_button`]',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.gotokeep.keep',
name: `Keep`,
groups: [
{
key: 0,
name: 'Keep-开屏广告',
name: '开屏广告',
activityIds: 'com.gotokeep.keep.splash.SplashActivity',
rules: '[id=`com.gotokeep.keep:id/textSkip`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.greenpoint.android.mc10086.activity',
name: `中国移动`,
groups: [
{
key: 0,
name: '中国移动-开屏广告',
name: '开屏广告',
activityIds: 'com.mc10086.cmcc.view.tabs.AppTabFragment',
rules:
'[id=`com.greenpoint.android.mc10086.activity:id/video_time_skip`]',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.handsgo.jiakao.android',
name: `驾考宝典`,
groups: [
{
key: 0,
name: '驾考宝典-开屏广告',
name: '开屏广告',
activityIds: 'com.handsgo.jiakao.android.splash.Login',
rules: '[id=`com.handsgo.jiakao.android:id/closeLayout`]',
},

View File

@ -2,21 +2,26 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.hunantv.imgo.activity',
name: `芒果TV`,
groups: [
{
key: -1,
name: `芒果TV-开屏广告`,
name: `开屏广告`,
activityIds: `com.hunantv.imgo.activity.MainActivity`,
rules: [
// https://gkd-kit.gitee.io/import/38517192/0d54f18a-eb7a-498d-a458-32980190042b
`[id="com.hunantv.imgo.activity:id/layout_boot_skip"]`,
// https://gkd-kit.gitee.io/import/38517192/7202bd0a-a5c6-4ec4-9547-bf4ca6d372d0
`TextView[text!=null] - [text^="跳过"]`,
{
matches: `[id="com.hunantv.imgo.activity:id/layout_boot_skip"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/7202bd0a-a5c6-4ec4-9547-bf4ca6d372d0`,
},
{
matches: `TextView[text!=null] - [text^="跳过"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/7202bd0a-a5c6-4ec4-9547-bf4ca6d372d0`,
},
],
},
{
key: 0,
name: '芒果TV-关闭青少年模式提示',
name: '关闭青少年模式提示',
activityIds: [
'com.hunantv.imgo.activity.MainActivity',
'miuix.appcompat.app.m',
@ -25,13 +30,17 @@ export default <AppConfig>{
},
{
key: 1,
name: `芒果TV-首页推荐流-卡片广告`,
name: `首页推荐流-卡片广告`,
activityIds: `com.hunantv.imgo.activity.MainActivity`,
rules: [
// https://gkd-kit.gitee.io/import/38517192/40fb71ad-01a5-4420-9150-88172ff8a3bf
'[id="com.hunantv.imgo.activity:id/close_ad"]',
// https://gkd-kit.gitee.io/import/38517192/b74150b5-8e9f-4cbb-86a7-722fc739a1b8
`@[id="com.hunantv.imgo.activity:id/layout_logo"] > [id="com.hunantv.imgo.activity:id/tv_ad_logo"]`,
{
matches: '[id="com.hunantv.imgo.activity:id/close_ad"]',
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/40fb71ad-01a5-4420-9150-88172ff8a3bf`,
},
{
matches: `@[id="com.hunantv.imgo.activity:id/layout_logo"] > [id="com.hunantv.imgo.activity:id/tv_ad_logo"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/b74150b5-8e9f-4cbb-86a7-722fc739a1b8`,
},
],
},
],

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.hupu.shihuo',
name: `识货`,
groups: [
{
key: 0,
name: '识货-开屏广告',
name: '开屏广告',
activityIds:
'com.shizhi.shihuoapp.module.main.ui.welcome.WelcomeActivity',
rules: '[id=`com.hupu.shihuo:id/fl_countdown`]',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.hxak.liangongbao',
name: `链工宝`,
groups: [
{
key: 0,
name: '链工宝-开屏广告',
name: '开屏广告',
activityIds: 'com.hxak.liangongbao.login.ui.HomeActivity',
rules: '[id=`com.hxak.liangongbao:id/time_down`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.icbc',
name: `中国工商银行`,
groups: [
{
key: 0,
name: '中国工商银行-第一次启动提示',
name: '第一次启动提示',
activityIds: 'com.icbc.activity.init.SplashActivity',
rules: '[id=`com.icbc:id/close_btn`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.intsig.camscanner',
name: `扫描全能王`,
groups: [
{
key: 0,
name: '扫描全能王-开屏vip提示',
name: '开屏vip提示',
activityIds: 'com.intsig.camscanner.guide.guidevideo.GuideVideoActivity',
rules: '[id=`com.intsig.camscanner:id/tv_drop_cnl_close_new`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.iqiyi.hotchat',
name: `爱奇艺热聊`,
groups: [
{
key: 0,
name: '爱奇艺热聊-开屏广告',
name: '开屏广告',
activityIds: 'com.iqiyi.hotchat.ui.activity.AdvertisementActivity',
rules: '[id=`com.iqiyi.hotchat:id/tv_advertisement_lunch_skip`]',
},

14
src/apps/com.jym.mall.ts Normal file
View File

@ -0,0 +1,14 @@
import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.jym.mall',
name: `交易猫`,
groups: [
{
key: 0,
name: `升级弹窗`,
rules: `[id="com.jym.mall:id/tv_cancel"][text="下次再说"]`,
snapshotUrls: `https://gkd-kit.gitee.io/import/12496974`,
},
],
};

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.kmxs.reader',
name: `七猫免费小说`,
groups: [
{
key: 0,
name: '七猫免费小说-关闭青少年模式',
name: '关闭青少年模式',
activityIds: 'com.kmxs.reader.home.ui.HomeActivity',
rules: '[id=`com.kmxs.reader:id/young_dialog_close`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.kuaikan.comic',
name: `快看`,
groups: [
{
key: 0,
name: '快看-开屏广告',
name: '开屏广告',
activityIds: 'com.kuaikan.comic.ui.AdvertisementActivity',
rules: '[id=`com.kuaikan.comic:id/skip_button`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.kugou.android',
name: `酷狗音乐`,
groups: [
{
key: 0,
name: '酷狗音乐-开屏广告',
name: '开屏广告',
activityIds: 'com.kugou.android.app.splash.SplashActivity',
rules: '[desc=`跳过`]',
},

View File

@ -2,13 +2,14 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.kwai.videoeditor',
name: `快影`,
groups: [
{
key: 0,
name: `快影-开屏广告`,
name: `开屏广告`,
activityIds: `com.kwai.videoeditor.activity.splash.InnerVideoSplashActivity`,
// https://gkd-kit.gitee.io/import/38517192/d12c3b08-8233-4584-b2b9-595ebb4ce665
rules: [`Button[text="跳过"]`],
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/d12c3b08-8233-4584-b2b9-595ebb4ce665`,
},
],
};

View File

@ -2,20 +2,21 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.mihoyo.hyperion',
name: `米游社`,
groups: [
{
key: 0,
name: '米游社-开屏广告',
name: '开屏广告',
activityIds: [
'com.mihoyo.hyperion.ui.SplashActivity',
`com.mihoyo.hyperion.splash.SplashActivity`,
],
// https://gkd-kit.gitee.io/import/12482738
rules: '[id=`com.mihoyo.hyperion:id/mSplashBtJump`]',
snapshotUrls: `https://gkd-kit.gitee.io/import/12482738`,
},
{
key: 1,
name: '米游社-青少年模式',
name: '青少年模式',
desc: '关闭青少年模式提醒弹窗',
rules: 'TextView[id=`com.mihoyo.hyperion:id/tv_dialog_i_know`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.miui.player',
name: `小米音乐`,
groups: [
{
key: 0,
name: '小米音乐-开屏广告',
name: '开屏广告',
activityIds: 'com.tencent.qqmusiclite.activity.MainActivity',
rules:
'@TextView[text$=`跳过`] + TextView[id=`com.miui.player:id/ad_view`]',

View File

@ -2,16 +2,17 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.miui.systemAdSolution',
name: `miui系统广告`,
groups: [
{
key: 0,
name: 'miui任意app开屏广告',
name: '任意app开屏广告',
rules: '[id=`com.miui.systemAdSolution:id/view_skip_button`]',
},
{
key: 1,
name: 'miui-为什么不希望看到这条推广',
desc: '关闭这个提示',
desc: `关闭这个提示,使用ADB禁用广告组件时,点击此按钮无反应`,
activityIds: 'com.xiaomi.ad.feedback',
rules: '[id=`com.miui.systemAdSolution:id/no_interest`]',
},

View File

@ -2,13 +2,14 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.mt.mtxx.mtxx',
name: `美图秀秀`,
groups: [
{
key: 0,
name: '美图秀秀-开屏广告',
name: '开屏广告',
activityIds: 'com.meitu.business.ads.core.activity.AdActivity',
// https://gkd-kit.gitee.io/import/38517192/1f56aa17-c290-4e56-b6fb-a94bc778448b
rules: '[text=`跳过广告`]',
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/1f56aa17-c290-4e56-b6fb-a94bc778448b`,
},
],
};

View File

@ -2,26 +2,29 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.netease.cloudmusic',
name: `网易云音乐`,
groups: [
{
key: 0,
name: '网易云音乐-开屏广告',
name: '开屏广告',
activityIds: 'com.netease.cloudmusic.activity.MainActivity',
rules: 'TextView[text^=`跳过`][id=`com.netease.cloudmusic:id/skipBtn`]',
},
{
key: 1,
name: `网易云音乐-广告卡片`,
name: `广告卡片`,
rules: [
{
// https://gkd-kit.songe.li/import/38517192/fea3449b-d642-4d75-929f-490421cc9080
activityIds: `com.netease.cloudmusic.module.ad.feedback.AdFeedbackBottomSheet`,
matches: `[text="直接关闭"]`,
snapshotUrls: [
`https://gkd-kit.songe.li/import/38517192/fea3449b-d642-4d75-929f-490421cc9080`,
],
},
{
// https://gkd-kit.songe.li/import/38517192/a977b19d-2b3c-43df-ba01-63e7cbbb3908
activityIds: `com.netease.cloudmusic.activity.MainActivity`,
matches: `[id="com.netease.cloudmusic:id/adTagClose"]`,
snapshotUrls: `https://gkd-kit.songe.li/import/38517192/a977b19d-2b3c-43df-ba01-63e7cbbb3908`,
},
],
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.qidian.QDReader',
name: `起点读书`,
groups: [
{
key: 0,
name: '起点读书-开屏广告',
name: '开屏广告',
activityIds: 'com.qidian.QDReader.ui.activity.SplashADActivity',
rules: 'Button[text^=`跳过`]',
},

View File

@ -2,19 +2,29 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.qiyi.video',
name: `爱奇艺`,
groups: [
{
key: 0,
name: 'iqiyi-开屏广告',
name: '开屏广告',
activityIds: 'org.qiyi.android.video.MainActivity',
rules:
'@FrameLayout[id=`com.qiyi.video:id/unused_res_a`] > LinearLayout[id=null] > TextView[text=`关闭`][id=`com.qiyi.video:id/unused_res_a`]',
},
{
key: 1,
name: 'iqiyi-关闭青少年模式弹窗',
name: '青少年弹窗',
activityIds: 'org.qiyi.basecore.widget.dialog.AlertDialogBottom1',
rules: 'Button[id=`com.qiyi.video:id/confirm_btn`][text=`我知道了`]',
},
{
key: 2,
name: `我的-顶部广告`,
activityIds: `org.qiyi.android.video.MainActivity`,
snapshotUrls: `https://gkd-kit.gitee.io/import/12495050`,
rules: [
`[id="com.qiyi.video:id/unused_res_a"] > [id="com.qiyi.video:id/close"]`,
],
},
],
};

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.quark.browser',
name: `夸克浏览器`,
groups: [
{
key: 0,
name: '夸克浏览器-小说阅读页面底部广告',
name: '小说阅读页面底部广告',
activityIds: 'com.ucpro.BrowserActivity',
rules: [
'[id=`com.quark.browser:id/tv_close_ad`][text=`关闭广告`]',

View File

@ -2,17 +2,18 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.sankuai.meituan.takeoutnew',
name: `美团外卖`,
groups: [
{
key: 0,
name: '美团外卖-开屏广告',
name: '开屏广告',
activityIds:
'com.sankuai.meituan.takeoutnew.ui.page.boot.SplashAdActivity',
rules: 'TextView[text*=`跳过`]',
},
{
key: 1,
name: `美团外卖-关闭更新提醒弹窗`,
name: `关闭更新弹窗`,
activityIds: `com.sankuai.waimai.business.page.homepage.widget.dialog.UpdateForceInstallDialog`,
rules: [
`[id='com.sankuai.meituan.takeoutnew:id/wm_upgrade_force_cancel']`, // 1686969252896
@ -20,7 +21,7 @@ export default <AppConfig>{
},
{
key: 2,
name: `美团外卖-关闭弹窗美食广告`,
name: `关闭美食广告弹窗`,
activityIds: `com.sankuai.waimai.platform.mach.dialog.DynamicDialog`,
rules: [
`@[desc='关闭'][clickable=true] > ImageView`, // 1686969062508

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.sankuai.meituan',
name: `美团`,
groups: [
{
key: 0,
name: '美团-开屏广告',
name: '开屏广告',
activityIds: 'com.meituan.android.pt.homepage.activity.MainActivity',
rules: 'TextView[id=`com.sankuai.meituan:id/close_btn`][text^=`跳过`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.sdu.didi.psnger',
name: `滴滴`,
groups: [
{
key: 0,
name: '滴滴-开屏广告',
name: '开屏广告',
activityIds: 'com.didi.sdk.app.launch.splash.SplashActivity',
rules: '[id=`com.sdu.didi.psnger:id/skip_ad_ll`]',
},

View File

@ -2,22 +2,23 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.sina.weibo',
name: `微博`,
groups: [
{
key: 0,
name: '微博-开屏广告',
name: '开屏广告',
activityIds: 'com.sina.weibo.mobileads.view.',
rules: ['@RelativeLayout > TextView[text=`跳过`]'],
},
{
key: 1,
name: '微博-评论区顶部-相关推荐',
name: '评论区顶部-相关推荐',
activityIds: 'com.sina.weibo.feed.DetailWeiboActivity',
rules: 'ImageView[id=`com.sina.weibo:id/iv_ad_x`]',
},
{
key: 2,
name: `微博-关闭不感兴趣广告弹窗`,
name: `关闭不感兴趣广告弹窗`,
activityIds: `com.sina.weibo.view.bottomsheet.dialog.`,
rules: [[`[text="为何会看到此广告"]`, `[text="不感兴趣"]`]], // 1688889362832
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.smile.gifmaker',
name: `快手`,
groups: [
{
key: 0,
name: '快手-关闭青少年模式弹窗',
name: '关闭青少年弹窗',
activityIds: 'com.yxcorp.gifshow.HomeActivity',
rules:
'@[id=`com.smile.gifmaker:id/positive`] + [id=`com.smile.gifmaker:id/set_teenage_mode`]',

View File

@ -2,19 +2,20 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.snda.wifilocating',
name: `WiFi万能钥匙`,
groups: [
{
key: -1,
name: `WiFi万能钥匙-开屏广告`,
name: `开屏广告`,
activityIds: `com.lantern.launcher.ui.MainActivity`,
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/4d6fdd1e-28ec-4b61-86e2-641b7b5b8899`,
rules: [
// https://gkd-kit.gitee.io/import/38517192/4d6fdd1e-28ec-4b61-86e2-641b7b5b8899
`TextView[text="广告"] -3 RelativeLayout > TextView[text*="跳过"]`,
],
},
{
key: 0,
name: 'WiFi万能钥匙-内部广告',
name: '内部广告',
activityIds: 'com.lantern.launcher.ui.MainActivityICS',
rules: [
{

View File

@ -2,12 +2,15 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.ss.android.article.video',
name: `西瓜视频`,
groups: [
{
key: 0,
name: `西瓜视频-关闭青少年模式弹窗`,
activityIds: `com.ixigua.commonui.uikit.dialog.XGAlertDialog`,
// https://gkd-kit.gitee.io/import/38517192/78f0c1f6-e8da-4bc4-acd3-5e6dc056b044
snapshotUrls: [
`https://gkd-kit.gitee.io/import/38517192/78f0c1f6-e8da-4bc4-acd3-5e6dc056b044`,
],
rules: [`TextView[text="我知道了"][clickable=true]`],
},
],

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.ss.android.ugc.aweme',
name: `抖音`,
groups: [
{
key: 0,
name: '抖音-青少年模式弹窗',
name: `关闭青少年弹窗`,
rules: 'Button[text=`开启青少年模式`] + * > Button[text!=null]',
},
],

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: `com.taobao.taobao`,
name: `淘宝`,
groups: [
{
key: 0,
name: `淘宝-开屏广告`,
name: `开屏广告`,
activityIds: `com.taobao.bootimage.activity.BootImageActivity`,
rules: `[id='com.taobao.taobao:id/close']`, // 1687596777612
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.androidqqmail',
name: `qq邮箱`,
groups: [
{
key: 0,
name: 'qq邮箱-广告邮件-列表卡片广告',
name: '广告邮件-列表卡片广告',
activityIds: 'com.tencent.qqmail.fragment.base.MailFragmentActivity',
rules: [
'TextView[text=`赞助商提供的广告`] <n FrameLayout <n ListView[id=`com.tencent.androidqqmail:id/pop_up_list`] TextView[text=`不感兴趣`]',

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.djcity',
name: `掌上道聚城`,
groups: [
{
key: 0,
name: '掌上道聚城-开屏广告',
name: '开屏广告',
activityIds: 'com.tencent.djcity.activities.homepage.PortalActivity',
rules: '[id=`com.tencent.djcity:id/ad_view_ll_skip`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.karaoke',
name: `全民K歌`,
groups: [
{
key: 0,
name: '全民K歌-开屏广告',
name: '开屏广告',
activityIds: 'com.tencent.karaoke.module.splash.ui.SplashAdDialog',
rules: '[text*=`跳过`][id!=null]',
},

View File

@ -2,13 +2,16 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.mm',
name: `微信`,
groups: [
{
key: 0,
name: '微信朋友圈广告',
name: '关闭朋友圈广告',
desc: '朋友圈信息流广告,点击关闭按钮,确认关闭',
activityIds: 'com.tencent.mm.plugin.sns.ui.SnsTimeLineUI',
// video https://github.com/gkd-kit/subscription/assets/38517192/c9ae4bba-a748-4755-b5e4-c7ad3d489a79
exampleUrls: [
`https://github.com/gkd-kit/subscription/assets/38517192/c9ae4bba-a748-4755-b5e4-c7ad3d489a79`,
],
rules: [
'TextView[text*=`广告`] + TextView[text=`关闭该广告`]',
'ImageView - TextView[text=`广告`][id!=null][index=0]',
@ -16,19 +19,19 @@ export default <AppConfig>{
},
{
key: 1,
name: '微信电脑快捷自动登录',
name: '电脑微信快捷自动登录',
activityIds: '.plugin.webwx.ui.ExtDeviceWXLoginUI',
rules: 'TextView[text=`取消登录`] - Button[text=`登录`]',
},
{
key: 2,
name: '微信电脑第三方登录自动授权',
name: '浏览器扫码微信登录自动授权',
activityIds: ['com.tencent.mm.plugin.webview.ui.tools.SDKOAuthUI'],
rules: 'Button[text=`拒绝`] - Button[text=`允许`]',
},
{
key: 3,
name: '微信手机第三方app申请使用',
name: '微信手机第三方APP申请使用',
desc: '自动点击同意',
rules: [
'TextView + TextView[text=`申请使用`]',

View File

@ -2,16 +2,17 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.mobileqq',
name: `QQ`,
groups: [
{
key: 0,
name: 'QQ-开屏广告',
name: '开屏广告',
activityIds: 'com.tencent.mobileqq.activity.SplashActivity',
rules: '[text*=`跳过`]',
},
{
key: 1,
name: `QQ-消息页面-顶部广告`,
name: `消息页面-顶部广告`,
activityIds: `com.tencent.mobileqq.activity.SplashActivity`,
rules: [
`ImageView[id!=null][desc='关闭'][clickable=true]`, // 1687669217838
@ -19,7 +20,7 @@ export default <AppConfig>{
},
{
key: 2,
name: `QQ-好友动态-广告卡片`,
name: `好友动态-广告卡片`,
rules: [
{
activityIds: `com.tencent.qqlive.module.videoreport.inject.dialog.ReportDialog`,

View File

@ -2,16 +2,21 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.mtt',
name: `QQ浏览器`,
groups: [
{
key: 0,
name: 'QQ浏览器-开屏广告',
name: '开屏广告',
activityIds: 'com.tencent.mtt.MainActivity',
rules: [
'@View[id=null] + ImageView + FrameLayout TextView[text=`向上滑动或点击查看`]',
// https://gkd-kit.gitee.io/import/38517192/7d8e9661-c29a-4448-94c2-d7b0a1756107
`@LinearLayout[clickable=true] > TextView[text="跳过"]`,
{
matches: `@LinearLayout[clickable=true] > TextView[text="跳过"]`,
snapshotUrls: [
`https://gkd-kit.gitee.io/import/38517192/7d8e9661-c29a-4448-94c2-d7b0a1756107`,
],
},
],
},
],

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.qqlive',
name: `腾讯视频`,
groups: [
{
key: 0,
name: '腾讯视频-开屏广告',
name: '开屏广告',
activityIds: 'com.tencent.qqlive.ona.activity.SplashHomeActivity',
rules: [
'TextView[text*=`互动广告`] < LinearLayout < FrameLayout + FrameLayout > TextView[text=`跳过`]',
@ -14,7 +15,7 @@ export default <AppConfig>{
},
{
key: 1,
name: '腾讯视频-青少年模式弹窗',
name: '关闭青少年弹窗',
activityIds:
'com.tencent.qqlive.ona.update.trunk.client.TrunkUpdateActivity',
rules:

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.qqmusic',
name: `QQ音乐`,
groups: [
{
key: 0,
name: 'QQ音乐-开屏广告',
name: '开屏广告',
activityIds: [
'com.tencent.qqmusic.activity.AppStarterActivity',
'com.tencent.qqmusic.business.splash.thirdpartsplash.tme.union.SplashDialog',
@ -14,7 +15,7 @@ export default <AppConfig>{
},
{
key: 1,
name: 'QQ音乐-推荐页-广告卡片',
name: '推荐页-广告卡片',
activityIds: 'com.tencent.qqmusic.activity.AppStarterActivity',
rules: [
`@LinearLayout[clickable=true] > TextView[text='广告'] + ImageView`, // 1688045698846

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.tencent.qt.sns',
name: `掌上穿越火线`,
groups: [
{
key: 0,
name: '掌上穿越火线-开屏广告',
name: '开屏广告',
activityIds: 'com.tencent.gamehelper.ui.main.WelcomeActivity',
rules: '[id=`com.tencent.qt.sns:id/tv_timer`][text$=`跳过`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.xiaomi.market',
name: `小米应用商店`,
groups: [
{
key: 0,
name: '小米应用商店-首页悬浮窗广告',
name: '首页悬浮窗广告',
activityIds: 'com.xiaomi.market.ui.FloatWebActivity',
rules: "Button[text='关闭']",
},

View File

@ -2,13 +2,16 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.xiaomi.shop',
name: `小米商城`,
groups: [
{
key: 0,
name: `小米商城-开屏广告`,
name: `开屏广告`,
activityIds: `com.xiaomi.shop.activity.MainTabActivity`,
rules: `[id="com.xiaomi.shop:id/skip"]`,
// https://gkd-kit.gitee.io/import/38517192/9083b291-43f8-4d92-a506-a9dc6ed0156f
snapshotUrls: [
`https://gkd-kit.gitee.io/import/38517192/9083b291-43f8-4d92-a506-a9dc6ed0156f`,
],
},
],
};

View File

@ -2,13 +2,16 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.ximalaya.ting.android',
name: `喜马拉雅`,
groups: [
{
key: 0,
name: `喜马拉雅-右侧浮动广告`,
name: `首页右侧浮动广告`,
activityIds: `com.ximalaya.ting.android.host.activity.MainActivity`,
// https://gkd-kit.gitee.io/import/38517192/45664dfb-b8e6-4bdb-b5bb-9852c7a86a2f
rules: `[id="com.ximalaya.ting.android:id/main_ad_broadside_close_real"]`,
snapshotUrls: [
`https://gkd-kit.gitee.io/import/38517192/45664dfb-b8e6-4bdb-b5bb-9852c7a86a2f`,
],
},
],
};

View File

@ -2,20 +2,21 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.ximalaya.ting.lite',
name: `喜马拉雅极速版`,
groups: [
{
key: 0,
name: '喜马拉雅极速版-首页-推荐-卡片广告',
activityIds: 'com.ximalaya.ting.android.host.activity.MainActivity',
rules: "[id='com.ximalaya.ting.lite:id/main_ad_top_home_iv_close']",
},
{
key: 1,
name: `喜马拉雅极速版-开屏广告`,
name: `开屏广告`,
activityIds: `com.ximalaya.ting.android.host.activity.WelComeActivity`,
rules: [
`[id="com.ximalaya.ting.lite:id/host_common_time_countdown_text_view"]`,
],
},
{
key: 0,
name: '首页-推荐-卡片广告',
activityIds: 'com.ximalaya.ting.android.host.activity.MainActivity',
rules: "[id='com.ximalaya.ting.lite:id/main_ad_top_home_iv_close']",
},
],
};

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.xunlei.downloadprovider',
name: `迅雷`,
groups: [
{
key: 0,
name: '迅雷-开屏广告',
name: '开屏广告',
activityIds: 'com.xunlei.downloadprovider.launch.LaunchActivity',
rules: 'TextView[text^=`跳过`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.yek.android.kfc.activitys',
name: `肯德基`,
groups: [
{
key: 0,
name: '肯德基-开屏广告',
name: '开屏广告',
activityIds: 'com.yum.android.superkfc.ui.v5.HomeV5Activity',
rules: '[id=`com.yek.android.kfc.activitys:id/splash_tv_3`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.yipiao',
name: `智行火车票12306抢票`,
groups: [
{
key: 0,
name: '智行火车票12306抢票-开屏广告',
name: '开屏广告',
activityIds: 'com.app.main.entrance.MainActivity',
rules: 'LinearLayout > TextView + TextView[text=`跳过`]',
},

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.zhihu.android',
name: `知乎`,
groups: [
{
key: 0,
name: '知乎-开屏广告',
name: '开屏广告',
activityIds: [
'com.zhihu.android.app.ui.activity.LauncherActivity',
'com.zhihu.android.app.ui.activity.LaunchAdActivity',
@ -16,7 +17,7 @@ export default <AppConfig>{
},
{
key: 1,
name: '知乎-关闭广告弹窗',
name: '关闭广告弹窗',
desc: '点击 关闭广告按钮 之后出现的广告弹窗',
activityIds: [
'com.zhihu.android.ContentActivity',
@ -27,7 +28,7 @@ export default <AppConfig>{
},
{
key: 2,
name: '知乎-关闭广告原因',
name: '关闭广告原因',
desc: '点击 关闭广告按钮 之后出现的选择原因',
activityIds: 'com.zhihu.android.ContentActivity',
rules: [
@ -37,7 +38,7 @@ export default <AppConfig>{
},
{
key: 3,
name: '知乎-关闭推荐',
name: '关闭推荐',
desc: '关闭回答底部其他回答',
activityIds: 'com.zhihu.android.mix.activity.ContentMixProfileActivity',
rules: [
@ -46,7 +47,7 @@ export default <AppConfig>{
},
{
key: 5,
name: '知乎-推荐页广告卡片',
name: '推荐页广告卡片',
desc: `赚稿费广告卡片,盐选推荐广告,知乎学课堂,汽车广告`,
activityIds: 'com.zhihu.android.app.ui.activity.MainActivity',
rules: [
@ -87,13 +88,13 @@ export default <AppConfig>{
},
{
key: 8,
name: '知乎-关闭首页广告',
name: '关闭首页广告',
activityIds: 'com.zhihu.android.app.ui.activity.AdAlphaVideoActivity',
rules: '[id=`com.zhihu.android:id/tv_ad_close`]',
},
{
key: 9,
name: `知乎-推荐页-顶部广告`,
name: `推荐页-顶部广告`,
activityIds: `com.zhihu.android.app.ui.activity.MainActivity`,
rules: [
`[id='com.zhihu.android:id/tv_ad_tag'] + [id='com.zhihu.android:id/img_close_focus']`, // 1686911063850

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'com.zidongdianji',
name: `自动点击器`,
groups: [
{
key: 0,
name: '自动点击器-开屏广告',
name: '开屏广告',
activityIds: 'com.autoclicker.clicker.ads.SplashActivity',
rules: [
'[id=`com.byted.pangle:id/tt_splash_skip_btn`]',
@ -14,7 +15,7 @@ export default <AppConfig>{
},
{
key: 1,
name: '自动点击器-首页顶部广告卡片',
name: '首页顶部广告卡片',
activityIds: 'com.autoclicker.clicker.MainActivity',
rules: [
{

View File

@ -2,15 +2,14 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'ctrip.android.view',
name: `携程旅行`,
groups: [
{
key: 0,
name: `携程旅行-开屏广告`,
name: `开屏广告`,
activityIds: `ctrip.android.publicproduct.home.view.CtripHomeActivity`,
rules: [
// https://gkd-kit.gitee.io/import/38517192/104f3807-7613-46ff-9eb2-3c8bcb6ee3b1
`LinearLayout[childCount=2] > TextView + TextView[text="跳过"]`,
],
snapshotUrls: `https://gkd-kit.gitee.io/import/38517192/104f3807-7613-46ff-9eb2-3c8bcb6ee3b1`,
rules: [`LinearLayout[childCount=2] > TextView + TextView[text="跳过"]`],
},
],
};

View File

@ -2,20 +2,21 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'gov.pianzong.androidnga',
name: `NGA玩家社区`,
groups: [
{
key: 0,
name: `NGA玩家社区-开屏广告`,
name: `开屏广告`,
activityIds: `gov.pianzong.androidnga.activity.LoadingActivity`,
// https://gkd-kit.gitee.io/import/12476484
rules: [`[id="gov.pianzong.androidnga:id/iv_tg_ad"]`],
snapshotUrls: `https://gkd-kit.gitee.io/import/12476484`,
},
{
key: 1,
name: `NGA玩家社区-首页-推荐-广告卡片`,
name: `首页-推荐-广告卡片`,
activityIds: `com.donews.nga.activitys.MainActivity`,
// https://gkd-kit.gitee.io/import/12482727
rules: [`[id="gov.pianzong.androidnga:id/iv_close_ad"]`],
snapshotUrls: `https://gkd-kit.gitee.io/import/12482727`,
},
],
};

View File

@ -2,6 +2,7 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'li.songe.gkd',
name: `GKD`,
groups: [
{
key: 0,

View File

@ -2,10 +2,11 @@ import type { AppConfig } from '../types';
export default <AppConfig>{
id: 'tv.danmaku.bili',
name: `B站`,
groups: [
{
key: -1,
name: 'B站-开屏广告',
name: '开屏广告',
desc: '开屏广告,切回APP开屏广告',
rules: 'TextView[id=`tv.danmaku.bili:id/count_down`]',
},

View File

@ -15,6 +15,16 @@ const iArrayToArray = <T>(array: IArray<T> = []): T[] => {
return Array<T>().concat(array);
};
const sortKeys: (keyof SubscriptionConfig)[] = [
`id`,
`name`,
`version`,
`author`,
'supportUri',
`updateUrl`,
`apps`,
];
export const writeConfig = async (fp: string, config: SubscriptionConfig) => {
const filePath = relativePath(fp);
const newConfig: SubscriptionConfig = { ...config };
@ -28,7 +38,54 @@ export const writeConfig = async (fp: string, config: SubscriptionConfig) => {
return;
}
newConfig.version++;
checkConfig(newConfig);
// keep json key sort by map
const map = new Map<string, unknown>();
sortKeys.forEach((k) => {
if (newConfig[k] === undefined) return;
map.set(k, newConfig[k]);
});
const buffer = Buffer.from(
JSON.stringify(Object.fromEntries(map.entries()), void 0, 2),
'utf-8',
);
await fs.writeFile(filePath, buffer);
const newPkg = { ...selfPkg, version: `0.0.` + newConfig.version };
await fs.writeFile(
relativePath('../package.json'),
JSON.stringify(newPkg, void 0, 2) + `\n`,
);
await updateReadMeMd(newConfig);
console.log({
mtime: dayjs().format(`HH:mm:ss`),
name: newConfig.name,
size: (buffer.length / 1024).toFixed(3) + `KB`,
version: newConfig.version,
});
};
export async function* walk(dirPath: string) {
const pathnames = (await fs.readdir(dirPath)).map((s) =>
path.join(dirPath, s),
);
while (pathnames.length > 0) {
const pathname = pathnames.pop()!;
const state = await fs.lstat(pathname);
if (state.isFile()) {
yield pathname;
} else if (state.isDirectory()) {
pathnames.push(
...(await fs.readdir(pathname)).map((s) => path.join(pathname, s)),
);
}
}
}
export const checkConfig = (newConfig: SubscriptionConfig) => {
// check duplicated group key
newConfig.apps?.forEach((app) => {
const keys = new Set<number>();
@ -76,16 +133,6 @@ export const writeConfig = async (fp: string, config: SubscriptionConfig) => {
});
});
});
const sortKeys: (keyof SubscriptionConfig)[] = [
`id`,
`name`,
`version`,
`author`,
'supportUri',
`updateUrl`,
`apps`,
];
const newKeys = Object.keys(newConfig) as (keyof SubscriptionConfig)[];
if (newKeys.some((s) => !sortKeys.includes(s))) {
console.log({
@ -94,45 +141,80 @@ export const writeConfig = async (fp: string, config: SubscriptionConfig) => {
});
throw new Error(`sortKeys miss some new key`);
}
// keep json key sort by map
const map = new Map<string, unknown>();
sortKeys.forEach((k) => {
if (newConfig[k] === undefined) return;
map.set(k, newConfig[k]);
});
const buffer = Buffer.from(
JSON.stringify(Object.fromEntries(map.entries()), void 0, 2),
'utf-8',
);
await fs.writeFile(filePath, buffer);
const newPkg = { ...selfPkg, version: `0.0.` + newConfig.version };
await fs.writeFile(
relativePath('../package.json'),
JSON.stringify(newPkg, void 0, 2) + `\n`,
);
console.log({
mtime: dayjs().format(`HH:mm:ss`),
name: newConfig.name,
size: (buffer.length / 1024).toFixed(3) + `KB`,
version: newConfig.version,
});
};
export async function* walk(dirPath: string) {
const pathnames = (await fs.readdir(dirPath)).map((s) =>
path.join(dirPath, s),
);
while (pathnames.length > 0) {
const pathname = pathnames.pop()!;
const state = await fs.lstat(pathname);
if (state.isFile()) {
yield pathname;
} else if (state.isDirectory()) {
pathnames.push(
...(await fs.readdir(pathname)).map((s) => path.join(pathname, s)),
);
export const updateReadMeMd = async (newConfig: SubscriptionConfig) => {
const mdTemplate = await fs.readFile(relativePath('../Template.md'), 'utf-8');
const appListText = newConfig.apps
.map((app) => {
const appMdText = `### [${app.id}](/src/apps/${app.id}.ts) - ${app.name}\n`;
const groupMdText = app.groups
?.map((group) => {
const groupNameMdText =
`- ${group.name}` +
(group.desc ? ` - ${group.desc}` : ``).trimEnd();
const exampleUrls: string[] = [];
exampleUrls.push(...iArrayToArray(group.exampleUrls));
iArrayToArray(group.rules)
.map((r) =>
typeof r == 'string' ? [] : iArrayToArray(r.exampleUrls),
)
.flat()
.forEach((u) => {
if (u) {
exampleUrls.push(u);
}
});
const exampleMdText = exampleUrls
.map((u, i) => {
if (u) {
return ` - [示例-${i}](${u})`;
}
})
.join(`\n`)
.trimEnd();
const snapshotUrls: string[] = [];
snapshotUrls.push(...iArrayToArray(group.snapshotUrls));
iArrayToArray(group.rules)
.map((r) =>
typeof r == 'string' ? [] : iArrayToArray(r.snapshotUrls),
)
.flat()
.forEach((u) => {
if (u) {
snapshotUrls.push(u);
}
});
const snapshotMdText = snapshotUrls
.map((u, i) => {
if (u) {
return ` - [快照-${i}](${u})`;
}
})
.join(`\n`);
return [groupNameMdText, exampleMdText, snapshotMdText]
.filter((s) => s)
.join(`\n`)
.trimEnd();
})
.join(`\n`)
.trimEnd();
return [appMdText, groupMdText].join(`\n`).trimEnd();
})
.join(`\n\n`)
.trimEnd();
const readMeMdText = mdTemplate
.replace(`--APP_SIZE--`, newConfig.apps.length.toString())
.replace(
`--GROUP_SIZE--`,
newConfig.apps
.reduce((p, c) => p + (c.groups?.length || 0), 0)
.toString(),
)
.replace(`--APP_LIST--`, appListText);
await fs.writeFile(relativePath(`../README.md`), readMeMdText);
};

View File

@ -33,6 +33,7 @@ type CommonProps = {
export type AppConfig = {
id: string;
name: string;
groups?: GroupConfig[];
} & CommonProps;
@ -46,6 +47,8 @@ type GroupConfig = {
desc?: string;
enable?: boolean;
rules?: IArray<RuleConfig | string>;
snapshotUrls?: IArray<string>;
exampleUrls?: IArray<string>;
} & CommonProps;
type RuleConfig = {
@ -54,6 +57,8 @@ type RuleConfig = {
matches?: IArray<string>;
excludeMatches?: IArray<string>;
preKeys?: IArray<number>;
snapshotUrls?: IArray<string>;
exampleUrls?: IArray<string>;
} & CommonProps;
export type SubscriptionConfig = {