zsyo/go-novel

By zsyo

Updated 10 months ago

这是一个用Go语言重新实现的So Novel小说下载器,旨在减少服务器资源占用

Image
Networking
Web servers
1

8.0K

zsyo/go-novel repository overview

Go Novel (So Novel Go 重写版)

仓库标识

• 仓库名称:zsyo/go-novel

• 对应 GitHub:https://github.com/zsyo/go-novel

• 原 Java 项目:https://github.com/freeok/so-novel

核心特性

  1. 语言重构

    使用 Go 语言重写原 Java 项目,提升执行效率与资源利用率,降低服务器内存占用。

  2. 规则兼容性

    尽量还原原 Java 版本的爬虫规则与配置逻辑,无缝迁移现有规则库。

  3. 容器化优化

    • 单镜像支持多配置模式(独立配置目录、下载目录)

    • 默认暴露端口 7765,支持反向代理集成

Web UI 界面预览

以下是本项目的Web UI界面预览:

Web UI 搜索界面

Web UI 搜索界面

Web UI 下载界面

Web UI 下载界面

界面功能包括:

  1. 书籍搜索:在搜索框中输入书名或作者名,点击搜索按钮进行聚合搜索
  2. 书籍下载:在搜索结果中选择书籍,点击下载按钮开始下载
  3. 本地书籍管理:查看已下载的书籍列表,支持下载和删除操作
  4. 实时进度显示:下载过程中显示实时进度条

镜像使用指南

基础运行
docker run -d --user=$(id -u):$(id -g) -p 7765:7765 --name so-novel zsyo/go-novel:latest

• 功能:默认加载内置配置,数据存储在容器内,如需挂载配置和规则,请通过以下命令下载配置文件压缩包并解压。

wget https://raw.githubusercontent.com/zsyo/go-novel/main/assets/configs.tar.gz

tar -zxvf configs.tar.gz
高级配置
场景命令示例说明
挂载配置目录docker run ... -v $(pwd)/configs:/app/configs ...覆盖默认配置文件
指定下载路径docker run ... -v $(pwd)/downloads:/app/downloads ...持久化存储下载内容
混合挂载docker run ... -v $(pwd)/configs/config.ini:/app/configs/config.ini ...精细化控制配置与规则分离
配置管理
  1. 配置文件结构
   /app/configs
   ├── config.ini      # 主配置(端口、日志级别等)
   └── rules/          # 爬虫规则(JSON/YAML 格式)
  1. 自定义规则

    • 修改 config.ini 调整全局参数

    • 在 rules/ 目录下添加 JSON 文件定义新规则

维护与贡献

• 更新日志:通过 GitHub Release 标记版本变更

• 问题反馈:GitHub Issues 优先处理容器化相关问题

本项目 Go Novel 是一款技术工具,其核心功能是实现网页内容的结构化解析、数据提取与格式转换,仅供个人非商业性的学习、研究和技术交流目的使用。

  • 著作权与合法性义务

    用户在使用本工具时,应严格遵守所有适用的国家、地区及国际法律法规,包括但不限于著作权法、数据保护法等。用户应自行承担因使用本工具所抓取、处理、存储、使用、分发或传播的任何内容而产生的一切法律责任和风险,包括但不限于侵犯他人著作权、隐私权、商业秘密或其他合法权益所引发的法律后果。本项目及其开发者不承担对用户因违法使用本工具而造成的任何损害或损失承担任何责任。
    
  • 内容来源与责任

    本项目不提供、不预设、不推荐任何特定的内容来源。本工具的功能仅限于根据用户自行配置的规则对公开网页信息进行技术解析与格式转换。对于用户通过本工具所获取内容的合法性、真实性、准确性、完整性、安全性及著作权归属,本项目及其开发者不承担任何明示或暗示的保证或责任。用户应对其所使用的内容来源的合法性进行独立判断和核实。
    
  • 用途严格限制

    严禁将本工具用于任何非法目的。这包括但不限于:抓取、下载、存储、传播任何受著作权法保护的、未经授权的、盗版的、非法转载的、侵犯他人隐私或商业秘密的、以及其他任何违反法律法规或社会公序良俗的内容。本项目开发者保留在发现或被告知任何非法用途时,采取适当措施的权利,包括但不限于停止提供服务、报告相关部门等。
    
  • 风险自负原则

    在任何情况下,本项目及其开发者均不对因用户使用或无法使用本工具(包括但不限于因技术故障、网络中断、数据丢失、第三方内容源的变化、法律法规的调整等原因)而造成的任何直接、间接、附带、特殊、惩罚性或后果性损害(包括但不限于利润损失、数据损失、业务中断等)承担任何责任,即使已被告知此类损害发生的可能性。用户应充分理解并自行承担使用本工具可能带来的所有风险。
    

    请您务必理解并同意以上条款后再使用本工具。使用本工具即表示您已阅读、理解并同意遵守本免责声明的所有内容。

许可证

• 代码许可:AGPL-3.0

最佳实践

   docker run -d \
     --user=$(id -u):$(id -g) \
     -p 7765:7765 \
     -v /opt/so-novel/configs:/app/configs \
     -v /mnt/data/downloads:/app/downloads \
     --restart unless-stopped \
     zsyo/go-novel:latest

Tag summary

Content type

Image

Digest

sha256:f14e29c06

Size

19.4 MB

Last updated

10 months ago

docker pull zsyo/go-novel