Dit project laat je één videobestand versleutelen en pas na een zelfgekozen tijd weer openen.
Alles zit in één bestand met extensie .tlv.
De unlock-tijd staat in het bestand zelf, achter de encrypted data.
Ontworpen voor eigen gebruik.
Je vertrouwt op discipline, niet op absolute technische afdwinging.
- Versleutelt één video per keer.
- Je kiest per encryptie een duur, zoals 30d, 5d, 2h.
- Het resultaat is één
.tlvbestand. - Voor de unlock-datum kan je het bestand niet openen via het script.
- Na de unlock-datum klik je één keer en hij decrypt.
Geschikt voor grote bestanden, getest tot 1 GB.
- Python 3.9 of nieuwer.
- Internetverbinding bij lock en unlock, voor tijdcontrole.
- Besturingssysteem maakt niet uit.
Python packages:
- cryptography
- requests
Installatie:
pip install cryptography requests
Opbouw van het bestand:
- Encrypted video data, in chunks.
- Footer in plaintext, helemaal aan het einde:
- Magic bytes om het bestand te herkennen.
- Lengte van de footer.
- JSON met metadata:
- unlock_at_utc
- created_utc
-
encryptie-instellingen
- AES sleutel en nonce info
De footer is leesbaar zonder decryptie.
De video zelf niet.
- Algoritme: AES-256-GCM.
- Werkt per chunk, standaard 4 MB.
- Elke chunk krijgt een unieke nonce.
- Authenticatie zit ingebouwd via GCM.
- Streaming, dus laag geheugenverbruik.
- Lokale systeemtijd wordt niet gebruikt.
- Tijd wordt opgehaald via HTTPS Date headers.
- Meerdere providers worden geprobeerd.
- De eerste geldige UTC-tijd wordt gebruikt.
Voor eigen gebruik is dit stabiel genoeg.
python timelock_onefile_stream.py lock video.mp4 --outdir locked
Daarna vraagt het script:
Hoe lang wil je dit locken, bv 30d, 5d, 2h, 90m, 1d12h30m:
Voorbeelden:
- 30d
- 5d
- 2h
- 1d12h
- 1d12h30m
Resultaat:
locked/video.mp4.tlv
python timelock_onefile_stream.py info locked/video.mp4.tlv
Output:
- LOCKED of OPEN
- unlock_at_utc
- created_utc
- bestandsgrootte
- aantal chunks
python timelock_onefile_stream.py unlock locked/video.mp4.tlv --outdir unlocked
Voor de unlock-datum:
- Script stopt met foutmelding.
Na de unlock-datum:
- Video wordt gedecrypt.
- Originele bestandsnaam wordt hersteld.
- Lock video 1 voor 30 dagen.
- Een week later lock video 2 voor 5 dagen.
- Check af en toe status met
info. - Unlock wanneer toegestaan.
Elke video staat volledig los van de andere.
- Dit is geen DRM en geen onbreekbare tijdkluis.
- Wie het script of bestand aanpast, kan eerder unlocken.
- Dit is bewust zo ontworpen.
- Voor persoonlijk gebruik werkt dit goed en voorspelbaar.
- Test eerst met een klein bestand.
- Bewaar het
.tlvbestand veilig. - Verwijder de originele video pas als je zeker weet dat decrypt werkt.
- Maak backups als de video belangrijk is.
- Dubbelklik unlocker per OS.
- Automatisch openen van de video na decrypt.
- GUI wrapper.
- Extra checksums of signatures.
Gebruik vrij voor eigen projecten.
Geen garanties.
Gebruik op eigen verantwoordelijkheid.
-
- created_utc
- unlock_at_utc
- JSON met metadata:
- Lengte van de footer.
- Magic bytes om het bestand te herkennen.