luobinger/PerkRadar
PerkRadar — A self-hosted deals aggregator that fetches freebies, limited-time offers, and discounts from multiple sources every two hours, with source status tracking, expiration handling, and personal bookmarks.
From the publisher
README & documentation
Source previewRead the project’s overview, installation instructions and usage examples. The original README is the source of truth.
PerkRadar 是一个可自行部署的优惠线索聚合器。它定时读取固定的公开 RSS、Atom、JSON 和 Markdown 来源,把标题、原文链接和短摘要整理到一个轻量的 SQLite 数据库,再用网页看板帮助你搜索、筛选、收藏和标记已领。 条目来自公开订阅源,可能包含闲聊、求购、推广或失效活动。分类由标题规则推断,不构成优惠真实性、有效期或领取资格的核验;请以原文和活动官方说明为准。 推荐让 Personal Agent 协助部署,也可按下方步骤自行运行。PerkRadar 适用于单机单实例部署,需要常驻 Node 进程和可写的本地 SQLite 数据目录。 外部推送可由调用方另行集成,PerkRadar 本身不发送通知。 此命令构建生产镜像并启动容器,SQLite 数据保存在宿主机的 ./data。容器以非 root 的 node 用户(uid 1000)运行,宿主数据目录须允许该用户写入;权限设置见运维文档。 Compose 可读取项目根目录的 .env。该文件被 Git 和镜像构建忽略;包含凭据时应使用 600 权限。配置项见下方访问控制与配置。 打开 http://127.0.0.1:38471/。宿主端口被占用时,可只替换宿主端口,容器内端口仍为 38471: 此时访问 http://127.0.0.1:38481/。 在项目目录安装依赖: 以下示例使用独立端口和开发数据库,避免与默认部署共用: 打开 http://127.0.0.1:38481/。调度器会抓取真实来源;端口如已占用,需换用空闲端口。未显式设置时,监听地址为 127.0.0.1:38471,数据库为 ./data/deals.db。 开发环境的 /demo 使用示例数据展示界面,不代表真实抓取结果;生产 Docker 镜像不包含此路由。 仓库包含 Snapshot to Pages 工作流,可在 GitHub Actions 中每两小时抓取固定来源并发布静态查看器,不需要常驻服务器。启用时在仓库 Settings → Pages → Build and deployment → Source 选择 GitHub Actions,再到 Actions → Snapshot to Pages → Run workflow 手动运行首次发布。之后从工作流的部署结果打开实际站点地址。定时任务可能被 GitHub 延迟;公开仓库长期无活动时,GitHub 也可能暂停定时任务。 静态站点包含公开标题、原文链接、来源和时间,任何知道站点地址的人都可访问;它不使用本机服务的访问令牌。收藏与已领仍只存在当前浏览器,并按站点隔离,不会同步本机看板。可选的 JINAAPIKEY 应放在仓库 Actions Secrets 中,不会写入页面。 静态查看器支持标题搜索、来源和分类筛选、收藏、已领及本轮新增,默认隐藏“其他”,可通过“查看全部线索”展开。首次发布没有比较基线,不标新增。每轮临时库抓到的结果会与上次成功发布的公开快照合并,继续遵守 7 天在架及活动截止时间;来源失败时保留该来源仍有效的旧条目。全失败时保留上次有效快照的原始抓取时间,另显示最近尝试失败;首次运行全部失败则停止发布。历史基线以 Actions artifact 保留最多 90 天,超过保留期后重新建立基线。 页面可见时每 30 秒读取最新静态结果,重新聚焦时检查;时间到达新鲜期或活动截止边界时也会更新提示和列表。这里的“刷新快照”只重读已发布文件,不触发外部抓取。 其他配置项见运维文档。 启用认证后,首页与数据 API 均要求有效凭据。浏览器在 /login 输入令牌,获得有效期 8 小时的签名会话,cookie 带 HttpOnly、SameSite=Strict,生产默认带 Secure。仅使用 HTTP…
Read the full README ↗ · Preview checked 2026-11-13T13:24:29.460Z
Inside the original README — Document outline
Headings are captured from the source. Links open the publisher’s document, not a locally hosted copy.
Links from the README
References supplied by the publisher, not independently verified endorsements. Check the destination before downloading files or entering credentials.
Documentation belongs to its respective authors. Reported project/model license: MIT. A listing is not a grant of reuse or training rights. Confirm the document’s own terms at the source.
What this repository does
PerkRadar — A self-hosted deals aggregator that fetches freebies, limited-time offers, and discounts from multiple sources every two hours, with source status tracking, expiration handling, and personal bookmarks.
Repository facts
- Owner
- luobinger
- Primary language
- TypeScript
- Stars
- 494
- Forks
- 101
- Open issues + pull requests
- 0
- License
- MIT
- Archived
- No
- Default branch
- main
- Created
- 2026-11-08T08:22:48.000Z
- Last push
- 2026-11-14T03:15:29.000Z
Topics and intended use
No topics were included in the latest source metadata.
Review the README for scope, installation, examples and limitations. We do not run repository code or certify it.
Evaluate before installing
Review licensing and dependencies, inspect recent commits and unresolved issues, and test in an isolated environment before production use. Stars and forks alone cannot answer these questions.
Source and freshness
Source: GitHub. Metadata observed 2026-11-14T12:24:55.365Z. Daily imports are snapshots, not real-time monitoring.
Popularity and source listings do not establish security, suitability, licensing rights or benchmark performance.