跳到主要内容

Qiandao

介绍

QD (Qiandao, 签到) 是一个强大的自动化HTTP请求定时任务框架,专为解决重复性网络任务而设计。它能帮助用户自动完成各类网站的签到、打卡、领取奖励等重复性操作,大幅节省时间和精力。

无论是论坛签到、积分获取、每日打卡,还是特定网站的定时任务,QD都能通过模拟HTTP请求来完成这些工作。您只需配置好相应的请求模板和定时规则,系统就会按照设定自动执行,并提供详细的执行日志和结果通知。

官方网站

https://github.com/qd-today/qd

QD —— 一个HTTP请求定时任务自动执行框架

核心功能

  • 任务自动化:设置一次,永久执行,无需人工干预
  • 灵活的定时系统:支持Cron表达式,精确控制任务执行时间
  • 模板分享系统:社区共享各类网站的签到模板,一键导入使用
  • 强大的变量系统:支持环境变量、会话变量和请求变量,实现复杂逻辑
  • 多用户管理:支持多账户,可为家人朋友设置不同的签到任务
  • 结果推送:支持多种通知方式,包括邮件、微信、Telegram等
  • 日志记录:详细记录每次任务执行情况,便于排查问题
  • Web界面:直观的用户界面,便于管理和监控任务
  • API接口:提供丰富的API,支持与其他系统集成

Docker方式安装

Docker是部署QD最简单高效的方式,只需几个简单步骤即可完成部署。

compose文件

创建compose.yml文件,内容如下:

services:
qd:
image: qdtoday/qd:latest
container_name: qiandao
restart: always
ports:
- "8923:80"
volumes:
- ./config:/usr/src/app/config
- ./data:/usr/src/app/data
environment:
- TZ=Asia/Shanghai
- OAUTH_HOST= # 可选,开启OAuth登录时设置
- BIND_IP= # 可选,绑定监听IP
- BIND_PORT= # 可选,绑定监听端口
networks:
- qd_network

networks:
qd_network:

env文件

创建.env文件(可选),用于配置敏感信息和个性化设置:

# 数据库配置(默认使用SQLite,可选MySQL)
DB_TYPE=sqlite3
# 如使用MySQL,取消下面几行的注释并填写信息
# DB_TYPE=mysql
# MYSQL_HOST=mysql_host
# MYSQL_PORT=3306
# MYSQL_DATABASE=qiandao
# MYSQL_USER=qiandao
# MYSQL_PASSWORD=your_password

# 邮件通知配置(可选)
MAIL_SMTP=smtp.example.com
MAIL_PORT=465
MAIL_SSL=True
MAIL_USER=your_email@example.com
MAIL_PASSWORD=your_email_password
MAIL_FROM=your_email@example.com

# 推送通知配置(可选)
PUSHER_TYPE=serverchan # 或 bark, pushover, telegram等
SERVERCHAN_KEY=your_serverchan_key
# 其他推送配置类似

# 安全设置
AES_KEY=your_random_string_32chars # 建议生成随机32字符串
COOKIE_SECRET=your_random_string # 建议生成随机字符串

启动

在包含compose.yml的目录下执行以下命令启动服务:

docker compose up -d

启动后,通过浏览器访问http://your_ip:8923即可打开QD的Web界面。首次访问时,系统会引导您创建管理员账户。

备注

  1. 数据持久化

    • /usr/src/app/config目录存储配置文件
    • /usr/src/app/data目录存储数据文件和日志
    • 请确保这两个目录的映射,以防容器重建导致数据丢失
  2. 配置更新

    • 修改配置文件后,需要重启容器使配置生效:
    docker compose restart qd
  3. 版本更新

    • 更新到最新版本:
    docker compose pull qd
    docker compose up -d

使用指南

基本概念

  • 任务(Task):单个签到操作的集合,包含一系列HTTP请求
  • 模板(Tpl):可重复使用的签到流程,可导入导出分享
  • 变量(Variable):动态参数,用于处理不同情况
  • 推送(Push):任务结果的通知方式

创建签到任务

  1. 导入模板

    • 从"模板广场"页面浏览并导入社区分享的模板
    • 或者在"我的模板"中创建自定义模板
  2. 创建任务

    • 点击"新增任务"按钮
    • 选择已导入的模板
    • 填写必要的变量信息(如网站账号密码等)
    • 设置任务名称和执行时间
  3. 测试运行

    • 创建完成后,点击"立即执行"测试任务是否正常工作
    • 查看执行日志,确认任务流程无误

高级功能

  1. 批量管理

    • 支持批量导入导出任务
    • 批量启用/禁用/删除任务
  2. 自定义变量

    • 支持JavaScript代码处理复杂逻辑
    • 使用正则表达式提取网页内容
    • 条件判断和循环操作
  3. 安全设置

    • 公共签到站建议启用注册邮箱验证
    • 设置强密码保护管理员账户
    • 定期备份数据库内容

常见问题解答

  1. 任务执行失败?

    • 检查网站是否更新了界面或接口
    • 确认账号密码等信息是否正确
    • 查看详细日志定位具体错误
  2. 模板无法使用?

    • 模板可能已过时,需要更新
    • 某些网站可能有反爬虫机制
    • 尝试查找最新版本的模板
  3. 系统资源占用?

    • QD本身资源占用很小
    • 如任务过多,可适当调整任务执行时间,避免集中在同一时间点
  4. 数据安全问题?

    • 敏感信息使用AES加密存储
    • 建议在私有环境部署
    • 定期更改密码和加密密钥

QD是一款极其实用的自动化工具,能大大减轻日常重复性操作的负担。通过这篇文章的指导,您应该能够顺利部署并开始使用这个强大的签到框架。如有更多疑问,欢迎查阅官方文档或在社区中交流讨论。