Hoppa till innehåll

Textdelningsverktyg - Gratis Paste Bin för kodavsnitt

Dela text och kodavsnitt direkt med vårt kostnadsfria paste bin-verktyg. Funktioner som syntaxmarkering, anpassad utgångstid och unika URL:er. Ingen registrering krävs!

Verktyg för textdelning

0 tecken
Laddningsberäknare...
📚

Dokumentation

Verktyg för textdelning (klistra in)

Ett verktyg för textdelning, ofta kallat pastebin, är en webbsida där man kan publicera ett text- eller kodblock och få tillbaka en länk som visar texten för alla som öppnar den. Detta verktyg för pastebin körs helt i webbläsaren, kräver inget konto och kan även förses med valfri syntaxmarkering och en giltighetstid för länken.

Så fungerar verktyget för textdelning

De flesta pastebintjänster lagrar texten på en server och lämnar tillbaka en kort länk som pekar på en rad i en databas. Det här verktyget fungerar annorlunda. Det har ingen server och ingen databas. I stället packar det in hela textblocket i själva länken.

När någon klickar på ”Skapa länk” gör verktyget fyra saker:

  1. Det bygger ett litet objekt som innehåller texten, det valda språket och giltighetstiden (eller ingenting för ”aldrig”).
  2. Det omvandlar objektet till en rad med JSON-text.
  3. Det omvandlar JSON till byte med UTF-8-kodningen som webben använder överallt.
  4. Det kodar dessa byte som base64url, ett schema som omvandlar godtyckliga byte till bokstäver, siffror, - och _, så att resultatet är säkert att använda i en URL.

Den kodade texten placeras efter #p= i slutet av sidans URL. Allt efter # kallas fragmentet. En webbläsare skickar aldrig fragmentet till en server när den läser in en sida, så textblockets innehåll överförs aldrig någonstans. Att läsa tillbaka länken är samma process i omvänd ordning: avkoda base64url-texten, omvandla byten tillbaka till en JSON-sträng med UTF-8 och tolka JSON för att återfå texten, språket och giltighetstiden.

Eftersom fragmentet innehåller hela textblocket fungerar en delningslänk på alla enheter och i alla webbläsare, inte bara i den som skapade den. Inget behöver slås upp. Det räcker att öppna länken för att visa innehållet, på samma sätt som en öppnad nedladdad fil inte kräver att man frågar en server vad filen innehåller.

Verktyget sparar också en lokal kopia av varje textblock i webbläsarens lagring som ett praktiskt utkast. Kopian hjälper bara samma webbläsare att hitta sina egna tidigare textblock igen. Den har ingen betydelse för hur en delningslänk öppnas, och om den raderas bryts ingen delningslänk, eftersom länken aldrig var beroende av den.

Syntaxmarkering

Syntaxmarkering färglägger delar av koden, till exempel nyckelord, strängar och kommentarer, så att strukturen blir lättare att läsa. Verktyget stöder tio alternativ:

  • Ren text (ingen färgning)
  • JavaScript
  • TypeScript
  • Python
  • Java
  • HTML
  • CSS
  • JSON
  • SQL
  • Bash

Det valda språket sparas i den kodade nyttolasten, så att färgningen tillämpas automatiskt när länken öppnas, utan att den som läser behöver välja något.

Formel för giltighetstid

Ett giltighetsalternativ anger en absolut tidsstämpel, mätt i millisekunder sedan 1 januari 1970 (en vanlig referenspunkt inom databehandling som kallas Unix-epoken). Verktyget lägger till en fast tidslängd till det ögonblick då länken skapas:

AlternativTillagd tid
Aldrigingen tidsstämpel sparas
1 timme60 × 60 × 1 000 ms
1 dygn24 × 60 × 60 × 1 000 ms
1 vecka7 × 24 × 60 × 60 × 1 000 ms
1 månad30 × 24 × 60 × 60 × 1 000 ms (ett fast antal på 30 dagar, inte en kalendermånad)

Exempel: om en länk skapas när klockan visar 1 700 000 000 000 ms och skaparen väljer ”1 vecka” blir den sparade giltighetstiden:

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

När någon öppnar länken jämför verktyget den sparade tidsstämpeln med den aktuella tiden. Om den sparade tiden redan har passerat visar verktyget meddelandet ”Detta innehåll har gått ut” i stället för texten. Eftersom giltighetstidsstämpeln följer med texten inuti länken fungerar kontrollen på samma sätt på alla enheter.

Så blir ett textblock en länk

Anta att någon delar ren text, Hello, world!, utan giltighetstid. Verktyget bygger detta JSON-objekt och använder korta fältnamn för att hålla länken kompakt:

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

Det kodar JSON som UTF-8-byte och sedan som base64url, vilket ger:

1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2

Den fullständiga delningslänken är sidans adress plus denna token efter #p=:

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

Alla som öppnar länken får en webbläsare som avkodar tokenen, läser tillbaka Hello, world! som ren text och visar den. Ingen server har behövt tillfrågas.

Så delar man text eller kod

  1. Skriv eller klistra in texten i textrutan. Ett teckenantal uppdateras medan texten skrivs.
  2. Välj vid behov ett språk i menyn för syntaxmarkering.
  3. Välj vid behov hur länge länken ska vara giltig.
  4. Klicka på ”Skapa länk”.
  5. Kopiera den skapade länken med knappen ”Kopiera länk” och skicka den på valfritt sätt.

Så visar man delad text

  1. Öppna den delade länken.
  2. Texten visas omedelbart, med färgning om ett språk har valts.
  3. Använd ”Kopiera text” för att kopiera innehållet till urklipp.
  4. Använd ”Skapa ny” för att börja med ett nytt textblock.

Ett textblock kan inte redigeras efter att länken har skapats. Om texten ska ändras måste man skapa ett nytt textblock och dela den nya länken.

Vanliga användningsområden

  • Utvecklare som delar ett kodexempel för granskning eller hjälp med felsökning.
  • Lärare som delar startkod eller instruktioner.
  • Alla som flyttar ett textblock, till exempel en lista eller en uppsättning anteckningar, mellan två av sina egna enheter.

För text som flera personer behöver kunna redigera samtidigt passar ett verktyg för delade dokument bättre. För kod som behöver en permanent historik passar ett versionshanteringssystem som Git bättre.

Begränsningar och integritet

Eftersom hela textblocket finns i länken är den praktiska storleksbegränsningen själva URL:ens längd, inte någon lagringskvot. Webbläsare kan hantera långa URL:er, men många e-postprogram, chattappar och äldre system kortar av eller avvisar mycket långa länkar. Extremt stora textblock kanske därför inte kan skickas via alla kanaler. Korta och medelstora textblock påverkas inte.

Fragmentet skickas aldrig till en server, så verktyget får aldrig veta vad som klistrades in. Alla som har den exakta länken kan öppna den, så en länk bör behandlas på samma sätt som texten den innehåller: dela inte lösenord eller andra känsliga uppgifter på detta sätt och publicera inte länken offentligt om innehållet ska förbli privat.

Vanliga frågor och svar

Var lagras den delade texten egentligen? Den lagras inte separat från länken. Texten, det valda språket och giltighetstiden kodas direkt i länkens fragment, den del som kommer efter #. Länken själv är den enda kopian.

Fungerar länken på en annan enhet eller i en annan webbläsare? Ja. Eftersom innehållet följer med inuti länken kan alla enheter som öppnar den avkoda och visa innehållet. Inget konto och ingen ursprunglig webbläsare krävs.

Vad händer om jag rensar webbläsardata? Inget händer med befintliga delningslänkar. De är inte beroende av något som lagras i webbläsaren, utan bara av själva länken. När webbläsardata rensas tas endast den lokala praktiska kopia bort som webbläsaren sparar av textblock som skapats på enheten.

Kan jag redigera ett textblock efter att länken har skapats? Nej. En ny länk måste skapas för varje ändring, eftersom innehållet byggs in i länken när den skapas.

Vad händer när ett textblock blir ogiltigt? När en utgången länk öppnas visas ett meddelande om att innehållet har gått ut, i stället för den ursprungliga texten. Själva länken finns fortfarande kvar; den visar helt enkelt inte längre innehållet när den sparade giltighetstidsstämpeln har passerats.

Finns det en storleksbegränsning? Det finns ingen fast lagringsgräns, men mycket långa URL:er kan avvisas eller kapas av vissa e-postklienter och meddelandeappar. Mycket stora textblock lämpar sig därför bättre för ett särskilt verktyg för fildelning.

Referenser

  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