Перейти до вмісту

Інструмент для обміну текстом - Безкоштовний Paste Bin для фрагментів коду

Миттєво діліться текстом та фрагментами коду за допомогою нашого безкоштовного інструменту paste bin. Функції включають підсвічування синтаксису, налаштування терміну зберігання та унікальні URL-адреси. Реєстрація не потрібна!

Інструмент для обміну текстом

0 символів
Калькулятор завантаження...
📚

Документація

Інструмент обміну текстом (пастебін)

Інструмент обміну текстом, який часто називають пастебіном, — це вебсторінка для публікації блоку тексту або коду й отримання посилання, що показує цей текст кожному, хто його відкриє. Цей інструмент пастебіна повністю працює в браузері, не потребує облікового запису та може додавати необов’язкове підсвічування синтаксису й термін дії посилання.

Як працює інструмент обміну текстом

Більшість сервісів пастебіна зберігають текст на сервері й повертають коротке посилання, яке вказує на рядок у базі даних. Цей інструмент працює інакше. Він не має ні сервера, ні бази даних. Натомість він вбудовує весь текст у саме посилання.

Коли хтось натискає «Створити посилання», інструмент виконує чотири дії:

  1. Створює невеликий об’єкт, що містить текст, вибрану мову та термін дії (або нічого для варіанта «ніколи»).
  2. Перетворює цей об’єкт на один рядок тексту у форматі JSON.
  3. Перетворює JSON на байти, використовуючи кодування UTF-8, яке веб використовує всюди.
  4. Кодує ці байти у форматі base64url — схемі, що перетворює довільні байти на літери, цифри, - і _, щоб результат був безпечним усередині URL.

Закодований текст розміщується після #p= у кінці URL сторінки. Усе після # називається фрагментом. Під час завантаження сторінки браузер ніколи не надсилає фрагмент на сервер, тому вміст пастебіна нікуди не передається. Зчитування посилання відбувається у зворотному порядку: декодувати текст base64url, перетворити байти назад на рядок JSON за допомогою UTF-8 і розібрати JSON, щоб відновити текст, мову та термін дії.

Оскільки фрагмент містить увесь текст пастебіна, спільне посилання працює на будь-якому пристрої або в будь-якому браузері, а не лише на тому, де його створено. Нічого не потрібно шукати. Для відображення вмісту достатньо відкрити посилання — так само як для відкриття завантаженого файлу не потрібно запитувати сервер, що містить цей файл.

Для зручності інструмент також зберігає локальну копію кожного пастебіна у сховищі браузера як чернетку. Ця копія лише допомагає тому самому браузеру знову знаходити власні попередні пастебіни; вона не бере участі у відкритті спільного посилання, і її видалення не пошкоджує жодного спільного посилання, оскільки посилання від неї не залежало.

Підсвічування синтаксису

Підсвічування синтаксису забарвлює частини коду, як-от ключові слова, рядки та коментарі, щоб структуру було легше читати. Інструмент підтримує десять варіантів:

  • Звичайний текст (без підсвічування)
  • JavaScript
  • TypeScript
  • Python
  • Java
  • HTML
  • CSS
  • JSON
  • SQL
  • Bash

Вибрана мова зберігається всередині закодованих даних, тому підсвічування застосовується автоматично під час відкриття посилання, без будь-якого вибору з боку переглядача.

Формула терміну дії

Параметр терміну дії задає абсолютну часову позначку, виміряну в мілісекундах від 1 січня 1970 р. (поширеної в обчислювальній техніці точки відліку, яка називається епохою Unix). Інструмент додає фіксований проміжок часу до моменту створення посилання:

ВаріантДоданий час
Ніколичасова позначка не зберігається
1 година60 × 60 × 1 000 мс
1 день24 × 60 × 60 × 1 000 мс
1 тиждень7 × 24 × 60 × 60 × 1 000 мс
1 місяць30 × 24 × 60 × 60 × 1 000 мс (фіксовані 30 днів, а не календарний місяць)

Наприклад, якщо посилання створено в момент, коли годинник показує 1 700 000 000 000 мс, і автор вибирає «1 тиждень», збережений термін дії буде таким:

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

Коли переглядач відкриває посилання, інструмент порівнює цю збережену часову позначку з поточним часом. Якщо збережений час уже минув, інструмент показує повідомлення «Термін дії цього вмісту минув» замість тексту. Оскільки часова позначка терміну дії передається всередині посилання разом із текстом, ця перевірка однаково працює на будь-якому пристрої.

як пастебін перетворюється на посилання

Припустімо, хтось ділиться звичайним текстом 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! як звичайний текст і відображає його. Сервер ніколи ні про що не запитували.

Як поділитися текстом або кодом

  1. Введіть або вставте текст у текстове поле. Лічильник символів оновлюється під час введення тексту.
  2. За бажанням виберіть мову в меню підсвічування синтаксису.
  3. За бажанням виберіть, як довго посилання має залишатися дійсним.
  4. Натисніть «Створити посилання».
  5. Скопіюйте створене посилання кнопкою «Копіювати посилання» та надішліть його будь-яким зручним способом.

Як переглядати спільний текст

  1. Відкрийте спільне посилання.
  2. Текст з’являється одразу, із підсвічуванням, якщо було вибрано мову.
  3. Використайте «Копіювати текст», щоб скопіювати вміст до буфера обміну.
  4. Використайте «Створити новий», щоб розпочати новий пастебін.

Після створення посилання пастебін не можна редагувати. Для зміни тексту потрібно створити новий пастебін і поширити нове посилання.

Поширене використання

  • Розробники, які діляться фрагментом коду для перевірки або допомоги в налагодженні.
  • Учителі, які діляться початковим кодом або інструкціями.
  • Будь-хто, хто переміщує блок тексту, наприклад список або набір нотаток, між двома власними пристроями.

Для тексту, який кілька людей мають одночасно редагувати, краще підійде інструмент спільної роботи з документами. Для коду, якому потрібна постійна історія змін, краще підійде система керування версіями, наприклад Git.

Обмеження та конфіденційність

Оскільки весь пастебін міститься всередині посилання, практичним обмеженням розміру є довжина самого URL, а не квота сховища. Браузери можуть обробляти довгі URL, але багато поштових програм, чатів і застарілих систем обрізають або відхиляють дуже довгі адреси, тому надзвичайно великі пастебіни можуть погано передаватися деякими каналами. Короткі та середні пастебіни це не стосується.

Фрагмент ніколи не надходить на сервер, тому сам інструмент ніколи не бачить вставленого тексту. Будь-хто, хто має точне посилання, може його відкрити, тому до посилання слід ставитися так само, як до тексту, що в ньому міститься: не передавайте таким способом паролі чи інші конфіденційні дані та не публікуйте посилання у відкритому доступі, якщо вміст має залишатися приватним.

Поширені запитання

Де насправді зберігається спільний текст? Він не зберігається окремо від посилання. Текст, вибрана мова та термін дії безпосередньо закодовані у фрагменті посилання — частині після #. Саме посилання є єдиною копією.

Чи працює посилання на іншому пристрої або в іншому браузері? Так. Оскільки вміст передається всередині посилання, будь-який пристрій, який його відкриває, може декодувати та відобразити вміст. Обліковий запис або початковий браузер не потрібні.

Що станеться, якщо очистити дані браузера? Із наявними спільними посиланнями нічого не станеться. Вони залежать лише від самого посилання, а не від даних, збережених у браузері. Очищення даних браузера лише видаляє локальну зручну копію пастебінів, створених на цьому пристрої.

Чи можна редагувати пастебін після створення посилання? Ні. Для будь-якої зміни потрібно створити нове посилання, оскільки під час створення вміст вбудовується в посилання.

Що відбувається після завершення терміну дії пастебіна? Під час відкриття посилання зі спливлим терміном дії відображається повідомлення про завершення терміну дії вмісту замість початкового тексту. Саме посилання продовжує існувати, але після спливу збереженого терміну дії більше не показує вміст.

Чи існує обмеження розміру? Фіксованого обмеження сховища немає, але деякі поштові клієнти та застосунки для обміну повідомленнями можуть відхиляти або обрізати дуже довгі URL, тому для дуже великих пастебінів краще використовувати спеціальний інструмент обміну файлами.

Джерела

  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." Вікіпедія, Wikimedia Foundation, https://en.wikipedia.org/wiki/Syntax_highlighting
  5. "Unix time." Вікіпедія, Wikimedia Foundation, https://en.wikipedia.org/wiki/Unix_time