Skip to content

About

Galgame VIP content site on Cloudflare Workers

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Galgame VIP

Galgame VIP icon

Galgame VIP Workers

一个运行在 Cloudflare Workers 上的 Galgame 内容站,带完整前台、统一用户系统和 WordPress 风格后台。

在线站点 · 安装部署 · Cloudflare 配置

功能

  • 三种内容类型:普通文章 ARTICLE、游戏资源 GAME、写真图集 PHOTO;没有独立的 VIDEO 文章类型,R2 视频仅用于游戏预告片。
  • 可视化后台:文章、分类、标签、独立页面、导航菜单、首页布局、SEO、媒体库、用户、评论、Steam 同步、友情链接、全站通知和资源失效反馈。
  • 统一账户体验:首位管理员初始化、登录、注册、邮箱验证码、找回/修改密码、修改邮箱、Steam OpenID、角色权限和登录锁定。
  • 媒体全部归档到 R2,后台可管理 R2 对象;需要使用外部图片时,可直接填写图片 URL。
  • 游戏文章保留 Steam 元数据、截图、视频播放器、下载链接、图集灯箱与资源反馈;详情页背景只使用文章封面图。
  • 基于 Tiptap 的富文本编辑器,支持粘贴文字和图片、R2 上传、媒体库选择与外部链接。
  • Cloudflare 原生运行时:Workers + OpenNext、D1、R2、KV、Analytics Engine;邮件使用 Workers Socket 连接外部 SMTP(465/587)。
  • 全站采用 Radix/shadcn 风格组件与 Sonner 通知,兼顾桌面端与手机端。

不包含的内容

  • 生产 Cloudflare 账户、D1/KV ID、R2 数据、站点数据库快照、SMTP/Steam 凭据和实际域名绑定。
  • Telegram、独立视频文章、自动下载资源可用性监控,以及浏览量、点赞、收藏、分享功能。
  • 商业游戏本体、下载资源或第三方媒体。部署者需要自行处理内容版权、下载链接和上传文件的合规性。

技术栈

层级 实现
应用 Next.js App Router、React、TypeScript
UI Tailwind CSS、Radix UI、shadcn 风格组件、Sonner、Lucide
编辑器 Tiptap
边缘运行时 Cloudflare Workers、OpenNext
数据与媒体 D1、R2、KV、Analytics Engine
集成 Steam Web API / OpenID、外部 SMTP

快速开始

需要 Node.js 20+、pnpm 10+,以及一个可创建 Workers、D1、R2 和 KV 的 Cloudflare 账号。

git clone https://github.com/DearLicy/galgame-vip-workers.git
cd galgame-vip-workers
pnpm install --frozen-lockfile
Copy-Item wrangler.example.jsonc wrangler.jsonc
Copy-Item .dev.vars.example .dev.vars
pnpm db:apply
pnpm cf:dev

浏览器打开 http://127.0.0.1:8787,随后访问 /setup 创建首位管理员。完整的资源创建、密钥、远程迁移和正式域名步骤见 INSTALL.md。

常用命令

命令 用途
pnpm dev 运行 Next.js 开发服务器
pnpm cf:dev 构建并启动 Workers 本地模拟环境
pnpm db:apply 应用本地 D1 迁移
pnpm db:apply:remote 应用远程 D1 迁移
pnpm lint ESLint 检查
pnpm typecheck TypeScript 检查
pnpm cf:build 构建 OpenNext Cloudflare Worker
pnpm cf:deploy 构建并部署 Worker

D1_DATABASE_NAME 可以覆盖默认数据库名 galgame-vip。例如在 PowerShell 中执行 $env:D1_DATABASE_NAME = 'my-galgame-db',再运行迁移命令。

目录说明

src/app/          Next.js 路由、前台、后台和 API
src/components/   前后台组件、编辑器、播放器与布局区块
src/lib/          D1/R2、鉴权、Steam、SMTP、SEO 与业务逻辑
migrations/       D1 schema 与增量迁移
scripts/          本地/远程 D1 迁移脚本
public/brand/     Galgame VIP 图标和 Logo
docs/             Cloudflare 部署说明

配置与安全

  • 将 wrangler.example.jsonc 复制为本机的 wrangler.jsonc,填入自己的 D1/KV ID 和正式域名;该文件被 Git 忽略。
  • 不要提交 .dev.vars、R2 S3 密钥、API Token、数据库导出或 Workers 构建目录。
  • 使用 wrangler secret put SHIORI_JWT_SECRET 与 wrangler secret put SHIORI_KMS_KEY 写入生产密钥。密钥均应为新生成的随机值。
  • SMTP 授权码、Steam API Key 等运行时配置在后台保存;导出或公开 D1 数据库前必须先清理这些记录。

贡献

欢迎提交 Issue 和 Pull Request。提交前请运行:

pnpm lint
pnpm typecheck
pnpm cf:build

许可证

本项目按 MIT License 发布。public/brand/ 中的 Galgame VIP 图标与 Logo 为项目随附品牌素材;使用时请保留版权与许可证声明。

About

Galgame VIP content site on Cloudflare Workers

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages