ai-startup-skills
创业公司做 AI 产品的 7 步 Agent Skill 合集:验证 → BP → 政策 → 路演 → 获客 → 定价 → 注册。
Translation pending
Pulizia, spazio, programmi, protezione e prestazioni per Windows. Open source, in C# e WinUI 3.
Translation pending
OtherC# · PowerShellGitHub @nicomilOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Tramontana: pulizia, spazio, programmi, privacy, protezione e prestazioni per Windows. Open source, C# e WinUI 3, senza abbonamento né telemetria.
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗La tramontana è il vento del nord, secco e freddo, che spazza via le nuvole e lascia il cielo terso. Tramontana è un'app Windows indipendente e open source, scritta in C# e WinUI 3, che riunisce in una sola finestra pulizia, spazio, programmi, privacy, protezione e prestazioni del PC. Nessun abbonamento, nessuna telemetria, nessun servizio sempre acceso: ogni operazione parte da un clic, viene mostrata prima di essere eseguita e finisce nel registro delle operazioni. È la gemella Windows di Maestrale.
Sito di presentazione con screenshot: https://nicomil.github.io/tramontana/
Scarica: Tramontana-Setup-0.3.0-x64.exe (circa 100 MB) · tutte le versioni · Windows 10 (2004) o Windows 11, x64
| Piattaforma | Windows 10 2004 o successivo, Windows 11 (x64; build ARM64 da sorgente) |
| Linguaggio | C# 14, .NET 10, WinUI 3 (Windows App SDK), xUnit |
| Codice | 107 file C#, circa 15.000 righe, 157 test automatici |
| Firma | release firmate da SignPath Foundation dopo approvazione manuale; build locali con un certificato del PC di compilazione |
| Dipendenze esterne | solo Windows App SDK; winget, Defender e gli strumenti di Windows vengono usati, non inclusi |
| Licenza | MIT |
.reg prima di ogni modifica.Zone.Identifier; ripristino ed eliminazione (di sistema tramite l'helper).trcli: le stesse scansioni dal terminale, in sola lettura.Fuori dal perimetro, di proposito: aggiornamento dei driver (serve un database proprietario e può rendere il PC instabile), pulizia del registro «aggressiva» (Microsoft la sconsiglia), antivirus proprio (c'è Defender).
Tramontana.exe (WinUI 3)
├─ Tramontana.Core file system tramite handle, rimozione sicura, Cestino, regole, registro di sistema, firme, log
├─ Tramontana.Modules un modulo per funzione (Apps/, Protection/, System/, Privacy/, Performance/, Helper/…)
├─ trhelper.exe l'unica parte che gira come amministratore, su named pipe
└─ trcli.exe scansioni dal terminale
SafeRemover è l'unico punto che rimuove file. Accetta solo percorsi dentro le cartelle consentite, apre ogni cartella relativamente alla precedente senza seguire junction o link, rifiuta i file di TrustedInstaller e di Windows Resource Protection, e registra tutto in %LOCALAPPDATA%\Tramontana\Logs\operations.log.docs/spec/; la revisione di sicurezza completa, con ogni finding e la sua mitigazione, in docs/security-review.md.Tramontana-Setup-<versione>-x64.exe dall'ultima release. Accanto c'è SHA256SUMS.txt per verificarlo.C:\Program Files\Tramontana, aggiunge Tramontana al menu Start (e, se scelto, al desktop) e ad App installate. Non serve installare .NET: l'app contiene tutto.%LOCALAPPDATA%\Tramontana restano.Fino alla versione 0.2 l'app si chiamava WinCleaner. Dalla 0.3 il nome è Tramontana: il setup rimuove da solo la vecchia installazione e al primo avvio l'app sposta impostazioni, registro delle operazioni, backup, regole e quarantena da %LOCALAPPDATA%\WinCleaner a %LOCALAPPDATA%\Tramontana (l'helper fa lo stesso con C:\ProgramData\WinCleaner). L'analisi pianificata e l'avvio con Windows vanno riattivati dalle Impostazioni.
SmartScreen al primo avvio. Le release sono firmate con il certificato di SignPath Foundation dopo approvazione manuale. Finché una release è marcata «pre-release» il setup non è ancora firmato e Windows può mostrare «Windows ha protetto il PC»: «Ulteriori informazioni» → «Esegui comunque», dopo aver confrontato lo SHA-256 con SHA256SUMS.txt.
Requisiti: .NET 10 SDK (winget install Microsoft.DotNet.SDK.10). Visual Studio non serve. Inno Setup 6 (winget install JRSoftware.InnoSetup) solo per costruire l'installer.
# test (157, girano su Windows)
dotnet test tests\Tramontana.Tests -p:Platform=x64
# cartella pronta in artifacts\Tramontana-x64, firmata con il certificato locale (scripts\new-signing-cert.ps1 lo crea una volta)
powershell -ExecutionPolicy Bypass -File scripts\publish.ps1
# installazione in Program Files, con voce in App installate
powershell -ExecutionPolicy Bypass -File scripts\install.ps1
# installer artifacts\Tramontana-Setup-<versione>-x64.exe (-Arch arm64 per i PC ARM), oppure uno zip con Installa.cmd
powershell -ExecutionPolicy Bypass -File scripts\publish.ps1 -Setup
powershell -ExecutionPolicy Bypass -File scripts\publish.ps1 -Zip
# scansioni dal terminale (sola lettura, salvo clean, che di default è una prova)
trcli scan system-junk|recycle-bin|registry|large-old-files|duplicates|similar-images|installers|orphans [--items]
trcli clean system-junk --mode dry|recycle|delete
trcli lens C:\ | apps | leftovers <nome> | updates | privacy | startup | protection [--evidence --all --report] | processes | signatures | monitor
Dal Mac, con il PC Windows raggiungibile via SSH (TR_HOST, predefinito blackframe-minipc), scripts/remote.sh copia l'albero e lancia lo stesso comando lì:
scripts/remote.sh dotnet test tests/Tramontana.Tests -p:Platform=x64
scripts/remote.sh "powershell -ExecutionPolicy Bypass -File scripts\publish.ps1 -Setup"
Gli screenshot di README e sito si rigenerano con Tramontana.exe --tour <cartella>: apre ogni pagina, aspetta i dati e salva un PNG per pagina (--smoke fa lo stesso giro senza immagini, per il controllo di fine build).
Principi validi ovunque:
C:\ProgramData\Tramontana\Helper\Logs).Roots), mai la cartella stessa. I percorsi devono essere percorsi locali semplici: niente \\?\, UNC, flussi alternativi (file:stream), . o .., nomi che finiscono con punto o spazio. La cartella consentita viene aperta e ogni cartella sotto viene aperta relativamente alla precedente (NtCreateFile con handle radice), senza mai seguire junction, link simbolici o punti di montaggio: se una cartella viene scambiata con un collegamento mentre l'operazione è in corso, l'operazione fallisce invece di finire altrove. I file si eliminano tramite il loro handle (semantica POSIX) e si spostano nel Cestino rinominando l'handle nella cartella del Cestino, senza mai sostituire un elemento esistente; accanto viene scritto il file $I nel formato di Explorer, così «Ripristina» funziona. Dentro una cartella da eliminare i collegamenti vengono tolti come collegamenti: il loro contenuto non viene mai letto, misurato o cancellato.Software, e liste di Windows come Uninstall, App Paths, Run, SharedDLLs, MuiCache, cronologie di Explorer); mai HKLM\SYSTEM, Classes, Policies o la chiave Microsoft. Ogni chiave viene esportata in un file .reg prima di toglierla (cartella %LOCALAPPDATA%\Tramontana\Backups).VACUUM INTO, include le modifiche nel file -wal), riletta e messa nel Cestino. Le istruzioni per tabelle assenti in quella versione del browser vengono saltate, così la transazione non fallisce a metà. Le password non vengono mai lette.Free code signing provided by SignPath.io, certificate by SignPath Foundation.
Releases are built by GitHub Actions from a v<version> tag of this repository and signed by SignPath after manual approval; builds made on a developer's PC are never signed with that certificate. The full policy, the team roles, the privacy statement (Tramontana sends no data) and the uninstall instructions are in docs/code-signing-policy.md. Downloads: Releases.
| Milestone | Stato |
|---|---|
| M0 ambiente (.NET 10 sul mini PC, sync via SSH) | fatto |
| M1 core (handle, Cestino, regole), pulizia sistema, cestini | fatto |
| M2 analisi disco, file grandi e vecchi, duplicati, immagini simili | fatto |
| M3 programmi, avanzi, aggiornamenti winget, installer, orfani | fatto |
| M4 privacy, avvio automatico, manutenzione, protezione, registro, helper | fatto |
| M5 app WinUI 3, area di notifica, pianificazione, impostazioni | fatto |
| M6 installazione in Program Files (setup Inno Setup, o script PowerShell) | fatto |
| M7 protezione avanzata (Defender, persistenza, processi, quarantena, firme) | fatto |
| Nuovo nome Tramontana (0.3), sito, screenshot, migrazione dei dati | fatto |
Revisione di sicurezza completa e mitigazioni (docs/security-review.md) | fatto |
| Release firmate (SignPath Foundation, CI su GitHub Actions) | in attesa dell'approvazione |
157 test automatici coprono le parti di sicurezza: junction nel percorso e dentro le cartelle, file in uso, sola lettura, Cestino visibile in Explorer, backup del registro e dei database, regole dentro le radici, limiti dell'helper, cartelle solo-amministratori, record di quarantena falsi, chiamante dell'helper, ambiente ripulito, fiducia per catalogo e non per percorso, processi del programma da aggiornare.
Tramontana è progettato e sviluppato da Nicola Milella ed è distribuito con licenza MIT.
msiexec /x%TEMP%StartupApproved, come Gestione attività, ed è sempre reversibile. Le attività sotto \Microsoft\ e i servizi di Microsoft non vengono mostrati né toccati.trhelper.exe): è l'unica parte che gira come amministratore, con una sola richiesta UAC per sessione. Comunica su una named pipe accessibile solo all'utente, con un'unica connessione; l'app verifica che il processo collegato esegua un file con lo SHA-256 atteso, e l'helper verifica che la pipe appartenga a Tramontana.exe nella sua stessa cartella, avviato dallo stesso utente, e nella versione pubblicata che Tramontana.dll abbia lo SHA-256 compilato dentro l'helper da publish.ps1 e che Tramontana.exe porti la firma attesa (trhelper.exe --identity li mostra): un altro programma che lo avviasse con una richiesta UAC a nome di Tramontana viene rifiutato. Accetta un elenco chiuso di operazioni e ricontrolla tutto da sé: cartelle di sistema consentite, elenco di cartelle condivise mai toccate (WindowsApps, Common Files, ProgramData\Microsoft…), TrustedInstaller, WRP, elenco del registro; le cartelle di programmi ancora installati, o da cui gira un processo, non si toccano; attività, servizi, voci di avvio e reti Wi‑Fi devono essere tra quelli che l'helper stesso trova sul sistema. Tutto ciò che scrive da amministratore (log, backup .reg, quarantena di sistema, pin) sta in C:\ProgramData\Tramontana, in cartelle create con permessi espliciti per soli amministratori e ricontrollate a ogni uso (proprietario, DACL, niente junction). Defender e le sottoscrizioni WMI si pilotano con metodi WMI e mai con una stringa PowerShell, le DLL si caricano solo dalla sua cartella e da System32. Si chiude dopo 10 minuti senza richieste. Fuori da Program Files (sviluppo) l'helper funziona ma scrive nel log che la cartella non è protetta.docs/spec/protection-upgrade.md): la scansione standard non chiede mai l'amministratore. Il controllo approfondito usa una sola operazione dell'helper di sola lettura (CollectSystemEvidence): query WMI e comandi fissi. Le modifiche al registro passano da un elenco esatto di voci (ProtectionRegistry), con file .reg prima di ogni cambio; i valori che Windows richiede (Shell, Userinit, AppInit_DLLs) vengono riportati al valore predefinito, non cancellati. La quarantena sposta i file tramite handle, toglie i permessi di esecuzione, aggiunge Zone.Identifier; il ripristino rimette un elemento solo dentro le cartelle da cui la quarantena può prendere, aprendo la destinazione un nome alla volta senza seguire collegamenti, e un record dell'indice che non punta alla propria cartella viene ignorato. L'helper termina un processo solo se esegue ancora l'immagine indicata e mai i processi critici o i componenti firmati di Windows. Le firme: un file senza firma dentro C:\Windows viene cercato nei cataloghi di Windows, non creduto per il percorso (Windows\Temp, Tasks e le altre cartelle scrivibili dagli utenti non godono di fiducia); «Microsoft» vale solo quando la catena del certificato finisce in una radice Microsoft. Regole YARA, hash e LOLDrivers non vengono scaricati: l'utente li aggiunge dalle Impostazioni e confronta lo SHA-256 mostrato; yara64.exe ufficiale va messo nella stessa cartella. Regole e yara64.exe si confermano come amministratore: i loro SHA-256 finiscono in ProgramData\Tramontana\Pins, che solo gli amministratori scrivono, e a ogni scansione un file cambiato viene segnalato e non usato (un yara64.exe cambiato è un Pericolo e non parte). «Ignora» nasconde solo avvisi e informazioni, mai un Pericolo.publish.ps1 ripristina i pacchetti in modalità bloccata (packages.lock.json), si ferma se un pacchetto ha un avviso di sicurezza, e firma con Authenticode app, helper, DLL del progetto, setup e disinstallatore con il certificato «Tramontana Code Signing» del PC di compilazione (scripts\new-signing-cert.ps1 lo crea una volta, chiave non esportabile; -SignThumbprint per usarne un altro, -NoSign solo per prove). L'impronta del certificato e lo SHA-256 di Tramontana.dll vengono compilati dentro trhelper.exe, che serve solo un Tramontana.exe con quella firma intatta; install.ps1 rifiuta file non firmati o modificati dopo la firma. Un certificato autofirmato dà integrità e autenticazione dell'helper; non dà la reputazione SmartScreen. Le release ufficiali vengono invece firmate da SignPath (vedi «Code signing policy»): il workflow compila con -NoSign -ExpectedSigner <impronta>, così l'helper è legato al certificato di SignPath, manda i file a firmare e costruisce il setup dai file firmati (-SetupOnly).%TEMP%\trtests-data).