原地址:https://github.com/isecret/sspanel-autocheckin
目录
- 适用于使用 SSPanel 用户管理面板搭建的网站,网站页面底部会有
Powered by SSPANEL
字段 - 支持使用配置文件读取账户信息,支持多机场多用户签到
- 支持一日多次签到
- 支持推送签到信息到 QQ、微信和 Telegram
- 若有 bug 请到 Issues 反馈
V2.0 版本支持多站点多用户签到,不兼容 V1.0 版本配置,升级脚本后需要重新配置
Fork 后的项目 Github Actions 默认处于关闭状态,需要手动开启 Actions,执行一次工作流。后续定时任务(cron)才会自动执行。具体操作信息看:关于定时任务不执行。
Fork 该仓库,进入仓库后点击 Settings
,右侧栏点击 Secrets
,点击 New secret
。按需添加以下值:
Secret Name | Secret Value | 参数说明 | 是否可选 |
---|---|---|---|
USERS |
https://abc.com----abc@abc.com----abc123456; |
用户组,格式为 签到站点----用户名----密码 ,多个站点或用户使用 ; 分隔 |
必填,至少存在一组 |
PUSH_KEY |
SCxxxxxxxxxxxxx |
微信推送 ,填写自己申请Server 酱的SC KEY |
可选 |
PUSH_TURBO_KEY |
xxxxxxxxxxxxxxx |
企业微信推送 ,填写自己申请Server 酱 Turbo的SendKey |
可选 |
QMSG_KEY |
e6fxxxxxxxxxxxx |
QQ 推送 ,填写自己申请Qmsg 酱的 QMSG_KEY |
可选 |
DDBOT_TOKEN |
a1bxxxxxxxxxxxx |
钉钉机器人推送 ,填写申请自定义机器人接入 申请的回调地址中 access_token 的值 |
可选 |
TELEGRAMBOT_TOKEN |
123456:ABC-DEF1234xxx-xxx123ew11 |
TGBot 推送,填写自己向@BotFather 申请的 Bot Token | 可选,和下面的一起使用 |
TELEGRAMBOT_CHATID |
11xxxxxx03 |
TGBot 推送,填写@getuseridbot私聊获取到的纯数字 ID | 可选,和上面一起使用 |
PUSHPLUS_TOKEN |
xxxxxxxxxxxxxxxx |
PUSHPLUS 推送,填写申请的 pushplus TOKEN | 可选 |
WEWORK_ID |
xxxxxx |
企业微信ID,填写注册的企业微信 ID | 可选,与 WEWORK_AGENT_ID 和 WEWORK_SECRET 配合使用 |
WEWORK_AGENT_ID |
100001 |
企业微信应用ID,填写申请应用的ID | 可选,与 WEWORK_ID 和 WEWORK_SECRET 配合使用 |
WEWORK_SECRET |
xxxxxxxxxxxxxxx |
企业微信对应的 SECRET | 可选,与 WEWORK_ID 和 WEWORK_AGENT_ID 配合使用 |
DISPLAY_CONTEXT |
1 |
任务执行时是否显示详细信息,1 显示 0 关闭,默认值 1 |
可选 |
TGBot 推送相关参数获取步骤可以点击 TGBot 推送相关参数获取 查看。
定时任务将于每天凌晨 2:20
分和晚上 20:20
执行,如果需要修改请编辑 .github/workflows/work.yaml
中 on.schedule.cron
的值(注意,该时间时区为国际标准时区,国内时间需要 -8 Hours)。
# Ubuntu/Debain
apt-get install jq
# CentOS
yum install jq
# MacOS
brew install jq
git clone --depth=1 https://github.com/isecret/sspanel-autocheckin.git
# 因为国内网络克隆速度不是很理想的,选择下面的
git clone --depth=1 https://hub.fastgit.org/isecret/sspanel-autocheckin.git
复制 env.example
为 .env
,然后编辑 .env
文件修改配置。
cp env.example .env
vim .env
用户配置格式如下:相关参数获取步骤可看上方表格的参数说明列。
# 用户信息。格式:域名----账号----密码,多个账号使用 ; 分隔,支持换行但前后引号不能删掉
USERS="https://abc.com----abc@abc.com----abc123456;
https://abc.com----abc@abc.com----abc123456;
https://abc.com----abc@abc.com----abc123456;"
# Server 酱推送 SC KEY
PUSH_KEY="PUSH_KEY"
# Qmsg 酱推送 QMSG_KEY
QMSG_KEY="QMSG_KEY"
# 钉钉机器人推送 DDBOT_TOKEN
DDBOT_TOKEN="DDBOT_TOKEN"
# TelegramBot 推送 Token
TELEGRAMBOT_TOKEN="TELEGRAMBOT_TOKEN"
# TelegramBot 推送用户 ID
TELEGRAMBOT_CHATID="TELEGRAMBOT_CHATID"
# PUSHPLUS 推送 Token
PUSHPLUS_TOKEN="PUSHPLUS_TOKEN"
# 企业微信 ID
WEWORK_ID="WEWORK_ID"
# 企业微信应用 ID
WEWORK_AGENT_ID="WEWORK_AGENT_ID"
# 企业微信密钥
WEWORK_SECRET="WEWORK_SECRET"
# 执行任务时是否显示签到详情
DISPLAY_CONTEXT=1
不会使用 vim 操作的直接复制下面命令(修改相关参数)到终端运行即可。
cat > .env <<EOF # 用户信息。格式:域名----账号----密码,多个账号使用 ; 分隔,支持换行但前后引号不能删掉 USERS="https://abc.com----abc@abc.com----abc123456; https://abc.com----abc@abc.com----abc123456; https://abc.com----abc@abc.com----abc123456;" # Server 酱推送 SC KEY PUSH_KEY="PUSH_KEY" # Qmsg 酱推送 QMSG_KEY QMSG_KEY="QMSG_KEY" # 钉钉机器人推送 DDBOT_TOKEN DDBOT_TOKEN="DDBOT_TOKEN" # TelegramBot 推送 Token TELEGRAMBOT_TOKEN="TELEGRAMBOT_TOKEN" # TelegramBot 推送用户 ID TELEGRAMBOT_CHATID="TELEGRAMBOT_CHATID" # PUSHPLUS 推送 Token PUSHPLUS_TOKEN="PUSHPLUS_TOKEN" # 企业微信 ID WEWORK_ID="WEWORK_ID" # 企业微信应用 ID WEWORK_AGENT_ID="WEWORK_AGENT_ID" # 企业微信密钥 WEWORK_SECRET="WEWORK_SECRET" # 执行任务时是否显示签到详情 DISPLAY_CONTEXT=1 EOF
脚本添加可执行权限后运行。
$ chmod +x ssp-autocheckin.sh && ./ssp-autocheckin.sh
🚀SSPanel Auto Checkin v2.2.2
用户 1
签到站点: DOMAIN
签到用户: EMAIL
签到时间: 2021-05-19 12:46:10
签到状态: 续命1天, 获得了 111 MB流量.
用户 2
签到站点: DOMAIN
签到用户: EMAIL
签到时间: 2021-05-19 12:46:14
签到状态: 续命1天, 获得了 111 MB流量.
用户等级: VIP1
用户余额: 2.98 CNY
用户限速: 100 Mbps
总流量: 317.91 GB
剩余流量: 248.817 GB
已使用流量: 69.0929 GB
等级过期时间: 2021-05-12 16:03:35
账户过期时间: 2021-07-26 16:03:35
上次签到时间: 2020-12-26 02:53:23
通知结果:
Server 酱推送结果: 成功
Qmsg 酱推送结果: 成功
钉钉机器人推送结果: 成功
TelegramBot 推送结果: 成功
PushPlus 推送结果: 成功
企业微信推送结果: 成功
---------------------------------------
签到成功后,即可添加定时任务。
24 10 * * * bash /path/to/ssp-autocheckin.sh >> /path/to/ssp-autocheckin.log 2>&1
因为 Github 默认 Fork 后的项目 Github Actions 处于关闭状态,定时任务执行需要手动开启 Actions,执行一次工作流。解决方法有三种:
因为签到详细信息涉及用户隐私问题,所以对任务结果中对域名和用户名进行了脱敏处理,如果你仍希望关闭任务结果的显示,可以配置 Secret DISPLAY_CONTEXT
的值为 0
将只展示任务推送结果,而不显示具体签到详情。
需要
TELEGRAMBOT_TOKEN
和TELEGRAMBOT_CHATID
一起使用,前者用于调用 bot,后者用于指定推送目标。
TELEGRAMBOT_CHATID 获取 |
TELEGRAMBOT_TOKEN 获取 |
---|---|
用户可选手动 PR 同步或者使用插件 Pull App 自动同步原作者的更新内容。手动 PR 同步可以参考 手动 PR 同步教程。自动同步需要安装 Pull app 插件。使用插件 Pull App 自动同步步骤如下。
-
安装 Pull app 插件。
-
安装过程中会让你选择要选择那一种方式;
All repositories
表示同步已经 frok 的仓库以及未来 fork 的仓库;Only select repositories
表示仅选择要自己需要同步的仓库,其他 fork 的仓库不会被同步。
根据自己需求选择,实在不知道怎么选择,就选
All repositories
。点击
install
,完成安装。Pull App 可以指定是否保留自己已经修改的内容,分为下面两种方式,如果你不知道他们的区别,就请选择方式二;如果你知道他们的区别,并且懂得如何解决 git 冲突,可根据需求自由选择任一方式。
该方式会在上游代码更新后,判断上游更新内容和自己分支代码是否存在冲突,如果有冲突则需要自己手动合并解决(也就是不会直接强制直接覆盖)。如果上游代码更新涉及
workflow
里的文件内容改动,这时也需要自己手动合并解决。
步骤如下:
-
确认已安装 Pull app 插件。
-
编辑 pull.yml (在
.github
目录下) 文件,将第 5 行内容修改为mergeMethod: merge
,然后保存提交。 (默认就是merge
,如果未修改过,可以不用再次提交)
完成后,上游代码更新后 pull 插件就会自动发起 PR 更新自己分支代码!只是如果存在冲突,需要自己手动去合并解决冲突。
当然也可以立即手动触发同步:https://pull.git.ci/process/${owner}/${repo}
该方式会将源作者的内容直接强制覆盖到自己的仓库中,也就是不会保留自己已经修改过的内容。
步骤如下:
-
确认已安装 Pull app 插件。
-
编辑 pull.yml (在
.github
目录下) 文件,将第 5 行内容修改为mergeMethod: hardreset
,然后保存提交。
完成后,上游代码更新后 pull 插件会自动发起 PR 更新覆盖自己仓库的代码!
当然也可以立即手动触发同步:https://pull.git.ci/process/${owner}/${repo}