# Send fil — passord genereres automatisk, lenke + passord vises $ ttl send secret.pdf No password provided. Generate one? [Y/n]: Generated password: aB3kL9mX ·✧★◉ Thank goodness, secret.pdf is in orbit (1.2 MB) IMPORTANT! Save your password — required to download and decrypt the file. Password: aB3kL9mX https://ttl.space/aBcDeFgHiJ # Last ned — passord blir spurt om interaktivt $ ttl get https://ttl.space/aBcDeFgHiJ Enter password: ******** Password verified ◉★✧· Phew, secret.pdf landed safe and sound (1.2 MB)
CLI-verktøyet krypterer, laster opp, laster ned og dekrypterer automatisk. Serveren ser aldri passordet ditt eller klartekstdataene dine.
$ brew install tweenietomatoes/ttl/ttl
$ scoop bucket add ttl https://github.com/tweenietomatoes/scoop-ttl $ scoop install ttl
# Last ned for din plattform fra utgivelsene $ curl -Lo ttl.tar.gz \ https://github.com/tweenietomatoes/ttl/releases/latest/download/ttl_linux_amd64.tar.gz $ tar xzf ttl.tar.gz && sudo mv ttl /usr/local/bin/
$ go install github.com/tweenietomatoes/ttl/cmd/ttl@latest
$ git clone https://github.com/tweenietomatoes/ttl $ cd ttl && go build -o ttl ./cmd/ttl/ $ sudo mv ttl /usr/local/bin/
$ ttl version ttl v1.3.0
# Generer passord automatisk, standard TTL 7d $ ttl send report.xlsx
Hvis det ikke er oppgitt noe passord i terminalen, spør CLI-verktøyet:
No password provided. Generate one? [Y/n]:
Trykk Enter eller skriv y for å generere automatisk.
$ ttl send -p mySecretPass -t 1h document.pdf
# Filen slettes permanent etter første nedlasting $ ttl send -b photo.jpg
$ ttl send -t 5m temp-credentials.txt # utløper om 5 minutter $ ttl send -t 30m meeting-link.txt # utløper om 30 minutter $ ttl send -t 6h backup.tar.gz # utløper om 6 timer $ ttl send -t 1d daily-report.pdf # utløper om 1 dag $ ttl send -t 3d project-archive.zip # utløper om 3 dager $ ttl send -t 5d design-assets.zip # utløper om 5 dager $ ttl send report.xlsx # utløper om 7 dager (standard)
$ ttl get https://ttl.space/aBcDeFgHiJ Enter password: ******** Password verified ◉★✧· Phew, document.pdf landed safe and sound (4.2 MB)
Passordet vises ikke. Det opprinnelige filnavnet gjenopprettes.
# Du kan bruke bare det 10-tegns tokenet i stedet for den fullstendige URL-en $ ttl get aBcDeFgHiJ Enter password: ******** Password verified ◉★✧· Phew, document.pdf landed safe and sound (4.2 MB)
$ ttl get -o ~/Downloads aBcDeFgHiJ
Som standard lagres filer i gjeldende mappe. Bruk -o / --output for å angi en annen mappe.
$ ttl get -p mySecretPass https://ttl.space/aBcDeFgHiJ
Du kan også laste ned og dekryptere filer i nettleseren ved å besøke lenken direkte. Webgrensesnittet bruker det samme krypteringsbiblioteket og ber om passordet ditt. Ingen programvareinstallasjon nødvendig.
Passordet brukes som grunnlag for krypteringsnøkkelen. Det forlater aldri enheten din og sendes aldri til serveren. Det finnes fem måter å oppgi det på:
$ ttl send notes.txt No password provided. Generate one? [Y/n]: y Generated password: aB3kL9mX
Genererer et kryptografisk tilfeldig 8-tegns passord fra [0-9A-Za-z]. Kun tilgjengelig ved send i terminalen.
$ ttl send notes.txt No password provided. Generate one? [Y/n]: n Enter password: ******** Confirm password: ******** $ ttl get https://ttl.space/aBcDeFgHiJ Enter password: ********
Passordet vises ikke og lagres ikke i skallhistorikken. Ved send velger du først om det skal genereres automatisk. Ved get blir du bedt om å taste inn passordet direkte.
-p / --password$ ttl send -p mySecretPass file.zip $ ttl get --password mySecretPass https://ttl.space/aBcDeFgHiJ
-p / --password er synlig i ps aux-utdata og kan lagres i skallhistorikken (~/.bash_history). Unngå bruk i delte miljøer og skript. Bruk --password-stdin eller --password-file i stedet.--password-stdin# Videresend via echo $ echo "mySecretPass" | ttl send --password-stdin backup.tar.gz # Videresend fra passordbehandler $ pass show ttl/key | ttl send --password-stdin data.zip # Videresend fra miljøvariabel $ printenv MY_SECRET | ttl get --password-stdin https://ttl.space/aBcDeFgHiJ # Heredoc $ ttl send --password-stdin report.pdf <<<"mySecretPass"
Leser den første linjen fra stdin. Nyttig i skript, CI/CD-pipelines og automatisering. Hvis stdin ikke er en terminal og ingen passordkilde er angitt, avsluttes CLI-verktøyet med en feil (med unntak av --json, som automatisk genererer et passord).
--password-file$ ttl send --password-file /run/secrets/key report.xlsx $ ttl get --password-file ~/.ttl-key https://ttl.space/aBcDeFgHiJ
Leser den første linjen i filen (avsluttende linjeskift fjernes). Kompatibel med Docker Secrets (/run/secrets/), Vault-agent-filer og lignende mønstre.
ttl.passwordHvis det ikke oppgis et eksplisitt passord, søker CLI etter en ttl.password-fil ved siden av programmet, deretter ~/.ttl/password. Første linje brukes som passord.
-p / --password, --password-stdin og --password-file kan ikke kombineres. Den automatisk oppdagede ttl.password-filen sjekkes bare når ingen av disse er oppgitt. Minstelengde: 8 tegn.| Flagg | Beskrivelse | Standard |
|---|---|---|
-p, --password P | Krypteringspassord | interaktiv |
--password-stdin | Les passord fra stdin | |
--password-file F | Les passord fra fil | |
-t, --ttl DUR | Gyldighetsvarighet | 7d |
-b, --burn | Slett etter lesing (engangs nedlasting) | av |
--timeout DUR | Overføringstidsavbrudd | auto |
--server URL | Server-URL | https://ttl.space |
-h3, --http3 | Prøv HTTP/3 (QUIC), fallback til TCP | av |
--json | JSON-utdata til stdout (for skript og KI-agenter) | av |
| Flagg | Beskrivelse | Standard |
|---|---|---|
-p, --password P | Dekrypteringspassord | interaktiv |
--password-stdin | Les passord fra stdin | |
--password-file F | Les passord fra fil | |
-o, --output DIR | Utdatamappe | gjeldende mappe |
--timeout DUR | Overføringstidsavbrudd | auto |
-h3, --http3 | Prøv HTTP/3 (QUIC), fallback til TCP | av |
--json | JSON-utdata til stdout (for skript og KI-agenter) | av |
Gratis: 5m 10m 15m 30m 1h 2h 3h 6h 12h 24h 1d 2d 3d 4d 5d 6d 7d
Orbit legger til: 14d 15d 28d 30d
Standard: auto — beregnet ut fra filstørrelse med antatt 1 Mbps + 2 minutters buffer (minimum 5 minutter). Overstyr med --timeout 10m eller --timeout 1h.
#!/bin/bash tar czf /tmp/backup.tar.gz /data echo "$BACKUP_KEY" | ttl send --password-stdin -t 6h /tmp/backup.tar.gz rm /tmp/backup.tar.gz
$ ttl send -p mypass123 file.pdf | pbcopy
$ ttl send -p mypass123 file.pdf | xclip -sel clip
$ echo "$DB_PASSWORD" | ttl send --password-stdin -b -t 5m credentials.env # Lenken fungerer nøyaktig én gang, utløper etter 5 minutter
# sending — passord genereres automatisk i JSON-modus $ ttl --json send report.pdf {"ok":true,"link":"https://ttl.space/xK9mQ2vLpA","filename":"report.pdf","size":2097152,"ttl":"7d","burn":false,"password":"aB3kL9mX"} # nedlasting $ ttl --json get -p aB3kL9mX xK9mQ2vLpA {"ok":true,"filename":"report.pdf","size":2097152,"saved_to":"/home/user/report.pdf"} # feil returnerer ok:false {"ok":false,"error":"Link not found"}
I --json-modus er all utdata strukturert JSON på stdout. Hvis det ikke oppgis passord ved sending, genereres et automatisk og inkluderes i svaret. Avslutningskode er 0 ved suksess og 1 ved feil.
Orbit gir tilgang til større filer (10 GB), lengre lagring (30 dager) og filbehandling (liste og slett).
API-nøkkelen oppdages automatisk: miljøvariabelen TTL_API_KEY, ttl.key ved siden av programmet eller ~/.ttl/key. Bruk ttl activate for å lagre nøkkelen eller skriv den manuelt til en av disse plasseringene.
# aktiver nøkkelen din $ ttl activate ttl_orbit_aBcDeFgHiJ... Orbit plan activated. Key saved to /usr/local/bin/ttl.key # sjekk plan og bruk $ ttl plan Plan: orbit Max file size: 10.0 GB Max TTL: 30 days Uploads per day: Unlimited Usage: Uploads today: 3 Active storage: 1.2 GB / 250.0 GB # send med forlenget TTL $ ttl send -t 30d large-backup.tar.gz # list nylige opplastinger $ ttl list xK9mQ2vLpA 4.2 MB 2026-03-16 10:30 → 2026-04-15 10:30 [active] https://ttl.space/xK9mQ2vLpA rT7bNw3KpF 912.0 KB 2026-03-15 14:20 → 2026-03-17 14:20 [active (burn)] https://ttl.space/rT7bNw3KpF # slett en fil $ ttl delete xK9mQ2vLpA Deleted: xK9mQ2vLpA # fjern lagret nøkkel $ ttl deactivate Key file removed: /usr/local/bin/ttl.key
ttl send / ttl get eller --json-modus. Endepunktene nedenfor er for Orbit-filbehandling.$ curl https://ttl.space/v1/files -H "X-API-Key: ttl_orbit_..." {"files":[{"token":"xK9mQ2vLpA","link":"https://ttl.space/xK9mQ2vLpA","size_bytes":1048576,"created_at":1711800600,"expires_at":1714392600,"burn":false,"expired":false}]}
Returnerer alle filer lastet opp med denne nøkkelen. Krever Orbit-plan.
$ curl -X DELETE https://ttl.space/v1/files/xK9mQ2vLpA -H "X-API-Key: ttl_orbit_..."
Returnerer 204 No Content ved suksess. Krever Orbit-plan. Filen må tilhøre denne nøkkelen.
| Status | Betydning |
|---|---|
401 | Ugyldig eller utløpt API-nøkkel |
403 | Funksjonen krever Orbit-plan |
404 | Fil ikke funnet eller tilhører ikke denne nøkkelen |
429 | Forespørselsgrense overskredet |
| Begrensning | Gratis | Orbit |
|---|---|---|
| Maks. filstørrelse | 2 GB | 10 GB |
| Maks. TTL | 7 dager | 30 dager |
| Opplastinger per dag | 10 | 50 |
| Lagringskvote | — | 250 GB |
| Liste & slett | — | ✓ |
| Min. passordlengde | 8 tegn | |
| Forespørsler per IP | 30 per 10 sekunder | |
| Tilkoblinger per IP | 10 samtidige | |
Filer krypteres på enheten din før de lastes opp. Serveren lagrer kun chiffertekst og kan ikke dekryptere filene dine.
| Komponent | Algoritme / Verdi |
|---|---|
| Nøkkelavledning | Argon2id (time=3, memory=64 MB, parallelism=1) |
| Chiffer | XChaCha20-Poly1305 AEAD |
Enhver endring av chifferteksten fører til at dekrypteringen mislykkes. Serveren verifiserer at den som laster ned kjenner riktig passord før chifferteksten frigis, ved hjelp av et enveis-token avledet fra krypteringsnøkkelen.