├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── docs ├── .nojekyll ├── 404.html ├── Netnr.Blog.md ├── Netnr.DataKit.md ├── Netnr.DataX.md ├── Netnr.Demo.md ├── Netnr.FileServer.md ├── Netnr.IPQuery.md ├── Netnr.Login.md ├── Netnr.ResponseFramework.Document.md ├── Netnr.ResponseFramework.md ├── Netnr.Serve.md ├── Netnr.UAParser.md ├── README.md ├── SPONSORS.md ├── _sidebar.md ├── favicon.ico ├── favicon.png ├── favicon.svg ├── index.html ├── resume.md └── static │ ├── docsify-better │ ├── docsify-better.css │ └── docsify-better.js │ ├── donate │ ├── alipay.svg │ └── wechat.svg │ └── pd │ ├── Netnr.Blog.pdm │ └── Netnr.RF.pdm └── src └── Netnr.P ├── Netnr.Blog.Application ├── Datas │ ├── ContextBase.cs │ ├── ContextBaseExtend.cs │ └── ContextBaseFactory.cs ├── GlobalUsing.cs ├── Netnr.Blog.Application.csproj └── Services │ ├── CommonService.cs │ ├── PushService.cs │ ├── ScriptService.cs │ ├── ThirdLoginService.cs │ └── WeixinMPService.cs ├── Netnr.Blog.Domain ├── Entities │ ├── DocSet.cs │ ├── DocSetDetail.cs │ ├── Draw.cs │ ├── GiftRecord.cs │ ├── GiftRecordDetail.cs │ ├── Gist.cs │ ├── GuffRecord.cs │ ├── KeyValueSynonym.cs │ ├── KeyValues.cs │ ├── Notepad.cs │ ├── OperationRecord.cs │ ├── Run.cs │ ├── Tags.cs │ ├── UserConnection.cs │ ├── UserInfo.cs │ ├── UserMessage.cs │ ├── UserReply.cs │ ├── UserWriting.cs │ └── UserWritingTags.cs ├── Enums │ ├── ConnectionTypes.cs │ ├── MessageTypes.cs │ └── ReplyTypes.cs ├── Models │ ├── DocTreeVM.cs │ └── LoginUserVM.cs └── Netnr.Blog.Domain.csproj ├── Netnr.Blog.Web ├── Controllers │ ├── APIController.cs │ ├── AccountController.cs │ ├── AdminController.cs │ ├── DocController.cs │ ├── DrawController.cs │ ├── GistController.cs │ ├── GuffController.cs │ ├── HomeController.cs │ ├── MixController.cs │ ├── NoteController.cs │ ├── RunController.cs │ ├── SSController.cs │ ├── ServiceController.cs │ ├── UserController.cs │ └── WebController.cs ├── Filters │ └── FilterConfigs.cs ├── GlobalUsing.cs ├── Netnr.Blog.Web.csproj ├── Program.cs ├── Services │ ├── HangfireService.cs │ ├── IdentityService.cs │ ├── LoggingService.cs │ └── WorkService.cs ├── Views │ ├── Account │ │ ├── Login.cshtml │ │ └── Register.cshtml │ ├── Admin │ │ ├── Index.cshtml │ │ ├── KeyValues.cshtml │ │ ├── Log.cshtml │ │ ├── LogChart.cshtml │ │ ├── Reply.cshtml │ │ └── Write.cshtml │ ├── Doc │ │ ├── Catalog.cshtml │ │ ├── Code.cshtml │ │ ├── Item.cshtml │ │ ├── _PartialDocForm.cshtml │ │ └── _PartialDocList.cshtml │ ├── Draw │ │ ├── _PartialBPMNEditor.cshtml │ │ ├── _PartialDrawForm.cshtml │ │ ├── _PartialDrawList.cshtml │ │ ├── _PartialGraphEditor.cshtml │ │ └── _PartialMindEditor.cshtml │ ├── Gist │ │ ├── Code.cshtml │ │ ├── _PartialGistEditor.cshtml │ │ └── _PartialGistList.cshtml │ ├── Guff │ │ ├── Code.cshtml │ │ ├── _PartialGuffEditor.cshtml │ │ └── _PartialGuffList.cshtml │ ├── Home │ │ ├── CompleteInfo.cshtml │ │ ├── List.cshtml │ │ ├── Tags.cshtml │ │ ├── Write.cshtml │ │ ├── _PartialTagItem.cshtml │ │ ├── _PartialTagNav.cshtml │ │ ├── _PartialWritingItem.cshtml │ │ └── _PartialWritingList.cshtml │ ├── Mix │ │ ├── About.cshtml │ │ ├── Faq.cshtml │ │ └── Terms.cshtml │ ├── Note │ │ └── Index.cshtml │ ├── Run │ │ ├── _PartialRunEditor.cshtml │ │ └── _PartialRunList.cshtml │ ├── SS │ │ ├── BMI.cshtml │ │ ├── BPMN.cshtml │ │ ├── Base64.cshtml │ │ ├── Brush.cshtml │ │ ├── Chat.cshtml │ │ ├── Code.cshtml │ │ ├── DataDict.cshtml │ │ ├── DataTo.cshtml │ │ ├── Diff.cshtml │ │ ├── Emoji.cshtml │ │ ├── Express.cshtml │ │ ├── Favicon.cshtml │ │ ├── Formatter.cshtml │ │ ├── GitStorage.cshtml │ │ ├── Graph.cshtml │ │ ├── ICP.cshtml │ │ ├── IP.cshtml │ │ ├── IdCard.cshtml │ │ ├── Identicon.cshtml │ │ ├── Index.cshtml │ │ ├── JsCss.cshtml │ │ ├── Lottery.cshtml │ │ ├── Message.cshtml │ │ ├── Mind.cshtml │ │ ├── NLP.cshtml │ │ ├── NSFW.cshtml │ │ ├── Nginx.cshtml │ │ ├── OCR.cshtml │ │ ├── OfficeView.cshtml │ │ ├── PDF.cshtml │ │ ├── PDM.cshtml │ │ ├── PingCloud.cshtml │ │ ├── QrCode.cshtml │ │ ├── RMB.cshtml │ │ ├── RandomCode.cshtml │ │ ├── RandomMatch.cshtml │ │ ├── SpeedTest.cshtml │ │ ├── Svgo.cshtml │ │ ├── SwaggerTo.cshtml │ │ ├── Symbol.cshtml │ │ ├── TV.cshtml │ │ ├── UserAgent.cshtml │ │ ├── VSCode.cshtml │ │ ├── WallPaper.cshtml │ │ ├── ZeroTier.cshtml │ │ ├── Zidian.cshtml │ │ └── Zoning.cshtml │ ├── Shared │ │ ├── _Layout.cshtml │ │ ├── _PartialFooter.cshtml │ │ ├── _PartialNav.cshtml │ │ └── _PartialPaging.cshtml │ ├── User │ │ ├── Id.cshtml │ │ ├── Message.cshtml │ │ ├── Setting.cshtml │ │ ├── Verify.cshtml │ │ └── Write.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.Development.json ├── appsettings.json ├── static │ ├── README.md │ └── sample.zip └── wwwroot │ ├── _headers │ ├── app │ ├── boot │ │ ├── README.md │ │ ├── audio │ │ │ └── Alan_Walker_Intro.mp3 │ │ ├── css │ │ │ └── style.css │ │ ├── favicon.ico │ │ ├── images │ │ │ ├── btn_spr.png │ │ │ ├── light_1.png │ │ │ ├── light_2.png │ │ │ ├── light_3.png │ │ │ ├── light_4.png │ │ │ ├── page1_bg.jpg │ │ │ ├── page3_bg.jpg │ │ │ └── star.png │ │ ├── index.html │ │ └── js │ │ │ ├── index.js │ │ │ └── vendors.js │ ├── jcute │ │ ├── README.md │ │ ├── build.html │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── src │ │ │ ├── jCute.ajax.js │ │ │ ├── jCute.all.js │ │ │ ├── jCute.convert.js │ │ │ ├── jCute.cookie.js │ │ │ ├── jCute.js │ │ │ ├── jCute.load.js │ │ │ ├── jCute.support.js │ │ │ ├── jCute.xml.js │ │ │ └── merge.bat │ │ └── view.html │ ├── jz │ │ ├── 1.0.0 │ │ │ ├── iframe.html │ │ │ ├── index.html │ │ │ ├── jz-1.0.0.css │ │ │ ├── jz-1.0.0.js │ │ │ └── jz-1.0.0.min.js │ │ ├── 1.0.1 │ │ │ ├── iframe.html │ │ │ ├── index.html │ │ │ ├── jz-1.0.1.css │ │ │ ├── jz-1.0.1.js │ │ │ └── jz-1.0.1.min.js │ │ ├── 2.0.0 │ │ │ ├── iframe.html │ │ │ ├── index.html │ │ │ ├── jz.css │ │ │ ├── jz.js │ │ │ └── jz.min.js │ │ ├── 2.0.1 │ │ │ ├── iframe.html │ │ │ ├── index.html │ │ │ ├── jz.css │ │ │ ├── jz.js │ │ │ └── jz.min.js │ │ ├── 2.0.2 │ │ │ ├── iframe.html │ │ │ ├── index.html │ │ │ ├── jz.css │ │ │ ├── jz.js │ │ │ └── jz.min.js │ │ ├── README.md │ │ ├── favicon.ico │ │ └── index.html │ └── vv │ │ ├── favicon.ico │ │ ├── index.html │ │ ├── vip.crx │ │ ├── vip.pem │ │ └── vip │ │ ├── background.js │ │ ├── favicon.png │ │ └── manifest.json │ ├── base64.html │ ├── bmi.html │ ├── bpmn.html │ ├── brush.html │ ├── chat.html │ ├── code.html │ ├── datadict.html │ ├── datato.html │ ├── diff.html │ ├── emoji.html │ ├── express.html │ ├── favicon.html │ ├── favicon.ico │ ├── favicon.png │ ├── favicon.svg │ ├── file │ ├── clean-css │ │ ├── clean-css.min.js │ │ └── node-rs-jieba.min.js │ ├── data-bing-wallpaper.json │ ├── data-cloud-node.js │ ├── data-dns.js │ ├── data-gc.js │ ├── data-idcard.js │ ├── data-m3u8.txt │ ├── data-nav.json │ ├── data-purine.js │ ├── data-regex.js │ ├── doc-docsify.js │ ├── doc-template-api.md │ ├── doc-template-dic.md │ ├── docsify-better │ │ ├── docsify-better.css │ │ └── docsify-better.js │ ├── draw-bpmn.js │ ├── draw-graph.js │ ├── draw-mind.js │ ├── identicon │ │ ├── identicon.md │ │ └── identicon.min.js │ ├── kityminder │ │ ├── color-picker.min.css │ │ ├── color-picker.min.js │ │ ├── hotbox.css │ │ ├── hotbox.min.js │ │ ├── images │ │ │ ├── iconpriority.png │ │ │ ├── iconprogress.png │ │ │ ├── icons.png │ │ │ └── template.png │ │ ├── json-diff.js │ │ ├── kity.min.js │ │ ├── kityminder.editor.min.css │ │ └── kityminder.editor.min.js │ ├── mailchecker │ │ ├── README.md │ │ └── list.txt │ ├── md │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── netnrmd.css │ │ └── netnrmd.js │ ├── mimc │ │ ├── README.md │ │ └── mimc-min_1_0_3.js │ ├── mxgraph │ │ ├── grapheditor │ │ │ ├── deflate │ │ │ │ ├── base64.js │ │ │ │ └── pako.min.js │ │ │ ├── images │ │ │ │ ├── checkmark.gif │ │ │ │ ├── clear.gif │ │ │ │ ├── close.png │ │ │ │ ├── collapsed.gif │ │ │ │ ├── dropdown.gif │ │ │ │ ├── dropdown.png │ │ │ │ ├── edit.gif │ │ │ │ ├── expanded.gif │ │ │ │ ├── grid.gif │ │ │ │ ├── handle-fixed.png │ │ │ │ ├── handle-main.png │ │ │ │ ├── handle-rotate.png │ │ │ │ ├── handle-secondary.png │ │ │ │ ├── handle-terminal.png │ │ │ │ ├── help.png │ │ │ │ ├── locked.png │ │ │ │ ├── logo.png │ │ │ │ ├── move.png │ │ │ │ ├── nocolor.png │ │ │ │ ├── refresh.png │ │ │ │ ├── round-drop.png │ │ │ │ ├── search.png │ │ │ │ ├── transparent.gif │ │ │ │ ├── triangle-down.png │ │ │ │ ├── triangle-left.png │ │ │ │ ├── triangle-right.png │ │ │ │ ├── triangle-up.png │ │ │ │ └── unlocked.png │ │ │ ├── index.html │ │ │ ├── js │ │ │ │ ├── Actions.js │ │ │ │ ├── Dialogs.js │ │ │ │ ├── Editor.js │ │ │ │ ├── EditorUi.js │ │ │ │ ├── Format.js │ │ │ │ ├── Graph.js │ │ │ │ ├── Init.js │ │ │ │ ├── Menus.js │ │ │ │ ├── Shapes.js │ │ │ │ ├── Sidebar.js │ │ │ │ └── Toolbar.js │ │ │ ├── jscolor │ │ │ │ ├── arrow.gif │ │ │ │ ├── cross.gif │ │ │ │ ├── hs.png │ │ │ │ ├── hv.png │ │ │ │ └── jscolor.js │ │ │ ├── open.html │ │ │ ├── resources │ │ │ │ ├── grapheditor.txt │ │ │ │ ├── grapheditor_de.txt │ │ │ │ ├── grapheditor_en.txt │ │ │ │ ├── grapheditor_se.txt │ │ │ │ ├── grapheditor_zh.txt │ │ │ │ ├── help.html │ │ │ │ ├── help_de.html │ │ │ │ └── help_se.html │ │ │ ├── sanitizer │ │ │ │ └── sanitizer.min.js │ │ │ ├── stencils │ │ │ │ ├── arrows.xml │ │ │ │ ├── basic.xml │ │ │ │ ├── bpmn.xml │ │ │ │ ├── clipart │ │ │ │ │ ├── Credit_Card_128x128.png │ │ │ │ │ ├── Database_128x128.png │ │ │ │ │ ├── Doctor1_128x128.png │ │ │ │ │ ├── Earth_globe_128x128.png │ │ │ │ │ ├── Email_128x128.png │ │ │ │ │ ├── Empty_Folder_128x128.png │ │ │ │ │ ├── Firewall_02_128x128.png │ │ │ │ │ ├── Full_Folder_128x128.png │ │ │ │ │ ├── Gear_128x128.png │ │ │ │ │ ├── Graph_128x128.png │ │ │ │ │ ├── Laptop_128x128.png │ │ │ │ │ ├── Lock_128x128.png │ │ │ │ │ ├── MacBook_128x128.png │ │ │ │ │ ├── Monitor_Tower_128x128.png │ │ │ │ │ ├── Piggy_Bank_128x128.png │ │ │ │ │ ├── Pilot1_128x128.png │ │ │ │ │ ├── Printer_128x128.png │ │ │ │ │ ├── Router_Icon_128x128.png │ │ │ │ │ ├── Safe_128x128.png │ │ │ │ │ ├── Security1_128x128.png │ │ │ │ │ ├── Server_Tower_128x128.png │ │ │ │ │ ├── Shopping_Cart_128x128.png │ │ │ │ │ ├── Software_128x128.png │ │ │ │ │ ├── Soldier1_128x128.png │ │ │ │ │ ├── Suit1_128x128.png │ │ │ │ │ ├── Suit2_128x128.png │ │ │ │ │ ├── Suit3_128x128.png │ │ │ │ │ ├── Tech1_128x128.png │ │ │ │ │ ├── Telesales1_128x128.png │ │ │ │ │ ├── Virtual_Machine_128x128.png │ │ │ │ │ ├── Virus_128x128.png │ │ │ │ │ ├── Wireless_Router_N_128x128.png │ │ │ │ │ ├── Worker1_128x128.png │ │ │ │ │ ├── Workstation_128x128.png │ │ │ │ │ ├── iMac_128x128.png │ │ │ │ │ └── iPad_128x128.png │ │ │ │ └── flowchart.xml │ │ │ ├── styles │ │ │ │ ├── default.xml │ │ │ │ ├── down.gif │ │ │ │ ├── grapheditor.css │ │ │ │ ├── help.css │ │ │ │ ├── sprites.png │ │ │ │ ├── thumb_horz.png │ │ │ │ ├── thumb_vertical.png │ │ │ │ └── up.gif │ │ │ └── viewer.html │ │ ├── mxClient.min.js │ │ └── src │ │ │ ├── css │ │ │ ├── common.css │ │ │ └── explorer.css │ │ │ ├── images │ │ │ ├── button.gif │ │ │ ├── close.gif │ │ │ ├── collapsed.gif │ │ │ ├── error.gif │ │ │ ├── expanded.gif │ │ │ ├── maximize.gif │ │ │ ├── minimize.gif │ │ │ ├── normalize.gif │ │ │ ├── point.gif │ │ │ ├── resize.gif │ │ │ ├── separator.gif │ │ │ ├── submenu.gif │ │ │ ├── transparent.gif │ │ │ ├── warning.gif │ │ │ ├── warning.png │ │ │ ├── window-title.gif │ │ │ └── window.gif │ │ │ └── resources │ │ │ ├── editor.txt │ │ │ ├── editor_de.txt │ │ │ ├── editor_zh.txt │ │ │ ├── graph.txt │ │ │ ├── graph_de.txt │ │ │ └── graph_zh.txt │ ├── run-oconsole.js │ ├── ss-bpmn.js │ ├── ss-brush.js │ ├── ss-editor-nginx.js │ ├── ss-graph.js │ ├── ss-jsontocsharp.js │ ├── ss-mind.js │ ├── ss-pdm.js │ ├── ss-swaggerto.js │ └── txt2img │ │ └── text-to-image.js │ ├── formatter.html │ ├── free.html │ ├── gitstorage.html │ ├── graph.html │ ├── icp.html │ ├── idcard.html │ ├── identicon.html │ ├── images │ ├── bird.jpg │ ├── bird.png │ ├── cover │ │ ├── netnr_121x75.png │ │ ├── netnr_121x75.psd │ │ ├── netnr_200x133.png │ │ ├── netnr_200x133.psd │ │ ├── netnr_360x200.png │ │ └── netnr_360x200.psd │ ├── icon.svg │ ├── icon │ │ ├── beian.svg │ │ ├── bmi.svg │ │ ├── boot.svg │ │ ├── browser.svg │ │ ├── brush.svg │ │ ├── chain.svg │ │ ├── code.svg │ │ ├── convert.svg │ │ ├── dashboard.svg │ │ ├── dataquery.svg │ │ ├── db.svg │ │ ├── dice.svg │ │ ├── dictionary.svg │ │ ├── diff.svg │ │ ├── emoji.svg │ │ ├── express.svg │ │ ├── formatter.svg │ │ ├── gitpush.svg │ │ ├── graph.svg │ │ ├── grid.svg │ │ ├── icp.svg │ │ ├── idcard.svg │ │ ├── info.svg │ │ ├── ip.svg │ │ ├── js.svg │ │ ├── json.svg │ │ ├── key.svg │ │ ├── lock.svg │ │ ├── lottery.svg │ │ ├── love.svg │ │ ├── markdown.svg │ │ ├── message.svg │ │ ├── microsoft.svg │ │ ├── mind.svg │ │ ├── nginx.svg │ │ ├── nlp.svg │ │ ├── nsfw.svg │ │ ├── ocr.svg │ │ ├── office.svg │ │ ├── p2p.svg │ │ ├── pdf.svg │ │ ├── pdm.svg │ │ ├── ping.svg │ │ ├── qrcode.svg │ │ ├── rmb.svg │ │ ├── sql.svg │ │ ├── swagger.svg │ │ ├── symbol.svg │ │ ├── tv.svg │ │ ├── vector.svg │ │ ├── video.svg │ │ ├── vsc.svg │ │ ├── wallpaper.svg │ │ └── zoning.svg │ ├── loading.svg │ └── netnr_avatar.jpg │ ├── index.html │ ├── ip.html │ ├── jscss.html │ ├── jsonto.html │ ├── lottery.html │ ├── message.html │ ├── mind.html │ ├── nginx.html │ ├── nlp.html │ ├── nsfw.html │ ├── ocr.html │ ├── officeview.html │ ├── pdf.html │ ├── pdm.html │ ├── pingcloud.html │ ├── ps.html │ ├── qrcode.html │ ├── randomcode.html │ ├── randommatch.html │ ├── rmb.html │ ├── speedtest.html │ ├── svgo.html │ ├── swaggerto.html │ ├── symbol.html │ ├── tv.html │ ├── useragent.html │ ├── vercel.json │ ├── vscode.html │ ├── wallpaper.html │ ├── zerotier.html │ ├── zidian.html │ └── zoning.html ├── Netnr.ClientApp ├── ClientBlog │ ├── css │ │ └── web.css │ ├── index.js │ ├── js │ │ ├── nrVary.js │ │ ├── nrWeb.js │ │ ├── pack │ │ │ ├── nrPack_admin.js │ │ │ ├── nrPack_doc.js │ │ │ ├── nrPack_gist.js │ │ │ ├── nrPack_home.js │ │ │ ├── nrPack_mix.js │ │ │ ├── nrPack_note.js │ │ │ ├── nrPack_run.js │ │ │ ├── nrPack_ss.js │ │ │ └── nrPack_user.js │ │ └── page │ │ │ ├── admin │ │ │ ├── nrPageAdminKeyValues.js │ │ │ ├── nrPageAdminLog.js │ │ │ ├── nrPageAdminLogChart.js │ │ │ ├── nrPageAdminReply.js │ │ │ └── nrPageAdminWrite.js │ │ │ ├── doc │ │ │ ├── nrPageDocCatalog.js │ │ │ └── nrPageDocItem.js │ │ │ ├── gist │ │ │ ├── nrPageGistCode.js │ │ │ └── nrPageGistIndex.js │ │ │ ├── home │ │ │ ├── nrPageHomeList.js │ │ │ └── nrPageHomeWrite.js │ │ │ ├── mix │ │ │ └── nrPageMixAbout.js │ │ │ ├── note │ │ │ └── nrPageNoteIndex.js │ │ │ ├── run │ │ │ └── nrPageRunIndex.js │ │ │ ├── ss │ │ │ ├── nrPageSsBase64.js │ │ │ ├── nrPageSsBmi.js │ │ │ ├── nrPageSsChat.js │ │ │ ├── nrPageSsCode.js │ │ │ ├── nrPageSsDatadict.js │ │ │ ├── nrPageSsDatato.js │ │ │ ├── nrPageSsDiff.js │ │ │ ├── nrPageSsEmoji.js │ │ │ ├── nrPageSsFavicon.js │ │ │ ├── nrPageSsFormatter.js │ │ │ ├── nrPageSsGitstorage.js │ │ │ ├── nrPageSsIcp.js │ │ │ ├── nrPageSsIdcard.js │ │ │ ├── nrPageSsIdenticon.js │ │ │ ├── nrPageSsIndex.js │ │ │ ├── nrPageSsIp.js │ │ │ ├── nrPageSsJscss.js │ │ │ ├── nrPageSsLottery.js │ │ │ ├── nrPageSsMessage.js │ │ │ ├── nrPageSsNginx.js │ │ │ ├── nrPageSsNlp.js │ │ │ ├── nrPageSsNsfw.js │ │ │ ├── nrPageSsOcr.js │ │ │ ├── nrPageSsOfficeview.js │ │ │ ├── nrPageSsPdf.js │ │ │ ├── nrPageSsPdm.js │ │ │ ├── nrPageSsPingcloud.js │ │ │ ├── nrPageSsQrcode.js │ │ │ ├── nrPageSsRandomcode.js │ │ │ ├── nrPageSsRandommatch.js │ │ │ ├── nrPageSsRmb.js │ │ │ ├── nrPageSsSpeedtest.js │ │ │ ├── nrPageSsSvgo.js │ │ │ ├── nrPageSsSwaggerto.js │ │ │ ├── nrPageSsTv.js │ │ │ ├── nrPageSsUseragent.js │ │ │ ├── nrPageSsVscode.js │ │ │ ├── nrPageSsWallpaper.js │ │ │ ├── nrPageSsZerotier.js │ │ │ ├── nrPageSsZidian.js │ │ │ └── nrPageSsZoning.js │ │ │ └── user │ │ │ ├── nrPageUserId.js │ │ │ ├── nrPageUserMessage.js │ │ │ ├── nrPageUserSetting.js │ │ │ └── nrPageUserWrite.js │ └── webpack.config.js ├── ClientBrowserify │ ├── README.md │ └── js │ │ └── clean-css.js ├── ClientDataKit │ ├── css │ │ ├── fix-grid.css │ │ ├── fix-sl.css │ │ ├── index-mobile.css │ │ ├── index.css │ │ └── nrc.css │ ├── file │ │ ├── assets │ │ │ ├── codes │ │ │ │ ├── @_help.jsx │ │ │ │ ├── build.bat │ │ │ │ ├── build.sh │ │ │ │ ├── csharp_admin_ctrl.jsx │ │ │ │ ├── csharp_admin_js.jsx │ │ │ │ ├── csharp_dal.jsx │ │ │ │ ├── csharp_model.jsx │ │ │ │ ├── csharp_nrf_cv.jsx │ │ │ │ ├── csharp_nrf_js.jsx │ │ │ │ ├── csharp_nrf_table_config.jsx │ │ │ │ ├── java_model.jsx │ │ │ │ └── list.txt │ │ │ └── icons │ │ │ │ ├── clickhouse.svg │ │ │ │ ├── dm.svg │ │ │ │ ├── mariadb.svg │ │ │ │ ├── mysql.svg │ │ │ │ ├── oracle.svg │ │ │ │ ├── postgresql.svg │ │ │ │ ├── sqlite.svg │ │ │ │ └── sqlserver.svg │ │ ├── index.html │ │ └── index_online.html │ ├── index.js │ ├── index_online.js │ ├── js │ │ ├── ndkAction.js │ │ ├── ndkEditor.js │ │ ├── ndkExecute.js │ │ ├── ndkFunction.js │ │ ├── ndkGenerateCode.js │ │ ├── ndkGenerateDDL.js │ │ ├── ndkGenerateSQL.js │ │ ├── ndkI18n.js │ │ ├── ndkInit.js │ │ ├── ndkNoteSQL.js │ │ ├── ndkRequest.js │ │ ├── ndkStep.js │ │ ├── ndkStorage.js │ │ ├── ndkTab.js │ │ ├── ndkVary.js │ │ └── ndkView.js │ ├── webpack.config.js │ └── webpack.config.online.js ├── ClientDocsifyBetter │ ├── css │ │ ├── bootstrap-reboot.css │ │ ├── toc.css │ │ └── vue.css │ ├── index.js │ └── webpack.config.file.js ├── ClientJE │ ├── file │ │ └── index.html │ ├── index.js │ ├── js │ │ ├── nrVary.js │ │ └── nrWeb.js │ └── webpack.config.js ├── ClientMD │ ├── CHANGELOG.md │ ├── README.md │ ├── css │ │ ├── nmd-editor.css │ │ ├── nmd-global.css │ │ ├── nmd-hljs.css │ │ ├── nmd-markdown.css │ │ └── nmd-toc.css │ ├── file │ │ └── index.html │ ├── index.js │ ├── indexWeb.js │ ├── js │ │ ├── netnrmd.js │ │ ├── netnrmdInit.js │ │ └── nrWeb.js │ ├── webpack.config.file.js │ └── webpack.config.js ├── ClientSpider │ ├── README.md │ ├── js │ │ ├── nrSpider.js │ │ ├── spider_industry_category.js │ │ ├── spider_product_category.js │ │ ├── spider_product_unit.js │ │ └── spider_zoning.js │ └── test │ │ ├── test-stats-zoning.html │ │ └── test-stats-zoning.js ├── ClientTest │ ├── file │ │ └── index.html │ ├── index.js │ ├── js │ │ ├── exceljs.js │ │ ├── litHtml.js │ │ ├── nrWeb.js │ │ ├── paddleOCR.js │ │ └── paddleOCRDet.js │ └── webpack.config.js ├── ClientUUID │ ├── README.md │ ├── css │ │ └── web.css │ ├── file │ │ ├── convertbookmarks.html │ │ └── index.html │ ├── index.js │ ├── js │ │ ├── nrVary.js │ │ └── nrWeb.js │ └── webpack.config.js ├── babel.config.js ├── file │ ├── client.json │ ├── deno.ts │ └── favicon.ico ├── frame │ ├── Bootstrap │ │ ├── nrApp.js │ │ └── nrDark.css │ ├── Shared │ │ └── nrShared.css │ ├── Shoelace │ │ ├── nrApp.js │ │ ├── nrDark.css │ │ └── nrTree.js │ ├── monaco-old.js │ ├── nrDatepicker.js │ ├── nrECharts.js │ ├── nrEditor.js │ ├── nrGrid.js │ ├── nrPolyfill.js │ ├── nrRouter.js │ ├── nrSafe.js │ ├── nrStorage.js │ ├── nrUppy.js │ ├── nrXLSX.js │ ├── nrcAes.js │ ├── nrcAgGridQuery.js │ ├── nrcBase.js │ ├── nrcFile.js │ ├── nrcIndexedDB.js │ ├── nrcLeanCloud.js │ ├── nrcLngLat.js │ ├── nrcRandomatic.js │ ├── nrcRely.js │ ├── nrcSnowflake.js │ ├── nrcSplit.js │ ├── nrcUpstream.js │ └── nrcViewer.js ├── package-lock.json └── package.json ├── Netnr.Core └── Netnr.Core.csproj ├── Netnr.DataKit ├── Controllers │ └── HomeController.cs ├── Netnr.DataKit.csproj ├── Program.cs ├── Views │ ├── Shared │ │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.Development.json ├── appsettings.json └── wwwroot │ ├── assets │ ├── codes │ │ ├── @_help.jsx │ │ ├── build.bat │ │ ├── build.sh │ │ ├── csharp_dal.jsx │ │ ├── csharp_model.jsx │ │ ├── csharp_nrf_cv.jsx │ │ ├── csharp_nrf_js.jsx │ │ ├── csharp_nrf_table_config.jsx │ │ ├── java_model.jsx │ │ └── list.txt │ └── icons │ │ ├── mariadb.svg │ │ ├── mysql.svg │ │ ├── oracle.svg │ │ ├── postgresql.svg │ │ ├── sqlite.svg │ │ └── sqlserver.svg │ ├── favicon.ico │ └── index.html ├── Netnr.DataX ├── Application │ ├── ConfigModel.cs │ ├── ConsoleX.cs │ └── MenuDataService.cs ├── Netnr.DataX.csproj ├── Program.cs ├── favicon.ico └── ud │ └── config.json ├── Netnr.Demo ├── Controllers │ ├── GraphController.cs │ ├── GraphDemo │ │ ├── ImageSharpController.cs │ │ ├── MagickNETController.cs │ │ ├── NetVipsController.cs │ │ ├── SkiaSharpController.cs │ │ └── SystemDrawingCommonController.cs │ ├── HomeController.cs │ └── LoginDemo │ │ ├── AccountController.cs │ │ └── LoginController.cs ├── Netnr.Demo.csproj ├── Program.cs ├── Views │ ├── Graph │ │ └── Index.cshtml │ ├── Home │ │ └── Index.cshtml │ ├── Shared │ │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.Development.json ├── appsettings.json └── wwwroot │ ├── favicon.ico │ ├── graph │ └── index.js │ └── images │ └── netnr_avatar.jpg ├── Netnr.FileServer ├── Application │ └── AppService.cs ├── Controllers │ ├── APIController.cs │ └── HomeController.cs ├── Domain │ ├── BaseApp.cs │ ├── BaseFile.cs │ └── FixedTokenJson.cs ├── GlobalUsing.cs ├── Netnr.FileServer.csproj ├── Program.cs ├── Views │ ├── Shared │ │ └── _Layout.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.Development.json ├── appsettings.json ├── static │ └── README.md └── wwwroot │ ├── favicon.ico │ ├── favicon.svg │ └── static │ └── README.md ├── Netnr.Garnet ├── Netnr.Garnet.csproj └── Program.cs ├── Netnr.Login └── Netnr.Login.csproj ├── Netnr.P.sln ├── Netnr.PaddleOCR ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── Netnr.PaddleOCR.csproj ├── PaddleTo.cs ├── Program.cs ├── Properties │ ├── Resources.Designer.cs │ └── Resources.resx ├── favicon.ico └── loading.gif ├── Netnr.PaddleSeg ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── Netnr.PaddleSeg.csproj ├── PaddleSegService.cs ├── Program.cs ├── Properties │ ├── Resources.Designer.cs │ └── Resources.resx ├── favicon.ico └── loading.gif ├── Netnr.ResponseFramework.Application ├── Datas │ ├── ContextBase.cs │ └── ContextBaseFactory.cs ├── GlobalUsing.cs ├── Netnr.ResponseFramework.Application.csproj └── Services │ ├── CommonService.cs │ └── ExportService.cs ├── Netnr.ResponseFramework.Domain ├── Entities │ ├── SysButton.cs │ ├── SysDictionary.cs │ ├── SysLog.cs │ ├── SysMenu.cs │ ├── SysRole.cs │ ├── SysTableConfig.cs │ ├── SysUser.cs │ ├── TempExample.cs │ ├── TempInvoiceDetail.cs │ └── TempInvoiceMain.cs ├── Models │ ├── InvokeFormVM.cs │ ├── LoginUserVM.cs │ ├── QueryDataInputVM.cs │ ├── QueryDataOutputVM.cs │ ├── TreeNodeVM.cs │ └── ValueTextVM.cs └── Netnr.ResponseFramework.Domain.csproj ├── Netnr.ResponseFramework.Web ├── Components │ ├── ButtonViewComponent.cs │ └── FormViewComponent.cs ├── Controllers │ ├── AccountController.cs │ ├── CommonController.cs │ ├── HomeController.cs │ ├── IOController.cs │ ├── InlayController.cs │ ├── RFController.cs │ ├── ServicesController.cs │ └── SettingController.cs ├── Filters │ └── FilterConfigs.cs ├── GlobalUsing.cs ├── Netnr.ResponseFramework.Web.csproj ├── Program.cs ├── Services │ ├── IdentityService.cs │ └── LoggingService.cs ├── Views │ ├── Account │ │ ├── Login.cshtml │ │ └── UpdatePassword.cshtml │ ├── Home │ │ ├── Desk.cshtml │ │ ├── Guide.cshtml │ │ ├── Index.cshtml │ │ └── UB.cshtml │ ├── RF │ │ ├── BuildForms.cshtml │ │ ├── DataGrid.cshtml │ │ ├── Form.cshtml │ │ ├── GridChange.cshtml │ │ ├── GridQuery.cshtml │ │ ├── Invoice.cshtml │ │ ├── RichText.cshtml │ │ ├── Tce.cshtml │ │ ├── TreeGrid.cshtml │ │ └── Upload.cshtml │ ├── Setting │ │ ├── SysButton.cshtml │ │ ├── SysDictionary.cshtml │ │ ├── SysLog.cshtml │ │ ├── SysMenu.cshtml │ │ ├── SysRole.cshtml │ │ ├── SysStyle.cshtml │ │ ├── SysTableConfig.cshtml │ │ └── SysUser.cshtml │ ├── Shared │ │ ├── Components │ │ │ ├── Button │ │ │ │ └── Default.cshtml │ │ │ └── Form │ │ │ │ ├── Default.cshtml │ │ │ │ └── Invoice.cshtml │ │ ├── _BaseViewPartial.cshtml │ │ ├── _FormItemPartial.cshtml │ │ ├── _Layout.cshtml │ │ └── _QuotePartial.cshtml │ ├── _ViewImports.cshtml │ └── _ViewStart.cshtml ├── appsettings.Development.json ├── appsettings.json ├── static │ ├── netnrf.db │ └── sample.zip └── wwwroot │ ├── css │ ├── README.md │ ├── account │ │ └── login.css │ └── z.css │ ├── favicon.ico │ ├── favicon.svg │ ├── images │ ├── chart.svg │ ├── loading.gif │ ├── loading.svg │ └── netnr_avatar.jpg │ ├── js │ ├── README.md │ ├── account │ │ ├── login.js │ │ └── updatepassword.js │ ├── home │ │ └── desk.js │ ├── init.js │ ├── inlay │ │ ├── baseviewpartial.js │ │ ├── configform.js │ │ ├── configinvoice.js │ │ ├── configquery.js │ │ └── configtable.js │ ├── rf │ │ ├── datagrid.js │ │ ├── gridchange.js │ │ ├── invoice.js │ │ ├── richtext.js │ │ ├── tce.js │ │ ├── treegrid.js │ │ └── upload.js │ ├── setting │ │ ├── sysbutton.js │ │ ├── sysdictionary.js │ │ ├── syslog.js │ │ ├── sysmenu.js │ │ ├── sysrole.js │ │ ├── sysstyle.js │ │ ├── systableconfig.js │ │ └── sysuser.js │ ├── tool │ │ └── serverinfo.js │ └── z.js │ ├── libs │ ├── ace │ │ ├── ace-skins.min.css │ │ ├── ace.min.css │ │ └── ace.min.js │ ├── jquery-easyui-extension │ │ ├── datagrid-dnd.min.js │ │ ├── datagrid-filter.min.js │ │ └── datagrid-groupview.min.js │ └── jquery-easyui │ │ ├── jquery.easyui.min.js │ │ └── themes │ │ └── metro │ │ ├── easyui.css │ │ └── images │ │ ├── accordion_arrows.png │ │ ├── blank.gif │ │ ├── calendar_arrows.png │ │ ├── combo_arrow.png │ │ ├── datagrid_icons.png │ │ ├── datebox_arrow.png │ │ ├── layout_arrows.png │ │ ├── linkbutton_bg.png │ │ ├── loading.gif │ │ ├── menu_arrows.png │ │ ├── messager_icons.png │ │ ├── messager_icons16.png │ │ ├── pagination_icons.png │ │ ├── panel_tools.png │ │ ├── passwordbox_close.png │ │ ├── passwordbox_open.png │ │ ├── searchbox_button.png │ │ ├── slider_handle.png │ │ ├── spinner_arrows.png │ │ ├── tabs_icons.png │ │ ├── tagbox_icons.png │ │ ├── tree_icons.png │ │ └── validatebox_warning.png │ └── upload │ └── README.md ├── Netnr.Serve ├── Netnr.Serve.csproj └── Program.cs ├── Netnr.Shared ├── AGGrid │ └── AGGridTo.cs ├── Activation │ └── ActivationTo.cs ├── Ado │ ├── DbKit.cs │ ├── DbKitClickHouse.cs │ ├── DbKitDm.cs │ ├── DbKitExtensions.cs │ ├── DbKitExtensionsAll.cs │ ├── DbKitModels.cs │ ├── DbKitMySQL.cs │ ├── DbKitOracle.cs │ ├── DbKitPostgreSQL.cs │ ├── DbKitSQLServer.cs │ └── DbKitSQLite.cs ├── App │ └── AppTo.cs ├── Base │ ├── BaseTo.cs │ ├── EnumTo.cs │ ├── Extensions.cs │ ├── JsonConverterTo.cs │ ├── PMScriptTo.cs │ ├── PageVM.cs │ ├── PaginationVM.cs │ ├── ResultVM.cs │ ├── TreeTo.cs │ └── ValueTextVM.cs ├── Compile │ └── CompileTo.cs ├── ConsoleX │ ├── CleanUpService.cs │ ├── ConsoleXModels.cs │ ├── ConsoleXTo.cs │ ├── GlobalUsing.cs │ ├── MenuAboutService.cs │ ├── MenuNetworkService.cs │ └── MenuToolService.cs ├── Core │ ├── CacheTo.cs │ ├── CalcTo.cs │ ├── CmdTo.cs │ ├── ConsoleTo.cs │ ├── Extensions.cs │ ├── FileTo.cs │ ├── GeoTo.cs │ ├── HttpTo.cs │ ├── LngLatTo.cs │ ├── LockTo.cs │ ├── MailTo.cs │ ├── MonitorTo.cs │ ├── ParsingTo.cs │ ├── PredicateTo.cs │ ├── QueueTo.cs │ ├── RandomTo.cs │ ├── Snowflake53To.cs │ ├── SnowflakeTo.cs │ ├── SystemStatusTo.cs │ ├── TextMiningTo.cs │ └── ZipTo.cs ├── DataKit │ ├── DataKitController.cs │ ├── DataKitModels.cs │ ├── DataKitScript.cs │ └── DataKitTo.cs ├── DbContext │ └── DbContextTo.cs ├── Drawing │ └── ImageTo.cs ├── IPQuery │ ├── IPQuery.cs │ ├── IPv4Query.cs │ ├── IPv6Query.cs │ └── README.md ├── Import │ └── ImportTo.cs ├── Logging │ ├── LoggingModel.cs │ ├── LoggingResultVM.cs │ └── LoggingTo.cs ├── Login │ ├── LoginTo.cs │ ├── NetnrCore.cs │ └── which │ │ ├── Alipay.cs │ │ ├── DingTalk.cs │ │ ├── DingTalkOld.cs │ │ ├── Feishu.cs │ │ ├── GitHub.cs │ │ ├── Gitee.cs │ │ ├── Google.cs │ │ ├── Microsoft.cs │ │ ├── MicrosoftOld.cs │ │ ├── QQ.cs │ │ ├── StackOverflow.cs │ │ ├── Taobao.cs │ │ ├── Weibo.cs │ │ ├── Weixin.cs │ │ └── WeixinMP.cs ├── NJson │ ├── Extensions.cs │ └── NJsonConverterTo.cs ├── Netnr.Shared.projitems ├── Netnr.Shared.shproj ├── Npoi │ └── NpoiTo.cs ├── Serve │ └── ServeTo.cs ├── Service │ ├── AgGridService.cs │ └── EWeChatAppService.cs ├── UAParser │ ├── UAModels.cs │ ├── UAParsers.cs │ └── UARegexes.cs ├── Web │ ├── AllowCorsMiddleware.cs │ ├── ClientInfoTo.cs │ ├── Extensions.cs │ ├── ProjectTo.cs │ ├── QuoteTo.cs │ └── SchedulerTo.cs └── Win │ └── WinTo.cs ├── Netnr.Test ├── Netnr.Test.csproj ├── Publish.cs ├── TestDatabaseDuckDB.cs ├── TestDatabaseLiteDB.cs ├── TestFileWatch.cs ├── TestGarnet.cs ├── TestHttpClient.cs ├── TestIQueryable.cs ├── TestLanguage.cs ├── TestNetnrAdo.cs ├── TestNetnrBase.cs ├── TestNetnrCompile.cs ├── TestNetnrCore.cs ├── TestNetnrIPQuery.cs ├── TestNetnrLogging.cs ├── TestNetnrUAParser.cs ├── TestNetworkInterface.cs ├── TestOTP.cs ├── TestParallel.cs ├── TestProtocol.cs ├── TestSystemTestJson.cs ├── TestTmp.cs ├── TestUnique.cs └── TestWMI.cs ├── Netnr.ToolX ├── Netnr.ToolX.csproj ├── Program.cs └── favicon.ico └── Netnr.UAParser └── Netnr.UAParser.csproj /README.md: -------------------------------------------------------------------------------- 1 | # Netnr Project 2 | 3 | https://zme.ink 4 | https://netnr.eu.org 5 | 6 | ### License (协议) 7 | MIT License 8 | 9 | Please keep copyright information (请保留版权信息) -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/docs/.nojekyll -------------------------------------------------------------------------------- /docs/Netnr.Blog.md: -------------------------------------------------------------------------------- 1 | # Netnr.Blog 2 | 个人站点 3 | 4 | > https://netnr.com 5 | > https://netnr.zme.ink 镜像站点 6 | 7 | ### 重大变更 8 | - 2024.12.04 网站改版,旧版本存档不在维护 9 | - 访问链接从 https://www.netnr.com 改为 https://netnr.com ,旧链接会 301 自动跳转 10 | 11 | ### 框架组件 12 | - .NET (latest) + EF + Linq + Bootstrap + AG-Grid + shoelace-style 13 | - 支持:SQLServer、MySQL、PostgreSQL、SQLite 等 14 | - ================================== 15 | - Hangfire(定时任务) 16 | - Markdig (markdown 解析) 17 | - HtmlSanitizer (XSS 清洗) 18 | - SkiaSharp (验证码) 19 | - Swashbuckle.AspNetCore(Swagger 生成接口) 20 | - MailKit(邮箱验证) 21 | - Netnr.Login(第三方登录) 22 | 23 | ### 功能模块 24 | - 登录、注册(第三方直接登录:QQ、微博、GitHub、淘宝、Microsoft) 25 | - Blog:发布文章(Markdown 编辑器) 26 | - Gist:代码片段 27 | - Run:在线运行 HTML 代码,写 demo 用 28 | - Doc:文档管理,API 说明文档 29 | - Graph:流程图 基于 mxGraph 30 | - Mind:脑图 基于 百度脑图 31 | - Guff:尬服,分享有趣的任何 32 | - SS:脚本服务,可独立静态部署,参考 https://ss.js.org 33 | - 备份:自动备份数据库到 GitHub、Gitee 私有仓库 34 | - 管理:文章管理、日志记录、日志统计等 35 | 36 | ### FQA 37 | - 先修改配置,appsettings.json 修改为自己对应的参数 38 | - 数据库连接、域名、资源路径、三方登录 Key、接口密钥、邮箱、备份数据库的私有仓库 39 | - 首次运行项目自动导入示例数据,账号:`netnr`,密码:`netnr1230...5`,示例数据存放在 `static` 目录 -------------------------------------------------------------------------------- /docs/Netnr.DataKit.md: -------------------------------------------------------------------------------- 1 | # NDK (Netnr.DataKit) 2 | 数据库、表、列信息查看,执行 SQL 脚本,生成 SQL、DDL 3 | View database, table, and column information, execute SQL scripts, and generate SQL and DDL 4 | 5 | https://github.com/netnr/np/releases -------------------------------------------------------------------------------- /docs/Netnr.Demo.md: -------------------------------------------------------------------------------- 1 | # Netnr.Demo 2 | 示例、实践 3 | 4 | ### GraphDemo 5 | 跨平台的绘图使用,生成验证码,加水印,裁剪等 6 | 7 | - SkiaSharp 快,跨平台优势,推荐指数 ⭐⭐⭐⭐⭐ , Linux 需安装 fontconfig 8 | - System.Drawing.Common 快,.NET6-Preview7 及以后仅支持 Windows 不支持 Linux ,以前版本 Linux 需依赖 libgdiplus 组件,推荐指数 ⭐⭐ 9 | - SixLabors.ImageSharp.Drawing 一般,跨平台 ⭐⭐⭐ 10 | - NetVips 慢,跨平台,智能剪裁 ⭐⭐⭐ 11 | - Magick.NET 慢,推荐指数 ⭐ 12 | - Microsoft.Maui.Graphics MAUI 抽象集成,推荐指数 ⭐⭐ 13 | 14 | ### LoginDemo 15 | Netnr.Login 登录示例代码 -------------------------------------------------------------------------------- /docs/Netnr.FileServer.md: -------------------------------------------------------------------------------- 1 | # NFS (Netnr.FileServer) 2 | 简单文件服务器,基于嵌入式数据库 3 | Simple file server, based on embedded database 4 | 5 | `appsettings.json` 为配置文件,文件数据库 和 上传目录 赋予读写权限 6 | 7 | https://github.com/netnr/np/releases 8 | 9 | ### 功能 10 | - [x] 获取 Token 授权操作(有效期内访问所有接口) 11 | - [x] 创建 FixedToken 并配置允许访问的接口(永久有效访问授权的接口) 12 | - [x] 上传文件和分块上传文件 13 | - [x] 复制已上传的文件 14 | - [x] 上传覆盖文件 15 | - [x] 删除文件 16 | - [x] 上传临时文件 17 | - [x] 清理临时文件 18 | 19 | ### 授权 20 | 首先创建 App 得到 AppId 、AppKey,然后根据 AppId、AppKey 请求得到 Token, 21 | Token 可根据配置设置有效期,默认 30 分钟有效,缓存 20 分钟(即 20 分钟内请求 Token 返回结果相同) 22 | 或创建 FixedToken 固定永久有效 23 | 24 | ### 分离 25 | 为了更好的维护或数据的安全,需要分离文件数据库和上传的静态目录, 26 | 可以用 `软链接` 的方式来做,`非` Windows 的快捷方式 27 | 28 | ```bash 29 | # Windows 软链接 30 | mklink /d 软链接目录 源目录 # 命令格式 31 | mklink /d static D:\static # 示例 在当前创建 static 目录 指向 D 盘的 static 目录 32 | 33 | # Linux 软链接 34 | ln -s 源目录 软链接目录 # 命令格式 35 | ln -s /mnt/static /site/fileserver/wwwroot/static # 示例 static 指向 /mnt/static 目录 36 | ``` -------------------------------------------------------------------------------- /docs/Netnr.IPQuery.md: -------------------------------------------------------------------------------- 1 | # Netnr.IPQuery 2 | 查询 IP 地址,支持 IPv4 和 IPv6 ,主要国内省市查询,国外仅有国家名称 3 | 4 | ### 使用 (Usage) 5 | ```csharp 6 | // 注册 GBK 编码 7 | Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 8 | 9 | //实例,指定 IPv4 和 IPv6 文件数据库路径 10 | var ipq = new IPQuery(@"D:\tmp\qqwry.dat", @"D:\tmp\ipv6wry.db"); 11 | 12 | var result1 = ipq.Search("61.186.154.83"); 13 | Console.WriteLine($"{result1.Addr} {result1.ISP}"); 14 | 15 | var result2 = ipq.Search("fec0:0:2:1::1"); 16 | Console.WriteLine($"{result2.Addr} {result2.ISP}"); 17 | ``` 18 | 19 | ### 来源 20 | IPv4 来源 https://cz88.net (从公众号下载 exe 程序,安装后拷贝 qqwry.dat 文件) 21 | IPv6 来源 https://ip.zxinc.org (下载 https://ip.zxinc.org/ip.7z 解压拷贝 ipv6wry.db 文件) 22 | 23 | ### 更多 24 | 来源参考 https://github.com/zu1k/nali 25 | 在线接口 https://ip.zxinc.org/api.php?ip=116.179.37.70&type=json -------------------------------------------------------------------------------- /docs/Netnr.UAParser.md: -------------------------------------------------------------------------------- 1 | # Netnr.UAParser 2 | 提取浏览器名称、浏览器版本号、系统名称、系统版本号、是否为爬虫 3 | 4 | ### 使用 (Usage) 5 | ```csharp 6 | //(首次预编译耗时约 5 秒) 7 | 8 | var uap = new UAParsers(userAgent); 9 | 10 | var clientModel = uap.GetClient(); 11 | var deviceModel = uap.GetDevice(); 12 | var osModel = uap.GetOS(); 13 | var botModel = uap.GetBot(); 14 | ``` 15 | 16 | ### 附 17 | 正则: 18 | 去除详细型号检测,包精简,轻依赖,预编译正则,速度快。 -------------------------------------------------------------------------------- /docs/_sidebar.md: -------------------------------------------------------------------------------- 1 | - [netnr](README.md) 2 | 3 | - [Netnr.Login](Netnr.Login.md) 4 | 5 | - Application 6 | - [Netnr.Blog](Netnr.Blog.md) 7 | - [Netnr.DataX](Netnr.DataX.md) 8 | - [Netnr.Serve](Netnr.Serve.md) 9 | - [Netnr.DataKit](Netnr.DataKit.md) 10 | - [Netnr.FileServer](Netnr.FileServer.md) 11 | 12 | - [resume](resume.md) -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/docs/favicon.ico -------------------------------------------------------------------------------- /docs/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/docs/favicon.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Application/Datas/ContextBaseFactory.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Application.Datas; 2 | 3 | /// 4 | /// 数据库工厂 5 | /// 6 | public class ContextBaseFactory : DbContextTo 7 | { 8 | /// 9 | /// 创建 新的数据库上下文 10 | /// 11 | /// 12 | public static ContextBase CreateDbContext() 13 | { 14 | var cob = CreateDbContextOptionsBuilder(AppTo.DBT); 15 | return new ContextBase(cob.Options); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Application/GlobalUsing.cs: -------------------------------------------------------------------------------- 1 | global using System.Net.Http; 2 | global using Microsoft.EntityFrameworkCore; 3 | global using Netnr; 4 | global using Netnr.Blog.Domain.Entities; 5 | global using Netnr.Blog.Domain.Enums; 6 | global using Netnr.Blog.Application.Datas; 7 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Entities/KeyValueSynonym.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Entities; 2 | 3 | /// 4 | /// 键值同义词 5 | /// 6 | public partial class KeyValueSynonym 7 | { 8 | public string KsId { get; set; } 9 | 10 | /// 11 | /// 键名 12 | /// 13 | public string KeyName { get; set; } 14 | 15 | /// 16 | /// 键名 同义词 17 | /// 18 | public string KsName { get; set; } 19 | 20 | /// 21 | /// 备用 22 | /// 23 | public string Spare1 { get; set; } 24 | 25 | /// 26 | /// 备用 27 | /// 28 | public string Spare2 { get; set; } 29 | 30 | /// 31 | /// 备用 32 | /// 33 | public string Spare3 { get; set; } 34 | } 35 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Entities/KeyValues.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Entities; 2 | 3 | /// 4 | /// 键值 5 | /// 6 | public partial class KeyValues 7 | { 8 | public string KeyId { get; set; } 9 | 10 | /// 11 | /// 键名 12 | /// 13 | public string KeyName { get; set; } 14 | 15 | /// 16 | /// 键值 17 | /// 18 | public string KeyValue { get; set; } 19 | 20 | /// 21 | /// 备注 22 | /// 23 | public string KeyRemark { get; set; } 24 | 25 | /// 26 | /// 备用 27 | /// 28 | public string Spare1 { get; set; } 29 | 30 | /// 31 | /// 备用 32 | /// 33 | public string Spare2 { get; set; } 34 | 35 | /// 36 | /// 备用 37 | /// 38 | public string Spare3 { get; set; } 39 | } 40 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Entities/Notepad.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Entities; 2 | 3 | /// 4 | /// 记事本 5 | /// 6 | public partial class Notepad 7 | { 8 | public int NoteId { get; set; } 9 | 10 | /// 11 | /// 所属用户ID 12 | /// 13 | public int? Uid { get; set; } 14 | 15 | /// 16 | /// 标题 17 | /// 18 | public string NoteTitle { get; set; } 19 | 20 | /// 21 | /// 内容 22 | /// 23 | public string NoteContent { get; set; } 24 | 25 | /// 26 | /// 创建时间 27 | /// 28 | public DateTime? NoteCreateTime { get; set; } 29 | 30 | public DateTime? NoteUpdateTime { get; set; } 31 | 32 | /// 33 | /// 备用 34 | /// 35 | public string Spare1 { get; set; } 36 | 37 | /// 38 | /// 备用 39 | /// 40 | public string Spare2 { get; set; } 41 | 42 | /// 43 | /// 备用 44 | /// 45 | public string Spare3 { get; set; } 46 | } 47 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Entities/UserConnection.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Entities; 2 | 3 | /// 4 | /// 用户关联 5 | /// 6 | public partial class UserConnection 7 | { 8 | public string UconnId { get; set; } 9 | 10 | public int? Uid { get; set; } 11 | 12 | /// 13 | /// 关联分类 14 | /// 15 | public string UconnTargetType { get; set; } 16 | 17 | /// 18 | /// 关联目标ID 19 | /// 20 | public string UconnTargetId { get; set; } 21 | 22 | /// 23 | /// 1点赞,2收藏,3关注 24 | /// 25 | public int? UconnAction { get; set; } 26 | 27 | /// 28 | /// 创建时间 29 | /// 30 | public DateTime? UconnCreateTime { get; set; } 31 | 32 | /// 33 | /// 备用 34 | /// 35 | public string Spare1 { get; set; } 36 | 37 | /// 38 | /// 备用 39 | /// 40 | public string Spare2 { get; set; } 41 | 42 | /// 43 | /// 备用 44 | /// 45 | public string Spare3 { get; set; } 46 | } 47 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Entities/UserWritingTags.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Entities; 2 | 3 | /// 4 | /// 写作标签关联 5 | /// 6 | public partial class UserWritingTags 7 | { 8 | public int UwtId { get; set; } 9 | 10 | /// 11 | /// 写作表ID 12 | /// 13 | public int UwId { get; set; } 14 | 15 | /// 16 | /// 标签表ID 17 | /// 18 | public int? TagId { get; set; } 19 | 20 | /// 21 | /// 标签名 22 | /// 23 | public string TagName { get; set; } 24 | 25 | /// 26 | /// 标签编码 27 | /// 28 | public string TagCode { get; set; } 29 | 30 | /// 31 | /// 备用 32 | /// 33 | public string Spare1 { get; set; } 34 | 35 | /// 36 | /// 备用 37 | /// 38 | public string Spare2 { get; set; } 39 | 40 | /// 41 | /// 备用 42 | /// 43 | public string Spare3 { get; set; } 44 | } 45 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Enums/ConnectionTypes.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Enums 2 | { 3 | /// 4 | /// 关联分类 5 | /// 6 | public enum ConnectionTypes 7 | { 8 | /// 9 | /// 文章 10 | /// 11 | UserWriting, 12 | /// 13 | /// 尬服 14 | /// 15 | GuffRecord 16 | } 17 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Enums/MessageTypes.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Enums 2 | { 3 | /// 4 | /// 消息分类 5 | /// 6 | public enum MessageTypes 7 | { 8 | /// 9 | /// 文章 10 | /// 11 | UserWriting, 12 | /// 13 | /// 尬服 14 | /// 15 | GuffRecord 16 | } 17 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Enums/ReplyTypes.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Enums 2 | { 3 | /// 4 | /// 回复分类 5 | /// 6 | public enum ReplyTypes 7 | { 8 | /// 9 | /// 文章 10 | /// 11 | UserWriting, 12 | /// 13 | /// 尬服 14 | /// 15 | GuffRecord 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Models/DocTreeVM.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Models 2 | { 3 | /// 4 | /// 文档树形结构视图 5 | /// 6 | public class DocTreeVM 7 | { 8 | /// 9 | /// 文档页ID 10 | /// 11 | public string DsdId { get; set; } 12 | /// 13 | /// 父ID 14 | /// 15 | public string DsdPid { get; set; } 16 | /// 17 | /// 文档主码 18 | /// 19 | public string DsCode { get; set; } 20 | /// 21 | /// 文档页标题 22 | /// 23 | public string DsdTitle { get; set; } 24 | /// 25 | /// 文档页排序 26 | /// 27 | public int? DsdOrder { get; set; } 28 | /// 29 | /// 是目录 30 | /// 31 | public bool IsCatalog { get; set; } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Models/LoginUserVM.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Blog.Domain.Models 2 | { 3 | /// 4 | /// 登录用户信息 5 | /// 6 | public class LoginUserVM 7 | { 8 | /// 9 | /// 用户ID 10 | /// 11 | public int UserId { get; set; } 12 | /// 13 | /// 登录账号 14 | /// 15 | public string UserName { get; set; } 16 | /// 17 | /// 昵称 18 | /// 19 | public string Nickname { get; set; } 20 | /// 21 | /// 登录标记 22 | /// 23 | public string UserSign { get; set; } 24 | /// 25 | /// 头像 26 | /// 27 | public string UserPhoto { get; set; } 28 | /// 29 | /// Authorization 有效期时间戳(单位秒) 30 | /// 31 | public long Expired { get; set; } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Domain/Netnr.Blog.Domain.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net7.0 5 | latest 6 | enable 7 | 8 | 9 | 10 | $(DefineConstants)TRACE; 11 | 12 | 13 | 14 | $(DefineConstants)TRACE; 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/GlobalUsing.cs: -------------------------------------------------------------------------------- 1 | global using Netnr.Blog.Domain.Entities; 2 | global using Netnr.Blog.Domain.Enums; 3 | global using Netnr.Blog.Domain.Models; 4 | global using Netnr.Blog.Application.Datas; 5 | global using Netnr.Blog.Application.Services; 6 | global using Netnr.Blog.Web.Filters; 7 | global using Netnr.Blog.Web.Services; 8 | global using Microsoft.EntityFrameworkCore; 9 | global using Hangfire; 10 | global using Hangfire.Storage; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Admin/Log.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "日志列表"; 3 | } 4 | 5 |
6 |
7 |
8 | 日志列表 9 | 日志图表 10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Admin/Reply.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "回复管理"; 3 | } 4 | 5 |
6 |
7 |
8 | 文章管理 9 | 回复管理 10 |
11 |
12 | 13 |
14 |
15 |
16 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Admin/Write.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "文章管理"; 3 | } 4 | 5 |
6 |
7 |
8 | 文章管理 9 | 回复管理 10 |
11 |
12 | 13 |
14 |
15 |
16 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Home/CompleteInfo.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "完善信息"; 3 | } 4 | 5 |
6 |
7 |
8 |

完善信息后才能继续

9 |
验证邮箱、填写昵称
10 |

前往 个人设置

11 |
12 |
13 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Home/Tags.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "标签"; 3 | } 4 | 5 |
6 |
7 |
8 |

Tags

9 |

标签是最有效的内容组织形式,正确的使用标签能更快的找到信息

10 |
11 | 12 |
13 |
14 |
15 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Home/Write.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewBag.Title = "写文章"; 3 | } 4 | 5 |
6 |
7 |
8 | 9 |
10 |
11 | 12 |
13 |
14 | 15 |
16 |
17 |
Loading ...
18 |
19 |
20 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Home/_PartialTagItem.cshtml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/Views/Home/_PartialTagItem.cshtml -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Home/_PartialTagNav.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | var listTags = (await CommonService.TagsQuery()).Take(20).ToList(); 3 | } 4 | 5 |
6 | @foreach (var mo in listTags) 7 | { 8 | @mo.TagName 9 | } 10 |
11 |
12 | Tags 13 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Mix/About.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "关于"; 3 | var duration = Math.Ceiling((DateTime.Now - new DateTime(2015, 5, 1)).TotalDays); 4 | } 5 | 6 |
7 |
8 |
9 | 10 |
Loading ...
11 |
12 |
13 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Mix/Faq.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "FAQ"; 3 | 4 | var AdminGitHub = AppTo.GetValue("ProgramParameters:AdminGitHub"); 5 | var Mirror = AppTo.GetValue("ProgramParameters:Mirror"); 6 | } 7 | 8 |
9 |
10 |
11 |

GitHub

12 |

https://github.com/@AdminGitHub

13 |

运营

14 |

15 | 完善信息后才能发布内容
16 | 自由的新增、修改、删除发布内容
17 | 不能编辑、删除回复内容
18 | 不定时清理无意义、非法内容
19 |

20 |

维护

21 |

22 | 不定时备份到镜像只读站点 23 | @Mirror 24 |

25 |
26 |
27 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/Diff.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 8 |
9 |
10 | 11 |
12 |
13 | 14 |
15 |
16 |
17 |
18 |
19 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/Express.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 | 8 |
9 |
10 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/ICP.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 | 8 |
9 |
10 | ICP 11 |
12 |
13 |
14 |
15 |
16 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/Lottery.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 13 |
14 |
15 |
16 | Loading... 17 |
18 |
19 |
20 |
21 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/Message.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 | 8 | 9 | 10 |
11 | 12 |
13 |
14 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/NLP.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 | 8 | 9 |
10 |
11 | 12 |
13 |
14 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/Nginx.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 | SSL Config 8 | nginx.conf 9 |
10 |
11 |
12 |
13 |
14 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/OfficeView.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 | 链接 6 | 7 |
8 |
9 |
10 |
11 | 上传 12 | 13 |
14 |
15 | 19 |
20 | 21 |
22 |
23 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/PDM.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 | 8 |
9 |
10 | 11 |
12 |
13 |
14 |
15 |
16 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/PingCloud.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 |
8 |
9 |
10 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/QrCode.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 | 7 | 8 |
9 | 10 |
11 |
12 |
13 |
14 | 15 | 16 | 17 |
18 |
19 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/RMB.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 | 6 | 7 |
8 |
9 | 10 | 11 |
12 |
13 |
14 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/SpeedTest.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 | 8 |
9 |
10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/Svgo.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 5 |
6 |
7 |
8 | 9 | 10 |
11 |
12 |
13 | 14 |
15 |
16 |
17 |
18 | 19 |
20 |
21 | 22 |
23 |
24 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/TV.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | 7 |
8 |
9 | 10 |
11 |
12 | 13 |
14 |
15 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/SS/UserAgent.cshtml: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 |
5 | 6 | 7 |
8 |
9 |
10 |
11 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/Shared/_PartialPaging.cshtml: -------------------------------------------------------------------------------- 1 | @model PageVM 2 | @{ 3 | var Pag = Model.Pag; 4 | } 5 | 6 | @if (Pag.PageTotal > 1) 7 | { 8 | 31 | } 32 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/User/Verify.cshtml: -------------------------------------------------------------------------------- 1 | @model ResultVM 2 | @{ 3 | ViewData["Title"] = "验证"; 4 | } 5 | 6 |
7 |
8 |
9 | @if (Model.Code == 200) 10 | { 11 | 12 | } 13 | else 14 | { 15 | 16 | } 17 |
18 |
19 |
-------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Netnr; 2 | @using Newtonsoft.Json.Linq; 3 | @using Netnr.Blog.Web; 4 | @using Netnr.Blog.Domain.Entities; 5 | @using Netnr.Blog.Domain.Enums; 6 | @using Netnr.Blog.Domain.Models; 7 | @using Netnr.Blog.Application.Datas; 8 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 9 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | 10 | //使用 mkcert 自签证书(或删除) 11 | "Kestrel": { 12 | "Certificates": { 13 | "Default": { 14 | "Path": "D:/tmp/res/local.pem", 15 | "KeyPath": "D:/tmp/res/local-key.pem" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/static/README.md: -------------------------------------------------------------------------------- 1 | 数据目录 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/static/sample.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/static/sample.zip -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/_headers: -------------------------------------------------------------------------------- 1 | /* 2 | Access-Control-Allow-Origin: * 3 | Access-Control-Allow-Headers: * 4 | Access-Control-Allow-Methods: * 5 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/README.md: -------------------------------------------------------------------------------- 1 | 站点引导 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/audio/Alan_Walker_Intro.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/audio/Alan_Walker_Intro.mp3 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/btn_spr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/btn_spr.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/light_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/light_1.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/light_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/light_2.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/light_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/light_3.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/light_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/light_4.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/page1_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/page1_bg.jpg -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/page3_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/page3_bg.jpg -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/boot/images/star.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jcute/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jcute/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jcute/src/jCute.cookie.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Cookie获取、设置、删除 4 | * @param {string} key 键 5 | * @param {string} value 值 6 | * @param {number} time 过期时间(默认不指定过期时间),单位:毫秒,小于0删除 7 | */ 8 | jCute.cookie = function (key, value, time) { 9 | if (arguments.length == 1) { 10 | var arr, reg = new RegExp("(^| )" + key + "=([^;]*)(;|$)"); 11 | if (arr = document.cookie.match(reg)) { 12 | return arr[2]; 13 | } 14 | return ""; 15 | } else { 16 | var kv = key + "=" + value + ";path=/;"; 17 | if (time != undefined) { 18 | var d = new Date(); 19 | d.setTime(d.getTime() + time); 20 | kv += "expires=" + d.toGMTString() 21 | } 22 | document.cookie = kv; 23 | } 24 | }; 25 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jcute/src/jCute.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jCute JavaScript Library 3 | * 4 | * Date: 2018-05 5 | * Author: netnr 6 | */ 7 | 8 | var jCute = function (selector) { return new jCute.fn.init(selector); }; 9 | 10 | jCute.fn = jCute.prototype = { 11 | init: function (selector) { 12 | //TO DO 13 | 14 | return this; 15 | } 16 | }; 17 | 18 | jCute.fn.init.prototype = jCute.fn; 19 | 20 | window.jCute = window.cu = jCute; 21 | 22 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jcute/src/jCute.load.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 载入js脚本,并回调 3 | * @param {string} src js脚本路径 4 | * @param {function} success 载入成功回调方法 5 | */ 6 | jCute.getScript = function (src, success) { 7 | var ele = document.createElement("SCRIPT"); 8 | ele.src = src; 9 | ele.type = "text/javascript"; 10 | document.getElementsByTagName("HEAD")[0].appendChild(ele); 11 | //加载完成回调 12 | if (success != undefined) { 13 | ele.onload = ele.onreadystatechange = function () { 14 | if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") { success(); } 15 | } 16 | } 17 | }; 18 | 19 | /** 20 | * 载入css样式 21 | * @param {string} href css样式路径 22 | */ 23 | jCute.getStyle = function (href) { 24 | var ele = document.createElement("LINK"); 25 | ele.href = href; 26 | ele.rel = "stylesheet"; 27 | document.getElementsByTagName("HEAD")[0].appendChild(ele); 28 | }; 29 | 30 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jcute/src/merge.bat: -------------------------------------------------------------------------------- 1 | ::delete old file 2 | DEL jCute.all.js 3 | ::merge file 4 | COPY jCute.js/B+jCute.*.js/B jCuteAll.js /Y 5 | ::encoding utf-8 6 | PowerShell -Command "& {get-content jCuteAll.js -encoding utf8 | set-content jCute.all.js -encoding utf8}" 7 | ::delete temp file 8 | DEL jCuteAll.js -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jz/1.0.0/iframe.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 弹窗页面 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jz/1.0.1/iframe.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 弹窗页面 6 | 7 | 8 | 9 |
10 | //子页面关闭自身窗口操作 11 | parent.j.closeback(window.name); 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jz/2.0.0/iframe.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 弹窗页面 6 | 7 | 8 | 9 |
10 | //子页面关闭自身窗口操作 11 | parent.jz.closeback(window.name); 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jz/2.0.1/iframe.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 弹窗页面 6 | 7 | 8 | 9 |
10 | //子页面关闭自身窗口操作 11 | parent.jz.closeback(window.name); 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jz/2.0.2/iframe.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 弹窗页面 6 | 7 | 8 | 9 |
10 | //子页面关闭自身窗口操作 11 | parent.jz.closeback(window.name); 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jz/README.md: -------------------------------------------------------------------------------- 1 | # Jz 2 | 一个轻量、简单的弹窗插件 3 | 4 | ### 组件 5 | - `jz.msg` ( 提示消息,仅仅是内容 ) 6 | - `jz.alert` ( 提示消息,类似系统提示 alert ) 7 | - `jz.confirm` ( 询问提示,类似系统提示 confirm ) 8 | - `jz.iframe` ( 弹出 iframe ) 9 | - `jz.tip` ( 气泡提示 ) -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jz/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/jz/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/vv/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/vv/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/vv/vip.crx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/vv/vip.crx -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/vv/vip/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/app/vv/vip/favicon.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/app/vv/vip/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "background": { 3 | "scripts": [ "background.js" ] 4 | }, 5 | "browser_action": { 6 | "default_icon": "favicon.png", 7 | "default_title": "VIP视频解析" 8 | }, 9 | "description": "看爱奇艺优酷芒果等各大vip会员视频利器,本插件仅供娱乐,不保证持续更新支持", 10 | "icons": { 11 | "128": "favicon.png", 12 | "16": "favicon.png", 13 | "48": "favicon.png" 14 | }, 15 | "manifest_version": 2, 16 | "name": "VIP视频解析", 17 | "permissions": [ "background", "contextMenus", "tabs" ], 18 | "version": "1.0" 19 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/favicon.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/clean-css/node-rs-jieba.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/clean-css/node-rs-jieba.min.js -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/data-m3u8.txt: -------------------------------------------------------------------------------- 1 | #EXTM3U 2 | #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="未分类", CCTV 法语 3 | https://livefr.cgtn.com/1000f/prog_index.m3u8 4 | #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="未分类", CCTV 西班牙语 5 | https://livees.cgtn.com/1000e/prog_index.m3u8 6 | #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="未分类", CCTV 阿语 7 | https://livear.cgtn.com/1000a/prog_index.m3u8 8 | #EXTINF:-1 tvg-id="20" tvg-name="CGTN" tvg-logo="http://epg.51zmt.top:8000/tb1/CCTV/cgtn.png" group-title="央视", CGTN 9 | https://news.cgtn.com/resource/live/arabic/cgtn-a.m3u8 10 | #EXTINF:-1 tvg-id="" tvg-name="" tvg-logo="" group-title="未分类", 日本全天新闻 11 | https://n24-cdn-live.ntv.co.jp/ch01/index.m3u8 12 | #EXTINF:-1 ,全国风景总览 13 | https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/doc-template-api.md: -------------------------------------------------------------------------------- 1 | ### GET /svg/{wh} 2 | 3 | #### 描述(Summary) 4 | 生成占位图,默认200x200 5 | 6 | #### 参数(Parameters) 7 | | 名称 | 类型 | 位置 | 说明 | 8 | | ---- | ---- | ---- | ---- | 9 | | wh | string | path | **必填** 。 自定义宽高,如 500x309 | 10 | 11 | #### 响应(Responses) 12 | 13 | ```html 14 | Status: 200 Success 15 | ``` 16 | 17 | ### POST /svgo 18 | 19 | #### 描述(Summary) 20 | svg优化 21 | 22 | #### 请求主体(RequestBody) 23 | 24 | **multipart/form-data** 25 | 26 | | 名称 | 类型 | 说明 | 27 | | ---- | ---- | ---- | 28 | | svgFile | array | | 29 | | svgJson | string | | 30 | | merge | int32 | **默认值**:"" 。 | 31 | 32 | #### 响应(Responses) 33 | 34 | ```html 35 | Status: 200 Success 36 | ``` 37 | 38 | **application/json** 39 | 40 | ```json 41 | { 42 | "code": 0, 43 | "msg": "string", 44 | "data": {} 45 | } 46 | ``` 47 | 48 | | 名称 | 类型 | 说明 | 49 | | ---- | ---- | ---- | 50 | | code | integer / int32 | | 51 | | msg | string | | 52 | | data | object | | 53 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/doc-template-dic.md: -------------------------------------------------------------------------------- 1 | ### SysUser 2 | 3 | 系统用户表 4 | 5 | |字段|类型|主键|自增|必填|默认值|注释| 6 | |----|----|:-----:|:-----:|:-----:|:-----:|-----| 7 | |SuId |varchar(50) |YES | |YES | | | 8 | |SrId |varchar(50) | | | | |角色 | 9 | |SuName |nvarchar(50) | | | | |账号 | 10 | |SuPwd |nvarchar(50) | | | | |密码 | 11 | |SuNickname |nvarchar(50) | | | | |昵称 | 12 | |SuCreateTime |datetime(23) | | | | |创建时间 | 13 | |SuStatus |int(10) | | | |0 |状态,1正常 | 14 | |SuSign |varchar(50) | | | | |登录标识 | 15 | |SuGroup |int(10) | | | | |分组 | 16 | 17 | 18 | ### SysRole 19 | 20 | 系统角色表 21 | 22 | |字段|类型|主键|自增|必填|默认值|注释| 23 | |----|----|:-----:|:-----:|:-----:|:-----:|-----| 24 | |SrId |varchar(50) |YES | |YES | | | 25 | |SrName |nvarchar(200) | | | | |名称 | 26 | |SrStatus |int(10) | | | |0 |状态,1启用 | 27 | |SrDescribe |nvarchar(200) | | | | |描述 | 28 | |SrGroup |int(10) | | | | |分组 | 29 | |SrMenus |nvarchar(-1) | | | | |菜单 | 30 | |SrButtons |nvarchar(-1) | | | | |按钮 | 31 | |SrCreateTime |datetime(23) | | | | |创建时间 | 32 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/identicon/identicon.md: -------------------------------------------------------------------------------- 1 | * PNGlib 2 | * http://www.xarg.org/2010/03/generate-client-side-png-files-using-javascript/ 3 | * https://www.xarg.org/download/pnglib.js 4 | 5 | * identicon.js 6 | * https://github.com/stewartlord/identicon.js 7 | * https://raw.githubusercontent.com/stewartlord/identicon.js/master/identicon.js 8 | 9 | * blueimp-md5 10 | * https://github.com/blueimp/JavaScript-MD5 11 | * https://blueimp.github.io/JavaScript-MD5/js/md5.js -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/kityminder/images/iconpriority.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/kityminder/images/iconpriority.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/kityminder/images/iconprogress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/kityminder/images/iconprogress.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/kityminder/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/kityminder/images/icons.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/kityminder/images/template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/kityminder/images/template.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mailchecker/README.md: -------------------------------------------------------------------------------- 1 | 临时邮件目录列表 2 | 3 | GitHub 4 | https://github.com/FGRibreau/mailchecker 5 | 6 | wget 7 | https://raw.githubusercontent.com/FGRibreau/mailchecker/master/list.txt 8 | 9 | 更新时间 2022-03-24 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mimc/README.md: -------------------------------------------------------------------------------- 1 | # MIMC 2 | https://github.com/Xiaomi-mimc/mimc-webjs-sdk 3 | https://admin.mimc.chat.xiaomi.net/docs/0403-webjs.html -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/checkmark.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/checkmark.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/clear.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/clear.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/close.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/collapsed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/collapsed.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/dropdown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/dropdown.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/dropdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/dropdown.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/edit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/edit.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/expanded.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/expanded.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/grid.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/grid.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-fixed.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-main.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-rotate.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-secondary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-secondary.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/handle-terminal.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/help.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/locked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/locked.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/logo.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/move.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/nocolor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/nocolor.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/refresh.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/round-drop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/round-drop.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/search.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/transparent.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/triangle-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/triangle-down.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/triangle-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/triangle-left.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/triangle-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/triangle-right.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/triangle-up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/triangle-up.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/unlocked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/images/unlocked.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/jscolor/arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/jscolor/arrow.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/jscolor/cross.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/jscolor/cross.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/jscolor/hs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/jscolor/hs.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/jscolor/hv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/jscolor/hv.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/resources/help.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Graph Editor Help 5 | 6 | 7 | 8 | 9 |

Graph Editor Help

10 |

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 11 | eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 12 | voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet 13 | clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit 14 | amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam 15 | nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed 16 | diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 17 | Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 18 | sit amet.

19 | 20 | 21 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/resources/help_de.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Graph Editor Hilfe 5 | 6 | 7 | 8 | 9 |

Graph Editor Hilfe

10 |

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 11 | eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 12 | voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet 13 | clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit 14 | amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam 15 | nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed 16 | diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 17 | Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 18 | sit amet.

19 | 20 | 21 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/resources/help_se.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Graph Editor Hjälp 5 | 6 | 7 | 8 | 9 | 10 |

Graph Editor Hjälp

11 |

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 12 | eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 13 | voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet 14 | clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit 15 | amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam 16 | nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed 17 | diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. 18 | Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor 19 | sit amet.

20 | 21 | 22 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Credit_Card_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Credit_Card_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Database_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Database_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Doctor1_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Doctor1_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Earth_globe_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Earth_globe_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Email_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Email_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Empty_Folder_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Empty_Folder_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Firewall_02_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Firewall_02_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Full_Folder_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Full_Folder_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Gear_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Gear_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Graph_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Graph_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Laptop_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Laptop_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Lock_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Lock_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/MacBook_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/MacBook_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Monitor_Tower_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Monitor_Tower_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Piggy_Bank_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Piggy_Bank_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Pilot1_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Pilot1_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Printer_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Printer_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Router_Icon_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Router_Icon_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Safe_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Safe_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Security1_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Security1_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Server_Tower_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Server_Tower_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Shopping_Cart_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Shopping_Cart_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Software_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Software_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Soldier1_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Soldier1_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Suit1_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Suit1_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Suit2_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Suit2_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Suit3_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Suit3_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Tech1_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Tech1_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Telesales1_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Telesales1_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Virtual_Machine_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Virtual_Machine_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Virus_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Virus_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Wireless_Router_N_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Wireless_Router_N_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Worker1_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Worker1_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Workstation_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/Workstation_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/iMac_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/iMac_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/iPad_128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/stencils/clipart/iPad_128x128.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/down.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/help.css: -------------------------------------------------------------------------------- 1 | body { 2 | font-family:Arial Unicode MS,Arial,Helvetica; 3 | font-size:10pt; 4 | } 5 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/sprites.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/thumb_horz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/thumb_horz.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/thumb_vertical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/thumb_vertical.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/grapheditor/styles/up.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/css/explorer.css: -------------------------------------------------------------------------------- 1 | div.mxTooltip { 2 | filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4, 3 | Color='#A2A2A2', Positive='true'); 4 | } 5 | div.mxPopupMenu { 6 | filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4, 7 | Color='#C0C0C0', Positive='true'); 8 | } 9 | div.mxWindow { 10 | _filter:progid:DXImageTransform.Microsoft.DropShadow(OffX=4, OffY=4, 11 | Color='#C0C0C0', Positive='true'); 12 | } 13 | td.mxWindowTitle { 14 | _height: 23px; 15 | } 16 | .mxDisabled { 17 | filter:alpha(opacity=20) !important; 18 | } 19 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/button.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/button.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/close.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/close.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/collapsed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/collapsed.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/error.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/error.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/expanded.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/expanded.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/maximize.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/maximize.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/minimize.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/minimize.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/normalize.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/normalize.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/point.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/point.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/resize.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/resize.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/separator.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/separator.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/submenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/submenu.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/transparent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/transparent.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/warning.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/warning.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/warning.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/window-title.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/window-title.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/window.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/images/window.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/resources/editor.txt: -------------------------------------------------------------------------------- 1 | askZoom=Enter zoom (%) 2 | properties=Properties 3 | outline=Outline 4 | tasks=Tasks 5 | help=Help 6 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/resources/editor_de.txt: -------------------------------------------------------------------------------- 1 | askZoom=Zoom eingeben (%) 2 | properties=Eigenschaften 3 | outline=Uebersicht 4 | tasks=Aufgaben 5 | help=Hilfe 6 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/resources/editor_zh.txt: -------------------------------------------------------------------------------- 1 | askZoom=进入缩放(%25) 2 | properties=属性 3 | outline=轮廓 4 | tasks=任务 5 | help=帮助 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/resources/graph.txt: -------------------------------------------------------------------------------- 1 | alreadyConnected=Nodes already connected 2 | containsValidationErrors=Contains validation errors 3 | updatingDocument=Updating Document. Please wait... 4 | updatingSelection=Updating Selection. Please wait... 5 | collapse-expand=Collapse/Expand 6 | doubleClickOrientation=Doubleclick to change orientation 7 | close=Close 8 | error=Error 9 | done=Done 10 | cancel=Cancel 11 | ok=OK 12 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/resources/graph_de.txt: -------------------------------------------------------------------------------- 1 | alreadyConnected=Knoten schon verbunden 2 | containsValidationErrors=Enthält Validierungsfehler 3 | updatingDocument=Aktualisiere Dokument. Bitte warten... 4 | updatingSelection=Aktualisiere Markierung. Bitte warten... 5 | collapse-expand=Einklappen/Ausklappen 6 | doubleClickOrientation=Doppelklicken um Orientierung zu ändern 7 | close=Schliessen 8 | error=Fehler 9 | done=Fertig 10 | cancel=Abbrechen 11 | ok=OK 12 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/file/mxgraph/src/resources/graph_zh.txt: -------------------------------------------------------------------------------- 1 | alreadyConnected=节点已经连接 2 | containsValidationErrors=包含效验错误 3 | updatingDocument=更新文档。请等候...... 4 | updatingSelection=更新所选项。请等候...... 5 | collapse-expand=折叠/展开 6 | doubleClickOrientation=双击以改变方向 7 | close=关闭 8 | error=错误 9 | done=完成 10 | cancel=取消 11 | ok=确定 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/bird.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/bird.jpg -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/bird.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/bird.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_121x75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_121x75.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_121x75.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_121x75.psd -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_200x133.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_200x133.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_200x133.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_200x133.psd -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_360x200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_360x200.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_360x200.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/cover/netnr_360x200.psd -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/brush.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/chain.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/convert.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/dataquery.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/db.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/dictionary.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/formatter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/gitpush.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/graph.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/ip.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/key.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/lottery.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/love.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/markdown.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/microsoft.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/mind.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/nginx.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/office.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/pdm.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/ping.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/qrcode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/rmb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/symbol.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/vector.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/vsc.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/icon/wallpaper.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/images/netnr_avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Blog.Web/wwwroot/images/netnr_avatar.jpg -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Blog.Web/wwwroot/vercel.json: -------------------------------------------------------------------------------- 1 | { 2 | "cleanUrls": true, 3 | "headers": [ 4 | { 5 | "source": "/(.*)", 6 | "headers": [ 7 | { 8 | "key": "Access-Control-Allow-Origin", 9 | "value": "*" 10 | }, 11 | { 12 | "key": "Access-Control-Allow-Headers", 13 | "value": "*" 14 | }, 15 | { 16 | "key": "Access-Control-Allow-Methods", 17 | "value": "*" 18 | } 19 | ] 20 | } 21 | ] 22 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/css/web.css: -------------------------------------------------------------------------------- 1 | /*链接下划线*/ 2 | a { 3 | text-decoration: none; 4 | } 5 | 6 | a:not(.btn):not(.dropdown-item):not([href="#"]):hover { 7 | text-decoration: underline; 8 | text-underline-position: under; 9 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/index.js: -------------------------------------------------------------------------------- 1 | require.context('../frame/Shared', true, /.css$/); 2 | import '../frame/Bootstrap/nrDark.css'; 3 | require.context('./css', true, /.css$/); 4 | 5 | import { nrWeb } from './js/nrWeb'; 6 | document.readyState == "loading" ? document.addEventListener("DOMContentLoaded", nrWeb.init) : nrWeb.init(); -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/nrVary.js: -------------------------------------------------------------------------------- 1 | let nrVary = { 2 | flagGuidEmpty: '00000000-0000-0000-0000-000000000000', 3 | } 4 | 5 | export { nrVary } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_admin.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/admin', true, /.js$/); 2 | const nrPack_admin = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_admin }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_doc.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/doc', true, /.js$/); 2 | const nrPack_doc = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_doc }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_gist.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/gist', true, /.js$/); 2 | const nrPack_gist = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_gist }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_home.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/home', true, /.js$/); 2 | const nrPack_home = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_home }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_mix.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/mix', true, /.js$/); 2 | const nrPack_mix = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_mix }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_note.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/note', true, /.js$/); 2 | const nrPack_note = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_note }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_run.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/run', true, /.js$/); 2 | const nrPack_run = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_run }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_ss.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/ss', true, /.js$/); 2 | const nrPack_ss = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_ss }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/pack/nrPack_user.js: -------------------------------------------------------------------------------- 1 | const reqModule = require.context('../page/user', true, /.js$/); 2 | const nrPack_user = Object.values(reqModule.keys().map(reqModule)); 3 | export { nrPack_user }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/page/mix/nrPageMixAbout.js: -------------------------------------------------------------------------------- 1 | import { nrcBase } from "../../../../frame/nrcBase"; 2 | import { nrVary } from "../../nrVary"; 3 | 4 | let nrPage = { 5 | pathname: '/mix/about', 6 | 7 | init: async () => { 8 | await nrPage.reqSystemStatus(); 9 | }, 10 | 11 | reqSystemStatus: async () => { 12 | let vm = await nrcBase.fetch('/Mix/AboutServerStatus'); 13 | 14 | if (vm.error || vm.resp.ok == false) { 15 | nrVary.domSystemStatus.innerHTML = '

获取服务器信息异常

'; 16 | } else if (vm.result && vm.result.code == 200) { 17 | let server = vm.resp.headers.get("server"); 18 | nrVary.domSystemStatus.innerHTML = ` Duration: ${nrVary.domHidDuration.value} Days\n\nServer: ${server}${vm.result.data}`; 19 | nrVary.domSystemStatus.style.whiteSpace = 'pre-line'; 20 | } 21 | 22 | //自动刷新 23 | setTimeout(nrPage.reqSystemStatus, 1000 * 10); 24 | } 25 | } 26 | 27 | export { nrPage }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/page/ss/nrPageSsEmoji.js: -------------------------------------------------------------------------------- 1 | import { nrApp } from "../../../../frame/Bootstrap/nrApp"; 2 | import { nrcBase } from "../../../../frame/nrcBase"; 3 | 4 | let nrPage = { 5 | pathname: "/ss/emoji", 6 | 7 | init: async () => { 8 | document.body.addEventListener("click", async (event) => { 9 | let target = event.target; 10 | if (target.nodeName == "LI") { 11 | nrcBase.clipboard(target.innerText); 12 | nrApp.toast('Copy successfully !') 13 | } 14 | }); 15 | }, 16 | } 17 | 18 | export { nrPage }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/page/ss/nrPageSsIp.js: -------------------------------------------------------------------------------- 1 | import { nrcBase } from "../../../../frame/nrcBase"; 2 | import { nrVary } from "../../nrVary"; 3 | 4 | let nrPage = { 5 | pathname: "/ss/ip", 6 | 7 | init: async () => { 8 | try { 9 | await nrcBase.importScript('https://vv.video.qq.com/checktime?otype=json'); 10 | nrVary.domTxtQq.value = QZOutputJson.ip; 11 | } catch (ex) { 12 | nrVary.domTxtQq.placeholder = "网络错误"; 13 | } 14 | 15 | try { 16 | let resp = await fetch('https://js.org/cdn-cgi/trace'); 17 | let result = await resp.text(); 18 | let ip = result.split('\n').find(x => x.startsWith('ip=')).substring(3); 19 | nrVary.domTxtCloudflare.value = ip; 20 | } catch (ex) { 21 | nrVary.domTxtCloudflare.placeholder = "网络错误"; 22 | } 23 | }, 24 | } 25 | 26 | export { nrPage }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBlog/js/page/user/nrPageUserMessage.js: -------------------------------------------------------------------------------- 1 | import { nrcRely } from "../../../../frame/nrcRely"; 2 | 3 | let nrPage = { 4 | pathname: '/user/message', 5 | 6 | init: async () => { 7 | await nrcRely.remote("netnrmd.css"); 8 | }, 9 | 10 | } 11 | 12 | export { nrPage }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBrowserify/README.md: -------------------------------------------------------------------------------- 1 | ### Build 2 | ``` 3 | npm install -g browserify 4 | npm install -g terser 5 | npm install -g npm-check-updates 6 | 7 | ncu --loglevel verbose --packageFile package.json 8 | ncu -u 9 | 10 | browserify clean-css.js -o clean-css.bundle.js 11 | terser clean-css.bundle.js -o clean-css.min.js 12 | rm clean-css.bundle.js 13 | 14 | ``` -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientBrowserify/js/clean-css.js: -------------------------------------------------------------------------------- 1 | Object.assign(window, { CleanCSS: require('clean-css') }) -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/css/fix-grid.css: -------------------------------------------------------------------------------- 1 | .ag-theme-alpine, 2 | .ag-theme-alpine-dark { 3 | --ag-font-size: 15px !important; 4 | } 5 | 6 | /*图标大小*/ 7 | .ag-icon { 8 | font-size: 20px !important; 9 | } 10 | 11 | /*新增:标题类型标记*/ 12 | .ag-header-type-icon { 13 | margin-top: -.3em; 14 | } 15 | 16 | .ag-header-type-icon sl-icon { 17 | margin-right: 0.2em; 18 | vertical-align: text-top; 19 | } 20 | 21 | /* 单元格图标 */ 22 | .ag-cell-value sl-icon { 23 | width: 1.1em; 24 | height: 1.1em; 25 | margin-right: 0.2em; 26 | vertical-align: sub; 27 | } 28 | 29 | /* 右键菜单图标 */ 30 | .ag-menu-option-icon { 31 | text-align: center; 32 | } 33 | 34 | /*状态栏*/ 35 | .ag-status-bar { 36 | line-height: .5; 37 | } 38 | 39 | .ag-status-name-value { 40 | padding-top: 0.2em !important; 41 | padding-bottom: 0.2em !important; 42 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/css/fix-sl.css: -------------------------------------------------------------------------------- 1 | /* 字体 */ 2 | sl-alert::part(icon), sl-alert::part(message), sl-alert::part(close-button), 3 | sl-dialog::part(body), sl-dialog::part(close-button) { 4 | font-size: 1.2em; 5 | } 6 | 7 | /* 提示 */ 8 | sl-tooltip::part(base) { 9 | word-break: break-all; 10 | } 11 | 12 | /* 选项卡组 */ 13 | sl-tab-group::part(tabs) { 14 | border-bottom-color: transparent; 15 | } 16 | 17 | /* 选项卡面板 */ 18 | sl-tab-panel::part(base) { 19 | padding-top: 5px; 20 | --sl-spacing-medium: 0; 21 | } 22 | 23 | /* 选项卡间距 */ 24 | sl-tab::part(base) { 25 | --sl-spacing-medium: 3px; 26 | --sl-spacing-large: 12px; 27 | } 28 | 29 | /* 选项卡图标 */ 30 | sl-tab sl-icon { 31 | margin-right: .2em; 32 | margin-bottom: -.2em; 33 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/css/index-mobile.css: -------------------------------------------------------------------------------- 1 | /*移动端*/ 2 | @media screen and (max-width: 800px) { 3 | .nrc-spliter-horizontal { 4 | flex-wrap: wrap; 5 | } 6 | .nrg-spliter-body .nrc-spliter-item { 7 | width: 100% !important; 8 | max-height: none; 9 | } 10 | .nrg-box-right { 11 | margin-top: .5rem; 12 | } 13 | .nrg-spliter-sql .nrc-spliter-item { 14 | height: 100vh !important; 15 | } 16 | .nrc-spliter-vertical { 17 | height: auto !important; 18 | } 19 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/file/assets/codes/@_help.jsx: -------------------------------------------------------------------------------- 1 | { 2 | files: [{ 3 | fullName: `help.txt`, 4 | content: [ 5 | '生成代码构建脚本位于 assets/codes/', 6 | '格式为 {language}_{name}.jsx 例如 csharp_model.jsx', 7 | '新增或删除 jsx 文件后执行 build.bat 或 build.sh 重建 list.txt 列表', 8 | '后缀为 jsx 与 React 无关,如果为 js 后缀打包需要额外处理' 9 | ].join('\r\n') 10 | }] 11 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/file/assets/codes/build.bat: -------------------------------------------------------------------------------- 1 | dir /b "%~dp0*.jsx">"%~dp0list.txt" -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/file/assets/codes/build.sh: -------------------------------------------------------------------------------- 1 | SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" 2 | ls -l $SCRIPTPATH/*.jsx | grep -o '[^/]*$' > $SCRIPTPATH/list.txt -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/file/assets/codes/list.txt: -------------------------------------------------------------------------------- 1 | @_help.jsx 2 | csharp_admin_ctrl.jsx 3 | csharp_admin_js.jsx 4 | csharp_dal.jsx 5 | csharp_model.jsx 6 | csharp_nrf_cv.jsx 7 | csharp_nrf_js.jsx 8 | csharp_nrf_table_config.jsx 9 | java_model.jsx 10 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/file/assets/icons/clickhouse.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/file/assets/icons/mariadb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/file/assets/icons/oracle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDataKit/file/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | NDK 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientDocsifyBetter/css/toc.css: -------------------------------------------------------------------------------- 1 | /* dark */ 2 | html[data-bs-theme="dark"] { 3 | color-scheme: dark; 4 | } 5 | 6 | /* toc */ 7 | .toc { 8 | display: none; 9 | position: fixed; 10 | right: 2em; 11 | bottom: 10vh; 12 | max-width: 20em; 13 | max-height: 60vh; 14 | overflow-y: auto; 15 | padding-right: 1em; 16 | background-color: var(--bs-body-bg); 17 | border: 1px solid var(--bs-border-color); 18 | } 19 | 20 | @media screen and (min-width: 1361px) { 21 | .toc { 22 | display: block; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientJE/file/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | JSONEditor NET牛人 12 | 13 | 14 | 15 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientJE/index.js: -------------------------------------------------------------------------------- 1 | import { nrWeb } from './js/nrWeb'; 2 | document.readyState == "loading" ? document.addEventListener("DOMContentLoaded", nrWeb.init) : nrWeb.init(); -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientJE/js/nrVary.js: -------------------------------------------------------------------------------- 1 | // 方法 2 | let nrVary = { 3 | editorText: null, 4 | editorTree: null, 5 | } 6 | 7 | export { nrVary }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientMD/css/nmd-global.css: -------------------------------------------------------------------------------- 1 | /* light */ 2 | :root { 3 | --nmd-bg: #ffffff; 4 | --nmd-color: #212529; 5 | --nmd-border: #dee2e6; 6 | } 7 | 8 | /* dark */ 9 | .netnrmd-dark { 10 | color-scheme: dark; 11 | 12 | --nmd-bg: #212529; 13 | --nmd-color: #adb5bd; 14 | --nmd-border: #495057; 15 | } 16 | 17 | .netnrmd-dark body { 18 | background-color: var(--nmd-bg); 19 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientMD/file/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | NetnrMD 编辑器 11 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientMD/index.js: -------------------------------------------------------------------------------- 1 | import './css/nmd-global.css'; 2 | import './css/nmd-editor.css'; 3 | import './css/nmd-hljs.css'; 4 | import './css/nmd-markdown.css'; 5 | import './css/nmd-toc.css'; 6 | 7 | import { netnrmd } from './js/netnrmd'; 8 | 9 | Object.assign(window, { netnrmd }) -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientMD/indexWeb.js: -------------------------------------------------------------------------------- 1 | import { nrWeb } from './js/nrWeb'; 2 | 3 | document.readyState == "loading" ? document.addEventListener("DOMContentLoaded", nrWeb.init) : nrWeb.init(); -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientSpider/test/test-stats-zoning.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | test stats-zoning 8 | 9 | 10 | 11 |

三级联动(省地县级)

12 |
13 |
14 |
15 |
16 |
17 |
18 | 19 |

五级联动(省地县乡和村级)

20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientTest/file/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Test 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientTest/index.js: -------------------------------------------------------------------------------- 1 | import { nrWeb } from './js/nrWeb'; 2 | document.readyState == "loading" ? document.addEventListener("DOMContentLoaded", nrWeb.init) : nrWeb.init(); -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientTest/js/litHtml.js: -------------------------------------------------------------------------------- 1 | import { html, render } from "lit-html"; 2 | 3 | let litHtml = { 4 | init: async () => { 5 | 6 | let href = `static/banan_video/2024/203595344031744.html"ebv9risdmh` 7 | let text = ""; 8 | let text2 = html`${href}` 9 | let template = html`${text}
${text2}`; 10 | 11 | document.body.innerHTML = '

123

'; 12 | console.debug(render(template, document.body)) 13 | }, 14 | } 15 | 16 | Object.assign(window, { litHtml }); 17 | export { litHtml }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientTest/js/nrWeb.js: -------------------------------------------------------------------------------- 1 | import { exceljs } from "./exceljs"; 2 | 3 | // 方法 4 | let nrWeb = { 5 | init: async () => { 6 | exceljs.init(); 7 | }, 8 | } 9 | 10 | export { nrWeb }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientUUID/README.md: -------------------------------------------------------------------------------- 1 | # uuid 2 | A decentralized favorites and bookmarks based on Git hosting 3 | 一个基于 Git 托管去中心化的收藏夹,书签 4 | 5 | ### Demo 示例 6 | 7 | 8 | 9 | ### Usage 使用 10 | Fork 项目,从浏览器导出书签 HTML,再转换书签为 Markdown,保存到 `libs/*.md` 11 | Fork project, export bookmark HTML from browser, convert bookmark to Markdown, save to `libs/*.md` 12 | 13 | 私有化部署,更新索引文件 `libs/index.json`,页面再启用 本地 Local 14 | Privatized deployment, update the index file `libs/index.json`, and then enable the local Local on the page 15 | 16 | ### Visit 访问 17 | https://uu.zme.ink/{name} `{name}` is your account, default `netnr` 18 | https://uu.zme.ink/{name}/{repos} `{repos}` repository, default `uuid` 19 | https://uu.zme.ink#{name}/{repos} offline 20 | https://uu.zme.ink#_local 本地 Local -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientUUID/index.js: -------------------------------------------------------------------------------- 1 | require.context('../frame/Shared', true, /.css$/); 2 | import '../frame/Bootstrap/nrDark.css'; 3 | require.context('./css', true, /.css$/); 4 | 5 | import { nrWeb } from './js/nrWeb'; 6 | document.readyState == "loading" ? document.addEventListener("DOMContentLoaded", nrWeb.init) : nrWeb.init(); -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/ClientUUID/js/nrVary.js: -------------------------------------------------------------------------------- 1 | // 方法 2 | let nrVary = { 3 | flagName: "netnr", 4 | flagResp: "uuid", 5 | flagLibs: "libs", 6 | flagSuffix: ".md", 7 | flagToken: null, 8 | 9 | flagLocalUsed: false,//本地模式 10 | flagLocalPath: "/libs/index.json", 11 | flagLocalJson: null, 12 | 13 | flagProxyServer: 'https://netnr.zme.ink/api/v1/Proxy/?url=', //代理服务 14 | flagProxyUsed: true, //使用代理 15 | 16 | flagTitle: document.title, //站点名称 17 | } 18 | 19 | export { nrVary }; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/babel.config.js: -------------------------------------------------------------------------------- 1 | //https://babeljs.io/docs/configuration 2 | 3 | module.exports = api => { 4 | const env = api.env(); 5 | console.debug(env); 6 | 7 | return { 8 | plugins: ['@babel/plugin-transform-runtime'], 9 | presets: [["@babel/preset-env", { 10 | useBuiltIns: "entry", 11 | targets: { chrome: "78" } 12 | }]] 13 | } 14 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/file/client.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": { 3 | "type": "spdy", 4 | "options": { 5 | "key": "D:/tmp/res/local-key.pem", 6 | "cert": "D:/tmp/res/local.pem" 7 | } 8 | } 9 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/file/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ClientApp/file/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/frame/Shoelace/nrDark.css: -------------------------------------------------------------------------------- 1 | /* light */ 2 | :root { 3 | --global-border: #d8dee4; 4 | --global-color: #000000; 5 | --global-bg: #ffffff; 6 | } 7 | 8 | /* dark */ 9 | .sl-theme-dark { 10 | --global-border: #585b60; 11 | --global-color: #d4d4d4; 12 | --global-bg: #0d1117; 13 | } 14 | 15 | .sl-theme-dark body { 16 | color: var(--global-color); 17 | background-color: var(--global-bg); 18 | } 19 | 20 | /*link*/ 21 | .sl-theme-dark a, 22 | .sl-theme-dark .markdown-body a { 23 | text-decoration: none; 24 | color: var(--sl-color-primary-600); 25 | } 26 | 27 | .sl-theme-dark a:hover, 28 | .sl-theme-dark .markdown-body a:hover { 29 | text-decoration: underline; 30 | color: var(--sl-color-primary-700); 31 | } 32 | 33 | /*ag-grid*/ 34 | .sl-theme-dark .ag-theme-alpine-dark { 35 | --ag-foreground-color: var(--global-color); 36 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/frame/nrDatepicker.js: -------------------------------------------------------------------------------- 1 | import AirDatepicker from 'air-datepicker'; 2 | import localeZh from 'air-datepicker/locale/zh'; 3 | import 'air-datepicker/air-datepicker.css' 4 | 5 | let nrDatepicker = { 6 | AirDatepicker, 7 | localeZh, 8 | create: (selector, options) => new AirDatepicker(selector, Object.assign({ 9 | locale: localeZh 10 | }, options)) 11 | } 12 | 13 | Object.assign(window, { nrDatepicker }); 14 | export { nrDatepicker } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ClientApp/frame/nrStorage.js: -------------------------------------------------------------------------------- 1 | import { nrcIndexedDB } from "./nrcIndexedDB"; 2 | 3 | let nrStorage = { 4 | 5 | init: async () => { 6 | //初始化默认实例 7 | nrStorage.localforage = await new nrcIndexedDB().init(); 8 | }, 9 | 10 | localforage: null, 11 | getItem: async (key) => await nrStorage.localforage.getItem(key), 12 | setItem: async (key, value) => await nrStorage.localforage.setItem(key, value), 13 | removeItem: async (key) => await nrStorage.localforage.removeItem(key), 14 | keys: async () => await nrStorage.localforage.keys(), 15 | clear: async () => await nrStorage.localforage.clear(), 16 | } 17 | 18 | Object.assign(window, { nrStorage }); 19 | export { nrStorage } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.DataKit.Controllers 2 | { 3 | public class HomeController : Controller 4 | { 5 | public IActionResult Index() 6 | { 7 | return PhysicalFile(Path.Combine(AppTo.WebRootPath, "index.html"), "text/html"); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.DataKit/Program.cs -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | @ViewData["Title"] Netnr.DataKit (NDK) 12 | 13 | 14 | @RenderBody() 15 | 16 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Netnr.DataKit; 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | }, 9 | 10 | //使用 mkcert 自签证书(或删除) 11 | "Kestrel": { 12 | "Certificates": { 13 | "Default": { 14 | "Path": "D:/tmp/res/local.pem", 15 | "KeyPath": "D:/tmp/res/local-key.pem" 16 | } 17 | } 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/wwwroot/assets/codes/@_help.jsx: -------------------------------------------------------------------------------- 1 | { 2 | files: [{ 3 | fullName: `help.txt`, 4 | content: [ 5 | '生成代码构建脚本位于 assets/codes/', 6 | '格式为 {language}_{name}.jsx 例如 csharp_model.jsx', 7 | '新增或删除 jsx 文件后执行 build.bat 或 build.sh 重建 list.txt 列表', 8 | '后缀为 jsx 与 React 无关,如果为 js 后缀打包需要额外处理' 9 | ].join('\r\n') 10 | }] 11 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/wwwroot/assets/codes/build.bat: -------------------------------------------------------------------------------- 1 | dir /b "%~dp0*.jsx">"%~dp0list.txt" -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/wwwroot/assets/codes/build.sh: -------------------------------------------------------------------------------- 1 | SCRIPTPATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" 2 | ls -l $SCRIPTPATH/*.jsx | grep -o '[^/]*$' > $SCRIPTPATH/list.txt -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/wwwroot/assets/codes/list.txt: -------------------------------------------------------------------------------- 1 | @_help.jsx 2 | csharp_admin_ctrl.jsx 3 | csharp_admin_js.jsx 4 | csharp_dal.jsx 5 | csharp_model.jsx 6 | csharp_nrf_cv.jsx 7 | csharp_nrf_js.jsx 8 | csharp_nrf_table_config.jsx 9 | java_model.jsx 10 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/wwwroot/assets/icons/mariadb.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/wwwroot/assets/icons/oracle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.DataKit/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataKit/wwwroot/index.html: -------------------------------------------------------------------------------- 1 | NDK -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataX/Program.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.DataX 2 | { 3 | class Program 4 | { 5 | static async Task Main() 6 | { 7 | await ConsoleXTo.ProgramMain(typeof(Program)); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.DataX/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.DataX/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.Demo.Controllers 2 | { 3 | public class HomeController : Controller 4 | { 5 | public IActionResult Index() 6 | { 7 | return View(); 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Demo/Program.cs -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/Views/Graph/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Graph"; 3 | } 4 | 5 |
6 | 7 |
8 |

说明

9 |

SkiaSharp 快,跨平台优势,推荐指数 ⭐⭐⭐⭐⭐

10 |

System.Drawing.Common 快,.NET6-Preview7 及以后仅支持 Windows 不支持 Linux ,以前版本 Linux 需依赖 libgdiplus 组件,推荐指数 ⭐⭐

11 |

SixLabors.ImageSharp.Drawing 一般,跨平台 ⭐⭐⭐

12 |

NetVips 慢,跨平台,智能剪裁 ⭐⭐⭐

13 |

Magick.NET 慢,推荐指数 ⭐

14 |

Microsoft.Maui.Graphics MAUI 抽象集成,推荐指数 ⭐⭐

15 |

Install-Libgdiplus

16 | 17 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Index"; 3 | } 4 | 5 | 6 | 7 | swagger 8 |
9 | Graph 图像 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | @ViewData["Title"] - Netnr.Demo 7 | 8 | 9 | @RenderBody() 10 | 11 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Netnr.Demo 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Demo/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Demo/wwwroot/images/netnr_avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Demo/wwwroot/images/netnr_avatar.jpg -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/Controllers/HomeController.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.FileServer.Controllers 2 | { 3 | /// 4 | /// 5 | /// 6 | public class HomeController : Controller 7 | { 8 | /// 9 | /// 首页 10 | /// 11 | /// 12 | public IActionResult Index() 13 | { 14 | return Redirect("/swagger"); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/Domain/FixedTokenJson.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.FileServer.Domain 2 | { 3 | /// 4 | /// 固定Token JSON实体 5 | /// 6 | public class FixedTokenJson 7 | { 8 | /// 9 | /// 名称 10 | /// 11 | public string Name { get; set; } 12 | /// 13 | /// Token 14 | /// 15 | public string Token { get; set; } 16 | /// 17 | /// 授权方法名 18 | /// 19 | public string AuthMethod { get; set; } 20 | /// 21 | /// 创建时间 22 | /// 23 | public DateTime CreateTime { get; set; } 24 | /// 25 | /// 所属用户 26 | /// 27 | [JsonIgnore] 28 | public string Owner { get; set; } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/GlobalUsing.cs: -------------------------------------------------------------------------------- 1 | global using Netnr.FileServer.Domain; 2 | global using Netnr.FileServer.Application; 3 | global using Netnr.FileServer.Controllers; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.FileServer/Program.cs -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | NFS (Netnr.FileServer) 7 | 8 | 9 | @RenderBody() 10 | 11 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Netnr.FileServer 2 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 3 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | }, 9 | 10 | //使用 mkcert 自签证书(或删除) 11 | "Kestrel": { 12 | "Certificates": { 13 | "Default": { 14 | "Path": "D:/tmp/res/local.pem", 15 | "KeyPath": "D:/tmp/res/local-key.pem" 16 | } 17 | } 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/static/README.md: -------------------------------------------------------------------------------- 1 | PublicAccess:False -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.FileServer/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/wwwroot/favicon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.FileServer/wwwroot/static/README.md: -------------------------------------------------------------------------------- 1 | PublicAccess:True -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Garnet/Netnr.Garnet.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | true 7 | true 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Garnet/Program.cs: -------------------------------------------------------------------------------- 1 | using Garnet; 2 | using System; 3 | using System.Threading; 4 | 5 | try 6 | { 7 | using var server = new GarnetServer([]); 8 | // Start the server 9 | server.Start(); 10 | 11 | Thread.Sleep(Timeout.Infinite); 12 | } 13 | catch (Exception ex) 14 | { 15 | Console.WriteLine($"Unable to initialize server due to exception: {ex.Message}"); 16 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.PaddleOCR/Program.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.PaddleOCR 2 | { 3 | internal static class Program 4 | { 5 | /// 6 | /// The main entry point for the application. 7 | /// 8 | [STAThread] 9 | static void Main() 10 | { 11 | // To customize application configuration such as set high DPI settings or default font, 12 | // see https://aka.ms/applicationconfiguration. 13 | ApplicationConfiguration.Initialize(); 14 | Application.Run(new MainForm()); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.PaddleOCR/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.PaddleOCR/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.PaddleOCR/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.PaddleOCR/loading.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.PaddleSeg/MainForm.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.PaddleSeg/MainForm.cs -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.PaddleSeg/Program.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.PaddleSeg 2 | { 3 | internal static class Program 4 | { 5 | /// 6 | /// The main entry point for the application. 7 | /// 8 | [STAThread] 9 | static void Main() 10 | { 11 | // To customize application configuration such as set high DPI settings or default font, 12 | // see https://aka.ms/applicationconfiguration. 13 | ApplicationConfiguration.Initialize(); 14 | Application.Run(new MainForm()); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.PaddleSeg/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.PaddleSeg/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.PaddleSeg/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.PaddleSeg/loading.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Application/Datas/ContextBaseFactory.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.ResponseFramework.Application.Datas; 2 | 3 | /// 4 | /// 数据库工厂 5 | /// 6 | public class ContextBaseFactory : DbContextTo 7 | { 8 | /// 9 | /// 创建 新的数据库上下文 10 | /// 11 | /// 12 | public static ContextBase CreateDbContext() 13 | { 14 | var cob = CreateDbContextOptionsBuilder(AppTo.DBT); 15 | return new ContextBase(cob.Options); 16 | } 17 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Application/GlobalUsing.cs: -------------------------------------------------------------------------------- 1 | global using Microsoft.EntityFrameworkCore; 2 | global using Netnr.ResponseFramework.Domain.Entities; 3 | global using Netnr.ResponseFramework.Domain.Models; 4 | global using Netnr.ResponseFramework.Application.Datas; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Domain/Entities/SysMenu.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.ResponseFramework.Domain.Entities; 2 | 3 | /// 4 | /// 系统菜单表 5 | /// 6 | public partial class SysMenu 7 | { 8 | public string SmId { get; set; } 9 | 10 | public string SmPid { get; set; } 11 | 12 | /// 13 | /// 名称 14 | /// 15 | public string SmName { get; set; } 16 | 17 | /// 18 | /// 链接 19 | /// 20 | public string SmUrl { get; set; } 21 | 22 | /// 23 | /// 排序 24 | /// 25 | public int? SmOrder { get; set; } 26 | 27 | /// 28 | /// 图标 29 | /// 30 | public string SmIcon { get; set; } 31 | 32 | /// 33 | /// 状态,1启用 34 | /// 35 | public int? SmStatus { get; set; } 36 | 37 | /// 38 | /// 分组,默认1,比如移动端为2 39 | /// 40 | public int? SmGroup { get; set; } 41 | } 42 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Domain/Entities/SysRole.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.ResponseFramework.Domain.Entities; 2 | 3 | /// 4 | /// 系统角色表 5 | /// 6 | public partial class SysRole 7 | { 8 | public string SrId { get; set; } 9 | 10 | /// 11 | /// 名称 12 | /// 13 | public string SrName { get; set; } 14 | 15 | /// 16 | /// 状态,1启用 17 | /// 18 | public int? SrStatus { get; set; } 19 | 20 | /// 21 | /// 描述 22 | /// 23 | public string SrDescribe { get; set; } 24 | 25 | /// 26 | /// 分组 27 | /// 28 | public int? SrGroup { get; set; } 29 | 30 | /// 31 | /// 菜单 32 | /// 33 | public string SrMenus { get; set; } 34 | 35 | /// 36 | /// 按钮 37 | /// 38 | public string SrButtons { get; set; } 39 | 40 | /// 41 | /// 创建时间 42 | /// 43 | public DateTime? SrCreateTime { get; set; } 44 | } 45 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Domain/Models/LoginUserVM.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.ResponseFramework.Domain.Models 2 | { 3 | /// 4 | /// 登录用户信息 5 | /// 6 | public class LoginUserVM 7 | { 8 | /// 9 | /// 用户ID 10 | /// 11 | public string UserId { get; set; } 12 | /// 13 | /// 登录账号 14 | /// 15 | public string UserName { get; set; } 16 | /// 17 | /// 昵称 18 | /// 19 | public string Nickname { get; set; } 20 | /// 21 | /// 角色ID 22 | /// 23 | public string RoleId { get; set; } 24 | /// 25 | /// Authorization 有效期时间戳(单位秒) 26 | /// 27 | public long Expired { get; set; } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Domain/Models/ValueTextVM.cs: -------------------------------------------------------------------------------- 1 | using System.Text.Json.Serialization; 2 | 3 | namespace Netnr.ResponseFramework.Domain.Models; 4 | 5 | /// 6 | /// 键值对,下拉列表等 7 | /// 8 | public class ValueTextVM 9 | { 10 | /// 11 | /// 值 12 | /// 13 | [JsonPropertyName("value")] 14 | public string Value { get; set; } 15 | 16 | /// 17 | /// 文本 18 | /// 19 | [JsonPropertyName("text")] 20 | public string Text { get; set; } 21 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Domain/Netnr.ResponseFramework.Domain.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | net7.0 5 | latest 6 | enable 7 | False 8 | 9 | 10 | 11 | $(DefineConstants)TRACE; 12 | 1701;1702 13 | 14 | 15 | 16 | $(DefineConstants)TRACE; 17 | 1701;1702 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Components/FormViewComponent.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.EntityFrameworkCore; 2 | 3 | namespace Netnr.ResponseFramework.Web.Components 4 | { 5 | /// 6 | /// 表单视图组件 7 | /// 8 | public class FormViewComponent(ContextBase cb) : ViewComponent 9 | { 10 | public ContextBase db = cb; 11 | 12 | /// 13 | /// 表单、单据 组件 14 | /// 15 | /// 表单组件参数 16 | /// 17 | public async Task InvokeAsync(InvokeFormVM vm) 18 | { 19 | //查询表对应的表单,排序,按区域分组 20 | var list = await db.SysTableConfig 21 | .Where(x => x.TableName == vm.TableName) 22 | .ToListAsync(); 23 | 24 | vm.Data = list.OrderBy(x => x.FormOrder) 25 | .GroupBy(x => x.FormArea.Value) 26 | .OrderBy(x => x.Key) 27 | .ToList(); 28 | 29 | return View(vm.ViewName, vm); 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/GlobalUsing.cs: -------------------------------------------------------------------------------- 1 | global using Netnr.ResponseFramework.Domain.Entities; 2 | global using Netnr.ResponseFramework.Domain.Models; 3 | global using Netnr.ResponseFramework.Application.Datas; 4 | global using Netnr.ResponseFramework.Application.Services; 5 | global using Netnr.ResponseFramework.Web.Filters; 6 | global using Netnr.ResponseFramework.Web.Services; -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Program.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/Program.cs -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Home/Guide.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "向导"; 3 | } 4 | 5 |

Guide

6 | 7 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/RF/GridChange.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Grid多表格变动"; 3 | } 4 | 5 | 6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/RF/GridQuery.cshtml: -------------------------------------------------------------------------------- 1 | 2 | @{ 3 | ViewData["Title"] = "GridQuery"; 4 | } 5 | 6 |

GridQuery

7 | 8 | 9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | 17 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/RF/Invoice.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "单据"; 3 | } 4 | 5 | @await Component.InvokeAsync("Form", new InvokeFormVM() 6 | { 7 | ViewName = "Invoice", 8 | TableName = "TempInvoiceMain", 9 | InvoiceTitle = "采购订单" 10 | }) 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/RF/Tce.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "表配置示例"; 3 | } 4 | 5 | @await Component.InvokeAsync("Form", new InvokeFormVM() 6 | { 7 | TableName = "TempExample", 8 | PanelTitle = "面板一,面板二" 9 | }) 10 | 11 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/RF/TreeGrid.cshtml: -------------------------------------------------------------------------------- 1 | 2 | @{ 3 | ViewData["Title"] = "TreeGrid"; 4 | } 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Setting/SysButton.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "按钮管理"; 3 | } 4 | 5 | @await Component.InvokeAsync("Form", new InvokeFormVM() 6 | { 7 | TableName = "SysButton" 8 | }) 9 | 10 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Setting/SysDictionary.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "数据字典"; 3 | } 4 | 5 | @await Component.InvokeAsync("Form", new InvokeFormVM() 6 | { 7 | TableName = "SysDictionary" 8 | }) 9 | 10 | 11 |
12 |
13 |
14 | 字典类别 15 | 16 |
17 |
18 |
19 |
20 | 状态 21 | 22 |
23 |
24 |
25 | 26 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Setting/SysLog.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "操作日志"; 3 | } 4 | 5 | @await Component.InvokeAsync("Form", new InvokeFormVM() 6 | { 7 | TableName = "SysLog" 8 | }) 9 | 10 | @if (!AppTo.GetValue("logs:enable")) 11 | { 12 | 17 | } 18 | 19 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Setting/SysMenu.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "菜单管理"; 3 | } 4 | 5 | @await Component.InvokeAsync("Form", new InvokeFormVM() 6 | { 7 | TableName = "SysMenu" 8 | }) 9 | 10 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Setting/SysTableConfig.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "表配置"; 3 | } 4 | 5 | @await Component.InvokeAsync("Form", new InvokeFormVM() 6 | { 7 | TableName = "SysTableConfig", 8 | PanelTitle = "表格配置,表单配置" 9 | }) 10 | 11 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Setting/SysUser.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "用户管理"; 3 | } 4 | 5 | @await Component.InvokeAsync("Form", new InvokeFormVM() 6 | { 7 | TableName = "SysUser", 8 | ModalSize = 2 9 | }) 10 | 11 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Shared/_BaseViewPartial.cshtml: -------------------------------------------------------------------------------- 1 | @model string 2 | @if (Model != "0") 3 | { 4 | 5 |
6 |
7 |
8 |
9 |
10 | } 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | @{ 20 | var jssrc = $"/js/{ViewContext.RouteData.Values["controller"].ToString().ToLower()}/{ViewContext.RouteData.Values["action"].ToString().ToLower()}.js"; 21 | var jspath = AppTo.WebRootPath + jssrc; 22 | if (System.IO.File.Exists(jspath)) 23 | { 24 | 25 | } 26 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/Shared/_Layout.cshtml: -------------------------------------------------------------------------------- 1 | @Html.Raw(Netnr.QuoteTo.Html("the")) 2 | 3 | 4 | 5 | 6 | 7 | 8 | @ViewData["Title"] 9 | 10 | @Html.Raw(Netnr.QuoteTo.Html("favicon,bootstrap3.css,fa4.css,jquery3.js,bootstrap3.js")) 11 | 12 | 13 | 14 |
15 | @await Component.InvokeAsync("Button") 16 |
17 | @RenderBody() 18 |
19 |
20 | 21 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Netnr; 2 | @using Netnr.ResponseFramework.Web; 3 | @using Netnr.ResponseFramework.Domain.Entities; 4 | @using Netnr.ResponseFramework.Domain.Models; 5 | @using Netnr.ResponseFramework.Application.Datas; 6 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout"; 3 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft": "Warning", 6 | "Microsoft.Hosting.Lifetime": "Information" 7 | } 8 | }, 9 | 10 | //使用 mkcert 自签证书(或删除) 11 | "Kestrel": { 12 | "Certificates": { 13 | "Default": { 14 | "Path": "D:/tmp/res/local.pem", 15 | "KeyPath": "D:/tmp/res/local-key.pem" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/static/netnrf.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/static/netnrf.db -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/static/sample.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/static/sample.zip -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/css/README.md: -------------------------------------------------------------------------------- 1 | - z.css:公共样式调控 2 | 3 | --- 4 | + 页面脚本存放目录,存放规则:{controller}/{action}.css 5 | + 如:/Home/Index 页面对应的存放样式为:/home/index.css 6 | + 统一小写 7 | 8 | --- 9 | + 如有域,请在 wwwroot/areas/css/ 创建 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/favicon.ico -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/favicon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/images/loading.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/images/netnr_avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/images/netnr_avatar.jpg -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/js/README.md: -------------------------------------------------------------------------------- 1 | - init.js:系统首页、菜单导航、选项卡、皮肤、字体设置等功能 2 | - z.js:核心脚本封装 3 | 4 | --- 5 | + 页面脚本存放目录,存放规则:{controller}/{action}.js 6 | + 如:/Home/Index 页面对应的存放脚本为:/home/index.js 7 | + 统一小写 8 | 9 | --- 10 | + 如有域,请在 wwwroot/areas/js/ 创建 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/js/account/updatepassword.js: -------------------------------------------------------------------------------- 1 | $('#btnUpwd').click(function () { 2 | if (z.FormRequired('red', '#fv_upwd', true)) { 3 | var fv = $('#fv_upwd'); txts = fv.find('input'); 4 | if (txts.eq(1).val() != txts.eq(2).val()) { 5 | art('两次输入的密码不一致'); 6 | } else if (txts.eq(1).val().length < 5) { 7 | art('密码长度至少 5 位'); 8 | } else { 9 | $.ajax({ 10 | url: '/account/updatenewpassword', 11 | type: 'post', 12 | dataType: 'json', 13 | data: fv.serialize(), 14 | success: function (data) { 15 | txts.val(''); 16 | art(data.msg); 17 | } 18 | }) 19 | } 20 | } 21 | return false; 22 | }); -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/accordion_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/accordion_arrows.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/blank.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/blank.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/calendar_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/calendar_arrows.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/combo_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/combo_arrow.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/datagrid_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/datagrid_icons.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/datebox_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/datebox_arrow.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/layout_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/layout_arrows.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/linkbutton_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/linkbutton_bg.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/loading.gif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/menu_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/menu_arrows.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/messager_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/messager_icons.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/messager_icons16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/messager_icons16.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/pagination_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/pagination_icons.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/panel_tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/panel_tools.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/passwordbox_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/passwordbox_close.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/passwordbox_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/passwordbox_open.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/searchbox_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/searchbox_button.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/slider_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/slider_handle.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/spinner_arrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/spinner_arrows.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/tabs_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/tabs_icons.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/tagbox_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/tagbox_icons.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/tree_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/tree_icons.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/validatebox_warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/libs/jquery-easyui/themes/metro/images/validatebox_warning.png -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ResponseFramework.Web/wwwroot/upload/README.md: -------------------------------------------------------------------------------- 1 | - 静态资源根目录 2 | - 用户上传的文档 3 | - 建议创建子目录,如doc、temp、template等 -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Serve/Netnr.Serve.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | 6 | 7 | net8.0 8 | latest 9 | enable 10 | true 11 | 12 | 13 | 14 | $(DefineConstants)TRACE;Serve 15 | 16 | 17 | 18 | $(DefineConstants)TRACE;Serve 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Serve/Program.cs: -------------------------------------------------------------------------------- 1 | await Netnr.ServeTo.QuickStart(); -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Shared/Base/PaginationVM.cs: -------------------------------------------------------------------------------- 1 | #if Full || Base 2 | 3 | namespace Netnr; 4 | 5 | /// 6 | /// 分页参数 7 | /// 8 | public class PaginationVM 9 | { 10 | /// 11 | /// 页码 12 | /// 13 | public int PageNumber { get; set; } 14 | /// 15 | /// 页量 16 | /// 17 | public int PageSize { get; set; } 18 | /// 19 | /// 总数量 20 | /// 21 | public int Total { get; set; } 22 | /// 23 | /// 总页数 24 | /// 25 | public int PageTotal 26 | { 27 | get 28 | { 29 | int pt = 0; 30 | try 31 | { 32 | pt = Convert.ToInt32(Math.Ceiling(Convert.ToDecimal(Total) / Convert.ToDecimal(PageSize))); 33 | } 34 | catch (Exception ex) 35 | { 36 | Console.WriteLine(ex); 37 | } 38 | return pt; 39 | } 40 | } 41 | } 42 | 43 | #endif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Shared/Base/ValueTextVM.cs: -------------------------------------------------------------------------------- 1 | #if Full || Base 2 | 3 | namespace Netnr; 4 | 5 | /// 6 | /// value-text 7 | /// 8 | public class ValueTextVM 9 | { 10 | /// 11 | /// 值 12 | /// 13 | public string Value { get; set; } 14 | /// 15 | /// 文本 16 | /// 17 | public string Text { get; set; } 18 | /// 19 | /// 数据 20 | /// 21 | public object Data { get; set; } 22 | } 23 | 24 | #endif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Shared/ConsoleX/GlobalUsing.cs: -------------------------------------------------------------------------------- 1 | #if Full || ConsoleX 2 | 3 | global using System.ComponentModel.DataAnnotations; 4 | 5 | #endif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Shared/IPQuery/README.md: -------------------------------------------------------------------------------- 1 | 查询 IP 地址,支持 IPv4 和 IPv6 ,主要国内省市查询,国外仅有国家名称 2 | 3 | ### 使用 (Usage) 4 | ```csharp 5 | // 注册 GBK 编码 6 | Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 7 | 8 | //实例,指定 IPv4 和 IPv6 文件数据库路径 9 | var ipq = new IPQuery(@"D:\tmp\qqwry.dat", @"D:\tmp\ipv6wry.db"); 10 | 11 | var result1 = ipq.Search("61.186.154.83"); 12 | Console.WriteLine($"{result1.Addr} {result1.ISP}"); 13 | 14 | var result2 = ipq.Search("fec0:0:2:1::1"); 15 | Console.WriteLine($"{result2.Addr} {result2.ISP}"); 16 | ``` 17 | 18 | ### 来源 19 | IPv4 来源 https://cz88.net (从公众号下载 exe 程序,安装后拷贝 qqwry.dat 文件) 20 | IPv6 来源 https://ip.zxinc.org (下载 https://ip.zxinc.org/ip.7z 解压拷贝 ipv6wry.db 文件) 21 | 22 | ### 更多 23 | 来源参考 https://github.com/zu1k/nali 24 | 在线接口 https://ip.zxinc.org/api.php?ip=116.179.37.70&type=json -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Shared/Logging/LoggingResultVM.cs: -------------------------------------------------------------------------------- 1 | #if Full || Logging 2 | 3 | namespace Netnr 4 | { 5 | /// 6 | /// 查询返回 7 | /// 8 | public class LoggingResultVM 9 | { 10 | /// 11 | /// 总条数(仅对分页查询时有效) 12 | /// 13 | public int RowCount { get; set; } 14 | /// 15 | /// 丢失的库(附加库有上限会丢失数据库) 16 | /// 17 | public int Lost { get; set; } 18 | /// 19 | /// 数据体 20 | /// 21 | public object RowData { get; set; } 22 | } 23 | } 24 | 25 | #endif -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Shared/Netnr.Shared.shproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 37a82ae4-a2f0-40c8-a084-237e256e543f 5 | 14.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Test/TestGarnet.cs: -------------------------------------------------------------------------------- 1 | using Garnet; 2 | using Xunit; 3 | 4 | namespace Netnr.Test 5 | { 6 | public class TestGarnet 7 | { 8 | [Fact] 9 | public void Start() 10 | { 11 | try 12 | { 13 | using var server = new GarnetServer([]); 14 | // Start the server 15 | server.Start(); 16 | 17 | Thread.Sleep(Timeout.Infinite); 18 | } 19 | catch (Exception ex) 20 | { 21 | Console.WriteLine($"Unable to initialize server due to exception: {ex.Message}"); 22 | } 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Test/TestLanguage.cs: -------------------------------------------------------------------------------- 1 | using Xunit; 2 | 3 | namespace Netnr.Test 4 | { 5 | public class TestLanguage 6 | { 7 | /// 8 | /// C# 8 Range 和 Index(范围和索引) 9 | /// 10 | [Fact] 11 | public void Csharp8RangeAndIndex() 12 | { 13 | var v1 = "123456789"; 14 | 15 | Assert.Equal("789", v1[6..]); 16 | Assert.Equal("789", v1.Substring(6)); 17 | 18 | Assert.Equal("456", v1[3..6]); 19 | Assert.Equal("456", v1.Substring(3, 3)); 20 | 21 | Assert.Equal("123", v1[..3]); 22 | Assert.Equal("123", v1.Substring(0, 3)); 23 | 24 | Assert.Equal("12345678", v1[..^1]); 25 | Assert.Equal("12345678", v1.Substring(0, v1.Length - 1)); 26 | 27 | Assert.Equal("2345678", v1[1..^1]); 28 | Assert.Equal("2345678", v1.Substring(1, v1.Length - 2)); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Test/TestNetnrBase.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Test/TestNetnrBase.cs -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Test/TestNetnrCore.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.Test/TestNetnrCore.cs -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.Test/TestOTP.cs: -------------------------------------------------------------------------------- 1 | using OtpNet; 2 | using Xunit; 3 | 4 | namespace Netnr.Test 5 | { 6 | public class TestOTP 7 | { 8 | [Fact] 9 | public void TOTP() 10 | { 11 | string secretKey = ""; // 粘贴密钥 12 | var totp = new Totp(Base32Encoding.ToBytes(secretKey)); 13 | var code = totp.ComputeTotp(); 14 | Debug.WriteLine(code); 15 | } 16 | 17 | [Fact] 18 | public void GenerateSecertTOTP() 19 | { 20 | var otpKey = KeyGeneration.GenerateRandomKey(); 21 | var secert = Base32Encoding.ToString(otpKey); 22 | 23 | var otpUrl = new OtpUri(OtpType.Totp, secert, "netnr@netnr.com", "netnrcom@gmail.com").ToString(); 24 | Debug.WriteLine(otpUrl); 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ToolX/Program.cs: -------------------------------------------------------------------------------- 1 | namespace Netnr.ToolX 2 | { 3 | class Program 4 | { 5 | static async Task Main() 6 | { 7 | await ConsoleXTo.ProgramMain(typeof(Program)); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Netnr.P/Netnr.ToolX/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/netnr/np/4aa31ea244e08b08e440b9581b9d98f9de8de701/src/Netnr.P/Netnr.ToolX/favicon.ico --------------------------------------------------------------------------------