项目用于自动实现阿里云盘的每日签到活动.
支持 GitHub Action , 无需服务器即可实现每日自动签到.
如果此项目能帮助到你, 欢迎给我一个 Star ⭐ 这是我持续维护的动力
免费 | 高速 | Web UI | 多账户独立配置
*在我能找到的范围里
0 成本 | 自动更新 | 支持推送 | 无需维护
功能 | 是否支持 | 未来计划 |
---|---|---|
签到 | ✅ | - |
签到推送 | ✅ | - |
多账户 | ✅ | - |
Action 签到 | ✅ | - |
- Clone 本项目到本地或下载 Release 版本
- 环境安装
Python >= 3.10
(仔细点,Python 3.8.10
并不属于3.10
, 已经有不少人犯错了)- 安装依赖
pip install -r requirements.txt # 国内环境使用清华源可加快安装速度 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- 修改配置文件
- 复制
example.config.ini
为config.ini
- 在配置文件中填入你的阿里云盘
refresh token
, 可使用此工具获取. 多账户同时签到使用英文逗号分隔 - 按需填写推送配置参数
push_types
, 支持的推送渠道见下方, 不需要推送请留空 - 保存配置文件
- 复制
- 运行并查看是否成功签到
python app.py # 运行 python app.py -h # 查看帮助
- 使用任意方式每日定时运行
app.py
即可请注意, Python 的运行目录必须在项目根目录下, 否则可能出现无法正确引入依赖或配置文件的问题
- 以 nohup 等后台形式运行时, 可在 自动生成的
.log
文件中查看运行日志 - 如果遇到配置错误或环境问题, 并且你并不擅长于这个领域, 那推荐的解决方案是切换为 Action 方案而不是提出 Issue 等待解答 (通常会花费更多的时间).
Linux 使用 pyenv 的进阶选项
此内容不适用于大部分用户, 如果你不知道这是做什么的, 请不要使用
克隆项目后在项目目录中执行 pyenv 安装脚本
# auto install pyenv
curl -s https://raw.githubusercontent.com/ImYrS/aliyun-auto-signin/main/install-pyenv.sh | bash
source ~/.bashrc
# install python version
pyenv install 3.10.12
# install dependency
pyenv local 3.10.12
pip3 install -r requirements.txt
# copy and edit config.ini
### cp -a example.config.ini config.ini
# source
source ~/.bashrc
# run
pyenvs 3.10.12 app.py
### crontab
# 0 8 * * * pyenvs 3.10.12 /root/aliyun-auto-signin/app.py
注意: main 分支仅支持 Python 3.10 及以上版本, 低于 3.10 的版本请移步
低版本兼容分支
低版本兼容分支已不再维护, 并可能在未来被移除.
无法使用 Python 3.10
或更高版本请切换至 Action 方案
- Clone 本项目到本地或下载 Release 版本
- 将
example.config.ini
配置文件改名并保存为/root/config.ini
- 按照本地运行的方法修改配置文件
- 进入项目根目录, 构建镜像
docker build -t aliyun-auto-signin .
- 运行容器
docker run --name aliyun-auto-signin -v /root/config.ini:/apps/aliyun-auto-signin/config.ini -d aliyun-auto-signin
- 配置 crontab 定时任务
添加一行, 每日 20:30 运行
crontab -e
保存并退出30 20 * * * docker start aliyun-auto-signin
非官方 docker 镜像的讨论以及使用方法在此查看
项目不对非官方的 Docker 镜像或其运行方法负责, 也不为其提供支持.
本地运行和 Github Action 运行支持的推送渠道与配置方法不同
不支持
DingTalk
的原因是钉钉机器人需要配置来源 IP, 这在 Action 中无法实现不支持
PushDeer
的原因是好像没人用, 我懒得写, 有需要可以提出 Issue 或者自己写然后 PR (这很简单)
渠道名 | 渠道描述 | 本地 | Action |
---|---|---|---|
DingTalk | 钉钉自定义机器人 | ✅ | ❌ |
ServerChan | Server 酱推送 | ✅ | ✅ |
PushDeer | PushDeer | ✅ | ❌ |
Telegram | Telegram 机器人 | ✅ | ✅ |
PushPlus | PlusPlus | ✅ | ✅ |
SMTP | SMTP 邮件 | ✅ | ✅ |
FeiShu | 飞书群组机器人 | ✅ | ✅ |
WebHook | 自定义 WebHook | ✅ | ✅ |
go-cqhttp | go-cqhttp 机器人 | ✅ | ✅ |
填写推送渠道名称时不区分大小写, 例如 dingtalk
和 DingTalk
都是有效的
本地部署推荐: 飞书, ServerChan, PushPlus
Action 推荐: 飞书, PushPlus, Telegram, ServerChan
各推送渠道完整配置
-
钉钉机器人
app_key
: 机器人的appKey
app_secret
: 机器人的appSecret
user_id
: 接收消息的用户id
, 必须是钉钉userid
- 获取
userid
可参考 搜索用户userId - 钉钉机器人开发文档
-
ServerChan
send_key
: ServerChan 发送消息的鉴权key
- server 酱官方文档
-
PushDeer (未测试)
endpoint
: 默认为https://api2.pushdeer.com
, 自建 PushDeer Server 时才需要更改send_key
: PushDeer 发送消息的鉴权key
- PushDeer on GitHub
-
Telegram Bot
endpoint
: 默认为https://api.telegram.org/bot
, 自建 Bot Server 时才需要更改bot_token
: 机器人的token
, 从 Bot Father 处获取chat_id
: 发送签到消息的用户id
, 或 Channel 的@username
proxy
: 代理地址, 例如http://127.0.0.1:1080
, 支持HTTP
和SOCKS5
代理, 不使用代理请留空- Telegram Bot API
-
PushPlus
token
: PushPlus 发送消息的用户令牌token
topic
: PushPlus 群组编码,不填仅发送给自己topic
- PushPlus 官方文档
-
SMTP
smtp_host
: SMTP 服务器地址smtp_port
: SMTP 服务器端口smtp_tls
: 是否使用 TLS 加密smtp_user
: SMTP 用户名smtp_pass
: SMTP 密码smtp_sender
: 发件人地址, 一般与用户名相同smtp_receiver
: 收件人地址, 仅支持单个收件人- 推荐使用 Microsoft Outlook 作为 SMTP 服务器
-
FeiShu
webhook
: 飞书群组机器人的webhook
地址- 飞书自定义机器人指南
-
WebHook (未测试)
webhook_url
: 自定义 WebHook 地址- 请求格式
{ "title": "阿里云盘签到", "text": "[110***1130] 签到成功, 本月累计签到 30 天.\n本次签到获得 容量延期 1天容量延期卡", "html": "<code>110***1130</code> 签到成功, 本月累计签到 30 天.\n本次签到获得 容量延期 1天容量延期卡" }
-
go-cqhttp
endpoint
: 服务器地址user_id
: 一般为 QQ 号access_token
: 访问令牌- go-cqhttp 文档
-
欢迎 PR 更多推送渠道
- 欢迎在 Issues 中反馈 Bug
- 你的 Star ⭐ 是我维护的动力
- PRs are welcome
- Telegram 交流群: @aliyun_auto_signin
Jetbrains: Essential tools for software developers and teams |
---|