Github actions自动签到GLaDOS天数并通知

前言

  • GLaDOS: GLaDOS provides most fast, stable, and secure endpoints for users to access high speed inter-national Internet, Netflix and Privacy with confidence.(梯子)
  • Github Actions: 是一个持续集成和持续交付的平台,它可以帮助你通过自动化的构建(包括编译、发布、自动化测试)来验证你的代码,从而尽快地发现集成错误。
  • Server酱: 英文名「ServerChan」,是一款「手机」和「服务器」、「智能设备」之间的通信软件。说人话?就是从服务器、路由器等设备上推消息到手机(微信公众号)的工具。

注册GLaDOS

1
2
3
4
5
6
7
https://glados.rocks/register

GLaDOS管理一个分布式的服务器网络,配置文件包含了这些服务器信息和流量的路由规则。
只需三步即可起飞
1. 下载对应平台软件
2. 添加配置文件,并设置自动更新
3. 开启系统代理


注册Server酱

1
2
3
4
https://sct.ftqq.com/

微信扫码绑定,点击登录,进入“Key&API”复制下SendKey后续用。
可以在线调试,看是否能收到消息。

Github准备

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 可直接fork已有的demo,https://github.com/liyk1024/GLaDOS-checkin.git
# 也可自己创建仓库,添加文件

1. checkin.sh脚本
echo '------------------sign------------------'
curl -H "cookie:${COOKIE}" -H 'content-type:application/json;charset=UTF-8' -d '{"token": "glados.network"}' -X POST 'https://glados.rocks/api/user/checkin' | grep -Eo '"message":"[^"]*"'
echo '-----------------status-----------------'
leftDays=`curl -H "cookie:${COOKIE}" -X GET 'https://glados.rocks/api/user/status' | grep -Eo '"leftDays":"[^"]*"' |awk -F '"' '{print $4}' | awk -F '.' '{print $1}'`
echo '-----------------Notify-----------------'
curl https://sctapi.ftqq.com/${SCKEY}.send?title=leftDays:${leftDays}


2. workflows run.yaml文件
# 工作流名称,不设置默认就取文件名
name: GLaDOS-checkin
# 指定触发workflow的条件,当指定触发事件时可以限定分支或标签。当前是PR时触发
on:
push:
pull_request:
watch:
types: [ started ]
# 任务计划,周期性主动执行
schedule:
- cron: 9 1 * * *
# 工作流执行的任务
jobs:
# 任务名称
GLaDOS-checkin:
# 任务运行的容器类型
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2 # 将代码拷贝到虚机中
- name: checkin
env: # 获取设置的secret
COOKIE: ${{ secrets.COOKIE }}
SCKEY: ${{ secrets.SCKEY }}
run: | # 执行脚本
./checkin.sh

Github Actions配置

1
2
进入项目中,点击settins - Secrets and variables - Actions
添加secret,COOKIE、SCKEY。(下面说这2个值获取)
  • COOKIE
    1
    COOKIE:登录上GLaDOS,F12查看当前登录后会话的cookie,然后复制填写为value


  • SCKEY
    1
    复制SendKey,再添加一个secret。名称SCKEY,值贴上保存。

  • 开启Actions
    1
    点击项目仓库的Actions,开启后,再开启workflow


验证

1
随意编辑下仓库内容提交后即可触发,如增加个注释、修改下READE.md文件。记得填写commit信息

  • Actions触发执行

  • Server酱发送消息


-------------本文结束感谢您的阅读-------------
原创技术分享,感谢您的支持。