# wTask
**Repository Path**: winter-lonely/wTask
## Basic Information
- **Project Name**: wTask
- **Description**: wTask安装程序
- **Primary Language**: Rust
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: https://github.com/LonlyWinter/wTask
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-05-07
- **Last Updated**: 2025-11-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Rust, crontab, Vue, webdav, IM
## README
# wTask
[](https://github.com/LonlyWinter/wTask/blob/master/LICENSE)
一个安全的跨网任务通信基础平台
## 平台说明
- 本平台为通用任务调度、即时通讯、远程文件三系统合一,平台提供了端口转发、即时通讯、文件管理、任务调度(任务立即或定时运行)的功能,满足了内网人员通信的一般需求,平台统一为内网人员通信提供极大便利。当然在允许条件下该平台还可以将内网机器安全的映射到外网,方便外网人员进行安全的交流通信。
- 平台开发使用Rust结合Web技术,既保证了系统的高性能也为用户提供了简单的操作页面。
- 平台通信全程使用加密技术,保证数据安全。
- 对于组织,利用本平台任务调度可设计出非常广泛的应用系统,比如生物信息学数据分析平台、医保风控系统、服务器自动运维系统、计算中心任务调度系统等。再加上其提供非常便捷的web操作页面,可以将用户使用成本极具拉低。
- 对于个人或组织,利用本平台提供的即使通信、远程文件可以非常方便进行与他人进行安全的交流。
- 整体来说,该平台为一般平台的基础或集合体,因其后台使用纯Rust开发,保证了系统的高性能,加密技术保证了系统通信的安全,Web接口更带来了极好的用户体验。
## 程序说明
- `wtask_machine`是所有应用的基础,提供所有应用数据
- `wtask_bridge`为`wtask_machine`提供网络代理,以防万一`wtask_machine`无法直接连接
- 使用接口
- `wtask_web`,提供易于操作的web页面,可简单在线使用
- `wtask_cli`,为应用提供更详细的参数设置
- 开发使用Rust结合Web技术,既保证了系统的高性能也为用户提供了简单的操作页面
- 平台全程通信使用加密,保证数据安全
# 平台功能
[详细文档](./doc/Usage.md)
1. 任务运行/定时运行
2. 任务编排
- 通过`web`将任务编排运行,自动分布在不同`machine`调度运行
3. 在线聊天
- 通过`wtask_machine`搭建临时聊天服务
4. 远程端口转发
- 通过`cli`或`web`将远程端口映射到本地
5. 远程文件读写
- 将远程的`wtask_machine`所在设备文件系统文件包装为WebDav协议
- 将`wtask_web`所在设备文件系统包装为WebDav协议
## 安装使用
0. 软件依赖:
- `openssl-dev`: `cli`和`web`依赖于`openssl-dev`,如果只运行`machine`则不需要
- `podman`: 如果安装的任务环境为`shell`且不是`linux`系统,则可以安装`podman`,并设置`WTASK_FORCE_PODMAN=1`环境变量,即可要求任务在`podman`容器内运行
1. 本机已安装,通过`ssh`为其它设备安装
- 使用`wtask_cli config ssh`子命令安装
2. 安装程序全服务下载安装
- 使用`wtask_install`安装程序下载`Github`编译好的程序并启动所有服务
- 安装程序链接
- [Github Release](https://github.com/LonlyWinter/wTask/releases)
- [Gitee Repo](https://gitee.com/winter-lonely/wTask)
3. 安装脚本本地编译安装
- 使用`wtask_install.sh`安装脚本本地编译安装(依赖Rust)
4. 自行编译安装
- 参考`wtask_install.sh`安装脚本
5. 分散部署
- machine在多台服务器单独运行
- web单独在某个服务器运行
- cli在每个用户设备安装
- 如果cli或者web无法直接访问machine,则可以在中继服务器安装,并设置machine连接到该bridge
- 用户通过统一的web或者本机的cli即可访问machine上的应用资源
6. 关闭服务
发送`Ctrl-C`信号,如`kill -2 PID`
## 注意事项
- machine是以用户为单位进行安装,即一个用户对应一个machine,如果一个机器上有
多个用户则需要安装多个machine,因此提供了ssh的安装方式
- 自动安装默认安装在用户家目录下的`wtask`文件夹下
- 启动的machine 会自动启动本地服务及连接公网已部署的bridge(IP`120.26.192.195`,
端口`2560`),因此可以连接该 bridge 实现公网管理内网 machine,当然可以自定义
machine 相关设置。
- 默认端口设置:machine(根据用户ID计算)、bridge(2560)、web内连接machine webdav
服务(5005)、web 本身的webdav(8079)、web(8080)、web内的websocket(8081)
## 应用场景
- 生信数据分析
- 医保智能监管
- 服务器自动运维
- 计算中心任务调度
- 个人文件传输
- ...
## 相关资源
- [wTaskTasks](https://github.com/LonlyWinter/wTaskTasks)
- 生信数据分析相关预定义任务
- 医保风控相关预定义任务
- 服务器自动运维相关预定义任务
- ...
# License
AGPLv3
## 作者
winter