Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
42e7759
feat(query): 中国热搜源 gmya.net 聚合与 chinaApi 配置
chiihero Aug 17, 2026
222b1e8
feat(pushplus): 运行结束积分汇总微信推送
chiihero Aug 17, 2026
b2a66ce
feat(docker): 国内镜像源与部署适配
chiihero Aug 17, 2026
174c6bc
chore(config): 国内默认值与中文词库
chiihero Aug 17, 2026
54632c8
refactor(i18n): 全量日志中文化(约 630 处)
chiihero Aug 17, 2026
4881ce1
chore: gitignore 补充 src/ 下的运行时配置与账号文件
chiihero Aug 17, 2026
117fe03
docs: README 增加 V4-china 国内适配说明
chiihero Aug 17, 2026
d4761e9
chore: 搬运 Windows 一键脚本与 BonusTracker 汉化,修正 README 指向本仓库
chiihero Aug 17, 2026
0982246
feat(clawbot): 微信 ClawBot 推送(腾讯 iLink 直连)
chiihero Aug 18, 2026
17f8d68
feat(logging): 运行日志落盘 logs/ 按天分文件,保留 90 天
chiihero Aug 18, 2026
5fe67b8
chore: env.example 国内默认值;gitignore 补 .env 与 .zcode
chiihero Aug 18, 2026
b038703
docs(readme): 标注 V4-china 已基本可用
chiihero Aug 18, 2026
e043dca
docs(readme): 以 main 分支 README 结构为底本重写 V4-china 文档
chiihero Aug 18, 2026
11a3814
fix(clawbot): 补 context_token 激活机制,修复推送不生效
chiihero Aug 18, 2026
cdc222b
fix(logging): 修复 throw logger.error 丢错误信息;推送/日志/诊断时间统一本地时区
chiihero Aug 19, 2026
640bb16
Merge remote-tracking branch 'upstream/v4' into V4-china
chiihero Aug 28, 2026
b9e91e1
Update ApiSearch.ts
chiihero Aug 28, 2026
abf2b54
feat: 适配汉化脚本的中文日志格式,更新 logParser.js 正则匹配
NullBullet Aug 29, 2026
5e8a14e
Merge upstream/v4 (v4.3.2, fd8b210) into V4-china
chiihero Aug 31, 2026
ea67318
Merge pull request #46 from NullBullet/V4-china
chiihero Sep 1, 2026
e79b8ec
feat(dashboard): embed web dashboard into the container
rgmyyw Sep 3, 2026
a969ccc
feat(dashboard): per-account login health-check and in-browser manual…
rgmyyw Sep 3, 2026
a01178d
fix(dashboard): manual login needs the full chromium, not the headles…
rgmyyw Sep 3, 2026
1e11334
Merge remote-tracking branch 'china/V4-china' into v4-dashboard
Sep 3, 2026
3cb322a
feat(dashboard): bilingual log-event parsing for the Chinese-localize…
rgmyyw Sep 3, 2026
6c2d9df
feat: dynamic account management (no-restart account additions)
rgmyyw Sep 3, 2026
1913f56
chore: gitignore config/accounts.extra.json
rgmyyw Sep 3, 2026
79411d9
fix(dashboard): carry the extra-account flag through overview aggrega…
rgmyyw Sep 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,23 @@ dist/
.dev/
node_modules/
/config.json
# ClawBot 微信推送的扫码凭证(含 bot token),严禁提交
/clawbot-auth.json
# 运行时配置/账号文件可能被放到 src/ 下(Load.ts 的查找路径之一),防止误提交
/src/config.json
/src/accounts.json
/src/accounts.dev.json
/.vscode
/diagnostics
note
.DS_Store
.playwright-chromium-installed
.stfolder/
.env
.envlogs/
/logs
# 本地私密配置与编辑器工作目录,严禁提交
/.env
/.zcode/

# dynamic accounts (credentials)
/config/accounts.extra.json
24 changes: 18 additions & 6 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
###############################################################################
# Stage 1: Builder
###############################################################################
FROM node:24-slim AS builder
# 国内镜像源加速拉取(m.daocloud.io 代理 Docker Hub);海外环境可改回 node:24-slim
FROM m.daocloud.io/docker.io/library/node:24-slim AS builder

WORKDIR /usr/src/microsoft-rewards-script

Expand All @@ -25,7 +26,7 @@ RUN rm -rf node_modules \
###############################################################################
# Stage 2: Runtime
###############################################################################
FROM node:24-slim AS runtime
FROM m.daocloud.io/docker.io/library/node:24-slim AS runtime

WORKDIR /usr/src/microsoft-rewards-script

Expand All @@ -37,13 +38,19 @@ ENV NODE_ENV=production \
NODE_OPTIONS=--disable-warning=ExperimentalWarning

# Install minimal system libraries required for Chromium headless to run,
# plus jq (for config generation/patching) and gettext-base (for envsubst)
# plus jq (for config generation/patching) and gettext-base (for envsubst).
# xvfb/x11vnc/novnc/websockify power the dashboard's in-browser manual login
# (headed browser under a virtual display, viewed through noVNC).
RUN apt-get update && apt-get install -y --no-install-recommends \
cron \
gettext-base \
jq \
tzdata \
ca-certificates \
xvfb \
x11vnc \
novnc \
websockify \
libglib2.0-0 \
libdbus-1-3 \
libexpat1 \
Expand Down Expand Up @@ -83,10 +90,11 @@ COPY --from=builder /usr/src/microsoft-rewards-script/dist ./dist
COPY --from=builder /usr/src/microsoft-rewards-script/package*.json ./
COPY --from=builder /usr/src/microsoft-rewards-script/node_modules ./node_modules

# Install patchright's stealth-patched Chromium headless shell.
# The container is headless-only so the full browser isn't needed; then clean up
# Install patchright's stealth-patched Chromium. The full browser is required
# (not just the headless shell) because the dashboard's manual-login feature
# runs the browser headed under Xvfb; clean up apt lists afterwards.
RUN set -eux; \
npx patchright install --with-deps --only-shell chromium; \
npx patchright install --with-deps chromium; \
rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*

# Copy config example into the image so entrypoint can use it as a fallback
Expand All @@ -103,8 +111,12 @@ COPY config.example.json ./config.example.json
COPY --chmod=755 scripts/docker/run_daily.sh ./scripts/docker/run_daily.sh
COPY --chmod=755 scripts/docker/healthcheck.sh ./scripts/docker/healthcheck.sh
COPY --chmod=755 scripts/api/ ./scripts/api/
COPY --chmod=755 scripts/main/ ./scripts/main/
COPY --chmod=644 scripts/utils.js ./scripts/utils.js
COPY --chmod=644 scripts/env.js ./scripts/env.js
COPY --chmod=644 scripts/package.json ./scripts/package.json
# Embedded web dashboard (zero-dependency Node; started by entrypoint when DASHBOARD_ENABLED)
COPY --chmod=644 dashboard/ ./dashboard/
COPY --chmod=644 src/crontab.template /etc/cron.d/microsoft-rewards-cron.template
COPY --chmod=755 scripts/docker/entrypoint.sh /usr/local/bin/entrypoint.sh

Expand Down
Loading