Nástroj pro sdílení textu - Bezplatný Paste Bin pro úryvky kódu
Okamžitě sdílejte text a úryvky kódu pomocí našeho bezplatného nástroje paste bin. Funkce zahrnují zvýrazňování syntaxe, vlastní nastavení expirace a jedinečné URL. Není vyžadována registrace!
Nástroj pro sdílení textu
Dokumentace
Nástroj pro sdílení textu (pastebin)
Nástroj pro sdílení textu, často nazývaný pastebin, je webová stránka pro zveřejnění bloku textu nebo kódu a získání odkazu, který tento text zobrazí každému, kdo jej otevře. Tento pastebin funguje výhradně v prohlížeči, nevyžaduje účet a k odkazu může volitelně přidat zvýraznění syntaxe a dobu platnosti.
Jak nástroj pro sdílení textu funguje
Většina služeb pastebin ukládá text na server a vrací krátký odkaz, který odkazuje na řádek v databázi. Tento nástroj funguje jinak. Nemá server ani databázi. Místo toho vloží celý obsah příspěvku přímo do odkazu.
Když někdo klikne na „Vytvořit odkaz“, nástroj provede čtyři kroky:
- Vytvoří malý objekt obsahující text, zvolený jazyk a dobu platnosti (nebo nic v případě volby „nikdy“).
- Převede tento objekt na jeden řádek textu ve formátu JSON.
- Převede JSON na bajty pomocí kódování UTF-8, které web používá prakticky všude.
- Tyto bajty zakóduje jako base64url, což je schéma převádějící libovolné bajty na písmena, číslice,
-a_, takže výsledek lze bezpečně použít v URL.
Zakódovaný text se na konci URL stránky umístí za #p=. Vše za # se nazývá fragment. Prohlížeč fragment při načítání stránky nikdy neodesílá serveru, takže obsah příspěvku se nikam nepřenáší. Načtení odkazu zpět probíhá opačně: text base64url se dekóduje, bajty se pomocí UTF-8 převedou zpět na řetězec JSON a JSON se analyzuje, aby se obnovil text, jazyk a doba platnosti.
Protože fragment obsahuje celý příspěvek, funguje odkaz ke sdílení na jakémkoli zařízení nebo v jakémkoli prohlížeči, nejen na tom, který jej vytvořil. Není třeba nic vyhledávat. K zobrazení obsahu stačí odkaz otevřít, stejně jako při otevření staženého souboru není nutné žádat server o informace o jeho obsahu.
Nástroj také z praktických důvodů uchovává místní kopii každého příspěvku v úložišti prohlížeče jako koncept. Tato kopie pouze pomáhá stejnému prohlížeči znovu najít vlastní dřívější příspěvky; nijak se nepodílí na otevírání sdíleného odkazu a její odstranění žádný sdílený odkaz neporuší, protože na ní nikdy nezávisel.
Zvýraznění syntaxe
Zvýraznění syntaxe obarvuje části kódu, například klíčová slova, řetězce a komentáře, aby se jeho struktura snadněji četla. Nástroj podporuje deset možností:
- Prostý text (bez zvýraznění)
- JavaScript
- TypeScript
- Python
- Java
- HTML
- CSS
- JSON
- SQL
- Bash
Zvolený jazyk je uložen v zakódovaném datovém obsahu, takže se zvýraznění použije automaticky při otevření odkazu, aniž by divák musel cokoli vybírat.
Vzorec doby platnosti
Volba doby platnosti nastavuje absolutní časové razítko měřené v milisekundách od 1. ledna 1970 (běžného výchozího bodu ve výpočetní technice nazývaného unixová epocha). Nástroj k okamžiku vytvoření odkazu přičte pevně stanovenou dobu:
| Možnost | Přičtená doba |
|---|---|
| Nikdy | časové razítko se neukládá |
| 1 hodina | 60 × 60 × 1 000 ms |
| 1 den | 24 × 60 × 60 × 1 000 ms |
| 1 týden | 7 × 24 × 60 × 60 × 1 000 ms |
| 1 měsíc | 30 × 24 × 60 × 60 × 1 000 ms (pevně stanovených 30 dní, nikoli kalendářní měsíc) |
Například pokud je odkaz vytvořen v okamžiku, kdy hodiny ukazují 1 700 000 000 000 ms, a tvůrce zvolí „1 týden“, uložené datum vypršení je:
1 700 000 000 000 + (7 × 24 × 60 × 60 × 1 000) = 1 700 604 800 000 ms
Když divák odkaz otevře, nástroj porovná uložené časové razítko s aktuálním časem. Pokud již uložený čas uplynul, nástroj místo textu zobrazí zprávu „Platnost tohoto obsahu vypršela“. Protože časové razítko vypršení platnosti putuje spolu s textem uvnitř odkazu, tato kontrola funguje stejně na jakémkoli zařízení.
Praktický příklad: jak se z příspěvku stane odkaz
Předpokládejme, že někdo sdílí prostý text Hello, world! bez omezení platnosti. Nástroj vytvoří tento objekt JSON a použije krátké názvy polí, aby byl odkaz stručný:
1{"t":"Hello, world!","l":"plaintext","e":null}
2Tento JSON zakóduje jako bajty UTF-8 a poté jako base64url, čímž vznikne:
1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2Celý odkaz ke sdílení tvoří adresa stránky a tento token za #p=:
1https://whiz.tools/en/development/paste-bin-tool#p=eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2Každému, kdo odkaz otevře, prohlížeč token dekóduje, načte Hello, world! jako prostý text a zobrazí jej. Server se přitom na nic neptal.
Jak sdílet text nebo kód
- Napište nebo vložte text do textového pole. Při psaní se aktualizuje počet znaků.
- Volitelně vyberte jazyk z nabídky zvýraznění syntaxe.
- Volitelně vyberte, jak dlouho má odkaz zůstat platný.
- Klikněte na „Vytvořit odkaz“.
- Zkopírujte vygenerovaný odkaz pomocí tlačítka „Kopírovat odkaz“ a odešlete jej libovolným preferovaným způsobem.
Jak zobrazit sdílený text
- Otevřete sdílený odkaz.
- Text se zobrazí okamžitě, případně se zvýrazněním, pokud byl zvolen jazyk.
- Pomocí „Kopírovat text“ zkopírujte obsah do schránky.
- Pomocí „Vytvořit nový“ začněte nový příspěvek.
Po vytvoření odkazu nelze příspěvek upravovat. Změna textu vyžaduje vytvoření nového příspěvku a sdílení nového odkazu.
Běžné použití
- Vývojáři sdílející úryvek kódu za účelem kontroly nebo pomoci s laděním.
- Učitelé sdílející výchozí kód nebo pokyny.
- Kdokoli, kdo přesouvá blok textu, například seznam nebo soubor poznámek, mezi dvěma vlastními zařízeními.
Pro text, který má zůstat současně upravitelný více lidmi, se lépe hodí nástroj pro sdílené dokumenty. Pro kód, u něhož je potřeba trvalá historie, se lépe hodí systém správy verzí, například Git.
Omezení a ochrana soukromí
Protože se celý příspěvek nachází v odkazu, praktickým omezením je samotná délka URL, nikoli kapacita úložiště. Prohlížeče si poradí s dlouhými URL, ale mnoho e-mailových programů, chatovacích aplikací a starších systémů velmi dlouhé odkazy zkracuje nebo odmítá, takže mimořádně velké příspěvky nemusí dobře projít každým komunikačním kanálem. Krátkých a středně dlouhých příspěvků se to netýká.
Fragment se nikdy neodesílá serveru, takže samotný nástroj nikdy nezjistí, co bylo vloženo. Každý, kdo má přesný odkaz, jej může otevřít, proto je třeba s odkazem zacházet stejně jako s textem, který obsahuje: nesdílejte tímto způsobem hesla ani jiné citlivé údaje a nezveřejňujte odkaz na místě dostupném veřejnosti, pokud má obsah zůstat soukromý.
Často kladené otázky
Kde je sdílený text skutečně uložen?
Není uložen nikde odděleně od odkazu. Text, zvolený jazyk i doba platnosti jsou zakódovány přímo ve fragmentu odkazu, tedy v části za #. Odkaz je jedinou kopií.
Funguje odkaz na jiném zařízení nebo v jiném prohlížeči? Ano. Protože obsah putuje uvnitř odkazu, každé zařízení, které jej otevře, může obsah dekódovat a zobrazit. Účet ani původní prohlížeč nejsou potřeba.
Co se stane, když vymažu data prohlížeče? Se stávajícími odkazy ke sdílení se nic nestane. Nezávisí na ničem uloženém v prohlížeči, pouze na samotném odkazu. Vymazání dat prohlížeče odstraní jen místní praktickou kopii příspěvků vytvořených na daném zařízení.
Lze příspěvek po vytvoření odkazu upravit? Ne. Pro každou změnu je nutné vytvořit nový odkaz, protože obsah je při vytvoření vložen přímo do odkazu.
Co se stane, když platnost příspěvku vyprší? Otevření odkazu s vypršenou platností zobrazí místo původního textu zprávu, že platnost obsahu vypršela. Odkaz samotný stále existuje; po uplynutí uloženého času vypršení platnosti však již obsah nezobrazuje.
Existuje omezení velikosti? Neexistuje pevný limit úložiště, ale některé e-mailové klienty a chatovací aplikace mohou velmi dlouhé URL odmítnout nebo zkrátit, takže pro velmi velké příspěvky je vhodnější specializovaný nástroj pro sdílení souborů.
Reference
- "UTF-8." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/UTF-8
- "Base64." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Glossary/Base64
- "URL." MDN Web Docs, Mozilla, https://developer.mozilla.org/en-US/docs/Web/API/URL
- "Syntax highlighting." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Syntax_highlighting
- "Unix time." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Unix_time