实例介绍
【实例简介】
KnifeHub:🧰 简单易用的效率工具平台源码下载
这是一个专注于提高工作效率的工具平台,它通过简单易用的设计理念,拒绝让用户折腾,使得用户可以专注于工作而非工具。该平台采用WebUI可视化操作界面,无需再在Console上进行繁琐的操作,轻松上手。同时,它还具备插件化架构,用户可以轻松使用插件来扩展平台功能。
该平台支持多种平台和架构,包括win, linux, osx, amd, arm等,确保了广泛的适用性。
请注意,本项目仅供学习使用,所有第三方插件与本项目无关。
功能方面,大部分功能由插件提供,用户可以通过访问官方插件库来查看和下载所需的插件。
部署方面,提供了多种部署方式,包括原生部署、使用Zeabur一键部署、使用Render免费一键部署、使用Railway免费一键部署、使用Heroku一键部署以及使用Docker部署等,以满足不同用户的需求。
对于插件管理,用户可以通过访问PluginCore Admin来进行插件的上传、安装、设置和启用。
此外,还提供了守护进程(daemon)的设置方法,包括Windows和Linux平台,以实现开机自启动和程序异常退出时自动重启程序的功能。
更新KnifeHub也很简单,只需按照提供的说明操作即可。
【实例截图】
【核心代码】
文件清单
└── KnifeHub-c4206b2258092c8139d160be0c621c1498a908b6
├── app.json
├── attachments
│ └── selenium
│ ├── chromedriver_linux64.zip
│ └── google-chrome-stable_current_amd64.deb
├── deploy
│ ├── flyio
│ │ ├── Dockerfile
│ │ ├── flyio-entrypoint.sh
│ │ └── flyio-PluginCore.Config.json
│ ├── heroku
│ │ ├── Dockerfile
│ │ ├── heroku-entrypoint.sh
│ │ └── heroku-PluginCore.Config.json
│ ├── railway
│ │ ├── Dockerfile
│ │ ├── railway-entrypoint.sh
│ │ └── railway-PluginCore.Config.json
│ ├── render
│ │ ├── Dockerfile
│ │ ├── render-entrypoint.sh
│ │ └── render-PluginCore.Config.json
│ └── zeabur
│ ├── Dockerfile
│ ├── zeabur-entrypoint.sh
│ └── zeabur-PluginCore.Config.json
├── docker
│ ├── nginx.conf
│ ├── nginx-site.conf
│ ├── README.md
│ └── supervisord.conf
├── docker-compose.dcproj
├── docker-compose.override.yml
├── docker-compose.yml
├── docs
│ ├── babel.config.js
│ ├── blog
│ │ ├── 2019-05-28-first-blog-post.md
│ │ ├── 2019-05-29-long-blog-post.md
│ │ ├── 2021-08-01-mdx-blog-post.mdx
│ │ ├── 2021-08-26-welcome
│ │ │ ├── docusaurus-plushie-banner.jpeg
│ │ │ └── index.md
│ │ └── authors.yml
│ ├── docs
│ │ ├── intro.md
│ │ ├── tutorial-basics
│ │ │ ├── _category_.json
│ │ │ ├── congratulations.md
│ │ │ ├── create-a-blog-post.md
│ │ │ ├── create-a-document.md
│ │ │ ├── create-a-page.md
│ │ │ ├── deploy-your-site.md
│ │ │ └── markdown-features.mdx
│ │ └── tutorial-extras
│ │ ├── _category_.json
│ │ ├── img
│ │ │ ├── docsVersionDropdown.png
│ │ │ └── localeDropdown.png
│ │ ├── manage-docs-versions.md
│ │ └── translate-your-site.md
│ ├── docusaurus.config.js
│ ├── package.json
│ ├── package-lock.json
│ ├── README.md
│ ├── sidebars.js
│ ├── src
│ │ ├── components
│ │ │ └── HomepageFeatures
│ │ │ ├── index.tsx
│ │ │ └── styles.module.css
│ │ ├── css
│ │ │ └── custom.css
│ │ └── pages
│ │ ├── index.module.css
│ │ ├── index.tsx
│ │ └── markdown-page.md
│ ├── static
│ │ └── img
│ │ ├── docusaurus.png
│ │ ├── docusaurus-social-card.jpg
│ │ ├── favicon.ico
│ │ ├── logo.svg
│ │ ├── undraw_docusaurus_mountain.svg
│ │ ├── undraw_docusaurus_react.svg
│ │ └── undraw_docusaurus_tree.svg
│ └── tsconfig.json
├── heroku.yml
├── Jenkinsfile
├── KnifeHub.sln
├── LICENSE
├── plugins
│ ├── AutoLogin4QQChannelPlugin
│ │ ├── AutoLogin4QQChannelPlugin.cs
│ │ ├── AutoLogin4QQChannelPlugin.csproj
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ └── DateTimeUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── AutoLoginPlugin
│ │ ├── AutoLoginPlugin.cs
│ │ ├── AutoLoginPlugin.csproj
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ └── DateTimeUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── BackupPlugin
│ │ ├── BackupPlugin.cs
│ │ ├── BackupPlugin.csproj
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ └── ZipUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── CocoaPlugin
│ │ ├── CocoaBotStore.cs
│ │ ├── CocoaPlugin.cs
│ │ ├── CocoaPlugin.csproj
│ │ ├── CocoaPlugin.sqlite
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── Hello.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── ICocoaPlugin.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── DuplicatiPlugin
│ │ ├── Controllers
│ │ │ ├── HomeController.cs
│ │ │ └── SendController.cs
│ │ ├── DbContext.cs
│ │ ├── DuplicatiPlugin.cs
│ │ ├── DuplicatiPlugin.csproj
│ │ ├── DuplicatiPlugin.sqlite
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── IDuplicatiPlugin.cs
│ │ ├── Models
│ │ │ ├── DuplicatiMessageModel.cs
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── RequestModel
│ │ │ └── DuplicatiRequestModel.cs
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── TelegramBotStore.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ └── EnvUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── EleChoPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── EleChoBotStore.cs
│ │ ├── EleChoPlugin.cs
│ │ ├── EleChoPlugin.csproj
│ │ ├── EleChoPlugin.sqlite
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── IEleChoPlugin.cs
│ │ ├── Middlewares
│ │ │ └── GoCqHttpMiddleware.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── ITodaysPlus
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── ITodaysPlus.cs
│ │ ├── ITodaysPlus.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ └── ITodaysUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── js
│ │ ├── insert.js
│ │ └── test.js
│ ├── KonataPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── IQQBotPlugin.cs
│ │ ├── KonataBotStore.cs
│ │ ├── KonataPlugin.cs
│ │ ├── KonataPlugin.csproj
│ │ ├── KonataPlugin.sqlite
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── RequestModels
│ │ │ ├── LoginRequestModel.cs
│ │ │ └── SubmitCaptchaRequestModel.cs
│ │ ├── ResponseModels
│ │ │ ├── BaseResponseModel.cs
│ │ │ └── InfoResponseDataModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ ├── JsonUtil.cs
│ │ │ ├── LogUtil.cs
│ │ │ ├── Md5Util.cs
│ │ │ └── SettingsUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── images
│ │ │ └── login_slide.png
│ │ ├── index.html
│ │ └── libs
│ │ └── mdui
│ │ ├── css
│ │ │ ├── mdui.css
│ │ │ ├── mdui.css.map
│ │ │ ├── mdui.min.css
│ │ │ └── mdui.min.css.map
│ │ ├── fonts
│ │ │ └── roboto
│ │ │ ├── LICENSE.txt
│ │ │ ├── Roboto-BlackItalic.woff
│ │ │ ├── Roboto-BlackItalic.woff2
│ │ │ ├── Roboto-Black.woff
│ │ │ ├── Roboto-Black.woff2
│ │ │ ├── Roboto-BoldItalic.woff
│ │ │ ├── Roboto-BoldItalic.woff2
│ │ │ ├── Roboto-Bold.woff
│ │ │ ├── Roboto-Bold.woff2
│ │ │ ├── Roboto-LightItalic.woff
│ │ │ ├── Roboto-LightItalic.woff2
│ │ │ ├── Roboto-Light.woff
│ │ │ ├── Roboto-Light.woff2
│ │ │ ├── Roboto-MediumItalic.woff
│ │ │ ├── Roboto-MediumItalic.woff2
│ │ │ ├── Roboto-Medium.woff
│ │ │ ├── Roboto-Medium.woff2
│ │ │ ├── Roboto-RegularItalic.woff
│ │ │ ├── Roboto-RegularItalic.woff2
│ │ │ ├── Roboto-Regular.woff
│ │ │ ├── Roboto-Regular.woff2
│ │ │ ├── Roboto-ThinItalic.woff
│ │ │ ├── Roboto-ThinItalic.woff2
│ │ │ ├── Roboto-Thin.woff
│ │ │ └── Roboto-Thin.woff2
│ │ ├── icons
│ │ │ └── material-icons
│ │ │ ├── LICENSE.txt
│ │ │ ├── MaterialIcons-Regular.ijmap
│ │ │ ├── MaterialIcons-Regular.woff
│ │ │ └── MaterialIcons-Regular.woff2
│ │ └── js
│ │ ├── mdui.esm.js
│ │ ├── mdui.esm.js.map
│ │ ├── mdui.js
│ │ ├── mdui.js.map
│ │ ├── mdui.min.js
│ │ └── mdui.min.js.map
│ ├── MemosPlus
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── MemosPlus.cs
│ │ ├── MemosPlus.csproj
│ │ ├── Middlewares
│ │ │ └── CorsMiddleware.cs
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── templates
│ │ │ └── github.md
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── GitHubUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ └── MemosUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── js
│ │ ├── insert.js
│ │ └── test.js
│ ├── MoLi4QQChannelPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── MoLi4QQChannelPlugin.cs
│ │ ├── MoLi4QQChannelPlugin.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ ├── JsonUtil.cs
│ │ │ └── MoLiApiUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── MoLiPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── MoLiPlugin.cs
│ │ ├── MoLiPlugin.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ └── MoLiApiUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── QQChannelPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── IQQChannelPlugin.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── QQChannelBotStore.cs
│ │ ├── QQChannelPlugin.cs
│ │ ├── QQChannelPlugin.csproj
│ │ ├── QQChannelPlugin.sqlite
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── QQHelloWorldPlugin
│ │ ├── Controllers
│ │ │ ├── HelloController.cs
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── Middlewares
│ │ │ └── SayHelloMiddleware.cs
│ │ ├── QQHelloWorldPlugin.cs
│ │ ├── QQHelloWorldPlugin.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── QQNotePlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── QQNotePlugin.cs
│ │ ├── QQNotePlugin.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ └── HttpUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── QQStat4SoraPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── Models
│ │ │ └── Message.cs
│ │ ├── QQStat4SoraPlugin.cs
│ │ ├── QQStat4SoraPlugin.csproj
│ │ ├── QQStat4SoraPlugin.sqlite
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ ├── BaseResponseModel.cs
│ │ │ ├── Calendar
│ │ │ │ └── CalendarEChartsOptionResponseDataModel.cs
│ │ │ └── StackedArea
│ │ │ └── StackedAreaEChartsOptionResponseDataModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ └── DateTimeUtil.cs
│ │ └── wwwroot
│ │ ├── calendar.html
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── stacked-area.html
│ ├── QQStatPlugin
│ │ ├── Controllers
│ │ │ ├── CalendarController.cs
│ │ │ ├── HomeController.cs
│ │ │ └── StackedAreaController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── Models
│ │ │ └── Message.cs
│ │ ├── QQStatPlugin.cs
│ │ ├── QQStatPlugin.csproj
│ │ ├── QQStatPlugin.sqlite
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ ├── BaseResponseModel.cs
│ │ │ ├── Calendar
│ │ │ │ └── CalendarEChartsOptionResponseDataModel.cs
│ │ │ └── StackedArea
│ │ │ └── StackedAreaEChartsOptionResponseDataModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ └── DateTimeUtil.cs
│ │ └── wwwroot
│ │ ├── calendar.html
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── stacked-area.html
│ ├── SoraPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── ISoraPlugin.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── SoraBotStore.cs
│ │ ├── SoraPlugin.cs
│ │ ├── SoraPlugin.csproj
│ │ ├── SoraPlugin.sqlite
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── TelegramPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── ITelegramBotPlugin.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── TelegramBotStore.cs
│ │ ├── TelegramPlugin.cs
│ │ ├── TelegramPlugin.csproj
│ │ ├── TelegramPlugin.sqlite
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── TgBotStatPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── Models
│ │ │ └── Message.cs
│ │ ├── README.md
│ │ ├── RequestModels
│ │ │ └── LoginRequestModel.cs
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── TgBotStatPlugin.cs
│ │ ├── TgBotStatPlugin.csproj
│ │ ├── TgBotStatPlugin.sqlite
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ ├── JsonUtil.cs
│ │ │ ├── LogUtil.cs
│ │ │ ├── Md5Util.cs
│ │ │ └── SettingsUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── libs
│ │ └── mdui
│ │ ├── css
│ │ │ ├── mdui.css
│ │ │ ├── mdui.css.map
│ │ │ ├── mdui.min.css
│ │ │ └── mdui.min.css.map
│ │ ├── fonts
│ │ │ └── roboto
│ │ │ ├── LICENSE.txt
│ │ │ ├── Roboto-BlackItalic.woff
│ │ │ ├── Roboto-BlackItalic.woff2
│ │ │ ├── Roboto-Black.woff
│ │ │ ├── Roboto-Black.woff2
│ │ │ ├── Roboto-BoldItalic.woff
│ │ │ ├── Roboto-BoldItalic.woff2
│ │ │ ├── Roboto-Bold.woff
│ │ │ ├── Roboto-Bold.woff2
│ │ │ ├── Roboto-LightItalic.woff
│ │ │ ├── Roboto-LightItalic.woff2
│ │ │ ├── Roboto-Light.woff
│ │ │ ├── Roboto-Light.woff2
│ │ │ ├── Roboto-MediumItalic.woff
│ │ │ ├── Roboto-MediumItalic.woff2
│ │ │ ├── Roboto-Medium.woff
│ │ │ ├── Roboto-Medium.woff2
│ │ │ ├── Roboto-RegularItalic.woff
│ │ │ ├── Roboto-RegularItalic.woff2
│ │ │ ├── Roboto-Regular.woff
│ │ │ ├── Roboto-Regular.woff2
│ │ │ ├── Roboto-ThinItalic.woff
│ │ │ ├── Roboto-ThinItalic.woff2
│ │ │ ├── Roboto-Thin.woff
│ │ │ └── Roboto-Thin.woff2
│ │ ├── icons
│ │ │ └── material-icons
│ │ │ ├── LICENSE.txt
│ │ │ ├── MaterialIcons-Regular.ijmap
│ │ │ ├── MaterialIcons-Regular.woff
│ │ │ └── MaterialIcons-Regular.woff2
│ │ └── js
│ │ ├── mdui.esm.js
│ │ ├── mdui.esm.js.map
│ │ ├── mdui.js
│ │ ├── mdui.js.map
│ │ ├── mdui.min.js
│ │ └── mdui.min.js.map
│ ├── TgClientPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── ITgClientPlugin.cs
│ │ ├── Models
│ │ │ └── Message.cs
│ │ ├── README.md
│ │ ├── RequestModels
│ │ │ └── LoginRequestModel.cs
│ │ ├── ResponseModels
│ │ │ ├── BaseResponseModel.cs
│ │ │ └── LoginResponseDataModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── TgClientPlugin.cs
│ │ ├── TgClientPlugin.csproj
│ │ ├── TgClientPlugin.sqlite
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ ├── JsonUtil.cs
│ │ │ ├── LogUtil.cs
│ │ │ ├── Md5Util.cs
│ │ │ └── SettingsUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── libs
│ │ └── mdui
│ │ ├── css
│ │ │ ├── mdui.css
│ │ │ ├── mdui.css.map
│ │ │ ├── mdui.min.css
│ │ │ └── mdui.min.css.map
│ │ ├── fonts
│ │ │ └── roboto
│ │ │ ├── LICENSE.txt
│ │ │ ├── Roboto-BlackItalic.woff
│ │ │ ├── Roboto-BlackItalic.woff2
│ │ │ ├── Roboto-Black.woff
│ │ │ ├── Roboto-Black.woff2
│ │ │ ├── Roboto-BoldItalic.woff
│ │ │ ├── Roboto-BoldItalic.woff2
│ │ │ ├── Roboto-Bold.woff
│ │ │ ├── Roboto-Bold.woff2
│ │ │ ├── Roboto-LightItalic.woff
│ │ │ ├── Roboto-LightItalic.woff2
│ │ │ ├── Roboto-Light.woff
│ │ │ ├── Roboto-Light.woff2
│ │ │ ├── Roboto-MediumItalic.woff
│ │ │ ├── Roboto-MediumItalic.woff2
│ │ │ ├── Roboto-Medium.woff
│ │ │ ├── Roboto-Medium.woff2
│ │ │ ├── Roboto-RegularItalic.woff
│ │ │ ├── Roboto-RegularItalic.woff2
│ │ │ ├── Roboto-Regular.woff
│ │ │ ├── Roboto-Regular.woff2
│ │ │ ├── Roboto-ThinItalic.woff
│ │ │ ├── Roboto-ThinItalic.woff2
│ │ │ ├── Roboto-Thin.woff
│ │ │ └── Roboto-Thin.woff2
│ │ ├── icons
│ │ │ └── material-icons
│ │ │ ├── LICENSE.txt
│ │ │ ├── MaterialIcons-Regular.ijmap
│ │ │ ├── MaterialIcons-Regular.woff
│ │ │ └── MaterialIcons-Regular.woff2
│ │ └── js
│ │ ├── mdui.esm.js
│ │ ├── mdui.esm.js.map
│ │ ├── mdui.js
│ │ ├── mdui.js.map
│ │ ├── mdui.min.js
│ │ └── mdui.min.js.map
│ ├── WebMonitorPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── Infrastructure
│ │ │ └── TaskManager.cs
│ │ ├── Models
│ │ │ └── TaskModel.cs
│ │ ├── README.md
│ │ ├── RequestModels
│ │ │ ├── TaskCreateRequestModel.cs
│ │ │ └── TaskEditRequestModel.cs
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── JsonUtil.cs
│ │ │ └── MailUtil.cs
│ │ ├── WebMonitorPlugin.cs
│ │ ├── WebMonitorPlugin.csproj
│ │ ├── WebMonitorPlugin.sqlite
│ │ └── wwwroot
│ │ ├── css
│ │ │ ├── app.css
│ │ │ ├── article.css
│ │ │ └── base.css
│ │ ├── images
│ │ │ ├── notify
│ │ │ │ ├── failure.png
│ │ │ │ └── success.png
│ │ │ └── README
│ │ │ ├── Snipaste_2022-03-11_12-05-40.png
│ │ │ └── Snipaste_2022-03-11_12-06-33.png
│ │ ├── js
│ │ │ └── tools.js
│ │ ├── libs
│ │ │ ├── AdminLTE
│ │ │ │ ├── bower_components
│ │ │ │ │ ├── bootstrap
│ │ │ │ │ │ └── dist
│ │ │ │ │ │ ├── css
│ │ │ │ │ │ │ ├── bootstrap.css
│ │ │ │ │ │ │ ├── bootstrap.css.map
│ │ │ │ │ │ │ ├── bootstrap.min.css
│ │ │ │ │ │ │ ├── bootstrap.min.css.map
│ │ │ │ │ │ │ ├── bootstrap-theme.css
│ │ │ │ │ │ │ ├── bootstrap-theme.css.map
│ │ │ │ │ │ │ ├── bootstrap-theme.min.css
│ │ │ │ │ │ │ └── bootstrap-theme.min.css.map
│ │ │ │ │ │ ├── fonts
│ │ │ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ │ │ │ └── js
│ │ │ │ │ │ ├── bootstrap.js
│ │ │ │ │ │ ├── bootstrap.min.js
│ │ │ │ │ │ └── npm.js
│ │ │ │ │ ├── font-awesome
│ │ │ │ │ │ ├── css
│ │ │ │ │ │ │ ├── font-awesome.css
│ │ │ │ │ │ │ ├── font-awesome.css.map
│ │ │ │ │ │ │ └── font-awesome.min.css
│ │ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── FontAwesome.otf
│ │ │ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ │ │ └── fontawesome-webfont.woff2
│ │ │ │ │ └── jquery
│ │ │ │ │ └── dist
│ │ │ │ │ ├── core.js
│ │ │ │ │ ├── jquery.js
│ │ │ │ │ ├── jquery.min.js
│ │ │ │ │ ├── jquery.min.map
│ │ │ │ │ ├── jquery.slim.js
│ │ │ │ │ ├── jquery.slim.min.js
│ │ │ │ │ └── jquery.slim.min.map
│ │ │ │ └── dist
│ │ │ │ ├── css
│ │ │ │ │ ├── AdminLTE.css
│ │ │ │ │ ├── adminlte.css.map
│ │ │ │ │ ├── AdminLTE.min.css
│ │ │ │ │ ├── adminlte.min.css.map
│ │ │ │ │ ├── alt
│ │ │ │ │ │ ├── AdminLTE-bootstrap-social.css
│ │ │ │ │ │ ├── AdminLTE-bootstrap-social.min.css
│ │ │ │ │ │ ├── AdminLTE-fullcalendar.css
│ │ │ │ │ │ ├── AdminLTE-fullcalendar.min.css
│ │ │ │ │ │ ├── AdminLTE-select2.css
│ │ │ │ │ │ ├── AdminLTE-select2.min.css
│ │ │ │ │ │ ├── AdminLTE-without-plugins.css
│ │ │ │ │ │ └── AdminLTE-without-plugins.min.css
│ │ │ │ │ └── skins
│ │ │ │ │ ├── _all-skins.css
│ │ │ │ │ ├── _all-skins.min.css
│ │ │ │ │ ├── skin-black.css
│ │ │ │ │ ├── skin-black-light.css
│ │ │ │ │ ├── skin-black-light.min.css
│ │ │ │ │ ├── skin-black.min.css
│ │ │ │ │ ├── skin-blue.css
│ │ │ │ │ ├── skin-blue-light.css
│ │ │ │ │ ├── skin-blue-light.min.css
│ │ │ │ │ ├── skin-blue.min.css
│ │ │ │ │ ├── skin-green.css
│ │ │ │ │ ├── skin-green-light.css
│ │ │ │ │ ├── skin-green-light.min.css
│ │ │ │ │ ├── skin-green.min.css
│ │ │ │ │ ├── skin-purple.css
│ │ │ │ │ ├── skin-purple-light.css
│ │ │ │ │ ├── skin-purple-light.min.css
│ │ │ │ │ ├── skin-purple.min.css
│ │ │ │ │ ├── skin-red.css
│ │ │ │ │ ├── skin-red-light.css
│ │ │ │ │ ├── skin-red-light.min.css
│ │ │ │ │ ├── skin-red.min.css
│ │ │ │ │ ├── skin-yellow.css
│ │ │ │ │ ├── skin-yellow-light.css
│ │ │ │ │ ├── skin-yellow-light.min.css
│ │ │ │ │ └── skin-yellow.min.css
│ │ │ │ └── js
│ │ │ │ ├── adminlte.js
│ │ │ │ ├── adminlte.min.js
│ │ │ │ ├── demo.js
│ │ │ │ └── pages
│ │ │ │ ├── dashboard2.js
│ │ │ │ └── dashboard.js
│ │ │ ├── jquery.serializeJSON
│ │ │ │ └── jquery.serializejson.js
│ │ │ └── toastr
│ │ │ └── build
│ │ │ ├── toastr.css
│ │ │ ├── toastr.js.map
│ │ │ ├── toastr.min.css
│ │ │ └── toastr.min.js
│ │ └── templates
│ │ ├── create.html
│ │ ├── edit.html
│ │ ├── index.html
│ │ └── layoutMain.html
│ └── ZhiDaoPlugin
│ ├── Controllers
│ │ └── HomeController.cs
│ ├── DbContext.cs
│ ├── info.json
│ ├── Models
│ │ └── QABox.cs
│ ├── README.md
│ ├── ResponseModels
│ │ └── BaseResponseModel.cs
│ ├── settings.json
│ ├── SettingsModel.cs
│ ├── Utils
│ │ └── DateTimeUtil.cs
│ ├── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── ZhiDaoPlugin.cs
│ ├── ZhiDaoPlugin.csproj
│ └── ZhiDaoPlugin.sqlite
├── README.md
├── Releases.md
├── render.yaml
├── repos-packages
│ └── Konata.Core
│ ├── Google.Protobuf.dll
│ ├── Konata.Codec.dll
│ ├── Konata.Core.deps.json
│ ├── Konata.Core.dll
│ ├── Konata.Core.xml
│ ├── MP3Sharp.dll
│ ├── runtimes
│ │ └── browser
│ │ └── lib
│ │ └── net6.0
│ │ └── System.Text.Encodings.Web.dll
│ ├── System.Text.Encodings.Web.dll
│ └── System.Text.Json.dll
├── screenshots
│ ├── 2022-03-09-20-46-26.png
│ ├── 2022-03-09-20-47-33.png
│ ├── 2022-03-09-20-48-16.png
│ ├── 2022-04-18-15-46-04.png
│ ├── 2022-04-18-15-47-02.png
│ └── PluginCore-Admin.png
├── src
│ ├── KnifeHub.Sdk
│ │ ├── KnifeHub.Sdk.csproj
│ │ └── Utils
│ │ ├── EnvUtil.cs
│ │ ├── HttpUtil.cs
│ │ ├── JsonUtil.cs
│ │ ├── Md5Util.cs
│ │ └── SettingsUtil.cs
│ ├── KnifeHub.Web
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ ├── Config
│ │ │ └── ConfigOptions.cs
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── Dockerfile
│ │ ├── Dockerfile.amd-chrome
│ │ ├── Dockerfile.amd-full
│ │ ├── KnifeHub.Web.csproj
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Utils
│ │ │ ├── AppBuildStampUtil.cs
│ │ │ └── OSUtil.cs
│ │ └── wwwroot
│ │ └── index.html
│ ├── PluginCore
│ └── SimUpdater
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── SimUpdater.csproj
│ └── Worker.cs
├── test
│ └── KonataApp
│ ├── KonataApp.csproj
│ └── Program.cs
└── utils
├── corn.ps1
├── generate-release-note.ps1
├── plugin-debug-build.ps1
├── start.bat
└── start.ps1
261 directories, 687 files
KnifeHub:🧰 简单易用的效率工具平台源码下载
这是一个专注于提高工作效率的工具平台,它通过简单易用的设计理念,拒绝让用户折腾,使得用户可以专注于工作而非工具。该平台采用WebUI可视化操作界面,无需再在Console上进行繁琐的操作,轻松上手。同时,它还具备插件化架构,用户可以轻松使用插件来扩展平台功能。
该平台支持多种平台和架构,包括win, linux, osx, amd, arm等,确保了广泛的适用性。
请注意,本项目仅供学习使用,所有第三方插件与本项目无关。
功能方面,大部分功能由插件提供,用户可以通过访问官方插件库来查看和下载所需的插件。
部署方面,提供了多种部署方式,包括原生部署、使用Zeabur一键部署、使用Render免费一键部署、使用Railway免费一键部署、使用Heroku一键部署以及使用Docker部署等,以满足不同用户的需求。
对于插件管理,用户可以通过访问PluginCore Admin来进行插件的上传、安装、设置和启用。
此外,还提供了守护进程(daemon)的设置方法,包括Windows和Linux平台,以实现开机自启动和程序异常退出时自动重启程序的功能。
更新KnifeHub也很简单,只需按照提供的说明操作即可。
【实例截图】
【核心代码】
文件清单
└── KnifeHub-c4206b2258092c8139d160be0c621c1498a908b6
├── app.json
├── attachments
│ └── selenium
│ ├── chromedriver_linux64.zip
│ └── google-chrome-stable_current_amd64.deb
├── deploy
│ ├── flyio
│ │ ├── Dockerfile
│ │ ├── flyio-entrypoint.sh
│ │ └── flyio-PluginCore.Config.json
│ ├── heroku
│ │ ├── Dockerfile
│ │ ├── heroku-entrypoint.sh
│ │ └── heroku-PluginCore.Config.json
│ ├── railway
│ │ ├── Dockerfile
│ │ ├── railway-entrypoint.sh
│ │ └── railway-PluginCore.Config.json
│ ├── render
│ │ ├── Dockerfile
│ │ ├── render-entrypoint.sh
│ │ └── render-PluginCore.Config.json
│ └── zeabur
│ ├── Dockerfile
│ ├── zeabur-entrypoint.sh
│ └── zeabur-PluginCore.Config.json
├── docker
│ ├── nginx.conf
│ ├── nginx-site.conf
│ ├── README.md
│ └── supervisord.conf
├── docker-compose.dcproj
├── docker-compose.override.yml
├── docker-compose.yml
├── docs
│ ├── babel.config.js
│ ├── blog
│ │ ├── 2019-05-28-first-blog-post.md
│ │ ├── 2019-05-29-long-blog-post.md
│ │ ├── 2021-08-01-mdx-blog-post.mdx
│ │ ├── 2021-08-26-welcome
│ │ │ ├── docusaurus-plushie-banner.jpeg
│ │ │ └── index.md
│ │ └── authors.yml
│ ├── docs
│ │ ├── intro.md
│ │ ├── tutorial-basics
│ │ │ ├── _category_.json
│ │ │ ├── congratulations.md
│ │ │ ├── create-a-blog-post.md
│ │ │ ├── create-a-document.md
│ │ │ ├── create-a-page.md
│ │ │ ├── deploy-your-site.md
│ │ │ └── markdown-features.mdx
│ │ └── tutorial-extras
│ │ ├── _category_.json
│ │ ├── img
│ │ │ ├── docsVersionDropdown.png
│ │ │ └── localeDropdown.png
│ │ ├── manage-docs-versions.md
│ │ └── translate-your-site.md
│ ├── docusaurus.config.js
│ ├── package.json
│ ├── package-lock.json
│ ├── README.md
│ ├── sidebars.js
│ ├── src
│ │ ├── components
│ │ │ └── HomepageFeatures
│ │ │ ├── index.tsx
│ │ │ └── styles.module.css
│ │ ├── css
│ │ │ └── custom.css
│ │ └── pages
│ │ ├── index.module.css
│ │ ├── index.tsx
│ │ └── markdown-page.md
│ ├── static
│ │ └── img
│ │ ├── docusaurus.png
│ │ ├── docusaurus-social-card.jpg
│ │ ├── favicon.ico
│ │ ├── logo.svg
│ │ ├── undraw_docusaurus_mountain.svg
│ │ ├── undraw_docusaurus_react.svg
│ │ └── undraw_docusaurus_tree.svg
│ └── tsconfig.json
├── heroku.yml
├── Jenkinsfile
├── KnifeHub.sln
├── LICENSE
├── plugins
│ ├── AutoLogin4QQChannelPlugin
│ │ ├── AutoLogin4QQChannelPlugin.cs
│ │ ├── AutoLogin4QQChannelPlugin.csproj
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ └── DateTimeUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── AutoLoginPlugin
│ │ ├── AutoLoginPlugin.cs
│ │ ├── AutoLoginPlugin.csproj
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ └── DateTimeUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── BackupPlugin
│ │ ├── BackupPlugin.cs
│ │ ├── BackupPlugin.csproj
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ └── ZipUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── CocoaPlugin
│ │ ├── CocoaBotStore.cs
│ │ ├── CocoaPlugin.cs
│ │ ├── CocoaPlugin.csproj
│ │ ├── CocoaPlugin.sqlite
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── Hello.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── ICocoaPlugin.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── DuplicatiPlugin
│ │ ├── Controllers
│ │ │ ├── HomeController.cs
│ │ │ └── SendController.cs
│ │ ├── DbContext.cs
│ │ ├── DuplicatiPlugin.cs
│ │ ├── DuplicatiPlugin.csproj
│ │ ├── DuplicatiPlugin.sqlite
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── IDuplicatiPlugin.cs
│ │ ├── Models
│ │ │ ├── DuplicatiMessageModel.cs
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── RequestModel
│ │ │ └── DuplicatiRequestModel.cs
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── TelegramBotStore.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ └── EnvUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── EleChoPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── EleChoBotStore.cs
│ │ ├── EleChoPlugin.cs
│ │ ├── EleChoPlugin.csproj
│ │ ├── EleChoPlugin.sqlite
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── IEleChoPlugin.cs
│ │ ├── Middlewares
│ │ │ └── GoCqHttpMiddleware.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── ITodaysPlus
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── ITodaysPlus.cs
│ │ ├── ITodaysPlus.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ └── ITodaysUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── js
│ │ ├── insert.js
│ │ └── test.js
│ ├── KonataPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── IQQBotPlugin.cs
│ │ ├── KonataBotStore.cs
│ │ ├── KonataPlugin.cs
│ │ ├── KonataPlugin.csproj
│ │ ├── KonataPlugin.sqlite
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── RequestModels
│ │ │ ├── LoginRequestModel.cs
│ │ │ └── SubmitCaptchaRequestModel.cs
│ │ ├── ResponseModels
│ │ │ ├── BaseResponseModel.cs
│ │ │ └── InfoResponseDataModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ ├── JsonUtil.cs
│ │ │ ├── LogUtil.cs
│ │ │ ├── Md5Util.cs
│ │ │ └── SettingsUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── images
│ │ │ └── login_slide.png
│ │ ├── index.html
│ │ └── libs
│ │ └── mdui
│ │ ├── css
│ │ │ ├── mdui.css
│ │ │ ├── mdui.css.map
│ │ │ ├── mdui.min.css
│ │ │ └── mdui.min.css.map
│ │ ├── fonts
│ │ │ └── roboto
│ │ │ ├── LICENSE.txt
│ │ │ ├── Roboto-BlackItalic.woff
│ │ │ ├── Roboto-BlackItalic.woff2
│ │ │ ├── Roboto-Black.woff
│ │ │ ├── Roboto-Black.woff2
│ │ │ ├── Roboto-BoldItalic.woff
│ │ │ ├── Roboto-BoldItalic.woff2
│ │ │ ├── Roboto-Bold.woff
│ │ │ ├── Roboto-Bold.woff2
│ │ │ ├── Roboto-LightItalic.woff
│ │ │ ├── Roboto-LightItalic.woff2
│ │ │ ├── Roboto-Light.woff
│ │ │ ├── Roboto-Light.woff2
│ │ │ ├── Roboto-MediumItalic.woff
│ │ │ ├── Roboto-MediumItalic.woff2
│ │ │ ├── Roboto-Medium.woff
│ │ │ ├── Roboto-Medium.woff2
│ │ │ ├── Roboto-RegularItalic.woff
│ │ │ ├── Roboto-RegularItalic.woff2
│ │ │ ├── Roboto-Regular.woff
│ │ │ ├── Roboto-Regular.woff2
│ │ │ ├── Roboto-ThinItalic.woff
│ │ │ ├── Roboto-ThinItalic.woff2
│ │ │ ├── Roboto-Thin.woff
│ │ │ └── Roboto-Thin.woff2
│ │ ├── icons
│ │ │ └── material-icons
│ │ │ ├── LICENSE.txt
│ │ │ ├── MaterialIcons-Regular.ijmap
│ │ │ ├── MaterialIcons-Regular.woff
│ │ │ └── MaterialIcons-Regular.woff2
│ │ └── js
│ │ ├── mdui.esm.js
│ │ ├── mdui.esm.js.map
│ │ ├── mdui.js
│ │ ├── mdui.js.map
│ │ ├── mdui.min.js
│ │ └── mdui.min.js.map
│ ├── MemosPlus
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── MemosPlus.cs
│ │ ├── MemosPlus.csproj
│ │ ├── Middlewares
│ │ │ └── CorsMiddleware.cs
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── templates
│ │ │ └── github.md
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── GitHubUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ └── MemosUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── js
│ │ ├── insert.js
│ │ └── test.js
│ ├── MoLi4QQChannelPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── MoLi4QQChannelPlugin.cs
│ │ ├── MoLi4QQChannelPlugin.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ ├── JsonUtil.cs
│ │ │ └── MoLiApiUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── MoLiPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── MoLiPlugin.cs
│ │ ├── MoLiPlugin.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ └── MoLiApiUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── QQChannelPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── IQQChannelPlugin.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── QQChannelBotStore.cs
│ │ ├── QQChannelPlugin.cs
│ │ ├── QQChannelPlugin.csproj
│ │ ├── QQChannelPlugin.sqlite
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── QQHelloWorldPlugin
│ │ ├── Controllers
│ │ │ ├── HelloController.cs
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── Middlewares
│ │ │ └── SayHelloMiddleware.cs
│ │ ├── QQHelloWorldPlugin.cs
│ │ ├── QQHelloWorldPlugin.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── QQNotePlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── QQNotePlugin.cs
│ │ ├── QQNotePlugin.csproj
│ │ ├── README.md
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ └── HttpUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── QQStat4SoraPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── Models
│ │ │ └── Message.cs
│ │ ├── QQStat4SoraPlugin.cs
│ │ ├── QQStat4SoraPlugin.csproj
│ │ ├── QQStat4SoraPlugin.sqlite
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ ├── BaseResponseModel.cs
│ │ │ ├── Calendar
│ │ │ │ └── CalendarEChartsOptionResponseDataModel.cs
│ │ │ └── StackedArea
│ │ │ └── StackedAreaEChartsOptionResponseDataModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ └── DateTimeUtil.cs
│ │ └── wwwroot
│ │ ├── calendar.html
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── stacked-area.html
│ ├── QQStatPlugin
│ │ ├── Controllers
│ │ │ ├── CalendarController.cs
│ │ │ ├── HomeController.cs
│ │ │ └── StackedAreaController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── Models
│ │ │ └── Message.cs
│ │ ├── QQStatPlugin.cs
│ │ ├── QQStatPlugin.csproj
│ │ ├── QQStatPlugin.sqlite
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ ├── BaseResponseModel.cs
│ │ │ ├── Calendar
│ │ │ │ └── CalendarEChartsOptionResponseDataModel.cs
│ │ │ └── StackedArea
│ │ │ └── StackedAreaEChartsOptionResponseDataModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ └── DateTimeUtil.cs
│ │ └── wwwroot
│ │ ├── calendar.html
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── stacked-area.html
│ ├── SoraPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── ISoraPlugin.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── SoraBotStore.cs
│ │ ├── SoraPlugin.cs
│ │ ├── SoraPlugin.csproj
│ │ ├── SoraPlugin.sqlite
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── TelegramPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── ITelegramBotPlugin.cs
│ │ ├── Models
│ │ │ └── QABox.cs
│ │ ├── README.md
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── TelegramBotStore.cs
│ │ ├── TelegramPlugin.cs
│ │ ├── TelegramPlugin.csproj
│ │ ├── TelegramPlugin.sqlite
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ └── LogUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── TgBotStatPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── Models
│ │ │ └── Message.cs
│ │ ├── README.md
│ │ ├── RequestModels
│ │ │ └── LoginRequestModel.cs
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── TgBotStatPlugin.cs
│ │ ├── TgBotStatPlugin.csproj
│ │ ├── TgBotStatPlugin.sqlite
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ ├── JsonUtil.cs
│ │ │ ├── LogUtil.cs
│ │ │ ├── Md5Util.cs
│ │ │ └── SettingsUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── libs
│ │ └── mdui
│ │ ├── css
│ │ │ ├── mdui.css
│ │ │ ├── mdui.css.map
│ │ │ ├── mdui.min.css
│ │ │ └── mdui.min.css.map
│ │ ├── fonts
│ │ │ └── roboto
│ │ │ ├── LICENSE.txt
│ │ │ ├── Roboto-BlackItalic.woff
│ │ │ ├── Roboto-BlackItalic.woff2
│ │ │ ├── Roboto-Black.woff
│ │ │ ├── Roboto-Black.woff2
│ │ │ ├── Roboto-BoldItalic.woff
│ │ │ ├── Roboto-BoldItalic.woff2
│ │ │ ├── Roboto-Bold.woff
│ │ │ ├── Roboto-Bold.woff2
│ │ │ ├── Roboto-LightItalic.woff
│ │ │ ├── Roboto-LightItalic.woff2
│ │ │ ├── Roboto-Light.woff
│ │ │ ├── Roboto-Light.woff2
│ │ │ ├── Roboto-MediumItalic.woff
│ │ │ ├── Roboto-MediumItalic.woff2
│ │ │ ├── Roboto-Medium.woff
│ │ │ ├── Roboto-Medium.woff2
│ │ │ ├── Roboto-RegularItalic.woff
│ │ │ ├── Roboto-RegularItalic.woff2
│ │ │ ├── Roboto-Regular.woff
│ │ │ ├── Roboto-Regular.woff2
│ │ │ ├── Roboto-ThinItalic.woff
│ │ │ ├── Roboto-ThinItalic.woff2
│ │ │ ├── Roboto-Thin.woff
│ │ │ └── Roboto-Thin.woff2
│ │ ├── icons
│ │ │ └── material-icons
│ │ │ ├── LICENSE.txt
│ │ │ ├── MaterialIcons-Regular.ijmap
│ │ │ ├── MaterialIcons-Regular.woff
│ │ │ └── MaterialIcons-Regular.woff2
│ │ └── js
│ │ ├── mdui.esm.js
│ │ ├── mdui.esm.js.map
│ │ ├── mdui.js
│ │ ├── mdui.js.map
│ │ ├── mdui.min.js
│ │ └── mdui.min.js.map
│ ├── TgClientPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── DbContext.cs
│ │ ├── info.json
│ │ ├── IPlugins
│ │ │ └── ITgClientPlugin.cs
│ │ ├── Models
│ │ │ └── Message.cs
│ │ ├── README.md
│ │ ├── RequestModels
│ │ │ └── LoginRequestModel.cs
│ │ ├── ResponseModels
│ │ │ ├── BaseResponseModel.cs
│ │ │ └── LoginResponseDataModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── TgClientPlugin.cs
│ │ ├── TgClientPlugin.csproj
│ │ ├── TgClientPlugin.sqlite
│ │ ├── Utils
│ │ │ ├── DateTimeUtil.cs
│ │ │ ├── EnvUtil.cs
│ │ │ ├── HttpUtil.cs
│ │ │ ├── JsonUtil.cs
│ │ │ ├── LogUtil.cs
│ │ │ ├── Md5Util.cs
│ │ │ └── SettingsUtil.cs
│ │ └── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ ├── index.html
│ │ └── libs
│ │ └── mdui
│ │ ├── css
│ │ │ ├── mdui.css
│ │ │ ├── mdui.css.map
│ │ │ ├── mdui.min.css
│ │ │ └── mdui.min.css.map
│ │ ├── fonts
│ │ │ └── roboto
│ │ │ ├── LICENSE.txt
│ │ │ ├── Roboto-BlackItalic.woff
│ │ │ ├── Roboto-BlackItalic.woff2
│ │ │ ├── Roboto-Black.woff
│ │ │ ├── Roboto-Black.woff2
│ │ │ ├── Roboto-BoldItalic.woff
│ │ │ ├── Roboto-BoldItalic.woff2
│ │ │ ├── Roboto-Bold.woff
│ │ │ ├── Roboto-Bold.woff2
│ │ │ ├── Roboto-LightItalic.woff
│ │ │ ├── Roboto-LightItalic.woff2
│ │ │ ├── Roboto-Light.woff
│ │ │ ├── Roboto-Light.woff2
│ │ │ ├── Roboto-MediumItalic.woff
│ │ │ ├── Roboto-MediumItalic.woff2
│ │ │ ├── Roboto-Medium.woff
│ │ │ ├── Roboto-Medium.woff2
│ │ │ ├── Roboto-RegularItalic.woff
│ │ │ ├── Roboto-RegularItalic.woff2
│ │ │ ├── Roboto-Regular.woff
│ │ │ ├── Roboto-Regular.woff2
│ │ │ ├── Roboto-ThinItalic.woff
│ │ │ ├── Roboto-ThinItalic.woff2
│ │ │ ├── Roboto-Thin.woff
│ │ │ └── Roboto-Thin.woff2
│ │ ├── icons
│ │ │ └── material-icons
│ │ │ ├── LICENSE.txt
│ │ │ ├── MaterialIcons-Regular.ijmap
│ │ │ ├── MaterialIcons-Regular.woff
│ │ │ └── MaterialIcons-Regular.woff2
│ │ └── js
│ │ ├── mdui.esm.js
│ │ ├── mdui.esm.js.map
│ │ ├── mdui.js
│ │ ├── mdui.js.map
│ │ ├── mdui.min.js
│ │ └── mdui.min.js.map
│ ├── WebMonitorPlugin
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── info.json
│ │ ├── Infrastructure
│ │ │ └── TaskManager.cs
│ │ ├── Models
│ │ │ └── TaskModel.cs
│ │ ├── README.md
│ │ ├── RequestModels
│ │ │ ├── TaskCreateRequestModel.cs
│ │ │ └── TaskEditRequestModel.cs
│ │ ├── ResponseModels
│ │ │ └── BaseResponseModel.cs
│ │ ├── settings.json
│ │ ├── SettingsModel.cs
│ │ ├── Utils
│ │ │ ├── JsonUtil.cs
│ │ │ └── MailUtil.cs
│ │ ├── WebMonitorPlugin.cs
│ │ ├── WebMonitorPlugin.csproj
│ │ ├── WebMonitorPlugin.sqlite
│ │ └── wwwroot
│ │ ├── css
│ │ │ ├── app.css
│ │ │ ├── article.css
│ │ │ └── base.css
│ │ ├── images
│ │ │ ├── notify
│ │ │ │ ├── failure.png
│ │ │ │ └── success.png
│ │ │ └── README
│ │ │ ├── Snipaste_2022-03-11_12-05-40.png
│ │ │ └── Snipaste_2022-03-11_12-06-33.png
│ │ ├── js
│ │ │ └── tools.js
│ │ ├── libs
│ │ │ ├── AdminLTE
│ │ │ │ ├── bower_components
│ │ │ │ │ ├── bootstrap
│ │ │ │ │ │ └── dist
│ │ │ │ │ │ ├── css
│ │ │ │ │ │ │ ├── bootstrap.css
│ │ │ │ │ │ │ ├── bootstrap.css.map
│ │ │ │ │ │ │ ├── bootstrap.min.css
│ │ │ │ │ │ │ ├── bootstrap.min.css.map
│ │ │ │ │ │ │ ├── bootstrap-theme.css
│ │ │ │ │ │ │ ├── bootstrap-theme.css.map
│ │ │ │ │ │ │ ├── bootstrap-theme.min.css
│ │ │ │ │ │ │ └── bootstrap-theme.min.css.map
│ │ │ │ │ │ ├── fonts
│ │ │ │ │ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ │ │ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ │ │ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ │ │ │ │ ├── glyphicons-halflings-regular.woff
│ │ │ │ │ │ │ └── glyphicons-halflings-regular.woff2
│ │ │ │ │ │ └── js
│ │ │ │ │ │ ├── bootstrap.js
│ │ │ │ │ │ ├── bootstrap.min.js
│ │ │ │ │ │ └── npm.js
│ │ │ │ │ ├── font-awesome
│ │ │ │ │ │ ├── css
│ │ │ │ │ │ │ ├── font-awesome.css
│ │ │ │ │ │ │ ├── font-awesome.css.map
│ │ │ │ │ │ │ └── font-awesome.min.css
│ │ │ │ │ │ └── fonts
│ │ │ │ │ │ ├── FontAwesome.otf
│ │ │ │ │ │ ├── fontawesome-webfont.eot
│ │ │ │ │ │ ├── fontawesome-webfont.svg
│ │ │ │ │ │ ├── fontawesome-webfont.ttf
│ │ │ │ │ │ ├── fontawesome-webfont.woff
│ │ │ │ │ │ └── fontawesome-webfont.woff2
│ │ │ │ │ └── jquery
│ │ │ │ │ └── dist
│ │ │ │ │ ├── core.js
│ │ │ │ │ ├── jquery.js
│ │ │ │ │ ├── jquery.min.js
│ │ │ │ │ ├── jquery.min.map
│ │ │ │ │ ├── jquery.slim.js
│ │ │ │ │ ├── jquery.slim.min.js
│ │ │ │ │ └── jquery.slim.min.map
│ │ │ │ └── dist
│ │ │ │ ├── css
│ │ │ │ │ ├── AdminLTE.css
│ │ │ │ │ ├── adminlte.css.map
│ │ │ │ │ ├── AdminLTE.min.css
│ │ │ │ │ ├── adminlte.min.css.map
│ │ │ │ │ ├── alt
│ │ │ │ │ │ ├── AdminLTE-bootstrap-social.css
│ │ │ │ │ │ ├── AdminLTE-bootstrap-social.min.css
│ │ │ │ │ │ ├── AdminLTE-fullcalendar.css
│ │ │ │ │ │ ├── AdminLTE-fullcalendar.min.css
│ │ │ │ │ │ ├── AdminLTE-select2.css
│ │ │ │ │ │ ├── AdminLTE-select2.min.css
│ │ │ │ │ │ ├── AdminLTE-without-plugins.css
│ │ │ │ │ │ └── AdminLTE-without-plugins.min.css
│ │ │ │ │ └── skins
│ │ │ │ │ ├── _all-skins.css
│ │ │ │ │ ├── _all-skins.min.css
│ │ │ │ │ ├── skin-black.css
│ │ │ │ │ ├── skin-black-light.css
│ │ │ │ │ ├── skin-black-light.min.css
│ │ │ │ │ ├── skin-black.min.css
│ │ │ │ │ ├── skin-blue.css
│ │ │ │ │ ├── skin-blue-light.css
│ │ │ │ │ ├── skin-blue-light.min.css
│ │ │ │ │ ├── skin-blue.min.css
│ │ │ │ │ ├── skin-green.css
│ │ │ │ │ ├── skin-green-light.css
│ │ │ │ │ ├── skin-green-light.min.css
│ │ │ │ │ ├── skin-green.min.css
│ │ │ │ │ ├── skin-purple.css
│ │ │ │ │ ├── skin-purple-light.css
│ │ │ │ │ ├── skin-purple-light.min.css
│ │ │ │ │ ├── skin-purple.min.css
│ │ │ │ │ ├── skin-red.css
│ │ │ │ │ ├── skin-red-light.css
│ │ │ │ │ ├── skin-red-light.min.css
│ │ │ │ │ ├── skin-red.min.css
│ │ │ │ │ ├── skin-yellow.css
│ │ │ │ │ ├── skin-yellow-light.css
│ │ │ │ │ ├── skin-yellow-light.min.css
│ │ │ │ │ └── skin-yellow.min.css
│ │ │ │ └── js
│ │ │ │ ├── adminlte.js
│ │ │ │ ├── adminlte.min.js
│ │ │ │ ├── demo.js
│ │ │ │ └── pages
│ │ │ │ ├── dashboard2.js
│ │ │ │ └── dashboard.js
│ │ │ ├── jquery.serializeJSON
│ │ │ │ └── jquery.serializejson.js
│ │ │ └── toastr
│ │ │ └── build
│ │ │ ├── toastr.css
│ │ │ ├── toastr.js.map
│ │ │ ├── toastr.min.css
│ │ │ └── toastr.min.js
│ │ └── templates
│ │ ├── create.html
│ │ ├── edit.html
│ │ ├── index.html
│ │ └── layoutMain.html
│ └── ZhiDaoPlugin
│ ├── Controllers
│ │ └── HomeController.cs
│ ├── DbContext.cs
│ ├── info.json
│ ├── Models
│ │ └── QABox.cs
│ ├── README.md
│ ├── ResponseModels
│ │ └── BaseResponseModel.cs
│ ├── settings.json
│ ├── SettingsModel.cs
│ ├── Utils
│ │ └── DateTimeUtil.cs
│ ├── wwwroot
│ │ ├── css
│ │ │ └── main.css
│ │ └── index.html
│ ├── ZhiDaoPlugin.cs
│ ├── ZhiDaoPlugin.csproj
│ └── ZhiDaoPlugin.sqlite
├── README.md
├── Releases.md
├── render.yaml
├── repos-packages
│ └── Konata.Core
│ ├── Google.Protobuf.dll
│ ├── Konata.Codec.dll
│ ├── Konata.Core.deps.json
│ ├── Konata.Core.dll
│ ├── Konata.Core.xml
│ ├── MP3Sharp.dll
│ ├── runtimes
│ │ └── browser
│ │ └── lib
│ │ └── net6.0
│ │ └── System.Text.Encodings.Web.dll
│ ├── System.Text.Encodings.Web.dll
│ └── System.Text.Json.dll
├── screenshots
│ ├── 2022-03-09-20-46-26.png
│ ├── 2022-03-09-20-47-33.png
│ ├── 2022-03-09-20-48-16.png
│ ├── 2022-04-18-15-46-04.png
│ ├── 2022-04-18-15-47-02.png
│ └── PluginCore-Admin.png
├── src
│ ├── KnifeHub.Sdk
│ │ ├── KnifeHub.Sdk.csproj
│ │ └── Utils
│ │ ├── EnvUtil.cs
│ │ ├── HttpUtil.cs
│ │ ├── JsonUtil.cs
│ │ ├── Md5Util.cs
│ │ └── SettingsUtil.cs
│ ├── KnifeHub.Web
│ │ ├── appsettings.Development.json
│ │ ├── appsettings.json
│ │ ├── Config
│ │ │ └── ConfigOptions.cs
│ │ ├── Controllers
│ │ │ └── HomeController.cs
│ │ ├── Dockerfile
│ │ ├── Dockerfile.amd-chrome
│ │ ├── Dockerfile.amd-full
│ │ ├── KnifeHub.Web.csproj
│ │ ├── Program.cs
│ │ ├── Properties
│ │ │ └── launchSettings.json
│ │ ├── Utils
│ │ │ ├── AppBuildStampUtil.cs
│ │ │ └── OSUtil.cs
│ │ └── wwwroot
│ │ └── index.html
│ ├── PluginCore
│ └── SimUpdater
│ ├── appsettings.Development.json
│ ├── appsettings.json
│ ├── Program.cs
│ ├── Properties
│ │ └── launchSettings.json
│ ├── SimUpdater.csproj
│ └── Worker.cs
├── test
│ └── KonataApp
│ ├── KonataApp.csproj
│ └── Program.cs
└── utils
├── corn.ps1
├── generate-release-note.ps1
├── plugin-debug-build.ps1
├── start.bat
└── start.ps1
261 directories, 687 files
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论