[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4284":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":36,"trendingCount":16,"starSnapshotCount":16,"syncStatus":37,"lastSyncTime":38,"discoverSource":39},4284,"so-novel","freeok\u002Fso-novel","freeok","小说下载｜网文下载 | 网络小说","",null,"Java",6957,558,18,19,0,6,48,223,36,39.24,"GNU Affero General Public License v3.0",false,"main",true,[27,28,29,30,31,32,33],"cli","content-export","document-parser","ebook","novel","offline-reader","tui","2026-06-12 02:01:01","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"assets\u002Flogo.png\" style=\"width: 128px;\"\u002F>\n  \u003Ch1 align=\"center\">So Novel\u003C\u002Fh1>\n  \u003Ch4 align=\"center\">\u003C\u002Fh4>\n\u003C\u002Fdiv>\n\n\u003Cdiv align=\"center\">\n\n[![zread](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAsk_Zread-_.svg?style=flat&color=00b0aa&labelColor=000000&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQuOTYxNTYgMS42MDAxSDIuMjQxNTZDMS44ODgxIDEuNjAwMSAxLjYwMTU2IDEuODg2NjQgMS42MDE1NiAyLjI0MDFWNC45NjAxQzEuNjAxNTYgNS4zMTM1NiAxLjg4ODEgNS42MDAxIDIuMjQxNTYgNS42MDAxSDQuOTYxNTZDNS4zMTUwMiA1LjYwMDEgNS42MDE1NiA1LjMxMzU2IDUuNjAxNTYgNC45NjAxVjIuMjQwMUM1LjYwMTU2IDEuODg2NjQgNS4zMTUwMiAxLjYwMDEgNC45NjE1NiAxLjYwMDFaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00Ljk2MTU2IDEwLjM5OTlIMi4yNDE1NkMxLjg4ODEgMTAuMzk5OSAxLjYwMTU2IDEwLjY4NjQgMS42MDE1NiAxMS4wMzk5VjEzLjc1OTlDMS42MDE1NiAxNC4xMTM0IDEuODg4MSAxNC4zOTk5IDIuMjQxNTYgMTQuMzk5OUg0Ljk2MTU2QzUuMzE1MDIgMTQuMzk5OSA1LjYwMTU2IDE0LjExMzQgNS42MDE1NiAxMy43NTk5VjExLjAzOTlDNS42MDE1NiAxMC42ODY0IDUuMzE1MDIgMTAuMzk5OSA0Ljk2MTU2IDEwLjM5OTlaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik0xMy43NTg0IDEuNjAwMUgxMS4wMzg0QzEwLjY4NSAxLjYwMDEgMTAuMzk4NCAxLjg4NjY0IDEwLjM5ODQgMi4yNDAxVjQuOTYwMUMxMC4zOTg0IDUuMzEzNTYgMTAuNjg1IDUuNjAwMSAxMS4wMzg0IDUuNjAwMUgxMy43NTg0QzE0LjExMTkgNS42MDAxIDE0LjM5ODQgNS4zMTM1NiAxNC4zOTg0IDQuOTYwMVYyLjI0MDFDMTQuMzk4NCAxLjg4NjY0IDE0LjExMTkgMS42MDAxIDEzLjc1ODQgMS42MDAxWiIgZmlsbD0iI2ZmZiIvPgo8cGF0aCBkPSJNNCAxMkwxMiA0TDQgMTJaIiBmaWxsPSIjZmZmIi8%2BCjxwYXRoIGQ9Ik00IDEyTDEyIDQiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K&logoColor=ffffff)](https:\u002F\u002Fzread.ai\u002Ffreeok\u002Fso-novel)\n[![GitHub License](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Ffreeok\u002Fso-novel?style=flat-square)](https:\u002F\u002Fgithub.com\u002Ffreeok\u002Fso-novel\u002Fblob\u002Fmain\u002FLICENSE)\n[![Latest Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Ffreeok\u002Fso-novel)](https:\u002F\u002Fgithub.com\u002Ffreeok\u002Fso-novel\u002Freleases\u002Flatest)\n[![GitHub Downloads](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Ffreeok\u002Fso-novel\u002Ftotal.svg?style=flat-square)](https:\u002F\u002Fgithub.com\u002Ffreeok\u002Fso-novel\u002Freleases\u002Flatest)\n\n\u003C\u002Fdiv>\n\n## 概述\n\n**So Novel** 是一款通用的网页内容处理与导出工具，它致力于帮助用户高效地从网页中提取结构化信息，并将其灵活导出为\nEPUB、TXT、PDF 等多种标准电子文档格式。适用于学习采集、格式转换、电子书制作等场景。\n\n## 预览\n\n\u003Cdetails>\n  \u003Csummary>点击查看图片\u003C\u002Fsummary>\n\n### TUI 预览 (Text-based User Interface)\n\n![preview-tui.png](assets\u002Fpreview-tui.png)\n\n### WebUI 预览 (网页版)\n\n![preview-webui.png](assets\u002Fpreview-webui.png)\n\n### CLI 预览 (Command Line Interface)\n\n![preview-cli.png](assets\u002Fpreview-cli.png)\n\n\u003C\u002Fdetails>\n\n## 使用\n\n### 📦 普通安装\n\n1. 下载最新版 https:\u002F\u002Fgithub.com\u002Ffreeok\u002Fso-novel\u002Freleases\n2. 根据 [readme.txt](bundle%2Freadme.txt) 使用\n\n### 🍨 Scoop\n\n```bash\nscoop bucket add freeok https:\u002F\u002Fgithub.com\u002Ffreeok\u002Fscoop-bucket\nscoop install freeok\u002Fso-novel\n```\n\n### 🍺 Homebrew\n\n```bash\nbrew tap ownia\u002Fhomebrew-ownia\nbrew install so-novel\n```\n\n### 🐧 Linux\n\n```bash\nbash \u003C(curl -sSL https:\u002F\u002Fraw.githubusercontent.com\u002Ffreeok\u002Fso-novel\u002Fmain\u002Fbin\u002Flinux-install.sh)\n```\n\n### 🐳 Docker\n\n**方式 1：脚本一键安装**\n\n```bash\ncurl -sSL https:\u002F\u002Fraw.githubusercontent.com\u002Ffreeok\u002Fso-novel\u002Fmain\u002Fbin\u002Fdocker-install.sh | bash\n```\n\n**方式 2：Docker Compose**\n\n```yaml\nservices:\n  sonovel:\n    image: ghcr.io\u002Ffreeok\u002Fsonovel:latest\n    container_name: sonovel\n    ports:\n      - \"7765:7765\"\n    environment:\n      JAVA_OPTS: \"-Dmode=web\"\n    volumes:\n      - sonovel_data:\u002Fsonovel\n    restart: unless-stopped\n\nvolumes:\n  sonovel_data:\n```\n\n**方式 3：直接运行容器**\n\n```bash\n# 如需挂载，请提前准备好 config.ini 文件、rules 目录\ndocker run -d \\\n  --name sonovel \\\n  -v \u002Fsonovel\u002Fconfig.ini:\u002Fsonovel\u002Fconfig.ini \\\n  -v \u002Fsonovel\u002Frules:\u002Fsonovel\u002Frules \\\n  -v \u002Fsonovel\u002Fdownloads:\u002Fsonovel\u002Fdownloads \\\n  -p 7765:7765 \\\n  -e JAVA_OPTS='-Dmode=web' \\\n  ghcr.io\u002Ffreeok\u002Fsonovel:latest\n```\n\n**方式 4：从源码构建镜像**\n\n```bash\n# 确保已安装 git、maven\n# arch: [x64|arm64]\n\n# 构建项目\ngit clone https:\u002F\u002Fgithub.com\u002Ffreeok\u002Fso-novel.git && cd so-novel\nsh bin\u002Frelease-linux.sh [arch]\n\n# 构建 Docker 镜像\ncp -r target\u002Fsonovel-linux_[arch]\u002F{app.jar,config.ini,rules} .\ndocker build -t sonovel .\n```\n\n> [!TIP]\n>\n> 为获得最佳阅读体验，建议使用以下电子书阅读器：\n>\n> **桌面端**\n>\n> - [Readest](https:\u002F\u002Freadest.com\u002F)\n> - [Koodo Reader](https:\u002F\u002Fwww.koodoreader.com\u002Fzh)\n> - [Calibre](https:\u002F\u002Fcalibre-ebook.com\u002F)\n> - [Neat Reader（网页版）](https:\u002F\u002Fwww.neat-reader.cn\u002Fwebapp)\n>\n> **移动端**\n>\n> - [Readest](https:\u002F\u002Freadest.com\u002F)\n> - [Apple Books](https:\u002F\u002Fwww.apple.com\u002Fapple-books\u002F)\n> - [Moon+ Reader（静读天下）](https:\u002F\u002Fmoondownload.com\u002Fchinese.html)\n> - [Kindle](https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Famazon-kindle\u002Fid302584613)\n>\n> 如需转换为其它电子书格式，可使用：\n>\n> - [FreeConvert](https:\u002F\u002Fwww.freeconvert.com\u002Fzh)\n> - [Calibre](https:\u002F\u002Fcalibre-ebook.com\u002Fzh_CN)\n> \n> 修复 WPS、掌阅等软件无法打开 so-novel 下载的 EPUB：https:\u002F\u002Fgithub.com\u002Ffreeok\u002Fso-novel\u002Fdiscussions\u002F199\n\n## 自定义 JVM 系统属性\n\n| 参数            | 说明                     | 默认值          |\n|---------------|------------------------|--------------|\n| -Dconfig.file | 配置文件路径                 | .\u002Fconfig.ini |\n| -Dmode        | 启动模式，可选值：tui\\|cli\\|web | tui          |\n\n用法\n\n> [!NOTE]\n>\n> Windows 修改 [sonovel.l4j.ini](bundle\u002Fsonovel.l4j.ini)\n>\n> Linux 修改  [run-linux.sh](bundle\u002Frun-linux.sh)\n>\n> macOS 修改  [run-macos.sh](bundle\u002Frun-macos.sh)\n\n## 使用本地 JDK \u002F JRE 启动\n\n如果你不想使用内置 JRE（runtime 目录），可以通过本地 JDK \u002F JRE 启动程序\n\nWindows 使用脚本 start-custom-jre.cmd：\n\n```cmd\nREM --------------------------------------------------\nREM 高级用户使用自定义 JRE 启动程序\nREM 将 \"your_path\\java.exe\" 替换为你的 JRE 路径，例如：\nREM \"C:\\Java\\jdk-21\\bin\\java.exe\"\nREM --------------------------------------------------\n@echo off\nyour_path\\java.exe ^\n  -XX:+UseZGC ^\n  -XX:+ZGenerational ^\n  -Dconfig.file=config.ini ^\n  -Dmode=tui ^\n  -Dfile.encoding=GBK|Big5 ^\n  -jar app.jar\n```\n\nLinux \u002F macOS：[run-linux.sh](bundle\u002Frun-linux.sh) \u002F [run-macos.sh](bundle\u002Frun-macos.sh) 修改 java 路径\n\n## 常见问题\n\nhttps:\u002F\u002Fgithub.com\u002Ffreeok\u002Fso-novel\u002Fissues?q=label%3A%22usage%20question%22\n\n## 讨论\n\nhttps:\u002F\u002Fgithub.com\u002Ffreeok\u002Fso-novel\u002Fdiscussions?discussions_q=\n\n## 支持 & 赞助\n\n如果觉得有所帮助，欢迎扫码赞助☕、点击项目主页顶部的⭐Star 按钮支持！\n\n🚀这将是我们持续更新的动力源泉！同时，你也能第一时间获取到最新的更新动态。💡❤️\n\n| 支付宝赞助                                                           | 微信赞助                                                           |\n|-----------------------------------------------------------------|----------------------------------------------------------------|\n| \u003Cimg src=\"assets\u002Fdonation-alipay.png\" alt=\"支付宝收款码\" width=\"197\"> | \u003Cimg src=\"assets\u002Fdonation-wechat.jpg\" alt=\"微信赞赏码\" width=\"197\"> |\n\n[项目赞助者列表](.\u002FSPONSORS.md)\n\n## 免责声明\n\n在使用本工具前，请务必仔细阅读我们的[法律免责声明](bundle\u002FDISCLAIMER.md)。使用本工具即表示您已阅读、理解并同意遵守所有条款。\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=freeok\u002Fso-novel&type=Date)](https:\u002F\u002Fstar-history.com\u002F#freeok\u002Fso-novel&Date)","So Novel 是一款用于下载和转换网络小说的工具，支持将网页内容导出为EPUB、TXT、PDF等多种格式。它具备强大的文档解析能力，能够从复杂的网页结构中提取文本，并通过命令行界面（CLI）、基于文本的用户界面（TUI）或网页版界面（WebUI）提供灵活的操作方式。该工具非常适合需要批量收集在线阅读材料、进行格式转换或是自制电子书的个人及团队使用。",2,"2026-06-11 02:59:26","top_language"]