gitextract_mc5_awkk/ ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ └── bug-report--问题反馈-.md │ └── workflows/ │ ├── Dockerfile │ ├── Openj9-Dockerfile │ ├── build.yml │ ├── pull-request.yml │ ├── release-github.yml │ ├── release-openj9.yml │ └── release.yml ├── .gitignore ├── Dockerfile ├── Dockerfile.source ├── LICENSE ├── README.md ├── UPDATELOG.md ├── assets/ │ └── mac/ │ └── reader.icns ├── build.gradle.kts ├── build.sh ├── cli.gradle ├── doc.md ├── docker-compose.yaml ├── docker-compose.yml ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── nixpacks.toml ├── preview.md ├── reader.sh ├── server/ │ ├── bin/ │ │ ├── shutdown.cmd │ │ ├── shutdown.sh │ │ ├── startup.cmd │ │ └── startup.sh │ └── conf/ │ └── application.properties ├── settings.gradle ├── src/ │ ├── lib/ │ │ ├── rhino-1.7.13-1.jar │ │ └── xmlpull-1.1.3.1.jar │ ├── main/ │ │ ├── java/ │ │ │ ├── com/ │ │ │ │ └── htmake/ │ │ │ │ └── reader/ │ │ │ │ ├── ReaderApplication.kt │ │ │ │ ├── ReaderUIApplication.kt │ │ │ │ ├── SpringEvent.java │ │ │ │ ├── api/ │ │ │ │ │ ├── ReturnData.kt │ │ │ │ │ ├── YueduApi.kt │ │ │ │ │ └── controller/ │ │ │ │ │ ├── BaseController.kt │ │ │ │ │ ├── BookController.kt │ │ │ │ │ ├── BookSourceController.kt │ │ │ │ │ ├── BookmarkController.kt │ │ │ │ │ ├── ReplaceRuleController.kt │ │ │ │ │ ├── RssSourceController.kt │ │ │ │ │ ├── UserController.kt │ │ │ │ │ └── WebdavController.kt │ │ │ │ ├── config/ │ │ │ │ │ ├── AppConfig.kt │ │ │ │ │ └── BookConfig.kt │ │ │ │ ├── entity/ │ │ │ │ │ ├── BasicError.kt │ │ │ │ │ ├── Size.kt │ │ │ │ │ └── User.kt │ │ │ │ ├── init/ │ │ │ │ │ └── appCtx.kt │ │ │ │ ├── utils/ │ │ │ │ │ ├── Ext.kt │ │ │ │ │ ├── SpringContextUtils.java │ │ │ │ │ └── VertExt.kt │ │ │ │ └── verticle/ │ │ │ │ └── RestVerticle.kt │ │ │ ├── io/ │ │ │ │ └── legado/ │ │ │ │ └── app/ │ │ │ │ ├── README.md │ │ │ │ ├── constant/ │ │ │ │ │ ├── Action.kt │ │ │ │ │ ├── AppConst.kt │ │ │ │ │ ├── AppPattern.kt │ │ │ │ │ ├── BookType.kt │ │ │ │ │ ├── DeepinkBookSource.kt │ │ │ │ │ ├── PreferKey.kt │ │ │ │ │ ├── RSSKeywords.kt │ │ │ │ │ └── Status.kt │ │ │ │ ├── data/ │ │ │ │ │ └── entities/ │ │ │ │ │ ├── BaseBook.kt │ │ │ │ │ ├── BaseSource.kt │ │ │ │ │ ├── Book.kt │ │ │ │ │ ├── BookChapter.kt │ │ │ │ │ ├── BookGroup.kt │ │ │ │ │ ├── BookSource.kt │ │ │ │ │ ├── Bookmark.kt │ │ │ │ │ ├── Cache.kt │ │ │ │ │ ├── Cookie.kt │ │ │ │ │ ├── ReplaceRule.kt │ │ │ │ │ ├── RssArticle.kt │ │ │ │ │ ├── RssSource.kt │ │ │ │ │ ├── SearchBook.kt │ │ │ │ │ ├── SearchKeyword.kt │ │ │ │ │ ├── SearchResult.kt │ │ │ │ │ ├── TxtTocRule.kt │ │ │ │ │ └── rule/ │ │ │ │ │ ├── BookInfoRule.kt │ │ │ │ │ ├── BookListRule.kt │ │ │ │ │ ├── ContentRule.kt │ │ │ │ │ ├── ExploreRule.kt │ │ │ │ │ ├── SearchRule.kt │ │ │ │ │ └── TocRule.kt │ │ │ │ ├── exception/ │ │ │ │ │ ├── ConcurrentException.kt │ │ │ │ │ ├── ContentEmptyException.kt │ │ │ │ │ ├── NoStackTraceException.kt │ │ │ │ │ ├── RegexTimeoutException.kt │ │ │ │ │ └── TocEmptyException.kt │ │ │ │ ├── help/ │ │ │ │ │ ├── BookHelp.kt │ │ │ │ │ ├── CacheManager.kt │ │ │ │ │ ├── DefaultData.kt │ │ │ │ │ ├── EncodingDetectHelp.java │ │ │ │ │ ├── JsExtensions.kt │ │ │ │ │ ├── coroutine/ │ │ │ │ │ │ ├── CompositeCoroutine.kt │ │ │ │ │ │ ├── Coroutine.kt │ │ │ │ │ │ └── CoroutineContainer.kt │ │ │ │ │ └── http/ │ │ │ │ │ ├── AjaxWebView.kt │ │ │ │ │ ├── ByteConverter.kt │ │ │ │ │ ├── CookieStore.kt │ │ │ │ │ ├── CoroutinesCallAdapterFactory.kt │ │ │ │ │ ├── EncodeConverter.kt │ │ │ │ │ ├── HttpHelper.kt │ │ │ │ │ ├── OkHttpUtils.kt │ │ │ │ │ ├── RequestMethod.kt │ │ │ │ │ ├── Res.kt │ │ │ │ │ ├── SSLHelper.kt │ │ │ │ │ ├── StrResponse.kt │ │ │ │ │ └── api/ │ │ │ │ │ └── CookieManager.kt │ │ │ │ ├── lib/ │ │ │ │ │ └── icu4j/ │ │ │ │ │ ├── CharsetDetector.java │ │ │ │ │ ├── CharsetMatch.java │ │ │ │ │ ├── CharsetRecog_2022.java │ │ │ │ │ ├── CharsetRecog_UTF8.java │ │ │ │ │ ├── CharsetRecog_Unicode.java │ │ │ │ │ ├── CharsetRecog_mbcs.java │ │ │ │ │ ├── CharsetRecog_sbcs.java │ │ │ │ │ └── CharsetRecognizer.java │ │ │ │ ├── model/ │ │ │ │ │ ├── Debug.kt │ │ │ │ │ ├── DebugLog.kt │ │ │ │ │ ├── Debugger.kt │ │ │ │ │ ├── README.md │ │ │ │ │ ├── analyzeRule/ │ │ │ │ │ │ ├── AnalyzeByJSonPath.kt │ │ │ │ │ │ ├── AnalyzeByJSoup.kt │ │ │ │ │ │ ├── AnalyzeByRegex.kt │ │ │ │ │ │ ├── AnalyzeByXPath.kt │ │ │ │ │ │ ├── AnalyzeRule.kt │ │ │ │ │ │ ├── AnalyzeUrl.kt │ │ │ │ │ │ ├── QueryTTF.java │ │ │ │ │ │ ├── RuleAnalyzer.kt │ │ │ │ │ │ ├── RuleData.kt │ │ │ │ │ │ └── RuleDataInterface.kt │ │ │ │ │ ├── localBook/ │ │ │ │ │ │ ├── CbzFile.kt │ │ │ │ │ │ ├── EpubFile.kt │ │ │ │ │ │ ├── LocalBook.kt │ │ │ │ │ │ ├── TextFile.kt │ │ │ │ │ │ └── UmdFile.kt │ │ │ │ │ ├── rss/ │ │ │ │ │ │ ├── Rss.kt │ │ │ │ │ │ ├── RssParserByRule.kt │ │ │ │ │ │ └── RssParserDefault.kt │ │ │ │ │ └── webBook/ │ │ │ │ │ ├── BookChapterList.kt │ │ │ │ │ ├── BookContent.kt │ │ │ │ │ ├── BookInfo.kt │ │ │ │ │ ├── BookList.kt │ │ │ │ │ └── WebBook.kt │ │ │ │ └── utils/ │ │ │ │ ├── ACache.kt │ │ │ │ ├── AnkoHelps.kt │ │ │ │ ├── Base64.java │ │ │ │ ├── EncoderUtils.kt │ │ │ │ ├── EncodingDetect.kt │ │ │ │ ├── FileExtensions.kt │ │ │ │ ├── FilesUtil.kt │ │ │ │ ├── GsonExtensions.kt │ │ │ │ ├── HtmlFormatter.kt │ │ │ │ ├── JsonExtensions.kt │ │ │ │ ├── JsoupExtensions.kt │ │ │ │ ├── LogUtils.kt │ │ │ │ ├── MD5Utils.kt │ │ │ │ ├── NetworkUtils.kt │ │ │ │ ├── SourceAnalyzer.kt │ │ │ │ ├── StringExtensions.kt │ │ │ │ ├── StringUtils.kt │ │ │ │ ├── TextUtils.java │ │ │ │ ├── ThrowableExtensions.kt │ │ │ │ ├── UTF8BOMFighter.kt │ │ │ │ ├── Utf8BomUtils.kt │ │ │ │ └── ZipUtils.kt │ │ │ ├── me/ │ │ │ │ └── ag2s/ │ │ │ │ ├── epublib/ │ │ │ │ │ ├── Constants.java │ │ │ │ │ ├── browsersupport/ │ │ │ │ │ │ ├── NavigationEvent.java │ │ │ │ │ │ ├── NavigationEventListener.java │ │ │ │ │ │ ├── NavigationHistory.java │ │ │ │ │ │ ├── Navigator.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── domain/ │ │ │ │ │ │ ├── Author.java │ │ │ │ │ │ ├── Date.java │ │ │ │ │ │ ├── EpubBook.java │ │ │ │ │ │ ├── EpubResourceProvider.java │ │ │ │ │ │ ├── FileResourceProvider.java │ │ │ │ │ │ ├── Guide.java │ │ │ │ │ │ ├── GuideReference.java │ │ │ │ │ │ ├── Identifier.java │ │ │ │ │ │ ├── LazyResource.java │ │ │ │ │ │ ├── LazyResourceProvider.java │ │ │ │ │ │ ├── ManifestItemProperties.java │ │ │ │ │ │ ├── ManifestItemRefProperties.java │ │ │ │ │ │ ├── ManifestProperties.java │ │ │ │ │ │ ├── MediaType.java │ │ │ │ │ │ ├── MediaTypes.java │ │ │ │ │ │ ├── Metadata.java │ │ │ │ │ │ ├── Relator.java │ │ │ │ │ │ ├── Resource.java │ │ │ │ │ │ ├── ResourceInputStream.java │ │ │ │ │ │ ├── ResourceReference.java │ │ │ │ │ │ ├── Resources.java │ │ │ │ │ │ ├── Spine.java │ │ │ │ │ │ ├── SpineReference.java │ │ │ │ │ │ ├── TOCReference.java │ │ │ │ │ │ ├── TableOfContents.java │ │ │ │ │ │ └── TitledResourceReference.java │ │ │ │ │ ├── epub/ │ │ │ │ │ │ ├── BookProcessor.java │ │ │ │ │ │ ├── BookProcessorPipeline.java │ │ │ │ │ │ ├── DOMUtil.java │ │ │ │ │ │ ├── EpubProcessorSupport.java │ │ │ │ │ │ ├── EpubReader.java │ │ │ │ │ │ ├── EpubWriter.java │ │ │ │ │ │ ├── HtmlProcessor.java │ │ │ │ │ │ ├── NCXDocumentV2.java │ │ │ │ │ │ ├── NCXDocumentV3.java │ │ │ │ │ │ ├── PackageDocumentBase.java │ │ │ │ │ │ ├── PackageDocumentMetadataReader.java │ │ │ │ │ │ ├── PackageDocumentMetadataWriter.java │ │ │ │ │ │ ├── PackageDocumentReader.java │ │ │ │ │ │ ├── PackageDocumentWriter.java │ │ │ │ │ │ └── ResourcesLoader.java │ │ │ │ │ └── util/ │ │ │ │ │ ├── CollectionUtil.java │ │ │ │ │ ├── IOUtil.java │ │ │ │ │ ├── NoCloseOutputStream.java │ │ │ │ │ ├── NoCloseWriter.java │ │ │ │ │ ├── ResourceUtil.java │ │ │ │ │ ├── StringUtil.java │ │ │ │ │ └── commons/ │ │ │ │ │ └── io/ │ │ │ │ │ ├── BOMInputStream.java │ │ │ │ │ ├── ByteOrderMark.java │ │ │ │ │ ├── IOConsumer.java │ │ │ │ │ ├── ProxyInputStream.java │ │ │ │ │ ├── XmlStreamReader.java │ │ │ │ │ └── XmlStreamReaderException.java │ │ │ │ └── umdlib/ │ │ │ │ ├── domain/ │ │ │ │ │ ├── UmdBook.java │ │ │ │ │ ├── UmdChapters.java │ │ │ │ │ ├── UmdCover.java │ │ │ │ │ ├── UmdEnd.java │ │ │ │ │ └── UmdHeader.java │ │ │ │ ├── tool/ │ │ │ │ │ ├── StreamReader.java │ │ │ │ │ ├── UmdUtils.java │ │ │ │ │ └── WrapOutputStream.java │ │ │ │ └── umd/ │ │ │ │ └── UmdReader.java │ │ │ └── org/ │ │ │ └── kxml2/ │ │ │ ├── io/ │ │ │ │ ├── KXmlParser.java │ │ │ │ └── KXmlSerializer.java │ │ │ ├── kdom/ │ │ │ │ ├── Document.java │ │ │ │ ├── Element.java │ │ │ │ └── Node.java │ │ │ └── wap/ │ │ │ ├── Wbxml.java │ │ │ ├── WbxmlParser.java │ │ │ ├── WbxmlSerializer.java │ │ │ ├── syncml/ │ │ │ │ └── SyncML.java │ │ │ ├── wml/ │ │ │ │ └── Wml.java │ │ │ └── wv/ │ │ │ └── WV.java │ │ └── resources/ │ │ ├── META-INF/ │ │ │ └── services/ │ │ │ └── org.xmlpull.v1.XmlPullParserFactory │ │ ├── application-prod.yml │ │ ├── application.yml │ │ ├── banner.txt │ │ ├── defaultData/ │ │ │ └── txtTocRule.json │ │ ├── dtd/ │ │ │ ├── openebook.org/ │ │ │ │ └── dtds/ │ │ │ │ └── oeb-1.2/ │ │ │ │ ├── oeb12.ent │ │ │ │ └── oebpkg12.dtd │ │ │ ├── www.daisy.org/ │ │ │ │ └── z3986/ │ │ │ │ └── 2005/ │ │ │ │ └── ncx-2005-1.dtd │ │ │ └── www.w3.org/ │ │ │ └── TR/ │ │ │ ├── ruby/ │ │ │ │ └── xhtml-ruby-1.mod │ │ │ ├── xhtml-modularization/ │ │ │ │ └── DTD/ │ │ │ │ ├── xhtml-arch-1.mod │ │ │ │ ├── xhtml-attribs-1.mod │ │ │ │ ├── xhtml-base-1.mod │ │ │ │ ├── xhtml-bdo-1.mod │ │ │ │ ├── xhtml-blkphras-1.mod │ │ │ │ ├── xhtml-blkpres-1.mod │ │ │ │ ├── xhtml-blkstruct-1.mod │ │ │ │ ├── xhtml-charent-1.mod │ │ │ │ ├── xhtml-csismap-1.mod │ │ │ │ ├── xhtml-datatypes-1.mod │ │ │ │ ├── xhtml-datatypes-1.mod.1 │ │ │ │ ├── xhtml-edit-1.mod │ │ │ │ ├── xhtml-events-1.mod │ │ │ │ ├── xhtml-form-1.mod │ │ │ │ ├── xhtml-framework-1.mod │ │ │ │ ├── xhtml-hypertext-1.mod │ │ │ │ ├── xhtml-image-1.mod │ │ │ │ ├── xhtml-inlphras-1.mod │ │ │ │ ├── xhtml-inlpres-1.mod │ │ │ │ ├── xhtml-inlstruct-1.mod │ │ │ │ ├── xhtml-inlstyle-1.mod │ │ │ │ ├── xhtml-lat1.ent │ │ │ │ ├── xhtml-link-1.mod │ │ │ │ ├── xhtml-list-1.mod │ │ │ │ ├── xhtml-meta-1.mod │ │ │ │ ├── xhtml-notations-1.mod │ │ │ │ ├── xhtml-object-1.mod │ │ │ │ ├── xhtml-param-1.mod │ │ │ │ ├── xhtml-pres-1.mod │ │ │ │ ├── xhtml-qname-1.mod │ │ │ │ ├── xhtml-script-1.mod │ │ │ │ ├── xhtml-special.ent │ │ │ │ ├── xhtml-ssismap-1.mod │ │ │ │ ├── xhtml-struct-1.mod │ │ │ │ ├── xhtml-style-1.mod │ │ │ │ ├── xhtml-symbol.ent │ │ │ │ ├── xhtml-symbol.ent.1 │ │ │ │ ├── xhtml-table-1.mod │ │ │ │ ├── xhtml-text-1.mod │ │ │ │ └── xhtml11-model-1.mod │ │ │ ├── xhtml1/ │ │ │ │ └── DTD/ │ │ │ │ ├── xhtml-lat1.ent │ │ │ │ ├── xhtml-special.ent │ │ │ │ ├── xhtml-symbol.ent │ │ │ │ ├── xhtml1-strict.dtd │ │ │ │ └── xhtml1-transitional.dtd │ │ │ └── xhtml11/ │ │ │ └── DTD/ │ │ │ └── xhtml11.dtd │ │ ├── epub/ │ │ │ ├── chapter.html │ │ │ ├── cover.html │ │ │ ├── fonts.css │ │ │ ├── intro.html │ │ │ └── main.css │ │ └── logback-spring.xml │ └── test/ │ └── java/ │ └── com/ │ └── htmake/ │ └── reader/ │ └── ReaderApplicationTests.java ├── vetur.config.js └── web/ ├── .browserslistrc ├── .eslintrc.js ├── .gitignore ├── LICENSE ├── README.md ├── babel.config.js ├── jsconfig.json ├── package.json ├── postcss.config.js ├── public/ │ ├── bookSourceDebug/ │ │ ├── index.css │ │ ├── index.html │ │ └── index.js │ ├── browsertest.html │ ├── index.html │ ├── robots.txt │ └── sw.js ├── src/ │ ├── App.vue │ ├── assets/ │ │ └── fonts/ │ │ └── iconfont.css │ ├── components/ │ │ ├── AddUser.vue │ │ ├── BookGroup.vue │ │ ├── BookInfo.vue │ │ ├── BookManage.vue │ │ ├── BookShelf.vue │ │ ├── BookSource.vue │ │ ├── Bookmark.vue │ │ ├── BookmarkForm.vue │ │ ├── Content.vue │ │ ├── Explore.vue │ │ ├── LocalStore.vue │ │ ├── MPCode.vue │ │ ├── PopCatalog.vue │ │ ├── ReadSettings.vue │ │ ├── ReplaceRule.vue │ │ ├── ReplaceRuleForm.vue │ │ ├── RssArticle.vue │ │ ├── RssArticleList.vue │ │ ├── RssSourceList.vue │ │ ├── SearchBookContent.vue │ │ ├── UserManage.vue │ │ └── WebDAV.vue │ ├── main.js │ ├── plugins/ │ │ ├── animate.js │ │ ├── axios.js │ │ ├── cache.js │ │ ├── chinese.js │ │ ├── config.js │ │ ├── element.js │ │ ├── eventBus.js │ │ ├── helper.js │ │ ├── jump.js │ │ ├── md5.js │ │ ├── safe-json-stringify.js │ │ └── vuex.js │ ├── registerServiceWorker.js │ ├── router/ │ │ └── index.js │ └── views/ │ ├── Index.vue │ └── Reader.vue └── vue.config.js