Инструмент за споделяне на текст - Безплатен Paste Bin за кодови фрагменти
Споделяйте текст и кодови фрагменти мигновено с нашия безплатен paste bin инструмент. Функции като синтактично открояване, персонализирано изтичане и уникални URL адреси. Без нужда от регистрация!
Инструмент за споделяне на текст
Документация
Инструмент за споделяне на текст (Paste Bin)
Инструментът за споделяне на текст, често наричан paste bin, е уебстраница за публикуване на блок текст или код и получаване на връзка, която показва този текст на всеки, който я отвори. Този инструмент paste bin работи изцяло в браузъра, не изисква акаунт и може да добавя незадължително оцветяване на синтаксиса и срок на валидност на връзката.
Как работи инструментът за споделяне на текст
Повечето услуги paste bin съхраняват текста на сървър и връщат кратка връзка, която сочи към ред в база данни. Този инструмент работи по различен начин. Той няма сървър и база данни. Вместо това пакетира целия текст директно във връзката.
Когато някой натисне „Създаване на връзка“, инструментът извършва четири действия:
- Създава малък обект, съдържащ текста, избрания език и срока на валидност (или нищо при „никога“).
- Преобразува този обект в един ред JSON текст.
- Преобразува JSON в байтове чрез кодирането UTF-8, което се използва навсякъде в уеб пространството.
- Кодира тези байтове като base64url — схема, която превръща произволни байтове в букви, цифри,
-и_, така че резултатът да е безопасен за използване в URL адрес.
Кодираният текст се поставя след #p= в края на URL адреса на страницата. Всичко след # се нарича фрагмент. Когато зарежда страница, браузърът никога не изпраща фрагмента към сървър, така че съдържанието на paste-а никога не се предава никъде. При обратното прочитане на връзката процесът е същият, но в обратен ред: декодира се текстът base64url, байтовете се преобразуват обратно в JSON низ с UTF-8 и JSON се анализира, за да се възстановят текстът, езикът и срокът на валидност.
Тъй като фрагментът съдържа целия paste, връзката за споделяне работи на всяко устройство или в който и да е браузър, а не само в този, който я е създал. Не е необходимо нищо да се извлича. Достатъчно е да се отвори връзката, за да се покаже съдържанието, както отварянето на изтеглен файл не изисква запитване към сървър какво съдържа файлът.
За удобство инструментът също съхранява локално копие на всеки текстов фрагмент в паметта на браузъра като чернова. Това копие помага само на същия браузър отново да намира собствените си предишни paste-ове; то не участва в отварянето на споделена връзка и изтриването му не поврежда нито една такава връзка, защото тя никога не е зависела от него.
Оцветяване на синтаксиса
Оцветяването на синтаксиса оцветява частите на кода, като ключови думи, низове и коментари, за да се чете по-лесно структурата му. Инструментът поддържа десет опции:
- Обикновен текст (без оцветяване)
- JavaScript
- TypeScript
- Python
- Java
- HTML
- CSS
- JSON
- SQL
- Bash
Избраният език се съхранява в кодираното съдържание, така че оцветяването се прилага автоматично при отваряне на връзката, без потребителят да избира нищо.
Формула за срока на валидност
Опцията за срок на валидност задава абсолютен времеви печат, измерен в милисекунди от 1 януари 1970 г. (обичайна отправна точка в изчислителната техника, наречена Unix епоха). Инструментът добавя фиксиран период към момента на създаване на връзката:
| Опция | Добавено време |
|---|---|
| Никога | не се съхранява времева отметка |
| 1 час | 60 × 60 × 1 000 ms |
| 1 ден | 24 × 60 × 60 × 1 000 ms |
| 1 седмица | 7 × 24 × 60 × 60 × 1 000 ms |
| 1 месец | 30 × 24 × 60 × 60 × 1 000 ms (фиксирани 30 дни, а не календарен месец) |
Например, ако връзката е създадена, когато часовникът показва 1 700 000 000 000 ms, и създателят избере „1 седмица“, съхраненият срок на валидност е:
1 700 000 000 000 + (7 × 24 × 60 × 60 × 1 000) = 1 700 604 800 000 ms
Когато потребител отвори връзката, инструментът сравнява съхранената времева отметка с текущото време. Ако съхраненият момент вече е изминал, инструментът показва съобщението „Това съдържание е с изтекъл срок“ вместо текста. Тъй като времевата отметка за изтичане пътува във връзката заедно с текста, тази проверка работи по един и същ начин на всяко устройство.
Пример с изчисление: как paste-ът се превръща във връзка
Да предположим, че някой споделя обикновения текст Hello, world! без срок на валидност. Инструментът създава този JSON обект, като използва кратки имена на полетата, за да запази връзката компактна:
1{"t":"Hello, world!","l":"plaintext","e":null}
2Той кодира този JSON като UTF-8 байтове, а след това като base64url, което дава:
1eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2Пълната връзка за споделяне е адресът на страницата плюс този токен след #p=:
1https://whiz.tools/en/development/paste-bin-tool#p=eyJ0IjoiSGVsbG8sIHdvcmxkISIsImwiOiJwbGFpbnRleHQiLCJlIjpudWxsfQ
2Всеки, който отвори тази връзка, вижда как браузърът декодира токена, прочита Hello, world! като обикновен текст и го показва. Сървър никога не е бил запитван за нищо.
Как се споделя текст или код
- Въведете или поставете текста в текстовото поле. Броят на знаците се актуализира при въвеждане.
- По желание изберете език от менюто за оцветяване на синтаксиса.
- По желание изберете колко дълго да остане валидна връзката.
- Натиснете „Създаване на връзка“.
- Копирайте генерираната връзка с бутона „Копиране на връзката“ и я изпратете по предпочитан начин.
Как се преглежда споделен текст
- Отворете споделената връзка.
- Текстът се появява незабавно, с оцветяване, ако е избран език.
- Използвайте „Копиране на текста“, за да копирате съдържанието в клипборда.
- Използвайте „Създаване на нов“, за да започнете нов paste.
Paste-ът не може да се редактира след създаването на връзката. Промяната на текста изисква създаване на нов paste и споделяне на новата връзка.
Обичайни приложения
- Разработчици, които споделят откъс от код за преглед или помощ при отстраняване на грешки.
- Учители, които споделят начален код или инструкции.
- Всеки, който прехвърля блок текст, например списък или набор от бележки, между свои устройства.
За текст, който трябва да остане редактируем от няколко души едновременно, по-подходящ е инструмент за споделени документи. За код, който се нуждае от постоянна история на промените, по-подходяща е система за контрол на версиите като Git.
Ограничения и поверителност
Тъй като целият paste се намира във връзката, практическото ограничение за размера е дължината на самия URL адрес, а не квота за съхранение. Браузърите могат да обработват дълги URL адреси, но много имейл програми, чат приложения и по-стари системи съкращават или отхвърлят прекалено дългите адреси, така че изключително големи paste-ове може да не се предават добре по всеки канал. Кратките и средните paste-ове не са засегнати.
Фрагментът никога не се изпраща към сървър, така че самият инструмент никога не научава какво е било поставено. Всеки, който разполага с точната връзка, може да я отвори, затова връзката трябва да се третира по същия начин като съдържащия се в нея текст: не споделяйте пароли или други чувствителни данни по този начин и не публикувайте връзката на публично място, ако съдържанието трябва да остане поверително.
Често задавани въпроси
Къде всъщност се съхранява споделеният текст?
Той не се съхранява никъде отделно от връзката. Текстът, избраният език и срокът на валидност са кодирани директно във фрагмента на връзката — частта след #. Самата връзка е единственото копие.
Работи ли връзката на друго устройство или в друг браузър? Да. Тъй като съдържанието пътува във връзката, всяко устройство, което я отвори, може да го декодира и покаже. Не са необходими акаунт или оригиналният браузър.
Какво се случва, ако изчистя данните на браузъра? Съществуващите връзки за споделяне не се променят. Те не зависят от нищо, съхранено в браузъра, а само от самата връзка. Изчистването на данните на браузъра премахва единствено локалното удобно копие на paste-овете, създадени на това устройство.
Мога ли да редактирам paste след създаването на връзката? Не. За всяка промяна трябва да се създаде нова връзка, тъй като съдържанието се вгражда във връзката при създаването ѝ.
Какво се случва, когато изтече срокът на текстовия фрагмент? При отваряне на връзка с изтекъл срок се показва съобщение, че съдържанието е с изтекъл срок, вместо оригиналният текст. Самата връзка продължава да съществува; тя просто вече не показва съдържанието, след като съхранената времева отметка за изтичане е преминала.
Има ли ограничение за размера? Няма фиксирано ограничение за съхранение, но някои имейл клиенти и приложения за съобщения могат да отхвърлят или съкратят много дълги URL адреси, така че много големите paste-ове са по-подходящи за специализиран инструмент за споделяне на файлове.
Източници
- "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