一个部署在 Cloudflare Workers 上的 Emby 反代节点管理面板:集中管理多个 Emby 源站的反代节点,支持添加/编辑/删除节点、切换反代模式、全局测速、DNS 管理、流量统计、数据大屏,还带订阅者只读模式和多级权限体系。
单文件 Worker,登录页 + 管理面板全部在一个 worker.js 里,复制粘贴就能部署,不需要任何构建。
- 频道: 𝙈𝙖𝙠𝙠𝙖𝙋𝙖𝙠𝙠𝙖’𝙨 𝘾𝙝𝙖𝙣𝙣𝙚𝙡
- 群组: 𝙈𝙖𝙠𝙠𝙖𝙋𝙖𝙠𝙠𝙖’𝙨 𝙂𝙧𝙤𝙪𝙥
- 不懂的进群提问即可,详细图文教程,群内回复关键词:教程
- 不允许反代的服务器就不要反代了,影响他人体验。
-
Cloudflare 账号 Cloudflare Dashboard | Manage Your Account(没有账号自行注册登录即可)
-
一个域名 立即注册 - DNSHE(推荐这个免费域名即可,也可以用自己的域名)
-
明文源码 来TG群找
- 打开 Cloudflare 控制台 → 左侧菜单 Workers & Pages → Create application → Create Worker(创建空白 Worker)
- 给 Worker 起个名字(比如
emby-proxy-panel),点 Deploy
面板的节点、统计、订阅者数据都存在 D1(Cloudflare 原生 SQLite):
- 左侧菜单 Workers & Pages → D1 → Create database
- 名字随意(比如
emby-proxy-db) - 创建好后进入数据库 → Bindings → Add binding:
- 变量名填:
DB(必须叫这个,代码读的就是env.DB) - 选刚创建的数据库 → Save
- 变量名填:
不用手动建表,首次访问时代码会自动建好
routes、request_stats、visitor_logs、app_config四张表。
| 变量名 | 必填 | 说明 |
|---|---|---|
ADMIN_TOKEN |
✅ 必填 | 管理员登录密码(最高权限,永远有效) |
CF_API_TOKEN |
选填 | CF API Token(流量统计 / DNS 管理 / 区域调度用),按下面「API Token 权限配置」创建 |
CF_ZONE_ID |
选填 | 你域名的 Zone ID |
CF_DOMAIN |
选填 | 你的反代域名 |
1. 权限(Permissions)
| 权限类型 | 资源 | 权限 |
|---|---|---|
| 账户 Account | Workers 脚本 Worker Scripts | 编辑 Edit |
| 区域 Zone | 区域设置 Zone Settings | 读取 Read |
| 区域 Zone | 清除缓存 Cache Purge | 清除 Purge |
| 区域 Zone | DNS | 编辑 Edit |
| 区域 Zone | Analytics | 读取 Read |
2. 账户资源(Account Resources):选择 包括 Include → 勾选你的账号(你的邮箱@gmail.com)
3. 区域资源(Zone Resources):选择 包括 Include → 特定区域 Specific zone → 勾选你的反代域名区域
4. 客户端 IP 地址筛选:默认不设置(留空即可)
不配
CF_API_TOKEN那些,流量统计、DNS、区域调度用不了,但节点反代、登录、订阅者模式照常能用。。
- 进入 Worker → Edit code
- 把编辑器里默认代码全选删掉
- 把本仓库 worker.js 的内容全部复制粘贴进去
- 点右上角 Deploy
Worker → Settings → Domains & Routes → Add,输入你的反代域名(需已接入 CF DNS)。去到Cloudflare 域名概览界面,选择你刚刚添加到worler的域名,点击DNS记录,添加一条CNAME记录,前缀填你刚刚自定义的前缀,关闭小黄云,目标填入:saas.sin.fan
- 访问
https://你的worker名.你的子域.workers.dev(或自定义域名) - 输入
ADMIN_TOKEN设的密码登录 - 点顶部 logo → 账户设置:可改网页密码、添加订阅者密码(分享给朋友)
- 节点管理:添加/编辑/删除节点,每条节点支持主线路 + 多条备用源站线路(主源挂掉自动切换)
- 反代模式:
保守(抹除IP)/严格/兼容/强力一键切换 - 节点操作:拖拽排序、批量应用模式、按备注/后缀搜索、直达链接一键复制、节点展开/收起
- 测速与 DNS:全局测速、单节点延迟检测、动态 DNS 管理(自定义 API IP、远程 IP)
- 数据统计:24h/7天/30天流量(CF GraphQL 精准取数)、播放次数(今日/累计)、访客日志、数据大屏
- 手动覆盖/更新:粘贴代码或上传文件覆盖 Worker 核心代码(提交前二次确认)
- 调度与区域:Worker 调度模式(智能/边缘/云厂商/手动)与区域设置
- 备份恢复:一键导出全部配置为 JSON / 导入恢复
- 深色/浅色模式、版本自动检测更新
| 角色 | 登录方式 | 权限 |
|---|---|---|
| 管理员(变量密码) | ADMIN_TOKEN |
最高权限,永不失效,任何时候都能进面板 |
| 管理员(网页密码) | 账户设置里改的密码 | 与变量密码同级;可在此管理订阅者(添加/删除订阅者密码) |
| 订阅者 | 管理员添加的订阅者密码 | 只读:只能看节点和直达链接;不能增删改节点、不能测速/DNS、不能进设置、不能更新/导入导出/改区域;源站链接完全隐藏(前端隐藏 + 后端剥离,调接口也拿不到) |
⚠️
ADMIN_TOKEN是最高权限密码:网页端改密码后它照样能进面板。忘记网页密码?用ADMIN_TOKEN登录重新改就行。
- 节点页 → + 添加节点
- 填写:
- 前缀路径:访问路径(如
youno,访问链接 =https://你的域名/youno) - 主线路地址:Emby 源站地址(如
http://1.1.1.1:8096),可逗号分隔加多条备用线路 - 反代模式:默认「保守(抹除IP)」
- 前缀路径:访问路径(如
- 提交,然后访问
https://你的域名/前缀就是反代后的媒体库
- 管理员登录 → 顶部 logo → 账户设置 → 管理用户
- 添加订阅者密码(4 位以上)
- 订阅者用该密码登录 = 只读模式,只能看节点、复制直达链接,看不到任何源站信息
底部导航 → 控制面板 → 手动覆盖/更新:粘贴最新代码全文或上传 worker.js 文件 → 覆盖更新。
⚠️ 提交错误代码会导致面板崩溃(500),先本地验证。
| 表名 | 用途 |
|---|---|
routes |
反代节点(prefix / target / mode / remark / icon / cache_img / sort_order) |
request_stats |
每日播放请求统计(prefix + date) |
visitor_logs |
访客日志(IP / 国家 / UA,自动清理 7 天前数据) |
app_config |
面板配置(网页管理员密码、订阅者列表) |
绑定名必须为
DB,否则面板不工作。
Q:页面提示「请在 Worker 变量中配置 ADMIN_TOKEN」?
A:没配 ADMIN_TOKEN 环境变量,去 Settings → Variables 加上重新部署。
Q:订阅者登录后「读取失败」?
A:确认用的是本仓库最新版代码(旧版存在接口 500 bug),且 D1 绑定名正确是 DB。
Q:流量统计显示「获取异常」?
A:检查 CF_API_TOKEN / CF_ZONE_ID 配置,Token 权限是否含 Analytics: Read。
Q:反代节点访问不了? A:确认源站地址可达、域名 DNS 已解析到 Worker(先用 workers.dev 地址测试)。
Q:忘记网页登录密码?
A:用 ADMIN_TOKEN 环境变量密码登录(永远有效),进 logo → 账户设置重新改。
本项目仅供学习与技术测试使用。请遵守当地法律法规与各平台服务条款,开发者不对任何信息造成的后果承担责任。请勿将本项目用于侵犯他人版权或未经授权的访问行为。