无需服务器实现阿里云盘自动签到并推送消息

准备条件:

1.GitHub账号
2.pushplus(用于推送消息)

GitHub设置

1.登录自己的GitHub,创建一个新的仓库,名字命名为:aliyun-signin-action

2.在仓库中新建文件 .github/workflows/signin.yml

直接复制后,会自动建立目录层级

3.编辑signin.yml文件,代码如下(复制=====中间的内容)
====================================
name: Aliyun Signin

on:
  schedule:
   # 每天国际时间 14:40 运行一次, 中国时间 22:40
    - cron: '40 14 * * *'
  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: ''
          DO_NOT_REWARD: 'false'
          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 }}
          PUSHPLUS_TOPIC: ${{ secrets.PUSHPLUS_TOPIC }}
          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 }}
          FEISHU_WEBHOOK: ${{ secrets.FEISHU_WEBHOOK }}
          WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }}
          CQHTTP_ENDPOINT: ${{ secrets.CQHTTP_ENDPOINT }}
          CQHTTP_USER_ID: ${{ secrets.CQHTTP_USER_ID }}
          CQHTTP_ACCESS_TOKEN: ${{ secrets.CQHTTP_ACCESS_TOKEN }}
====================================

4.根据实际情况修改配置
  • 修改运行时间:- cron: '40 14 * * *'(注意,此处是国际时间,自行转换为北京时间)
  • 修改推送功能:PUSH_TYPES: (推荐使用PushPlus)
  • 修改仅签到,不领取奖励:DO_NOT_REWARD,默认为flase,可改为true
然后,点击保存,最终代码如下

配置GitHub Secrets

在仓库的 Settings-> Secrets and Variables -> Actions 中点击 New repository secret 按照推送需要添加 Secrets.
添加时 Name 为下方全大写的配置 keySecret 为对应的值, 均不需要引号.
  • REFRESH_TOKENS [必选] 阿里云盘 refresh token, 多账户使用英文逗号 (,) 分隔
  • GP_TOKEN [推荐] 在 Action 中运行时更新 refresh token

获取 GP_TOKEN 的方法

点击 GitHub 头像 -> Settings (注意与配置 Secrets 不是同一个 Settings) -> Developer settings -> Personal access token -> Tokens(classic) -> Generate new token

权限选择 repo, 不然不能更新 Secrets. 记住生成的 token, 离开页面后无法查看


  • SERVERCHAN_SEND_KEY [可选] Server酱推送渠道的 SendKey
  • TELEGRAM_BOT_TOKEN [可选] Telegram Bot Token
  • TELEGRAM_CHAT_ID [可选] Telegram 接收推送消息的会话 ID
  • PUSHPLUS_TOKEN [可选] PushPlus Token
  • PUSHPLUS_TOPIC [可选] PushPlus 群组编码,不填仅发送给自己
  • SMTP_HOST [可选] SMTP 服务器地址
  • SMTP_PORT [可选] SMTP 服务器端口
  • SMTP_TLS [可选] SMTP 服务器是否使用 TLS
  • SMTP_USER [可选] SMTP 服务器用户名
  • SMTP_PASSWORD [可选] SMTP 服务器密码
  • SMTP_SENDER [可选] SMTP 发件人邮箱
  • SMTP_RECEIVER [可选] SMTP 收件人邮箱
  • FEISHU_WEBHOOK [可选] 飞书 Webhook 地址
  • WEBHOOK_URL [可选] 自定义 Webhook 地址
  • CQHTTP_ENDPOINT [可选] go-cqhttp 服务器地址
  • CQHTTP_USER_ID [可选] go-cqhttp user id
  • CQHTTP_ACCESS_TOKEN [可选] go-cqhttp access_token

这些 Secrets 将加密存储在 GitHub, 无法被直接读取, 但可以在 Action 中使用

正确添加后应显示在 Repository secrets 区域而非 Environment secrets.

运行 Action

你将有两种方式运行 Action

  • 手动运行
    • 在仓库的 Actions -> Aliyun Signin -> Run workflow 中点击 Run workflow 按钮运行
  • 定时自动运行
    • 上方参考的配置文件中已经配置了定时自动运行, 每天国际时间 17:20 运行一次, 中国时间 01:20, 可根据需要调整


此博客中的热门博文

onlyoffice添加中文字体和字号

为签到平台添加获取 Cookie 功能 GetCookies

CentOS+宝塔部署seafile教程