Windows Super Tools adalah utilitas manajemen & perawatan Windows berbasis PowerShell + Windows Forms dengan arsitektur multi-session: setiap tool berjalan pada tab independen dengan console output sendiri — beberapa tool dapat berjalan bersamaan tanpa saling menunggu.
Status rilis: 1.0.1 — build 1.0.1.0 tersedia di Build\1.0\, ditandatangani (Authenticode SHA256 + timestamp) dan valid.
Data runtime (
CustomCommands.json, log Virus Scan) tersimpan di%LOCALAPPDATA%\Winstools— bukan di folder exe, sehingga tidak tertimpa saat rebuild.
| Kategori | Tool |
|---|---|
| Network | Clear DNS, Proxy Manager |
| Maintenance | Clear Logs, Disk Repair, Clear Event Logs, Win Update Reset |
| Advanced | Custom Command (tersimpan di %LOCALAPPDATA%\Winstools\CustomCommands.json) |
| Customization | God Mode, Set OEM |
| Security | Virus Scan (ClamAV) |
Proxy Manager — dropdown pilihan proxy diambil dari iplocate/free-proxy-list (
all-proxies.txt), dengan tombol Refresh untuk memuat ulang daftar.
- Multi-session — setiap tool berjalan di tab sendiri dan dapat dibuka bersamaan.
- Welcome dashboard — ringkasan spesifikasi sistem: OS, CPU, RAM, GPU, penyimpanan, jaringan, status aktivasi Windows, BIOS.
- Custom UI per tool — UI didefinisikan langsung pada masing-masing modul tool (
Get-CustomUI). - Console output berwarna per session dengan log terstruktur:
[INFO] [WARNING] [ERROR] [SUCCESS]. - Auto-scroll pada menu & tab.
- Elevasi otomatis — meminta izin Administrator saat dijalankan.
- Konfirmasi tool berisiko — Clear DNS, Disk Repair, Disable Services, Win Update Reset, Set OEM, dan Proxy Manager meminta konfirmasi Yes/No sebelum dijalankan.
- Proxy Manager dengan daftar proxy — dropdown proxy dari iplocate/free-proxy-list + tombol Refresh.
- Tombol Options — akses cepat ke pengaturan, build, test, cek update, dan informasi aplikasi (tab Gui Config / Gui Builder / Gui Tester / Update / Changelog / About).
- Release ter-tanda-tangan — setiap build ditandatangani sertifikat code signing (email
adyoix@gmail.com) dan di-timestamp.
| Komponen | Keterangan |
|---|---|
| OS | Windows 10 / 11 |
| Runtime | PowerShell 5.1+ (bawaan Windows), .NET Framework 4.x |
| Hak akses | Administrator (elevasi otomatis) |
| Build | PowerShell + modul ps2exe; OpenSSL (khusus persiapan CA) |
| Test | Pester 3.4 atau 5.x (terbundel di Windows PowerShell 5.1) |
powershell -ExecutionPolicy Bypass -File Scripts\Main.ps1Mode log DEBUG: atur Environment/Debug melalui tab Gui Config di tombol Options (atau ubah Initialize-Config -Environment 'Development' pada Scripts\Main.ps1).
Konfigurasi dikelola modul Scripts\Modules\Config.psm1 dan dapat diubah langsung saat aplikasi berjalan melalui tombol Options → Gui Config (terapkan langsung, tanpa restart):
| Opsi | Nilai | Default | Keterangan |
|---|---|---|---|
Environment |
Production / Development |
Production |
Development menyalakan log DEBUG otomatis; Production output bersih |
Debug |
true / false |
mengikuti Environment | Menampilkan log [DEBUG] (bisa di-override manual) |
LogLevel |
DEBUG / INFO / WARN / ERROR |
mengikuti Environment | Ambang log: DEBUG → semua; ERROR → hanya error (bisa di-override manual) |
Penetapan otomatis:
- Development →
Debug = true,LogLevel = DEBUG - Production →
Debug = false,LogLevel = ERROR
Fungsi modul:
Initialize-Config -Environment <env> -Debug[:<bool>] -LogLevel <level>— tetapkan nilai (parameter opsional; tanpa parameter mengikuti Environment).Get-Config -Key <Environment|Debug|LogLevel>— baca nilai aktif.Set-Config -Key <...> -Value <...>— set langsung.Write-DebugLog,Write-InfoLog,Write-WarnLog,Write-ErrorLog— log berwarna yang menghormatiDebug/LogLevel.
Folder hasil build bersifat self-contained — cukup double-click winstools.exe. Folder berisi Modules\, Tools\, dan Icons\ yang otomatis disalin saat build. Alternatif: jalankan winstools-installer.exe (Inno Setup) untuk instalasi ke C:\Program Files\Winstools lengkap dengan shortcut & uninstaller.
Test otomatis memakai Pester (3.4 — terbundel di Windows PowerShell 5.1 — atau 5.x, kompatibel keduanya). File suite mengikuti standard Pester *.Tests.ps1 sehingga ter-discover otomatis dari direktori Test.
powershell -NoProfile -ExecutionPolicy Bypass -Command "Invoke-Pester -Path .\Test\Pester.Tests.ps1"Catatan: Pester 5 hanya men-discover file bernama
*.Tests.ps1(jamak) secara otomatis; file*.Test.ps1(tunggal) tidak. Karena itu suite bernamaPester.Tests.ps1, sedangkan skrip GUI diberi akhiran_test.ps1agar tidak ikut ter-discover sebagai test.
Yang diuji:
- Sintaks semua skrip & modul (
Scripts\,Build\). - Modul tool — setiap
Scripts\Tools\*.psm1dapat di-import, konfigurasinya valid, dan skema Fields benar. - Konsistensi runtime —
CustomCommands.jsonberada di%LOCALAPPDATA%\Winstools. - Metadata build —
build-exe.ps1memakai-Version/fileVERSION, envWINSTOOLS_PFX_PASSWORD, dan timestamp DigiCert. - Roundtrip CustomCommands — save/read/remove dengan backup & restore file user.
- Integritas build — exe self-contained (
Modules\,Tools\,Icons\) dan versinya sesuaiVERSION. - Tool berisiko — 6 tool destruktif wajib menetapkan
RequiresConfirm = true.
Test GUI manual (menampilkan form utama; memerlukan sesi interaktif):
powershell -NoProfile -ExecutionPolicy Bypass -File .\Test\form_test.ps1 -AutoClose 5 # smoke test form
powershell -NoProfile -ExecutionPolicy Bypass -File .\Test\close_test.ps1 -Scenario stuck # tutup bersih tanpa proses tersisa
powershell -NoProfile -ExecutionPolicy Bypass -File .\Test\capture_test.ps1 # tangkap screenshot ke %TEMP%\winstools_capture.png
powershell -NoProfile -ExecutionPolicy Bypass -File .\Test\button_test.ps1 -AutoClose 3 # test tombol Options
powershell -NoProfile -ExecutionPolicy Bypass -File .\Test\config_test.ps1 # test tab Gui ConfigJalur build resmi:
Build\build-exe.ps1— satu perintah untuk compile, patch metadata versi, tanda tangan digital, dan verifikasi. Diuji pada PowerShell 5.1.
1a. Install OpenSSL (khusus untuk pembuatan CA, bukan untuk build harian):
- Unduh dari https://slproweb.com/products/Win32OpenSSL.html (Win64 OpenSSL,
msi). - Tambahkan folder
binkePATH(default:C:\Program Files\OpenSSL-Win64\bin), atau pastikanopenssl.exedapat dipanggil.
1b. Buat Private CA + sertifikat code signing:
cd Build
powershell -ExecutionPolicy Bypass -File .\setup-ca.ps1Skrip ini:
- Membuat Root CA (
CA\rootCA.crt, sekali; hanya bila belum ada). - Membuat kunci & CSR code signing dengan email
adyoix@gmail.comdi subject. - Menerbitkan sertifikat code signing (
CA\winstools.crt, 3 tahun) & mengeksporCA\winstools.pfx(password:WINSTOOLS-CA-2026).
Jangan pernah membagikan
CA\rootCA.key,CA\winstools.key, atauwinstools.pfx. Simpan di tempat aman.
1c. Install Root CA ke store mesin (sekali per mesin, agar tanda tangan dianggap Valid):
certutil -user -addstore Root CA\rootCA.cerAtau: double-click CA\rootCA.cer → Install Certificate → Local Machine → Place all certificates in the following store → Trusted Root Certification Authorities.
Info: tanda tangan tetap sah secara teknis meski tanpa langkah ini; namun Windows akan menampilkan "Unknown Publisher". Langkah 1c menghilangkan peringatan tersebut.
Setiap perubahan di Scripts\ (Main.ps1, Modules, Tools) → jalankan:
cd Build
powershell -ExecutionPolicy Bypass -File .\build-exe.ps1Versi diambil dari file VERSION di root project (default 1.0.1); bisa di-override dengan parameter -Version (format 1.0 atau 1.0.0.0, otomatis dinormalisasi ke 4 bagian):
powershell -ExecutionPolicy Bypass -File .\build-exe.ps1 # versi dari file VERSION
powershell -ExecutionPolicy Bypass -File .\build-exe.ps1 -Version 1.0 # override
# → Build\1.0\winstools.exe (versi 1.0.0.0)Password PFX: set env WINSTOOLS_PFX_PASSWORD (tanpa env, fallback password dev hanya untuk CA\winstools.pfx lokal — penting untuk CI/produksi).
Alur build (build-exe.ps1):
- Compile
Scripts\Main.ps1→Build\<major.minor>\winstools.exe(ps2exe, tanpa console window). - Patch resource versi — File Description, File Version, Product Name, Product Version, Company Name, Copyright, Language: Indonesian (0x0421) (via
setup-vi.ps1). - Sign dengan
CA\winstools.pfx(SHA256 + timestamp DigiCert). - Copy runtime —
Modules\,Tools\,Icons\disalin ke folder versi agar self-contained. - Verify — status tanda tangan ditampilkan.
Output:
Build\
├── build-exe.ps1, build-installer.ps1, config-installer.iss, setup-ca.ps1, setup-vi.ps1 # tooling
└── <major.minor>\
├── winstools.exe # aplikasi rilis
├── winstools-installer.exe # installer (opsional, lihat bagian 3)
├── Modules\ # runtime (disalin otomatis)
├── Tools\
└── Icons\
Folder
Build\*\(hasil build) tidak masuk repository (.gitignore) — cukup disimpan di rilis GitHub / distribusi manual.
Butuh Inno Setup 6 (choco install innosetup -y), lalu:
powershell -ExecutionPolicy Bypass -File .\build-installer.ps1 # versi dari file VERSION
powershell -ExecutionPolicy Bypass -File .\build-installer.ps1 -Version 1.0
# → Build\1.0\winstools-installer.exeInstaller mengemas winstools.exe + Modules\, Tools\, Icons\ ke C:\Program Files\Winstools, shortcut Start Menu, dan uninstaller. Pada GitHub Actions, installer otomatis dibangun dan dilampirkan ke release saat tag v*.
Cukup beri parameter -Version saat build — tidak perlu mengubah isi build-exe.ps1:
powershell -ExecutionPolicy Bypass -File .\build-exe.ps1 -Version 1.3.0.0
# → output di Build\1.3\winstools.exeNama folder output selalu major.minor dari versi tersebut.
(Get-AuthenticodeSignature .\Build\1.0\winstools.exe).Status
# ValidAtau: klik kanan winstools.exe → Properties → tab Digital Signatures → detail sertifikat (termasuk email adyoix@gmail.com). Metadata aplikasi tampil di tab Details.
Jalur ps2exe (build-exe.ps1) adalah jalur resmi & teruji; metode PowerShellProTools tidak lagi dipertahankan.
winstools/
├── .github/workflows/ # CI: build dari tag v* + test Pester + artifact
├── Build/ # tooling build + hasil per versi
│ ├── build-exe.ps1 # build utama: compile + versi + sign + verify
│ ├── build-installer.ps1 # build installer Inno Setup
│ ├── config-installer.iss # konfigurasi Inno Setup
│ ├── setup-ca.ps1 # buat CA & sertifikat code signing (sekali)
│ ├── setup-vi.ps1 # patch resource versi (bahasa Indonesia, dsb.)
│ └── <major.minor>/ # hasil rilis (self-contained, tidak di-commit)
│ ├── winstools.exe
│ ├── Modules/
│ ├── Tools/
│ └── Icons/
├── CA/ # private CA & sertifikat (JANGAN dibagikan)
├── Icons/ # sumber ikon aplikasi
├── Scripts/ # source code (development)
│ ├── Main.ps1 # entry point
│ ├── Modules/ # App, Config, Features, Options, Session, UI
│ └── Tools/ # satu modul per tool
└── Test/ # uji otomatis (Pester) + GUI smoke test
├── Pester.Tests.ps1 # suite Pester utama (standard *.Tests.ps1)
├── form_test.ps1 # smoke test form utama
├── capture_test.ps1 # test penangkapan screenshot
├── close_test.ps1 # regression: penutupan bersih tanpa proses tersisa
├── button_test.ps1 # test tombol Options + dialog
└── config_test.ps1 # test tab Gui Config (load & apply nilai)
.github\workflows\build.yml berjalan otomatis saat tag v* di-push (atau manual via workflow_dispatch):
- Build Windows (
windows-latest) — versi diambil dari tag (mis. tagv1.0→-Version 1.0). - Jalankan suite Pester; gagal → pipeline gagal.
- Unggah
Build\*\sebagai artifact rilis.
Sertifikat signing tidak tersedia di CI (rahasia lokal) — build CI tidak ditandatangani. Build rilis resmi tetap lewat mesin developer dengan
build-exe.ps1.
| Masalah | Solusi |
|---|---|
Status tanda tangan UnknownError / Unknown Publisher |
Install Root CA: certutil -user -addstore Root CA\rootCA.cer |
winstools.exe terkunci saat build |
Tutup aplikasi yang sedang berjalan, lalu ulangi build |
| Timestamp gagal | Pastikan koneksi internet ke http://timestamp.digicert.com |
openssl.exe tidak ditemukan |
Install OpenSSL dan pastikan masuk PATH |
| EXE tidak menemukan modul | Pastikan Modules\ & Tools\ berada di folder yang sama dengan EXE (build-exe.ps1 melakukannya otomatis) |
CA\rootCA.key,CA\winstools.key,CA\winstools.pfxadalah rahasia — jangan masukkan ke repository atau distribusi.- Password default PFX (
WINSTOOLS-CA-2026) hanya untuk pengembangan; ganti untuk rilis produksi. - Root CA Anda sendiri hanya menandatangani mesin Anda sendiri — ini bukan sertifikat publik; pengguna lain tetap melihat peringatan Unknown Publisher.
Daftar kontributor proyek ini — lihat riwayat commit pada repositori GitHub.
Distribusi di bawah lisensi MIT — lihat LICENSE.
Copyright © 2026 PT (Perorangan) Adidaya Karya Utama. All rights reserved.
