通过分析缩短链接、管理电子邮件和控制子域 —— 所有这些都在一个平台上完成。
项目地址:https://github.com/oiov/wr.do
简介
WR.DO 是一个一站式网络工具平台,集成短链服务、临时邮箱、子域名管理和开放 API 接口。支持自定义链接、密码保护、访问统计;提供无限制临时邮箱收发;管理多域名 DNS 记录;内置网站截图、元数据提取等实用 API。完整的管理后台,支持用户权限控制和服务配置。
功能列表
短链服务:
- 支持自定义短链
- 支持生成自定义二维码
- 支持密码保护链接
- 支持设置过期时间
- 支持访问统计(实时日志、地图等多维度数据分析)
- 支持调用 API 创建短链
临时邮箱服务:
- 支持创建自定义前缀邮箱
- 支持过滤未读邮件列表
- 可创建无限数量邮箱
- 支持接收无限制邮件 (依赖 Cloudflare Email Worker)
- 支持发送邮件(依赖 Resend)
- 支持调用 API 创建邮箱
- 支持调用 API 获取收件箱邮件
子域名管理服务:
- 支持管理多 Cloudflare 账户下的多个域名的 DNS 记录
- 支持创建多种 DNS 记录类型(CNAME、A、TXT 等)
开放接口模块:
- 获取网站元数据 API
- 获取网站截图 API
- 生成网站二维码 API
- 将网站转换为 Markdown、Text
- 支持所有类型 API 调用统计日志
- 支持生成用户 API Key,用于第三方调用开放接口
管理员模块:
- 多维度图表展示网站状态
- 域名服务配置(动态配置各项服务是否启用,包括短链、临时邮箱(收发邮件)、子域名管理)
- 用户列表管理(设置权限、分配使用额度、禁用用户等)
- 短链管理(管理所有用户创建的短链)
- 邮箱管理(管理所有用户创建的临时邮箱)
- 子域名管理(管理所有用户创建的子域名)
截图预览
Vercel 的部署方式
前置准备
- 一个 GitHub 账号
https://github.com
- 一个 Vercel 账号
https://vercel.com (也可以直接使用 GitHub 直接登录)
- .env 中的坏境变量
演示站点
坏境变量获取
数据库 DATABASE_URL
环境变量获取
- 数据库环境变量,这里我使用的是 Neon
- 没有账号的点进去注册好账号后点击
New project
创建一个数据库
- 创建好后点击
Connect
就可以看见连接信息,记得把下面的眼睛打开在复制哦
配置身份验证服务
Github 获取认证方式
- 点击链接按照以下方式创建
GITHUB_ID = your_secret_client_id;
GITHUB_SECRET = your_secret_client;
Linux.do 获取认证方式
- 打开 Linux.do 后,点击我的应用接入点击申请新接入,然后保存
LinuxDo_CLIENT_ID=
LinuxDo_CLIENT_SECRET=
电子邮件验证配置
- 创建一个帐户
- 如果您没有 Resend 帐户,请在此处注册后按照他们的步骤操作。
- 创建好后点击
Domains
右上角的 + ADD Domain ,然后输入你打算做域名邮箱的域名,添加好后解析以下 DNS 即可
- 等解析成功点击左边的的
API keys
创建你的密钥即可
RESEND_API_KEY=re_your_resend_api_key;
RESEND_FROM_EMAIL="[email protected]"
添加 GITHUB_TOKEN 环境变量
- 通过 Sign in to GitHub · GitHub 获取您的令牌。创建好后点击就会看到 Token 了
GITHUB_TOKEN=ghp_
CFR2 变量获取前提你已开通 R2,开通后按照以下步骤获取
- 点击 CF 网站左边的 R2 对象存储,概述,然后创建存储桶
- 点击设置常规下面的自定义域
NEXT_PUBLIC_EMAIL_R2_DOMAIN = 你添加的自定义域名
.env 文件
环境变量 | 值 | 描述 |
---|---|---|
NEXT_PUBLIC_APP_URL | 你的网站 URL | The URL of the Next.js application. |
AUTH_SECRET | 222222 | The secret used to encrypt tokens and email verification hashes. |
AUTH_URL | http://localhost:3000 | NextAuth.js callback URL。 |
DATABASE_URL | postgres://username:password@host:port/database | The path to the database. |
GOOGLE_CLIENT_ID | 222222 | The ID of the Google OAuth client. |
GOOGLE_CLIENT_SECRET | 222222 | The secret of the Google OAuth client. |
GITHUB_ID | 222222 | The ID of the GitHub OAuth client. |
GITHUB_SECRET | 222222 | The secret of the GitHub OAuth client. |
RESEND_API_KEY | re_ | The API key for Resend. |
RESEND_FROM_EMAIL | "[email protected]" | The email address to send emails from. |
NEXT_PUBLIC_OPEN_SIGNUP | 1 | Open signup. |
NEXT_PUBLIC_ENABLE_SUBDOMAIN_APPLY | 0 | Enable subdomain apply. |
SCREENSHOTONE_BASE_URL | https://api.example.com | pending |
一键部署到 Vercel(推荐)
你也可以直接去仓库 Fork ,这样更新方便
Fork 后填写以下变量
DATABASE_URL = 数据库URL
NEXT_PUBLIC_APP_URL = 主网站URL
GITHUB_ID = 前面获取的
GITHUB_SECRET = 前面获取的
GITHUB_TOKEN = 前面获取的
AUTH_SECRET = 主网站URL
RESEND_API_KEY = 邮件API keys
NEXT_PUBLIC_EMAIL_R2_DOMAIN = CFR2域名或者R2存储桶自定义域名
NEXT_PUBLIC_OPEN_SIGNUP = 1
SKIP_DB_CHECK = false
SKIP_DB_MIGRATION = alse
进入网站设置
- 设置系统
- 创建第一个帐户并将帐户角色更改为 ADMIN
- 请按照以下步骤操作:
- 通过 http:// 你的网站 URL/login 使用您的帐户登录。
- 通过 http:// 你的网站 URL/setup,将帐户的角色更改为 ADMIN。
- 然后按照面板指南配置系统并添加第一个域。
添加一个域开始使用短链接、电子邮件或子域管理功能
- 点击网站左边
ADMIN
下的Domains
点击右边的 + Add Domain - Zone ID 获取,打开 Cloudflare 官网进入你的域名下,右边的 API 下面的区域 ID 就是你的 Zone ID
- API Token 获取
- 点击右上方的配置文件,点击左边的 API 令牌,查看你的 API 密钥
- Account Email 就是你注册 Cloudflare 的邮箱 ,可以在 API 令牌上面的设置中看到
这样我们的配置就完成了。需要开启接收邮件我们还需要部署一个 Worker 。
Worker 配置的方式。
- 打开 GitHub 链接
Fork
到你的 Github 下面 - 回到 Cloudflare 官网点击
Worker 和pages
点击 创建导入存储库的方式选择 Fork 的电子邮件项目,点击保存和部署
也可以不用 pnpm install
这个构建命令,直接加好变量部署即可。
- 在你的域名下面找到电子邮件启用电子邮件路由,点击跳过指南。点击启动电子邮件路由然后点击下面的添加记录并启用
- 找到路由规则点击后面的启用,打开编辑设置
- 这是我们搭建好的收到邮件的界面
- 如遇收不到邮件的问题可以在 Vercel 添加一个别的域名,比如 mi.231110.xyz,记得把 Worker 的 URL 也改成你这个。
这样邮件设置就完成了
本教程只适用于本版本的搭建和部署,至于后面升级部署的方式请自行探索。谢谢
版权声明:
作者:pddpdd
链接:https://pddpdd.cn/674.html
文章版权归作者所有,未经允许请勿转载。
THE END