I binary in dist/ sono compilati dai sorgenti di questa cartella con
PyInstaller (vedi build_windows.ps1 / build_linux.sh). Per fidarti,
non fidarti: verifica.
Ogni release pubblica SHA256SUMS.txt con gli hash dei file.
Confronta il file che hai scaricato:
Windows (PowerShell):
Get-FileHash .\dist\simple-ehm.exe -Algorithm SHA256
Get-FileHash .\dist\simple-ehm-gui.exe -Algorithm SHA256
Get-Content .\SHA256SUMS.txtLinux:
sha256sum dist/simple-ehm dist/simple-ehm-gui
cat SHA256SUMS.txtGli hash devono coincidere carattere per carattere. Se differiscono anche di una cifra: non eseguire il file.
- L'autore compila dai sorgenti (
git logpubblico) e pubblica gli hash. - Chiunque può ricompilare dai sorgenti e confrontare: stesso codice →
stesso comportamento. Istruzioni in
README.md(sezione Binaries). - Il
.debsi ispeziona senza installare:dpkg-deb --contents simple-ehm_*_amd64.deb.
Nessun passaggio richiede di fidarsi di un singolo file: codice pubblico + build riproducibile + hash pubblicati.
- Windows Defender: tasto destro sul file → Analizza con Microsoft Defender.
- Online (multi-motore): https://www.virustotal.com (carica l'exe; qualche falso positivo euristico su PyInstaller è normale e documentato, ma 0/votazioni malevole gravi è il segnale atteso).
- Prima esecuzione in sandbox:
Windows Sandboxoppure VM.
Nota: gli exe non sono firmati con certificato (SmartScreen di Windows mostrerà "Autore sconosciuto" → Ulteriori informazioni → Esegui comunque solo dopo le verifiche sopra).
- All'avvio: check release GitHub (
api.github.com, repoSIMPLE_EHM_REPO) per versione programma emanifest.jsonmodelli. - Download modello
model.kerassolo se manca o è più vecchio del remoto (verifica dimensione/sha256 da manifest). Mai eseguibili, solo pesi. - Disattivabile:
--no-download(eSIMPLE_EHM_MODEL_URLper mirror proprio). - Niente telemetria, niente upload.
pip install -r requirements.txt
pip install pyinstaller
pyinstaller simple-ehm-cli.spec
pyinstaller simple-ehm-gui.specConfronta gli hash del tuo build con quelli pubblicati (a parità di versioni di Python/librerie il comportamento è identico; gli hash byte per byte possono variare tra macchine diverse – conta il codice sorgente).
