一个用于“活码管理与智能跳转”的全栈项目。支持在一个活码下维护多条目标标识(WS/TG/LINE),并按“轮询”策略分配访问,且“新添加的标识优先命中”。系统内置账号权限、访问记录、离线 IP 归属地解析、Docker 一键部署。 核心功能 活码管理 创建/编辑/删除活码;绑定前端域名;生成随机码链接 权限隔离:普通用户仅能管理自己的活码;管理员可管理所有人的 目标标识管理(WS/TG/LINE) 任意字符串可添加;也可直接粘贴链接自动提取末段标识 类型支持: WS → WhatsApp: https://api.whatsapp.com/send/?phone={标识} TG → Telegram: https://t.me/{标识} LINE → Line: https://line.me/R/ti/p/{标识} 访问分配策略:轮询;新增标识“插队”优先 访问统计与日志 记录访问时间、命中的标识、类型(WS/TG/LINE)、IP、IP 归属地 离线 IP 定位:ip2region.xdb(无外网依赖) 安全与校验 登录鉴权(JWT);角色:admin/用户 跳转前校验 Host 必须等于活码绑定域名(防盗链/错误域名) 技术栈 前端:Vue 3 + Element Plus + VXE Table 后端:Node.js (Express) + better-sqlite3(SQLite) 其他:ip2region 离线库、Docker / docker-compose、可配合 Caddy 证书签发(/caddy-allow 接口) 跳转规则(简述) 访问 /r/{random_code}: 校验请求 Host 与活码绑定域名一致 从该活码下的所有标识(WS/TG/LINE)按 id 倒序列表轮询取下一个 记录访问日志并自增命中计数 按类型跳转到对应目标地址 目录结构(简要) app-frontend/ 前端工程(管理后台 UI) app-backend/ 后端服务(API、跳转、日志、权限) docker-compose.yml 与 docker-compose.prod.yml(开发/生产编排) Caddyfile(可选,启用按需证书时使用) app-backend/ip2region.xdb(离线 IP 库,需提供) 快速上手 开发环境(容器内自动构建前后端) docker compose build docker compose up -d 生产环境(示例) 确保 app-backend/ip2region.xdb 存在 前端如使用本地 dist 挂载:先在服务器打包前端或上传 dist docker compose -f docker-compose.prod.yml build docker compose -f docker-compose.prod.yml up -d 使用流程 登录系统(管理员或普通用户) 新建活码,选择绑定的前端域名,生成随机码 在“WS号管理”中添加标识: 选择类型(WS/TG/LINE),可直接粘贴链接或任意字符串 复制活码链接进行投放;访问会按“新号优先+轮询”策略分配 在访问记录中查看命中标识、类型、IP 与归属地 特色亮点 不依赖外网的 IP 定位(xdb) 新增标识自动“插队”,减少冷启动期 Host 绑定校验,避免错误域名访问 简单轻量:SQLite 单文件数据库,部署成本低
点击空白处退出提示
评论