Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/clansty/superstar-checkin
超星学习通自动签到
https://github.com/clansty/superstar-checkin
chaoxing checkin superstar xuexitong
Last synced: 1 day ago
JSON representation
超星学习通自动签到
- Host: GitHub
- URL: https://github.com/clansty/superstar-checkin
- Owner: clansty
- License: gpl-3.0
- Created: 2021-09-18T02:40:17.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-27T05:05:32.000Z (over 1 year ago)
- Last Synced: 2024-10-29T20:34:50.509Z (15 days ago)
- Topics: chaoxing, checkin, superstar, xuexitong
- Language: Nix
- Homepage:
- Size: 2.13 MB
- Stars: 160
- Watchers: 6
- Forks: 17
- Open Issues: 12
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Superstar Checkin
超星学习通自动签到工具
[![GitHub package.json dependency version (prod)](https://img.shields.io/github/package-json/dependency-version/Clansty/Superstar-checkin/oicq/main)](https://github.com/takayama-lily/oicq)
[![discord](https://img.shields.io/static/v1?label=chat&message=discord&color=7289da&logo=discord)](https://discord.gg/WV8W25eH)特色:
- 通过 IM 协议实时获取签到信息,而不是每隔一定时间请求服务器
- 包含 QQ 机器人,实时向指定的群通知程序状态
- 支持使用任何一张二维码进行二维码签到,即使二维码已经过期(直接在指定群内发送二维码即可)
## 功能(已实现部分)
- [x] 自动取 Cookie,过期自动更新
- [x] 支持通过学习通 IM 协议实时获取签到推送
- [x] 在群内发送提醒并自动签到
- [x] 通过 QQ 机器人接收群内发送的二维码实现二维码签到
本功能只需要一张已过期的二维码就可以
- [x] 支持多用户共同签到
- [x] 根据课程设置签到经纬度以及位置名称
请使用[此网页](https://api.map.baidu.com/lbsapi/getpoint/index.html)拾取坐标
- [x] 支持通过周次设定签到的地址,适用于实验课和正课在不同地点的情况
- [x] 手动签到
机器人命令:`签到 {aid} [enc(二维码签到时)|courseId(位置签到时。不需要提交位置可以不填)]`
- [x] Docker 和 Docker Compose 部署
- [ ] 通过 REST API 设置课程信息
## 部署方法
### 使用 Docker Compose 部署
1. 下载 [docker-compose.yaml](https://github.com/Clansty/superstar-checkin/raw/main/docker-compose.yaml) 和 [config.example.yaml](https://github.com/Clansty/superstar-checkin/raw/main/config.example.yaml),将它们放在一个文件夹中
2. 将 `config.example.yaml` 重命名为 `config.yaml`
3. 修改 `config.yaml` 中的配置项
4. `docker compose up`### 使用 NixOS 部署
1. 在你的系统 Flake 中,引入本项目
```nix
inputs.superstar-checkin.url = "github:clansty/superstar-checkin";
```2. 在系统配置的某个 Module 中填写配置项([查看示例](./config.example.nix))
3. `nixos-rebuild switch`可以使用 `systemctl status superstar-checkin` 来查看状态
### 手动部署
1. 安装 NodeJS 14 以上版本
2. `yarn install`
3. `cp config.example.yaml config.yaml` 并在 `config.yaml` 中填写配置项。配置文件中自带说明,请参考
4. `yarn build`
5. `yarn start`提示:机器人使用的账号必须已经在 [oicq](https://github.com/takayama-lily/oicq) 框架上登录过
## 限制
(据说)学习通禁止腾讯云阿里云这种 IP 签到,所以需要部署在家庭宽带下
## 参考
本程序借鉴了一些前人的项目:
- [mkdir700/chaoxing_auto_sign](https://github.com/mkdir700/chaoxing_auto_sign)
- [SSmJaE/XueXiTonsSign_Electron](https://github.com/SSmJaE/XueXiTonsSign_Electron)
- [cyanray/cx-auto-sign](https://github.com/cyanray/cx-auto-sign)更多有关学习通签到的项目值得尝试
| 项目地址 | 开发语言 | 备注 |
| ------------------------------------------------------- | ---------- | ---------------------------------------------- |
| https://github.com/cyanray/cx-auto-sign | C# | 超星学习通自动签到工具,通过IM协议监测签到活动。 |
| https://github.com/mkdir700/chaoxing_auto_sign | Python | 超星学习通自动签到脚本&多用户多任务&API |
| https://github.com/PrintNow/ChaoxingSign | PHP | PHP版超星自动签到,支持多用户,二次开发便捷!|
| https://github.com/Wzb3422/auto-sign-chaoxing | TypeScript | 超星学习通自动签到,梦中刷网课 |
| https://github.com/Huangyan0804/AutoCheckin | Python | 学习通自动签到,支持手势,二维码,位置,拍照等 |
| https://github.com/aihuahua-522/chaoxing-testforAndroid | Java | 学习通(超星)自动签到 |
| https://github.com/yuban10703/chaoxingsign | Python | 超星学习通自动签到 |
| https://github.com/SSmJaE/XueXiTonsSign_Electron | TypeScript | 基于Electron,桌面端,GUI,签到队列 |