Как работает LeedyBox
Как LeedyBox обрабатывает изображения, PDF-файлы, данные и текст в вашем браузере, на какие библиотеки и возможности браузера опираются инструменты и какие части страницы всё же используют сеть.
Обработка файлов в браузере
Инструменты LeedyBox работают как JavaScript в вашем браузере. Когда вы выбираете файл или вводите текст, браузер читает его на вашем устройстве, а обработка выполняется на вашем компьютере или телефоне. Файлы и текст не загружаются на сервер LeedyBox для обработки. Многие инструменты используют стандартные возможности браузера: Canvas API для изображений, Web Crypto API для хешей, паролей и UUID, Intl.Segmenter для подсчёта слов и API дат Intl для часовых поясов. OCR в инструментах «PDF в текст» и «Изображение в текст» использует Tesseract.js, который выполняет код WebAssembly внутри браузера.
Что происходит с вашими файлами?
- Вы выбираете файл на устройстве или перетаскиваете его на страницу либо вводите или вставляете текст в инструмент.
- Браузер загружает файл в память текущей страницы.
- Инструмент конвертирует, редактирует, объединяет, разделяет или читает файл с помощью JavaScript-библиотек, работающих на вашем устройстве.
- Результат создаётся в браузере и показывается на странице или предлагается для скачивания. Время зависит от входных данных и устройства.
- Кнопка копирования записывает результат в буфер обмена только тогда, когда вы её нажимаете.
- При закрытии или перезагрузке страницы файлы, текст и созданные значения, хранившиеся в её памяти, удаляются.
Библиотеки каждого инструмента
Некоторые инструменты построены на библиотеках с открытым исходным кодом, другие используют только собственные скрипты LeedyBox и встроенные возможности браузера. Все библиотеки вместе с нужными им данными (таблицами шрифтов, языковыми данными OCR, моделями) загружаются с самого leedybox.com в фиксированной версии; страницы инструментов не загружают код из публичных сетей доставки контента (CDN). Запрашиваются только код и данные библиотек; обрабатываемые вами файлы и текст в эти запросы не входят.
| Инструмент | Библиотеки | Откуда загружаются |
|---|---|---|
| Конвертер изображений | Canvas API браузера, кодировщик BMP/ICO от LeedyBox, JSZip (для пакетной загрузки) | leedybox.com |
| Изменение размера изображений, Поворот и отражение изображений | Canvas API браузера, JSZip (для пакетной загрузки) | leedybox.com |
| Обрезка изображения | Canvas API браузера (без сторонних библиотек) | leedybox.com |
| Сжатие изображений | Canvas API браузера, UPNG.js 2.1.0 и pako 1.0.11 (лицензия MIT, уменьшение числа цветов в PNG), JSZip (для пакетной загрузки) | leedybox.com |
| Удаление EXIF-данных | Модуль LeedyBox для чтения и очистки метаданных (данные изображения копируются без перекодирования), JSZip (для пакетной загрузки) | leedybox.com |
| Изображение в текст (OCR) | Tesseract.js (движок OCR и языковые данные) | leedybox.com |
| Генератор фавиконов | Canvas API браузера, кодировщик ICO от LeedyBox, JSZip (для ZIP-архива) | leedybox.com |
| Фото на документы | MediaPipe Tasks Vision 0.10.35 (лицензия Apache 2.0) с моделями Face Landmarker и Selfie Segmenter, Canvas API браузера | leedybox.com (собственный хостинг) |
| Генератор QR-кодов и штрихкодов | qrcode-generator 1.4.4, JsBarcode 3.11.6 (лицензия MIT) | leedybox.com (собственный хостинг) |
| PDF в JPG | PDF.js, JSZip | leedybox.com |
| JPG в PDF | jsPDF, SortableJS | leedybox.com |
| PDF в текст | PDF.js, Tesseract.js (движок OCR и языковые данные) | leedybox.com |
| Объединение, разделение и сжатие PDF | PDF.js, pdf-lib, JSZip (разделение PDF) | leedybox.com |
| Упорядочить страницы PDF, Повернуть PDF | PDF.js (миниатюры страниц), pdf-lib, SortableJS (упорядочивание страниц PDF) | leedybox.com |
| Водяной знак в PDF, Нумерация страниц PDF | PDF.js (предпросмотр), pdf-lib; текст в системах письма, которые не поддерживаются стандартными шрифтами PDF, отрисовывается шрифтами вашего устройства и добавляется как изображение | leedybox.com |
| Конвертер данных | js-yaml, PapaParse, скрипт инструментов для данных LeedyBox | leedybox.com |
| Base64 / URL / JWT, Разбор cron, Тестер RegEx | Скрипт инструментов для данных LeedyBox и встроенные возможности браузера (без сторонних библиотек) | leedybox.com |
| Генератор хешей | MD5 — в собственном скрипте страницы; SHA-1, SHA-256, SHA-384, SHA-512 и HMAC — через Web Crypto API браузера | leedybox.com |
| Генератор паролей и UUID | Web Crypto API (crypto.getRandomValues и crypto.randomUUID) |
leedybox.com |
| Конвертер Unix-времени | Браузерные API Intl для дат и часовых поясов и BigInt (без сторонних библиотек) |
leedybox.com |
| Проверка DNI, NIE и NIF, Проверка TC Kimlik, Проверка ИНН и СНИЛС, Проверка CPF и CNPJ, Проверка IBAN, Расчёт codice fiscale | Модули проверки номеров LeedyBox (без сторонних библиотек); тестовые номера через crypto.getRandomValues браузера; форматы IBAN из реестра IBAN SWIFT в файле данных на сервере LeedyBox; коды мест для codice fiscale из таблиц ANPR Министерства внутренних дел Италии в файле данных, который загружается только когда он нужен этому инструменту |
leedybox.com |
| Счётчик слов и символов | Intl.Segmenter браузера |
leedybox.com |
| Конвертер регистра, Сравнение текста, Генератор Lorem Ipsum | Скрипт инструментов для данных LeedyBox (без сторонних библиотек) | leedybox.com |
| Сумма прописью | Модули LeedyBox для записи чисел прописью (без сторонних библиотек); Intl.NumberFormat и Intl.DisplayNames браузера |
leedybox.com |
| Полноширинные ↔ полуширинные | Текстовые модули LeedyBox (без сторонних библиотек); String.prototype.normalize() браузера |
leedybox.com |
| Вьетнамский без диакритики | Текстовые модули LeedyBox (без сторонних библиотек); String.prototype.normalize() браузера |
leedybox.com |
| Генератор slug | Текстовые модули LeedyBox (без сторонних библиотек); String.prototype.normalize() браузера |
leedybox.com |
| Корейские имена латиницей | Текстовые модули LeedyBox (без сторонних библиотек) | leedybox.com |
| Транслитерация на латиницу | Текстовые модули LeedyBox (без сторонних библиотек) | leedybox.com |
| Упрощённые ↔ традиционные иероглифы | opencc-js 1.4.2 (лицензия MIT) со словарями OpenCC (Apache License 2.0) | leedybox.com |
| Расшифровка аудио в текст | Transformers.js 4.3.1 (Apache License 2.0), ONNX Runtime Web (лицензия MIT) и модели Whisper base, small и large-v3-turbo (лицензия MIT) | leedybox.com |
| Конвертер японских эпох | Модули дат LeedyBox (без сторонних библиотек); даты выводятся через Intl-форматирование браузера | leedybox.com |
| Тайский буддийский год | Модули дат LeedyBox (без сторонних библиотек); даты выводятся через Intl-форматирование браузера | leedybox.com |
| Конвертер лунного календаря | Модули дат LeedyBox с таблицами месяцев по данным KASI и Гонконгской обсерватории (без сторонних библиотек); даты выводятся через Intl-форматирование браузера | leedybox.com |
| Корейский возраст | Модули дат LeedyBox с таблицей корейских лунных месяцев по данным KASI (без сторонних библиотек); даты и формы множественного числа — через Intl браузера | leedybox.com |
| Калькулятор НДС | Модуль НДС LeedyBox (без сторонних библиотек): точный расчёт на BigInt браузера, суммы и валюты через Intl.NumberFormat; таблица ставок (vat-rates.json, около 35 КБ) загружается при открытии страницы | leedybox.com |
| Калькулятор процентов | Расчётный модуль LeedyBox (без сторонних библиотек); числа, валюты и даты в формате Intl браузера | leedybox.com |
| Кредитный калькулятор | Расчётный модуль LeedyBox (без сторонних библиотек); числа, валюты и даты в формате Intl браузера | leedybox.com |
| Калькулятор сложных процентов | Расчётный модуль LeedyBox (без сторонних библиотек); числа, валюты и даты в формате Intl браузера | leedybox.com |
| Калькулятор ИМТ | Расчётный модуль LeedyBox (без сторонних библиотек); таблица стандартов (bmi-standards.json, около 7 КБ) загружается при открытии страницы | leedybox.com |
| Калькулятор калорий | Расчётный модуль LeedyBox (без сторонних библиотек); формулы (energy-equations.json, около 8 КБ) загружаются при открытии страницы | leedybox.com |
| Калькулятор возраста | Расчётный модуль LeedyBox (без сторонних библиотек); числа, валюты и даты в формате Intl браузера | leedybox.com |
Страницы инструментов также загружают скрипт Tailwind CSS (версия 3.4.17) с leedybox.com для оформления. Тексты лицензий библиотек находятся в файле LICENSES.txt.
Почему важна локальная обработка
При обработке на вашем устройстве файлу не нужно отправляться на сервер конвертации и ждать в очереди, а LeedyBox никогда не получает его копию. Это также значит, что результат зависит от устройства: компьютер с большим объёмом памяти справится с более крупными файлами, чем старый телефон.
Ограничения браузера
Поскольку обработка опирается на ресурсы устройства, производительность зависит от доступной памяти, возможностей браузера, скорости процессора и сложности файла. Очень большим или сложным файлам нужно больше памяти и времени. Если вкладке не хватит памяти, браузер может остановить страницу; обычно помогает разбить работу на файлы поменьше. Некоторые выходные форматы также зависят от того, что умеет кодировать ваш браузер.
Конфиденциальность и сетевые запросы
Локальная обработка оставляет файлы на вашем устройстве, но сама веб-страница всё равно использует сеть: она загружает свой HTML, стили и скрипты и перечисленные выше библиотеки — всё с leedybox.com, — а также загружает Google Analytics и Google AdSense, которые сохраняют cookie, только если вы их приняли. Cloudflare, на котором размещён сайт, также измеряет скорость загрузки страниц (Cloudflare Web Analytics, без cookie). Ни один из этих запросов не содержит ни содержимого обрабатываемых файлов и текста, ни созданных вами паролей, UUID, хешей и кодов.
Инструменты «PDF в текст» и «Изображение в текст» скачивают движок OCR и языковые данные с leedybox.com, когда те впервые понадобятся. Tesseract.js сохраняет скачанные языковые данные в хранилище IndexedDB вашего браузера, чтобы их не нужно было скачивать повторно; удалить их можно, очистив данные этого сайта в браузере.
Инструмент «Фото на документы» при выборе первого фото загружает с leedybox.com библиотеку MediaPipe, её среду WebAssembly и модель распознавания лица — около 7 МБ (в распакованном виде около 15 МБ). Вторая, небольшая модель (0,25 МБ) загружается, только если вы заменяете фон. Они хранятся только в обычном кэше браузера; ваше фото никуда не отправляется.
Конвертер упрощённых и традиционных иероглифов загружает opencc-js и словари выбранного преобразования с leedybox.com, когда вы начинаете им пользоваться: до 100 КБ для перевода из традиционных и около 1,1 МБ для перевода в традиционные. Ваш текст никуда не отправляется.
Расшифровка аудио в текст при запуске первой расшифровки загружает с leedybox.com Transformers.js, движок ONNX Runtime на WebAssembly и выбранную модель Whisper: около 90 МБ для base, 250 МБ для small или 750 МБ для large-v3-turbo, которая работает на видеокарте через WebGPU. Они сохраняются в Cache Storage браузера, чтобы не скачивать их заново; инструмент показывает их объём и может их удалить. Части страницы, которая запускает модель, запрещено обращаться к другим сайтам, а ваша запись никуда не отправляется.
См. также: Политика конфиденциальности · Политика использования cookie
Часто задаваемые вопросы
Значит ли локальная обработка, что никакие данные никуда не отправляются?
Ваши файлы и текст не загружаются в LeedyBox для обработки. Но страница всё же выполняет обычные веб-запросы: скачивает свои файлы и нужные библиотеки с leedybox.com, отправляет запросы Google Analytics и AdSense (могут ли они сохранять cookie, зависит от вашего согласия), а Cloudflare измеряет время загрузки страницы. Эти запросы не содержат содержимого ваших файлов или текста.
Почему один и тот же PDF ведёт себя по-разному на разных устройствах?
Обработка на стороне клиента зависит от доступной памяти устройства, движка отрисовки браузера, скорости процессора и установленных системных шрифтов. Разница в оборудовании или версиях браузера может изменить скорость обработки, а иногда и то, как отрисовывается страница.
Работают ли инструменты офлайн?
Не гарантированно. Сначала нужно загрузить страницу и её библиотеки, а «PDF в текст» и «Изображение в текст» скачивают языковые данные OCR, когда они понадобятся впервые.