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。状态栏会说明是哪一种。
按 EPUB 的 spine(正文顺序)分节,不是按屏幕高度切页:目录直接用书自带的 NCX 或 nav.xhtml,linear="no" 的装饰页会跳过。TXT 按「第X章」「楔子」「番外」这类独立成行的标题自动分章,Markdown 按标题分节。进度记的是「读到第几节」,存在你浏览器的 localStorage 里,只记书名、体积和章节号,不记正文;换浏览器不会同步。
图片默认显示,超出单图 4MB / 单章 24MB 上限的留占位;书自带的 CSS 不加载,排版统一用阅读器的字号行距。链接只保留同一章内的锚点(脚注照常跳),跨章链接和外链一律降级成文字——沙箱不给脚本,留着也是死链。书里指向外部服务器的图片、字体、脚本一律阻断,否则「你在读哪本书」就泄露给了第三方。
能,页面是响应式的,手机上目录折叠成按钮,字号、行距、页宽和主题都能调。微信内置浏览器对文件选择和大文件有限制,如果点「选择文件」没反应,点右上角「···」→「在浏览器打开」再试。