Hopp til innhold

Tekst Delingsverktøy - Gratis Paste Bin for Kodesnutter

Del tekst og kodesnutter umiddelbart med vårt gratis paste bin-verktøy. Funksjoner inkluderer syntaksheving, tilpasset utløpstid og unike URL-er. Ingen påmelding nødvendig!

Tekst Delingsverktøy

0 tegn
Lastekalkulator...
📚

Dokumentasjon

Tekstdelingsverktøy (pastebin)

Et tekstdelingsverktøy, ofte kalt en pastebin, er en nettside der man kan legge ut en tekstblokk eller kode og få tilbake en lenke som viser teksten til alle som åpner den. Dette pastebin-verktøyet kjører utelukkende i nettleseren, krever ingen konto og kan legge til valgfri syntaksutheving og utløpstid for lenken.

Slik fungerer tekstdelingsverktøyet

De fleste pastebin-tjenester lagrer teksten på en server og returnerer en kort lenke som peker til en rad i en database. Dette verktøyet fungerer annerledes. Det har ingen server og ingen database. I stedet pakker det hele teksten inn i selve lenken.

Når noen klikker på «Opprett lenke», gjør verktøyet fire ting:

  1. Det bygger et lite objekt som inneholder teksten, det valgte språket og utløpstiden (eller ingenting for «aldri»).
  2. Det konverterer objektet til én linje med JSON-tekst.
  3. Det gjør JSON-en om til byte ved hjelp av UTF-8-kodingen som brukes overalt på nettet.
  4. Det koder disse bytene som base64url, et skjema som gjør vilkårlige byte om til bokstaver, sifre, - og _, slik at resultatet er trygt å bruke i en URL.

Den kodede teksten plasseres etter #p= på slutten av sidens URL. Alt etter # kalles fragmentet. En nettleser sender aldri fragmentet til en server når den laster inn en side, så teksten blir aldri overført noe sted. Å lese lenken tilbake er den samme prosessen i omvendt rekkefølge: dekode base64url-teksten, gjør bytene om til en JSON-streng med UTF-8, og analyser JSON-en for å hente frem teksten, språket og utløpstiden.

Fordi fragmentet inneholder hele teksten, fungerer en delingslenke på alle enheter og i alle nettlesere, ikke bare på enheten eller i nettleseren som opprettet den. Ingenting må slås opp. Det er nok å åpne lenken for å vise innholdet, på samme måte som det ikke er nødvendig å spørre en server hva en nedlastet fil inneholder når filen åpnes.

Verktøyet lagrer også en lokal kopi av hver tekst i nettleserens lagring som et praktisk utkast. Denne kopien hjelper bare den samme nettleseren med å finne igjen tidligere tekster; den spiller ingen rolle for hvordan en delingslenke åpnes, og det å slette den bryter ingen delingslenker, fordi lenkene aldri var avhengige av den.

Syntaksutheving

Syntaksutheving fargelegger deler av kode, for eksempel nøkkelord, strenger og kommentarer, slik at strukturen blir enklere å lese. Verktøyet støtter ti alternativer:

  • Ren tekst (ingen utheving)
  • JavaScript
  • TypeScript
  • Python
  • Java
  • HTML
  • CSS
  • JSON
  • SQL
  • Bash

Det valgte språket lagres i den kodede nyttelasten, slik at syntakshevingen brukes automatisk når lenken åpnes, uten at den som ser på den, trenger å velge noe.

Utløpsformel

Et utløpsalternativ angir et absolutt tidsstempel, målt i millisekunder siden 1. januar 1970 (et vanlig referansepunkt i databehandling som kalles Unix-epoken). Verktøyet legger en fast tidslengde til tidspunktet da lenken ble opprettet:

AlternativLagt til tid
Aldriingen tidsstempel lagres
1 time60 × 60 × 1 000 ms
1 dag24 × 60 × 60 × 1 000 ms
1 uke7 × 24 × 60 × 60 × 1 000 ms
1 måned30 × 24 × 60 × 60 × 1 000 ms (fast 30 dager, ikke en kalendermåned)

Hvis en lenke for eksempel opprettes når klokken viser 1 700 000 000 000 ms, og oppretteren velger «1 uke», blir det lagrede utløpstidspunktet:

1 700 000 000 000 + (7 × 24 × 60 × 60 × 1 000) = 1 700 604 800 000 ms

Når noen åpner lenken, sammenligner verktøyet det lagrede tidsstempelet med gjeldende tid. Hvis det lagrede tidspunktet allerede er passert, viser verktøyet meldingen «Dette innholdet har utløpt» i stedet for teksten. Fordi utløpstidspunktet følger med teksten inne i lenken, fungerer denne kontrollen på samme måte på alle enheter.

Slik blir en tekst til en lenke

Tenk deg at noen deler ren tekst, Hello, world!, uten utløpstid. Verktøyet bygger dette JSON-objektet ved å bruke korte feltnavn for å holde lenken kompakt:

1{"t":"Hello, world!","l":"plaintext","e":null}
2

Det koder JSON-en som UTF-8-byte og deretter som base64url, noe som gir:

1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

Den fullstendige delingslenken er sidens adresse pluss dette tokenet etter #p=:

1https://whiz.tools/en/development/paste-bin-tool#p=eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

Alle som åpner lenken, får en nettleser som dekoder tokenet, leser Hello, world! som ren tekst og viser den. Ingen server ble noen gang spurt om noe.

Slik deler du tekst eller kode

  1. Skriv eller lim inn teksten i tekstboksen. Tegntelleren oppdateres mens teksten skrives inn.
  2. Velg eventuelt et språk fra menyen for syntaksutheving.
  3. Velg eventuelt hvor lenge lenken skal være gyldig.
  4. Klikk på «Opprett lenke».
  5. Kopier den genererte lenken med knappen «Kopier lenke», og send den på ønsket måte.

Slik viser du delt tekst

  1. Åpne den delte lenken.
  2. Teksten vises umiddelbart, med utheving hvis et språk ble valgt.
  3. Bruk «Kopier tekst» for å kopiere innholdet til utklippstavlen.
  4. Bruk «Opprett ny» for å starte en ny tekst.

En tekst kan ikke redigeres etter at lenken er opprettet. Hvis teksten skal endres, må man lage en ny tekst og dele den nye lenken.

Vanlige bruksområder

  • Utviklere som deler et kodeutdrag for gjennomgang eller hjelp med feilsøking.
  • Lærere som deler startkode eller instruksjoner.
  • Alle som flytter en tekstblokk, for eksempel en liste eller et sett med notater, mellom to av sine egne enheter.

For tekst som flere personer skal kunne redigere samtidig, passer et verktøy for delte dokumenter bedre. For kode som trenger en permanent historikk, passer et versjonskontrollsystem som Git bedre.

Begrensninger og personvern

Fordi hele teksten ligger i lenken, er den praktiske størrelsesbegrensningen lengden på selve URL-en, ikke en lagringskvote. Nettlesere kan håndtere lange URL-er, men mange e-postprogrammer, chat-apper og eldre systemer forkorter eller avviser svært lange URL-er. Derfor kan svært store tekster være vanskelige å sende gjennom alle kanaler. Korte og middels store tekster påvirkes ikke.

Fragmentet sendes aldri til en server, så selve verktøyet får aldri vite hva som ble limt inn. Alle som har den nøyaktige lenken, kan åpne den. En lenke bør derfor behandles på samme måte som teksten den inneholder: Ikke del passord eller andre sensitive data på denne måten, og ikke legg lenken ut offentlig hvis innholdet skal forbli privat.

Ofte stilte spørsmål

Hvor lagres den delte teksten egentlig? Den lagres ikke noe annet sted enn i lenken. Teksten, det valgte språket og utløpstiden er alle kodet direkte inn i lenkens fragment, delen etter #. Selve lenken er den eneste kopien.

Fungerer lenken på en annen enhet eller i en annen nettleser? Ja. Fordi innholdet følger med i lenken, kan alle enheter som åpner den, dekode og vise innholdet. Det kreves verken konto eller den opprinnelige nettleseren.

Hva skjer hvis jeg sletter nettleserdataene mine? Ingenting skjer med eksisterende delingslenker. De er ikke avhengige av noe som er lagret i nettleseren, bare av selve lenken. Når nettleserdata slettes, fjernes bare den lokale praktiske kopien av tekster som nettleseren har lagret fra den enheten.

Kan jeg redigere en tekst etter at lenken er opprettet? Nei. Det må opprettes en ny lenke for enhver endring, siden innholdet bygges inn i lenken når den opprettes.

Hva skjer når en tekst utløper? Når en utløpt lenke åpnes, vises en melding om at innholdet har utløpt, i stedet for den opprinnelige teksten. Selve lenken finnes fortsatt; den viser bare ikke lenger innholdet etter at det lagrede utløpstidspunktet er passert.

Finnes det en størrelsesbegrensning? Det finnes ingen fast lagringsgrense, men svært lange URL-er kan avvises eller kuttes av enkelte e-postklienter og meldingsapper. Derfor egner svært store tekster seg bedre for et eget verktøy for fildeling.

Referanser

  1. "UTF-8." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/UTF-8
  2. "Base64." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/Base64
  3. "URL." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/API/URL
  4. "Syntax highlighting." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Syntax_highlighting
  5. "Unix time." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Unix_time