LICENSE
README.md
pyproject.toml
src/novel_downloader/__init__.py
src/novel_downloader.egg-info/PKG-INFO
src/novel_downloader.egg-info/SOURCES.txt
src/novel_downloader.egg-info/dependency_links.txt
src/novel_downloader.egg-info/entry_points.txt
src/novel_downloader.egg-info/requires.txt
src/novel_downloader.egg-info/top_level.txt
src/novel_downloader/cli/__init__.py
src/novel_downloader/cli/clean.py
src/novel_downloader/cli/config.py
src/novel_downloader/cli/download.py
src/novel_downloader/cli/export.py
src/novel_downloader/cli/main.py
src/novel_downloader/cli/search.py
src/novel_downloader/cli/ui.py
src/novel_downloader/config/__init__.py
src/novel_downloader/config/adapter.py
src/novel_downloader/config/file_io.py
src/novel_downloader/core/__init__.py
src/novel_downloader/core/archived/deqixs/fetcher.py
src/novel_downloader/core/archived/deqixs/parser.py
src/novel_downloader/core/archived/deqixs/searcher.py
src/novel_downloader/core/archived/n8tsw/fetcher.py
src/novel_downloader/core/archived/n8tsw/parser.py
src/novel_downloader/core/archived/qidian/searcher.py
src/novel_downloader/core/archived/xiaoshuoge/fetcher.py
src/novel_downloader/core/archived/xiaoshuoge/parser.py
src/novel_downloader/core/archived/xiaoshuoge/searcher.py
src/novel_downloader/core/archived/xs63b/fetcher.py
src/novel_downloader/core/archived/xs63b/parser.py
src/novel_downloader/core/archived/xs63b/searcher.py
src/novel_downloader/core/downloaders/__init__.py
src/novel_downloader/core/downloaders/base.py
src/novel_downloader/core/downloaders/common.py
src/novel_downloader/core/downloaders/n23qb.py
src/novel_downloader/core/downloaders/qidian.py
src/novel_downloader/core/downloaders/qqbook.py
src/novel_downloader/core/downloaders/registry.py
src/novel_downloader/core/downloaders/signals.py
src/novel_downloader/core/downloaders/yodu.py
src/novel_downloader/core/exporters/__init__.py
src/novel_downloader/core/exporters/base.py
src/novel_downloader/core/exporters/common.py
src/novel_downloader/core/exporters/linovelib.py
src/novel_downloader/core/exporters/qidian.py
src/novel_downloader/core/exporters/qqbook.py
src/novel_downloader/core/exporters/registry.py
src/novel_downloader/core/fetchers/__init__.py
src/novel_downloader/core/fetchers/aaatxt.py
src/novel_downloader/core/fetchers/b520.py
src/novel_downloader/core/fetchers/base.py
src/novel_downloader/core/fetchers/biquge5.py
src/novel_downloader/core/fetchers/biquguo.py
src/novel_downloader/core/fetchers/biquyuedu.py
src/novel_downloader/core/fetchers/blqudu.py
src/novel_downloader/core/fetchers/bxwx9.py
src/novel_downloader/core/fetchers/ciluke.py
src/novel_downloader/core/fetchers/dxmwx.py
src/novel_downloader/core/fetchers/esjzone.py
src/novel_downloader/core/fetchers/fsshu.py
src/novel_downloader/core/fetchers/guidaye.py
src/novel_downloader/core/fetchers/hetushu.py
src/novel_downloader/core/fetchers/i25zw.py
src/novel_downloader/core/fetchers/ixdzs8.py
src/novel_downloader/core/fetchers/jpxs123.py
src/novel_downloader/core/fetchers/ktshu.py
src/novel_downloader/core/fetchers/kunnu.py
src/novel_downloader/core/fetchers/laoyaoxs.py
src/novel_downloader/core/fetchers/lewenn.py
src/novel_downloader/core/fetchers/linovelib.py
src/novel_downloader/core/fetchers/lnovel.py
src/novel_downloader/core/fetchers/mangg_com.py
src/novel_downloader/core/fetchers/mangg_net.py
src/novel_downloader/core/fetchers/n23ddw.py
src/novel_downloader/core/fetchers/n23qb.py
src/novel_downloader/core/fetchers/n37yq.py
src/novel_downloader/core/fetchers/n37yue.py
src/novel_downloader/core/fetchers/n71ge.py
src/novel_downloader/core/fetchers/n8novel.py
src/novel_downloader/core/fetchers/piaotia.py
src/novel_downloader/core/fetchers/qbtr.py
src/novel_downloader/core/fetchers/qidian.py
src/novel_downloader/core/fetchers/qqbook.py
src/novel_downloader/core/fetchers/quanben5.py
src/novel_downloader/core/fetchers/rate_limiter.py
src/novel_downloader/core/fetchers/registry.py
src/novel_downloader/core/fetchers/sfacg.py
src/novel_downloader/core/fetchers/shencou.py
src/novel_downloader/core/fetchers/shu111.py
src/novel_downloader/core/fetchers/shuhaige.py
src/novel_downloader/core/fetchers/tongrenquan.py
src/novel_downloader/core/fetchers/trxs.py
src/novel_downloader/core/fetchers/ttkan.py
src/novel_downloader/core/fetchers/wanbengo.py
src/novel_downloader/core/fetchers/xiguashuwu.py
src/novel_downloader/core/fetchers/xshbook.py
src/novel_downloader/core/fetchers/yamibo.py
src/novel_downloader/core/fetchers/yibige.py
src/novel_downloader/core/fetchers/yodu.py
src/novel_downloader/core/fetchers/zhenhunxiaoshuo.py
src/novel_downloader/core/interfaces/__init__.py
src/novel_downloader/core/interfaces/downloader.py
src/novel_downloader/core/interfaces/exporter.py
src/novel_downloader/core/interfaces/fetcher.py
src/novel_downloader/core/interfaces/parser.py
src/novel_downloader/core/interfaces/searcher.py
src/novel_downloader/core/parsers/__init__.py
src/novel_downloader/core/parsers/aaatxt.py
src/novel_downloader/core/parsers/b520.py
src/novel_downloader/core/parsers/base.py
src/novel_downloader/core/parsers/biquge5.py
src/novel_downloader/core/parsers/biquguo.py
src/novel_downloader/core/parsers/biquyuedu.py
src/novel_downloader/core/parsers/blqudu.py
src/novel_downloader/core/parsers/bxwx9.py
src/novel_downloader/core/parsers/ciluke.py
src/novel_downloader/core/parsers/dxmwx.py
src/novel_downloader/core/parsers/esjzone.py
src/novel_downloader/core/parsers/fsshu.py
src/novel_downloader/core/parsers/guidaye.py
src/novel_downloader/core/parsers/hetushu.py
src/novel_downloader/core/parsers/i25zw.py
src/novel_downloader/core/parsers/ixdzs8.py
src/novel_downloader/core/parsers/jpxs123.py
src/novel_downloader/core/parsers/ktshu.py
src/novel_downloader/core/parsers/kunnu.py
src/novel_downloader/core/parsers/laoyaoxs.py
src/novel_downloader/core/parsers/lewenn.py
src/novel_downloader/core/parsers/linovelib.py
src/novel_downloader/core/parsers/lnovel.py
src/novel_downloader/core/parsers/mangg_com.py
src/novel_downloader/core/parsers/mangg_net.py
src/novel_downloader/core/parsers/n23ddw.py
src/novel_downloader/core/parsers/n23qb.py
src/novel_downloader/core/parsers/n37yq.py
src/novel_downloader/core/parsers/n37yue.py
src/novel_downloader/core/parsers/n71ge.py
src/novel_downloader/core/parsers/n8novel.py
src/novel_downloader/core/parsers/piaotia.py
src/novel_downloader/core/parsers/qbtr.py
src/novel_downloader/core/parsers/qidian.py
src/novel_downloader/core/parsers/qqbook.py
src/novel_downloader/core/parsers/quanben5.py
src/novel_downloader/core/parsers/registry.py
src/novel_downloader/core/parsers/sfacg.py
src/novel_downloader/core/parsers/shencou.py
src/novel_downloader/core/parsers/shu111.py
src/novel_downloader/core/parsers/shuhaige.py
src/novel_downloader/core/parsers/tongrenquan.py
src/novel_downloader/core/parsers/trxs.py
src/novel_downloader/core/parsers/ttkan.py
src/novel_downloader/core/parsers/wanbengo.py
src/novel_downloader/core/parsers/xiguashuwu.py
src/novel_downloader/core/parsers/xshbook.py
src/novel_downloader/core/parsers/yamibo.py
src/novel_downloader/core/parsers/yibige.py
src/novel_downloader/core/parsers/yodu.py
src/novel_downloader/core/parsers/zhenhunxiaoshuo.py
src/novel_downloader/core/searchers/__init__.py
src/novel_downloader/core/searchers/aaatxt.py
src/novel_downloader/core/searchers/b520.py
src/novel_downloader/core/searchers/base.py
src/novel_downloader/core/searchers/biquge5.py
src/novel_downloader/core/searchers/biquguo.py
src/novel_downloader/core/searchers/bxwx9.py
src/novel_downloader/core/searchers/ciluke.py
src/novel_downloader/core/searchers/dxmwx.py
src/novel_downloader/core/searchers/esjzone.py
src/novel_downloader/core/searchers/fsshu.py
src/novel_downloader/core/searchers/hetushu.py
src/novel_downloader/core/searchers/i25zw.py
src/novel_downloader/core/searchers/ixdzs8.py
src/novel_downloader/core/searchers/jpxs123.py
src/novel_downloader/core/searchers/ktshu.py
src/novel_downloader/core/searchers/laoyaoxs.py
src/novel_downloader/core/searchers/mangg_net.py
src/novel_downloader/core/searchers/n23ddw.py
src/novel_downloader/core/searchers/n23qb.py
src/novel_downloader/core/searchers/n37yq.py
src/novel_downloader/core/searchers/n37yue.py
src/novel_downloader/core/searchers/n71ge.py
src/novel_downloader/core/searchers/n8novel.py
src/novel_downloader/core/searchers/piaotia.py
src/novel_downloader/core/searchers/qbtr.py
src/novel_downloader/core/searchers/quanben5.py
src/novel_downloader/core/searchers/registry.py
src/novel_downloader/core/searchers/shuhaige.py
src/novel_downloader/core/searchers/sososhu.py
src/novel_downloader/core/searchers/tongrenquan.py
src/novel_downloader/core/searchers/trxs.py
src/novel_downloader/core/searchers/ttkan.py
src/novel_downloader/core/searchers/wanbengo.py
src/novel_downloader/core/searchers/xiguashuwu.py
src/novel_downloader/core/searchers/xshbook.py
src/novel_downloader/core/searchers/yodu.py
src/novel_downloader/locales/en.json
src/novel_downloader/locales/zh.json
src/novel_downloader/models/__init__.py
src/novel_downloader/models/book.py
src/novel_downloader/models/config.py
src/novel_downloader/models/login.py
src/novel_downloader/models/search.py
src/novel_downloader/resources/config/settings.toml
src/novel_downloader/resources/css_styles/intro.css
src/novel_downloader/resources/css_styles/main.css
src/novel_downloader/resources/images/volume_border.png
src/novel_downloader/resources/js_scripts/expr_to_json.js
src/novel_downloader/resources/js_scripts/qidian_decrypt_node.js
src/novel_downloader/resources/js_scripts/qq_decrypt_node.js
src/novel_downloader/resources/json/linovelib.json
src/novel_downloader/resources/json/linovelib_pctheme.json
src/novel_downloader/resources/json/xiguashuwu.json
src/novel_downloader/resources/json/yodu.json
src/novel_downloader/utils/__init__.py
src/novel_downloader/utils/book_url_resolver.py
src/novel_downloader/utils/chapter_storage.py
src/novel_downloader/utils/constants.py
src/novel_downloader/utils/cookies.py
src/novel_downloader/utils/i18n.py
src/novel_downloader/utils/logger.py
src/novel_downloader/utils/network.py
src/novel_downloader/utils/state.py
src/novel_downloader/utils/crypto_utils/__init__.py
src/novel_downloader/utils/crypto_utils/aes_util.py
src/novel_downloader/utils/crypto_utils/aes_v1.py
src/novel_downloader/utils/crypto_utils/aes_v2.py
src/novel_downloader/utils/crypto_utils/rc4.py
src/novel_downloader/utils/epub/__init__.py
src/novel_downloader/utils/epub/builder.py
src/novel_downloader/utils/epub/constants.py
src/novel_downloader/utils/epub/documents.py
src/novel_downloader/utils/epub/models.py
src/novel_downloader/utils/epub/utils.py
src/novel_downloader/utils/file_utils/__init__.py
src/novel_downloader/utils/file_utils/io.py
src/novel_downloader/utils/file_utils/normalize.py
src/novel_downloader/utils/file_utils/sanitize.py
src/novel_downloader/utils/fontocr/__init__.py
src/novel_downloader/utils/fontocr/core.py
src/novel_downloader/utils/fontocr/loader.py
src/novel_downloader/utils/node_decryptor/__init__.py
src/novel_downloader/utils/node_decryptor/decryptor.py
src/novel_downloader/utils/node_decryptor/decryptor_fetcher.py
src/novel_downloader/utils/text_utils/__init__.py
src/novel_downloader/utils/text_utils/diff_display.py
src/novel_downloader/utils/text_utils/numeric_conversion.py
src/novel_downloader/utils/text_utils/text_cleaner.py
src/novel_downloader/utils/text_utils/truncate_utils.py
src/novel_downloader/utils/time_utils/__init__.py
src/novel_downloader/utils/time_utils/datetime_utils.py
src/novel_downloader/utils/time_utils/sleep_utils.py
src/novel_downloader/web/__init__.py
src/novel_downloader/web/main.py
src/novel_downloader/web/components/__init__.py
src/novel_downloader/web/components/navigation.py
src/novel_downloader/web/pages/__init__.py
src/novel_downloader/web/pages/download.py
src/novel_downloader/web/pages/history.py
src/novel_downloader/web/pages/progress.py
src/novel_downloader/web/pages/search.py
src/novel_downloader/web/services/__init__.py
src/novel_downloader/web/services/client_dialog.py
src/novel_downloader/web/services/cred_broker.py
src/novel_downloader/web/services/cred_models.py
src/novel_downloader/web/services/task_manager.py