自动签到程序可以装在软路由,非常方便

操作说明

HAR editor 使用指南

操作前请一定要记得备份数据库

请勿同时运行新旧版签到框架, 或将不同运行中容器的数据库映射为同一文件, 更新后请重启容器或清空浏览器缓存

可以通过get-cookie浏览器插件获取cookie

扩展设置里填写qiandao程序ip地址
https://github.com/ckx000/get-cookies

Docker容器部署方式

安装Portainer-ce后简单安装

1
1

官方教程:

1. docker地址 : https://hub.docker.com/r/a76yyyy/qiandao

2. docker部署命令

docker run -d --name qiandao -p 8923:80 -v $(pwd)/qiandao/config:/usr/src/app/config a76yyyy/qiandao
  • 默认Redis已随容器启动: (该命令与上一条命令等效)
docker run -d --name qiandao -p 8923:80 -v $(pwd)/qiandao/config:/usr/src/app/config a76yyyy/qiandao sh -c "redis-server --daemonize yes && python /usr/src/app/run.py"

3. 数据库备份指令 : docker cp 容器名:/usr/src/app/config/database.db .

  • 数据库恢复指令 : docker cp database.db 容器名:/usr/src/app/config/

4. docker配置邮箱(强制使用SSL)

docker run -d --name qiandao -p 8923:80 -v $(pwd)/qiandao/config:/usr/src/app/config --env MAIL_SMTP=STMP服务器 --env MAIL_PORT=邮箱服务器端口 --env MAIL_USER=用户名 --env MAIL_PASSWORD=密码 --env DOMAIN=域名 a76yyyy/qiandao

5. docker 使用MySQL

docker run -d --name qiandao -p 8923:80 -v $(pwd)/qiandao/config:/usr/src/app/config --ENV DB_TYPE=mysql --ENV JAWSDB_MARIA_URL=mysql://用户名:密码@hostname:port/数据库名 a76yyyy/qiandao

6. 其余可参考 Wiki : Docker部署签到站教程

7. DockerHub : 介绍

8. Docker已预装Curl环境, 默认安装pycurl模组

Web源码部署方式

1. Version: python3.8

# 请先cd到框架源码根目录
pip3 install -r requirements.txt

2. 可选 redis, Mysql

mysql < qiandao.sql

3. 修改相关设置

# 请先在框架根目录下新建local_config.py, 在linux环境下可执行以下命令
cp config.py local_config.py
# 修改local_config.py文件的内容不受通过git更新源码的影响

4. 启动

python ./run.py

数据不随项目分发, 去 https://github.com/qiandao-today/templates 查看你需要的模板, 点击下载。 在你自己的主页中 「我的模板+」 点击 + 上传。模板需要发布才会在「公开模板」中展示, 你需要管理员权限在「我的发布请求」中审批通过。

5. 设置管理员

python ./chrole.py your@email.address admin

6. qiandao.py-CMD操作

python ./qiandao.py tpl.har [--key=value]* [env.json]

config.py-配置环境变量

变量名是否必须默认值说明
BIND0.0.0.0监听地址
PORT8923监听端口
QIANDAO_DEBUGFalse是否启用Debug模式
MULTI_PROCESSFalse是否启用多进程模式, Windows平台无效
AUTO_RELOADFalse是否启用自动热加载, MULTI_PROCESS=True时无效
COOKIE_DAY5Cookie在客户端保留天数
DB_TYPEsqlite3需要使用MySQL时设置为'mysql'
JAWSDB_MARIA_URL''需要使用MySQL时, 设置为 mysql://用户名:密码@hostname:port/数据库名
REDISCLOUD_URL''需要使用Redis或RedisCloud时, 设置为 http://rediscloud:密码@hostname:port
REDIS_DB_INDEX1默认为1
PUSH_PIC_URLpush_pic.png默认为push_pic.png
PUSH_BATCH_SWTrue是否允许开启定期推送签到任务日志, 默认为True
ENABLE_HTTPSFalse发送的邮件链接启用HTTPS, 非程序使用HTTPS, 需要HTTPS需要使用反向代理
DOMAINqiandao.today指定访问域名, 建议修改, 否则邮件重置密码等功能无效
MAIL_SMTP""邮箱SMTP服务器
MAIL_PORT""邮箱SMTP服务器端口
MAIL_USER""邮箱用户名
MAIL_PASSWORD""邮箱密码
MAIL_DOMAINmail.qiandao.today邮箱域名,没啥用, 使用的DOMAIN
AES_KEYbinuxAES加密密钥, 强烈建议修改
COOKIE_SECRETbinuxcookie加密密钥, 强烈建议修改
PROXIES""全局代理域名列表,用"
PROXY_DIRECT_MODE""全局代理黑名单模式,默认不启用 "url"为网址匹配模式;"regexp"为正则表达式匹配模式
PROXY_DIRECT""全局代理黑名单匹配规则
USE_PYCURLTrue是否启用Pycurl模组
ALLOW_RETRYTrue在Pycurl环境下部分请求可能导致Request错误时, 自动修改冲突设置并重发请求
CURL_ENCODINGTrue是否允许使用Curl进行Encoding操作
CURL_CONTENT_LENGTHTrue是否允许Curl使用Headers中自定义Content-Length请求
NOT_RETRY_CODE详见配置...详见配置...
EMPTY_RETRYTrue详见配置...
USER0ISADMINTrue第一个注册用户为管理员,False关闭

详细信息请查阅config.py

更新方法

1. 源码部署更新

sh ./update.sh # 先cd到源码所在目录, 执行命令后重启进程 

2. Docker容器部署更新

sh /usr/src/app/update.sh # 先进入容器后台, 执行命令后重启进程 

3. 强制同步最新源码

sh ./update.sh -f 

https://github.com/qiandao-today/qiandao
https://hub.docker.com/r/a76yyyy/qiandao

签到模板
https://github.com/qiandao-today/templates
https://qiandao.today/tpls/public