本项目支持 Windows 和 Linux 操作系统。
- 🖥️ 系统控制 - 实时监控 CPU、内存、磁盘、显卡等硬件信息,支持锁定、睡眠、休眠、关机等操作
- 📊 进程管理 - 查看和管理系统进程,支持按类型筛选和终止进程
- 🎮 远程控制 - 实时远程桌面控制,支持 H.264 编码,可调节分辨率和画质 🪟 Windows
- 💻 命令终端 - WebSocket 远程终端,支持 PowerShell/CMD 🪟 Windows,支持Shell 🐧 Linux
- 🐳 容器管理 - Docker 容器的启动、停止、删除和日志查看
- 📝 Compose 编辑 - Docker Compose 文件的在线编辑、验证和一键部署
- 📁 文件管理 - 远程文件浏览、上传、下载和删除
- ⏰ 任务调度 - Hangfire 的定时任务管理,自行添加任何任务 (内置qBittorrent管理、DDNS 等任务模板)
- 🔐 安全认证 - JWT 认证保护所有敏感操作
点击展开功能截图
实时监控系统硬件信息,一键执行电源操作。
查看所有运行中的进程,支持筛选和终止操作。
实时远程桌面,支持 H.264 视频流,低延迟高画质。
WebSocket 远程终端,支持 PowerShell 和 CMD。
管理 Docker 容器的完整生命周期。
在线编辑和部署 Docker Compose 项目。
远程浏览和管理服务器文件。
- 🪟 Windows 10/11 或 Windows Server
- 🐧 任何可运行 .NET 8 的 Linux 操作系统
- .NET 8 SDK/Runtime
- (可选,仅Windows)IIS + ASP.NET Core Hosting Bundle🪟 Windows
- 克隆仓库
git clone https://github.com/bighamx/chuckieTool.git
cd chuckieTool- 配置应用
# 复制示例配置文件
copy WebApplication1\appsettings.example.json WebApplication1\appsettings.json编辑 appsettings.json,配置必要的参数:
{
"Auth": {
"Username": "你的用户名",
"Password": "你的密码",
"JwtSecret": "至少32位的随机密钥"
}
}- 运行应用
cd WebApplication1
dotnet run- 访问服务
- 主页:
http://localhost:5104/ - Hangfire 面板:
http://localhost:5104/hangfire
| 配置项 | 说明 | 示例 |
|---|---|---|
Auth:Username |
登录用户名 | admin |
Auth:Password |
登录密码(必填) | YourSecurePassword |
Auth:JwtSecret |
JWT 签名密钥(必填,≥32位) | YourSecretKey... |
qBittorrent 设置
{
"QbSettings": {
"DefaultDockerUrl": "http://user:pass@host:port",
"DefaultHomeUrl": "http://user:pass@host:port"
}
}Cloudflare DDNS 设置
{
"CloudflareSettings": {
"ApiToken": "YOUR_API_TOKEN",
"ZoneId": "YOUR_ZONE_ID",
"RecordName": "your.domain.com",
"Proxied": false,
"Ttl": 1800
}
}远程控制提权代理
用于在 IIS/Session 0 环境下执行需要桌面交互的操作:
{
"RemoteControl": {
"ElevatedAgent": {
"UserName": "管理员用户名",
"Password": "管理员密码",
"Domain": "可选,域名"
}
}
}或使用环境变量:REMOTECONTROL_ELEVATEDAGENT_PASSWORD
# 开发模式
dotnet run --project WebApplication1/ChuckieHelper.WebApi.csproj
# 发布后运行
dotnet publish -c Release -o publish
cd publish
ChuckieHelper.WebApi.exe-
启用 IIS
- 打开「控制面板」→「程序」→「启用或关闭 Windows 功能」
- 勾选以下项目:
- ✅ Internet Information Services
- ✅ Web 管理工具 → IIS 管理控制台
- ✅ 万维网服务 → 应用程序开发功能 → ASP.NET 4.8
- ✅ 万维网服务 → 常见 HTTP 功能(全部勾选)
-
安装 ASP.NET Core Hosting Bundle
- 下载 .NET 8 Hosting Bundle
- 运行安装程序,安装完成后重启 IIS(或重启电脑)
dotnet publish WebApplication1/ChuckieHelper.WebApi.csproj -c Release -o C:\inetpub\ChuckieHelper📁 发布后,将你的
appsettings.json复制到C:\inetpub\ChuckieHelper目录
- 打开「IIS 管理器」(运行
inetmgr) - 右键「应用程序池」→「添加应用程序池」
- 名称:
ChuckieHelperPool - .NET CLR 版本:
无托管代码 - 托管管道模式:
集成
- 名称:
- 点击「确定」创建
⚠️ 仅在需要远程控制功能时配置。LocalSystem 具有最高权限,请谨慎使用。
- 在「应用程序池」中找到
ChuckieHelperPool - 右键 →「高级设置」
- 找到「进程模型」→「标识」,点击右侧的
...按钮 - 选择「内置帐户」→ 下拉选择 LocalSystem
- 点击「确定」保存
- 在 IIS 管理器中,右键「网站」→「添加网站」
- 配置如下:
- 站点名称:
ChuckieHelper - 应用程序池:选择
ChuckieHelperPool - 物理路径:
C:\inetpub\ChuckieHelper - 绑定:
- 类型:
http(或https) - IP 地址:
全部未分配 - 端口:
5104(或你希望的端口)
- 类型:
- 站点名称:
- 点击「确定」创建
- 启动网站(右键网站 →「管理网站」→「启动」)
- 浏览器访问:
http://localhost:5104/ - 使用
appsettings.json中配置的账号密码登录
| 问题 | 解决方案 |
|---|---|
| 502.5 错误 | 检查 Hosting Bundle 是否正确安装,尝试重启 IIS |
| 500 错误 | 检查 appsettings.json 是否存在且格式正确 |
| 权限不足 | 确认应用程序池使用 LocalSystem 身份运行 |
| 端口被占用 | 更换端口或停止占用端口的服务 |
⚠️ 安全提示:appsettings.json包含敏感信息,请勿提交到公开仓库!
在 IIS/Session 0 环境下,远程控制功能需要桌面代理的支持才能和用户桌面进行交互。
桌面代理进程会被自动创建,创建桌面代理进程时,优先使用复制已有管理员令牌的方式,若无则依赖计划任务:
- 复制已有管理员令牌:在当前交互会话中查找已存在的高完整性进程(如用户曾以管理员运行过任务管理器等),复制其令牌并用于启动代理,无需配置密码,即时生效。
- 计划任务:若未找到高完整性令牌,且已配置
RemoteControl:ElevatedAgent(管理员用户名与密码),应用启动时会自动创建“登录时以最高权限运行”的计划任务,用户注销并重新登录后,桌面代理将以管理员身份自动启动。 - 代理通过命名管道与 WebApi 通信,执行键鼠输入等桌面操作。
手动运行桌面代理模式:
dotnet ChuckieHelper.WebApi.dll --desktop-agent
⚠️ 桌面代理仅支持 Windows,Linux 无需此功能。
Q: 访问出现 500/502 错误?
- 检查
appsettings.json是否存在且格式正确 - 确认已安装 .NET 8 Hosting Bundle
- 查看 Windows 事件查看器中的错误日志
Q: Hangfire 面板无法访问?
- 确认已使用正确的账号密码登录
- 检查浏览器是否阻止了 Cookie
Q: 远程控制功能无法使用?
- 确认应用以管理员权限运行
- 在 IIS 部署时,检查应用池是否配置为
LocalSystem - 验证
RemoteControl:ElevatedAgent配置是否正确
本项目采用 MIT 协议 开源。






