OpenWrt LuCI support for FeiYoung Campus Network Auto Login. 专为飞young校园网设计的 OpenWrt 自动登录插件,提供图形化配置界面与稳定的守护进程。
- 🔐 本地自动算号 (v1.7.4+): 仅需输入 6 位原始密码,插件自动计算每日密码。彻底告别手动生成 31 行密码的繁琐操作!
- ⚡ 智能降级机制: 支持将 31 天密码列表作为备用方案。若自动计算失败,脚本自动切换至列表模式,确保登录可靠。
- 零依赖: 纯 Shell 脚本核心,无需 Python/Node.js,仅依赖系统自带的
curl。 - LuCI 集成: 原生 OpenWrt 界面风格,支持 Argon 等第三方主题。
- 智能守护: 集成 Procd 进程守护,开机自启,崩溃自动重启。
- 断线重连: 内置网络状态检测与心跳保活机制,实现 7x24 小时在线。
- 性能优化: 密码缓存机制降低 CPU 占用;严格的网络超时控制防止进程卡死。
- 无缝升级: 升级时自动保留用户配置,无需重新设置手机号或密码。
- 低资源占用: 内存占用极低,日志自动轮转,不占用路由器存储空间。
本插件提供不同版本以适应不同需求,请按需选择:
- v1.8 (推荐): 功能最全,支持本地自动算号、计划休眠、断网控制、仪表盘组件等高级功能。
- v1.6: 仅保留核心登录功能,需手动粘贴密码列表。代码量更少,体积极致轻量,适合存储空间极度受限的设备。
本插件采用纯脚本编写,支持所有 CPU 架构 (x86, ARM, MIPS 等) 的 OpenWrt 路由器。
编译生成的 IPK 包名可能包含 _all 或特定架构后缀,但它们在功能上是通用的。
- 将本仓库克隆到 OpenWrt SDK 的
package/目录下:cd package/ git clone https://github.com/Chizukuo/luci-app-chongyoung.git - 运行
make menuconfig,在LuCI->3. Applications中选中luci-app-chongyoung。 - 编译固件或单独编译 IPK 包:
make package/luci-app-chongyoung/compile
如果你已经有了编译好的 .ipk 文件:
- 将
.ipk文件上传到路由器/tmp目录。 - 执行安装命令:
opkg update opkg install /tmp/luci-app-chongyoung_*.ipk
这是最便捷的方式,只需一次性配置,无需每月更新。
- 登录路由器 OpenWrt 后台。
- 进入菜单:
服务 (Services)->ChongYoung Network。 - 基本设置:
- 勾选
启用 (Enable)。 - 输入
手机号 (Phone Number)。 - 输入
密码种子 (Password Seed)—— 你的 6 位原始密码(默认身份证后六位)。
- 勾选
- 点击右下角的
保存并应用 (Save & Apply)即可。
就这么简单! 路由器将自动计算每日密码,无需进一步操作。
若遇到无法登录的情况,请通过 SSH 登录路由器查看日志:
# 查看最近的日志
logread -e chongyoung
# 实时监控日志
logread -f -e chongyoung网络断开,开始重连: 检测到无法 ping 通外网,正在尝试重新认证。登录结果: 50:认证成功: 成功登录到校园网。密码计算失败: 密码种子有误或计算脚本缺失,请检查配置或升级到最新版本。未找到第 XX 天的密码: 使用密码列表模式时,该行密码缺失或列表不完整。
从旧版升级至 v1.7.4+:
升级过程中,OpenWrt 包管理器可能会提示配置文件冲突。无需手动操作,升级脚本会自动:
- 保留你的手机号和已有的密码列表。
- 添加新的"密码种子"配置字段。
- 重启服务使配置生效。
升级完成后,建议在 Web 界面补充填写"密码种子"字段以享受全自动登录的便利
v1.8 (2025-12-21) - 本地自动算号与稳定性大幅提升
- ✨ 新增内置自动算号功能,仅需 6 位原始密码
- ✨ 智能降级机制:计算失败自动切换至密码列表
- ✨ 新增计划休眠功能,支持定时断开 WAN 接口
- 🚀 密码缓存优化,显著降低 CPU 占用
- 🛡️ 网络超时控制防止进程卡死
- 🔧 配置无缝迁移,升级时自动保留用户设置
- 🔧 高级超时配置,支持自定义连接和总超时时间
- 🐛 修复脚本 CRLF 换行符问题,提升系统兼容性
- 🐛 修复脚本语法错误,提升进程稳定性
更早的版本历史请参考 Releases 页面。
.
├── Makefile # OpenWrt 编译配置
├── index.html # 密码生成工具 (Web 界面)
├── README.md # 项目说明
├── htdocs/ # Web 界面文件
│ └── luci-static/resources/view/
│ ├── chongyoung/
│ │ └── general.js # LuCI 配置界面
│ └── status/include/
│ └── 10_chongyoung.js # 状态页仪表盘组件
├── luasrc/ # Lua 控制层
│ └── controller/chongyoung.lua # LuCI 路由器
├── root/ # 系统集成文件
│ ├── etc/config/chongyoung # UCI 配置文件
│ ├── etc/init.d/chongyoung # Procd 启动脚本
│ ├── etc/uci-defaults/99_chongyoung # 升级迁移脚本
│ ├── usr/bin/chongyoung.sh # 核心守护进程
│ ├── usr/share/chongyoung/calc_pwd.lua # 密码算法 (Lua 版)
│ └── usr/share/rpcd/acl.d/luci-app-chongyoung.json # RPC 权限控制
└── LICENSE # MIT 许可证
- 纯 Shell + Lua 实现,最小化依赖。
- 密码算法: 采用 RC4 派生的 KSA 算法,完全兼容原校园网实现。
- Procd 守护: 利用 OpenWrt 标准的 init 系统,确保服务稳定运行。
- UCI 配置: 遵循 OpenWrt 配置规范,与其他插件和谐共处。
本项目采用 MIT License 开源。
- 核心开发/维护: chizukuo (chizukuo@icloud.com)
- 原脚本逻辑: dapaoxixixi
本项目基于 dapaoxixixi 的 Shell 脚本进行深度重构与开发,将其移植为标准的 OpenWrt LuCI 插件,引入了图形化配置、进程守护 (Procd) 及系统日志集成等现代化特性。