⛅ Sync 2026-09-28 17:06:29

This commit is contained in:
github-actions[bot] committed 2026-09-28 17:06:29 +08:00
1 parent 86e1d0663a
commit 8e6f80e195
138 files changed
+975 -606

No files matched your search

+1 -1
View File
@@ -2,7 +2,7 @@
include $(TOPDIR)/rules.mk
PKG_VERSION:=1.0.0-20230829
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_MAINTAINER:=forcedata
LUCI_TITLE:=LuCI support for forcedata
+69
View File
@@ -0,0 +1,69 @@
[简体中文](README.md) | [English](README.en.md)
# luci-app-forcedata
A LuCI management plugin for the "ForceData (原力云)" edge-computing client on OpenWrt / iStoreOS.
![Platform](https://img.shields.io/badge/platform-OpenWrt%20%7C%20iStoreOS-blue)
![Arch](https://img.shields.io/badge/arch-x86__64%20%7C%20aarch64-green)
![UI](https://img.shields.io/badge/LuCI-Lua-yellow)
## 📖 Introduction
ForceData (YuanLiYun) is an edge-computing / bandwidth-sharing platform: you run its client on your own device and share idle bandwidth online for a certain monthly cash reward. This plugin moves the whole deployment into LuCI: after installation it automatically downloads and starts the forcecloud client, keeps it alive with minute-level checks and self-updates, and provides a service status page with a QR-code binding entry in the router admin UI.
It targets owners of OpenWrt / iStoreOS soft routers and TV boxes who want to run ForceData without touching the command line. The plugin is built on the iStore app framework (`luci-lib-taskd` + istorec management script), so it behaves like other iStoreOS apps.
## ✨ Features
- LuCI web UI under "Services → Forcedata", showing live service status
- Automatically generates an 18-digit numeric UID on first use, stored in `/etc/config/forcedata` (do not change it, or deployment breaks)
- One-click install / upgrade of the forcecloud client, auto-selecting x86_64 / aarch64 builds with MD5 verification
- crontab-based self-check every minute: restarts the process when it dies, and skips updates when the root partition is 100% full
- Pushes DingTalk robot alerts when the client restarts unexpectedly or multiple probes start on one host
- The status page renders a binding QR code to link the device via the "ForceData" WeChat mini program
- The management script supports install / upgrade / rm / start / stop / restart / status sub-commands
## 🛠 Tech Stack
- LuCI (Lua) + iStore/taskd app framework, depends on `luci-lib-taskd`, package arch `all`
- busybox ash shell management script
- Page QR code rendered with qrcode.min.js
## 🚀 Quick Start
1. Build: copy this repo into the `package/` directory of an OpenWrt/LeDE source tree, select `LuCI → Applications → luci-app-forcedata` in `make menuconfig`, then build the ipk and install it on the router.
2. On first installation, uci-defaults registers a crontab keep-alive job that runs every minute.
3. Log in to LuCI, open "Services → Forcedata", confirm the UID, and wait for the status to become Running.
4. Click "Running, click to show QR" to render the QR code, then scan it with the "ForceData" WeChat mini program to bind the device. See the [official guide](https://docs.qq.com/doc/DZXNFWWtKbHN4UHFD) (Chinese).
You can also manage it over SSH:
```sh
sh /usr/libexec/istorec/forcedata.sh install # Install / start the client
sh /usr/libexec/istorec/forcedata.sh status # Show running status
sh /usr/libexec/istorec/forcedata.sh rm # Stop the process and clean /usr/local/forcecloud
```
## 📁 Directory Structure
```
luci-app-forcedata/
├── luasrc/ # LuCI controller, CBI config page, status view
├── po/zh-cn/ # Simplified Chinese language pack
├── root/
│ ├── etc/config/forcedata # UCI config (uid)
│ ├── etc/uci-defaults/luci-app-forcedata # Registers crontab on first install
│ ├── usr/libexec/istorec/forcedata.sh # Install / keep-alive / update script
│ └── www/luci-static/forcedata/ # QR-code JS and mini-program image
└── Makefile
```
## 🔗 Links
- [ForceData official site](http://www.forcedata.cn) (Chinese)
- [Mini-program binding guide](https://docs.qq.com/doc/DZXNFWWtKbHN4UHFD) (Chinese)
## 📄 License
No LICENSE file is included in this repo (the Makefile lists the maintainer as forcedata). For learning and research only.
+69
View File
@@ -0,0 +1,69 @@
[简体中文](README.md) | [English](README.en.md)
# luci-app-forcedata
OpenWrt / iStoreOS 平台的「原力云(Forcedata)」边缘计算客户端 LuCI 管理插件。
![Platform](https://img.shields.io/badge/platform-OpenWrt%20%7C%20iStoreOS-blue)
![Arch](https://img.shields.io/badge/arch-x86__64%20%7C%20aarch64-green)
![UI](https://img.shields.io/badge/LuCI-Lua-yellow)
## 📖 项目介绍
原力云是一个边缘计算 / 共享带宽平台:在自家设备上运行它的客户端,在线共享闲置带宽,每月可获取一定的现金回报。本插件把整套部署流程搬进 LuCI:安装后自动下载并拉起 forcecloud 客户端,分钟级保活与自更新,并在路由器管理页提供运行状态与扫码绑定入口。
适合已经刷了 OpenWrt / iStoreOS 的软路由、盒子玩家,不敲命令行即可挂机跑原力云。插件基于 iStore 应用框架(`luci-lib-taskd` + istorec 管理脚本)开发,与 iStoreOS 上其他应用的使用方式一致。
## ✨ 功能特性
- LuCI 图形界面:菜单位置「服务 → Forcedata(原力云)」,实时展示服务运行状态
- 首次使用自动生成 18 位数字 UID,保存在 `/etc/config/forcedata`(请勿修改,否则影响部署)
- 一键安装 / 升级 forcecloud 客户端,自动区分 x86_64 / aarch64 架构,下载包做 MD5 校验
- 通过 crontab 每分钟自检:进程掉线自动拉起,根分区使用率 100% 时自动跳过更新
- 客户端异常重启、同一主机重复启动探针时,通过钉钉机器人推送报警
- 状态页可生成绑定二维码,用「原力云」微信小程序扫码绑定设备
- 管理脚本支持 install / upgrade / rm / start / stop / restart / status 子命令
## 🛠 技术栈
- LuCI(Lua)+ iStore/taskd 应用框架,依赖 `luci-lib-taskd`,包架构 all
- busybox ash Shell 管理脚本
- 页面二维码基于 qrcode.min.js 生成
## 🚀 快速开始
1. 编译安装:把本仓库放进 OpenWrt/LeDE 源码的 `package/` 目录,`make menuconfig` 选中 `LuCI → Applications → luci-app-forcedata`,编译出 ipk 后安装到路由器;
2. 首次安装时 uci-defaults 会自动注册每分钟执行一次的 crontab 保活任务;
3. 登录 LuCI 进入「服务 → Forcedata」,确认 UID 后等待状态变为 Running;
4. 点击「Running, click to show QR」生成二维码,用「原力云」微信小程序扫码绑定设备,详见[官方教程](https://docs.qq.com/doc/DZXNFWWtKbHN4UHFD)。
也可以在 SSH 里手动管理:
```sh
sh /usr/libexec/istorec/forcedata.sh install # 安装 / 拉起客户端
sh /usr/libexec/istorec/forcedata.sh status # 查看运行状态
sh /usr/libexec/istorec/forcedata.sh rm # 停止进程并清理 /usr/local/forcecloud
```
## 📁 目录结构
```
luci-app-forcedata/
├── luasrc/ # LuCI 控制器、CBI 配置页、状态视图
├── po/zh-cn/ # 简体中文语言包
├── root/
│ ├── etc/config/forcedata # UCI 配置(uid)
│ ├── etc/uci-defaults/luci-app-forcedata # 首次安装注册 crontab
│ ├── usr/libexec/istorec/forcedata.sh # 安装 / 保活 / 更新脚本
│ └── www/luci-static/forcedata/ # 二维码 JS 与小程序码图片
└── Makefile
```
## 🔗 相关链接
- [原力云官网](http://www.forcedata.cn)
- [小程序扫码绑定教程](https://docs.qq.com/doc/DZXNFWWtKbHN4UHFD)
## 📄 License
本仓库未附带 LICENSE 文件(Makefile 中标注维护者为 forcedata),仅供学习研究。