哦弥陀佛,小僧日夜参禅,终于悟透,故而分享给各位施主,且小僧发现本坛中没有阿里云签到的帖子,故而坚定不移的分享给大家
概述
通过github的action功能,实现0服务器每日自动签到 并 利用各种消息通知功能推送,
准备工作/工具:
1、github账号
2、push-token
github配置
1,创建一个新的仓库,命名aliyun-signin-action
不需要 Fork 本仓库, 采用 uses
的方式引用本仓库 Action, 实现自动更新
2,在仓库中新建文件 .github/workflows/signin.yml
用于配置 Github Action 的工作流
编写内容如下,先贴上完整参数:
name: Aliyun Signin
on:
schedule:
# 每天国际时间 17:20 运行一次, 中国时间 01:20
- cron: '20 17 * * *'
workflow_dispatch:
jobs:
signin:
name: Aliyun Signin
runs-on: ubuntu-latest
steps:
- uses: ImYrS/aliyun-auto-signin@main
with:
REFRESH_TOKENS: ${{ secrets.REFRESH_TOKENS }}
GP_TOKEN: ${{ secrets.GP_TOKEN}}
PUSH_TYPES: ''
SERVERCHAN_SEND_KEY: ${{ secrets.SERVERCHAN_SEND_KEY }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
PUSHPLUS_TOKEN: ${{ secrets.PUSHPLUS_TOKEN }}
SMTP_HOST: ${{ secrets.SMTP_HOST }}
SMTP_PORT: ${{ secrets.SMTP_PORT }}
SMTP_TLS: ${{ secrets.SMTP_TLS }}
SMTP_USER: ${{ secrets.SMTP_USER }}
SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }}
SMTP_SENDER: ${{ secrets.SMTP_SENDER }}
SMTP_RECEIVER: ${{ secrets.SMTP_RECEIVER }}
根据自身需求填写secrets
,添加方式如下:
在仓库的 Settings
-> Secrets and Variables
-> Actions
中点击 New repository secret
按照推送需要添加 Secrets.
添加时 Name
为下方全大写的配置 key, Secret
为对应的值, 均不需要引号.
如果想推送消息,根据自己想用的推送方式,填写在PUSH_TYPES: ''
这里的单引号内(如TG
就填TELEGRAM
,server酱
就填SERVERCHAN
,邮箱
就填SMTP
,PUSHPLUS
就填写PUSHPLUS
)
这里我建议用pushplus(https://www.pushplus.plus/)
注册之后发送消息那里获取token,下面有详细说明每个参数的意思:
REFRESH_TOKENS
[必填]阿里云盘 refresh token, 多账户使用英文逗号 (,) 分隔*
GP_TOKEN
[必填]在 Action 中运行时更新 refresh token
SERVERCHAN_SEND_KEY
[可选] Server酱推送渠道的 SendKey
TELEGRAM_BOT_TOKEN
[可选] Telegram Bot Token
TELEGRAM_CHAT_ID
[可选] Telegram 接收推送消息的会话 ID
PUSHPLUS_TOKEN
[可选] PushPlus Token
SMTP_HOST
[可选] SMTP 服务器地址
SMTP_PORT
[可选] SMTP 服务器端口
SMTP_TLS
[可选] SMTP 服务器是否使用 TLS
SMTP_USER
[可选] SMTP 服务器用户名
SMTP_PASSWORD
[可选] SMTP 服务器密码
SMTP_SENDER
[可选] SMTP 发件人邮箱
SMTP_RECEIVER
[可选] SMTP 收件人邮箱
这些 Secrets
将加密存储在 GitHub, 无法被直接读取, 但可以在 Action 中使用
正确添加后应显示在 Repository secrets
区域而非 Environment secrets
.
我的secrets
如图
获取REFRESH_TOKENS
点击获取
获取GP_TOKEN
点击 GitHub 头像 -> Settings
(注意与配置 Secrets 不是同一个 Settings) -> Developer settings
-> Personal access token
-> Tokens(classic)
-> Generate new token
权限选择 repo
, 不然不能更新 Secrets. <u>记住生成的 token, 离开页面后无法查看</u>
获取PUSHPLUS_TOKEN
上述已说明,如下图,复制即可
这里贴上我的signin.yml
配置:
name: Aliyun Signin
on:
schedule:
# 每天国际时间 17:20 运行一次, 中国时间 01:20
- cron: '20 17 * * *'
workflow_dispatch:
jobs:
signin:
name: Aliyun Signin
runs-on: ubuntu-latest
steps:
- uses: ImYrS/aliyun-auto-signin@main
with:
REFRESH_TOKENS: ${{ secrets.REFRESH_TOKENS }}
GP_TOKEN: ${{ secrets.GP_TOKEN}}
PUSH_TYPES: 'pushplus'
PUSHPLUS_TOKEN: ${{ secrets.PUSHPLUS_TOKEN }}
我用的pushplus推送,故只用了这几个secret。
运行action
方式有两种:
-
手动运行
- 在仓库的
Actions
-> Aliyun Signin
-> Run workflow
中点击 Run workflow
按钮运行(4是查看结果)
-
定时自动运行
- 上方参考的配置文件中已经配置了定时自动运行, 每天国际时间 17:20 运行一次, 中国时间 01:20, 可根据需要调整
这里注意下github的action配额,别乱用,不过2000min/mouth也够用,如下图
查看结果
运行完后点进去即可查看原因,只要出现签到成功即可,图中的这种错误作者告知貌似还没避免,等github原作者通知
这里更新坛友指点之后的成功运行结果:(更新时间:2023年3月14日 10:31:02)
over..
感谢原作者开源分享,源码如下:
https://github.com/ImYrS/aliyun-auto-signin/blob/main/How-To-Use-Action.md