Caution
更新:2024-09-11
目前鹰角把森空岛检票的 API 加了风控拦截,现没有任何手段可以规避
因此该脚本目前只能实现森空岛签到,敬请谅解
Caution
更新:2024-09-15
目前疑似鹰角将森空岛登录进行了 IP 识别,登录 IP 与 API 调用 IP 不同时会触发风控
这意味着 Github Actions 和 IP 不同的 Docker 部署可能已经失效
纯 Shell 实现的森空岛各版面登岛检票和明日方舟每日签到任务
主要逻辑代码移植自 skland-daily-attendance
- 脚本需要在 Bash 环境下运行,Windows 用户请使用 MSYS2、WSL2 或虚拟机等拥有 Bash 的环境运行
- 脚本需要使用 curl、OpenSSL 和 jq 这三个第三方软件包
- 如果需要使用 SMTP 消息推送功能,请确保系统中可以使用 mailx 命令发送邮件
-
登录森空岛网页版,然后打开网址 https://web-api.skland.com/account/info/hg,记下
content
字段的值 (保护账号安全,请勿向他人透露该值!) -
设置环境变量
SKLAND_TOKEN
,值为上一步获取的content
;如果需要多账号支持,请使用半角逗号,
分隔各个content
,如:xxxx,yyyy,zzzz
-
运行脚本如下,它将自动帮你完成签到服务
SKLAND_TOKEN=xxxx,yyyy,zzzz ./attendance.sh
Docker 镜像在 https://hub.docker.com/r/snrainiar/skland-daily-attendance-shell
你需要根据 直接使用 中的步骤获得环境变量 SKLAND_TOKEN
的值,然后把它编写到 Docker 启动命令中启动镜像即可
docker run \
-d \
--restart always \
--name skland-daily-attendance \
-e SKLAND_TOKEN=xxxx,yyyy,zzzz \
snrainiar/skland-daily-attendance-shell
Note
镜像中配置了计划任务,会在每天的 05:00(北京时间) 执行一次签到,因此你不需要手动重启镜像
步骤与 在 Docker 中使用 类似,你需要编写一份 compose.yml
文件
services:
skland-daily-attendance:
image: snrainiar/skland-daily-attendance-shell
container_name: skland-daily-attendance
restart: always
environment:
SKLAND_TOKEN: xxxx,yyyy,zzzz
Caution
强烈 不推荐 使用该方式,因为可能会触发 GitHub Actions 滥用检测导致仓库爆炸
-
Fork 一份仓库代码
点击仓库右上角的Fork
按钮将仓库 Fork 到自己的账号下 -
添加仓库 Secret
点击Settings
-> 点击选项卡Secrets and variables
-> 点击Actions
-> 点击New repository secret
建立名为
SKLAND_TOKEN
的 Secret,按照 直接使用 中的要求填写 -
启动 Action
点击Actions
-> 点击左侧Schedule
-> 点击Run workflow
-> 点击按钮Run workflow
Action 默认为关闭状态,Fork 之后需要手动执行一次,若成功运行其才会激活
Important
如果仓库 60 天内没有活动,其计划 Actions 会被 自动禁用,你需要手动进行处理
一般情况下你会收到 Github 发送的一封关于 Actions 将被禁用的通知邮件
你需要设置环境变量 BARK_URL
,填入你 Bark 的推送地址
对于白嫖 GitHub Actions 用户,你需要像 白嫖 GitHub Actions 使用 中定义 SKLAND_TOKEN
一样在仓库 Secret 中定义 BARK_URL
你需要设置环境变量 SERVERCHAN_SENDKEY
,填入你 Server 酱的推送密钥
对于白嫖 GitHub Actions 用户,配置环境变量的方法如 Bark 推送 中的一样
Important
SMTP 推送强制要求使用 TLS 协议,并且要求进行 登陆验证
你需要配置如下环境变量:
名字 | 作用 | 示例值 |
---|---|---|
SMTP_HOST |
SMTP 主机地址 | - |
SMTP_PORT |
SMTP 端口 | 一般来说是 465 或 587 |
SMTP_USER |
SMTP 用户名 | 一般是一个邮箱地址 |
SMTP_PASSWD |
SMTP 密码 | - |
SMTP_FROM |
发送者邮箱 | 一般来说应该和用户名一样 |
SMTP_TO |
接收者邮箱 | - |
SMTP_REAL_NAME |
发送者名字 | - |
SMTP_START_TLS |
启用 STARTTLS 协议 | 只能是 on 或 off |
对于白嫖 GitHub Actions 用户,配置环境变量的方法如 Bark 推送 中的一样
在执行脚本时,设置环境变量 SKLAND_DEBUG
为非空值,可以让脚本打印测试信息,帮助你发现可能存在的问题或告知开发者以进行漏洞修复
Caution
测试信息中可能包含你账号的敏感信息,请注意保护