项目用于自动实现阿里云盘的每日签到活动.
支持 GitHub Action , 无需服务器即可实现每日自动签到.
如果此项目能帮助到你, 欢迎给我一个 Star
🔥 推荐使用 Action 签到🔥
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 管理 Python 版本
克隆项目后在项目目录中执行 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
低版本 Python
注意: main 分支仅支持 Python 3.10 及以上版本, 低于 3.10 的版本请移步
低版本兼容分支
低版本兼容分支已不再维护, 并可能在未来被移除.
无法使用 Python 3.10
或更高版本请切换至 Action 方案
Docker 运行
官方 Docker
- 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 镜像的讨论以及使用方法在此查看
项目不对非官方的 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
贡献者
Special Sponsors
Jetbrains: Essential tools for software developers and teams |
---|