# PRTS **Repository Path**: smooge/prts ## Basic Information - **Project Name**: PRTS - **Description**: 我会一直看着你 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-29 - **Last Updated**: 2026-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: PRTS ## README # PRTS > 远程控制 · 系统管理 · 网络工具 · 垃圾清理 PRTS 是一个 Windows 桌面远程控制工具,支持远程关机、系统信息监控、后台进程管理、垃圾文件清理、网络波动测试等功能。服务端基于 Python WebSocket,客户端基于 PyQt5。 ## 功能概览 ### 远程控制 - **远程关机**:通过网页端或小爱同学(巴法云 MQTT)远程触发关机,30 秒倒计时可取消 - **定时关机**:本地设置分钟数定时关机,可随时取消 - **UID 绑定**:每台电脑唯一标识,绑定账号后可在网页端远程控制 ### 系统管理 - **系统信息**:CPU / 内存 / 磁盘使用率(带进度条)、开机时间、主机名 - **后台占用检查**:Top 15 进程柱状图,CPU / 内存切换,每 3 秒自动刷新 - **垃圾文件清理**:扫描临时文件、空文件夹、注册表残留,支持强制删除(takeown + icacls) - **电源管理**:重启 / 休眠 / 锁屏 / 关机,带二次确认防误操作 ### 网络工具 - **网络波动测试**:仿 NetPulse 深色科技风,实时延迟曲线图(QPainter 绘制)、丢包率 / 抖动统计、多节点延迟检测(survoid.top / 百度 / GitHub / 腾讯云 / 阿里云) - **AI 网络分析**:可选接入 DeepSeek 等 OpenAI 兼容 API,根据延迟 / 丢包 / 抖动数据生成智能分析报告 - **网络诊断**:本机 IP 查看、网络接口列表、Ping 测试、DNS 缓存刷新 ### 实用工具 - **清理临时文件**:一键清理 Windows 临时目录 - **刷新 DNS 缓存**:执行 `ipconfig /flushdns` - **查看 / 复制 UID**:查看本机唯一标识符,一键复制 ### 个人中心 - **头像设置**:本地选择图片,可同步到服务器 - **资料编辑**:昵称、QQ、手机、个性留言、巴法云 Topic - **深色 / 白天模式**:双主题切换,半透明毛玻璃风格 ## 界面设计 - **登录窗口**:白底透明,圆框 PRTS 图标,回车快捷登录 - **主界面**:左侧栏导航(头像 + 5 项菜单),右侧内容区切换 - **左上角圆形头像**:点击展开菜单(个人中心 / 主题切换 / 退出) - **首页**:开发者信息(B站 / QQ / Gitee / 博客链接) - **深色模式**:`#0d1117` 背景 + `#58a6ff` 蓝色主调(GitHub 暗色风) - **白天模式**:`#f0f4fa` 背景 + `#3498db` 蓝色主调 - **背景**:prts.png 全图背景,paintEvent 缓存绘制(拖动不闪烁) ## 技术栈 | 组件 | 技术 | |------|------| | GUI 框架 | PyQt5 5.15+ | | WebSocket 客户端 | websocket-client | | 系统信息采集 | psutil | | 密码加密 | cryptography (Fernet) | | 打包工具 | PyInstaller(目录模式)+ Inno Setup 6 | | 服务端 | Python asyncio + websockets + aiomysql | | 数据库 | MySQL | ## 项目结构 ``` prts_v2.2/ ├── main.py # 程序入口(UAC 管理员提权) ├── login_window.py # 登录窗口(白底圆框图标 + 回车登录) ├── main_window.py # 主窗口(左侧栏 + 头像 + 主题切换) ├── websocket_client.py # WebSocket 客户端(接收远程关机指令) ├── system_tools.py # 系统工具(信息/电源/网络/垃圾清理) ├── network_monitor.py # 网络波动测试(延迟曲线 + 多节点 + AI 分析) ├── process_monitor.py # 后台占用检查(进程柱状图) ├── junk_cleaner.py # 垃圾文件清理(强制删除 + 注册表) ├── utils.py # 工具函数(resource_path) ├── PRTS.spec # PyInstaller 打包配置 ├── PRTS_Installer.iss # Inno Setup 安装包脚本 ├── build.bat # 一键打包脚本 ├── requirements.txt # Python 依赖 ├── prtscl.ico # 程序图标 └── prts.png # 背景图片 ``` ## 快速开始 ### 安装 1. 下载 `PRTS_Setup_v2.2.exe` 安装包 2. 双击运行,选择安装位置(默认 `C:\Program Files\PRTS`) 3. 可勾选创建桌面快捷方式 4. 安装完成后启动 PRTS(会弹 UAC 提权,点"是") ### 使用 1. 启动 PRTS,输入用户名密码登录(支持回车快捷登录) 2. 登录后自动连接服务端,左上角头像显示连接状态 3. 在网页端绑定本机 UID(客户端 → 实用工具 → 查看 UID) 4. 网页端即可远程控制这台电脑 5. 点击左上角头像可进入个人中心、切换深色/白天模式 ### 开发者构建 ```bat # 创建虚拟环境 python -m venv .venv .venv\Scripts\activate # 安装依赖 pip install -r requirements.txt pip install pyinstaller # 打包(目录模式) pyinstaller PRTS.spec --noconfirm # 生成安装包(需 Inno Setup 6) # 用 Inno Setup 打开 PRTS_Installer.iss 编译 ``` ## 系统要求 - Windows 10/11 64 位 - 需要管理员权限(后台占用检查和强制删除需要) - 需要网络连接(远程控制功能) ## 服务端 服务端代码(prts-websocket)需单独部署在服务器上: - Python 3.6+ 兼容(CentOS 7 友好) - asyncio + websockets + aiomysql - pm2 进程守护 - Nginx 反向代理 WebSocket ## 垃圾文件清理依据 | 清理目标 | 说明 | 安全性 | |---------|------|--------| | Windows 临时文件 (C:\Windows\Temp) | 系统和程序运行产生的临时文件,异常退出后残留 | 微软磁盘清理也清理此目录 | | 用户临时文件 (%TEMP%) | 用户级软件产生的临时文件 | CCleaner / Geek 标准清理项 | | 预读取文件 (Prefetch) | Windows 启动加速缓存,删除后自动重建 | 仅影响一次启动速度 | | Windows 更新缓存 | 更新安装完成后残留的安装包 | 微软官方文档确认可删 | | 注册表残留 | InstallLocation 为空或不存在的卸载项 | 清理显示信息,不影响系统 | | 空文件夹 | 递归扫描发现的空目录 | 几乎不占空间 | 被占用的文件会跳过(不强制删除),标记为"失败"。 ## 开发者 - **牧歌** - 个人博客:[survoid.top](https://survoid.top)(牧歌的小窝) - Bilibili:[space.bilibili.com/406215067](https://space.bilibili.com/406215067) - QQ:2315562507 - Gitee:[gitee.com/smooge/prts](https://gitee.com/smooge/prts) ## License MIT License