From af245d2babc245663756ae0e7882e0f33307d5e8 Mon Sep 17 00:00:00 2001 From: SHAREit Date: Fri, 16 Oct 2026 15:14:47 +0800 Subject: [PATCH] fix: allow generated data outputs --- README.md | 2 +- data/20261010.json | 1 + data/20261011.json | 1 + data/20261012.json | 1 + data/20261013.json | 1 + data/20261014.json | 1 + data/20261015.json | 1 + data/20261016.json | 1 + data/index.json | 34 ++++++++++++++++++++++++++++++++ scripts/af_click_gap_pipeline.py | 9 ++++----- 10 files changed, 46 insertions(+), 6 deletions(-) create mode 100755 data/20261010.json create mode 100755 data/20261011.json create mode 100755 data/20261012.json create mode 100755 data/20261013.json create mode 100755 data/20261014.json create mode 100755 data/20261015.json create mode 100755 data/20261016.json create mode 100755 data/index.json diff --git a/README.md b/README.md index 1fc06a5..3f18462 100755 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ python3 scripts/af_click_gap_pipeline.py --no-push # 写 JSON 和 commit, python3 scripts/af_click_gap_pipeline.py --start-date 2026-10-10 --end-date 2026-10-16 --no-push ``` -`--dry-run` 只读取数据库并在仓库外临时目录生成、校验 JSON,不写 `data` 或 Git。正式运行先原子替换数据文件,再执行 Git;数据库查询或校验失败不会发布文件。push 失败会保留本地 commit,不会 force push。工作区存在本任务之外的未提交改动时,脚本拒绝继续。 +`--dry-run` 只读取数据库并在仓库外临时目录生成、校验 JSON,不写 `data` 或 Git。正式运行先原子替换 `data/` 输出目录中的数据文件,再执行 Git;数据库查询或校验失败不会发布文件。Git 安全检查只允许本次生成的 `data/*.json`(含 `data/index.json`),工作区存在其它未提交改动时拒绝继续。push 失败会保留本地 commit,不会 force push。 ## 看板 diff --git a/data/20261010.json b/data/20261010.json new file mode 100755 index 0000000..9ed9866 --- /dev/null +++ b/data/20261010.json @@ -0,0 +1 @@ +[{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsaga","shareit_clicks":3889752,"af_clicks":0,"installs_ua":0,"clicks_diff":3889752,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.kwai.bulldog","shareit_clicks":1090899,"af_clicks":0,"installs_ua":0,"clicks_diff":1090899,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"ru.ozon.app.android","shareit_clicks":755145,"af_clicks":0,"installs_ua":0,"clicks_diff":755145,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.amazon.mShop.android.shopping","shareit_clicks":673596,"af_clicks":0,"installs_ua":0,"clicks_diff":673596,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsodasaga","shareit_clicks":430698,"af_clicks":0,"installs_ua":0,"clicks_diff":430698,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"asrtum.ent.domovyata","shareit_clicks":330009,"af_clicks":0,"installs_ua":0,"clicks_diff":330009,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"tech.jm","shareit_clicks":265120,"af_clicks":0,"installs_ua":0,"clicks_diff":265120,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically.go","shareit_clicks":169211,"af_clicks":0,"installs_ua":0,"clicks_diff":169211,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"astrum.ent.m2alyona","shareit_clicks":164517,"af_clicks":0,"installs_ua":0,"clicks_diff":164517,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.reels.cash.video.app","shareit_clicks":100608,"af_clicks":0,"installs_ua":0,"clicks_diff":100608,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.fxpro.direct.application","shareit_clicks":67006,"af_clicks":0,"installs_ua":0,"clicks_diff":67006,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.peramoo","shareit_clicks":56662,"af_clicks":0,"installs_ua":0,"clicks_diff":56662,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.krom.android","shareit_clicks":26466,"af_clicks":0,"installs_ua":0,"clicks_diff":26466,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"sports.caliente.mx.calientedeportes","shareit_clicks":25913,"af_clicks":0,"installs_ua":0,"clicks_diff":25913,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.cntrctfft","shareit_clicks":25108,"af_clicks":0,"installs_ua":0,"clicks_diff":25108,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.iqoption","shareit_clicks":11044,"af_clicks":0,"installs_ua":0,"clicks_diff":11044,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.lttlefirykng","shareit_clicks":8205,"af_clicks":0,"installs_ua":0,"clicks_diff":8205,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.pinjoy.game.app","shareit_clicks":4902,"af_clicks":0,"installs_ua":0,"clicks_diff":4902,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"org.melbet.vac","shareit_clicks":4413,"af_clicks":0,"installs_ua":0,"clicks_diff":4413,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.wings.bene.ph","shareit_clicks":4342,"af_clicks":0,"installs_ua":0,"clicks_diff":4342,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.bet88.si","shareit_clicks":3679,"af_clicks":0,"installs_ua":0,"clicks_diff":3679,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"za.co.nedbank","shareit_clicks":2846,"af_clicks":0,"installs_ua":0,"clicks_diff":2846,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"ru.rosfines.android","shareit_clicks":2462,"af_clicks":0,"installs_ua":0,"clicks_diff":2462,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"blibli.mobile.commerce","shareit_clicks":2064,"af_clicks":0,"installs_ua":0,"clicks_diff":2064,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"ru.hoff.app","shareit_clicks":1977,"af_clicks":0,"installs_ua":0,"clicks_diff":1977,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.bybit.app","shareit_clicks":1704,"af_clicks":0,"installs_ua":0,"clicks_diff":1704,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.take.cash","shareit_clicks":1637,"af_clicks":0,"installs_ua":0,"clicks_diff":1637,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"org.xbet.client1","shareit_clicks":1051,"af_clicks":0,"installs_ua":0,"clicks_diff":1051,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.dearmart.app","shareit_clicks":332,"af_clicks":0,"installs_ua":0,"clicks_diff":332,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.kubi.kucoin","shareit_clicks":287,"af_clicks":0,"installs_ua":0,"clicks_diff":287,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.adacashmobile","shareit_clicks":180,"af_clicks":0,"installs_ua":0,"clicks_diff":180,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.crazylabs.flip.jump.stack","shareit_clicks":50,"af_clicks":0,"installs_ua":0,"clicks_diff":50,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.crazylabs.i.can.paint","shareit_clicks":22,"af_clicks":0,"installs_ua":0,"clicks_diff":22,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.crazylabs.tie.dye.art","shareit_clicks":22,"af_clicks":0,"installs_ua":0,"clicks_diff":22,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.crazylabs.dentist","shareit_clicks":20,"af_clicks":0,"installs_ua":0,"clicks_diff":20,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.crazylabs.rubber.band.asmr.cut","shareit_clicks":20,"af_clicks":0,"installs_ua":0,"clicks_diff":20,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"org.betwinner.client","shareit_clicks":17,"af_clicks":0,"installs_ua":0,"clicks_diff":17,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.azurgames.stackball","shareit_clicks":16,"af_clicks":0,"installs_ua":0,"clicks_diff":16,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.crazylabs.light.it.up","shareit_clicks":14,"af_clicks":0,"installs_ua":0,"clicks_diff":14,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.crazylabs.sausage.run","shareit_clicks":14,"af_clicks":0,"installs_ua":0,"clicks_diff":14,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically","shareit_clicks":4,"af_clicks":0,"installs_ua":0,"clicks_diff":4,"clicks_diff_rate":1},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.betsoftware.hwpremiumwrapped","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"com.gloriajeans.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"in.startv.hotstar.dplus","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261010","attr_platform":"appsflyer","pkg_name":"ru.rt.video.app.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null}] diff --git a/data/20261011.json b/data/20261011.json new file mode 100755 index 0000000..4a6260f --- /dev/null +++ b/data/20261011.json @@ -0,0 +1 @@ +[{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsaga","shareit_clicks":3619053,"af_clicks":0,"installs_ua":0,"clicks_diff":3619053,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.kwai.bulldog","shareit_clicks":1134970,"af_clicks":0,"installs_ua":0,"clicks_diff":1134970,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"ru.ozon.app.android","shareit_clicks":711882,"af_clicks":0,"installs_ua":0,"clicks_diff":711882,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.amazon.mShop.android.shopping","shareit_clicks":544942,"af_clicks":0,"installs_ua":0,"clicks_diff":544942,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsodasaga","shareit_clicks":454979,"af_clicks":0,"installs_ua":0,"clicks_diff":454979,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"asrtum.ent.domovyata","shareit_clicks":379954,"af_clicks":0,"installs_ua":0,"clicks_diff":379954,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"tech.jm","shareit_clicks":293396,"af_clicks":0,"installs_ua":0,"clicks_diff":293396,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically.go","shareit_clicks":165034,"af_clicks":0,"installs_ua":0,"clicks_diff":165034,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"astrum.ent.m2alyona","shareit_clicks":126278,"af_clicks":0,"installs_ua":0,"clicks_diff":126278,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.reels.cash.video.app","shareit_clicks":97791,"af_clicks":0,"installs_ua":0,"clicks_diff":97791,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.peramoo","shareit_clicks":63305,"af_clicks":0,"installs_ua":0,"clicks_diff":63305,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.fxpro.direct.application","shareit_clicks":62311,"af_clicks":0,"installs_ua":0,"clicks_diff":62311,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.cntrctfft","shareit_clicks":29990,"af_clicks":0,"installs_ua":0,"clicks_diff":29990,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.krom.android","shareit_clicks":27095,"af_clicks":0,"installs_ua":0,"clicks_diff":27095,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"sports.caliente.mx.calientedeportes","shareit_clicks":25756,"af_clicks":0,"installs_ua":0,"clicks_diff":25756,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.lttlefirykng","shareit_clicks":13297,"af_clicks":0,"installs_ua":0,"clicks_diff":13297,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.pinjoy.game.app","shareit_clicks":4426,"af_clicks":0,"installs_ua":0,"clicks_diff":4426,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.bet88.si","shareit_clicks":4232,"af_clicks":0,"installs_ua":0,"clicks_diff":4232,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.wings.bene.ph","shareit_clicks":3387,"af_clicks":0,"installs_ua":0,"clicks_diff":3387,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"za.co.nedbank","shareit_clicks":2876,"af_clicks":0,"installs_ua":0,"clicks_diff":2876,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"ru.rosfines.android","shareit_clicks":2386,"af_clicks":0,"installs_ua":0,"clicks_diff":2386,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"ru.hoff.app","shareit_clicks":1918,"af_clicks":0,"installs_ua":0,"clicks_diff":1918,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.take.cash","shareit_clicks":1818,"af_clicks":0,"installs_ua":0,"clicks_diff":1818,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"org.melbet.vac","shareit_clicks":1277,"af_clicks":0,"installs_ua":0,"clicks_diff":1277,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.bybit.app","shareit_clicks":1275,"af_clicks":0,"installs_ua":0,"clicks_diff":1275,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"blibli.mobile.commerce","shareit_clicks":1257,"af_clicks":0,"installs_ua":0,"clicks_diff":1257,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"org.xbet.client1","shareit_clicks":1037,"af_clicks":0,"installs_ua":0,"clicks_diff":1037,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.adacashmobile","shareit_clicks":521,"af_clicks":0,"installs_ua":0,"clicks_diff":521,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.kubi.kucoin","shareit_clicks":179,"af_clicks":0,"installs_ua":0,"clicks_diff":179,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.crazylabs.flip.jump.stack","shareit_clicks":48,"af_clicks":0,"installs_ua":0,"clicks_diff":48,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.crazylabs.rubber.band.asmr.cut","shareit_clicks":39,"af_clicks":0,"installs_ua":0,"clicks_diff":39,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.dearmart.app","shareit_clicks":26,"af_clicks":0,"installs_ua":0,"clicks_diff":26,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.crazylabs.dentist","shareit_clicks":19,"af_clicks":0,"installs_ua":0,"clicks_diff":19,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.crazylabs.tie.dye.art","shareit_clicks":18,"af_clicks":0,"installs_ua":0,"clicks_diff":18,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"org.betwinner.client","shareit_clicks":17,"af_clicks":0,"installs_ua":0,"clicks_diff":17,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.crazylabs.i.can.paint","shareit_clicks":16,"af_clicks":0,"installs_ua":0,"clicks_diff":16,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.crazylabs.sausage.run","shareit_clicks":14,"af_clicks":0,"installs_ua":0,"clicks_diff":14,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.crazylabs.light.it.up","shareit_clicks":8,"af_clicks":0,"installs_ua":0,"clicks_diff":8,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically","shareit_clicks":7,"af_clicks":0,"installs_ua":0,"clicks_diff":7,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.azurgames.stackball","shareit_clicks":4,"af_clicks":0,"installs_ua":0,"clicks_diff":4,"clicks_diff_rate":1},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.betsoftware.hwpremiumwrapped","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.gloriajeans.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"com.iqoption","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"in.startv.hotstar.dplus","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261011","attr_platform":"appsflyer","pkg_name":"ru.rt.video.app.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null}] diff --git a/data/20261012.json b/data/20261012.json new file mode 100755 index 0000000..e9313d2 --- /dev/null +++ b/data/20261012.json @@ -0,0 +1 @@ +[{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsaga","shareit_clicks":4036030,"af_clicks":0,"installs_ua":0,"clicks_diff":4036030,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.kwai.bulldog","shareit_clicks":1087842,"af_clicks":0,"installs_ua":0,"clicks_diff":1087842,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.amazon.mShop.android.shopping","shareit_clicks":621802,"af_clicks":0,"installs_ua":0,"clicks_diff":621802,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"ru.ozon.app.android","shareit_clicks":573753,"af_clicks":0,"installs_ua":0,"clicks_diff":573753,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsodasaga","shareit_clicks":461709,"af_clicks":0,"installs_ua":0,"clicks_diff":461709,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"asrtum.ent.domovyata","shareit_clicks":336629,"af_clicks":0,"installs_ua":0,"clicks_diff":336629,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"tech.jm","shareit_clicks":216208,"af_clicks":0,"installs_ua":0,"clicks_diff":216208,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically.go","shareit_clicks":150370,"af_clicks":0,"installs_ua":0,"clicks_diff":150370,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"astrum.ent.m2alyona","shareit_clicks":111947,"af_clicks":0,"installs_ua":0,"clicks_diff":111947,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.reels.cash.video.app","shareit_clicks":102692,"af_clicks":0,"installs_ua":0,"clicks_diff":102692,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.peramoo","shareit_clicks":59996,"af_clicks":0,"installs_ua":0,"clicks_diff":59996,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.iqoption","shareit_clicks":42219,"af_clicks":0,"installs_ua":0,"clicks_diff":42219,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.fxpro.direct.application","shareit_clicks":41345,"af_clicks":0,"installs_ua":0,"clicks_diff":41345,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.cntrctfft","shareit_clicks":28415,"af_clicks":0,"installs_ua":0,"clicks_diff":28415,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.krom.android","shareit_clicks":24928,"af_clicks":0,"installs_ua":0,"clicks_diff":24928,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"sports.caliente.mx.calientedeportes","shareit_clicks":24136,"af_clicks":0,"installs_ua":0,"clicks_diff":24136,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.lttlefirykng","shareit_clicks":6260,"af_clicks":0,"installs_ua":0,"clicks_diff":6260,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.pinjoy.game.app","shareit_clicks":3158,"af_clicks":0,"installs_ua":0,"clicks_diff":3158,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.wings.bene.ph","shareit_clicks":2966,"af_clicks":0,"installs_ua":0,"clicks_diff":2966,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.bet88.si","shareit_clicks":2934,"af_clicks":0,"installs_ua":0,"clicks_diff":2934,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"ru.rosfines.android","shareit_clicks":2206,"af_clicks":0,"installs_ua":0,"clicks_diff":2206,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.take.cash","shareit_clicks":1679,"af_clicks":0,"installs_ua":0,"clicks_diff":1679,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"za.co.nedbank","shareit_clicks":1666,"af_clicks":0,"installs_ua":0,"clicks_diff":1666,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"org.melbet.vac","shareit_clicks":1560,"af_clicks":0,"installs_ua":0,"clicks_diff":1560,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.bybit.app","shareit_clicks":1499,"af_clicks":0,"installs_ua":0,"clicks_diff":1499,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"blibli.mobile.commerce","shareit_clicks":1183,"af_clicks":0,"installs_ua":0,"clicks_diff":1183,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"org.xbet.client1","shareit_clicks":1051,"af_clicks":0,"installs_ua":0,"clicks_diff":1051,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.adacashmobile","shareit_clicks":653,"af_clicks":0,"installs_ua":0,"clicks_diff":653,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.dearmart.app","shareit_clicks":321,"af_clicks":0,"installs_ua":0,"clicks_diff":321,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.kubi.kucoin","shareit_clicks":277,"af_clicks":0,"installs_ua":0,"clicks_diff":277,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.crazylabs.flip.jump.stack","shareit_clicks":46,"af_clicks":0,"installs_ua":0,"clicks_diff":46,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.crazylabs.i.can.paint","shareit_clicks":17,"af_clicks":0,"installs_ua":0,"clicks_diff":17,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.crazylabs.tie.dye.art","shareit_clicks":17,"af_clicks":0,"installs_ua":0,"clicks_diff":17,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"org.betwinner.client","shareit_clicks":14,"af_clicks":0,"installs_ua":0,"clicks_diff":14,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.crazylabs.dentist","shareit_clicks":9,"af_clicks":0,"installs_ua":0,"clicks_diff":9,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically","shareit_clicks":7,"af_clicks":0,"installs_ua":0,"clicks_diff":7,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.crazylabs.light.it.up","shareit_clicks":6,"af_clicks":0,"installs_ua":0,"clicks_diff":6,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.crazylabs.rubber.band.asmr.cut","shareit_clicks":5,"af_clicks":0,"installs_ua":0,"clicks_diff":5,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.crazylabs.sausage.run","shareit_clicks":5,"af_clicks":0,"installs_ua":0,"clicks_diff":5,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.azurgames.stackball","shareit_clicks":4,"af_clicks":0,"installs_ua":0,"clicks_diff":4,"clicks_diff_rate":1},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.betsoftware.hwpremiumwrapped","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.clipcd.clipgo","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.gloriajeans.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"com.trademaxaustralia.tmgm","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"in.startv.hotstar.dplus","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"ru.hoff.app","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261012","attr_platform":"appsflyer","pkg_name":"ru.rt.video.app.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null}] diff --git a/data/20261013.json b/data/20261013.json new file mode 100755 index 0000000..6bd4333 --- /dev/null +++ b/data/20261013.json @@ -0,0 +1 @@ +[{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsaga","shareit_clicks":4081023,"af_clicks":0,"installs_ua":0,"clicks_diff":4081023,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.kwai.bulldog","shareit_clicks":1149183,"af_clicks":0,"installs_ua":0,"clicks_diff":1149183,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.amazon.mShop.android.shopping","shareit_clicks":808744,"af_clicks":0,"installs_ua":0,"clicks_diff":808744,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"ru.ozon.app.android","shareit_clicks":661717,"af_clicks":0,"installs_ua":0,"clicks_diff":661717,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsodasaga","shareit_clicks":522407,"af_clicks":0,"installs_ua":0,"clicks_diff":522407,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"asrtum.ent.domovyata","shareit_clicks":360627,"af_clicks":0,"installs_ua":0,"clicks_diff":360627,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"tech.jm","shareit_clicks":280366,"af_clicks":0,"installs_ua":0,"clicks_diff":280366,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically.go","shareit_clicks":148901,"af_clicks":0,"installs_ua":0,"clicks_diff":148901,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.reels.cash.video.app","shareit_clicks":99149,"af_clicks":0,"installs_ua":0,"clicks_diff":99149,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"astrum.ent.m2alyona","shareit_clicks":99141,"af_clicks":0,"installs_ua":0,"clicks_diff":99141,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.fxpro.direct.application","shareit_clicks":66533,"af_clicks":0,"installs_ua":0,"clicks_diff":66533,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.peramoo","shareit_clicks":39771,"af_clicks":0,"installs_ua":0,"clicks_diff":39771,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.iqoption","shareit_clicks":37784,"af_clicks":0,"installs_ua":0,"clicks_diff":37784,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.cntrctfft","shareit_clicks":29640,"af_clicks":0,"installs_ua":0,"clicks_diff":29640,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"sports.caliente.mx.calientedeportes","shareit_clicks":29133,"af_clicks":0,"installs_ua":0,"clicks_diff":29133,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.krom.android","shareit_clicks":27512,"af_clicks":0,"installs_ua":0,"clicks_diff":27512,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.lttlefirykng","shareit_clicks":9990,"af_clicks":0,"installs_ua":0,"clicks_diff":9990,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.bet88.si","shareit_clicks":3794,"af_clicks":0,"installs_ua":0,"clicks_diff":3794,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.pinjoy.game.app","shareit_clicks":3282,"af_clicks":0,"installs_ua":0,"clicks_diff":3282,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"ru.rosfines.android","shareit_clicks":2598,"af_clicks":0,"installs_ua":0,"clicks_diff":2598,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.wings.bene.ph","shareit_clicks":2594,"af_clicks":0,"installs_ua":0,"clicks_diff":2594,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"za.co.nedbank","shareit_clicks":2308,"af_clicks":0,"installs_ua":0,"clicks_diff":2308,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"org.xbet.client1","shareit_clicks":1614,"af_clicks":0,"installs_ua":0,"clicks_diff":1614,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"org.melbet.vac","shareit_clicks":1510,"af_clicks":0,"installs_ua":0,"clicks_diff":1510,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.take.cash","shareit_clicks":1503,"af_clicks":0,"installs_ua":0,"clicks_diff":1503,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.bybit.app","shareit_clicks":1278,"af_clicks":0,"installs_ua":0,"clicks_diff":1278,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.adacashmobile","shareit_clicks":892,"af_clicks":0,"installs_ua":0,"clicks_diff":892,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"blibli.mobile.commerce","shareit_clicks":593,"af_clicks":0,"installs_ua":0,"clicks_diff":593,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.dearmart.app","shareit_clicks":335,"af_clicks":0,"installs_ua":0,"clicks_diff":335,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.kubi.kucoin","shareit_clicks":301,"af_clicks":0,"installs_ua":0,"clicks_diff":301,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.crazylabs.flip.jump.stack","shareit_clicks":52,"af_clicks":0,"installs_ua":0,"clicks_diff":52,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.crazylabs.rubber.band.asmr.cut","shareit_clicks":31,"af_clicks":0,"installs_ua":0,"clicks_diff":31,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.crazylabs.light.it.up","shareit_clicks":28,"af_clicks":0,"installs_ua":0,"clicks_diff":28,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.crazylabs.dentist","shareit_clicks":26,"af_clicks":0,"installs_ua":0,"clicks_diff":26,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.crazylabs.sausage.run","shareit_clicks":19,"af_clicks":0,"installs_ua":0,"clicks_diff":19,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.crazylabs.tie.dye.art","shareit_clicks":13,"af_clicks":0,"installs_ua":0,"clicks_diff":13,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"org.betwinner.client","shareit_clicks":13,"af_clicks":0,"installs_ua":0,"clicks_diff":13,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.crazylabs.i.can.paint","shareit_clicks":12,"af_clicks":0,"installs_ua":0,"clicks_diff":12,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically","shareit_clicks":8,"af_clicks":0,"installs_ua":0,"clicks_diff":8,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.azurgames.stackball","shareit_clicks":5,"af_clicks":0,"installs_ua":0,"clicks_diff":5,"clicks_diff_rate":1},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.betsoftware.hwpremiumwrapped","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"com.clipcd.clipgo","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"in.startv.hotstar.dplus","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"ru.hoff.app","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261013","attr_platform":"appsflyer","pkg_name":"ru.rt.video.app.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null}] diff --git a/data/20261014.json b/data/20261014.json new file mode 100755 index 0000000..25ff9c9 --- /dev/null +++ b/data/20261014.json @@ -0,0 +1 @@ +[{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsaga","shareit_clicks":4097372,"af_clicks":0,"installs_ua":0,"clicks_diff":4097372,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.kwai.bulldog","shareit_clicks":1120261,"af_clicks":0,"installs_ua":0,"clicks_diff":1120261,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.amazon.mShop.android.shopping","shareit_clicks":820632,"af_clicks":0,"installs_ua":0,"clicks_diff":820632,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"ru.ozon.app.android","shareit_clicks":683462,"af_clicks":0,"installs_ua":0,"clicks_diff":683462,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsodasaga","shareit_clicks":530625,"af_clicks":0,"installs_ua":0,"clicks_diff":530625,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"asrtum.ent.domovyata","shareit_clicks":379082,"af_clicks":0,"installs_ua":0,"clicks_diff":379082,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"tech.jm","shareit_clicks":214809,"af_clicks":0,"installs_ua":0,"clicks_diff":214809,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically.go","shareit_clicks":141975,"af_clicks":0,"installs_ua":0,"clicks_diff":141975,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"astrum.ent.m2alyona","shareit_clicks":115388,"af_clicks":0,"installs_ua":0,"clicks_diff":115388,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.reels.cash.video.app","shareit_clicks":86594,"af_clicks":0,"installs_ua":0,"clicks_diff":86594,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.fxpro.direct.application","shareit_clicks":69888,"af_clicks":0,"installs_ua":0,"clicks_diff":69888,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.peramoo","shareit_clicks":39601,"af_clicks":0,"installs_ua":0,"clicks_diff":39601,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"sports.caliente.mx.calientedeportes","shareit_clicks":38899,"af_clicks":0,"installs_ua":0,"clicks_diff":38899,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.cntrctfft","shareit_clicks":29756,"af_clicks":0,"installs_ua":0,"clicks_diff":29756,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.krom.android","shareit_clicks":28021,"af_clicks":0,"installs_ua":0,"clicks_diff":28021,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.iqoption","shareit_clicks":27341,"af_clicks":0,"installs_ua":0,"clicks_diff":27341,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.lttlefirykng","shareit_clicks":8610,"af_clicks":0,"installs_ua":0,"clicks_diff":8610,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.bet88.si","shareit_clicks":4230,"af_clicks":0,"installs_ua":0,"clicks_diff":4230,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.pinjoy.game.app","shareit_clicks":3497,"af_clicks":0,"installs_ua":0,"clicks_diff":3497,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.wings.bene.ph","shareit_clicks":2865,"af_clicks":0,"installs_ua":0,"clicks_diff":2865,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"ru.rosfines.android","shareit_clicks":2659,"af_clicks":0,"installs_ua":0,"clicks_diff":2659,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"za.co.nedbank","shareit_clicks":2160,"af_clicks":0,"installs_ua":0,"clicks_diff":2160,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.take.cash","shareit_clicks":1558,"af_clicks":0,"installs_ua":0,"clicks_diff":1558,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.bybit.app","shareit_clicks":1490,"af_clicks":0,"installs_ua":0,"clicks_diff":1490,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"org.melbet.vac","shareit_clicks":1444,"af_clicks":0,"installs_ua":0,"clicks_diff":1444,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"org.xbet.client1","shareit_clicks":1156,"af_clicks":0,"installs_ua":0,"clicks_diff":1156,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.clipcd.clipgo","shareit_clicks":666,"af_clicks":0,"installs_ua":0,"clicks_diff":666,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"blibli.mobile.commerce","shareit_clicks":650,"af_clicks":0,"installs_ua":0,"clicks_diff":650,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.adacashmobile","shareit_clicks":375,"af_clicks":0,"installs_ua":0,"clicks_diff":375,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.kubi.kucoin","shareit_clicks":282,"af_clicks":0,"installs_ua":0,"clicks_diff":282,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.dearmart.app","shareit_clicks":61,"af_clicks":0,"installs_ua":0,"clicks_diff":61,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.crazylabs.rubber.band.asmr.cut","shareit_clicks":52,"af_clicks":0,"installs_ua":0,"clicks_diff":52,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.crazylabs.flip.jump.stack","shareit_clicks":45,"af_clicks":0,"installs_ua":0,"clicks_diff":45,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.crazylabs.tie.dye.art","shareit_clicks":35,"af_clicks":0,"installs_ua":0,"clicks_diff":35,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.crazylabs.i.can.paint","shareit_clicks":30,"af_clicks":0,"installs_ua":0,"clicks_diff":30,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.crazylabs.sausage.run","shareit_clicks":17,"af_clicks":0,"installs_ua":0,"clicks_diff":17,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.crazylabs.light.it.up","shareit_clicks":16,"af_clicks":0,"installs_ua":0,"clicks_diff":16,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.crazylabs.dentist","shareit_clicks":15,"af_clicks":0,"installs_ua":0,"clicks_diff":15,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"org.betwinner.client","shareit_clicks":10,"af_clicks":0,"installs_ua":0,"clicks_diff":10,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.azurgames.stackball","shareit_clicks":6,"af_clicks":0,"installs_ua":0,"clicks_diff":6,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically","shareit_clicks":5,"af_clicks":0,"installs_ua":0,"clicks_diff":5,"clicks_diff_rate":1},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.betsoftware.hwpremiumwrapped","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"com.gloriajeans.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"in.startv.hotstar.dplus","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261014","attr_platform":"appsflyer","pkg_name":"ru.rt.video.app.mobile","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null}] diff --git a/data/20261015.json b/data/20261015.json new file mode 100755 index 0000000..28da309 --- /dev/null +++ b/data/20261015.json @@ -0,0 +1 @@ +[{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsaga","shareit_clicks":4162607,"af_clicks":0,"installs_ua":0,"clicks_diff":4162607,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.kwai.bulldog","shareit_clicks":1064267,"af_clicks":0,"installs_ua":0,"clicks_diff":1064267,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"ru.ozon.app.android","shareit_clicks":726880,"af_clicks":0,"installs_ua":0,"clicks_diff":726880,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsodasaga","shareit_clicks":594215,"af_clicks":0,"installs_ua":0,"clicks_diff":594215,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.amazon.mShop.android.shopping","shareit_clicks":588976,"af_clicks":0,"installs_ua":0,"clicks_diff":588976,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"asrtum.ent.domovyata","shareit_clicks":323516,"af_clicks":0,"installs_ua":0,"clicks_diff":323516,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"tech.jm","shareit_clicks":310520,"af_clicks":0,"installs_ua":0,"clicks_diff":310520,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"astrum.ent.m2alyona","shareit_clicks":156725,"af_clicks":0,"installs_ua":0,"clicks_diff":156725,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically.go","shareit_clicks":152583,"af_clicks":0,"installs_ua":0,"clicks_diff":152583,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.reels.cash.video.app","shareit_clicks":108716,"af_clicks":0,"installs_ua":0,"clicks_diff":108716,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.peramoo","shareit_clicks":71804,"af_clicks":0,"installs_ua":0,"clicks_diff":71804,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.fxpro.direct.application","shareit_clicks":68701,"af_clicks":0,"installs_ua":0,"clicks_diff":68701,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"sports.caliente.mx.calientedeportes","shareit_clicks":34750,"af_clicks":0,"installs_ua":0,"clicks_diff":34750,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.cntrctfft","shareit_clicks":26952,"af_clicks":0,"installs_ua":0,"clicks_diff":26952,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.krom.android","shareit_clicks":26645,"af_clicks":0,"installs_ua":0,"clicks_diff":26645,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.clipcd.clipgo","shareit_clicks":11491,"af_clicks":0,"installs_ua":0,"clicks_diff":11491,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.lttlefirykng","shareit_clicks":9130,"af_clicks":0,"installs_ua":0,"clicks_diff":9130,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"ru.rt.video.app.mobile","shareit_clicks":8513,"af_clicks":0,"installs_ua":0,"clicks_diff":8513,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.bet88.si","shareit_clicks":7083,"af_clicks":0,"installs_ua":0,"clicks_diff":7083,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.pinjoy.game.app","shareit_clicks":3647,"af_clicks":0,"installs_ua":0,"clicks_diff":3647,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"ru.rosfines.android","shareit_clicks":2979,"af_clicks":0,"installs_ua":0,"clicks_diff":2979,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.bybit.app","shareit_clicks":2623,"af_clicks":0,"installs_ua":0,"clicks_diff":2623,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.wings.bene.ph","shareit_clicks":2306,"af_clicks":0,"installs_ua":0,"clicks_diff":2306,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"za.co.nedbank","shareit_clicks":1772,"af_clicks":0,"installs_ua":0,"clicks_diff":1772,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.take.cash","shareit_clicks":1610,"af_clicks":0,"installs_ua":0,"clicks_diff":1610,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"blibli.mobile.commerce","shareit_clicks":1438,"af_clicks":0,"installs_ua":0,"clicks_diff":1438,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"org.xbet.client1","shareit_clicks":1050,"af_clicks":0,"installs_ua":0,"clicks_diff":1050,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"org.melbet.vac","shareit_clicks":653,"af_clicks":0,"installs_ua":0,"clicks_diff":653,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.iqoption","shareit_clicks":484,"af_clicks":0,"installs_ua":0,"clicks_diff":484,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.kubi.kucoin","shareit_clicks":89,"af_clicks":0,"installs_ua":0,"clicks_diff":89,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.crazylabs.flip.jump.stack","shareit_clicks":45,"af_clicks":0,"installs_ua":0,"clicks_diff":45,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.crazylabs.tie.dye.art","shareit_clicks":37,"af_clicks":0,"installs_ua":0,"clicks_diff":37,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.crazylabs.i.can.paint","shareit_clicks":36,"af_clicks":0,"installs_ua":0,"clicks_diff":36,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.crazylabs.dentist","shareit_clicks":26,"af_clicks":0,"installs_ua":0,"clicks_diff":26,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"org.betwinner.client","shareit_clicks":20,"af_clicks":0,"installs_ua":0,"clicks_diff":20,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.crazylabs.light.it.up","shareit_clicks":14,"af_clicks":0,"installs_ua":0,"clicks_diff":14,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.crazylabs.sausage.run","shareit_clicks":12,"af_clicks":0,"installs_ua":0,"clicks_diff":12,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.azurgames.stackball","shareit_clicks":8,"af_clicks":0,"installs_ua":0,"clicks_diff":8,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.crazylabs.rubber.band.asmr.cut","shareit_clicks":8,"af_clicks":0,"installs_ua":0,"clicks_diff":8,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically","shareit_clicks":7,"af_clicks":0,"installs_ua":0,"clicks_diff":7,"clicks_diff_rate":1},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"com.betsoftware.hwpremiumwrapped","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"in.startv.hotstar.dplus","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null},{"dt":"20261015","attr_platform":"appsflyer","pkg_name":"ru.hoff.app","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null}] diff --git a/data/20261016.json b/data/20261016.json new file mode 100755 index 0000000..e080a90 --- /dev/null +++ b/data/20261016.json @@ -0,0 +1 @@ +[{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsaga","shareit_clicks":1464841,"af_clicks":0,"installs_ua":0,"clicks_diff":1464841,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.kwai.bulldog","shareit_clicks":313098,"af_clicks":0,"installs_ua":0,"clicks_diff":313098,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.amazon.mShop.android.shopping","shareit_clicks":243084,"af_clicks":0,"installs_ua":0,"clicks_diff":243084,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"ru.ozon.app.android","shareit_clicks":144223,"af_clicks":0,"installs_ua":0,"clicks_diff":144223,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.king.candycrushsodasaga","shareit_clicks":113362,"af_clicks":0,"installs_ua":0,"clicks_diff":113362,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"asrtum.ent.domovyata","shareit_clicks":73141,"af_clicks":0,"installs_ua":0,"clicks_diff":73141,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"tech.jm","shareit_clicks":60107,"af_clicks":0,"installs_ua":0,"clicks_diff":60107,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"astrum.ent.m2alyona","shareit_clicks":37537,"af_clicks":0,"installs_ua":0,"clicks_diff":37537,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.peramoo","shareit_clicks":34122,"af_clicks":0,"installs_ua":0,"clicks_diff":34122,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.zhiliaoapp.musically.go","shareit_clicks":22452,"af_clicks":0,"installs_ua":0,"clicks_diff":22452,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"sports.caliente.mx.calientedeportes","shareit_clicks":18280,"af_clicks":0,"installs_ua":0,"clicks_diff":18280,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.fxpro.direct.application","shareit_clicks":17022,"af_clicks":0,"installs_ua":0,"clicks_diff":17022,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.krom.android","shareit_clicks":8310,"af_clicks":0,"installs_ua":0,"clicks_diff":8310,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"ru.rt.video.app.mobile","shareit_clicks":8055,"af_clicks":0,"installs_ua":0,"clicks_diff":8055,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.bet88.si","shareit_clicks":3217,"af_clicks":0,"installs_ua":0,"clicks_diff":3217,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.reels.cash.video.app","shareit_clicks":2244,"af_clicks":0,"installs_ua":0,"clicks_diff":2244,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.cntrctfft","shareit_clicks":1453,"af_clicks":0,"installs_ua":0,"clicks_diff":1453,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"ru.rosfines.android","shareit_clicks":1181,"af_clicks":0,"installs_ua":0,"clicks_diff":1181,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.esprit.rpg.lttlefirykng","shareit_clicks":1145,"af_clicks":0,"installs_ua":0,"clicks_diff":1145,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.wings.bene.ph","shareit_clicks":1043,"af_clicks":0,"installs_ua":0,"clicks_diff":1043,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"za.co.nedbank","shareit_clicks":791,"af_clicks":0,"installs_ua":0,"clicks_diff":791,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.pinjoy.game.app","shareit_clicks":472,"af_clicks":0,"installs_ua":0,"clicks_diff":472,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.clipcd.clipgo","shareit_clicks":414,"af_clicks":0,"installs_ua":0,"clicks_diff":414,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"blibli.mobile.commerce","shareit_clicks":331,"af_clicks":0,"installs_ua":0,"clicks_diff":331,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"ph.com.bdo.pay","shareit_clicks":311,"af_clicks":0,"installs_ua":0,"clicks_diff":311,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"org.xbet.client1","shareit_clicks":284,"af_clicks":0,"installs_ua":0,"clicks_diff":284,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.take.cash","shareit_clicks":254,"af_clicks":0,"installs_ua":0,"clicks_diff":254,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"org.melbet.vac","shareit_clicks":121,"af_clicks":0,"installs_ua":0,"clicks_diff":121,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.bybit.app","shareit_clicks":112,"af_clicks":0,"installs_ua":0,"clicks_diff":112,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.crazylabs.rubber.band.asmr.cut","shareit_clicks":12,"af_clicks":0,"installs_ua":0,"clicks_diff":12,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.crazylabs.i.can.paint","shareit_clicks":9,"af_clicks":0,"installs_ua":0,"clicks_diff":9,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.crazylabs.tie.dye.art","shareit_clicks":9,"af_clicks":0,"installs_ua":0,"clicks_diff":9,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"org.betwinner.client","shareit_clicks":7,"af_clicks":0,"installs_ua":0,"clicks_diff":7,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.crazylabs.flip.jump.stack","shareit_clicks":6,"af_clicks":0,"installs_ua":0,"clicks_diff":6,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.kubi.kucoin","shareit_clicks":4,"af_clicks":0,"installs_ua":0,"clicks_diff":4,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.crazylabs.dentist","shareit_clicks":1,"af_clicks":0,"installs_ua":0,"clicks_diff":1,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.crazylabs.sausage.run","shareit_clicks":1,"af_clicks":0,"installs_ua":0,"clicks_diff":1,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.iqoption","shareit_clicks":1,"af_clicks":0,"installs_ua":0,"clicks_diff":1,"clicks_diff_rate":1},{"dt":"20261016","attr_platform":"appsflyer","pkg_name":"com.betsoftware.hwpremiumwrapped","shareit_clicks":0,"af_clicks":0,"installs_ua":0,"clicks_diff":0,"clicks_diff_rate":null}] diff --git a/data/index.json b/data/index.json new file mode 100755 index 0000000..ba72029 --- /dev/null +++ b/data/index.json @@ -0,0 +1,34 @@ +{ + "schema_version": 1, + "generated_at": "2026-10-16T15:13:23+08:00", + "files": [ + { + "date": "20261016", + "path": "data/20261016.json" + }, + { + "date": "20261015", + "path": "data/20261015.json" + }, + { + "date": "20261014", + "path": "data/20261014.json" + }, + { + "date": "20261013", + "path": "data/20261013.json" + }, + { + "date": "20261012", + "path": "data/20261012.json" + }, + { + "date": "20261011", + "path": "data/20261011.json" + }, + { + "date": "20261010", + "path": "data/20261010.json" + } + ] +} diff --git a/scripts/af_click_gap_pipeline.py b/scripts/af_click_gap_pipeline.py index 6512dc4..6f31d08 100755 --- a/scripts/af_click_gap_pipeline.py +++ b/scripts/af_click_gap_pipeline.py @@ -175,13 +175,12 @@ def git_run(repo: Path, args: list[str]) -> subprocess.CompletedProcess[str]: def git_publish(repo: Path, start: str, end: str, no_push: bool) -> str: if not (repo / ".git").exists(): raise RuntimeError("仓库尚未初始化") - status = git_run(repo, ["status", "--porcelain"]).stdout.strip().splitlines() - allowed = {"README.md", ".gitignore", "index.html", "scripts/af_click_gap_pipeline.py", "launchd/com.roasbloom.af-click-gap.plist.template"} - allowed.update({f"data/{date.name}" for date in (repo / "data").glob("*.json")}) - unexpected = [line for line in status if len(line) < 4 or line[3:] not in allowed] + status = git_run(repo, ["status", "--porcelain", "--untracked-files=all"]).stdout.strip().splitlines() + allowed = re.compile(r"data/(?:index|[0-9]{8})\.json$") + unexpected = [line for line in status if len(line) < 4 or not allowed.fullmatch(line[3:])] if unexpected: raise RuntimeError("工作区已有未预期改动: " + ", ".join(unexpected)) - add = git_run(repo, ["add", "README.md", ".gitignore", "index.html", "scripts/af_click_gap_pipeline.py", "launchd/com.roasbloom.af-click-gap.plist.template", "data"]) + add = git_run(repo, ["add", "--", "data"]) if add.returncode: raise RuntimeError("git add 失败: " + add.stderr.strip()) staged = git_run(repo, ["diff", "--cached", "--name-only"])