Читалка EPUB
Перетащи EPUB / TXT / Markdown и читай · оглавление самой книги · настройка кегля, интервала и темы
选一个文件(≤200MB)
点击选择或拖拽一个 .epub / .txt / .md 到此处
支持 EPUB 2 / EPUB 3、TXT(自动识别 UTF-8 与 GB18030/GBK/Big5)、Markdown;条目 ≤8000、单条目 ≤60MB、单章文本 ≤1200 万字符。 带 DRM 的文件读不了——本站不做解密与破解。
← / → 翻页。正文在沙箱 iframe 里渲染,书自带的脚本、表单、远程引用一律阻断;进度只记「读到第几节」,存在你本机浏览器。
读一本陌生 EPUB 之前,值得知道这四件事
EPUB 就是一个 zip,「能不能读」取决于 OPF 而不是后缀名。
本页先按 META-INF/container.xml 找到 OPF(package),再按 <spine> 决定正文顺序,
linear="no" 的装饰页会跳过;目录优先用 EPUB 3 的 nav.xhtml,退回 EPUB 2 的 NCX。
所以后缀写着 .epub 但缺 container.xml 的文件,本站会明确告诉你缺了什么,而不是渲染出一个空白页。
正文进的是沙箱,不是你的页面。
渲染用的 <iframe> 的 sandbox 属性是空值:不给 allow-scripts、
也不给 allow-same-origin,书里的脚本执行不了、也读不到本页的任何内容。
在此之上还有一层白名单重建:非白名单标签拆掉但保留文字,事件属性、srcdoc、formaction 全部丢弃,
内联样式只留排版子集。
阻断远程引用主要是隐私问题,不只是 XSS。
一本书如果能把 <img src="http://第三方/像素.gif"> 带进你的屏幕,就等于把你的 IP、阅读时间
和「此刻正在读哪本书」一并交给了那个第三方服务器。所以 http/https、协议相对 //、
data:text/html 之类的引用一律不发请求;书自带的图片改为在本机转成内联数据后显示。
DRM 不在能力范围内,也不在打算做的范围内。 azw3 / kfx / 加密 EPUB 的解锁意味着破解,与 PDF 去密码只做「用户自己提供密码」是同一条线。 这类文件请回到购买它的阅读器里打开;本站也可以把 Word 文档转成纯文本再读,但不碰加密。
Частые вопросы
Нет. EPUB, TXT и Markdown разворачиваются, верстаются и рисуются на вашем же устройстве, стоит бросить их в браузер - ни единого запроса: на странице вообще нет точки загрузки и содержимое текста она не разглядывает. Картинки внутри EPUB точно так же становятся встроенными данными на вашей машине, без обратных скачиваний с источника.
Четыре обычных причины: на нём DRM (kindle-овские azw3 / kfx и шифрованные EPUB из книжных магазинов) - сайт не вскрывает и не взламывает, открывайте в том ридере, где покупали; это на деле mobi / fb2 / pdf, а страница читает только EPUB, TXT и Markdown; скачивание оборвалось или zip повреждён; или файл сделан криво - без META-INF/container.xml или OPF. Строка статуса скажет, какой из четырёх случаев.
Книга делится по spine EPUB - порядку чтения, - а не рубкой по высоте экрана: оглавление берётся из собственного NCX или nav.xhtml книги, декоративные страницы с linear=no пропускаются. TXT режется по заголовкам, стоящим отдельной строкой (Глава X, Пролог, Бонус и подобное), Markdown - по заголовкам. Прогресс помнит, до какой секции вы дочитали, и лежит в localStorage браузера - только название, размер и номер секции, ни слова из текста - и между браузерами не синхронизируется.
Картинки показываются по умолчанию; превысившие потолок 4МБ на картинку или 24МБ на главу оставляют заглушку. Собственная CSS книги не загружается - типографика единообразно берёт кегль и интерлиньяж читалки. Из ссылок живут только якоря внутри той же главы (сноски скачут как надо), межглавные и внешние ссылки обращаются в простой текст - песочница скриптов не выдаёт, всё равно были бы мёртвые ссылки. Картинки, шрифты и скрипты на внешние серверы блокируются наотрез - иначе то, какую книгу вы читаете, утекло бы третьим лицам.
Да - страница отзывчивая: на телефоне оглавление сворачивается в кнопку, кегль, интерлиньяж, ширина полосы и тема настраиваются. Встроенный браузер WeChat ограничивает выбор файлов и большие размеры; если нажатие «выбрать файл» не даёт реакции, воспользуйтесь меню из трёх точек вверху справа и откройте в настоящем браузере.