1168 字
6 分钟

Idol Tracker - 开源追星神器部署指南

项目简介#

Idol Tracker 是我开发的一款开源追星工具。作为一个追星党,我深知每天手动刷微博、签到超话的痛苦,于是决定用技术解决这个问题。

项目地址:https://github.com/1776686596/idol-tracker

核心功能#

功能说明
微博动态聚合自动抓取爱豆微博,时间轴展示
超话自动签到每天 8:00 定时签到,告别断签
美图画廊瀑布流展示高清图片
消息推送支持企业微信、邮件通知
扫码登录微博扫码绑定,安全快捷

界面预览#

首页介绍#

部署后访客看到的首页,展示项目核心功能介绍:

首页功能介绍

动态聚合#

主界面 - 聚合展示所有关注爱豆的最新动态:

动态主界面

动态详情 - 点击查看某条动态的详细内容:

动态详情

单个爱豆动态 - 查看某一位爱豆的所有动态:

单个爱豆动态

美图画廊#

瀑布流展示爱豆高清美图:

美图画廊

超话自动签到#

自动完成每日超话签到,告别断签烦恼:

超话签到

管理后台#

管理员登录

管理员登录

数据概览 - 统计卡片 / 签到趋势图:

数据概览

用户管理 - 用户列表 / 状态管理:

用户管理

系统配置 - 爬虫间隔设置 / 推送配置:

系统配置

技术架构#

项目采用 Monorepo 架构,前后端分离:

idol-tracker/
├── packages/
│ ├── web/ # 用户前台 (Next.js 14)
│ ├── admin/ # 管理后台 (Next.js 14)
│ ├── server/ # 后端服务 (Express.js)
│ └── crawler/ # 爬虫模块

技术选型

  • 前端:Next.js 14 + TailwindCSS
  • 后端:Express.js + PostgreSQL + Redis
  • 认证:JWT

部署教程#

环境要求#

  • Node.js >= 18.0.0
  • PostgreSQL >= 14
  • Redis

Step 1: 克隆项目#

Terminal window
git clone https://github.com/1776686596/idol-tracker.git
cd idol-tracker
npm install

Step 2: 配置数据库#

创建 PostgreSQL 数据库:

CREATE DATABASE idol_tracker;
CREATE USER idoltracker WITH PASSWORD 'your-password';
GRANT ALL PRIVILEGES ON DATABASE idol_tracker TO idoltracker;

初始化表结构:

Terminal window
psql -U idoltracker -d idol_tracker -f packages/server/sql/init.sql

Step 3: 配置环境变量#

Terminal window
cp packages/server/.env.example packages/server/.env

编辑 .env 文件:

Terminal window
# 服务配置
PORT=3001
NODE_ENV=development
# 数据库
DATABASE_URL=postgresql://idoltracker:your-password@localhost:5432/idol_tracker
# JWT 密钥(生产环境请修改)
JWT_SECRET=your-super-secret-jwt-key
# Redis
REDIS_URL=redis://localhost:6379
# 微博爬虫(必填)
WEIBO_COOKIE=
WEIBO_XSRF_TOKEN=
# 企业微信推送(可选)
WECHAT_WEBHOOK_KEY=
# 邮件推送(可选)
SMTP_HOST=smtp.example.com
SMTP_PORT=465
SMTP_USER=notify@example.com
SMTP_PASS=your-smtp-password
SMTP_FROM=Idol Tracker <notify@example.com>

这是最关键的一步,爬虫需要微博 Cookie 才能工作:

  1. 登录 weibo.com
  2. F12 打开开发者工具
  3. 切换到 Network 标签
  4. 刷新页面,点击任意请求
  5. Request Headers 中找到 Cookie,复制整个值
  6. 同样找到 x-xsrf-token,复制其值

将这两个值填入 .env 文件对应位置。

Step 5: 启动服务#

一键启动(推荐)

Terminal window
npm run dev

这会同时启动三个服务:

单独启动

Terminal window
npm run dev:web # 用户前台
npm run dev:admin # 管理后台
npm run dev:server # 后端服务

Step 6: 登录系统#

默认管理员账号:

账号密码
adminadmin123

生产环境请务必修改默认密码!

使用指南#

查看爱豆动态#

动态主界面

  1. 登录后进入主界面
  2. 系统自动聚合所有关注爱豆的最新动态
  3. 点击任意动态可查看详情

浏览美图画廊#

美图画廊

  1. 进入「美图」页面
  2. 瀑布流展示所有爱豆的高清图片
  3. 支持大图预览和无限滚动

超话自动签到#

超话签到

  1. 绑定微博账号后自动开启
  2. 每天早上 8:00 自动执行签到
  3. 签到结果可通过企业微信/邮件推送

配置消息推送#

系统配置

在管理后台「系统设置」中配置:

  • 企业微信:填入群机器人 Webhook Key
  • 邮件:配置 SMTP 服务器信息

数据库结构#

主要数据表:

表名用途
users用户账号
admins管理员账号
idols爱豆信息
subscriptions用户订阅关系
weibo_posts微博动态缓存
user_weibo_bindings用户微博绑定
checkin_records签到记录
system_config系统配置

常见问题#

Q: 爬虫不工作?

A: 检查微博 Cookie 是否过期,Cookie 有效期约 30 天,过期后需重新获取。

Q: 签到失败?

A: 确保已正确绑定微博账号,且账号已关注对应超话。

Q: 如何部署到生产环境?

A: 建议使用 PM2 管理 Node 进程,配合 Nginx 反向代理。记得修改 JWT_SECRET 和数据库密码。

写在最后#

这个项目是我为了解决自己追星需求而开发的,希望能帮到有同样需求的朋友。

如果觉得有用,欢迎 Star 支持:GitHub

有问题或建议欢迎提 Issue!

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Idol Tracker - 开源追星神器部署指南
https://blog.daisheng.xyz/posts/idol-tracker-guide/
作者
园长
发布于
2025-12-28
许可协议
CC BY-NC-SA 4.0

目录