Scarica
Sei comandi, uno per sistema/architettura, pubblicati a ogni rilascio dalla CI del repo — nessun caricamento a mano. I link sotto puntano sempre all'ultima versione pubblicata.
| Sistema | Architettura | Download |
|---|---|---|
| Linux | x64 | sg-attest-linux-x64 |
| Linux | arm64 | sg-attest-linux-arm64 |
| macOS | Intel | sg-attest-macos-x64 |
| macOS | Apple Silicon | sg-attest-macos-arm64 |
| Windows | x64 | sg-attest-windows-x64.exe |
| Windows | ARM64 | sg-attest-windows-arm64.exe |
Verifica l'integrità
Ogni rilascio include SHA256SUMS.txt con l'impronta di ciascun binario. Confrontala prima di eseguire il file scaricato:
# Linux / macOS
sha256sum -c SHA256SUMS.txt --ignore-missing
# Windows (PowerShell)
(Get-FileHash .\sg-attest-windows-x64.exe -Algorithm SHA256).Hash
Ha senso usare lo stesso strumento del servizio per verificare se stesso: sg-attest attest calcola l'impronta di qualunque file, compreso questo eseguibile.
Avviso "editore sconosciuto"
Questi binari non sono firmati digitalmente: alla prima esecuzione, Windows SmartScreen o macOS Gatekeeper mostrano un avviso ("editore sconosciuto"/"sviluppatore non identificato"). È un compromesso dichiarato, non un difetto nascosto — la garanzia d'integrità nel frattempo è il checksum qui sopra, insieme al fatto che il binario è compilato pubblicamente dalla CI del repo, direttamente dal sorgente che puoi leggere.
Se preferisci evitare del tutto l'avviso, npx resta il canale primario e non lo mostra mai (vedi sotto).
Uso
Stessi comandi della versione npm, si lancia il file direttamente:
# Linux / macOS: rendilo eseguibile la prima volta
chmod +x ./sg-attest-linux-x64
./sg-attest-linux-x64 status
./sg-attest-linux-x64 authorize
./sg-attest-linux-x64 attest ./opera.zip --pdf certificato.pdf
./sg-attest-linux-x64 verify ./opera.zip --hash <sha256>
Su Windows, lo stesso con .\sg-attest-windows-x64.exe. La chiave API va nella variabile d'ambiente IMGAUTH_API_KEY, mai passata come argomento (finirebbe nella cronologia della shell). Ogni comando accetta --json per l'uso in script; i codici d'uscita sono 0 successo, 1 errore operativo, 2 verifica con esito negativo.
attest senza --pdf calcola solo impronta e firma (nulla viene archiviato); aggiungi --pdf <file> per generare anche il certificato firmato — solo allora l'opera è archiviata e la sua pagina /c/<impronta> esiste davvero.
L'elenco completo dei comandi (verify-cert, cert, anchor, …) è nel README del repo.
Quando preferire il binario a npx
- Macchina o runner senza Node.js — immagini minime, container distroless, ambienti dove installare un runtime è un costo che non vuoi pagare solo per attestare un file.
- Rete verso un registro pacchetti non disponibile — il binario, una volta scaricato, non contatta npm: solo l'API di attestazione.
- Avvio più rapido — nessuna risoluzione di dipendenze a ogni invocazione, a differenza di
npxquando la cache è fredda.
npx/npm restano il canale primario, e sono quello che usa attest-action in CI: il binario è un canale in più, non una sostituzione.
src/cli.js), senza dipendenze incluse oltre al runtime necessario per eseguirlo: stessa impronta calcolata in locale, stesso HMAC, stessa firma, stesso ancoraggio Bitcoin. Nessuna scorciatoia riduce le protezioni descritte nella pagina del servizio.