Skip to content

PeanutSplash/anyrouter-check-in-web

Repository files navigation

AnyRouter Check-in Web

anyrouter-check-in 的配置管理前端。通过表单化的 UI 管理签到账号和通知配置,替代手动编辑 JSON + GitHub Secrets 的繁琐流程。

功能

  • GitHub OAuth 登录 — 登录后自动获取你的仓库列表
  • 一键 Fork — 引导未 fork 的用户快速 fork 源仓库
  • 表单化账号管理 — 添加/编辑/删除签到账号,支持密码登录和 Cookies 两种认证方式
  • Provider 选择 — 内置 AnyRouter / AgentRouter,也支持自定义 provider
  • 通知渠道配置 — 按需添加渠道(钉钉、飞书、企业微信、Telegram、邮件、PushPlus、Server 酱、Gotify、Bark)
  • Environment 管理 — 支持选择不同的 GitHub Environment 分别配置
  • 本地缓存 — 配置数据缓存在浏览器 localStorage,再次编辑时自动回显,无需重新填写

数据安全

零数据库架构

本应用不存储任何用户数据,没有数据库、没有后端存储。所有配置数据存储在你自己的 GitHub 仓库中:

数据 存储位置 说明
账号配置(含密码) GitHub Environment Secret 通过 libsodium 加密后写入,写入后无法读取明文
账号元数据(名称、provider、类型) GitHub Environment Variable 明文存储,用于前端展示已有账号列表
通知 Token/Webhook GitHub Environment Secret 加密存储

权限说明

  • 应用通过 GitHub OAuth 获取 repo scope 的 access token
  • Token 仅保存在用户的浏览器 session 中,服务端不持久化
  • 所有 GitHub API 调用都使用用户自己的 token,应用无法访问用户未授权的仓库

本地缓存

为了方便编辑,配置数据会缓存在浏览器的 localStorage 中(包括敏感字段)。如果你在公共设备上使用,请在使用后清除浏览器数据。

部署

环境变量

变量 说明
AUTH_GITHUB_ID GitHub OAuth App Client ID
AUTH_GITHUB_SECRET GitHub OAuth App Client Secret
AUTH_SECRET Auth.js 加密密钥(openssl rand -base64 32

GitHub OAuth App

GitHub Developer Settings 创建 OAuth App:

  • Homepage URL: https://your-domain.com
  • Callback URL: https://your-domain.com/api/auth/callback/github

Vercel 一键部署

Deploy with Vercel

点击按钮后,Vercel 会引导你填写环境变量并自动部署。部署完成后记得更新 GitHub OAuth App 的 Callback URL。

本地开发

bun install
# 在 .env.local 中填入环境变量
bun run dev

技术栈

  • Next.js 16 (App Router)
  • Auth.js v5 (GitHub OAuth)
  • shadcn/ui + Tailwind CSS v4
  • Octokit (GitHub API)
  • libsodium (Secret 加密)

About

AnyRouter Check-in 的 Web 管理面板,通过 GitHub OAuth 登录管理签到配置

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors