|
| 1 | +# WinTrash Toolkit |
| 2 | + |
| 3 | +**Một file PowerShell duy nhất** quét 16 loại tàn dư ứng dụng trên Windows và dọn dẹp **có chọn lọc từng mục** — bạn tự tick bằng phím Space, không có chuyện tự động xóa mọi thứ. |
| 4 | + |
| 5 | +> **Triết lý an toàn:** Quét chỉ đọc -> bạn chọn từng mục bằng checkbox -> xác nhận -> mới xóa (luôn backup .reg/.xml/Recycle Bin trước). |
| 6 | +
|
| 7 | +## Cài đặt & chạy lần đầu |
| 8 | + |
| 9 | +> **Quan trọng khi tải file từ mạng:** Windows đánh dấu file tải về và chặn chạy script. Mở PowerShell tại thư mục chứa file và gỡ chặn trước: |
| 10 | +> |
| 11 | +> ```powershell |
| 12 | +> Unblock-File .\WinTrash.ps1 |
| 13 | +> ``` |
| 14 | +> |
| 15 | +> Nếu gặp lỗi *"running scripts is disabled on this system"*, cho phép script đã ký/cục bộ chạy (chỉ cần làm một lần): |
| 16 | +> |
| 17 | +> ```powershell |
| 18 | +> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser |
| 19 | +> ``` |
| 20 | +
|
| 21 | +```powershell |
| 22 | +.\WinTrash.ps1 |
| 23 | +``` |
| 24 | +
|
| 25 | +1. Chọn **ngôn ngữ**: Tiếng Việt / English / 中文 / Русский |
| 26 | +2. Chọn **vai trò**: |
| 27 | + - **User** — quét & dọn tàn dư, sắp xếp Downloads |
| 28 | + - **Developer** — thêm: quét cache toolchain (npm/NuGet/Gradle/pip...), cài [DevRadar](https://github.com/hasoftware/DevRadar) và [Claudefy](https://github.com/hasoftware/Claudefy) (có spinner tiến trình) |
| 29 | + |
| 30 | +Chạy tự động không cần menu: |
| 31 | +```powershell |
| 32 | +.\WinTrash.ps1 -Language vi -Role Developer -Action scan # chỉ quét + báo cáo HTML |
| 33 | +.\WinTrash.ps1 -Language vi -Role User -Action clean # quét + chọn + dọn |
| 34 | +``` |
| 35 | + |
| 36 | +## Dọn dẹp tương tác (điểm nhấn chính) |
| 37 | + |
| 38 | +Sau khi quét, mọi mục có thể dọn hiện thành **danh sách checkbox**: |
| 39 | + |
| 40 | +``` |
| 41 | +> [x] [Protocols|High] zax:// (0 MB) -> C:\...\ZaX.exe |
| 42 | + [ ] [Folders|Medium] Tencent (613 MB) -> C:\ProgramData\Tencent |
| 43 | + [x] [Services|High] Fing.Agent -> C:\Program Files\Fing\... |
| 44 | +``` |
| 45 | + |
| 46 | +| Phím | Chức năng | |
| 47 | +|---|---| |
| 48 | +| Phím mũi tên / PgUp / PgDn | Di chuyển | |
| 49 | +| **Space** | Chọn / bỏ chọn mục | |
| 50 | +| A / N | Chọn tất cả / bỏ tất cả | |
| 51 | +| **F** | Lọc theo mức độ (All -> High -> Medium -> Info) | |
| 52 | +| **I** | Ẩn mục này vĩnh viễn (ghi vào `wintrash.ignore.json` — không báo lại ở các lần quét sau) | |
| 53 | +| **Enter** | Xác nhận (hỏi lại y/N lần cuối) | |
| 54 | +| Esc | Hủy, không làm gì | |
| 55 | + |
| 56 | +Cột mức độ tô màu: **High** đỏ | **Medium** vàng | **Info** xanh dương. |
| 57 | + |
| 58 | +**Chưa có gì bị xóa cho tới khi bạn Enter + gõ `y`.** Mỗi lần dọn tạo thư mục `WinTrashBackups\<timestamp>\` chứa: export `.reg` của mọi key/value bị xóa, `.xml` của task, PATH gốc, log đầy đủ. Thư mục/file thì vào Recycle Bin. |
| 59 | + |
| 60 | +## 16 loại tàn dư được quét |
| 61 | + |
| 62 | +| Nhóm | Modules | |
| 63 | +|---|---| |
| 64 | +| Môi trường | PATH chết, biến môi trường chết (JAVA_HOME...) | |
| 65 | +| Đĩa | Thư mục mồ côi AppData/LocalLow/ProgramData | |
| 66 | +| Tự khởi động | Services, Run-key + Startup folder, Scheduled Tasks | |
| 67 | +| Registry | Mục "ma" Add/Remove, App Paths, URL Protocols, Vendor keys | |
| 68 | +| Giao diện | Shortcuts chết (Start Menu/Desktop) | |
| 69 | +| **Bảo mật** | Defender exclusions mồ côi, root CA của proxy tool (Burp/Fiddler), IFEO debugger hijack, Native Messaging Hosts hỏng | |
| 70 | +| Mạng | Firewall rules mồ côi | |
| 71 | + |
| 72 | +Mức độ: **High** = hỏng khách quan (đích không tồn tại) | **Medium** = heuristic, cần bạn xem xét | **Info** = tham khảo. Chứng chỉ (Certs) không bao giờ bị xóa tự động — chỉ báo cáo, xóa tay qua `certmgr.msc`. |
| 73 | + |
| 74 | +## Các tiện ích đi kèm |
| 75 | + |
| 76 | +- **Khôi phục** (`-Action restore` hoặc menu): chọn bản backup trong `WinTrashBackups\` -> tự import lại `.reg`, đăng ký lại scheduled task, khôi phục PATH. |
| 77 | +- **So sánh lịch sử**: mỗi lần quét lưu snapshot vào `ScanHistory\` (giữ 12 bản) và báo *"+N mục mới, M mục biến mất so với lần quét trước"* — biến tool thành máy giám sát sức khỏe hệ thống. |
| 78 | +- **Dọn Temp an toàn** (`-Action temp`): chỉ xóa file cũ hơn 24 giờ trong User Temp / Windows Temp / CrashDumps, file đang bị khóa tự bỏ qua. |
| 79 | +- **Lịch quét hàng tháng** (`-Action schedule`): tạo/xóa Scheduled Task tự chạy quét ngày 1 hằng tháng. |
| 80 | + |
| 81 | +## Sắp xếp Downloads |
| 82 | + |
| 83 | +Chỉ đụng **file rời ở gốc** Downloads (không bao giờ đụng thư mục con), phân nhóm Documents/Images/Videos/Installers..., bạn **chọn nhóm nào muốn áp dụng** bằng checkbox, file không rõ loại để yên, luôn sinh script `Undo-Downloads_*.ps1` để hoàn tác. |
| 84 | + |
| 85 | +## Developer mode |
| 86 | + |
| 87 | +- Phát hiện 15+ toolchain; cache của toolchain **đã gỡ** (Gradle, Cargo... mồ côi) đưa vào danh sách checkbox để dọn; cache của toolchain **đang dùng** chỉ hiện lệnh dọn chính chủ (`npm cache clean --force`, `dotnet nuget locals all --clear`...) — không tự xóa. |
| 88 | +- Cài DevRadar / Claudefy qua npm với spinner, tự kiểm tra Node.js >= 18, log cài đặt đầy đủ. |
| 89 | + |
| 90 | +## Yêu cầu & Lưu ý |
| 91 | + |
| 92 | +- Windows PowerShell 5.1 hoặc PowerShell 7+ (file lưu UTF-8 BOM). |
| 93 | +- Không cần Administrator để quét; một số mục khi **dọn** (service, HKLM, PATH Machine, Defender) cần chạy admin — mục lỗi sẽ được báo để chạy lại elevated. |
| 94 | +- Heuristic không hoàn hảo: nhóm Medium có thể chứa app portable — luôn đọc kỹ trước khi tick. |
| 95 | +- Thư mục `legacy\` chứa các script rời phiên bản cũ (đã được hợp nhất vào `WinTrash.ps1`). |
| 96 | + |
| 97 | +## Giấy phép |
| 98 | + |
| 99 | +MIT — dùng, sửa, chia sẻ tự do. |
0 commit comments