From fb674e8b5ed32fdcc610c9a9765333eaabd99641 Mon Sep 17 00:00:00 2001 From: hhhkkk520 Date: Thu, 19 May 2022 11:08:06 +0000 Subject: [PATCH] deploy: 533a4077d3b5726115c2afc5be5ff1cd8674fd0f --- assets/{app.c4507667.js => app.2c402e15.js} | 2 +- ...6155.js => developer_index.md.ee592849.js} | 2 +- ...js => developer_index.md.ee592849.lean.js} | 2 +- assets/developer_l10n.md.ba294ec8.js | 1 + assets/developer_l10n.md.ba294ec8.lean.js | 1 + ...5e11.js => developer_theme.md.f7e1f379.js} | 2 +- ...js => developer_theme.md.f7e1f379.lean.js} | 2 +- ...s => en_US_developer_index.md.b71cc532.js} | 2 +- ...en_US_developer_index.md.b71cc532.lean.js} | 2 +- assets/en_US_developer_l10n.md.7251e389.js | 1 + .../en_US_developer_l10n.md.7251e389.lean.js | 1 + ...s => en_US_developer_theme.md.096ab5ad.js} | 2 +- ...en_US_developer_theme.md.096ab5ad.lean.js} | 2 +- ...95.js => en_US_guide_agent.md.8bed9873.js} | 2 +- ... => en_US_guide_agent.md.8bed9873.lean.js} | 2 +- ...9.js => en_US_guide_agentq.md.fc681108.js} | 2 +- ...=> en_US_guide_agentq.md.fc681108.lean.js} | 2 +- ...ec4b.js => en_US_guide_api.md.1cb185fb.js} | 2 +- ...js => en_US_guide_api.md.1cb185fb.lean.js} | 2 +- ...s => en_US_guide_dashboard.md.c29d4037.js} | 2 +- ...en_US_guide_dashboard.md.c29d4037.lean.js} | 2 +- ... => en_US_guide_dashboardq.md.12f00603.js} | 2 +- ...n_US_guide_dashboardq.md.12f00603.lean.js} | 2 +- ...b.js => en_US_guide_loginq.md.fccba1cc.js} | 2 +- ...=> en_US_guide_loginq.md.fccba1cc.lean.js} | 2 +- ... en_US_guide_notifications.md.b30d610e.js} | 2 +- ...S_guide_notifications.md.b30d610e.lean.js} | 2 +- ...bc9a4.js => en_US_guide_q2.md.d1c860d2.js} | 2 +- ....js => en_US_guide_q2.md.d1c860d2.lean.js} | 2 +- ...05e12.js => en_US_guide_q3.md.4782ed4a.js} | 2 +- ....js => en_US_guide_q3.md.4782ed4a.lean.js} | 2 +- ...2e7df.js => en_US_guide_q4.md.21280a24.js} | 2 +- ....js => en_US_guide_q4.md.21280a24.lean.js} | 2 +- ...b2d8e.js => en_US_guide_q5.md.410e46a9.js} | 2 +- ....js => en_US_guide_q5.md.410e46a9.lean.js} | 2 +- ....js => en_US_guide_servers.md.c9b36fe3.js} | 2 +- ...> en_US_guide_servers.md.c9b36fe3.lean.js} | 2 +- ...js => en_US_guide_services.md.facaeeed.js} | 2 +- ... en_US_guide_services.md.facaeeed.lean.js} | 2 +- ...js => en_US_guide_settings.md.aac5fc45.js} | 2 +- ... en_US_guide_settings.md.aac5fc45.lean.js} | 2 +- ...04.js => en_US_guide_tasks.md.c5036e0b.js} | 2 +- ... => en_US_guide_tasks.md.c5036e0b.lean.js} | 2 +- ...e0eca8f3.js => en_US_index.md.c8719a21.js} | 2 +- ...ean.js => en_US_index.md.c8719a21.lean.js} | 2 +- ...7db609ee.js => guide_agent.md.b2c70861.js} | 2 +- ...ean.js => guide_agent.md.b2c70861.lean.js} | 2 +- ...7bf7431.js => guide_agentq.md.68fe01c8.js} | 2 +- ...an.js => guide_agentq.md.68fe01c8.lean.js} | 2 +- ...d.9c2693a4.js => guide_api.md.eadf9bb5.js} | 2 +- ....lean.js => guide_api.md.eadf9bb5.lean.js} | 2 +- ...d851.js => guide_dashboard.md.a8a51b7a.js} | 2 +- ...js => guide_dashboard.md.a8a51b7a.lean.js} | 2 +- ...330.js => guide_dashboardq.md.9a2ad737.js} | 2 +- ...s => guide_dashboardq.md.9a2ad737.lean.js} | 2 +- ...611b7d1.js => guide_loginq.md.d018cda9.js} | 2 +- ...an.js => guide_loginq.md.d018cda9.lean.js} | 2 +- ....js => guide_notifications.md.ac3a804b.js} | 2 +- ...> guide_notifications.md.ac3a804b.lean.js} | 2 +- ...md.88e45dd8.js => guide_q1.md.60864821.js} | 2 +- ...8.lean.js => guide_q1.md.60864821.lean.js} | 2 +- ...md.5ec630f2.js => guide_q2.md.9519d1ef.js} | 2 +- ...2.lean.js => guide_q2.md.9519d1ef.lean.js} | 2 +- ...md.f267f86a.js => guide_q3.md.278a14da.js} | 2 +- ...a.lean.js => guide_q3.md.278a14da.lean.js} | 2 +- ...md.f569afc2.js => guide_q4.md.49995c8a.js} | 2 +- ...2.lean.js => guide_q4.md.49995c8a.lean.js} | 2 +- ...md.ad9570e0.js => guide_q5.md.ef18e2c9.js} | 2 +- ...0.lean.js => guide_q5.md.ef18e2c9.lean.js} | 2 +- ...696277.js => guide_servers.md.aa5468b1.js} | 2 +- ...n.js => guide_servers.md.aa5468b1.lean.js} | 2 +- ...8bd8a.js => guide_services.md.8e64bc0c.js} | 2 +- ....js => guide_services.md.8e64bc0c.lean.js} | 2 +- ...24442.js => guide_settings.md.2744ab59.js} | 4 ++-- assets/guide_settings.md.2744ab59.lean.js | 1 + assets/guide_settings.md.9ab24442.lean.js | 1 - ...e732fdac.js => guide_tasks.md.3511a321.js} | 2 +- ...ean.js => guide_tasks.md.3511a321.lean.js} | 2 +- ...ex.md.54d284a8.js => index.md.2c78f74e.js} | 2 +- ...84a8.lean.js => index.md.2c78f74e.lean.js} | 2 +- developer/index.html | 10 ++++----- developer/l10n.html | 21 +++++++++++++++++++ developer/theme.html | 10 ++++----- en_US/developer/index.html | 10 ++++----- en_US/developer/l10n.html | 21 +++++++++++++++++++ en_US/developer/theme.html | 10 ++++----- en_US/guide/agent.html | 8 +++---- en_US/guide/agentq.html | 8 +++---- en_US/guide/api.html | 10 ++++----- en_US/guide/dashboard.html | 8 +++---- en_US/guide/dashboardq.html | 8 +++---- en_US/guide/loginq.html | 8 +++---- en_US/guide/notifications.html | 8 +++---- en_US/guide/q2.html | 8 +++---- en_US/guide/q3.html | 8 +++---- en_US/guide/q4.html | 8 +++---- en_US/guide/q5.html | 8 +++---- en_US/guide/servers.html | 8 +++---- en_US/guide/services.html | 8 +++---- en_US/guide/settings.html | 8 +++---- en_US/guide/tasks.html | 8 +++---- en_US/index.html | 8 +++---- guide/agent.html | 8 +++---- guide/agentq.html | 8 +++---- guide/api.html | 8 +++---- guide/dashboard.html | 8 +++---- guide/dashboardq.html | 8 +++---- guide/loginq.html | 8 +++---- guide/notifications.html | 8 +++---- guide/q1.html | 8 +++---- guide/q2.html | 8 +++---- guide/q3.html | 8 +++---- guide/q4.html | 8 +++---- guide/q5.html | 8 +++---- guide/servers.html | 8 +++---- guide/services.html | 8 +++---- guide/settings.html | 18 ++++++++-------- guide/tasks.html | 8 +++---- hashmap.json | 2 +- index.html | 8 +++---- 120 files changed, 281 insertions(+), 235 deletions(-) rename assets/{app.c4507667.js => app.2c402e15.js} (56%) rename assets/{developer_index.md.82826155.js => developer_index.md.ee592849.js} (94%) rename assets/{developer_index.md.82826155.lean.js => developer_index.md.ee592849.lean.js} (94%) create mode 100644 assets/developer_l10n.md.ba294ec8.js create mode 100644 assets/developer_l10n.md.ba294ec8.lean.js rename assets/{developer_theme.md.5aef5e11.js => developer_theme.md.f7e1f379.js} (97%) rename assets/{developer_theme.md.5aef5e11.lean.js => developer_theme.md.f7e1f379.lean.js} (89%) rename assets/{en_US_developer_index.md.033094b9.js => en_US_developer_index.md.b71cc532.js} (92%) rename assets/{en_US_developer_index.md.033094b9.lean.js => en_US_developer_index.md.b71cc532.lean.js} (92%) create mode 100644 assets/en_US_developer_l10n.md.7251e389.js create mode 100644 assets/en_US_developer_l10n.md.7251e389.lean.js rename assets/{en_US_developer_theme.md.51219771.js => en_US_developer_theme.md.096ab5ad.js} (79%) rename assets/{en_US_developer_theme.md.51219771.lean.js => en_US_developer_theme.md.096ab5ad.lean.js} (79%) rename assets/{en_US_guide_agent.md.f26bcc95.js => en_US_guide_agent.md.8bed9873.js} (99%) rename assets/{en_US_guide_agent.md.f26bcc95.lean.js => en_US_guide_agent.md.8bed9873.lean.js} (94%) rename assets/{en_US_guide_agentq.md.cbca34f9.js => en_US_guide_agentq.md.fc681108.js} (85%) rename assets/{en_US_guide_agentq.md.cbca34f9.lean.js => en_US_guide_agentq.md.fc681108.lean.js} (85%) rename assets/{en_US_guide_api.md.9fe0ec4b.js => en_US_guide_api.md.1cb185fb.js} (79%) rename assets/{en_US_guide_api.md.9fe0ec4b.lean.js => en_US_guide_api.md.1cb185fb.lean.js} (79%) rename assets/{en_US_guide_dashboard.md.0bf2ca44.js => en_US_guide_dashboard.md.c29d4037.js} (99%) rename assets/{en_US_guide_dashboard.md.0bf2ca44.lean.js => en_US_guide_dashboard.md.c29d4037.lean.js} (92%) rename assets/{en_US_guide_dashboardq.md.99b53368.js => en_US_guide_dashboardq.md.12f00603.js} (85%) rename assets/{en_US_guide_dashboardq.md.99b53368.lean.js => en_US_guide_dashboardq.md.12f00603.lean.js} (85%) rename assets/{en_US_guide_loginq.md.945237bb.js => en_US_guide_loginq.md.fccba1cc.js} (84%) rename assets/{en_US_guide_loginq.md.945237bb.lean.js => en_US_guide_loginq.md.fccba1cc.lean.js} (84%) rename assets/{en_US_guide_notifications.md.280c2697.js => en_US_guide_notifications.md.b30d610e.js} (80%) rename assets/{en_US_guide_notifications.md.280c2697.lean.js => en_US_guide_notifications.md.b30d610e.lean.js} (80%) rename assets/{en_US_guide_q2.md.c15bc9a4.js => en_US_guide_q2.md.d1c860d2.js} (79%) rename assets/{en_US_guide_q2.md.c15bc9a4.lean.js => en_US_guide_q2.md.d1c860d2.lean.js} (79%) rename assets/{en_US_guide_q3.md.93e05e12.js => en_US_guide_q3.md.4782ed4a.js} (79%) rename assets/{en_US_guide_q3.md.93e05e12.lean.js => en_US_guide_q3.md.4782ed4a.lean.js} (79%) rename assets/{en_US_guide_q4.md.0892e7df.js => en_US_guide_q4.md.21280a24.js} (79%) rename assets/{en_US_guide_q4.md.0892e7df.lean.js => en_US_guide_q4.md.21280a24.lean.js} (79%) rename assets/{en_US_guide_q5.md.b96b2d8e.js => en_US_guide_q5.md.410e46a9.js} (79%) rename assets/{en_US_guide_q5.md.b96b2d8e.lean.js => en_US_guide_q5.md.410e46a9.lean.js} (79%) rename assets/{en_US_guide_servers.md.401f32ee.js => en_US_guide_servers.md.c9b36fe3.js} (80%) rename assets/{en_US_guide_servers.md.401f32ee.lean.js => en_US_guide_servers.md.c9b36fe3.lean.js} (80%) rename assets/{en_US_guide_services.md.b1e41ea5.js => en_US_guide_services.md.facaeeed.js} (79%) rename assets/{en_US_guide_services.md.b1e41ea5.lean.js => en_US_guide_services.md.facaeeed.lean.js} (79%) rename assets/{en_US_guide_settings.md.edd538ab.js => en_US_guide_settings.md.aac5fc45.js} (79%) rename assets/{en_US_guide_settings.md.edd538ab.lean.js => en_US_guide_settings.md.aac5fc45.lean.js} (79%) rename assets/{en_US_guide_tasks.md.7f4e7704.js => en_US_guide_tasks.md.c5036e0b.js} (79%) rename assets/{en_US_guide_tasks.md.7f4e7704.lean.js => en_US_guide_tasks.md.c5036e0b.lean.js} (79%) rename assets/{en_US_index.md.e0eca8f3.js => en_US_index.md.c8719a21.js} (95%) rename assets/{en_US_index.md.e0eca8f3.lean.js => en_US_index.md.c8719a21.lean.js} (95%) rename assets/{guide_agent.md.7db609ee.js => guide_agent.md.b2c70861.js} (99%) rename assets/{guide_agent.md.7db609ee.lean.js => guide_agent.md.b2c70861.lean.js} (94%) rename assets/{guide_agentq.md.47bf7431.js => guide_agentq.md.68fe01c8.js} (94%) rename assets/{guide_agentq.md.47bf7431.lean.js => guide_agentq.md.68fe01c8.lean.js} (87%) rename assets/{guide_api.md.9c2693a4.js => guide_api.md.eadf9bb5.js} (80%) rename assets/{guide_api.md.9c2693a4.lean.js => guide_api.md.eadf9bb5.lean.js} (80%) rename assets/{guide_dashboard.md.3c6ed851.js => guide_dashboard.md.a8a51b7a.js} (99%) rename assets/{guide_dashboard.md.3c6ed851.lean.js => guide_dashboard.md.a8a51b7a.lean.js} (93%) rename assets/{guide_dashboardq.md.35888330.js => guide_dashboardq.md.9a2ad737.js} (98%) rename assets/{guide_dashboardq.md.35888330.lean.js => guide_dashboardq.md.9a2ad737.lean.js} (91%) rename assets/{guide_loginq.md.d611b7d1.js => guide_loginq.md.d018cda9.js} (87%) rename assets/{guide_loginq.md.d611b7d1.lean.js => guide_loginq.md.d018cda9.lean.js} (87%) rename assets/{guide_notifications.md.374133eb.js => guide_notifications.md.ac3a804b.js} (99%) rename assets/{guide_notifications.md.374133eb.lean.js => guide_notifications.md.ac3a804b.lean.js} (92%) rename assets/{guide_q1.md.88e45dd8.js => guide_q1.md.60864821.js} (99%) rename assets/{guide_q1.md.88e45dd8.lean.js => guide_q1.md.60864821.lean.js} (89%) rename assets/{guide_q2.md.5ec630f2.js => guide_q2.md.9519d1ef.js} (96%) rename assets/{guide_q2.md.5ec630f2.lean.js => guide_q2.md.9519d1ef.lean.js} (82%) rename assets/{guide_q3.md.f267f86a.js => guide_q3.md.278a14da.js} (98%) rename assets/{guide_q3.md.f267f86a.lean.js => guide_q3.md.278a14da.lean.js} (82%) rename assets/{guide_q4.md.f569afc2.js => guide_q4.md.49995c8a.js} (95%) rename assets/{guide_q4.md.f569afc2.lean.js => guide_q4.md.49995c8a.lean.js} (95%) rename assets/{guide_q5.md.ad9570e0.js => guide_q5.md.ef18e2c9.js} (94%) rename assets/{guide_q5.md.ad9570e0.lean.js => guide_q5.md.ef18e2c9.lean.js} (94%) rename assets/{guide_servers.md.7a696277.js => guide_servers.md.aa5468b1.js} (98%) rename assets/{guide_servers.md.7a696277.lean.js => guide_servers.md.aa5468b1.lean.js} (91%) rename assets/{guide_services.md.03f8bd8a.js => guide_services.md.8e64bc0c.js} (89%) rename assets/{guide_services.md.03f8bd8a.lean.js => guide_services.md.8e64bc0c.lean.js} (89%) rename assets/{guide_settings.md.9ab24442.js => guide_settings.md.2744ab59.js} (53%) create mode 100644 assets/guide_settings.md.2744ab59.lean.js delete mode 100644 assets/guide_settings.md.9ab24442.lean.js rename assets/{guide_tasks.md.e732fdac.js => guide_tasks.md.3511a321.js} (90%) rename assets/{guide_tasks.md.e732fdac.lean.js => guide_tasks.md.3511a321.lean.js} (90%) rename assets/{index.md.54d284a8.js => index.md.2c78f74e.js} (96%) rename assets/{index.md.54d284a8.lean.js => index.md.2c78f74e.lean.js} (96%) create mode 100644 developer/l10n.html create mode 100644 en_US/developer/l10n.html diff --git a/assets/app.c4507667.js b/assets/app.2c402e15.js similarity index 56% rename from assets/app.c4507667.js rename to assets/app.2c402e15.js index 32ceef51..0439a4b1 100644 --- a/assets/app.c4507667.js +++ b/assets/app.2c402e15.js @@ -1 +1 @@ -var Mo=Object.defineProperty,Uo=Object.defineProperties;var Oo=Object.getOwnPropertyDescriptors;var As=Object.getOwnPropertySymbols;var Ro=Object.prototype.hasOwnProperty,Fo=Object.prototype.propertyIsEnumerable;var Ps=(e,t,n)=>t in e?Mo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ss=(e,t)=>{for(var n in t||(t={}))Ro.call(t,n)&&Ps(e,n,t[n]);if(As)for(var n of As(t))Fo.call(t,n)&&Ps(e,n,t[n]);return e},Is=(e,t)=>Uo(e,Oo(t));const No="modulepreload",Ms={},Ho="/",Do=function(t,n){return!n||n.length===0?t():Promise.all(n.map(s=>{if(s=`${Ho}${s}`,s in Ms)return;Ms[s]=!0;const r=s.endsWith(".css"),o=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${o}`))return;const i=document.createElement("link");if(i.rel=r?"stylesheet":No,r||(i.as="script",i.crossOrigin=""),i.href=s,document.head.appendChild(i),r)return new Promise((l,c)=>{i.addEventListener("load",l),i.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t())};function es(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const Bo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",jo=es(Bo);function _r(e){return!!e||e===""}function ts(e){if(U(e)){const t={};for(let n=0;n{if(n){const s=n.split(Ko);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ct(e){let t="";if(he(e))t=e;else if(U(e))for(let n=0;nhe(e)?e:e==null?"":U(e)||ue(e)&&(e.toString===vr||!F(e.toString))?JSON.stringify(e,gr,2):String(e),gr=(e,t)=>t&&t.__v_isRef?gr(e,t.value):bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:mr(t)?{[`Set(${t.size})`]:[...t.values()]}:ue(t)&&!U(t)&&!xr(t)?String(t):t,Q={},mt=[],Me=()=>{},zo=()=>!1,Vo=/^on[^a-z]/,Wt=e=>Vo.test(e),ns=e=>e.startsWith("onUpdate:"),xe=Object.assign,ss=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Jo=Object.prototype.hasOwnProperty,q=(e,t)=>Jo.call(e,t),U=Array.isArray,bt=e=>mn(e)==="[object Map]",mr=e=>mn(e)==="[object Set]",F=e=>typeof e=="function",he=e=>typeof e=="string",rs=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",br=e=>ue(e)&&F(e.then)&&F(e.catch),vr=Object.prototype.toString,mn=e=>vr.call(e),Yo=e=>mn(e).slice(8,-1),xr=e=>mn(e)==="[object Object]",os=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Pt=es(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Xo=/-(\w)/g,Ne=bn(e=>e.replace(Xo,(t,n)=>n?n.toUpperCase():"")),Zo=/\B([A-Z])/g,kt=bn(e=>e.replace(Zo,"-$1").toLowerCase()),vn=bn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Un=bn(e=>e?`on${vn(e)}`:""),Ft=(e,t)=>!Object.is(e,t),On=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Qo=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Us;const Go=()=>Us||(Us=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let Re;class ei{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Re&&(this.parent=Re,this.index=(Re.scopes||(Re.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Re;try{return Re=this,t()}finally{Re=n}}}on(){Re=this}off(){Re=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},yr=e=>(e.w&Ge)>0,kr=e=>(e.n&Ge)>0,ni=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(f==="length"||f>=s)&&l.push(c)});else switch(n!==void 0&&l.push(i.get(n)),t){case"add":U(e)?os(n)&&l.push(i.get("length")):(l.push(i.get(rt)),bt(e)&&l.push(i.get(qn)));break;case"delete":U(e)||(l.push(i.get(rt)),bt(e)&&l.push(i.get(qn)));break;case"set":bt(e)&&l.push(i.get(rt));break}if(l.length===1)l[0]&&Kn(l[0]);else{const c=[];for(const f of l)f&&c.push(...f);Kn(is(c))}}function Kn(e,t){for(const n of U(e)?e:[...e])(n!==Se||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const ri=es("__proto__,__v_isRef,__isVue"),Cr=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(rs)),oi=cs(),ii=cs(!1,!0),li=cs(!0),Rs=ci();function ci(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let o=0,i=this.length;o{e[t]=function(...n){wt();const s=z(this)[t].apply(this,n);return $t(),s}}),e}function cs(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?$i:Pr:t?Ar:Lr).get(s))return s;const i=U(s);if(!e&&i&&q(Rs,r))return Reflect.get(Rs,r,o);const l=Reflect.get(s,r,o);return(rs(r)?Cr.has(r):ri(r))||(e||Te(s,"get",r),t)?l:de(l)?!i||!os(r)?l.value:l:ue(l)?e?Sr(l):yn(l):l}}const ai=Er(),ui=Er(!0);function Er(e=!1){return function(n,s,r,o){let i=n[s];if(Nt(i)&&de(i)&&!de(r))return!1;if(!e&&!Nt(r)&&(Ir(r)||(r=z(r),i=z(i)),!U(n)&&de(i)&&!de(r)))return i.value=r,!0;const l=U(n)&&os(s)?Number(s)e,xn=e=>Reflect.getPrototypeOf(e);function Yt(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),o=z(t);t!==o&&!n&&Te(r,"get",t),!n&&Te(r,"get",o);const{has:i}=xn(r),l=s?as:n?ds:Ht;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Xt(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return e!==r&&!t&&Te(s,"has",e),!t&&Te(s,"has",r),e===r?n.has(e):n.has(e)||n.has(r)}function Zt(e,t=!1){return e=e.__v_raw,!t&&Te(z(e),"iterate",rt),Reflect.get(e,"size",e)}function Fs(e){e=z(e);const t=z(this);return xn(t).has.call(t,e)||(t.add(e),qe(t,"add",e,e)),this}function Ns(e,t){t=z(t);const n=z(this),{has:s,get:r}=xn(n);let o=s.call(n,e);o||(e=z(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Ft(t,i)&&qe(n,"set",e,t):qe(n,"add",e,t),this}function Hs(e){const t=z(this),{has:n,get:s}=xn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&qe(t,"delete",e,void 0),o}function Ds(){const e=z(this),t=e.size!==0,n=e.clear();return t&&qe(e,"clear",void 0,void 0),n}function Qt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=z(i),c=t?as:e?ds:Ht;return!e&&Te(l,"iterate",rt),i.forEach((f,h)=>s.call(r,c(f),c(h),o))}}function Gt(e,t,n){return function(...s){const r=this.__v_raw,o=z(r),i=bt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=r[e](...s),h=n?as:t?ds:Ht;return!t&&Te(o,"iterate",c?qn:rt),{next(){const{value:g,done:y}=f.next();return y?{value:g,done:y}:{value:l?[h(g[0]),h(g[1])]:h(g),done:y}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:this}}function gi(){const e={get(o){return Yt(this,o)},get size(){return Zt(this)},has:Xt,add:Fs,set:Ns,delete:Hs,clear:Ds,forEach:Qt(!1,!1)},t={get(o){return Yt(this,o,!1,!0)},get size(){return Zt(this)},has:Xt,add:Fs,set:Ns,delete:Hs,clear:Ds,forEach:Qt(!1,!0)},n={get(o){return Yt(this,o,!0)},get size(){return Zt(this,!0)},has(o){return Xt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Qt(!0,!1)},s={get(o){return Yt(this,o,!0,!0)},get size(){return Zt(this,!0)},has(o){return Xt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Qt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Gt(o,!1,!1),n[o]=Gt(o,!0,!1),t[o]=Gt(o,!1,!0),s[o]=Gt(o,!0,!0)}),[e,n,t,s]}const[mi,bi,vi,xi]=gi();function us(e,t){const n=t?e?xi:vi:e?bi:mi;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,o)}const yi={get:us(!1,!1)},ki={get:us(!1,!0)},wi={get:us(!0,!1)},Lr=new WeakMap,Ar=new WeakMap,Pr=new WeakMap,$i=new WeakMap;function Ci(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ei(e){return e.__v_skip||!Object.isExtensible(e)?0:Ci(Yo(e))}function yn(e){return Nt(e)?e:fs(e,!1,Tr,yi,Lr)}function Ti(e){return fs(e,!1,_i,ki,Ar)}function Sr(e){return fs(e,!0,pi,wi,Pr)}function fs(e,t,n,s,r){if(!ue(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=Ei(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function vt(e){return Nt(e)?vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Nt(e){return!!(e&&e.__v_isReadonly)}function Ir(e){return!!(e&&e.__v_isShallow)}function Mr(e){return vt(e)||Nt(e)}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function St(e){return sn(e,"__v_skip",!0),e}const Ht=e=>ue(e)?yn(e):e,ds=e=>ue(e)?Sr(e):e;function Ur(e){Ze&&Se&&(e=z(e),$r(e.dep||(e.dep=is())))}function Or(e,t){e=z(e),e.dep&&Kn(e.dep)}function de(e){return!!(e&&e.__v_isRef===!0)}function kn(e){return Rr(e,!1)}function Li(e){return Rr(e,!0)}function Rr(e,t){return de(e)?e:new Ai(e,t)}class Ai{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:Ht(t)}get value(){return Ur(this),this._value}set value(t){t=this.__v_isShallow?t:z(t),Ft(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Ht(t),Or(this))}}function $(e){return de(e)?e.value:e}const Pi={get:(e,t,n)=>$(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return de(r)&&!de(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Fr(e){return vt(e)?e:new Proxy(e,Pi)}function Nr(e){const t=U(e)?new Array(e.length):{};for(const n in e)t[n]=Ii(e,n);return t}class Si{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Ii(e,t,n){const s=e[t];return de(s)?s:new Si(e,t,n)}class Mi{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new ls(t,()=>{this._dirty||(this._dirty=!0,Or(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return Ur(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Ui(e,t,n=!1){let s,r;const o=F(e);return o?(s=e,r=Me):(s=e.get,r=e.set),new Mi(s,r,o||!r,n)}function Qe(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){wn(o,t,n)}return r}function Ue(e,t,n,s){if(F(e)){const o=Qe(e,t,n,s);return o&&br(o)&&o.catch(i=>{wn(i,t,n)}),o}const r=[];for(let o=0;o>>1;Dt(Ee[s])je&&Ee.splice(t,1)}function qr(e,t,n,s){U(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?s+1:s))&&n.push(e),jr()}function Ni(e){qr(e,At,It,pt)}function Hi(e){qr(e,Ye,Mt,_t)}function ps(e,t=null){if(It.length){for(zn=t,At=[...new Set(It)],It.length=0,pt=0;ptDt(n)-Dt(s)),_t=0;_te.id==null?1/0:e.id;function Kr(e){Wn=!1,rn=!0,ps(e),Ee.sort((n,s)=>Dt(n)-Dt(s));const t=Me;try{for(je=0;jeL.trim()):g&&(r=n.map(Qo))}let l,c=s[l=Un(t)]||s[l=Un(Ne(t))];!c&&o&&(c=s[l=Un(kt(t))]),c&&Ue(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ue(f,e,6,r)}}function Wr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!F(e)){const c=f=>{const h=Wr(f,t,!0);h&&(l=!0,xe(i,h))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(s.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):xe(i,o),s.set(e,i),i)}function $n(e,t){return!e||!Wt(t)?!1:(t=t.slice(2).replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,kt(t))||q(e,t))}let $e=null,Cn=null;function ln(e){const t=$e;return $e=e,Cn=e&&e.type.__scopeId||null,t}function zr(e){Cn=e}function Vr(){Cn=null}function Be(e,t=$e,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Xs(-1);const o=ln(t),i=e(...r);return ln(o),s._d&&Xs(1),i};return s._n=!0,s._c=!0,s._d=!0,s}function Rn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:f,render:h,renderCache:g,data:y,setupState:L,ctx:M,inheritAttrs:V}=e;let m,k;const K=ln(e);try{if(n.shapeFlag&4){const H=r||s;m=Pe(h.call(H,H,g,o,L,y,M)),k=c}else{const H=t;m=Pe(H.length>1?H(o,{attrs:c,slots:l,emit:f}):H(o,null)),k=t.props?c:Bi(c)}}catch(H){Rt.length=0,wn(H,e,1),m=N(Ke)}let S=m;if(k&&V!==!1){const H=Object.keys(k),{shapeFlag:X}=S;H.length&&X&7&&(i&&H.some(ns)&&(k=ji(k,i)),S=qt(S,k))}return n.dirs&&(S.dirs=S.dirs?S.dirs.concat(n.dirs):n.dirs),n.transition&&(S.transition=n.transition),m=S,ln(K),m}const Bi=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wt(n))&&((t||(t={}))[n]=e[n]);return t},ji=(e,t)=>{const n={};for(const s in e)(!ns(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function qi(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Bs(s,i,f):!!i;if(c&8){const h=t.dynamicProps;for(let g=0;ge.__isSuspense;function Jr(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):Hi(e)}function zi(e,t){if(_e){let n=_e.provides;const s=_e.parent&&_e.parent.provides;s===n&&(n=_e.provides=Object.create(s)),n[e]=t}}function Ut(e,t,n=!1){const s=_e||$e;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&F(t)?t.call(s.proxy):t}}function Yr(e,t){return _s(e,null,t)}const js={};function ot(e,t,n){return _s(e,t,n)}function _s(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=Q){const l=_e;let c,f=!1,h=!1;if(de(e)?(c=()=>e.value,f=Ir(e)):vt(e)?(c=()=>e,s=!0):U(e)?(h=!0,f=e.some(vt),c=()=>e.map(k=>{if(de(k))return k.value;if(vt(k))return gt(k);if(F(k))return Qe(k,l,2)})):F(e)?t?c=()=>Qe(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return g&&g(),Ue(e,l,3,[y])}:c=Me,t&&s){const k=c;c=()=>gt(k())}let g,y=k=>{g=m.onStop=()=>{Qe(k,l,4)}};if(Kt)return y=Me,t?n&&Ue(t,l,3,[c(),h?[]:void 0,y]):c(),Me;let L=h?[]:js;const M=()=>{if(!!m.active)if(t){const k=m.run();(s||f||(h?k.some((K,S)=>Ft(K,L[S])):Ft(k,L)))&&(g&&g(),Ue(t,l,3,[k,L===js?void 0:L,y]),L=k)}else m.run()};M.allowRecurse=!!t;let V;r==="sync"?V=M:r==="post"?V=()=>we(M,l&&l.suspense):V=()=>{!l||l.isMounted?Ni(M):M()};const m=new ls(c,V);return t?n?M():L=m.run():r==="post"?we(m.run.bind(m),l&&l.suspense):m.run(),()=>{m.stop(),l&&l.scope&&ss(l.scope.effects,m)}}function Vi(e,t,n){const s=this.proxy,r=he(e)?e.includes(".")?Xr(s,e):()=>s[e]:e.bind(s,s);let o;F(t)?o=t:(o=t.handler,n=t);const i=_e;xt(this);const l=_s(r,o.bind(s),n);return i?xt(i):lt(),l}function Xr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{gt(n,t)});else if(xr(e))for(const n in e)gt(e[n],t);return e}function ie(e){return F(e)?{setup:e,name:e.name}:e}const Bt=e=>!!e.type.__asyncLoader,Zr=e=>e.type.__isKeepAlive;function Ji(e,t){Qr(e,"a",t)}function Yi(e,t){Qr(e,"da",t)}function Qr(e,t,n=_e){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(En(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Zr(r.parent.vnode)&&Xi(s,t,n,r),r=r.parent}}function Xi(e,t,n,s){const r=En(t,e,s,!0);Tn(()=>{ss(s[t],r)},n)}function En(e,t,n=_e,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;wt(),xt(n);const l=Ue(t,n,e,i);return lt(),$t(),l});return s?r.unshift(o):r.push(o),o}}const We=e=>(t,n=_e)=>(!Kt||e==="sp")&&En(e,t,n),Zi=We("bm"),ut=We("m"),Qi=We("bu"),Gr=We("u"),Gi=We("bum"),Tn=We("um"),el=We("sp"),tl=We("rtg"),nl=We("rtc");function sl(e,t=_e){En("ec",e,t)}let Vn=!0;function rl(e){const t=to(e),n=e.proxy,s=e.ctx;Vn=!1,t.beforeCreate&&qs(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:f,created:h,beforeMount:g,mounted:y,beforeUpdate:L,updated:M,activated:V,deactivated:m,beforeDestroy:k,beforeUnmount:K,destroyed:S,unmounted:H,render:X,renderTracked:Z,renderTriggered:D,errorCaptured:le,serverPrefetch:ne,expose:re,inheritAttrs:ge,components:j,directives:oe,filters:ye}=t;if(f&&ol(f,s,null,e.appContext.config.unwrapInjectedRef),i)for(const se in i){const G=i[se];F(G)&&(s[se]=G.bind(n))}if(r){const se=r.call(n,n);ue(se)&&(e.data=yn(se))}if(Vn=!0,o)for(const se in o){const G=o[se],He=F(G)?G.bind(n,n):F(G.get)?G.get.bind(n,n):Me,Sn=!F(G)&&F(G.set)?G.set.bind(n):Me,Ct=B({get:He,set:Sn});Object.defineProperty(s,se,{enumerable:!0,configurable:!0,get:()=>Ct.value,set:ft=>Ct.value=ft})}if(l)for(const se in l)eo(l[se],s,n,se);if(c){const se=F(c)?c.call(n):c;Reflect.ownKeys(se).forEach(G=>{zi(G,se[G])})}h&&qs(h,e,"c");function ke(se,G){U(G)?G.forEach(He=>se(He.bind(n))):G&&se(G.bind(n))}if(ke(Zi,g),ke(ut,y),ke(Qi,L),ke(Gr,M),ke(Ji,V),ke(Yi,m),ke(sl,le),ke(nl,Z),ke(tl,D),ke(Gi,K),ke(Tn,H),ke(el,ne),U(re))if(re.length){const se=e.exposed||(e.exposed={});re.forEach(G=>{Object.defineProperty(se,G,{get:()=>n[G],set:He=>n[G]=He})})}else e.exposed||(e.exposed={});X&&e.render===Me&&(e.render=X),ge!=null&&(e.inheritAttrs=ge),j&&(e.components=j),oe&&(e.directives=oe)}function ol(e,t,n=Me,s=!1){U(e)&&(e=Jn(e));for(const r in e){const o=e[r];let i;ue(o)?"default"in o?i=Ut(o.from||r,o.default,!0):i=Ut(o.from||r):i=Ut(o),de(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[r]=i}}function qs(e,t,n){Ue(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function eo(e,t,n,s){const r=s.includes(".")?Xr(n,s):()=>n[s];if(he(e)){const o=t[e];F(o)&&ot(r,o)}else if(F(e))ot(r,e.bind(n));else if(ue(e))if(U(e))e.forEach(o=>eo(o,t,n,s));else{const o=F(e.handler)?e.handler.bind(n):t[e.handler];F(o)&&ot(r,o,e)}}function to(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>cn(c,f,i,!0)),cn(c,t,i)),o.set(t,c),c}function cn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&cn(e,o,n,!0),r&&r.forEach(i=>cn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=il[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const il={data:Ks,props:nt,emits:nt,methods:nt,computed:nt,beforeCreate:be,created:be,beforeMount:be,mounted:be,beforeUpdate:be,updated:be,beforeDestroy:be,beforeUnmount:be,destroyed:be,unmounted:be,activated:be,deactivated:be,errorCaptured:be,serverPrefetch:be,components:nt,directives:nt,watch:cl,provide:Ks,inject:ll};function Ks(e,t){return t?e?function(){return xe(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function ll(e,t){return nt(Jn(e),Jn(t))}function Jn(e){if(U(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const h=e.vnode.dynamicProps;for(let g=0;g{c=!0;const[y,L]=so(g,t,!0);xe(i,y),L&&l.push(...L)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!o&&!c)return s.set(e,mt),mt;if(U(o))for(let h=0;h-1,L[1]=V<0||M-1||q(L,"default"))&&l.push(g)}}}const f=[i,l];return s.set(e,f),f}function Ws(e){return e[0]!=="$"}function zs(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Vs(e,t){return zs(e)===zs(t)}function Js(e,t){return U(t)?t.findIndex(n=>Vs(n,e)):F(t)&&Vs(t,e)?0:-1}const ro=e=>e[0]==="_"||e==="$stable",gs=e=>U(e)?e.map(Pe):[Pe(e)],fl=(e,t,n)=>{const s=Be((...r)=>gs(t(...r)),n);return s._c=!1,s},oo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ro(r))continue;const o=e[r];if(F(o))t[r]=fl(r,o,s);else if(o!=null){const i=gs(o);t[r]=()=>i}}},io=(e,t)=>{const n=gs(t);e.slots.default=()=>n},dl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=z(t),sn(t,"_",n)):oo(t,e.slots={})}else e.slots={},t&&io(e,t);sn(e.slots,Ln,1)},hl=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=Q;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(xe(r,t),!n&&l===1&&delete r._):(o=!t.$stable,oo(t,r)),i=t}else t&&(io(e,t),i={default:1});if(o)for(const l in r)!ro(l)&&!(l in i)&&delete r[l]};function Fe(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;ian(y,t&&(U(t)?t[L]:t),n,s,r));return}if(Bt(s)&&!r)return;const o=s.shapeFlag&4?vs(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,f=t&&t.r,h=l.refs===Q?l.refs={}:l.refs,g=l.setupState;if(f!=null&&f!==c&&(he(f)?(h[f]=null,q(g,f)&&(g[f]=null)):de(f)&&(f.value=null)),F(c))Qe(c,l,12,[i,h]);else{const y=he(c),L=de(c);if(y||L){const M=()=>{if(e.f){const V=y?h[c]:c.value;r?U(V)&&ss(V,o):U(V)?V.includes(o)||V.push(o):y?(h[c]=[o],q(g,c)&&(g[c]=h[c])):(c.value=[o],e.k&&(h[e.k]=c.value))}else y?(h[c]=i,q(g,c)&&(g[c]=i)):de(c)&&(c.value=i,e.k&&(h[e.k]=i))};i?(M.id=-1,we(M,n)):M()}}}let Je=!1;const en=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Fn=e=>e.nodeType===8;function gl(e){const{mt:t,p:n,o:{patchProp:s,nextSibling:r,parentNode:o,remove:i,insert:l,createComment:c}}=e,f=(m,k)=>{if(!k.hasChildNodes()){n(null,m,k),on();return}Je=!1,h(k.firstChild,m,null,null,null),on(),Je&&console.error("Hydration completed but contains mismatches.")},h=(m,k,K,S,H,X=!1)=>{const Z=Fn(m)&&m.data==="[",D=()=>M(m,k,K,S,H,Z),{type:le,ref:ne,shapeFlag:re}=k,ge=m.nodeType;k.el=m;let j=null;switch(le){case jt:ge!==3?j=D():(m.data!==k.children&&(Je=!0,m.data=k.children),j=r(m));break;case Ke:ge!==8||Z?j=D():j=r(m);break;case Ot:if(ge!==1)j=D();else{j=m;const oe=!k.children.length;for(let ye=0;ye{X=X||!!k.dynamicChildren;const{type:Z,props:D,patchFlag:le,shapeFlag:ne,dirs:re}=k,ge=Z==="input"&&re||Z==="option";if(ge||le!==-1){if(re&&Fe(k,null,K,"created"),D)if(ge||!X||le&48)for(const oe in D)(ge&&oe.endsWith("value")||Wt(oe)&&!Pt(oe))&&s(m,oe,null,D[oe],!1,void 0,K);else D.onClick&&s(m,"onClick",null,D.onClick,!1,void 0,K);let j;if((j=D&&D.onVnodeBeforeMount)&&Le(j,K,k),re&&Fe(k,null,K,"beforeMount"),((j=D&&D.onVnodeMounted)||re)&&Jr(()=>{j&&Le(j,K,k),re&&Fe(k,null,K,"mounted")},S),ne&16&&!(D&&(D.innerHTML||D.textContent))){let oe=y(m.firstChild,k,m,K,S,H,X);for(;oe;){Je=!0;const ye=oe;oe=oe.nextSibling,i(ye)}}else ne&8&&m.textContent!==k.children&&(Je=!0,m.textContent=k.children)}return m.nextSibling},y=(m,k,K,S,H,X,Z)=>{Z=Z||!!k.dynamicChildren;const D=k.children,le=D.length;for(let ne=0;ne{const{slotScopeIds:Z}=k;Z&&(H=H?H.concat(Z):Z);const D=o(m),le=y(r(m),k,D,K,S,H,X);return le&&Fn(le)&&le.data==="]"?r(k.anchor=le):(Je=!0,l(k.anchor=c("]"),D,le),le)},M=(m,k,K,S,H,X)=>{if(Je=!0,k.el=null,X){const le=V(m);for(;;){const ne=r(m);if(ne&&ne!==le)i(ne);else break}}const Z=r(m),D=o(m);return i(m),n(null,k,D,Z,K,S,en(D),H),Z},V=m=>{let k=0;for(;m;)if(m=r(m),m&&Fn(m)&&(m.data==="["&&k++,m.data==="]")){if(k===0)return r(m);k--}return m};return[f,h]}const we=Jr;function ml(e){return bl(e,gl)}function bl(e,t){const n=Go();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:f,setElementText:h,parentNode:g,nextSibling:y,setScopeId:L=Me,cloneNode:M,insertStaticContent:V}=e,m=(a,u,d,_=null,p=null,x=null,C=!1,v=null,w=!!u.dynamicChildren)=>{if(a===u)return;a&&!Tt(a,u)&&(_=Jt(a),ze(a,p,x,!0),a=null),u.patchFlag===-2&&(w=!1,u.dynamicChildren=null);const{type:b,ref:A,shapeFlag:E}=u;switch(b){case jt:k(a,u,d,_);break;case Ke:K(a,u,d,_);break;case Ot:a==null&&S(u,d,_,C);break;case fe:oe(a,u,d,_,p,x,C,v,w);break;default:E&1?Z(a,u,d,_,p,x,C,v,w):E&6?ye(a,u,d,_,p,x,C,v,w):(E&64||E&128)&&b.process(a,u,d,_,p,x,C,v,w,dt)}A!=null&&p&&an(A,a&&a.ref,x,u||a,!u)},k=(a,u,d,_)=>{if(a==null)s(u.el=l(u.children),d,_);else{const p=u.el=a.el;u.children!==a.children&&f(p,u.children)}},K=(a,u,d,_)=>{a==null?s(u.el=c(u.children||""),d,_):u.el=a.el},S=(a,u,d,_)=>{[a.el,a.anchor]=V(a.children,u,d,_,a.el,a.anchor)},H=({el:a,anchor:u},d,_)=>{let p;for(;a&&a!==u;)p=y(a),s(a,d,_),a=p;s(u,d,_)},X=({el:a,anchor:u})=>{let d;for(;a&&a!==u;)d=y(a),r(a),a=d;r(u)},Z=(a,u,d,_,p,x,C,v,w)=>{C=C||u.type==="svg",a==null?D(u,d,_,p,x,C,v,w):re(a,u,p,x,C,v,w)},D=(a,u,d,_,p,x,C,v)=>{let w,b;const{type:A,props:E,shapeFlag:P,transition:I,patchFlag:W,dirs:te}=a;if(a.el&&M!==void 0&&W===-1)w=a.el=M(a.el);else{if(w=a.el=i(a.type,x,E&&E.is,E),P&8?h(w,a.children):P&16&&ne(a.children,w,null,_,p,x&&A!=="foreignObject",C,v),te&&Fe(a,null,_,"created"),E){for(const ee in E)ee!=="value"&&!Pt(ee)&&o(w,ee,null,E[ee],x,a.children,_,p,De);"value"in E&&o(w,"value",null,E.value),(b=E.onVnodeBeforeMount)&&Le(b,_,a)}le(w,a,a.scopeId,C,_)}te&&Fe(a,null,_,"beforeMount");const Y=(!p||p&&!p.pendingBranch)&&I&&!I.persisted;Y&&I.beforeEnter(w),s(w,u,d),((b=E&&E.onVnodeMounted)||Y||te)&&we(()=>{b&&Le(b,_,a),Y&&I.enter(w),te&&Fe(a,null,_,"mounted")},p)},le=(a,u,d,_,p)=>{if(d&&L(a,d),_)for(let x=0;x<_.length;x++)L(a,_[x]);if(p){let x=p.subTree;if(u===x){const C=p.vnode;le(a,C,C.scopeId,C.slotScopeIds,p.parent)}}},ne=(a,u,d,_,p,x,C,v,w=0)=>{for(let b=w;b{const v=u.el=a.el;let{patchFlag:w,dynamicChildren:b,dirs:A}=u;w|=a.patchFlag&16;const E=a.props||Q,P=u.props||Q;let I;d&&tt(d,!1),(I=P.onVnodeBeforeUpdate)&&Le(I,d,u,a),A&&Fe(u,a,d,"beforeUpdate"),d&&tt(d,!0);const W=p&&u.type!=="foreignObject";if(b?ge(a.dynamicChildren,b,v,d,_,W,x):C||He(a,u,v,null,d,_,W,x,!1),w>0){if(w&16)j(v,u,E,P,d,_,p);else if(w&2&&E.class!==P.class&&o(v,"class",null,P.class,p),w&4&&o(v,"style",E.style,P.style,p),w&8){const te=u.dynamicProps;for(let Y=0;Y{I&&Le(I,d,u,a),A&&Fe(u,a,d,"updated")},_)},ge=(a,u,d,_,p,x,C)=>{for(let v=0;v{if(d!==_){for(const v in _){if(Pt(v))continue;const w=_[v],b=d[v];w!==b&&v!=="value"&&o(a,v,b,w,C,u.children,p,x,De)}if(d!==Q)for(const v in d)!Pt(v)&&!(v in _)&&o(a,v,d[v],null,C,u.children,p,x,De);"value"in _&&o(a,"value",d.value,_.value)}},oe=(a,u,d,_,p,x,C,v,w)=>{const b=u.el=a?a.el:l(""),A=u.anchor=a?a.anchor:l("");let{patchFlag:E,dynamicChildren:P,slotScopeIds:I}=u;I&&(v=v?v.concat(I):I),a==null?(s(b,d,_),s(A,d,_),ne(u.children,d,A,p,x,C,v,w)):E>0&&E&64&&P&&a.dynamicChildren?(ge(a.dynamicChildren,P,d,p,x,C,v),(u.key!=null||p&&u===p.subTree)&&co(a,u,!0)):He(a,u,d,A,p,x,C,v,w)},ye=(a,u,d,_,p,x,C,v,w)=>{u.slotScopeIds=v,a==null?u.shapeFlag&512?p.ctx.activate(u,d,_,C,w):Pn(u,d,_,p,x,C,w):ke(a,u,w)},Pn=(a,u,d,_,p,x,C)=>{const v=a.component=Al(a,_,p);if(Zr(a)&&(v.ctx.renderer=dt),Pl(v),v.asyncDep){if(p&&p.registerDep(v,se),!a.el){const w=v.subTree=N(Ke);K(null,w,u,d)}return}se(v,a,u,d,p,x,C)},ke=(a,u,d)=>{const _=u.component=a.component;if(qi(a,u,d))if(_.asyncDep&&!_.asyncResolved){G(_,u,d);return}else _.next=u,Fi(_.update),_.update();else u.component=a.component,u.el=a.el,_.vnode=u},se=(a,u,d,_,p,x,C)=>{const v=()=>{if(a.isMounted){let{next:A,bu:E,u:P,parent:I,vnode:W}=a,te=A,Y;tt(a,!1),A?(A.el=W.el,G(a,A,C)):A=W,E&&On(E),(Y=A.props&&A.props.onVnodeBeforeUpdate)&&Le(Y,I,A,W),tt(a,!0);const ee=Rn(a),Ae=a.subTree;a.subTree=ee,m(Ae,ee,g(Ae.el),Jt(Ae),a,p,x),A.el=ee.el,te===null&&Ki(a,ee.el),P&&we(P,p),(Y=A.props&&A.props.onVnodeUpdated)&&we(()=>Le(Y,I,A,W),p)}else{let A;const{el:E,props:P}=u,{bm:I,m:W,parent:te}=a,Y=Bt(u);if(tt(a,!1),I&&On(I),!Y&&(A=P&&P.onVnodeBeforeMount)&&Le(A,te,u),tt(a,!0),E&&Mn){const ee=()=>{a.subTree=Rn(a),Mn(E,a.subTree,a,p,null)};Y?u.type.__asyncLoader().then(()=>!a.isUnmounted&&ee()):ee()}else{const ee=a.subTree=Rn(a);m(null,ee,d,_,a,p,x),u.el=ee.el}if(W&&we(W,p),!Y&&(A=P&&P.onVnodeMounted)){const ee=u;we(()=>Le(A,te,ee),p)}u.shapeFlag&256&&a.a&&we(a.a,p),a.isMounted=!0,u=d=_=null}},w=a.effect=new ls(v,()=>Br(a.update),a.scope),b=a.update=w.run.bind(w);b.id=a.uid,tt(a,!0),b()},G=(a,u,d)=>{u.component=a;const _=a.vnode.props;a.vnode=u,a.next=null,ul(a,u.props,_,d),hl(a,u.children,d),wt(),ps(void 0,a.update),$t()},He=(a,u,d,_,p,x,C,v,w=!1)=>{const b=a&&a.children,A=a?a.shapeFlag:0,E=u.children,{patchFlag:P,shapeFlag:I}=u;if(P>0){if(P&128){Ct(b,E,d,_,p,x,C,v,w);return}else if(P&256){Sn(b,E,d,_,p,x,C,v,w);return}}I&8?(A&16&&De(b,p,x),E!==b&&h(d,E)):A&16?I&16?Ct(b,E,d,_,p,x,C,v,w):De(b,p,x,!0):(A&8&&h(d,""),I&16&&ne(E,d,_,p,x,C,v,w))},Sn=(a,u,d,_,p,x,C,v,w)=>{a=a||mt,u=u||mt;const b=a.length,A=u.length,E=Math.min(b,A);let P;for(P=0;PA?De(a,p,x,!0,!1,E):ne(u,d,_,p,x,C,v,w,E)},Ct=(a,u,d,_,p,x,C,v,w)=>{let b=0;const A=u.length;let E=a.length-1,P=A-1;for(;b<=E&&b<=P;){const I=a[b],W=u[b]=w?Xe(u[b]):Pe(u[b]);if(Tt(I,W))m(I,W,d,null,p,x,C,v,w);else break;b++}for(;b<=E&&b<=P;){const I=a[E],W=u[P]=w?Xe(u[P]):Pe(u[P]);if(Tt(I,W))m(I,W,d,null,p,x,C,v,w);else break;E--,P--}if(b>E){if(b<=P){const I=P+1,W=IP)for(;b<=E;)ze(a[b],p,x,!0),b++;else{const I=b,W=b,te=new Map;for(b=W;b<=P;b++){const Ce=u[b]=w?Xe(u[b]):Pe(u[b]);Ce.key!=null&&te.set(Ce.key,b)}let Y,ee=0;const Ae=P-W+1;let ht=!1,Es=0;const Et=new Array(Ae);for(b=0;b=Ae){ze(Ce,p,x,!0);continue}let Oe;if(Ce.key!=null)Oe=te.get(Ce.key);else for(Y=W;Y<=P;Y++)if(Et[Y-W]===0&&Tt(Ce,u[Y])){Oe=Y;break}Oe===void 0?ze(Ce,p,x,!0):(Et[Oe-W]=b+1,Oe>=Es?Es=Oe:ht=!0,m(Ce,u[Oe],d,null,p,x,C,v,w),ee++)}const Ts=ht?vl(Et):mt;for(Y=Ts.length-1,b=Ae-1;b>=0;b--){const Ce=W+b,Oe=u[Ce],Ls=Ce+1{const{el:x,type:C,transition:v,children:w,shapeFlag:b}=a;if(b&6){ft(a.component.subTree,u,d,_);return}if(b&128){a.suspense.move(u,d,_);return}if(b&64){C.move(a,u,d,dt);return}if(C===fe){s(x,u,d);for(let E=0;Ev.enter(x),p);else{const{leave:E,delayLeave:P,afterLeave:I}=v,W=()=>s(x,u,d),te=()=>{E(x,()=>{W(),I&&I()})};P?P(x,W,te):te()}else s(x,u,d)},ze=(a,u,d,_=!1,p=!1)=>{const{type:x,props:C,ref:v,children:w,dynamicChildren:b,shapeFlag:A,patchFlag:E,dirs:P}=a;if(v!=null&&an(v,null,d,a,!0),A&256){u.ctx.deactivate(a);return}const I=A&1&&P,W=!Bt(a);let te;if(W&&(te=C&&C.onVnodeBeforeUnmount)&&Le(te,u,a),A&6)Io(a.component,d,_);else{if(A&128){a.suspense.unmount(d,_);return}I&&Fe(a,null,u,"beforeUnmount"),A&64?a.type.remove(a,u,d,p,dt,_):b&&(x!==fe||E>0&&E&64)?De(b,u,d,!1,!0):(x===fe&&E&384||!p&&A&16)&&De(w,u,d),_&&$s(a)}(W&&(te=C&&C.onVnodeUnmounted)||I)&&we(()=>{te&&Le(te,u,a),I&&Fe(a,null,u,"unmounted")},d)},$s=a=>{const{type:u,el:d,anchor:_,transition:p}=a;if(u===fe){So(d,_);return}if(u===Ot){X(a);return}const x=()=>{r(d),p&&!p.persisted&&p.afterLeave&&p.afterLeave()};if(a.shapeFlag&1&&p&&!p.persisted){const{leave:C,delayLeave:v}=p,w=()=>C(d,x);v?v(a.el,x,w):w()}else x()},So=(a,u)=>{let d;for(;a!==u;)d=y(a),r(a),a=d;r(u)},Io=(a,u,d)=>{const{bum:_,scope:p,update:x,subTree:C,um:v}=a;_&&On(_),p.stop(),x&&(x.active=!1,ze(C,a,u,d)),v&&we(v,u),we(()=>{a.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},De=(a,u,d,_=!1,p=!1,x=0)=>{for(let C=x;Ca.shapeFlag&6?Jt(a.component.subTree):a.shapeFlag&128?a.suspense.next():y(a.anchor||a.el),Cs=(a,u,d)=>{a==null?u._vnode&&ze(u._vnode,null,null,!0):m(u._vnode||null,a,u,null,null,null,d),on(),u._vnode=a},dt={p:m,um:ze,m:ft,r:$s,mt:Pn,mc:ne,pc:He,pbc:ge,n:Jt,o:e};let In,Mn;return t&&([In,Mn]=t(dt)),{render:Cs,hydrate:In,createApp:_l(Cs,In)}}function tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function co(e,t,n=!1){const s=e.children,r=t.children;if(U(s)&&U(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const xl=e=>e.__isTeleport,ao="components";function un(e,t){return kl(ao,e,!0,t)||e}const yl=Symbol();function kl(e,t,n=!0,s=!1){const r=$e||_e;if(r){const o=r.type;if(e===ao){const l=Ul(o);if(l&&(l===t||l===Ne(t)||l===vn(Ne(t))))return o}const i=Ys(r[e]||o[e],t)||Ys(r.appContext[e],t);return!i&&s?o:i}}function Ys(e,t){return e&&(e[t]||e[Ne(t)]||e[vn(Ne(t))])}const fe=Symbol(void 0),jt=Symbol(void 0),Ke=Symbol(void 0),Ot=Symbol(void 0),Rt=[];let it=null;function T(e=!1){Rt.push(it=e?null:[])}function wl(){Rt.pop(),it=Rt[Rt.length-1]||null}let fn=1;function Xs(e){fn+=e}function uo(e){return e.dynamicChildren=fn>0?it||mt:null,wl(),fn>0&&it&&it.push(e),e}function O(e,t,n,s,r,o){return uo(R(e,t,n,s,r,o,!0))}function pe(e,t,n,s,r){return uo(N(e,t,n,s,r,!0))}function dn(e){return e?e.__v_isVNode===!0:!1}function Tt(e,t){return e.type===t.type&&e.key===t.key}const Ln="__vInternal",fo=({key:e})=>e!=null?e:null,nn=({ref:e,ref_key:t,ref_for:n})=>e!=null?he(e)||de(e)||F(e)?{i:$e,r:e,k:t,f:!!n}:e:null;function R(e,t=null,n=null,s=0,r=null,o=e===fe?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&fo(t),ref:t&&nn(t),scopeId:Cn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null};return l?(ms(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=he(n)?8:16),fn>0&&!i&&it&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&it.push(c),c}const N=$l;function $l(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===yl)&&(e=Ke),dn(e)){const l=qt(e,t,!0);return n&&ms(l,n),l}if(Ol(e)&&(e=e.__vccOpts),t){t=Cl(t);let{class:l,style:c}=t;l&&!he(l)&&(t.class=ct(l)),ue(c)&&(Mr(c)&&!U(c)&&(c=xe({},c)),t.style=ts(c))}const i=he(e)?1:Wi(e)?128:xl(e)?64:ue(e)?4:F(e)?2:0;return R(e,t,n,s,r,i,o,!0)}function Cl(e){return e?Mr(e)||Ln in e?xe({},e):e:null}function qt(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?bs(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&fo(l),ref:t&&t.ref?n&&r?U(r)?r.concat(nn(t)):[r,nn(t)]:nn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==fe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),el:e.el,anchor:e.anchor}}function zt(e=" ",t=0){return N(jt,null,e,t)}function hf(e,t){const n=N(Ot,null,e);return n.staticCount=t,n}function J(e="",t=!1){return t?(T(),pe(Ke,null,e)):N(Ke,null,e)}function Pe(e){return e==null||typeof e=="boolean"?N(Ke):U(e)?N(fe,null,e.slice()):typeof e=="object"?Xe(e):N(jt,null,String(e))}function Xe(e){return e.el===null||e.memo?e:qt(e)}function ms(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ms(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Ln in t)?t._ctx=$e:r===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else F(t)?(t={default:t,_ctx:$e},n=32):(t=String(t),s&64?(n=16,t=[zt(t)]):n=8);e.children=t,e.shapeFlag|=n}function bs(...e){const t={};for(let n=0;nt(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;ldn(t)?!(t.type===Ke||t.type===fe&&!ho(t.children)):!0)?e:null}const Xn=e=>e?po(e)?vs(e)||e.proxy:Xn(e.parent):null,hn=xe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Xn(e.parent),$root:e=>Xn(e.root),$emit:e=>e.emit,$options:e=>to(e),$forceUpdate:e=>()=>Br(e.update),$nextTick:e=>Dr.bind(e.proxy),$watch:e=>Vi.bind(e)}),El={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const L=i[t];if(L!==void 0)switch(L){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(s!==Q&&q(s,t))return i[t]=1,s[t];if(r!==Q&&q(r,t))return i[t]=2,r[t];if((f=e.propsOptions[0])&&q(f,t))return i[t]=3,o[t];if(n!==Q&&q(n,t))return i[t]=4,n[t];Vn&&(i[t]=0)}}const h=hn[t];let g,y;if(h)return t==="$attrs"&&Te(e,"get",t),h(e);if((g=l.__cssModules)&&(g=g[t]))return g;if(n!==Q&&q(n,t))return i[t]=4,n[t];if(y=c.config.globalProperties,q(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return r!==Q&&q(r,t)?(r[t]=n,!0):s!==Q&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==Q&&q(e,i)||t!==Q&&q(t,i)||(l=o[0])&&q(l,i)||q(s,i)||q(hn,i)||q(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Tl=lo();let Ll=0;function Al(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Tl,o={uid:Ll++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new ei(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:so(s,r),emitsOptions:Wr(s,r),emit:null,emitted:null,propsDefaults:Q,inheritAttrs:s.inheritAttrs,ctx:Q,data:Q,props:Q,attrs:Q,slots:Q,refs:Q,setupState:Q,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Di.bind(null,o),e.ce&&e.ce(o),o}let _e=null;const xt=e=>{_e=e,e.scope.on()},lt=()=>{_e&&_e.scope.off(),_e=null};function po(e){return e.vnode.shapeFlag&4}let Kt=!1;function Pl(e,t=!1){Kt=t;const{props:n,children:s}=e.vnode,r=po(e);al(e,n,r,t),dl(e,s);const o=r?Sl(e,t):void 0;return Kt=!1,o}function Sl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=St(new Proxy(e.ctx,El));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Ml(e):null;xt(e),wt();const o=Qe(s,e,0,[e.props,r]);if($t(),lt(),br(o)){if(o.then(lt,lt),t)return o.then(i=>{Zs(e,i,t)}).catch(i=>{wn(i,e,0)});e.asyncDep=o}else Zs(e,o,t)}else _o(e,t)}function Zs(e,t,n){F(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ue(t)&&(e.setupState=Fr(t)),_o(e,n)}let Qs;function _o(e,t,n){const s=e.type;if(!e.render){if(!t&&Qs&&!s.render){const r=s.template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=xe(xe({isCustomElement:o,delimiters:l},i),c);s.render=Qs(r,f)}}e.render=s.render||Me}xt(e),wt(),rl(e),$t(),lt()}function Il(e){return new Proxy(e.attrs,{get(t,n){return Te(e,"get","$attrs"),t[n]}})}function Ml(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Il(e))},slots:e.slots,emit:e.emit,expose:t}}function vs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Fr(St(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in hn)return hn[n](e)}}))}function Ul(e){return F(e)&&e.displayName||e.name}function Ol(e){return F(e)&&"__vccOpts"in e}const B=(e,t)=>Ui(e,t,Kt);function at(e,t,n){const s=arguments.length;return s===2?ue(t)&&!U(t)?dn(t)?N(e,null,[t]):N(e,t):N(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&dn(n)&&(n=[n]),N(e,t,n))}const Rl="3.2.33",Fl="http://www.w3.org/2000/svg",st=typeof document!="undefined"?document:null,Gs=st&&st.createElement("template"),Nl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?st.createElementNS(Fl,e):st.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>st.createTextNode(e),createComment:e=>st.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>st.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Gs.innerHTML=s?`${e}`:e;const l=Gs.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Hl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Dl(e,t,n){const s=e.style,r=he(n);if(n&&!r){for(const o in n)Zn(s,o,n[o]);if(t&&!he(t))for(const o in t)n[o]==null&&Zn(s,o,"")}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const er=/\s*!important$/;function Zn(e,t,n){if(U(n))n.forEach(s=>Zn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Bl(e,t);er.test(n)?e.setProperty(kt(s),n.replace(er,""),"important"):e[s]=n}}const tr=["Webkit","Moz","ms"],Nn={};function Bl(e,t){const n=Nn[t];if(n)return n;let s=Ne(t);if(s!=="filter"&&s in e)return Nn[t]=s;s=vn(s);for(let r=0;r{let e=Date.now,t=!1;if(typeof window!="undefined"){Date.now()>document.createEvent("Event").timeStamp&&(e=()=>performance.now());const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let Qn=0;const Wl=Promise.resolve(),zl=()=>{Qn=0},Vl=()=>Qn||(Wl.then(zl),Qn=go());function Jl(e,t,n,s){e.addEventListener(t,n,s)}function Yl(e,t,n,s){e.removeEventListener(t,n,s)}function Xl(e,t,n,s,r=null){const o=e._vei||(e._vei={}),i=o[t];if(s&&i)i.value=s;else{const[l,c]=Zl(t);if(s){const f=o[t]=Ql(s,r);Jl(e,l,f,c)}else i&&(Yl(e,l,i,c),o[t]=void 0)}}const sr=/(?:Once|Passive|Capture)$/;function Zl(e){let t;if(sr.test(e)){t={};let n;for(;n=e.match(sr);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[kt(e.slice(2)),t]}function Ql(e,t){const n=s=>{const r=s.timeStamp||go();(Kl||r>=n.attached-1)&&Ue(Gl(s,n.value),t,5,[s])};return n.value=e,n.attached=Vl(),n}function Gl(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const rr=/^on[a-z]/,ec=(e,t,n,s,r=!1,o,i,l,c)=>{t==="class"?Hl(e,s,r):t==="style"?Dl(e,n,s):Wt(t)?ns(t)||Xl(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):tc(e,t,s,r))?ql(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),jl(e,t,s,r))};function tc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&rr.test(t)&&F(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||rr.test(t)&&he(n)?!1:t in e}const nc=xe({patchProp:ec},Nl);let Hn,or=!1;function sc(){return Hn=or?Hn:ml(nc),or=!0,Hn}const rc=(...e)=>{const t=sc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=oc(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function oc(e){return he(e)?document.querySelector(e):e}var ic='{"lang":"en-US","title":"VitePress","description":"A VitePress site","base":"/","head":[],"themeConfig":{"locales":{"/":{"label":"\u7B80\u4F53\u4E2D\u6587","nav":[{"text":"\u4F7F\u7528\u6307\u5357","link":"/","activeMatch":"^/$|^/guide/"},{"text":"\u5F00\u53D1\u624B\u518C","link":"/developer/index","activeMatch":"^/developer/"}],"sidebar":{"/guide/":[{"text":"\u5B89\u88C5\u624B\u518C","children":[{"text":"\u5B89\u88C5 Dashboard","link":"/guide/dashboard"},{"text":"\u5B89\u88C5 Agent","link":"/guide/agent"}]},{"text":"\u7BA1\u7406\u9762\u677F\u914D\u7F6E","children":[{"text":"\u4E3B\u673A","link":"/guide/servers"},{"text":"\u670D\u52A1","link":"/guide/services"},{"text":"\u5B9A\u65F6\u4EFB\u52A1","link":"/guide/tasks"},{"text":"\u62A5\u8B66\u901A\u77E5","link":"/guide/notifications"},{"text":"\u8BBE\u7F6E","link":"/guide/settings"},{"text":"API","link":"/guide/api"}]},{"text":"\u5E38\u89C1\u95EE\u9898","children":[{"text":"TG api\u88AB\u5899","link":"/guide/q1"},{"text":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","link":"/guide/q2"},{"text":"\u5982\u4F55\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3","link":"/guide/q3"},{"text":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","link":"/guide/q4"},{"text":"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","link":"/guide/q5"}]},{"text":"\u6392\u969C\u6307\u5357","children":[{"text":"Dashboard\u76F8\u5173","link":"/guide/dashboardq"},{"text":"Agent\u76F8\u5173","link":"/guide/agentq"},{"text":"\u767B\u9646\u76F8\u5173","link":"/guide/loginq"}]}],"/developer/":[{"text":"\u5F00\u53D1\u624B\u518C","children":[{"text":"\u521B\u5EFA\u65B0\u4E3B\u9898","link":"/developer/theme"}]}],"/":[{"text":"\u5B89\u88C5\u624B\u518C","children":[{"text":"\u5B89\u88C5 Dashboard","link":"/guide/dashboard"},{"text":"\u5B89\u88C5 Agent","link":"/guide/agent"}]},{"text":"\u7BA1\u7406\u9762\u677F\u914D\u7F6E","children":[{"text":"\u4E3B\u673A","link":"/guide/servers"},{"text":"\u670D\u52A1","link":"/guide/services"},{"text":"\u5B9A\u65F6\u4EFB\u52A1","link":"/guide/tasks"},{"text":"\u62A5\u8B66\u901A\u77E5","link":"/guide/notifications"},{"text":"\u8BBE\u7F6E","link":"/guide/settings"},{"text":"API","link":"/guide/api"}]},{"text":"\u5E38\u89C1\u95EE\u9898","children":[{"text":"TG api\u88AB\u5899","link":"/guide/q1"},{"text":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","link":"/guide/q2"},{"text":"\u5982\u4F55\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3","link":"/guide/q3"},{"text":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","link":"/guide/q4"},{"text":"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","link":"/guide/q5"}]},{"text":"\u6392\u969C\u6307\u5357","children":[{"text":"Dashboard\u76F8\u5173","link":"/guide/dashboardq"},{"text":"Agent\u76F8\u5173","link":"/guide/agentq"},{"text":"\u767B\u9646\u76F8\u5173","link":"/guide/loginq"}]}]},"repo":"nezhahq/nezhahq.github.io","docsDir":"docs","docsBranch":"main","editLinks":true,"editLinkText":"\u5728GitHub\u4E2D\u7F16\u8F91","lastUpdated":"\u4E0A\u6B21\u66F4\u65B0"},"/en_US/":{"label":"English","nav":[{"text":"User Guide","link":"/en_US/","activeMatch":"^/$|^/en_US/guide/"},{"text":"Development Manual","link":"/en_US/developer/index","activeMatch":"^/en_US/developer/"}],"sidebar":{"/en_US/guide/":[{"text":"Installation Manual","children":[{"text":"Install Dashboard","link":"/en_US/guide/dashboard"},{"text":"Install Agent","link":"/en_US/guide/agent"}]},{"text":"Admin Panel","children":[{"text":"Servers","link":"/en_US/guide/servers"},{"text":"Services","link":"/en_US/guide/services"},{"text":"Tasks","link":"/en_US/guide/tasks"},{"text":"Notifications","link":"/en_US/guide/notifications"},{"text":"Settings","link":"/en_US/guide/settings"},{"text":"API","link":"/en_US/guide/api"}]},{"text":"FAQ","children":[{"text":"Let the Agent start/on-line, and the self-test process of the problem","link":"/en_US/guide/q2"},{"text":"Reverse Proxy gRPC Port (support Cloudflare CDN)","link":"/en_US/guide/q3"},{"text":"Real-time channel disconnection/online terminal connection failure","link":"/en_US/guide/q4"},{"text":"How do I migrate my data to the new server and restore my backups?","link":"/en_US/guide/q5"}]},{"text":"Troubleshooting Guide","children":[{"text":"Dashboard","link":"/en_US/guide/dashboardq"},{"text":"Agent","link":"/en_US/guide/agentq"},{"text":"Login","link":"/en_US/guide/loginq"}]}],"/en_US/developer/":[{"text":"Development Manual","children":[{"text":"Create a new theme","link":"/en_US/developer/theme"}]}],"/en_US/":[{"text":"Installation Manual","children":[{"text":"Install Dashboard","link":"/en_US/guide/dashboard"},{"text":"Install Agent","link":"/en_US/guide/agent"}]},{"text":"Admin Panel","children":[{"text":"Servers","link":"/en_US/guide/servers"},{"text":"Services","link":"/en_US/guide/services"},{"text":"Tasks","link":"/en_US/guide/tasks"},{"text":"Notifications","link":"/en_US/guide/notifications"},{"text":"Settings","link":"/en_US/guide/settings"},{"text":"API","link":"/en_US/guide/api"}]},{"text":"FAQ","children":[{"text":"Let the Agent start/on-line, and the self-test process of the problem","link":"/en_US/guide/q2"},{"text":"Reverse Proxy gRPC Port (support Cloudflare CDN)","link":"/en_US/guide/q3"},{"text":"Real-time channel disconnection/online terminal connection failure","link":"/en_US/guide/q4"},{"text":"How do I migrate my data to the new server and restore my backups?","link":"/en_US/guide/q5"}]},{"text":"Troubleshooting Guide","children":[{"text":"Dashboard","link":"/en_US/guide/dashboardq"},{"text":"Agent","link":"/en_US/guide/agentq"},{"text":"Login","link":"/en_US/guide/loginq"}]}]},"repo":"nezhahq/nezhahq.github.io","docsDir":"docs","docsBranch":"main","editLinks":true,"editLinkText":"Edit this page on GitHub","lastUpdated":"Last Updated"}}},"locales":{"/":{"lang":"zh-CN","title":"\u54EA\u5412\u76D1\u63A7","description":"\u54EA\u5412\u76D1\u63A7\u662F\u4E00\u4E2A\u8F7B\u91CF\u5316\u7684\u8FD0\u7EF4\u5DE5\u5177"},"/en_US/":{"lang":"en-US","title":"Nezha Monitoring","description":"Nezha Monitoring is a lightweight O&M tool"}},"langs":{"/":{"label":"\u7B80\u4F53\u4E2D\u6587","lang":"zh-CN"},"/en_US/":{"label":"English","lang":"en-US"}},"scrollOffset":90}';const mo=/^https?:/i,Ie=typeof window!="undefined";function lc(e,t){t.sort((n,s)=>{const r=s.split("/").length-n.split("/").length;return r!==0?r:s.length-n.length});for(const n of t)if(e.startsWith(n))return n}function ir(e,t){const n=lc(t,Object.keys(e));return n?e[n]:void 0}function cc(e){const{locales:t}=e.themeConfig||{},n=e.locales;return t&&n?Object.keys(t).reduce((s,r)=>(s[r]={label:t[r].label,lang:n[r].lang},s),{}):{}}function ac(e,t){t=uc(e,t);const n=ir(e.locales||{},t),s=ir(e.themeConfig.locales||{},t);return Object.assign({},e,n,{themeConfig:Object.assign({},e.themeConfig,s,{locales:{}}),lang:(n||e).lang,locales:{},langs:cc(e)})}function uc(e,t){if(!Ie)return t;const n=e.base,s=n.endsWith("/")?n.slice(0,-1):n;return t.slice(s.length)}const bo=Symbol(),Vt=Li(fc(ic));function fc(e){return JSON.parse(e)}function dc(e){const t=B(()=>ac(Vt.value,e.path));return{site:t,theme:B(()=>t.value.themeConfig),page:B(()=>e.data),frontmatter:B(()=>e.data.frontmatter),lang:B(()=>t.value.lang),localePath:B(()=>{const{langs:n,lang:s}=t.value,r=Object.keys(n).find(o=>n[o].lang===s);return yt(r||"/")}),title:B(()=>e.data.title?e.data.title+" | "+t.value.title:t.value.title),description:B(()=>e.data.description||t.value.description)}}function me(){const e=Ut(bo);if(!e)throw new Error("vitepress data not properly injected in app");return e}function hc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function yt(e){return mo.test(e)?e:hc(Vt.value.base,e)}function vo(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t.endsWith("/")&&(t+="index"),Ie){const n="/";t=t.slice(n.length).replace(/\//g,"_")+".md";const s=__VP_HASH_MAP__[t.toLowerCase()];t=`${n}assets/${t}.${s}.js`}else t=`./${t.slice(1).replace(/\//g,"_")}.md.js`;return t}const xo=Symbol(),lr="http://a.com",yo={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{},lastUpdated:0},pc=()=>({path:"/",component:null,data:yo});function _c(e,t){const n=yn(pc());function s(i=Ie?location.href:"/"){const l=new URL(i,lr);return!l.pathname.endsWith("/")&&!l.pathname.endsWith(".html")&&(l.pathname+=".html",i=l.pathname+l.search+l.hash),Ie&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",i)),o(i)}let r=null;async function o(i,l=0,c=!1){const f=new URL(i,lr),h=r=f.pathname;try{let g=e(h);if("then"in g&&typeof g.then=="function"&&(g=await g),r===h){r=null;const{default:y,__pageData:L}=g;if(!y)throw new Error(`Invalid route component: ${y}`);n.path=h,n.component=St(y),n.data=St(JSON.parse(L)),Ie&&Dr(()=>{if(f.hash&&!l){let M=null;try{M=document.querySelector(decodeURIComponent(f.hash))}catch(V){console.warn(V)}if(M){cr(M,f.hash);return}}window.scrollTo(0,l)})}}catch(g){if(g.message.match(/fetch/)||console.error(g),!c)try{const y=await fetch(Vt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await y.json(),await o(i,l,!0);return}catch{}r===h&&(r=null,n.path=h,n.component=t?St(t):null,n.data=yo)}}return Ie&&(window.addEventListener("click",i=>{const l=i.target.closest("a");if(l){const{href:c,protocol:f,hostname:h,pathname:g,hash:y,target:L}=l,M=window.location,V=g.match(/\.\w+$/);!i.ctrlKey&&!i.shiftKey&&!i.altKey&&!i.metaKey&&L!=="_blank"&&f===M.protocol&&h===M.hostname&&!(V&&V[0]!==".html")&&(i.preventDefault(),g===M.pathname?y&&y!==M.hash&&(history.pushState(null,"",y),window.dispatchEvent(new Event("hashchange")),cr(l,y,l.classList.contains("header-anchor"))):s(c))}},{capture:!0}),window.addEventListener("popstate",i=>{o(location.href,i.state&&i.state.scrollPosition||0)}),window.addEventListener("hashchange",i=>{i.preventDefault()})),{route:n,go:s}}function gc(){const e=Ut(xo);if(!e)throw new Error("useRouter() is called without provider.");return e}function et(){return gc().route}function cr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){let r=Vt.value.scrollOffset;typeof r=="string"&&(r=document.querySelector(r).getBoundingClientRect().bottom+24);const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-r+o;!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})}}function mc(e,t){let n=[],s=!0;const r=o=>{if(s){s=!1;return}const i=[],l=Math.min(n.length,o.length);for(let c=0;cdocument.head.removeChild(c)),o.slice(l).forEach(c=>{const f=ar(c);document.head.appendChild(f),i.push(f)}),n=i};Yr(()=>{const o=e.data,i=t.value,l=o&&o.title,c=o&&o.description,f=o&&o.frontmatter.head;document.title=(l?l+" | ":"")+i.title,document.querySelector("meta[name=description]").setAttribute("content",c||i.description),r([...f?vc(f):[]])})}function ar([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function bc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function vc(e){return e.filter(t=>!bc(t))}const xc=ie({name:"VitePressContent",setup(){const e=et();return()=>at("div",{style:{position:"relative"}},[e.component?at(e.component):null])}});var ce=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n};const yc=/#.*$/,kc=/(index)?\.(md|html)$/,pn=/\/$/,wc=/^[a-z]+:/i;function xs(e){return Array.isArray(e)}function ys(e){return wc.test(e)}function $c(e,t){if(t===void 0)return!1;const n=ur(`/${e.data.relativePath}`),s=ur(t);return n===s}function ur(e){return decodeURI(e).replace(yc,"").replace(kc,"")}function Cc(e,t){const n=e.endsWith("/"),s=t.startsWith("/");return n&&s?e.slice(0,-1)+t:!n&&!s?`${e}/${t}`:e+t}function Gn(e){return/^\//.test(e)?e:`/${e}`}function ko(e){return e.replace(/(index)?(\.(md|html))?$/,"")||"/"}function Ec(e){return e===!1||e==="auto"||xs(e)}function Tc(e){return e.children!==void 0}function Lc(e){return xs(e)?e.length===0:!e}function ks(e,t){if(Ec(e))return e;t=Gn(t);for(const n in e)if(t.startsWith(Gn(n)))return e[n];return"auto"}function wo(e){return e.reduce((t,n)=>(n.link&&t.push({text:n.text,link:ko(n.link)}),Tc(n)&&(t=[...t,...wo(n.children)]),t),[])}function $o(e){const t=et(),n=ys(e.value.link);return{props:B(()=>{const r=fr(`/${t.data.relativePath}`);let o=!1;if(e.value.activeMatch)o=new RegExp(e.value.activeMatch).test(r);else{const i=fr(e.value.link);o=i==="/"?i===r:r.startsWith(i)}return{class:{active:o,isExternal:n},href:n?e.value.link:yt(e.value.link),target:e.value.target||(n?"_blank":null),rel:e.value.rel||(n?"noopener noreferrer":null),"aria-label":e.value.ariaLabel}}),isExternal:n}}function fr(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\.(html|md)$/,"").replace(/\/index$/,"/")}const Ac={},Pc={class:"icon outbound",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},Sc=R("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"},null,-1),Ic=R("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"},null,-1),Mc=[Sc,Ic];function Uc(e,t){return T(),O("svg",Pc,Mc)}var ws=ce(Ac,[["render",Uc]]);const Oc={class:"nav-link"},Rc=ie({props:{item:null},setup(e){const n=Nr(e),{props:s,isExternal:r}=$o(n.item);return(o,i)=>(T(),O("div",Oc,[R("a",bs({class:"item"},$(s)),[zt(ve(e.item.text)+" ",1),$(r)?(T(),pe(ws,{key:0})):J("",!0)],16)]))}});var _n=ce(Rc,[["__scopeId","data-v-b8818f8c"]]);const Fc={key:0,class:"home-hero"},Nc={key:0,class:"figure"},Hc=["src","alt"],Dc={key:1,id:"main-title",class:"title"},Bc={key:2,class:"tagline"},jc=ie({setup(e){const{site:t,frontmatter:n}=me(),s=B(()=>{const{heroImage:i,heroText:l,tagline:c,actionLink:f,actionText:h}=n.value;return i||l||c||f&&h}),r=B(()=>n.value.heroText||t.value.title),o=B(()=>n.value.tagline||t.value.description);return(i,l)=>$(s)?(T(),O("header",Fc,[$(n).heroImage?(T(),O("figure",Nc,[R("img",{class:"image",src:$(yt)($(n).heroImage),alt:$(n).heroAlt},null,8,Hc)])):J("",!0),$(r)?(T(),O("h1",Dc,ve($(r)),1)):J("",!0),$(o)?(T(),O("p",Bc,ve($(o)),1)):J("",!0),$(n).actionLink&&$(n).actionText?(T(),pe(_n,{key:3,item:{link:$(n).actionLink,text:$(n).actionText},class:"action"},null,8,["item"])):J("",!0),$(n).altActionLink&&$(n).altActionText?(T(),pe(_n,{key:4,item:{link:$(n).altActionLink,text:$(n).altActionText},class:"action alt"},null,8,["item"])):J("",!0)])):J("",!0)}});var qc=ce(jc,[["__scopeId","data-v-370f18c0"]]);const Kc={key:0,class:"home-features"},Wc={class:"wrapper"},zc={class:"container"},Vc={class:"features"},Jc={key:0,class:"title"},Yc={key:1,class:"details"},Xc=ie({setup(e){const{frontmatter:t}=me(),n=B(()=>t.value.features&&t.value.features.length>0),s=B(()=>t.value.features?t.value.features:[]);return(r,o)=>$(n)?(T(),O("div",Kc,[R("div",Wc,[R("div",zc,[R("div",Vc,[(T(!0),O(fe,null,An($(s),(i,l)=>(T(),O("section",{key:l,class:"feature"},[i.title?(T(),O("h2",Jc,ve(i.title),1)):J("",!0),i.details?(T(),O("p",Yc,ve(i.details),1)):J("",!0)]))),128))])])])])):J("",!0)}});var Zc=ce(Xc,[["__scopeId","data-v-e39c13e0"]]);const Qc={key:0,class:"footer"},Gc={class:"container"},ea={class:"text"},ta=ie({setup(e){const{frontmatter:t}=me();return(n,s)=>$(t).footer?(T(),O("footer",Qc,[R("div",Gc,[R("p",ea,ve($(t).footer),1)])])):J("",!0)}});var na=ce(ta,[["__scopeId","data-v-30918238"]]);const sa={class:"home","aria-labelledby":"main-title"},ra={class:"home-content"},oa=ie({setup(e){return(t,n)=>{const s=un("Content");return T(),O("main",sa,[N(qc),ae(t.$slots,"hero",{},void 0,!0),N(Zc),R("div",ra,[N(s)]),ae(t.$slots,"features",{},void 0,!0),N(na),ae(t.$slots,"footer",{},void 0,!0)])}}});var ia=ce(oa,[["__scopeId","data-v-10122c92"]]);const la=["href","aria-label"],ca=["src"],aa=ie({setup(e){const{site:t,theme:n,localePath:s}=me();return(r,o)=>(T(),O("a",{class:"nav-bar-title",href:$(s),"aria-label":`${$(t).title}, back to home`},[$(n).logo?(T(),O("img",{key:0,class:"logo",src:$(yt)($(n).logo),alt:"Logo"},null,8,ca)):J("",!0),zt(" "+ve($(t).title),1)],8,la))}});var ua=ce(aa,[["__scopeId","data-v-cc01ef16"]]);function fa(){const{site:e,localePath:t,theme:n}=me();return B(()=>{const s=e.value.langs,r=Object.keys(s);if(r.length<2)return null;const i=et().path.replace(t.value,""),l=r.map(f=>({text:s[f].label,link:`${f}${i}`}));return{text:n.value.selectText||"Languages",items:l}})}const da=["GitHub","GitLab","Bitbucket"].map(e=>[e,new RegExp(e,"i")]);function ha(){const{site:e}=me();return B(()=>{const t=e.value.themeConfig,n=t.docsRepo||t.repo;if(!n)return null;const s=pa(n);return{text:_a(s,t.repoLabel),link:s}})}function pa(e){return mo.test(e)?e:`https://github.com/${e}`}function _a(e,t){if(t)return t;const n=e.match(/^https?:\/\/[^/]+/);if(!n)return"Source";const s=da.find(([r,o])=>o.test(n[0]));return s&&s[0]?s[0]:"Source"}const ga=e=>(zr("data-v-bbc27490"),e=e(),Vr(),e),ma={class:"nav-dropdown-link-item"},ba=ga(()=>R("span",{class:"arrow"},null,-1)),va={class:"text"},xa={class:"icon"},ya=ie({props:{item:null},setup(e){const n=Nr(e),{props:s,isExternal:r}=$o(n.item);return(o,i)=>(T(),O("div",ma,[R("a",bs({class:"item"},$(s)),[ba,R("span",va,ve(e.item.text),1),R("span",xa,[$(r)?(T(),pe(ws,{key:0})):J("",!0)])],16)]))}});var ka=ce(ya,[["__scopeId","data-v-bbc27490"]]);const wa=["aria-label"],$a={class:"button-text"},Ca={class:"dialog"},Ea=ie({props:{item:null},setup(e){const t=et(),n=kn(!1);ot(()=>t.path,()=>{n.value=!1});function s(){n.value=!n.value}return(r,o)=>(T(),O("div",{class:ct(["nav-dropdown-link",{open:n.value}])},[R("button",{class:"button","aria-label":e.item.ariaLabel,onClick:s},[R("span",$a,ve(e.item.text),1),R("span",{class:ct(["button-arrow",n.value?"down":"right"])},null,2)],8,wa),R("ul",Ca,[(T(!0),O(fe,null,An(e.item.items,i=>(T(),O("li",{key:i.text,class:"dialog-item"},[N(ka,{item:i},null,8,["item"])]))),128))])],2))}});var dr=ce(Ea,[["__scopeId","data-v-56bf3a3f"]]);const Ta={key:0,class:"nav-links"},La={key:1,class:"item"},Aa={key:2,class:"item"},Pa=ie({setup(e){const{theme:t}=me(),n=fa(),s=ha(),r=B(()=>t.value.nav||s.value||n.value);return(o,i)=>$(r)?(T(),O("nav",Ta,[$(t).nav?(T(!0),O(fe,{key:0},An($(t).nav,l=>(T(),O("div",{key:l.text,class:"item"},[l.items?(T(),pe(dr,{key:0,item:l},null,8,["item"])):(T(),pe(_n,{key:1,item:l},null,8,["item"]))]))),128)):J("",!0),$(n)?(T(),O("div",La,[N(dr,{item:$(n)},null,8,["item"])])):J("",!0),$(s)?(T(),O("div",Aa,[N(_n,{item:$(s)},null,8,["item"])])):J("",!0)])):J("",!0)}});var Co=ce(Pa,[["__scopeId","data-v-eab3edfe"]]);const Sa={emits:["toggle"]},Ia=R("svg",{class:"icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"},[R("path",{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z",class:""})],-1),Ma=[Ia];function Ua(e,t,n,s,r,o){return T(),O("div",{class:"sidebar-button",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},Ma)}var Oa=ce(Sa,[["render",Ua]]);const Ra=e=>(zr("data-v-675d8756"),e=e(),Vr(),e),Fa={class:"nav-bar"},Na=Ra(()=>R("div",{class:"flex-grow"},null,-1)),Ha={class:"nav"},Da=ie({emits:["toggle"],setup(e){return(t,n)=>(T(),O("header",Fa,[N(Oa,{onToggle:n[0]||(n[0]=s=>t.$emit("toggle"))}),N(ua),Na,R("div",Ha,[N(Co)]),ae(t.$slots,"search",{},void 0,!0)]))}});var Ba=ce(Da,[["__scopeId","data-v-675d8756"]]);function ja(){let e=null,t=null;const n=Va(s,300);function s(){const i=qa(),l=Ka(i);for(let c=0;c ul > li");l&&l!==t.parentElement?(e=l.querySelector("a"),e&&e.classList.add("active")):e=null}function o(i){i&&i.classList.remove("active")}ut(()=>{s(),window.addEventListener("scroll",n)}),Gr(()=>{r(decodeURIComponent(location.hash))}),Tn(()=>{window.removeEventListener("scroll",n)})}function qa(){return[].slice.call(document.querySelectorAll(".sidebar a.sidebar-link-item"))}function Ka(e){return[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(n=>n.hash===t.hash))}function Wa(){return document.querySelector(".nav-bar").offsetHeight}function hr(e){const t=Wa();return e.parentElement.offsetTop-t-15}function za(e,t,n){const s=window.scrollY;return e===0&&s===0?[!0,null]:s{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function Ja(){const e=et(),{site:t}=me();return ja(),B(()=>{const n=e.data.headers,s=e.data.frontmatter.sidebar,r=e.data.frontmatter.sidebarDepth;if(s===!1)return[];if(s==="auto")return pr(n,r);const o=ks(t.value.themeConfig.sidebar,e.data.relativePath);return o===!1?[]:o==="auto"?pr(n,r):o})}function pr(e,t){const n=[];if(e===void 0)return[];let s;return e.forEach(({level:r,title:o,slug:i})=>{if(r-1>t)return;const l={text:o,link:`#${i}`};r===2?(s=l,n.push(l)):s&&(s.children||(s.children=[])).push(l)}),n}const Eo=e=>{const t=et(),{site:n,frontmatter:s}=me(),r=e.depth||1,o=s.value.sidebarDepth||1/0,i=t.data.headers,l=e.item.text,c=Ya(n.value.base,e.item.link),f=e.item.children,h=$c(t,e.item.link),g=r0?at("ul",{class:"sidebar-links"},t.map(r=>at(Eo,{item:r,depth:s}))):e&&n?To(!1,Xa(n),void 0,s):null}function Xa(e){return Lo(Za(e))}function Za(e){e=e.map(n=>Object.assign({},n));let t;return e.forEach(n=>{n.level===2?t=n:t&&(t.children||(t.children=[])).push(n)}),e.filter(n=>n.level===2)}function Lo(e){return e.map(t=>({text:t.title,link:`#${t.slug}`,children:t.children?Lo(t.children):void 0}))}const Qa={key:0,class:"sidebar-links"},Ga=ie({setup(e){const t=Ja();return(n,s)=>$(t).length>0?(T(),O("ul",Qa,[(T(!0),O(fe,null,An($(t),r=>(T(),pe($(Eo),{item:r},null,8,["item"]))),256))])):J("",!0)}});const eu=ie({props:{open:{type:Boolean}},setup(e){return(t,n)=>(T(),O("aside",{class:ct(["sidebar",{open:e.open}])},[N(Co,{class:"nav"}),ae(t.$slots,"sidebar-top",{},void 0,!0),N(Ga),ae(t.$slots,"sidebar-bottom",{},void 0,!0)],2))}});var tu=ce(eu,[["__scopeId","data-v-83e92a68"]]);const nu=/bitbucket.org/;function su(){const{page:e,theme:t,frontmatter:n}=me(),s=B(()=>{const{repo:o,docsDir:i="",docsBranch:l="master",docsRepo:c=o,editLinks:f}=t.value,h=n.value.editLink!=null?n.value.editLink:f,{relativePath:g}=e.value;return!h||!g||!o?null:ru(o,c,i,l,g)}),r=B(()=>t.value.editLinkText||"Edit this page");return{url:s,text:r}}function ru(e,t,n,s,r){return nu.test(e)?iu(e,t,n,s,r):ou(e,t,n,s,r)}function ou(e,t,n,s,r){return(ys(t)?t:`https://github.com/${t}`).replace(pn,"")+`/edit/${s}/`+(n?n.replace(pn,"")+"/":"")+r}function iu(e,t,n,s,r){return(ys(t)?t:e).replace(pn,"")+`/src/${s}/`+(n?n.replace(pn,"")+"/":"")+r+`?mode=edit&spa=0&at=${s}&fileviewer=file-view-default`}const lu={class:"edit-link"},cu=["href"],au=ie({setup(e){const{url:t,text:n}=su();return(s,r)=>(T(),O("div",lu,[$(t)?(T(),O("a",{key:0,class:"link",href:$(t),target:"_blank",rel:"noopener noreferrer"},[zt(ve($(n))+" ",1),N(ws,{class:"icon"})],8,cu)):J("",!0)]))}});var uu=ce(au,[["__scopeId","data-v-1ed99556"]]);const fu={key:0,class:"last-updated"},du={class:"prefix"},hu={class:"datetime"},pu=ie({setup(e){const{theme:t,page:n}=me(),s=B(()=>{const i=t.value.lastUpdated;return i!==void 0&&i!==!1&&n.value.lastUpdated!==0}),r=B(()=>{const i=t.value.lastUpdated;return i===!0?"Last Updated":i}),o=kn("");return ut(()=>{Yr(()=>{o.value=new Date(n.value.lastUpdated).toLocaleString("en-US")})}),(i,l)=>$(s)?(T(),O("p",fu,[R("span",du,ve($(r))+":",1),R("span",hu,ve(o.value),1)])):J("",!0)}});var _u=ce(pu,[["__scopeId","data-v-abce3432"]]);const gu={class:"page-footer"},mu={class:"edit"},bu={class:"updated"},vu=ie({setup(e){const{page:t}=me();return(n,s)=>(T(),O("footer",gu,[R("div",mu,[N(uu)]),R("div",bu,[$(t).lastUpdated?(T(),pe(_u,{key:0})):J("",!0)])]))}});var xu=ce(vu,[["__scopeId","data-v-07c132fc"]]);function yu(){const{page:e,theme:t}=me(),n=B(()=>ko(Gn(e.value.relativePath))),s=B(()=>{const c=ks(t.value.sidebar,n.value);return xs(c)?wo(c):[]}),r=B(()=>s.value.findIndex(c=>c.link===n.value)),o=B(()=>{if(t.value.nextLinks!==!1&&r.value>-1&&r.value{if(t.value.prevLinks!==!1&&r.value>0)return s.value[r.value-1]}),l=B(()=>!!o.value||!!i.value);return{next:o,prev:i,hasLinks:l}}const ku={},wu={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},$u=R("path",{d:"M19,11H7.4l5.3-5.3c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-7,7c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.2-0.1,0.5,0,0.8c0.1,0.1,0.1,0.2,0.2,0.3l7,7c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4L7.4,13H19c0.6,0,1-0.4,1-1S19.6,11,19,11z"},null,-1),Cu=[$u];function Eu(e,t){return T(),O("svg",wu,Cu)}var Tu=ce(ku,[["render",Eu]]);const Lu={},Au={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Pu=R("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Su=[Pu];function Iu(e,t){return T(),O("svg",Au,Su)}var Mu=ce(Lu,[["render",Iu]]);const Uu={key:0,class:"next-and-prev-link"},Ou={class:"container"},Ru={class:"prev"},Fu=["href"],Nu={class:"text"},Hu={class:"next"},Du=["href"],Bu={class:"text"},ju=ie({setup(e){const{hasLinks:t,prev:n,next:s}=yu();return(r,o)=>$(t)?(T(),O("div",Uu,[R("div",Ou,[R("div",Ru,[$(n)?(T(),O("a",{key:0,class:"link",href:$(yt)($(n).link)},[N(Tu,{class:"icon icon-prev"}),R("span",Nu,ve($(n).text),1)],8,Fu)):J("",!0)]),R("div",Hu,[$(s)?(T(),O("a",{key:0,class:"link",href:$(yt)($(s).link)},[R("span",Bu,ve($(s).text),1),N(Mu,{class:"icon icon-next"})],8,Du)):J("",!0)])])])):J("",!0)}});var qu=ce(ju,[["__scopeId","data-v-38ede35f"]]);const Ku={class:"page"},Wu={class:"container"},zu=ie({setup(e){return(t,n)=>{const s=un("Content");return T(),O("main",Ku,[R("div",Wu,[ae(t.$slots,"top",{},void 0,!0),N(s,{class:"content"}),N(xu),N(qu),ae(t.$slots,"bottom",{},void 0,!0)])])}}});var Vu=ce(zu,[["__scopeId","data-v-7eddb2c4"]]);const Ju={key:0,id:"ads-container"},Yu=ie({setup(e){const t=()=>null,n=t,s=t,r=t,o=et(),{site:i,page:l,theme:c,frontmatter:f}=me(),h=B(()=>!!f.value.customLayout),g=B(()=>!!f.value.home),y=B(()=>Object.keys(i.value.langs).length>1),L=B(()=>{const S=c.value;return f.value.navbar===!1||S.navbar===!1?!1:i.value.title||S.logo||S.repo||S.nav}),M=kn(!1),V=B(()=>f.value.home||f.value.sidebar===!1?!1:!Lc(ks(c.value.sidebar,o.data.relativePath))),m=S=>{M.value=typeof S=="boolean"?S:!M.value},k=m.bind(null,!1);ot(o,k);const K=B(()=>[{"no-navbar":!L.value,"sidebar-open":M.value,"no-sidebar":!V.value}]);return(S,H)=>{const X=un("Content"),Z=un("Debug");return T(),O(fe,null,[R("div",{class:ct(["theme",$(K)])},[$(L)?(T(),pe(Ba,{key:0,onToggle:m},{search:Be(()=>[ae(S.$slots,"navbar-search",{},()=>[$(c).algolia?(T(),pe($(r),{key:0,options:$(c).algolia,multilang:$(y)},null,8,["options","multilang"])):J("",!0)])]),_:3})):J("",!0),N(tu,{open:M.value},{"sidebar-top":Be(()=>[ae(S.$slots,"sidebar-top")]),"sidebar-bottom":Be(()=>[ae(S.$slots,"sidebar-bottom")]),_:3},8,["open"]),R("div",{class:"sidebar-mask",onClick:H[0]||(H[0]=D=>m(!1))}),$(h)?(T(),pe(X,{key:1})):$(g)?ae(S.$slots,"home",{key:2},()=>[N(ia,null,{hero:Be(()=>[ae(S.$slots,"home-hero")]),features:Be(()=>[ae(S.$slots,"home-features")]),footer:Be(()=>[ae(S.$slots,"home-footer")]),_:3})]):(T(),pe(Vu,{key:3},{top:Be(()=>[ae(S.$slots,"page-top-ads",{},()=>[$(c).carbonAds&&$(c).carbonAds.carbon?(T(),O("div",Ju,[(T(),pe($(n),{key:"carbon"+$(l).relativePath,code:$(c).carbonAds.carbon,placement:$(c).carbonAds.placement},null,8,["code","placement"]))])):J("",!0)]),ae(S.$slots,"page-top")]),bottom:Be(()=>[ae(S.$slots,"page-bottom"),ae(S.$slots,"page-bottom-ads",{},()=>[$(c).carbonAds&&$(c).carbonAds.custom?(T(),pe($(s),{key:"custom"+$(l).relativePath,code:$(c).carbonAds.custom,placement:$(c).carbonAds.placement},null,8,["code","placement"])):J("",!0)])]),_:3}))],2),N(Z)],64)}}}),Xu={class:"theme"},Zu=R("h1",null,"404",-1),Qu=["href"],Gu=ie({setup(e){const{site:t}=me(),n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];function s(){return n[Math.floor(Math.random()*n.length)]}return(r,o)=>(T(),O("div",Xu,[Zu,R("blockquote",null,ve(s()),1),R("a",{href:$(t).base,"aria-label":"go to home"},"Take me home.",8,Qu)]))}}),Ao={Layout:Yu,NotFound:Gu},ef={setup(e){const{Layout:t}=Ao;return ut(()=>{window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(console.log("setting as dark"),document.body.classList.add("dark")),setTimeout(()=>{let n=document.body.classList.contains("dark")?"\u{1F506}":"\u{1F319}",s=document.getElementsByClassName("nav-links");if(s){let r=s[0];r&&r.insertAdjacentHTML("beforeend",`
${n}
`),r=s[1],r&&r.insertAdjacentHTML("beforeend",`
${n}
`)}},100)}),(n,s)=>(T(),pe($(t)))}};var gn=Is(Ss({},Ao),{Layout:ef});const Dn=new Set,Po=()=>document.createElement("link"),tf=e=>{const t=Po();t.rel="prefetch",t.href=e,document.head.appendChild(t)},nf=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let tn;const sf=Ie&&(tn=Po())&&tn.relList&&tn.relList.supports&&tn.relList.supports("prefetch")?tf:nf;function rf(){if(!Ie||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!Dn.has(c)){Dn.add(c);const f=vo(c);sf(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{target:i,hostname:l,pathname:c}=o,f=c.match(/\.\w+$/);f&&f[0]!==".html"||i!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(o):Dn.add(c))})})};ut(s);const r=et();ot(()=>r.path,s),Tn(()=>{n&&n.disconnect()})}const of=ie({setup(e,{slots:t}){const n=kn(!1);return ut(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}}),lf=gn.NotFound||(()=>"404 Not Found"),cf={name:"VitePressApp",setup(){const{site:e}=me();return ut(()=>{ot(()=>e.value.lang,t=>{document.documentElement.lang=t},{immediate:!0})}),rf(),()=>at(gn.Layout)}};function af(){const e=ff(),t=uf();t.provide(xo,e);const n=dc(e.route);return t.provide(bo,n),t.component("Content",xc),t.component("ClientOnly",of),t.component("Debug",()=>null),Object.defineProperty(t.config.globalProperties,"$frontmatter",{get(){return n.frontmatter.value}}),gn.enhanceApp&&gn.enhanceApp({app:t,router:e,siteData:Vt}),{app:t,router:e,data:n}}function uf(){return rc(cf)}function ff(){let e=Ie,t;return _c(n=>{let s=vo(n);return e&&(t=s),(e||t===s)&&(s=s.replace(/\.js$/,".lean.js")),Ie?(e=!1,Do(()=>import(s),[])):require(s)},lf)}if(Ie){const{app:e,router:t,data:n}=af();t.go().then(()=>{mc(t.route,n.site),e.mount("#app")})}export{ce as _,R as a,zt as b,O as c,af as createApp,hf as d,T as o}; +var Mo=Object.defineProperty,Uo=Object.defineProperties;var Oo=Object.getOwnPropertyDescriptors;var As=Object.getOwnPropertySymbols;var Ro=Object.prototype.hasOwnProperty,Fo=Object.prototype.propertyIsEnumerable;var Ss=(e,t,n)=>t in e?Mo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ps=(e,t)=>{for(var n in t||(t={}))Ro.call(t,n)&&Ss(e,n,t[n]);if(As)for(var n of As(t))Fo.call(t,n)&&Ss(e,n,t[n]);return e},Is=(e,t)=>Uo(e,Oo(t));const No="modulepreload",Ms={},Ho="/",Do=function(t,n){return!n||n.length===0?t():Promise.all(n.map(s=>{if(s=`${Ho}${s}`,s in Ms)return;Ms[s]=!0;const r=s.endsWith(".css"),o=r?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${o}`))return;const i=document.createElement("link");if(i.rel=r?"stylesheet":No,r||(i.as="script",i.crossOrigin=""),i.href=s,document.head.appendChild(i),r)return new Promise((l,c)=>{i.addEventListener("load",l),i.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t())};function es(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const Bo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",jo=es(Bo);function _r(e){return!!e||e===""}function ts(e){if(U(e)){const t={};for(let n=0;n{if(n){const s=n.split(Ko);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ct(e){let t="";if(he(e))t=e;else if(U(e))for(let n=0;nhe(e)?e:e==null?"":U(e)||ue(e)&&(e.toString===vr||!F(e.toString))?JSON.stringify(e,gr,2):String(e),gr=(e,t)=>t&&t.__v_isRef?gr(e,t.value):bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:mr(t)?{[`Set(${t.size})`]:[...t.values()]}:ue(t)&&!U(t)&&!xr(t)?String(t):t,Q={},mt=[],Me=()=>{},zo=()=>!1,Vo=/^on[^a-z]/,Wt=e=>Vo.test(e),ns=e=>e.startsWith("onUpdate:"),xe=Object.assign,ss=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Jo=Object.prototype.hasOwnProperty,q=(e,t)=>Jo.call(e,t),U=Array.isArray,bt=e=>mn(e)==="[object Map]",mr=e=>mn(e)==="[object Set]",F=e=>typeof e=="function",he=e=>typeof e=="string",rs=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",br=e=>ue(e)&&F(e.then)&&F(e.catch),vr=Object.prototype.toString,mn=e=>vr.call(e),Yo=e=>mn(e).slice(8,-1),xr=e=>mn(e)==="[object Object]",os=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,St=es(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Xo=/-(\w)/g,Ne=bn(e=>e.replace(Xo,(t,n)=>n?n.toUpperCase():"")),Zo=/\B([A-Z])/g,kt=bn(e=>e.replace(Zo,"-$1").toLowerCase()),vn=bn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Un=bn(e=>e?`on${vn(e)}`:""),Ft=(e,t)=>!Object.is(e,t),On=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Qo=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Us;const Go=()=>Us||(Us=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let Re;class ei{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Re&&(this.parent=Re,this.index=(Re.scopes||(Re.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Re;try{return Re=this,t()}finally{Re=n}}}on(){Re=this}off(){Re=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},yr=e=>(e.w&Ge)>0,kr=e=>(e.n&Ge)>0,ni=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(f==="length"||f>=s)&&l.push(c)});else switch(n!==void 0&&l.push(i.get(n)),t){case"add":U(e)?os(n)&&l.push(i.get("length")):(l.push(i.get(rt)),bt(e)&&l.push(i.get(qn)));break;case"delete":U(e)||(l.push(i.get(rt)),bt(e)&&l.push(i.get(qn)));break;case"set":bt(e)&&l.push(i.get(rt));break}if(l.length===1)l[0]&&Kn(l[0]);else{const c=[];for(const f of l)f&&c.push(...f);Kn(is(c))}}function Kn(e,t){for(const n of U(e)?e:[...e])(n!==Pe||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const ri=es("__proto__,__v_isRef,__isVue"),Cr=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(rs)),oi=cs(),ii=cs(!1,!0),li=cs(!0),Rs=ci();function ci(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let o=0,i=this.length;o{e[t]=function(...n){wt();const s=z(this)[t].apply(this,n);return $t(),s}}),e}function cs(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?$i:Sr:t?Ar:Lr).get(s))return s;const i=U(s);if(!e&&i&&q(Rs,r))return Reflect.get(Rs,r,o);const l=Reflect.get(s,r,o);return(rs(r)?Cr.has(r):ri(r))||(e||Te(s,"get",r),t)?l:de(l)?!i||!os(r)?l.value:l:ue(l)?e?Pr(l):yn(l):l}}const ai=Er(),ui=Er(!0);function Er(e=!1){return function(n,s,r,o){let i=n[s];if(Nt(i)&&de(i)&&!de(r))return!1;if(!e&&!Nt(r)&&(Ir(r)||(r=z(r),i=z(i)),!U(n)&&de(i)&&!de(r)))return i.value=r,!0;const l=U(n)&&os(s)?Number(s)e,xn=e=>Reflect.getPrototypeOf(e);function Yt(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),o=z(t);t!==o&&!n&&Te(r,"get",t),!n&&Te(r,"get",o);const{has:i}=xn(r),l=s?as:n?ds:Ht;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Xt(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return e!==r&&!t&&Te(s,"has",e),!t&&Te(s,"has",r),e===r?n.has(e):n.has(e)||n.has(r)}function Zt(e,t=!1){return e=e.__v_raw,!t&&Te(z(e),"iterate",rt),Reflect.get(e,"size",e)}function Fs(e){e=z(e);const t=z(this);return xn(t).has.call(t,e)||(t.add(e),qe(t,"add",e,e)),this}function Ns(e,t){t=z(t);const n=z(this),{has:s,get:r}=xn(n);let o=s.call(n,e);o||(e=z(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Ft(t,i)&&qe(n,"set",e,t):qe(n,"add",e,t),this}function Hs(e){const t=z(this),{has:n,get:s}=xn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&qe(t,"delete",e,void 0),o}function Ds(){const e=z(this),t=e.size!==0,n=e.clear();return t&&qe(e,"clear",void 0,void 0),n}function Qt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=z(i),c=t?as:e?ds:Ht;return!e&&Te(l,"iterate",rt),i.forEach((f,h)=>s.call(r,c(f),c(h),o))}}function Gt(e,t,n){return function(...s){const r=this.__v_raw,o=z(r),i=bt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=r[e](...s),h=n?as:t?ds:Ht;return!t&&Te(o,"iterate",c?qn:rt),{next(){const{value:g,done:y}=f.next();return y?{value:g,done:y}:{value:l?[h(g[0]),h(g[1])]:h(g),done:y}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:this}}function gi(){const e={get(o){return Yt(this,o)},get size(){return Zt(this)},has:Xt,add:Fs,set:Ns,delete:Hs,clear:Ds,forEach:Qt(!1,!1)},t={get(o){return Yt(this,o,!1,!0)},get size(){return Zt(this)},has:Xt,add:Fs,set:Ns,delete:Hs,clear:Ds,forEach:Qt(!1,!0)},n={get(o){return Yt(this,o,!0)},get size(){return Zt(this,!0)},has(o){return Xt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Qt(!0,!1)},s={get(o){return Yt(this,o,!0,!0)},get size(){return Zt(this,!0)},has(o){return Xt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Qt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Gt(o,!1,!1),n[o]=Gt(o,!0,!1),t[o]=Gt(o,!1,!0),s[o]=Gt(o,!0,!0)}),[e,n,t,s]}const[mi,bi,vi,xi]=gi();function us(e,t){const n=t?e?xi:vi:e?bi:mi;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(q(n,r)&&r in s?n:s,r,o)}const yi={get:us(!1,!1)},ki={get:us(!1,!0)},wi={get:us(!0,!1)},Lr=new WeakMap,Ar=new WeakMap,Sr=new WeakMap,$i=new WeakMap;function Ci(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Ei(e){return e.__v_skip||!Object.isExtensible(e)?0:Ci(Yo(e))}function yn(e){return Nt(e)?e:fs(e,!1,Tr,yi,Lr)}function Ti(e){return fs(e,!1,_i,ki,Ar)}function Pr(e){return fs(e,!0,pi,wi,Sr)}function fs(e,t,n,s,r){if(!ue(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=Ei(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function vt(e){return Nt(e)?vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Nt(e){return!!(e&&e.__v_isReadonly)}function Ir(e){return!!(e&&e.__v_isShallow)}function Mr(e){return vt(e)||Nt(e)}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function Pt(e){return sn(e,"__v_skip",!0),e}const Ht=e=>ue(e)?yn(e):e,ds=e=>ue(e)?Pr(e):e;function Ur(e){Ze&&Pe&&(e=z(e),$r(e.dep||(e.dep=is())))}function Or(e,t){e=z(e),e.dep&&Kn(e.dep)}function de(e){return!!(e&&e.__v_isRef===!0)}function kn(e){return Rr(e,!1)}function Li(e){return Rr(e,!0)}function Rr(e,t){return de(e)?e:new Ai(e,t)}class Ai{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:Ht(t)}get value(){return Ur(this),this._value}set value(t){t=this.__v_isShallow?t:z(t),Ft(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Ht(t),Or(this))}}function $(e){return de(e)?e.value:e}const Si={get:(e,t,n)=>$(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return de(r)&&!de(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Fr(e){return vt(e)?e:new Proxy(e,Si)}function Nr(e){const t=U(e)?new Array(e.length):{};for(const n in e)t[n]=Ii(e,n);return t}class Pi{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Ii(e,t,n){const s=e[t];return de(s)?s:new Pi(e,t,n)}class Mi{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new ls(t,()=>{this._dirty||(this._dirty=!0,Or(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return Ur(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Ui(e,t,n=!1){let s,r;const o=F(e);return o?(s=e,r=Me):(s=e.get,r=e.set),new Mi(s,r,o||!r,n)}function Qe(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){wn(o,t,n)}return r}function Ue(e,t,n,s){if(F(e)){const o=Qe(e,t,n,s);return o&&br(o)&&o.catch(i=>{wn(i,t,n)}),o}const r=[];for(let o=0;o>>1;Dt(Ee[s])je&&Ee.splice(t,1)}function qr(e,t,n,s){U(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?s+1:s))&&n.push(e),jr()}function Ni(e){qr(e,At,It,pt)}function Hi(e){qr(e,Ye,Mt,_t)}function ps(e,t=null){if(It.length){for(zn=t,At=[...new Set(It)],It.length=0,pt=0;ptDt(n)-Dt(s)),_t=0;_te.id==null?1/0:e.id;function Kr(e){Wn=!1,rn=!0,ps(e),Ee.sort((n,s)=>Dt(n)-Dt(s));const t=Me;try{for(je=0;jeL.trim()):g&&(r=n.map(Qo))}let l,c=s[l=Un(t)]||s[l=Un(Ne(t))];!c&&o&&(c=s[l=Un(kt(t))]),c&&Ue(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ue(f,e,6,r)}}function Wr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!F(e)){const c=f=>{const h=Wr(f,t,!0);h&&(l=!0,xe(i,h))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(s.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):xe(i,o),s.set(e,i),i)}function $n(e,t){return!e||!Wt(t)?!1:(t=t.slice(2).replace(/Once$/,""),q(e,t[0].toLowerCase()+t.slice(1))||q(e,kt(t))||q(e,t))}let $e=null,Cn=null;function ln(e){const t=$e;return $e=e,Cn=e&&e.type.__scopeId||null,t}function zr(e){Cn=e}function Vr(){Cn=null}function Be(e,t=$e,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Xs(-1);const o=ln(t),i=e(...r);return ln(o),s._d&&Xs(1),i};return s._n=!0,s._c=!0,s._d=!0,s}function Rn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:f,render:h,renderCache:g,data:y,setupState:L,ctx:M,inheritAttrs:V}=e;let m,k;const K=ln(e);try{if(n.shapeFlag&4){const H=r||s;m=Se(h.call(H,H,g,o,L,y,M)),k=c}else{const H=t;m=Se(H.length>1?H(o,{attrs:c,slots:l,emit:f}):H(o,null)),k=t.props?c:Bi(c)}}catch(H){Rt.length=0,wn(H,e,1),m=N(Ke)}let P=m;if(k&&V!==!1){const H=Object.keys(k),{shapeFlag:X}=P;H.length&&X&7&&(i&&H.some(ns)&&(k=ji(k,i)),P=qt(P,k))}return n.dirs&&(P.dirs=P.dirs?P.dirs.concat(n.dirs):n.dirs),n.transition&&(P.transition=n.transition),m=P,ln(K),m}const Bi=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wt(n))&&((t||(t={}))[n]=e[n]);return t},ji=(e,t)=>{const n={};for(const s in e)(!ns(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function qi(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Bs(s,i,f):!!i;if(c&8){const h=t.dynamicProps;for(let g=0;ge.__isSuspense;function Jr(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):Hi(e)}function zi(e,t){if(_e){let n=_e.provides;const s=_e.parent&&_e.parent.provides;s===n&&(n=_e.provides=Object.create(s)),n[e]=t}}function Ut(e,t,n=!1){const s=_e||$e;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&F(t)?t.call(s.proxy):t}}function Yr(e,t){return _s(e,null,t)}const js={};function ot(e,t,n){return _s(e,t,n)}function _s(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=Q){const l=_e;let c,f=!1,h=!1;if(de(e)?(c=()=>e.value,f=Ir(e)):vt(e)?(c=()=>e,s=!0):U(e)?(h=!0,f=e.some(vt),c=()=>e.map(k=>{if(de(k))return k.value;if(vt(k))return gt(k);if(F(k))return Qe(k,l,2)})):F(e)?t?c=()=>Qe(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return g&&g(),Ue(e,l,3,[y])}:c=Me,t&&s){const k=c;c=()=>gt(k())}let g,y=k=>{g=m.onStop=()=>{Qe(k,l,4)}};if(Kt)return y=Me,t?n&&Ue(t,l,3,[c(),h?[]:void 0,y]):c(),Me;let L=h?[]:js;const M=()=>{if(!!m.active)if(t){const k=m.run();(s||f||(h?k.some((K,P)=>Ft(K,L[P])):Ft(k,L)))&&(g&&g(),Ue(t,l,3,[k,L===js?void 0:L,y]),L=k)}else m.run()};M.allowRecurse=!!t;let V;r==="sync"?V=M:r==="post"?V=()=>we(M,l&&l.suspense):V=()=>{!l||l.isMounted?Ni(M):M()};const m=new ls(c,V);return t?n?M():L=m.run():r==="post"?we(m.run.bind(m),l&&l.suspense):m.run(),()=>{m.stop(),l&&l.scope&&ss(l.scope.effects,m)}}function Vi(e,t,n){const s=this.proxy,r=he(e)?e.includes(".")?Xr(s,e):()=>s[e]:e.bind(s,s);let o;F(t)?o=t:(o=t.handler,n=t);const i=_e;xt(this);const l=_s(r,o.bind(s),n);return i?xt(i):lt(),l}function Xr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{gt(n,t)});else if(xr(e))for(const n in e)gt(e[n],t);return e}function ie(e){return F(e)?{setup:e,name:e.name}:e}const Bt=e=>!!e.type.__asyncLoader,Zr=e=>e.type.__isKeepAlive;function Ji(e,t){Qr(e,"a",t)}function Yi(e,t){Qr(e,"da",t)}function Qr(e,t,n=_e){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(En(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Zr(r.parent.vnode)&&Xi(s,t,n,r),r=r.parent}}function Xi(e,t,n,s){const r=En(t,e,s,!0);Tn(()=>{ss(s[t],r)},n)}function En(e,t,n=_e,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;wt(),xt(n);const l=Ue(t,n,e,i);return lt(),$t(),l});return s?r.unshift(o):r.push(o),o}}const We=e=>(t,n=_e)=>(!Kt||e==="sp")&&En(e,t,n),Zi=We("bm"),ut=We("m"),Qi=We("bu"),Gr=We("u"),Gi=We("bum"),Tn=We("um"),el=We("sp"),tl=We("rtg"),nl=We("rtc");function sl(e,t=_e){En("ec",e,t)}let Vn=!0;function rl(e){const t=to(e),n=e.proxy,s=e.ctx;Vn=!1,t.beforeCreate&&qs(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:f,created:h,beforeMount:g,mounted:y,beforeUpdate:L,updated:M,activated:V,deactivated:m,beforeDestroy:k,beforeUnmount:K,destroyed:P,unmounted:H,render:X,renderTracked:Z,renderTriggered:D,errorCaptured:le,serverPrefetch:ne,expose:re,inheritAttrs:ge,components:j,directives:oe,filters:ye}=t;if(f&&ol(f,s,null,e.appContext.config.unwrapInjectedRef),i)for(const se in i){const G=i[se];F(G)&&(s[se]=G.bind(n))}if(r){const se=r.call(n,n);ue(se)&&(e.data=yn(se))}if(Vn=!0,o)for(const se in o){const G=o[se],He=F(G)?G.bind(n,n):F(G.get)?G.get.bind(n,n):Me,Pn=!F(G)&&F(G.set)?G.set.bind(n):Me,Ct=B({get:He,set:Pn});Object.defineProperty(s,se,{enumerable:!0,configurable:!0,get:()=>Ct.value,set:ft=>Ct.value=ft})}if(l)for(const se in l)eo(l[se],s,n,se);if(c){const se=F(c)?c.call(n):c;Reflect.ownKeys(se).forEach(G=>{zi(G,se[G])})}h&&qs(h,e,"c");function ke(se,G){U(G)?G.forEach(He=>se(He.bind(n))):G&&se(G.bind(n))}if(ke(Zi,g),ke(ut,y),ke(Qi,L),ke(Gr,M),ke(Ji,V),ke(Yi,m),ke(sl,le),ke(nl,Z),ke(tl,D),ke(Gi,K),ke(Tn,H),ke(el,ne),U(re))if(re.length){const se=e.exposed||(e.exposed={});re.forEach(G=>{Object.defineProperty(se,G,{get:()=>n[G],set:He=>n[G]=He})})}else e.exposed||(e.exposed={});X&&e.render===Me&&(e.render=X),ge!=null&&(e.inheritAttrs=ge),j&&(e.components=j),oe&&(e.directives=oe)}function ol(e,t,n=Me,s=!1){U(e)&&(e=Jn(e));for(const r in e){const o=e[r];let i;ue(o)?"default"in o?i=Ut(o.from||r,o.default,!0):i=Ut(o.from||r):i=Ut(o),de(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[r]=i}}function qs(e,t,n){Ue(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function eo(e,t,n,s){const r=s.includes(".")?Xr(n,s):()=>n[s];if(he(e)){const o=t[e];F(o)&&ot(r,o)}else if(F(e))ot(r,e.bind(n));else if(ue(e))if(U(e))e.forEach(o=>eo(o,t,n,s));else{const o=F(e.handler)?e.handler.bind(n):t[e.handler];F(o)&&ot(r,o,e)}}function to(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>cn(c,f,i,!0)),cn(c,t,i)),o.set(t,c),c}function cn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&cn(e,o,n,!0),r&&r.forEach(i=>cn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=il[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const il={data:Ks,props:nt,emits:nt,methods:nt,computed:nt,beforeCreate:be,created:be,beforeMount:be,mounted:be,beforeUpdate:be,updated:be,beforeDestroy:be,beforeUnmount:be,destroyed:be,unmounted:be,activated:be,deactivated:be,errorCaptured:be,serverPrefetch:be,components:nt,directives:nt,watch:cl,provide:Ks,inject:ll};function Ks(e,t){return t?e?function(){return xe(F(e)?e.call(this,this):e,F(t)?t.call(this,this):t)}:t:e}function ll(e,t){return nt(Jn(e),Jn(t))}function Jn(e){if(U(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const h=e.vnode.dynamicProps;for(let g=0;g{c=!0;const[y,L]=so(g,t,!0);xe(i,y),L&&l.push(...L)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!o&&!c)return s.set(e,mt),mt;if(U(o))for(let h=0;h-1,L[1]=V<0||M-1||q(L,"default"))&&l.push(g)}}}const f=[i,l];return s.set(e,f),f}function Ws(e){return e[0]!=="$"}function zs(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Vs(e,t){return zs(e)===zs(t)}function Js(e,t){return U(t)?t.findIndex(n=>Vs(n,e)):F(t)&&Vs(t,e)?0:-1}const ro=e=>e[0]==="_"||e==="$stable",gs=e=>U(e)?e.map(Se):[Se(e)],fl=(e,t,n)=>{const s=Be((...r)=>gs(t(...r)),n);return s._c=!1,s},oo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(ro(r))continue;const o=e[r];if(F(o))t[r]=fl(r,o,s);else if(o!=null){const i=gs(o);t[r]=()=>i}}},io=(e,t)=>{const n=gs(t);e.slots.default=()=>n},dl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=z(t),sn(t,"_",n)):oo(t,e.slots={})}else e.slots={},t&&io(e,t);sn(e.slots,Ln,1)},hl=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=Q;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(xe(r,t),!n&&l===1&&delete r._):(o=!t.$stable,oo(t,r)),i=t}else t&&(io(e,t),i={default:1});if(o)for(const l in r)!ro(l)&&!(l in i)&&delete r[l]};function Fe(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;ian(y,t&&(U(t)?t[L]:t),n,s,r));return}if(Bt(s)&&!r)return;const o=s.shapeFlag&4?vs(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,f=t&&t.r,h=l.refs===Q?l.refs={}:l.refs,g=l.setupState;if(f!=null&&f!==c&&(he(f)?(h[f]=null,q(g,f)&&(g[f]=null)):de(f)&&(f.value=null)),F(c))Qe(c,l,12,[i,h]);else{const y=he(c),L=de(c);if(y||L){const M=()=>{if(e.f){const V=y?h[c]:c.value;r?U(V)&&ss(V,o):U(V)?V.includes(o)||V.push(o):y?(h[c]=[o],q(g,c)&&(g[c]=h[c])):(c.value=[o],e.k&&(h[e.k]=c.value))}else y?(h[c]=i,q(g,c)&&(g[c]=i)):de(c)&&(c.value=i,e.k&&(h[e.k]=i))};i?(M.id=-1,we(M,n)):M()}}}let Je=!1;const en=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Fn=e=>e.nodeType===8;function gl(e){const{mt:t,p:n,o:{patchProp:s,nextSibling:r,parentNode:o,remove:i,insert:l,createComment:c}}=e,f=(m,k)=>{if(!k.hasChildNodes()){n(null,m,k),on();return}Je=!1,h(k.firstChild,m,null,null,null),on(),Je&&console.error("Hydration completed but contains mismatches.")},h=(m,k,K,P,H,X=!1)=>{const Z=Fn(m)&&m.data==="[",D=()=>M(m,k,K,P,H,Z),{type:le,ref:ne,shapeFlag:re}=k,ge=m.nodeType;k.el=m;let j=null;switch(le){case jt:ge!==3?j=D():(m.data!==k.children&&(Je=!0,m.data=k.children),j=r(m));break;case Ke:ge!==8||Z?j=D():j=r(m);break;case Ot:if(ge!==1)j=D();else{j=m;const oe=!k.children.length;for(let ye=0;ye{X=X||!!k.dynamicChildren;const{type:Z,props:D,patchFlag:le,shapeFlag:ne,dirs:re}=k,ge=Z==="input"&&re||Z==="option";if(ge||le!==-1){if(re&&Fe(k,null,K,"created"),D)if(ge||!X||le&48)for(const oe in D)(ge&&oe.endsWith("value")||Wt(oe)&&!St(oe))&&s(m,oe,null,D[oe],!1,void 0,K);else D.onClick&&s(m,"onClick",null,D.onClick,!1,void 0,K);let j;if((j=D&&D.onVnodeBeforeMount)&&Le(j,K,k),re&&Fe(k,null,K,"beforeMount"),((j=D&&D.onVnodeMounted)||re)&&Jr(()=>{j&&Le(j,K,k),re&&Fe(k,null,K,"mounted")},P),ne&16&&!(D&&(D.innerHTML||D.textContent))){let oe=y(m.firstChild,k,m,K,P,H,X);for(;oe;){Je=!0;const ye=oe;oe=oe.nextSibling,i(ye)}}else ne&8&&m.textContent!==k.children&&(Je=!0,m.textContent=k.children)}return m.nextSibling},y=(m,k,K,P,H,X,Z)=>{Z=Z||!!k.dynamicChildren;const D=k.children,le=D.length;for(let ne=0;ne{const{slotScopeIds:Z}=k;Z&&(H=H?H.concat(Z):Z);const D=o(m),le=y(r(m),k,D,K,P,H,X);return le&&Fn(le)&&le.data==="]"?r(k.anchor=le):(Je=!0,l(k.anchor=c("]"),D,le),le)},M=(m,k,K,P,H,X)=>{if(Je=!0,k.el=null,X){const le=V(m);for(;;){const ne=r(m);if(ne&&ne!==le)i(ne);else break}}const Z=r(m),D=o(m);return i(m),n(null,k,D,Z,K,P,en(D),H),Z},V=m=>{let k=0;for(;m;)if(m=r(m),m&&Fn(m)&&(m.data==="["&&k++,m.data==="]")){if(k===0)return r(m);k--}return m};return[f,h]}const we=Jr;function ml(e){return bl(e,gl)}function bl(e,t){const n=Go();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:f,setElementText:h,parentNode:g,nextSibling:y,setScopeId:L=Me,cloneNode:M,insertStaticContent:V}=e,m=(a,u,d,_=null,p=null,x=null,C=!1,v=null,w=!!u.dynamicChildren)=>{if(a===u)return;a&&!Tt(a,u)&&(_=Jt(a),ze(a,p,x,!0),a=null),u.patchFlag===-2&&(w=!1,u.dynamicChildren=null);const{type:b,ref:A,shapeFlag:E}=u;switch(b){case jt:k(a,u,d,_);break;case Ke:K(a,u,d,_);break;case Ot:a==null&&P(u,d,_,C);break;case fe:oe(a,u,d,_,p,x,C,v,w);break;default:E&1?Z(a,u,d,_,p,x,C,v,w):E&6?ye(a,u,d,_,p,x,C,v,w):(E&64||E&128)&&b.process(a,u,d,_,p,x,C,v,w,dt)}A!=null&&p&&an(A,a&&a.ref,x,u||a,!u)},k=(a,u,d,_)=>{if(a==null)s(u.el=l(u.children),d,_);else{const p=u.el=a.el;u.children!==a.children&&f(p,u.children)}},K=(a,u,d,_)=>{a==null?s(u.el=c(u.children||""),d,_):u.el=a.el},P=(a,u,d,_)=>{[a.el,a.anchor]=V(a.children,u,d,_,a.el,a.anchor)},H=({el:a,anchor:u},d,_)=>{let p;for(;a&&a!==u;)p=y(a),s(a,d,_),a=p;s(u,d,_)},X=({el:a,anchor:u})=>{let d;for(;a&&a!==u;)d=y(a),r(a),a=d;r(u)},Z=(a,u,d,_,p,x,C,v,w)=>{C=C||u.type==="svg",a==null?D(u,d,_,p,x,C,v,w):re(a,u,p,x,C,v,w)},D=(a,u,d,_,p,x,C,v)=>{let w,b;const{type:A,props:E,shapeFlag:S,transition:I,patchFlag:W,dirs:te}=a;if(a.el&&M!==void 0&&W===-1)w=a.el=M(a.el);else{if(w=a.el=i(a.type,x,E&&E.is,E),S&8?h(w,a.children):S&16&&ne(a.children,w,null,_,p,x&&A!=="foreignObject",C,v),te&&Fe(a,null,_,"created"),E){for(const ee in E)ee!=="value"&&!St(ee)&&o(w,ee,null,E[ee],x,a.children,_,p,De);"value"in E&&o(w,"value",null,E.value),(b=E.onVnodeBeforeMount)&&Le(b,_,a)}le(w,a,a.scopeId,C,_)}te&&Fe(a,null,_,"beforeMount");const Y=(!p||p&&!p.pendingBranch)&&I&&!I.persisted;Y&&I.beforeEnter(w),s(w,u,d),((b=E&&E.onVnodeMounted)||Y||te)&&we(()=>{b&&Le(b,_,a),Y&&I.enter(w),te&&Fe(a,null,_,"mounted")},p)},le=(a,u,d,_,p)=>{if(d&&L(a,d),_)for(let x=0;x<_.length;x++)L(a,_[x]);if(p){let x=p.subTree;if(u===x){const C=p.vnode;le(a,C,C.scopeId,C.slotScopeIds,p.parent)}}},ne=(a,u,d,_,p,x,C,v,w=0)=>{for(let b=w;b{const v=u.el=a.el;let{patchFlag:w,dynamicChildren:b,dirs:A}=u;w|=a.patchFlag&16;const E=a.props||Q,S=u.props||Q;let I;d&&tt(d,!1),(I=S.onVnodeBeforeUpdate)&&Le(I,d,u,a),A&&Fe(u,a,d,"beforeUpdate"),d&&tt(d,!0);const W=p&&u.type!=="foreignObject";if(b?ge(a.dynamicChildren,b,v,d,_,W,x):C||He(a,u,v,null,d,_,W,x,!1),w>0){if(w&16)j(v,u,E,S,d,_,p);else if(w&2&&E.class!==S.class&&o(v,"class",null,S.class,p),w&4&&o(v,"style",E.style,S.style,p),w&8){const te=u.dynamicProps;for(let Y=0;Y{I&&Le(I,d,u,a),A&&Fe(u,a,d,"updated")},_)},ge=(a,u,d,_,p,x,C)=>{for(let v=0;v{if(d!==_){for(const v in _){if(St(v))continue;const w=_[v],b=d[v];w!==b&&v!=="value"&&o(a,v,b,w,C,u.children,p,x,De)}if(d!==Q)for(const v in d)!St(v)&&!(v in _)&&o(a,v,d[v],null,C,u.children,p,x,De);"value"in _&&o(a,"value",d.value,_.value)}},oe=(a,u,d,_,p,x,C,v,w)=>{const b=u.el=a?a.el:l(""),A=u.anchor=a?a.anchor:l("");let{patchFlag:E,dynamicChildren:S,slotScopeIds:I}=u;I&&(v=v?v.concat(I):I),a==null?(s(b,d,_),s(A,d,_),ne(u.children,d,A,p,x,C,v,w)):E>0&&E&64&&S&&a.dynamicChildren?(ge(a.dynamicChildren,S,d,p,x,C,v),(u.key!=null||p&&u===p.subTree)&&co(a,u,!0)):He(a,u,d,A,p,x,C,v,w)},ye=(a,u,d,_,p,x,C,v,w)=>{u.slotScopeIds=v,a==null?u.shapeFlag&512?p.ctx.activate(u,d,_,C,w):Sn(u,d,_,p,x,C,w):ke(a,u,w)},Sn=(a,u,d,_,p,x,C)=>{const v=a.component=Al(a,_,p);if(Zr(a)&&(v.ctx.renderer=dt),Sl(v),v.asyncDep){if(p&&p.registerDep(v,se),!a.el){const w=v.subTree=N(Ke);K(null,w,u,d)}return}se(v,a,u,d,p,x,C)},ke=(a,u,d)=>{const _=u.component=a.component;if(qi(a,u,d))if(_.asyncDep&&!_.asyncResolved){G(_,u,d);return}else _.next=u,Fi(_.update),_.update();else u.component=a.component,u.el=a.el,_.vnode=u},se=(a,u,d,_,p,x,C)=>{const v=()=>{if(a.isMounted){let{next:A,bu:E,u:S,parent:I,vnode:W}=a,te=A,Y;tt(a,!1),A?(A.el=W.el,G(a,A,C)):A=W,E&&On(E),(Y=A.props&&A.props.onVnodeBeforeUpdate)&&Le(Y,I,A,W),tt(a,!0);const ee=Rn(a),Ae=a.subTree;a.subTree=ee,m(Ae,ee,g(Ae.el),Jt(Ae),a,p,x),A.el=ee.el,te===null&&Ki(a,ee.el),S&&we(S,p),(Y=A.props&&A.props.onVnodeUpdated)&&we(()=>Le(Y,I,A,W),p)}else{let A;const{el:E,props:S}=u,{bm:I,m:W,parent:te}=a,Y=Bt(u);if(tt(a,!1),I&&On(I),!Y&&(A=S&&S.onVnodeBeforeMount)&&Le(A,te,u),tt(a,!0),E&&Mn){const ee=()=>{a.subTree=Rn(a),Mn(E,a.subTree,a,p,null)};Y?u.type.__asyncLoader().then(()=>!a.isUnmounted&&ee()):ee()}else{const ee=a.subTree=Rn(a);m(null,ee,d,_,a,p,x),u.el=ee.el}if(W&&we(W,p),!Y&&(A=S&&S.onVnodeMounted)){const ee=u;we(()=>Le(A,te,ee),p)}u.shapeFlag&256&&a.a&&we(a.a,p),a.isMounted=!0,u=d=_=null}},w=a.effect=new ls(v,()=>Br(a.update),a.scope),b=a.update=w.run.bind(w);b.id=a.uid,tt(a,!0),b()},G=(a,u,d)=>{u.component=a;const _=a.vnode.props;a.vnode=u,a.next=null,ul(a,u.props,_,d),hl(a,u.children,d),wt(),ps(void 0,a.update),$t()},He=(a,u,d,_,p,x,C,v,w=!1)=>{const b=a&&a.children,A=a?a.shapeFlag:0,E=u.children,{patchFlag:S,shapeFlag:I}=u;if(S>0){if(S&128){Ct(b,E,d,_,p,x,C,v,w);return}else if(S&256){Pn(b,E,d,_,p,x,C,v,w);return}}I&8?(A&16&&De(b,p,x),E!==b&&h(d,E)):A&16?I&16?Ct(b,E,d,_,p,x,C,v,w):De(b,p,x,!0):(A&8&&h(d,""),I&16&&ne(E,d,_,p,x,C,v,w))},Pn=(a,u,d,_,p,x,C,v,w)=>{a=a||mt,u=u||mt;const b=a.length,A=u.length,E=Math.min(b,A);let S;for(S=0;SA?De(a,p,x,!0,!1,E):ne(u,d,_,p,x,C,v,w,E)},Ct=(a,u,d,_,p,x,C,v,w)=>{let b=0;const A=u.length;let E=a.length-1,S=A-1;for(;b<=E&&b<=S;){const I=a[b],W=u[b]=w?Xe(u[b]):Se(u[b]);if(Tt(I,W))m(I,W,d,null,p,x,C,v,w);else break;b++}for(;b<=E&&b<=S;){const I=a[E],W=u[S]=w?Xe(u[S]):Se(u[S]);if(Tt(I,W))m(I,W,d,null,p,x,C,v,w);else break;E--,S--}if(b>E){if(b<=S){const I=S+1,W=IS)for(;b<=E;)ze(a[b],p,x,!0),b++;else{const I=b,W=b,te=new Map;for(b=W;b<=S;b++){const Ce=u[b]=w?Xe(u[b]):Se(u[b]);Ce.key!=null&&te.set(Ce.key,b)}let Y,ee=0;const Ae=S-W+1;let ht=!1,Es=0;const Et=new Array(Ae);for(b=0;b=Ae){ze(Ce,p,x,!0);continue}let Oe;if(Ce.key!=null)Oe=te.get(Ce.key);else for(Y=W;Y<=S;Y++)if(Et[Y-W]===0&&Tt(Ce,u[Y])){Oe=Y;break}Oe===void 0?ze(Ce,p,x,!0):(Et[Oe-W]=b+1,Oe>=Es?Es=Oe:ht=!0,m(Ce,u[Oe],d,null,p,x,C,v,w),ee++)}const Ts=ht?vl(Et):mt;for(Y=Ts.length-1,b=Ae-1;b>=0;b--){const Ce=W+b,Oe=u[Ce],Ls=Ce+1{const{el:x,type:C,transition:v,children:w,shapeFlag:b}=a;if(b&6){ft(a.component.subTree,u,d,_);return}if(b&128){a.suspense.move(u,d,_);return}if(b&64){C.move(a,u,d,dt);return}if(C===fe){s(x,u,d);for(let E=0;Ev.enter(x),p);else{const{leave:E,delayLeave:S,afterLeave:I}=v,W=()=>s(x,u,d),te=()=>{E(x,()=>{W(),I&&I()})};S?S(x,W,te):te()}else s(x,u,d)},ze=(a,u,d,_=!1,p=!1)=>{const{type:x,props:C,ref:v,children:w,dynamicChildren:b,shapeFlag:A,patchFlag:E,dirs:S}=a;if(v!=null&&an(v,null,d,a,!0),A&256){u.ctx.deactivate(a);return}const I=A&1&&S,W=!Bt(a);let te;if(W&&(te=C&&C.onVnodeBeforeUnmount)&&Le(te,u,a),A&6)Io(a.component,d,_);else{if(A&128){a.suspense.unmount(d,_);return}I&&Fe(a,null,u,"beforeUnmount"),A&64?a.type.remove(a,u,d,p,dt,_):b&&(x!==fe||E>0&&E&64)?De(b,u,d,!1,!0):(x===fe&&E&384||!p&&A&16)&&De(w,u,d),_&&$s(a)}(W&&(te=C&&C.onVnodeUnmounted)||I)&&we(()=>{te&&Le(te,u,a),I&&Fe(a,null,u,"unmounted")},d)},$s=a=>{const{type:u,el:d,anchor:_,transition:p}=a;if(u===fe){Po(d,_);return}if(u===Ot){X(a);return}const x=()=>{r(d),p&&!p.persisted&&p.afterLeave&&p.afterLeave()};if(a.shapeFlag&1&&p&&!p.persisted){const{leave:C,delayLeave:v}=p,w=()=>C(d,x);v?v(a.el,x,w):w()}else x()},Po=(a,u)=>{let d;for(;a!==u;)d=y(a),r(a),a=d;r(u)},Io=(a,u,d)=>{const{bum:_,scope:p,update:x,subTree:C,um:v}=a;_&&On(_),p.stop(),x&&(x.active=!1,ze(C,a,u,d)),v&&we(v,u),we(()=>{a.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},De=(a,u,d,_=!1,p=!1,x=0)=>{for(let C=x;Ca.shapeFlag&6?Jt(a.component.subTree):a.shapeFlag&128?a.suspense.next():y(a.anchor||a.el),Cs=(a,u,d)=>{a==null?u._vnode&&ze(u._vnode,null,null,!0):m(u._vnode||null,a,u,null,null,null,d),on(),u._vnode=a},dt={p:m,um:ze,m:ft,r:$s,mt:Sn,mc:ne,pc:He,pbc:ge,n:Jt,o:e};let In,Mn;return t&&([In,Mn]=t(dt)),{render:Cs,hydrate:In,createApp:_l(Cs,In)}}function tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function co(e,t,n=!1){const s=e.children,r=t.children;if(U(s)&&U(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const xl=e=>e.__isTeleport,ao="components";function un(e,t){return kl(ao,e,!0,t)||e}const yl=Symbol();function kl(e,t,n=!0,s=!1){const r=$e||_e;if(r){const o=r.type;if(e===ao){const l=Ul(o);if(l&&(l===t||l===Ne(t)||l===vn(Ne(t))))return o}const i=Ys(r[e]||o[e],t)||Ys(r.appContext[e],t);return!i&&s?o:i}}function Ys(e,t){return e&&(e[t]||e[Ne(t)]||e[vn(Ne(t))])}const fe=Symbol(void 0),jt=Symbol(void 0),Ke=Symbol(void 0),Ot=Symbol(void 0),Rt=[];let it=null;function T(e=!1){Rt.push(it=e?null:[])}function wl(){Rt.pop(),it=Rt[Rt.length-1]||null}let fn=1;function Xs(e){fn+=e}function uo(e){return e.dynamicChildren=fn>0?it||mt:null,wl(),fn>0&&it&&it.push(e),e}function O(e,t,n,s,r,o){return uo(R(e,t,n,s,r,o,!0))}function pe(e,t,n,s,r){return uo(N(e,t,n,s,r,!0))}function dn(e){return e?e.__v_isVNode===!0:!1}function Tt(e,t){return e.type===t.type&&e.key===t.key}const Ln="__vInternal",fo=({key:e})=>e!=null?e:null,nn=({ref:e,ref_key:t,ref_for:n})=>e!=null?he(e)||de(e)||F(e)?{i:$e,r:e,k:t,f:!!n}:e:null;function R(e,t=null,n=null,s=0,r=null,o=e===fe?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&fo(t),ref:t&&nn(t),scopeId:Cn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null};return l?(ms(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=he(n)?8:16),fn>0&&!i&&it&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&it.push(c),c}const N=$l;function $l(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===yl)&&(e=Ke),dn(e)){const l=qt(e,t,!0);return n&&ms(l,n),l}if(Ol(e)&&(e=e.__vccOpts),t){t=Cl(t);let{class:l,style:c}=t;l&&!he(l)&&(t.class=ct(l)),ue(c)&&(Mr(c)&&!U(c)&&(c=xe({},c)),t.style=ts(c))}const i=he(e)?1:Wi(e)?128:xl(e)?64:ue(e)?4:F(e)?2:0;return R(e,t,n,s,r,i,o,!0)}function Cl(e){return e?Mr(e)||Ln in e?xe({},e):e:null}function qt(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?bs(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&fo(l),ref:t&&t.ref?n&&r?U(r)?r.concat(nn(t)):[r,nn(t)]:nn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==fe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qt(e.ssContent),ssFallback:e.ssFallback&&qt(e.ssFallback),el:e.el,anchor:e.anchor}}function zt(e=" ",t=0){return N(jt,null,e,t)}function hf(e,t){const n=N(Ot,null,e);return n.staticCount=t,n}function J(e="",t=!1){return t?(T(),pe(Ke,null,e)):N(Ke,null,e)}function Se(e){return e==null||typeof e=="boolean"?N(Ke):U(e)?N(fe,null,e.slice()):typeof e=="object"?Xe(e):N(jt,null,String(e))}function Xe(e){return e.el===null||e.memo?e:qt(e)}function ms(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ms(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Ln in t)?t._ctx=$e:r===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else F(t)?(t={default:t,_ctx:$e},n=32):(t=String(t),s&64?(n=16,t=[zt(t)]):n=8);e.children=t,e.shapeFlag|=n}function bs(...e){const t={};for(let n=0;nt(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;ldn(t)?!(t.type===Ke||t.type===fe&&!ho(t.children)):!0)?e:null}const Xn=e=>e?po(e)?vs(e)||e.proxy:Xn(e.parent):null,hn=xe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Xn(e.parent),$root:e=>Xn(e.root),$emit:e=>e.emit,$options:e=>to(e),$forceUpdate:e=>()=>Br(e.update),$nextTick:e=>Dr.bind(e.proxy),$watch:e=>Vi.bind(e)}),El={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const L=i[t];if(L!==void 0)switch(L){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(s!==Q&&q(s,t))return i[t]=1,s[t];if(r!==Q&&q(r,t))return i[t]=2,r[t];if((f=e.propsOptions[0])&&q(f,t))return i[t]=3,o[t];if(n!==Q&&q(n,t))return i[t]=4,n[t];Vn&&(i[t]=0)}}const h=hn[t];let g,y;if(h)return t==="$attrs"&&Te(e,"get",t),h(e);if((g=l.__cssModules)&&(g=g[t]))return g;if(n!==Q&&q(n,t))return i[t]=4,n[t];if(y=c.config.globalProperties,q(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return r!==Q&&q(r,t)?(r[t]=n,!0):s!==Q&&q(s,t)?(s[t]=n,!0):q(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==Q&&q(e,i)||t!==Q&&q(t,i)||(l=o[0])&&q(l,i)||q(s,i)||q(hn,i)||q(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:q(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Tl=lo();let Ll=0;function Al(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Tl,o={uid:Ll++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new ei(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:so(s,r),emitsOptions:Wr(s,r),emit:null,emitted:null,propsDefaults:Q,inheritAttrs:s.inheritAttrs,ctx:Q,data:Q,props:Q,attrs:Q,slots:Q,refs:Q,setupState:Q,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Di.bind(null,o),e.ce&&e.ce(o),o}let _e=null;const xt=e=>{_e=e,e.scope.on()},lt=()=>{_e&&_e.scope.off(),_e=null};function po(e){return e.vnode.shapeFlag&4}let Kt=!1;function Sl(e,t=!1){Kt=t;const{props:n,children:s}=e.vnode,r=po(e);al(e,n,r,t),dl(e,s);const o=r?Pl(e,t):void 0;return Kt=!1,o}function Pl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Pt(new Proxy(e.ctx,El));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Ml(e):null;xt(e),wt();const o=Qe(s,e,0,[e.props,r]);if($t(),lt(),br(o)){if(o.then(lt,lt),t)return o.then(i=>{Zs(e,i,t)}).catch(i=>{wn(i,e,0)});e.asyncDep=o}else Zs(e,o,t)}else _o(e,t)}function Zs(e,t,n){F(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ue(t)&&(e.setupState=Fr(t)),_o(e,n)}let Qs;function _o(e,t,n){const s=e.type;if(!e.render){if(!t&&Qs&&!s.render){const r=s.template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=xe(xe({isCustomElement:o,delimiters:l},i),c);s.render=Qs(r,f)}}e.render=s.render||Me}xt(e),wt(),rl(e),$t(),lt()}function Il(e){return new Proxy(e.attrs,{get(t,n){return Te(e,"get","$attrs"),t[n]}})}function Ml(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Il(e))},slots:e.slots,emit:e.emit,expose:t}}function vs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Fr(Pt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in hn)return hn[n](e)}}))}function Ul(e){return F(e)&&e.displayName||e.name}function Ol(e){return F(e)&&"__vccOpts"in e}const B=(e,t)=>Ui(e,t,Kt);function at(e,t,n){const s=arguments.length;return s===2?ue(t)&&!U(t)?dn(t)?N(e,null,[t]):N(e,t):N(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&dn(n)&&(n=[n]),N(e,t,n))}const Rl="3.2.33",Fl="http://www.w3.org/2000/svg",st=typeof document!="undefined"?document:null,Gs=st&&st.createElement("template"),Nl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?st.createElementNS(Fl,e):st.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>st.createTextNode(e),createComment:e=>st.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>st.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Gs.innerHTML=s?`${e}`:e;const l=Gs.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Hl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Dl(e,t,n){const s=e.style,r=he(n);if(n&&!r){for(const o in n)Zn(s,o,n[o]);if(t&&!he(t))for(const o in t)n[o]==null&&Zn(s,o,"")}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const er=/\s*!important$/;function Zn(e,t,n){if(U(n))n.forEach(s=>Zn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Bl(e,t);er.test(n)?e.setProperty(kt(s),n.replace(er,""),"important"):e[s]=n}}const tr=["Webkit","Moz","ms"],Nn={};function Bl(e,t){const n=Nn[t];if(n)return n;let s=Ne(t);if(s!=="filter"&&s in e)return Nn[t]=s;s=vn(s);for(let r=0;r{let e=Date.now,t=!1;if(typeof window!="undefined"){Date.now()>document.createEvent("Event").timeStamp&&(e=()=>performance.now());const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let Qn=0;const Wl=Promise.resolve(),zl=()=>{Qn=0},Vl=()=>Qn||(Wl.then(zl),Qn=go());function Jl(e,t,n,s){e.addEventListener(t,n,s)}function Yl(e,t,n,s){e.removeEventListener(t,n,s)}function Xl(e,t,n,s,r=null){const o=e._vei||(e._vei={}),i=o[t];if(s&&i)i.value=s;else{const[l,c]=Zl(t);if(s){const f=o[t]=Ql(s,r);Jl(e,l,f,c)}else i&&(Yl(e,l,i,c),o[t]=void 0)}}const sr=/(?:Once|Passive|Capture)$/;function Zl(e){let t;if(sr.test(e)){t={};let n;for(;n=e.match(sr);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[kt(e.slice(2)),t]}function Ql(e,t){const n=s=>{const r=s.timeStamp||go();(Kl||r>=n.attached-1)&&Ue(Gl(s,n.value),t,5,[s])};return n.value=e,n.attached=Vl(),n}function Gl(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const rr=/^on[a-z]/,ec=(e,t,n,s,r=!1,o,i,l,c)=>{t==="class"?Hl(e,s,r):t==="style"?Dl(e,n,s):Wt(t)?ns(t)||Xl(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):tc(e,t,s,r))?ql(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),jl(e,t,s,r))};function tc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&rr.test(t)&&F(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||rr.test(t)&&he(n)?!1:t in e}const nc=xe({patchProp:ec},Nl);let Hn,or=!1;function sc(){return Hn=or?Hn:ml(nc),or=!0,Hn}const rc=(...e)=>{const t=sc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=oc(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function oc(e){return he(e)?document.querySelector(e):e}var ic='{"lang":"en-US","title":"VitePress","description":"A VitePress site","base":"/","head":[],"themeConfig":{"locales":{"/":{"label":"\u7B80\u4F53\u4E2D\u6587","nav":[{"text":"\u4F7F\u7528\u6307\u5357","link":"/","activeMatch":"^/$|^/guide/"},{"text":"\u5F00\u53D1\u624B\u518C","link":"/developer/index","activeMatch":"^/developer/"}],"sidebar":{"/guide/":[{"text":"\u5B89\u88C5\u624B\u518C","children":[{"text":"\u5B89\u88C5 Dashboard","link":"/guide/dashboard"},{"text":"\u5B89\u88C5 Agent","link":"/guide/agent"}]},{"text":"\u7BA1\u7406\u9762\u677F\u914D\u7F6E","children":[{"text":"\u4E3B\u673A","link":"/guide/servers"},{"text":"\u670D\u52A1","link":"/guide/services"},{"text":"\u5B9A\u65F6\u4EFB\u52A1","link":"/guide/tasks"},{"text":"\u62A5\u8B66\u901A\u77E5","link":"/guide/notifications"},{"text":"\u8BBE\u7F6E","link":"/guide/settings"},{"text":"API","link":"/guide/api"}]},{"text":"\u5E38\u89C1\u95EE\u9898","children":[{"text":"TG api\u88AB\u5899","link":"/guide/q1"},{"text":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","link":"/guide/q2"},{"text":"\u5982\u4F55\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3","link":"/guide/q3"},{"text":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","link":"/guide/q4"},{"text":"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","link":"/guide/q5"}]},{"text":"\u6392\u969C\u6307\u5357","children":[{"text":"Dashboard\u76F8\u5173","link":"/guide/dashboardq"},{"text":"Agent\u76F8\u5173","link":"/guide/agentq"},{"text":"\u767B\u9646\u76F8\u5173","link":"/guide/loginq"}]}],"/developer/":[{"text":"\u5F00\u53D1\u624B\u518C","children":[{"text":"\u521B\u5EFA\u65B0\u4E3B\u9898","link":"/developer/theme"},{"text":"l10n","link":"/developer/l10n"}]}],"/":[{"text":"\u5B89\u88C5\u624B\u518C","children":[{"text":"\u5B89\u88C5 Dashboard","link":"/guide/dashboard"},{"text":"\u5B89\u88C5 Agent","link":"/guide/agent"}]},{"text":"\u7BA1\u7406\u9762\u677F\u914D\u7F6E","children":[{"text":"\u4E3B\u673A","link":"/guide/servers"},{"text":"\u670D\u52A1","link":"/guide/services"},{"text":"\u5B9A\u65F6\u4EFB\u52A1","link":"/guide/tasks"},{"text":"\u62A5\u8B66\u901A\u77E5","link":"/guide/notifications"},{"text":"\u8BBE\u7F6E","link":"/guide/settings"},{"text":"API","link":"/guide/api"}]},{"text":"\u5E38\u89C1\u95EE\u9898","children":[{"text":"TG api\u88AB\u5899","link":"/guide/q1"},{"text":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","link":"/guide/q2"},{"text":"\u5982\u4F55\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3","link":"/guide/q3"},{"text":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","link":"/guide/q4"},{"text":"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","link":"/guide/q5"}]},{"text":"\u6392\u969C\u6307\u5357","children":[{"text":"Dashboard\u76F8\u5173","link":"/guide/dashboardq"},{"text":"Agent\u76F8\u5173","link":"/guide/agentq"},{"text":"\u767B\u9646\u76F8\u5173","link":"/guide/loginq"}]}]},"repo":"nezhahq/nezhahq.github.io","docsDir":"docs","docsBranch":"main","editLinks":true,"editLinkText":"\u5728GitHub\u4E2D\u7F16\u8F91","lastUpdated":"\u4E0A\u6B21\u66F4\u65B0"},"/en_US/":{"label":"English","nav":[{"text":"User Guide","link":"/en_US/","activeMatch":"^/$|^/en_US/guide/"},{"text":"Development Manual","link":"/en_US/developer/index","activeMatch":"^/en_US/developer/"}],"sidebar":{"/en_US/guide/":[{"text":"Installation Manual","children":[{"text":"Install Dashboard","link":"/en_US/guide/dashboard"},{"text":"Install Agent","link":"/en_US/guide/agent"}]},{"text":"Admin Panel","children":[{"text":"Servers","link":"/en_US/guide/servers"},{"text":"Services","link":"/en_US/guide/services"},{"text":"Tasks","link":"/en_US/guide/tasks"},{"text":"Notifications","link":"/en_US/guide/notifications"},{"text":"Settings","link":"/en_US/guide/settings"},{"text":"API","link":"/en_US/guide/api"}]},{"text":"FAQ","children":[{"text":"Let the Agent start/on-line, and the self-test process of the problem","link":"/en_US/guide/q2"},{"text":"Reverse Proxy gRPC Port (support Cloudflare CDN)","link":"/en_US/guide/q3"},{"text":"Real-time channel disconnection/online terminal connection failure","link":"/en_US/guide/q4"},{"text":"How do I migrate my data to the new server and restore my backups?","link":"/en_US/guide/q5"}]},{"text":"Troubleshooting Guide","children":[{"text":"Dashboard","link":"/en_US/guide/dashboardq"},{"text":"Agent","link":"/en_US/guide/agentq"},{"text":"Login","link":"/en_US/guide/loginq"}]}],"/en_US/developer/":[{"text":"Development Manual","children":[{"text":"Create a new theme","link":"/en_US/developer/theme"},{"text":"l10n","link":"/en_US/developer/l10n"}]}],"/en_US/":[{"text":"Installation Manual","children":[{"text":"Install Dashboard","link":"/en_US/guide/dashboard"},{"text":"Install Agent","link":"/en_US/guide/agent"}]},{"text":"Admin Panel","children":[{"text":"Servers","link":"/en_US/guide/servers"},{"text":"Services","link":"/en_US/guide/services"},{"text":"Tasks","link":"/en_US/guide/tasks"},{"text":"Notifications","link":"/en_US/guide/notifications"},{"text":"Settings","link":"/en_US/guide/settings"},{"text":"API","link":"/en_US/guide/api"}]},{"text":"FAQ","children":[{"text":"Let the Agent start/on-line, and the self-test process of the problem","link":"/en_US/guide/q2"},{"text":"Reverse Proxy gRPC Port (support Cloudflare CDN)","link":"/en_US/guide/q3"},{"text":"Real-time channel disconnection/online terminal connection failure","link":"/en_US/guide/q4"},{"text":"How do I migrate my data to the new server and restore my backups?","link":"/en_US/guide/q5"}]},{"text":"Troubleshooting Guide","children":[{"text":"Dashboard","link":"/en_US/guide/dashboardq"},{"text":"Agent","link":"/en_US/guide/agentq"},{"text":"Login","link":"/en_US/guide/loginq"}]}]},"repo":"nezhahq/nezhahq.github.io","docsDir":"docs","docsBranch":"main","editLinks":true,"editLinkText":"Edit this page on GitHub","lastUpdated":"Last Updated"}}},"locales":{"/":{"lang":"zh-CN","title":"\u54EA\u5412\u76D1\u63A7","description":"\u54EA\u5412\u76D1\u63A7\u662F\u4E00\u4E2A\u8F7B\u91CF\u5316\u7684\u8FD0\u7EF4\u5DE5\u5177"},"/en_US/":{"lang":"en-US","title":"Nezha Monitoring","description":"Nezha Monitoring is a lightweight O&M tool"}},"langs":{"/":{"label":"\u7B80\u4F53\u4E2D\u6587","lang":"zh-CN"},"/en_US/":{"label":"English","lang":"en-US"}},"scrollOffset":90}';const mo=/^https?:/i,Ie=typeof window!="undefined";function lc(e,t){t.sort((n,s)=>{const r=s.split("/").length-n.split("/").length;return r!==0?r:s.length-n.length});for(const n of t)if(e.startsWith(n))return n}function ir(e,t){const n=lc(t,Object.keys(e));return n?e[n]:void 0}function cc(e){const{locales:t}=e.themeConfig||{},n=e.locales;return t&&n?Object.keys(t).reduce((s,r)=>(s[r]={label:t[r].label,lang:n[r].lang},s),{}):{}}function ac(e,t){t=uc(e,t);const n=ir(e.locales||{},t),s=ir(e.themeConfig.locales||{},t);return Object.assign({},e,n,{themeConfig:Object.assign({},e.themeConfig,s,{locales:{}}),lang:(n||e).lang,locales:{},langs:cc(e)})}function uc(e,t){if(!Ie)return t;const n=e.base,s=n.endsWith("/")?n.slice(0,-1):n;return t.slice(s.length)}const bo=Symbol(),Vt=Li(fc(ic));function fc(e){return JSON.parse(e)}function dc(e){const t=B(()=>ac(Vt.value,e.path));return{site:t,theme:B(()=>t.value.themeConfig),page:B(()=>e.data),frontmatter:B(()=>e.data.frontmatter),lang:B(()=>t.value.lang),localePath:B(()=>{const{langs:n,lang:s}=t.value,r=Object.keys(n).find(o=>n[o].lang===s);return yt(r||"/")}),title:B(()=>e.data.title?e.data.title+" | "+t.value.title:t.value.title),description:B(()=>e.data.description||t.value.description)}}function me(){const e=Ut(bo);if(!e)throw new Error("vitepress data not properly injected in app");return e}function hc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function yt(e){return mo.test(e)?e:hc(Vt.value.base,e)}function vo(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t.endsWith("/")&&(t+="index"),Ie){const n="/";t=t.slice(n.length).replace(/\//g,"_")+".md";const s=__VP_HASH_MAP__[t.toLowerCase()];t=`${n}assets/${t}.${s}.js`}else t=`./${t.slice(1).replace(/\//g,"_")}.md.js`;return t}const xo=Symbol(),lr="http://a.com",yo={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{},lastUpdated:0},pc=()=>({path:"/",component:null,data:yo});function _c(e,t){const n=yn(pc());function s(i=Ie?location.href:"/"){const l=new URL(i,lr);return!l.pathname.endsWith("/")&&!l.pathname.endsWith(".html")&&(l.pathname+=".html",i=l.pathname+l.search+l.hash),Ie&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",i)),o(i)}let r=null;async function o(i,l=0,c=!1){const f=new URL(i,lr),h=r=f.pathname;try{let g=e(h);if("then"in g&&typeof g.then=="function"&&(g=await g),r===h){r=null;const{default:y,__pageData:L}=g;if(!y)throw new Error(`Invalid route component: ${y}`);n.path=h,n.component=Pt(y),n.data=Pt(JSON.parse(L)),Ie&&Dr(()=>{if(f.hash&&!l){let M=null;try{M=document.querySelector(decodeURIComponent(f.hash))}catch(V){console.warn(V)}if(M){cr(M,f.hash);return}}window.scrollTo(0,l)})}}catch(g){if(g.message.match(/fetch/)||console.error(g),!c)try{const y=await fetch(Vt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await y.json(),await o(i,l,!0);return}catch{}r===h&&(r=null,n.path=h,n.component=t?Pt(t):null,n.data=yo)}}return Ie&&(window.addEventListener("click",i=>{const l=i.target.closest("a");if(l){const{href:c,protocol:f,hostname:h,pathname:g,hash:y,target:L}=l,M=window.location,V=g.match(/\.\w+$/);!i.ctrlKey&&!i.shiftKey&&!i.altKey&&!i.metaKey&&L!=="_blank"&&f===M.protocol&&h===M.hostname&&!(V&&V[0]!==".html")&&(i.preventDefault(),g===M.pathname?y&&y!==M.hash&&(history.pushState(null,"",y),window.dispatchEvent(new Event("hashchange")),cr(l,y,l.classList.contains("header-anchor"))):s(c))}},{capture:!0}),window.addEventListener("popstate",i=>{o(location.href,i.state&&i.state.scrollPosition||0)}),window.addEventListener("hashchange",i=>{i.preventDefault()})),{route:n,go:s}}function gc(){const e=Ut(xo);if(!e)throw new Error("useRouter() is called without provider.");return e}function et(){return gc().route}function cr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){let r=Vt.value.scrollOffset;typeof r=="string"&&(r=document.querySelector(r).getBoundingClientRect().bottom+24);const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-r+o;!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})}}function mc(e,t){let n=[],s=!0;const r=o=>{if(s){s=!1;return}const i=[],l=Math.min(n.length,o.length);for(let c=0;cdocument.head.removeChild(c)),o.slice(l).forEach(c=>{const f=ar(c);document.head.appendChild(f),i.push(f)}),n=i};Yr(()=>{const o=e.data,i=t.value,l=o&&o.title,c=o&&o.description,f=o&&o.frontmatter.head;document.title=(l?l+" | ":"")+i.title,document.querySelector("meta[name=description]").setAttribute("content",c||i.description),r([...f?vc(f):[]])})}function ar([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function bc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function vc(e){return e.filter(t=>!bc(t))}const xc=ie({name:"VitePressContent",setup(){const e=et();return()=>at("div",{style:{position:"relative"}},[e.component?at(e.component):null])}});var ce=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n};const yc=/#.*$/,kc=/(index)?\.(md|html)$/,pn=/\/$/,wc=/^[a-z]+:/i;function xs(e){return Array.isArray(e)}function ys(e){return wc.test(e)}function $c(e,t){if(t===void 0)return!1;const n=ur(`/${e.data.relativePath}`),s=ur(t);return n===s}function ur(e){return decodeURI(e).replace(yc,"").replace(kc,"")}function Cc(e,t){const n=e.endsWith("/"),s=t.startsWith("/");return n&&s?e.slice(0,-1)+t:!n&&!s?`${e}/${t}`:e+t}function Gn(e){return/^\//.test(e)?e:`/${e}`}function ko(e){return e.replace(/(index)?(\.(md|html))?$/,"")||"/"}function Ec(e){return e===!1||e==="auto"||xs(e)}function Tc(e){return e.children!==void 0}function Lc(e){return xs(e)?e.length===0:!e}function ks(e,t){if(Ec(e))return e;t=Gn(t);for(const n in e)if(t.startsWith(Gn(n)))return e[n];return"auto"}function wo(e){return e.reduce((t,n)=>(n.link&&t.push({text:n.text,link:ko(n.link)}),Tc(n)&&(t=[...t,...wo(n.children)]),t),[])}function $o(e){const t=et(),n=ys(e.value.link);return{props:B(()=>{const r=fr(`/${t.data.relativePath}`);let o=!1;if(e.value.activeMatch)o=new RegExp(e.value.activeMatch).test(r);else{const i=fr(e.value.link);o=i==="/"?i===r:r.startsWith(i)}return{class:{active:o,isExternal:n},href:n?e.value.link:yt(e.value.link),target:e.value.target||(n?"_blank":null),rel:e.value.rel||(n?"noopener noreferrer":null),"aria-label":e.value.ariaLabel}}),isExternal:n}}function fr(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\.(html|md)$/,"").replace(/\/index$/,"/")}const Ac={},Sc={class:"icon outbound",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},Pc=R("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"},null,-1),Ic=R("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"},null,-1),Mc=[Pc,Ic];function Uc(e,t){return T(),O("svg",Sc,Mc)}var ws=ce(Ac,[["render",Uc]]);const Oc={class:"nav-link"},Rc=ie({props:{item:null},setup(e){const n=Nr(e),{props:s,isExternal:r}=$o(n.item);return(o,i)=>(T(),O("div",Oc,[R("a",bs({class:"item"},$(s)),[zt(ve(e.item.text)+" ",1),$(r)?(T(),pe(ws,{key:0})):J("",!0)],16)]))}});var _n=ce(Rc,[["__scopeId","data-v-b8818f8c"]]);const Fc={key:0,class:"home-hero"},Nc={key:0,class:"figure"},Hc=["src","alt"],Dc={key:1,id:"main-title",class:"title"},Bc={key:2,class:"tagline"},jc=ie({setup(e){const{site:t,frontmatter:n}=me(),s=B(()=>{const{heroImage:i,heroText:l,tagline:c,actionLink:f,actionText:h}=n.value;return i||l||c||f&&h}),r=B(()=>n.value.heroText||t.value.title),o=B(()=>n.value.tagline||t.value.description);return(i,l)=>$(s)?(T(),O("header",Fc,[$(n).heroImage?(T(),O("figure",Nc,[R("img",{class:"image",src:$(yt)($(n).heroImage),alt:$(n).heroAlt},null,8,Hc)])):J("",!0),$(r)?(T(),O("h1",Dc,ve($(r)),1)):J("",!0),$(o)?(T(),O("p",Bc,ve($(o)),1)):J("",!0),$(n).actionLink&&$(n).actionText?(T(),pe(_n,{key:3,item:{link:$(n).actionLink,text:$(n).actionText},class:"action"},null,8,["item"])):J("",!0),$(n).altActionLink&&$(n).altActionText?(T(),pe(_n,{key:4,item:{link:$(n).altActionLink,text:$(n).altActionText},class:"action alt"},null,8,["item"])):J("",!0)])):J("",!0)}});var qc=ce(jc,[["__scopeId","data-v-370f18c0"]]);const Kc={key:0,class:"home-features"},Wc={class:"wrapper"},zc={class:"container"},Vc={class:"features"},Jc={key:0,class:"title"},Yc={key:1,class:"details"},Xc=ie({setup(e){const{frontmatter:t}=me(),n=B(()=>t.value.features&&t.value.features.length>0),s=B(()=>t.value.features?t.value.features:[]);return(r,o)=>$(n)?(T(),O("div",Kc,[R("div",Wc,[R("div",zc,[R("div",Vc,[(T(!0),O(fe,null,An($(s),(i,l)=>(T(),O("section",{key:l,class:"feature"},[i.title?(T(),O("h2",Jc,ve(i.title),1)):J("",!0),i.details?(T(),O("p",Yc,ve(i.details),1)):J("",!0)]))),128))])])])])):J("",!0)}});var Zc=ce(Xc,[["__scopeId","data-v-e39c13e0"]]);const Qc={key:0,class:"footer"},Gc={class:"container"},ea={class:"text"},ta=ie({setup(e){const{frontmatter:t}=me();return(n,s)=>$(t).footer?(T(),O("footer",Qc,[R("div",Gc,[R("p",ea,ve($(t).footer),1)])])):J("",!0)}});var na=ce(ta,[["__scopeId","data-v-30918238"]]);const sa={class:"home","aria-labelledby":"main-title"},ra={class:"home-content"},oa=ie({setup(e){return(t,n)=>{const s=un("Content");return T(),O("main",sa,[N(qc),ae(t.$slots,"hero",{},void 0,!0),N(Zc),R("div",ra,[N(s)]),ae(t.$slots,"features",{},void 0,!0),N(na),ae(t.$slots,"footer",{},void 0,!0)])}}});var ia=ce(oa,[["__scopeId","data-v-10122c92"]]);const la=["href","aria-label"],ca=["src"],aa=ie({setup(e){const{site:t,theme:n,localePath:s}=me();return(r,o)=>(T(),O("a",{class:"nav-bar-title",href:$(s),"aria-label":`${$(t).title}, back to home`},[$(n).logo?(T(),O("img",{key:0,class:"logo",src:$(yt)($(n).logo),alt:"Logo"},null,8,ca)):J("",!0),zt(" "+ve($(t).title),1)],8,la))}});var ua=ce(aa,[["__scopeId","data-v-cc01ef16"]]);function fa(){const{site:e,localePath:t,theme:n}=me();return B(()=>{const s=e.value.langs,r=Object.keys(s);if(r.length<2)return null;const i=et().path.replace(t.value,""),l=r.map(f=>({text:s[f].label,link:`${f}${i}`}));return{text:n.value.selectText||"Languages",items:l}})}const da=["GitHub","GitLab","Bitbucket"].map(e=>[e,new RegExp(e,"i")]);function ha(){const{site:e}=me();return B(()=>{const t=e.value.themeConfig,n=t.docsRepo||t.repo;if(!n)return null;const s=pa(n);return{text:_a(s,t.repoLabel),link:s}})}function pa(e){return mo.test(e)?e:`https://github.com/${e}`}function _a(e,t){if(t)return t;const n=e.match(/^https?:\/\/[^/]+/);if(!n)return"Source";const s=da.find(([r,o])=>o.test(n[0]));return s&&s[0]?s[0]:"Source"}const ga=e=>(zr("data-v-bbc27490"),e=e(),Vr(),e),ma={class:"nav-dropdown-link-item"},ba=ga(()=>R("span",{class:"arrow"},null,-1)),va={class:"text"},xa={class:"icon"},ya=ie({props:{item:null},setup(e){const n=Nr(e),{props:s,isExternal:r}=$o(n.item);return(o,i)=>(T(),O("div",ma,[R("a",bs({class:"item"},$(s)),[ba,R("span",va,ve(e.item.text),1),R("span",xa,[$(r)?(T(),pe(ws,{key:0})):J("",!0)])],16)]))}});var ka=ce(ya,[["__scopeId","data-v-bbc27490"]]);const wa=["aria-label"],$a={class:"button-text"},Ca={class:"dialog"},Ea=ie({props:{item:null},setup(e){const t=et(),n=kn(!1);ot(()=>t.path,()=>{n.value=!1});function s(){n.value=!n.value}return(r,o)=>(T(),O("div",{class:ct(["nav-dropdown-link",{open:n.value}])},[R("button",{class:"button","aria-label":e.item.ariaLabel,onClick:s},[R("span",$a,ve(e.item.text),1),R("span",{class:ct(["button-arrow",n.value?"down":"right"])},null,2)],8,wa),R("ul",Ca,[(T(!0),O(fe,null,An(e.item.items,i=>(T(),O("li",{key:i.text,class:"dialog-item"},[N(ka,{item:i},null,8,["item"])]))),128))])],2))}});var dr=ce(Ea,[["__scopeId","data-v-56bf3a3f"]]);const Ta={key:0,class:"nav-links"},La={key:1,class:"item"},Aa={key:2,class:"item"},Sa=ie({setup(e){const{theme:t}=me(),n=fa(),s=ha(),r=B(()=>t.value.nav||s.value||n.value);return(o,i)=>$(r)?(T(),O("nav",Ta,[$(t).nav?(T(!0),O(fe,{key:0},An($(t).nav,l=>(T(),O("div",{key:l.text,class:"item"},[l.items?(T(),pe(dr,{key:0,item:l},null,8,["item"])):(T(),pe(_n,{key:1,item:l},null,8,["item"]))]))),128)):J("",!0),$(n)?(T(),O("div",La,[N(dr,{item:$(n)},null,8,["item"])])):J("",!0),$(s)?(T(),O("div",Aa,[N(_n,{item:$(s)},null,8,["item"])])):J("",!0)])):J("",!0)}});var Co=ce(Sa,[["__scopeId","data-v-eab3edfe"]]);const Pa={emits:["toggle"]},Ia=R("svg",{class:"icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"},[R("path",{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z",class:""})],-1),Ma=[Ia];function Ua(e,t,n,s,r,o){return T(),O("div",{class:"sidebar-button",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},Ma)}var Oa=ce(Pa,[["render",Ua]]);const Ra=e=>(zr("data-v-675d8756"),e=e(),Vr(),e),Fa={class:"nav-bar"},Na=Ra(()=>R("div",{class:"flex-grow"},null,-1)),Ha={class:"nav"},Da=ie({emits:["toggle"],setup(e){return(t,n)=>(T(),O("header",Fa,[N(Oa,{onToggle:n[0]||(n[0]=s=>t.$emit("toggle"))}),N(ua),Na,R("div",Ha,[N(Co)]),ae(t.$slots,"search",{},void 0,!0)]))}});var Ba=ce(Da,[["__scopeId","data-v-675d8756"]]);function ja(){let e=null,t=null;const n=Va(s,300);function s(){const i=qa(),l=Ka(i);for(let c=0;c ul > li");l&&l!==t.parentElement?(e=l.querySelector("a"),e&&e.classList.add("active")):e=null}function o(i){i&&i.classList.remove("active")}ut(()=>{s(),window.addEventListener("scroll",n)}),Gr(()=>{r(decodeURIComponent(location.hash))}),Tn(()=>{window.removeEventListener("scroll",n)})}function qa(){return[].slice.call(document.querySelectorAll(".sidebar a.sidebar-link-item"))}function Ka(e){return[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(n=>n.hash===t.hash))}function Wa(){return document.querySelector(".nav-bar").offsetHeight}function hr(e){const t=Wa();return e.parentElement.offsetTop-t-15}function za(e,t,n){const s=window.scrollY;return e===0&&s===0?[!0,null]:s{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function Ja(){const e=et(),{site:t}=me();return ja(),B(()=>{const n=e.data.headers,s=e.data.frontmatter.sidebar,r=e.data.frontmatter.sidebarDepth;if(s===!1)return[];if(s==="auto")return pr(n,r);const o=ks(t.value.themeConfig.sidebar,e.data.relativePath);return o===!1?[]:o==="auto"?pr(n,r):o})}function pr(e,t){const n=[];if(e===void 0)return[];let s;return e.forEach(({level:r,title:o,slug:i})=>{if(r-1>t)return;const l={text:o,link:`#${i}`};r===2?(s=l,n.push(l)):s&&(s.children||(s.children=[])).push(l)}),n}const Eo=e=>{const t=et(),{site:n,frontmatter:s}=me(),r=e.depth||1,o=s.value.sidebarDepth||1/0,i=t.data.headers,l=e.item.text,c=Ya(n.value.base,e.item.link),f=e.item.children,h=$c(t,e.item.link),g=r0?at("ul",{class:"sidebar-links"},t.map(r=>at(Eo,{item:r,depth:s}))):e&&n?To(!1,Xa(n),void 0,s):null}function Xa(e){return Lo(Za(e))}function Za(e){e=e.map(n=>Object.assign({},n));let t;return e.forEach(n=>{n.level===2?t=n:t&&(t.children||(t.children=[])).push(n)}),e.filter(n=>n.level===2)}function Lo(e){return e.map(t=>({text:t.title,link:`#${t.slug}`,children:t.children?Lo(t.children):void 0}))}const Qa={key:0,class:"sidebar-links"},Ga=ie({setup(e){const t=Ja();return(n,s)=>$(t).length>0?(T(),O("ul",Qa,[(T(!0),O(fe,null,An($(t),r=>(T(),pe($(Eo),{item:r},null,8,["item"]))),256))])):J("",!0)}});const eu=ie({props:{open:{type:Boolean}},setup(e){return(t,n)=>(T(),O("aside",{class:ct(["sidebar",{open:e.open}])},[N(Co,{class:"nav"}),ae(t.$slots,"sidebar-top",{},void 0,!0),N(Ga),ae(t.$slots,"sidebar-bottom",{},void 0,!0)],2))}});var tu=ce(eu,[["__scopeId","data-v-83e92a68"]]);const nu=/bitbucket.org/;function su(){const{page:e,theme:t,frontmatter:n}=me(),s=B(()=>{const{repo:o,docsDir:i="",docsBranch:l="master",docsRepo:c=o,editLinks:f}=t.value,h=n.value.editLink!=null?n.value.editLink:f,{relativePath:g}=e.value;return!h||!g||!o?null:ru(o,c,i,l,g)}),r=B(()=>t.value.editLinkText||"Edit this page");return{url:s,text:r}}function ru(e,t,n,s,r){return nu.test(e)?iu(e,t,n,s,r):ou(e,t,n,s,r)}function ou(e,t,n,s,r){return(ys(t)?t:`https://github.com/${t}`).replace(pn,"")+`/edit/${s}/`+(n?n.replace(pn,"")+"/":"")+r}function iu(e,t,n,s,r){return(ys(t)?t:e).replace(pn,"")+`/src/${s}/`+(n?n.replace(pn,"")+"/":"")+r+`?mode=edit&spa=0&at=${s}&fileviewer=file-view-default`}const lu={class:"edit-link"},cu=["href"],au=ie({setup(e){const{url:t,text:n}=su();return(s,r)=>(T(),O("div",lu,[$(t)?(T(),O("a",{key:0,class:"link",href:$(t),target:"_blank",rel:"noopener noreferrer"},[zt(ve($(n))+" ",1),N(ws,{class:"icon"})],8,cu)):J("",!0)]))}});var uu=ce(au,[["__scopeId","data-v-1ed99556"]]);const fu={key:0,class:"last-updated"},du={class:"prefix"},hu={class:"datetime"},pu=ie({setup(e){const{theme:t,page:n}=me(),s=B(()=>{const i=t.value.lastUpdated;return i!==void 0&&i!==!1&&n.value.lastUpdated!==0}),r=B(()=>{const i=t.value.lastUpdated;return i===!0?"Last Updated":i}),o=kn("");return ut(()=>{Yr(()=>{o.value=new Date(n.value.lastUpdated).toLocaleString("en-US")})}),(i,l)=>$(s)?(T(),O("p",fu,[R("span",du,ve($(r))+":",1),R("span",hu,ve(o.value),1)])):J("",!0)}});var _u=ce(pu,[["__scopeId","data-v-abce3432"]]);const gu={class:"page-footer"},mu={class:"edit"},bu={class:"updated"},vu=ie({setup(e){const{page:t}=me();return(n,s)=>(T(),O("footer",gu,[R("div",mu,[N(uu)]),R("div",bu,[$(t).lastUpdated?(T(),pe(_u,{key:0})):J("",!0)])]))}});var xu=ce(vu,[["__scopeId","data-v-07c132fc"]]);function yu(){const{page:e,theme:t}=me(),n=B(()=>ko(Gn(e.value.relativePath))),s=B(()=>{const c=ks(t.value.sidebar,n.value);return xs(c)?wo(c):[]}),r=B(()=>s.value.findIndex(c=>c.link===n.value)),o=B(()=>{if(t.value.nextLinks!==!1&&r.value>-1&&r.value{if(t.value.prevLinks!==!1&&r.value>0)return s.value[r.value-1]}),l=B(()=>!!o.value||!!i.value);return{next:o,prev:i,hasLinks:l}}const ku={},wu={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},$u=R("path",{d:"M19,11H7.4l5.3-5.3c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-7,7c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.2-0.1,0.5,0,0.8c0.1,0.1,0.1,0.2,0.2,0.3l7,7c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4L7.4,13H19c0.6,0,1-0.4,1-1S19.6,11,19,11z"},null,-1),Cu=[$u];function Eu(e,t){return T(),O("svg",wu,Cu)}var Tu=ce(ku,[["render",Eu]]);const Lu={},Au={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Su=R("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Pu=[Su];function Iu(e,t){return T(),O("svg",Au,Pu)}var Mu=ce(Lu,[["render",Iu]]);const Uu={key:0,class:"next-and-prev-link"},Ou={class:"container"},Ru={class:"prev"},Fu=["href"],Nu={class:"text"},Hu={class:"next"},Du=["href"],Bu={class:"text"},ju=ie({setup(e){const{hasLinks:t,prev:n,next:s}=yu();return(r,o)=>$(t)?(T(),O("div",Uu,[R("div",Ou,[R("div",Ru,[$(n)?(T(),O("a",{key:0,class:"link",href:$(yt)($(n).link)},[N(Tu,{class:"icon icon-prev"}),R("span",Nu,ve($(n).text),1)],8,Fu)):J("",!0)]),R("div",Hu,[$(s)?(T(),O("a",{key:0,class:"link",href:$(yt)($(s).link)},[R("span",Bu,ve($(s).text),1),N(Mu,{class:"icon icon-next"})],8,Du)):J("",!0)])])])):J("",!0)}});var qu=ce(ju,[["__scopeId","data-v-38ede35f"]]);const Ku={class:"page"},Wu={class:"container"},zu=ie({setup(e){return(t,n)=>{const s=un("Content");return T(),O("main",Ku,[R("div",Wu,[ae(t.$slots,"top",{},void 0,!0),N(s,{class:"content"}),N(xu),N(qu),ae(t.$slots,"bottom",{},void 0,!0)])])}}});var Vu=ce(zu,[["__scopeId","data-v-7eddb2c4"]]);const Ju={key:0,id:"ads-container"},Yu=ie({setup(e){const t=()=>null,n=t,s=t,r=t,o=et(),{site:i,page:l,theme:c,frontmatter:f}=me(),h=B(()=>!!f.value.customLayout),g=B(()=>!!f.value.home),y=B(()=>Object.keys(i.value.langs).length>1),L=B(()=>{const P=c.value;return f.value.navbar===!1||P.navbar===!1?!1:i.value.title||P.logo||P.repo||P.nav}),M=kn(!1),V=B(()=>f.value.home||f.value.sidebar===!1?!1:!Lc(ks(c.value.sidebar,o.data.relativePath))),m=P=>{M.value=typeof P=="boolean"?P:!M.value},k=m.bind(null,!1);ot(o,k);const K=B(()=>[{"no-navbar":!L.value,"sidebar-open":M.value,"no-sidebar":!V.value}]);return(P,H)=>{const X=un("Content"),Z=un("Debug");return T(),O(fe,null,[R("div",{class:ct(["theme",$(K)])},[$(L)?(T(),pe(Ba,{key:0,onToggle:m},{search:Be(()=>[ae(P.$slots,"navbar-search",{},()=>[$(c).algolia?(T(),pe($(r),{key:0,options:$(c).algolia,multilang:$(y)},null,8,["options","multilang"])):J("",!0)])]),_:3})):J("",!0),N(tu,{open:M.value},{"sidebar-top":Be(()=>[ae(P.$slots,"sidebar-top")]),"sidebar-bottom":Be(()=>[ae(P.$slots,"sidebar-bottom")]),_:3},8,["open"]),R("div",{class:"sidebar-mask",onClick:H[0]||(H[0]=D=>m(!1))}),$(h)?(T(),pe(X,{key:1})):$(g)?ae(P.$slots,"home",{key:2},()=>[N(ia,null,{hero:Be(()=>[ae(P.$slots,"home-hero")]),features:Be(()=>[ae(P.$slots,"home-features")]),footer:Be(()=>[ae(P.$slots,"home-footer")]),_:3})]):(T(),pe(Vu,{key:3},{top:Be(()=>[ae(P.$slots,"page-top-ads",{},()=>[$(c).carbonAds&&$(c).carbonAds.carbon?(T(),O("div",Ju,[(T(),pe($(n),{key:"carbon"+$(l).relativePath,code:$(c).carbonAds.carbon,placement:$(c).carbonAds.placement},null,8,["code","placement"]))])):J("",!0)]),ae(P.$slots,"page-top")]),bottom:Be(()=>[ae(P.$slots,"page-bottom"),ae(P.$slots,"page-bottom-ads",{},()=>[$(c).carbonAds&&$(c).carbonAds.custom?(T(),pe($(s),{key:"custom"+$(l).relativePath,code:$(c).carbonAds.custom,placement:$(c).carbonAds.placement},null,8,["code","placement"])):J("",!0)])]),_:3}))],2),N(Z)],64)}}}),Xu={class:"theme"},Zu=R("h1",null,"404",-1),Qu=["href"],Gu=ie({setup(e){const{site:t}=me(),n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];function s(){return n[Math.floor(Math.random()*n.length)]}return(r,o)=>(T(),O("div",Xu,[Zu,R("blockquote",null,ve(s()),1),R("a",{href:$(t).base,"aria-label":"go to home"},"Take me home.",8,Qu)]))}}),Ao={Layout:Yu,NotFound:Gu},ef={setup(e){const{Layout:t}=Ao;return ut(()=>{window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(console.log("setting as dark"),document.body.classList.add("dark")),setTimeout(()=>{let n=document.body.classList.contains("dark")?"\u{1F506}":"\u{1F319}",s=document.getElementsByClassName("nav-links");if(s){let r=s[0];r&&r.insertAdjacentHTML("beforeend",`
${n}
`),r=s[1],r&&r.insertAdjacentHTML("beforeend",`
${n}
`)}},100)}),(n,s)=>(T(),pe($(t)))}};var gn=Is(Ps({},Ao),{Layout:ef});const Dn=new Set,So=()=>document.createElement("link"),tf=e=>{const t=So();t.rel="prefetch",t.href=e,document.head.appendChild(t)},nf=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let tn;const sf=Ie&&(tn=So())&&tn.relList&&tn.relList.supports&&tn.relList.supports("prefetch")?tf:nf;function rf(){if(!Ie||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!Dn.has(c)){Dn.add(c);const f=vo(c);sf(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{target:i,hostname:l,pathname:c}=o,f=c.match(/\.\w+$/);f&&f[0]!==".html"||i!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(o):Dn.add(c))})})};ut(s);const r=et();ot(()=>r.path,s),Tn(()=>{n&&n.disconnect()})}const of=ie({setup(e,{slots:t}){const n=kn(!1);return ut(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}}),lf=gn.NotFound||(()=>"404 Not Found"),cf={name:"VitePressApp",setup(){const{site:e}=me();return ut(()=>{ot(()=>e.value.lang,t=>{document.documentElement.lang=t},{immediate:!0})}),rf(),()=>at(gn.Layout)}};function af(){const e=ff(),t=uf();t.provide(xo,e);const n=dc(e.route);return t.provide(bo,n),t.component("Content",xc),t.component("ClientOnly",of),t.component("Debug",()=>null),Object.defineProperty(t.config.globalProperties,"$frontmatter",{get(){return n.frontmatter.value}}),gn.enhanceApp&&gn.enhanceApp({app:t,router:e,siteData:Vt}),{app:t,router:e,data:n}}function uf(){return rc(cf)}function ff(){let e=Ie,t;return _c(n=>{let s=vo(n);return e&&(t=s),(e||t===s)&&(s=s.replace(/\.js$/,".lean.js")),Ie?(e=!1,Do(()=>import(s),[])):require(s)},lf)}if(Ie){const{app:e,router:t,data:n}=af();t.go().then(()=>{mc(t.route,n.site),e.mount("#app")})}export{ce as _,R as a,zt as b,O as c,af as createApp,hf as d,T as o}; diff --git a/assets/developer_index.md.82826155.js b/assets/developer_index.md.ee592849.js similarity index 94% rename from assets/developer_index.md.82826155.js rename to assets/developer_index.md.ee592849.js index bd01892d..f7fdfd74 100644 --- a/assets/developer_index.md.82826155.js +++ b/assets/developer_index.md.ee592849.js @@ -1 +1 @@ -import{_ as a,c as o,o as r,a as e,b as t}from"./app.c4507667.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"\u5F00\u53D1\u624B\u518C","tagline":"\u6B22\u8FCE\u4F7F\u7528\u54EA\u5412\u76D1\u63A7\u5F00\u53D1\u624B\u518C\uFF0C\u6211\u4EEC\u6B22\u8FCE\u4F60\u63D0\u51FA\u9AD8\u8D28\u91CF\u7684Pull Request\uFF0C\u5E2E\u52A9\u54EA\u5412\u76D1\u63A7\u53D8\u5F97\u66F4\u597D\uFF01","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/developer/theme","footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"developer/index.md"}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),c=[n];function i(l,d,h,p,_,m){return r(),o("div",null,c)}var x=a(s,[["render",i]]);export{f as __pageData,x as default}; +import{_ as a,c as o,o as r,a as e,b as t}from"./app.2c402e15.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"\u5F00\u53D1\u624B\u518C","tagline":"\u6B22\u8FCE\u4F7F\u7528\u54EA\u5412\u76D1\u63A7\u5F00\u53D1\u624B\u518C\uFF0C\u6211\u4EEC\u6B22\u8FCE\u4F60\u63D0\u51FA\u9AD8\u8D28\u91CF\u7684Pull Request\uFF0C\u5E2E\u52A9\u54EA\u5412\u76D1\u63A7\u53D8\u5F97\u66F4\u597D\uFF01","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/developer/theme","footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"developer/index.md"}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),c=[n];function i(l,d,h,p,_,m){return r(),o("div",null,c)}var x=a(s,[["render",i]]);export{f as __pageData,x as default}; diff --git a/assets/developer_index.md.82826155.lean.js b/assets/developer_index.md.ee592849.lean.js similarity index 94% rename from assets/developer_index.md.82826155.lean.js rename to assets/developer_index.md.ee592849.lean.js index bd01892d..f7fdfd74 100644 --- a/assets/developer_index.md.82826155.lean.js +++ b/assets/developer_index.md.ee592849.lean.js @@ -1 +1 @@ -import{_ as a,c as o,o as r,a as e,b as t}from"./app.c4507667.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"\u5F00\u53D1\u624B\u518C","tagline":"\u6B22\u8FCE\u4F7F\u7528\u54EA\u5412\u76D1\u63A7\u5F00\u53D1\u624B\u518C\uFF0C\u6211\u4EEC\u6B22\u8FCE\u4F60\u63D0\u51FA\u9AD8\u8D28\u91CF\u7684Pull Request\uFF0C\u5E2E\u52A9\u54EA\u5412\u76D1\u63A7\u53D8\u5F97\u66F4\u597D\uFF01","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/developer/theme","footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"developer/index.md"}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),c=[n];function i(l,d,h,p,_,m){return r(),o("div",null,c)}var x=a(s,[["render",i]]);export{f as __pageData,x as default}; +import{_ as a,c as o,o as r,a as e,b as t}from"./app.2c402e15.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"\u5F00\u53D1\u624B\u518C","tagline":"\u6B22\u8FCE\u4F7F\u7528\u54EA\u5412\u76D1\u63A7\u5F00\u53D1\u624B\u518C\uFF0C\u6211\u4EEC\u6B22\u8FCE\u4F60\u63D0\u51FA\u9AD8\u8D28\u91CF\u7684Pull Request\uFF0C\u5E2E\u52A9\u54EA\u5412\u76D1\u63A7\u53D8\u5F97\u66F4\u597D\uFF01","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/developer/theme","footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"developer/index.md"}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),c=[n];function i(l,d,h,p,_,m){return r(),o("div",null,c)}var x=a(s,[["render",i]]);export{f as __pageData,x as default}; diff --git a/assets/developer_l10n.md.ba294ec8.js b/assets/developer_l10n.md.ba294ec8.js new file mode 100644 index 00000000..5916c7a6 --- /dev/null +++ b/assets/developer_l10n.md.ba294ec8.js @@ -0,0 +1 @@ +import{_ as e,c as o,o as t,d as r}from"./app.2c402e15.js";const u='{"title":"\u4F7F\u7528\u8BF4\u660E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"developer/l10n.md"}',a={},l=r('

\u54EA\u5412\u76D1\u63A7\u7684Dashboard\u5DF2\u7ECF\u6DFB\u52A0\u672C\u5730\u5316\uFF0C\u652F\u6301\u591A\u4E2A\u8BED\u8A00\uFF0C\u4F60\u53EF\u4EE5\u5728\u5F00\u53D1\u65B0\u529F\u80FD\u65F6\u9075\u5FAA\u4EE5\u4E0B\u6B65\u9AA4\u6765\u652F\u6301\u672C\u5730\u5316

WARNING

\u54EA\u5412\u76D1\u63A7\u4F7F\u7528 Crowdin \u5E73\u53F0\u7FFB\u8BD1\u6587\u672C\uFF0C\u8BF7\u4E0D\u8981\u76F4\u63A5\u4FEE\u6539\u9664 zh-CN.toml \u4EE5\u5916\u7684toml\u6587\u4EF6

\u4F7F\u7528\u8BF4\u660E

  1. \u4F60\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528 /resource/l10n/zh-CN.toml \u4E2D\u7684\u914D\u7F6E\u6765\u66FF\u6362\u65B0\u529F\u80FD\u4E2D\u7684\u6587\u672C
  2. \u5982\u679C\u65B0\u529F\u80FD\u4E2D\u6709\u65B0\u7684\u6587\u672C\uFF0C\u8BF7\u5C06\u65B0\u6587\u672C\u62C9\u53D6\u5230 zh-CN.toml \u4E2D
  3. \u5728Pull Request\u88AB\u5408\u5E76\u540E\uFF0C\u4F60\u53EF\u4EE5\u524D\u5F80 Crowdin \u5E73\u53F0\u8D21\u732E\u65B0\u6587\u672C\u7684\u7FFB\u8BD1
',4),c=[l];function n(s,d,i,_,p,h){return t(),o("div",null,c)}var f=e(a,[["render",n]]);export{u as __pageData,f as default}; diff --git a/assets/developer_l10n.md.ba294ec8.lean.js b/assets/developer_l10n.md.ba294ec8.lean.js new file mode 100644 index 00000000..4cb73cfc --- /dev/null +++ b/assets/developer_l10n.md.ba294ec8.lean.js @@ -0,0 +1 @@ +import{_ as e,c as o,o as t,d as r}from"./app.2c402e15.js";const u='{"title":"\u4F7F\u7528\u8BF4\u660E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"developer/l10n.md"}',a={},l=r("",4),c=[l];function n(s,d,i,_,p,h){return t(),o("div",null,c)}var f=e(a,[["render",n]]);export{u as __pageData,f as default}; diff --git a/assets/developer_theme.md.5aef5e11.js b/assets/developer_theme.md.f7e1f379.js similarity index 97% rename from assets/developer_theme.md.5aef5e11.js rename to assets/developer_theme.md.f7e1f379.js index 9c268da6..38624c40 100644 --- a/assets/developer_theme.md.5aef5e11.js +++ b/assets/developer_theme.md.f7e1f379.js @@ -1 +1 @@ -import{_ as e,c as o,o as a,d as t}from"./app.c4507667.js";const u='{"title":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883","slug":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"developer/theme.md"}',c={},d=t('

\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883

\u54EA\u5412\u9762\u677F\u63D0\u4F9B\u4E86\u4E3B\u9898\u5F00\u53D1\u73AF\u5883\uFF0C\u4F60\u53EF\u4EE5\u4F7F\u7528\u5B83\u6765\u521B\u5EFA\u65B0\u7684\u54EA\u5412\u76D1\u63A7\u4E3B\u9898

WARNING

\u8BF7\u6CE8\u610F\uFF1A \u6B64\u5F00\u53D1\u73AF\u5883\u4EC5\u652F\u6301 dashboard v0.13.16 \u53CA\u66F4\u65B0\u7248\u672C\u3002

\u4F7F\u7528\u8BF4\u660E

  1. \u514B\u9686\u6B64\u4ED3\u5E93\u5230\u672C\u5730
  2. \u4FEE\u6539 data/config.yaml \u4E2D\u7684oauth2 \u914D\u7F6E\uFF08\u56DE\u8C03\u8FDE\u63A5\u53EF\u4EE5\u586B http://localhost \u7684\uFF09
  3. docker-compose up
  4. \u5F00\u59CB\u5F00\u53D1
  5. \u4E3B\u9898\u5236\u4F5C\u5B8C\u6210\u4E4B\u540E\u53EF\u4EE5\u5C06 theme-custom \u653E\u7F6E\u5230\u670D\u52A1\u5668\u4E0A\u7684 /opt/nezha/dashboard/theme-custom \u4F4D\u7F6E

FAQ

  • \u5982\u679C\u4E0D\u80FD\u4F7F\u7528 80 \u7AEF\u53E3\uFF0C\u5728 docker-compose.yaml \u4E2D\u4FEE\u6539\u914D\u7F6E\u3002
',7),l=[d];function r(i,s,h,n,_,p){return a(),o("div",null,l)}var f=e(c,[["render",r]]);export{u as __pageData,f as default}; +import{_ as e,c as o,o as a,d as t}from"./app.2c402e15.js";const u='{"title":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883","slug":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"developer/theme.md"}',c={},d=t('

\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883

\u54EA\u5412\u9762\u677F\u63D0\u4F9B\u4E86\u4E3B\u9898\u5F00\u53D1\u73AF\u5883\uFF0C\u4F60\u53EF\u4EE5\u4F7F\u7528\u5B83\u6765\u521B\u5EFA\u65B0\u7684\u54EA\u5412\u76D1\u63A7\u4E3B\u9898

WARNING

\u8BF7\u6CE8\u610F\uFF1A \u6B64\u5F00\u53D1\u73AF\u5883\u4EC5\u652F\u6301 dashboard v0.13.16 \u53CA\u66F4\u65B0\u7248\u672C\u3002

\u4F7F\u7528\u8BF4\u660E

  1. \u514B\u9686\u6B64\u4ED3\u5E93\u5230\u672C\u5730
  2. \u4FEE\u6539 data/config.yaml \u4E2D\u7684oauth2 \u914D\u7F6E\uFF08\u56DE\u8C03\u8FDE\u63A5\u53EF\u4EE5\u586B http://localhost \u7684\uFF09
  3. docker-compose up
  4. \u5F00\u59CB\u5F00\u53D1
  5. \u4E3B\u9898\u5236\u4F5C\u5B8C\u6210\u4E4B\u540E\u53EF\u4EE5\u5C06 theme-custom \u653E\u7F6E\u5230\u670D\u52A1\u5668\u4E0A\u7684 /opt/nezha/dashboard/theme-custom \u4F4D\u7F6E

FAQ

  • \u5982\u679C\u4E0D\u80FD\u4F7F\u7528 80 \u7AEF\u53E3\uFF0C\u5728 docker-compose.yaml \u4E2D\u4FEE\u6539\u914D\u7F6E\u3002
',7),l=[d];function r(i,s,h,n,_,p){return a(),o("div",null,l)}var f=e(c,[["render",r]]);export{u as __pageData,f as default}; diff --git a/assets/developer_theme.md.5aef5e11.lean.js b/assets/developer_theme.md.f7e1f379.lean.js similarity index 89% rename from assets/developer_theme.md.5aef5e11.lean.js rename to assets/developer_theme.md.f7e1f379.lean.js index fd698ed0..035c791c 100644 --- a/assets/developer_theme.md.5aef5e11.lean.js +++ b/assets/developer_theme.md.f7e1f379.lean.js @@ -1 +1 @@ -import{_ as e,c as o,o as a,d as t}from"./app.c4507667.js";const u='{"title":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883","slug":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"developer/theme.md"}',c={},d=t("",7),l=[d];function r(i,s,h,n,_,p){return a(),o("div",null,l)}var f=e(c,[["render",r]]);export{u as __pageData,f as default}; +import{_ as e,c as o,o as a,d as t}from"./app.2c402e15.js";const u='{"title":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883","slug":"\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"developer/theme.md"}',c={},d=t("",7),l=[d];function r(i,s,h,n,_,p){return a(),o("div",null,l)}var f=e(c,[["render",r]]);export{u as __pageData,f as default}; diff --git a/assets/en_US_developer_index.md.033094b9.js b/assets/en_US_developer_index.md.b71cc532.js similarity index 92% rename from assets/en_US_developer_index.md.033094b9.js rename to assets/en_US_developer_index.md.b71cc532.js index 363776bc..87727ed8 100644 --- a/assets/en_US_developer_index.md.033094b9.js +++ b/assets/en_US_developer_index.md.b71cc532.js @@ -1 +1 @@ -import{_ as o,c as a,o as n,a as e,b as t}from"./app.c4507667.js";const v='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Development Manual","tagline":"Welcome to the Nezha Monitoring Development Manual.","actionText":"Start Now \u2192","actionLink":"/en_US/developer/theme","footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/developer/index.md"}',r={},s=e("p",null,[e("br"),t("This work is licensed under a "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"),t(".")],-1),i=[s];function c(l,h,m,d,p,_){return n(),a("div",null,i)}var f=o(r,[["render",c]]);export{v as __pageData,f as default}; +import{_ as o,c as a,o as n,a as e,b as t}from"./app.2c402e15.js";const v='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Development Manual","tagline":"Welcome to the Nezha Monitoring Development Manual.","actionText":"Start Now \u2192","actionLink":"/en_US/developer/theme","footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/developer/index.md"}',r={},s=e("p",null,[e("br"),t("This work is licensed under a "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"),t(".")],-1),i=[s];function c(l,h,m,d,p,_){return n(),a("div",null,i)}var f=o(r,[["render",c]]);export{v as __pageData,f as default}; diff --git a/assets/en_US_developer_index.md.033094b9.lean.js b/assets/en_US_developer_index.md.b71cc532.lean.js similarity index 92% rename from assets/en_US_developer_index.md.033094b9.lean.js rename to assets/en_US_developer_index.md.b71cc532.lean.js index 363776bc..87727ed8 100644 --- a/assets/en_US_developer_index.md.033094b9.lean.js +++ b/assets/en_US_developer_index.md.b71cc532.lean.js @@ -1 +1 @@ -import{_ as o,c as a,o as n,a as e,b as t}from"./app.c4507667.js";const v='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Development Manual","tagline":"Welcome to the Nezha Monitoring Development Manual.","actionText":"Start Now \u2192","actionLink":"/en_US/developer/theme","footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/developer/index.md"}',r={},s=e("p",null,[e("br"),t("This work is licensed under a "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"),t(".")],-1),i=[s];function c(l,h,m,d,p,_){return n(),a("div",null,i)}var f=o(r,[["render",c]]);export{v as __pageData,f as default}; +import{_ as o,c as a,o as n,a as e,b as t}from"./app.2c402e15.js";const v='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Development Manual","tagline":"Welcome to the Nezha Monitoring Development Manual.","actionText":"Start Now \u2192","actionLink":"/en_US/developer/theme","footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/developer/index.md"}',r={},s=e("p",null,[e("br"),t("This work is licensed under a "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"),t(".")],-1),i=[s];function c(l,h,m,d,p,_){return n(),a("div",null,i)}var f=o(r,[["render",c]]);export{v as __pageData,f as default}; diff --git a/assets/en_US_developer_l10n.md.7251e389.js b/assets/en_US_developer_l10n.md.7251e389.js new file mode 100644 index 00000000..6b2bf2c3 --- /dev/null +++ b/assets/en_US_developer_l10n.md.7251e389.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,a}from"./app.2c402e15.js";const u='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md"}',n={},s=a("p",null,"Comming soon",-1),r=[s];function c(_,l,d,i,p,m){return o(),t("div",null,r)}var h=e(n,[["render",c]]);export{u as __pageData,h as default}; diff --git a/assets/en_US_developer_l10n.md.7251e389.lean.js b/assets/en_US_developer_l10n.md.7251e389.lean.js new file mode 100644 index 00000000..6b2bf2c3 --- /dev/null +++ b/assets/en_US_developer_l10n.md.7251e389.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,a}from"./app.2c402e15.js";const u='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/l10n.md"}',n={},s=a("p",null,"Comming soon",-1),r=[s];function c(_,l,d,i,p,m){return o(),t("div",null,r)}var h=e(n,[["render",c]]);export{u as __pageData,h as default}; diff --git a/assets/en_US_developer_theme.md.51219771.js b/assets/en_US_developer_theme.md.096ab5ad.js similarity index 79% rename from assets/en_US_developer_theme.md.51219771.js rename to assets/en_US_developer_theme.md.096ab5ad.js index ac5f6473..3a3296c8 100644 --- a/assets/en_US_developer_theme.md.51219771.js +++ b/assets/en_US_developer_theme.md.096ab5ad.js @@ -1 +1 @@ -import{_ as e,c as t,o,a}from"./app.c4507667.js";const h='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/theme.md"}',s={},n=a("p",null,"Comming soon",-1),r=[n];function c(_,d,i,p,l,m){return o(),t("div",null,r)}var u=e(s,[["render",c]]);export{h as __pageData,u as default}; +import{_ as e,c as t,o,a}from"./app.2c402e15.js";const h='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/theme.md"}',s={},n=a("p",null,"Comming soon",-1),r=[n];function c(_,d,i,p,l,m){return o(),t("div",null,r)}var u=e(s,[["render",c]]);export{h as __pageData,u as default}; diff --git a/assets/en_US_developer_theme.md.51219771.lean.js b/assets/en_US_developer_theme.md.096ab5ad.lean.js similarity index 79% rename from assets/en_US_developer_theme.md.51219771.lean.js rename to assets/en_US_developer_theme.md.096ab5ad.lean.js index ac5f6473..3a3296c8 100644 --- a/assets/en_US_developer_theme.md.51219771.lean.js +++ b/assets/en_US_developer_theme.md.096ab5ad.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o,a}from"./app.c4507667.js";const h='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/theme.md"}',s={},n=a("p",null,"Comming soon",-1),r=[n];function c(_,d,i,p,l,m){return o(),t("div",null,r)}var u=e(s,[["render",c]]);export{h as __pageData,u as default}; +import{_ as e,c as t,o,a}from"./app.2c402e15.js";const h='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/theme.md"}',s={},n=a("p",null,"Comming soon",-1),r=[n];function c(_,d,i,p,l,m){return o(),t("div",null,r)}var u=e(s,[["render",c]]);export{h as __pageData,u as default}; diff --git a/assets/en_US_guide_agent.md.f26bcc95.js b/assets/en_US_guide_agent.md.8bed9873.js similarity index 99% rename from assets/en_US_guide_agent.md.f26bcc95.js rename to assets/en_US_guide_agent.md.8bed9873.js index b0a214f3..176016a0 100644 --- a/assets/en_US_guide_agent.md.f26bcc95.js +++ b/assets/en_US_guide_agent.md.8bed9873.js @@ -1,4 +1,4 @@ -import{_ as n,c as e,o as a,d as t}from"./app.c4507667.js";const b='{"title":"Install Agent using one-click script","description":"","frontmatter":{},"headers":[{"level":2,"title":"Install Agent using one-click script","slug":"install-agent-using-one-click-script"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"Linux\u4E00\u952E\u5B89\u88C5","slug":"linux\u4E00\u952E\u5B89\u88C5"},{"level":3,"title":"Windows\u4E00\u952E\u5B89\u88C5","slug":"windows\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent"},{"level":3,"title":"Linux\u5B89\u88C5Agent","slug":"linux\u5B89\u88C5agent"},{"level":3,"title":"Windows\u5B89\u88C5Agent","slug":"windows\u5B89\u88C5agent"},{"level":3,"title":"OpenWRT\u5B89\u88C5Agent","slug":"openwrt\u5B89\u88C5agent"},{"level":2,"title":"\u81EA\u5B9A\u4E49Agent\u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE"}],"relativePath":"en_US/guide/agent.md"}',s={},i=t(`

\u54EA\u5412\u76D1\u63A7\u7684\u88AB\u63A7\u7AEF\u670D\u52A1\u88AB\u79F0\u4E3AAgent\uFF0C\u672C\u6587\u6863\u5C06\u4ECB\u7ECD\u5982\u4F55\u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E0A\u5B89\u88C5Agent\uFF0C\u5E76\u4E0EDashboard\u8FDE\u63A5

Install Agent using one-click script

\u76EE\u524D\u54EA\u5412\u76D1\u63A7\u5DF2\u652F\u6301\u5728WIndows\u548CLinux\u4E0A\u4E00\u952E\u5B89\u88C5Agent\uFF0C\u9075\u5FAA\u672C\u6587\u6863\u7684\u6B65\u9AA4\uFF0C\u4F60\u53EF\u4EE5\u5F88\u8F7B\u677E\u7684\u5728\u670D\u52A1\u5668\u4E0A\u90E8\u7F72\u5B83

\u51C6\u5907\u5DE5\u4F5C


\u4F60\u9700\u8981\u63D0\u524D\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u8BBE\u7F6E\u597D\u901A\u4FE1\u57DF\u540D\uFF0C\u6B64\u57DF\u540D\u4E0D\u53EF\u4EE5\u63A5\u5165CDN\uFF0C\u8FD9\u91CC\u4EE5\u524D\u9762\u63D0\u5230\u8FC7\u7684\u793A\u4F8B\u901A\u4FE1\u57DF\u540D \u201Cdata.example.com\u201D \u6765\u505A\u6F14\u793A
\u8FDB\u5165\u540E\u53F0\u7BA1\u7406\u9762\u677F\uFF0C\u8F6C\u5230\u201C\u8BBE\u7F6E\u201D\u9875\uFF0C\u5728\u201C\u672A\u63A5\u5165CDN\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D/IP\u201D\u9879\u4E2D\u586B\u5165\u901A\u4FE1\u57DF\u540D\uFF0C\u7136\u540E\u70B9\u51FB"\u4FDD\u5B58"

Linux\u4E00\u952E\u5B89\u88C5


  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684Linux\u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4
  • \u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E2D\u8FD0\u884C\u590D\u5236\u7684\u4E00\u952E\u5B89\u88C5\u547D\u4EE4\uFF0C\u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DE\u5230Dashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF

Windows\u4E00\u952E\u5B89\u88C5


  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684Windows\u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4
  • \u8FDB\u5165Windows\u670D\u52A1\u5668\uFF0C\u8FD0\u884CPowerShell\uFF0C\u5728PowerShell\u4E2D\u8FD0\u884C\u590D\u5236\u7684\u5B89\u88C5\u547D\u4EE4
  • \u5982\u9047\u5230\u786E\u8BA4\u300C\u6267\u884C\u7B56\u7565\u53D8\u66F4\u300D\u8BF7\u9009\u62E9 Y
  • \u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DEDashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF



\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent



Linux\u5B89\u88C5Agent


  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u5728\u88AB\u63A7\u670D\u52A1\u5668\u4E2D\uFF0C\u8FD0\u884C\u811A\u672C\uFF08\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\u7684\u670D\u52A1\u5668\u8BF7\u4F7F\u7528\u955C\u50CF\uFF09\uFF1A
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
+import{_ as n,c as e,o as a,d as t}from"./app.2c402e15.js";const b='{"title":"Install Agent using one-click script","description":"","frontmatter":{},"headers":[{"level":2,"title":"Install Agent using one-click script","slug":"install-agent-using-one-click-script"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"Linux\u4E00\u952E\u5B89\u88C5","slug":"linux\u4E00\u952E\u5B89\u88C5"},{"level":3,"title":"Windows\u4E00\u952E\u5B89\u88C5","slug":"windows\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent"},{"level":3,"title":"Linux\u5B89\u88C5Agent","slug":"linux\u5B89\u88C5agent"},{"level":3,"title":"Windows\u5B89\u88C5Agent","slug":"windows\u5B89\u88C5agent"},{"level":3,"title":"OpenWRT\u5B89\u88C5Agent","slug":"openwrt\u5B89\u88C5agent"},{"level":2,"title":"\u81EA\u5B9A\u4E49Agent\u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE"}],"relativePath":"en_US/guide/agent.md"}',s={},i=t(`

\u54EA\u5412\u76D1\u63A7\u7684\u88AB\u63A7\u7AEF\u670D\u52A1\u88AB\u79F0\u4E3AAgent\uFF0C\u672C\u6587\u6863\u5C06\u4ECB\u7ECD\u5982\u4F55\u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E0A\u5B89\u88C5Agent\uFF0C\u5E76\u4E0EDashboard\u8FDE\u63A5

Install Agent using one-click script

\u76EE\u524D\u54EA\u5412\u76D1\u63A7\u5DF2\u652F\u6301\u5728WIndows\u548CLinux\u4E0A\u4E00\u952E\u5B89\u88C5Agent\uFF0C\u9075\u5FAA\u672C\u6587\u6863\u7684\u6B65\u9AA4\uFF0C\u4F60\u53EF\u4EE5\u5F88\u8F7B\u677E\u7684\u5728\u670D\u52A1\u5668\u4E0A\u90E8\u7F72\u5B83

\u51C6\u5907\u5DE5\u4F5C


\u4F60\u9700\u8981\u63D0\u524D\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u8BBE\u7F6E\u597D\u901A\u4FE1\u57DF\u540D\uFF0C\u6B64\u57DF\u540D\u4E0D\u53EF\u4EE5\u63A5\u5165CDN\uFF0C\u8FD9\u91CC\u4EE5\u524D\u9762\u63D0\u5230\u8FC7\u7684\u793A\u4F8B\u901A\u4FE1\u57DF\u540D \u201Cdata.example.com\u201D \u6765\u505A\u6F14\u793A
\u8FDB\u5165\u540E\u53F0\u7BA1\u7406\u9762\u677F\uFF0C\u8F6C\u5230\u201C\u8BBE\u7F6E\u201D\u9875\uFF0C\u5728\u201C\u672A\u63A5\u5165CDN\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D/IP\u201D\u9879\u4E2D\u586B\u5165\u901A\u4FE1\u57DF\u540D\uFF0C\u7136\u540E\u70B9\u51FB"\u4FDD\u5B58"

Linux\u4E00\u952E\u5B89\u88C5


  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684Linux\u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4
  • \u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E2D\u8FD0\u884C\u590D\u5236\u7684\u4E00\u952E\u5B89\u88C5\u547D\u4EE4\uFF0C\u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DE\u5230Dashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF

Windows\u4E00\u952E\u5B89\u88C5


  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684Windows\u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4
  • \u8FDB\u5165Windows\u670D\u52A1\u5668\uFF0C\u8FD0\u884CPowerShell\uFF0C\u5728PowerShell\u4E2D\u8FD0\u884C\u590D\u5236\u7684\u5B89\u88C5\u547D\u4EE4
  • \u5982\u9047\u5230\u786E\u8BA4\u300C\u6267\u884C\u7B56\u7565\u53D8\u66F4\u300D\u8BF7\u9009\u62E9 Y
  • \u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DEDashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF



\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent



Linux\u5B89\u88C5Agent


  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u5728\u88AB\u63A7\u670D\u52A1\u5668\u4E2D\uFF0C\u8FD0\u884C\u811A\u672C\uFF08\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\u7684\u670D\u52A1\u5668\u8BF7\u4F7F\u7528\u955C\u50CF\uFF09\uFF1A
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
 
 
  • \u9009\u62E9\u201C\u5B89\u88C5\u76D1\u63A7Agent\u201D
  • \u8F93\u5165\u901A\u4FE1\u57DF\u540D\uFF0C\u5982\uFF1A\u201Ddata.example.com\u201C
  • \u8F93\u5165\u9762\u677F\u901A\u4FE1\u7AEF\u53E3\uFF0C\u9ED8\u8BA4\u4E3A5555
  • \u8F93\u5165Agent\u5BC6\u94A5\uFF0CAgent\u5BC6\u94A5\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u670D\u52A1\u5668\u65F6\u751F\u6210\uFF0C\u53EF\u4EE5\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u7684\u201C\u4E3B\u673A\u201D\u9875\u4E2D\u627E\u5230
  • \u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DEDashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF

Windows\u5B89\u88C5Agent


OpenWRT\u5B89\u88C5Agent


\u5982\u4F55\u4F7F \u65E7\u7248OpenWRT/LEDE \u81EA\u542F\u52A8

\u5982\u4F55\u4F7F \u65B0\u7248OpenWRT \u81EA\u542F\u52A8\uFF1F\u6765\u81EA @\u827E\u65AF\u5FB7\u65AF

  • \u9996\u5148\u5728 release \u4E0B\u8F7D\u5BF9\u5E94\u7684\u4E8C\u8FDB\u5236\u89E3\u538B zip \u5305\u540E\u653E\u7F6E\u5230 /root
  • \u8FD0\u884C chmod +x /root/nezha-agent \u8D4B\u4E88\u6267\u884C\u6743\u9650\uFF0C\u7136\u540E\u521B\u5EFA /etc/init.d/nezha-service\uFF1A
#!/bin/sh /etc/rc.common
 
diff --git a/assets/en_US_guide_agent.md.f26bcc95.lean.js b/assets/en_US_guide_agent.md.8bed9873.lean.js
similarity index 94%
rename from assets/en_US_guide_agent.md.f26bcc95.lean.js
rename to assets/en_US_guide_agent.md.8bed9873.lean.js
index 75455972..acca2e82 100644
--- a/assets/en_US_guide_agent.md.f26bcc95.lean.js
+++ b/assets/en_US_guide_agent.md.8bed9873.lean.js
@@ -1 +1 @@
-import{_ as n,c as e,o as a,d as t}from"./app.c4507667.js";const b='{"title":"Install Agent using one-click script","description":"","frontmatter":{},"headers":[{"level":2,"title":"Install Agent using one-click script","slug":"install-agent-using-one-click-script"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"Linux\u4E00\u952E\u5B89\u88C5","slug":"linux\u4E00\u952E\u5B89\u88C5"},{"level":3,"title":"Windows\u4E00\u952E\u5B89\u88C5","slug":"windows\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent"},{"level":3,"title":"Linux\u5B89\u88C5Agent","slug":"linux\u5B89\u88C5agent"},{"level":3,"title":"Windows\u5B89\u88C5Agent","slug":"windows\u5B89\u88C5agent"},{"level":3,"title":"OpenWRT\u5B89\u88C5Agent","slug":"openwrt\u5B89\u88C5agent"},{"level":2,"title":"\u81EA\u5B9A\u4E49Agent\u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE"}],"relativePath":"en_US/guide/agent.md"}',s={},i=t("",38),l=[i];function o(r,c,p,d,h,u){return a(),e("div",null,l)}var k=n(s,[["render",o]]);export{b as __pageData,k as default};
+import{_ as n,c as e,o as a,d as t}from"./app.2c402e15.js";const b='{"title":"Install Agent using one-click script","description":"","frontmatter":{},"headers":[{"level":2,"title":"Install Agent using one-click script","slug":"install-agent-using-one-click-script"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"Linux\u4E00\u952E\u5B89\u88C5","slug":"linux\u4E00\u952E\u5B89\u88C5"},{"level":3,"title":"Windows\u4E00\u952E\u5B89\u88C5","slug":"windows\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent"},{"level":3,"title":"Linux\u5B89\u88C5Agent","slug":"linux\u5B89\u88C5agent"},{"level":3,"title":"Windows\u5B89\u88C5Agent","slug":"windows\u5B89\u88C5agent"},{"level":3,"title":"OpenWRT\u5B89\u88C5Agent","slug":"openwrt\u5B89\u88C5agent"},{"level":2,"title":"\u81EA\u5B9A\u4E49Agent\u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE"}],"relativePath":"en_US/guide/agent.md"}',s={},i=t("",38),l=[i];function o(r,c,p,d,h,u){return a(),e("div",null,l)}var k=n(s,[["render",o]]);export{b as __pageData,k as default};
diff --git a/assets/en_US_guide_agentq.md.cbca34f9.js b/assets/en_US_guide_agentq.md.fc681108.js
similarity index 85%
rename from assets/en_US_guide_agentq.md.cbca34f9.js
rename to assets/en_US_guide_agentq.md.fc681108.js
index 23e29f77..c25e37a3 100644
--- a/assets/en_US_guide_agentq.md.cbca34f9.js
+++ b/assets/en_US_guide_agentq.md.fc681108.js
@@ -1 +1 @@
-import{_ as t,c as a,o as n,a as e,b as r}from"./app.c4507667.js";const u='{"title":"Agent","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/agentq.md"}',o={},s=e("h1",{id:"agent",tabindex:"-1"},[r("Agent "),e("a",{class:"header-anchor",href:"#agent","aria-hidden":"true"},"#")],-1),c=[s];function d(i,_,h,p,l,f){return n(),a("div",null,c)}var m=t(o,[["render",d]]);export{u as __pageData,m as default};
+import{_ as t,c as a,o as n,a as e,b as r}from"./app.2c402e15.js";const u='{"title":"Agent","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/agentq.md"}',o={},s=e("h1",{id:"agent",tabindex:"-1"},[r("Agent "),e("a",{class:"header-anchor",href:"#agent","aria-hidden":"true"},"#")],-1),c=[s];function d(i,_,h,p,l,f){return n(),a("div",null,c)}var m=t(o,[["render",d]]);export{u as __pageData,m as default};
diff --git a/assets/en_US_guide_agentq.md.cbca34f9.lean.js b/assets/en_US_guide_agentq.md.fc681108.lean.js
similarity index 85%
rename from assets/en_US_guide_agentq.md.cbca34f9.lean.js
rename to assets/en_US_guide_agentq.md.fc681108.lean.js
index 23e29f77..c25e37a3 100644
--- a/assets/en_US_guide_agentq.md.cbca34f9.lean.js
+++ b/assets/en_US_guide_agentq.md.fc681108.lean.js
@@ -1 +1 @@
-import{_ as t,c as a,o as n,a as e,b as r}from"./app.c4507667.js";const u='{"title":"Agent","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/agentq.md"}',o={},s=e("h1",{id:"agent",tabindex:"-1"},[r("Agent "),e("a",{class:"header-anchor",href:"#agent","aria-hidden":"true"},"#")],-1),c=[s];function d(i,_,h,p,l,f){return n(),a("div",null,c)}var m=t(o,[["render",d]]);export{u as __pageData,m as default};
+import{_ as t,c as a,o as n,a as e,b as r}from"./app.2c402e15.js";const u='{"title":"Agent","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/agentq.md"}',o={},s=e("h1",{id:"agent",tabindex:"-1"},[r("Agent "),e("a",{class:"header-anchor",href:"#agent","aria-hidden":"true"},"#")],-1),c=[s];function d(i,_,h,p,l,f){return n(),a("div",null,c)}var m=t(o,[["render",d]]);export{u as __pageData,m as default};
diff --git a/assets/en_US_guide_api.md.9fe0ec4b.js b/assets/en_US_guide_api.md.1cb185fb.js
similarity index 79%
rename from assets/en_US_guide_api.md.9fe0ec4b.js
rename to assets/en_US_guide_api.md.1cb185fb.js
index e05b39bc..8971cc70 100644
--- a/assets/en_US_guide_api.md.9fe0ec4b.js
+++ b/assets/en_US_guide_api.md.1cb185fb.js
@@ -1 +1 @@
-import{_ as e,c as t,o,a}from"./app.c4507667.js";const h='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/theme.md"}',s={},n=a("p",null,"Comming soon",-1),r=[n];function c(_,i,p,d,l,m){return o(),t("div",null,r)}var u=e(s,[["render",c]]);export{h as __pageData,u as default};
+import{_ as e,c as t,o,a}from"./app.2c402e15.js";const h='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/theme.md"}',s={},n=a("p",null,"Comming soon",-1),r=[n];function c(_,i,p,d,l,m){return o(),t("div",null,r)}var u=e(s,[["render",c]]);export{h as __pageData,u as default};
diff --git a/assets/en_US_guide_api.md.9fe0ec4b.lean.js b/assets/en_US_guide_api.md.1cb185fb.lean.js
similarity index 79%
rename from assets/en_US_guide_api.md.9fe0ec4b.lean.js
rename to assets/en_US_guide_api.md.1cb185fb.lean.js
index e05b39bc..8971cc70 100644
--- a/assets/en_US_guide_api.md.9fe0ec4b.lean.js
+++ b/assets/en_US_guide_api.md.1cb185fb.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o,a}from"./app.c4507667.js";const h='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/theme.md"}',s={},n=a("p",null,"Comming soon",-1),r=[n];function c(_,i,p,d,l,m){return o(),t("div",null,r)}var u=e(s,[["render",c]]);export{h as __pageData,u as default};
+import{_ as e,c as t,o,a}from"./app.2c402e15.js";const h='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/developer/theme.md"}',s={},n=a("p",null,"Comming soon",-1),r=[n];function c(_,i,p,d,l,m){return o(),t("div",null,r)}var u=e(s,[["render",c]]);export{h as __pageData,u as default};
diff --git a/assets/en_US_guide_dashboard.md.0bf2ca44.js b/assets/en_US_guide_dashboard.md.c29d4037.js
similarity index 99%
rename from assets/en_US_guide_dashboard.md.0bf2ca44.js
rename to assets/en_US_guide_dashboard.md.c29d4037.js
index 7cf80bb5..7108fb20 100644
--- a/assets/en_US_guide_dashboard.md.0bf2ca44.js
+++ b/assets/en_US_guide_dashboard.md.c29d4037.js
@@ -1,4 +1,4 @@
-import{_ as e,c as a,o as n,d as t}from"./app.c4507667.js";const k='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":3,"title":"Preparations","slug":"preparations"},{"level":3,"title":"\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5","slug":"\u83B7\u53D6github\u7684client-id\u548C\u5BC6\u94A5"},{"level":3,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5dashboard"},{"level":3,"title":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406","slug":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},{"level":3,"title":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6ESSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6Essl"}],"relativePath":"en_US/guide/dashboard.md"}',s={},o=t(`

Preparations


\u642D\u5EFA\u4E00\u4E2A\u54EA\u5412\u76D1\u63A7\uFF0C\u4F60\u9700\u8981\uFF1A

  1. \u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684VPS\uFF0C\u9632\u706B\u5899\u548C\u5B89\u5168\u7B56\u7565\u9700\u8981\u653E\u884C8008\u548C5555\u7AEF\u53E3\uFF0C\u5426\u5219\u4F1A\u65E0\u6CD5\u8BBF\u95EE\u548C\u65E0\u6CD5\u63A5\u6536\u6570\u636E\u3002\u5355\u6838512MB\u5185\u5B58\u7684\u670D\u52A1\u5668\u914D\u7F6E\u5C31\u8DB3\u4EE5\u6EE1\u8DB3\u5927\u591A\u6570\u4F7F\u7528\u573A\u666F
  2. \u4E00\u4E2A\u5DF2\u7ECF\u8BBE\u7F6E\u597DA\u8BB0\u5F55\uFF0C\u6307\u5411Dashboard\u670D\u52A1\u5668ip\u7684\u57DF\u540D

TIP

\u5982\u679C\u4F60\u60F3\u4F7F\u7528CDN\uFF0C\u8BF7\u51C6\u5907\u4E24\u4E2A\u57DF\u540D\uFF0C\u4E00\u4E2A\u914D\u7F6E\u597DCDN\u7528\u4F5C\u516C\u5F00\u8BBF\u95EE\uFF0CCDN\u9700\u8981\u652F\u6301WebSocket\u534F\u8BAE\uFF1B\u53E6\u4E00\u4E2A\u57DF\u540D\u4E0D\u8981\u4F7F\u7528CDN\uFF0C\u7528\u4F5CAgent\u7AEF\u4E0EDashboard\u7684\u901A\u4FE1
\u672C\u6587\u6863\u5206\u522B\u4EE5 "cdn.example.com" \u548C "data.example.com" \u4E24\u4E2A\u57DF\u540D\u6765\u6F14\u793A

  1. \u4E00\u4E2AGithub/Gitee\u8D26\u53F7

\u672C\u6587\u6863\u5C06\u4EE5\u5B9D\u5854\u9762\u677F\u53CD\u4EE3\u9762\u677F\u7684\u8FC7\u7A0B\u4F5C\u4E3A\u8303\u4F8B\uFF0C\u968F\u7740\u672A\u6765\u7248\u672C\u7684\u53D8\u5316\uFF0C\u90E8\u5206\u529F\u80FD\u7684\u5165\u53E3\u53EF\u80FD\u4F1A\u53D1\u751F\u6539\u53D8\uFF0C\u672C\u6587\u6863\u4EC5\u4F9B\u53C2\u8003

\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5


\u54EA\u5412\u76D1\u63A7\u63A5\u5165Github\u548CGitee\u4F5C\u4E3A\u540E\u53F0\u7BA1\u7406\u5458\u8D26\u53F7

  • \u9996\u5148\u6211\u4EEC\u9700\u8981\u65B0\u5EFA\u4E00\u4E2A\u9A8C\u8BC1\u5E94\u7528\uFF0C\u4EE5Github\u4E3A\u4F8B\uFF0C\u767B\u9646Github\u540E\uFF0C\u6253\u5F00 https://github.com/settings/developers \uFF0C\u4F9D\u6B21\u9009\u62E9\u201COAuth Apps\u201D - \u201CNew OAuth App\u201D
    Application name - \u968F\u610F\u586B\u5199
    Homepage URL - \u586B\u5199\u9762\u677F\u7684\u8BBF\u95EE\u57DF\u540D\uFF0C\u5982\uFF1A"http://cdn.example.com"
    Authorization callback URL - \u586B\u5199\u56DE\u8C03\u5730\u5740\uFF0C\u5982\uFF1A"http://cdn.example.com/oauth2/callback"
  • \u70B9\u51FB\u201CRegister application\u201D
  • \u4FDD\u5B58\u9875\u9762\u4E2D\u7684Client ID\uFF0C\u7136\u540E\u70B9\u51FB \u201CGenerate a new client secret\u201C\uFF0C\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684Client Secret\uFF0C\u65B0\u5EFA\u7684\u5BC6\u94A5\u4EC5\u4F1A\u663E\u793A\u4E00\u6B21\uFF0C\u8BF7\u59A5\u5584\u4FDD\u5B58

\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard


  • \u5728\u9762\u677F\u670D\u52A1\u5668\u4E2D\uFF0C\u8FD0\u884C\u5B89\u88C5\u811A\u672C\uFF1A
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
+import{_ as e,c as a,o as n,d as t}from"./app.2c402e15.js";const k='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":3,"title":"Preparations","slug":"preparations"},{"level":3,"title":"\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5","slug":"\u83B7\u53D6github\u7684client-id\u548C\u5BC6\u94A5"},{"level":3,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5dashboard"},{"level":3,"title":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406","slug":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},{"level":3,"title":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6ESSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6Essl"}],"relativePath":"en_US/guide/dashboard.md"}',s={},o=t(`

Preparations


\u642D\u5EFA\u4E00\u4E2A\u54EA\u5412\u76D1\u63A7\uFF0C\u4F60\u9700\u8981\uFF1A

  1. \u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684VPS\uFF0C\u9632\u706B\u5899\u548C\u5B89\u5168\u7B56\u7565\u9700\u8981\u653E\u884C8008\u548C5555\u7AEF\u53E3\uFF0C\u5426\u5219\u4F1A\u65E0\u6CD5\u8BBF\u95EE\u548C\u65E0\u6CD5\u63A5\u6536\u6570\u636E\u3002\u5355\u6838512MB\u5185\u5B58\u7684\u670D\u52A1\u5668\u914D\u7F6E\u5C31\u8DB3\u4EE5\u6EE1\u8DB3\u5927\u591A\u6570\u4F7F\u7528\u573A\u666F
  2. \u4E00\u4E2A\u5DF2\u7ECF\u8BBE\u7F6E\u597DA\u8BB0\u5F55\uFF0C\u6307\u5411Dashboard\u670D\u52A1\u5668ip\u7684\u57DF\u540D

TIP

\u5982\u679C\u4F60\u60F3\u4F7F\u7528CDN\uFF0C\u8BF7\u51C6\u5907\u4E24\u4E2A\u57DF\u540D\uFF0C\u4E00\u4E2A\u914D\u7F6E\u597DCDN\u7528\u4F5C\u516C\u5F00\u8BBF\u95EE\uFF0CCDN\u9700\u8981\u652F\u6301WebSocket\u534F\u8BAE\uFF1B\u53E6\u4E00\u4E2A\u57DF\u540D\u4E0D\u8981\u4F7F\u7528CDN\uFF0C\u7528\u4F5CAgent\u7AEF\u4E0EDashboard\u7684\u901A\u4FE1
\u672C\u6587\u6863\u5206\u522B\u4EE5 "cdn.example.com" \u548C "data.example.com" \u4E24\u4E2A\u57DF\u540D\u6765\u6F14\u793A

  1. \u4E00\u4E2AGithub/Gitee\u8D26\u53F7

\u672C\u6587\u6863\u5C06\u4EE5\u5B9D\u5854\u9762\u677F\u53CD\u4EE3\u9762\u677F\u7684\u8FC7\u7A0B\u4F5C\u4E3A\u8303\u4F8B\uFF0C\u968F\u7740\u672A\u6765\u7248\u672C\u7684\u53D8\u5316\uFF0C\u90E8\u5206\u529F\u80FD\u7684\u5165\u53E3\u53EF\u80FD\u4F1A\u53D1\u751F\u6539\u53D8\uFF0C\u672C\u6587\u6863\u4EC5\u4F9B\u53C2\u8003

\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5


\u54EA\u5412\u76D1\u63A7\u63A5\u5165Github\u548CGitee\u4F5C\u4E3A\u540E\u53F0\u7BA1\u7406\u5458\u8D26\u53F7

  • \u9996\u5148\u6211\u4EEC\u9700\u8981\u65B0\u5EFA\u4E00\u4E2A\u9A8C\u8BC1\u5E94\u7528\uFF0C\u4EE5Github\u4E3A\u4F8B\uFF0C\u767B\u9646Github\u540E\uFF0C\u6253\u5F00 https://github.com/settings/developers \uFF0C\u4F9D\u6B21\u9009\u62E9\u201COAuth Apps\u201D - \u201CNew OAuth App\u201D
    Application name - \u968F\u610F\u586B\u5199
    Homepage URL - \u586B\u5199\u9762\u677F\u7684\u8BBF\u95EE\u57DF\u540D\uFF0C\u5982\uFF1A"http://cdn.example.com"
    Authorization callback URL - \u586B\u5199\u56DE\u8C03\u5730\u5740\uFF0C\u5982\uFF1A"http://cdn.example.com/oauth2/callback"
  • \u70B9\u51FB\u201CRegister application\u201D
  • \u4FDD\u5B58\u9875\u9762\u4E2D\u7684Client ID\uFF0C\u7136\u540E\u70B9\u51FB \u201CGenerate a new client secret\u201C\uFF0C\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684Client Secret\uFF0C\u65B0\u5EFA\u7684\u5BC6\u94A5\u4EC5\u4F1A\u663E\u793A\u4E00\u6B21\uFF0C\u8BF7\u59A5\u5584\u4FDD\u5B58

\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard


  • \u5728\u9762\u677F\u670D\u52A1\u5668\u4E2D\uFF0C\u8FD0\u884C\u5B89\u88C5\u811A\u672C\uFF1A
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
 

\u5982\u679C\u4F60\u7684\u9762\u677F\u670D\u52A1\u5668\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u53EF\u4EE5\u4F7F\u7528\u955C\u50CF\uFF1A

curl -L https://fastly.jsdelivr.net/gh/naiba/nezha@master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
 
  • \u7B49\u5F85Docker\u5B89\u88C5\u5B8C\u6BD5\u540E\uFF0C\u5206\u522B\u8F93\u5165\u4EE5\u4E0B\u503C\uFF1A
    OAuth\u63D0\u4F9B\u5546 - Github\u6216Gitee
    Client ID - \u4E4B\u524D\u4FDD\u5B58\u7684Client ID
    Client Secret - \u4E4B\u524D\u4FDD\u5B58\u7684\u5BC6\u94A5
    \u7528\u6237\u540D - Github\u6216Gitee\u7684\u7528\u6237\u540D
    \u7AD9\u70B9\u6807\u9898 - \u81EA\u5B9A\u4E49\u7AD9\u70B9\u6807\u9898
    \u8BBF\u95EE\u7AEF\u53E3 - \u516C\u5F00\u8BBF\u95EE\u7AEF\u53E3\uFF0C\u53EF\u81EA\u5B9A\u4E49\uFF0C\u9ED8\u8BA48008
    Agent\u7684\u901A\u4FE1\u7AEF\u53E3 - Agent\u4E0EDashboard\u7684\u901A\u4FE1\u7AEF\u53E3\uFF0C\u9ED8\u8BA45555

  • \u8F93\u5165\u5B8C\u6210\u540E\uFF0C\u7B49\u5F85\u62C9\u53D6\u955C\u50CF
    \u5B89\u88C5\u7ED3\u675F\u540E\uFF0C\u5982\u679C\u4E00\u5207\u6B63\u5E38\uFF0C\u6B64\u65F6\u4F60\u53EF\u4EE5\u8BBF\u95EE\u57DF\u540D+\u7AEF\u53E3\u53F7\uFF0C\u5982 \u201Chttp://cdn.example.com:8008\u201D \u6765\u67E5\u770B\u9762\u677F

  • \u5C06\u6765\u5982\u679C\u9700\u8981\u518D\u6B21\u8FD0\u884C\u811A\u672C\uFF0C\u53EF\u4EE5\u8FD0\u884C\uFF1A

./nezha.sh
 

\u6765\u6253\u5F00\u7BA1\u7406\u811A\u672C


\u914D\u7F6E\u53CD\u5411\u4EE3\u7406


  • \u5728\u5B9D\u5854\u9762\u677F\u4E2D\u65B0\u5EFA\u4E00\u4E2A\u7AD9\u70B9\uFF0C\u57DF\u540D\u586B\u5199\u516C\u5F00\u8BBF\u95EE\u57DF\u540D\uFF0C\u5982 \u201Chttp://cdn.example.com\u201C \uFF0C\u7136\u540E\u70B9\u51FB\u201C\u8BBE\u7F6E\u201D\u8FDB\u5165\u7AD9\u70B9\u8BBE\u7F6E\u9009\u9879\uFF0C\u9009\u62E9\u201C\u53CD\u5411\u4EE3\u7406\u201D - \u201C\u65B0\u5EFA\u53CD\u5411\u4EE3\u7406\u201D

  • \u81EA\u5B9A\u4E49\u4E00\u4E2A\u4EE3\u7406\u540D\u79F0\uFF0C\u5728\u4E0B\u65B9\u201C\u76EE\u6807URL\u201D\u4E2D\u586B\u5165 http://127.0.0.1 \u7136\u540E\u70B9\u51FB\u201C\u4FDD\u5B58\u201D

  • \u6253\u5F00\u521A\u521A\u65B0\u5EFA\u7684\u53CD\u5411\u4EE3\u7406\u53F3\u8FB9\u7684\u201C\u914D\u7F6E\u6587\u4EF6\u201D\uFF0C\u5C06\u914D\u7F6E\u6587\u4EF6\u66FF\u6362\u4E3A\u4EE5\u4E0B\u5185\u5BB9\uFF1A

#PROXY-START/
diff --git a/assets/en_US_guide_dashboard.md.0bf2ca44.lean.js b/assets/en_US_guide_dashboard.md.c29d4037.lean.js
similarity index 92%
rename from assets/en_US_guide_dashboard.md.0bf2ca44.lean.js
rename to assets/en_US_guide_dashboard.md.c29d4037.lean.js
index 805e2075..82196071 100644
--- a/assets/en_US_guide_dashboard.md.0bf2ca44.lean.js
+++ b/assets/en_US_guide_dashboard.md.c29d4037.lean.js
@@ -1 +1 @@
-import{_ as e,c as a,o as n,d as t}from"./app.c4507667.js";const k='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":3,"title":"Preparations","slug":"preparations"},{"level":3,"title":"\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5","slug":"\u83B7\u53D6github\u7684client-id\u548C\u5BC6\u94A5"},{"level":3,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5dashboard"},{"level":3,"title":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406","slug":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},{"level":3,"title":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6ESSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6Essl"}],"relativePath":"en_US/guide/dashboard.md"}',s={},o=t("",32),r=[o];function p(l,c,i,d,h,u){return n(),a("div",null,r)}var m=e(s,[["render",p]]);export{k as __pageData,m as default};
+import{_ as e,c as a,o as n,d as t}from"./app.2c402e15.js";const k='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":3,"title":"Preparations","slug":"preparations"},{"level":3,"title":"\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5","slug":"\u83B7\u53D6github\u7684client-id\u548C\u5BC6\u94A5"},{"level":3,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5dashboard"},{"level":3,"title":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406","slug":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},{"level":3,"title":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6ESSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6Essl"}],"relativePath":"en_US/guide/dashboard.md"}',s={},o=t("",32),r=[o];function p(l,c,i,d,h,u){return n(),a("div",null,r)}var m=e(s,[["render",p]]);export{k as __pageData,m as default};
diff --git a/assets/en_US_guide_dashboardq.md.99b53368.js b/assets/en_US_guide_dashboardq.md.12f00603.js
similarity index 85%
rename from assets/en_US_guide_dashboardq.md.99b53368.js
rename to assets/en_US_guide_dashboardq.md.12f00603.js
index c220a571..be71104a 100644
--- a/assets/en_US_guide_dashboardq.md.99b53368.js
+++ b/assets/en_US_guide_dashboardq.md.12f00603.js
@@ -1 +1 @@
-import{_ as e,c as t,o as r,a,b as o}from"./app.c4507667.js";const u='{"title":"Dashboard","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md"}',s={},d=a("h1",{id:"dashboard",tabindex:"-1"},[o("Dashboard "),a("a",{class:"header-anchor",href:"#dashboard","aria-hidden":"true"},"#")],-1),c=[d];function n(h,i,_,p,l,b){return r(),t("div",null,c)}var m=e(s,[["render",n]]);export{u as __pageData,m as default};
+import{_ as e,c as t,o as r,a,b as o}from"./app.2c402e15.js";const u='{"title":"Dashboard","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md"}',s={},d=a("h1",{id:"dashboard",tabindex:"-1"},[o("Dashboard "),a("a",{class:"header-anchor",href:"#dashboard","aria-hidden":"true"},"#")],-1),c=[d];function n(h,i,_,p,l,b){return r(),t("div",null,c)}var m=e(s,[["render",n]]);export{u as __pageData,m as default};
diff --git a/assets/en_US_guide_dashboardq.md.99b53368.lean.js b/assets/en_US_guide_dashboardq.md.12f00603.lean.js
similarity index 85%
rename from assets/en_US_guide_dashboardq.md.99b53368.lean.js
rename to assets/en_US_guide_dashboardq.md.12f00603.lean.js
index c220a571..be71104a 100644
--- a/assets/en_US_guide_dashboardq.md.99b53368.lean.js
+++ b/assets/en_US_guide_dashboardq.md.12f00603.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as r,a,b as o}from"./app.c4507667.js";const u='{"title":"Dashboard","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md"}',s={},d=a("h1",{id:"dashboard",tabindex:"-1"},[o("Dashboard "),a("a",{class:"header-anchor",href:"#dashboard","aria-hidden":"true"},"#")],-1),c=[d];function n(h,i,_,p,l,b){return r(),t("div",null,c)}var m=e(s,[["render",n]]);export{u as __pageData,m as default};
+import{_ as e,c as t,o as r,a,b as o}from"./app.2c402e15.js";const u='{"title":"Dashboard","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md"}',s={},d=a("h1",{id:"dashboard",tabindex:"-1"},[o("Dashboard "),a("a",{class:"header-anchor",href:"#dashboard","aria-hidden":"true"},"#")],-1),c=[d];function n(h,i,_,p,l,b){return r(),t("div",null,c)}var m=e(s,[["render",n]]);export{u as __pageData,m as default};
diff --git a/assets/en_US_guide_loginq.md.945237bb.js b/assets/en_US_guide_loginq.md.fccba1cc.js
similarity index 84%
rename from assets/en_US_guide_loginq.md.945237bb.js
rename to assets/en_US_guide_loginq.md.fccba1cc.js
index b70dc81d..03eba6b8 100644
--- a/assets/en_US_guide_loginq.md.945237bb.js
+++ b/assets/en_US_guide_loginq.md.fccba1cc.js
@@ -1 +1 @@
-import{_ as t,c as a,o,a as e,b as n}from"./app.c4507667.js";const u='{"title":"Login","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/loginq.md"}',r={},s=e("h1",{id:"login",tabindex:"-1"},[n("Login "),e("a",{class:"header-anchor",href:"#login","aria-hidden":"true"},"#")],-1),i=[s];function c(d,_,l,h,p,f){return o(),a("div",null,i)}var m=t(r,[["render",c]]);export{u as __pageData,m as default};
+import{_ as t,c as a,o,a as e,b as n}from"./app.2c402e15.js";const u='{"title":"Login","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/loginq.md"}',r={},s=e("h1",{id:"login",tabindex:"-1"},[n("Login "),e("a",{class:"header-anchor",href:"#login","aria-hidden":"true"},"#")],-1),i=[s];function c(d,_,l,h,p,f){return o(),a("div",null,i)}var m=t(r,[["render",c]]);export{u as __pageData,m as default};
diff --git a/assets/en_US_guide_loginq.md.945237bb.lean.js b/assets/en_US_guide_loginq.md.fccba1cc.lean.js
similarity index 84%
rename from assets/en_US_guide_loginq.md.945237bb.lean.js
rename to assets/en_US_guide_loginq.md.fccba1cc.lean.js
index b70dc81d..03eba6b8 100644
--- a/assets/en_US_guide_loginq.md.945237bb.lean.js
+++ b/assets/en_US_guide_loginq.md.fccba1cc.lean.js
@@ -1 +1 @@
-import{_ as t,c as a,o,a as e,b as n}from"./app.c4507667.js";const u='{"title":"Login","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/loginq.md"}',r={},s=e("h1",{id:"login",tabindex:"-1"},[n("Login "),e("a",{class:"header-anchor",href:"#login","aria-hidden":"true"},"#")],-1),i=[s];function c(d,_,l,h,p,f){return o(),a("div",null,i)}var m=t(r,[["render",c]]);export{u as __pageData,m as default};
+import{_ as t,c as a,o,a as e,b as n}from"./app.2c402e15.js";const u='{"title":"Login","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/loginq.md"}',r={},s=e("h1",{id:"login",tabindex:"-1"},[n("Login "),e("a",{class:"header-anchor",href:"#login","aria-hidden":"true"},"#")],-1),i=[s];function c(d,_,l,h,p,f){return o(),a("div",null,i)}var m=t(r,[["render",c]]);export{u as __pageData,m as default};
diff --git a/assets/en_US_guide_notifications.md.280c2697.js b/assets/en_US_guide_notifications.md.b30d610e.js
similarity index 80%
rename from assets/en_US_guide_notifications.md.280c2697.js
rename to assets/en_US_guide_notifications.md.b30d610e.js
index 7ef396d3..8ff22b1d 100644
--- a/assets/en_US_guide_notifications.md.280c2697.js
+++ b/assets/en_US_guide_notifications.md.b30d610e.js
@@ -1 +1 @@
-import{_ as t,c as e,o,a}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/notifications.md"}',n={},s=a("p",null,"notifications",-1),i=[s];function c(r,_,d,p,f,l){return o(),e("div",null,i)}var h=t(n,[["render",c]]);export{m as __pageData,h as default};
+import{_ as t,c as e,o,a}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/notifications.md"}',n={},s=a("p",null,"notifications",-1),i=[s];function c(r,_,d,p,f,l){return o(),e("div",null,i)}var h=t(n,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_notifications.md.280c2697.lean.js b/assets/en_US_guide_notifications.md.b30d610e.lean.js
similarity index 80%
rename from assets/en_US_guide_notifications.md.280c2697.lean.js
rename to assets/en_US_guide_notifications.md.b30d610e.lean.js
index 7ef396d3..8ff22b1d 100644
--- a/assets/en_US_guide_notifications.md.280c2697.lean.js
+++ b/assets/en_US_guide_notifications.md.b30d610e.lean.js
@@ -1 +1 @@
-import{_ as t,c as e,o,a}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/notifications.md"}',n={},s=a("p",null,"notifications",-1),i=[s];function c(r,_,d,p,f,l){return o(),e("div",null,i)}var h=t(n,[["render",c]]);export{m as __pageData,h as default};
+import{_ as t,c as e,o,a}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/notifications.md"}',n={},s=a("p",null,"notifications",-1),i=[s];function c(r,_,d,p,f,l){return o(),e("div",null,i)}var h=t(n,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_q2.md.c15bc9a4.js b/assets/en_US_guide_q2.md.d1c860d2.js
similarity index 79%
rename from assets/en_US_guide_q2.md.c15bc9a4.js
rename to assets/en_US_guide_q2.md.d1c860d2.js
index aaabddde..77d4fdd1 100644
--- a/assets/en_US_guide_q2.md.c15bc9a4.js
+++ b/assets/en_US_guide_q2.md.d1c860d2.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md"}',s={},r=o("p",null,"q2",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md"}',s={},r=o("p",null,"q2",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_q2.md.c15bc9a4.lean.js b/assets/en_US_guide_q2.md.d1c860d2.lean.js
similarity index 79%
rename from assets/en_US_guide_q2.md.c15bc9a4.lean.js
rename to assets/en_US_guide_q2.md.d1c860d2.lean.js
index aaabddde..77d4fdd1 100644
--- a/assets/en_US_guide_q2.md.c15bc9a4.lean.js
+++ b/assets/en_US_guide_q2.md.d1c860d2.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md"}',s={},r=o("p",null,"q2",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md"}',s={},r=o("p",null,"q2",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_q3.md.93e05e12.js b/assets/en_US_guide_q3.md.4782ed4a.js
similarity index 79%
rename from assets/en_US_guide_q3.md.93e05e12.js
rename to assets/en_US_guide_q3.md.4782ed4a.js
index 8e1d4c3a..3d4703e4 100644
--- a/assets/en_US_guide_q3.md.93e05e12.js
+++ b/assets/en_US_guide_q3.md.4782ed4a.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md"}',s={},r=o("p",null,"q3",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md"}',s={},r=o("p",null,"q3",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_q3.md.93e05e12.lean.js b/assets/en_US_guide_q3.md.4782ed4a.lean.js
similarity index 79%
rename from assets/en_US_guide_q3.md.93e05e12.lean.js
rename to assets/en_US_guide_q3.md.4782ed4a.lean.js
index 8e1d4c3a..3d4703e4 100644
--- a/assets/en_US_guide_q3.md.93e05e12.lean.js
+++ b/assets/en_US_guide_q3.md.4782ed4a.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md"}',s={},r=o("p",null,"q3",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md"}',s={},r=o("p",null,"q3",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_q4.md.0892e7df.js b/assets/en_US_guide_q4.md.21280a24.js
similarity index 79%
rename from assets/en_US_guide_q4.md.0892e7df.js
rename to assets/en_US_guide_q4.md.21280a24.js
index e2b2fb11..246ab6c4 100644
--- a/assets/en_US_guide_q4.md.0892e7df.js
+++ b/assets/en_US_guide_q4.md.21280a24.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md"}',s={},r=o("p",null,"q4",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md"}',s={},r=o("p",null,"q4",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_q4.md.0892e7df.lean.js b/assets/en_US_guide_q4.md.21280a24.lean.js
similarity index 79%
rename from assets/en_US_guide_q4.md.0892e7df.lean.js
rename to assets/en_US_guide_q4.md.21280a24.lean.js
index e2b2fb11..246ab6c4 100644
--- a/assets/en_US_guide_q4.md.0892e7df.lean.js
+++ b/assets/en_US_guide_q4.md.21280a24.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md"}',s={},r=o("p",null,"q4",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md"}',s={},r=o("p",null,"q4",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_q5.md.b96b2d8e.js b/assets/en_US_guide_q5.md.410e46a9.js
similarity index 79%
rename from assets/en_US_guide_q5.md.b96b2d8e.js
rename to assets/en_US_guide_q5.md.410e46a9.js
index 5861a4e5..d7f6585a 100644
--- a/assets/en_US_guide_q5.md.b96b2d8e.js
+++ b/assets/en_US_guide_q5.md.410e46a9.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md"}',s={},r=o("p",null,"q5",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md"}',s={},r=o("p",null,"q5",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_q5.md.b96b2d8e.lean.js b/assets/en_US_guide_q5.md.410e46a9.lean.js
similarity index 79%
rename from assets/en_US_guide_q5.md.b96b2d8e.lean.js
rename to assets/en_US_guide_q5.md.410e46a9.lean.js
index 5861a4e5..d7f6585a 100644
--- a/assets/en_US_guide_q5.md.b96b2d8e.lean.js
+++ b/assets/en_US_guide_q5.md.410e46a9.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md"}',s={},r=o("p",null,"q5",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md"}',s={},r=o("p",null,"q5",-1),n=[r];function c(_,d,i,p,l,f){return a(),t("div",null,n)}var h=e(s,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_servers.md.401f32ee.js b/assets/en_US_guide_servers.md.c9b36fe3.js
similarity index 80%
rename from assets/en_US_guide_servers.md.401f32ee.js
rename to assets/en_US_guide_servers.md.c9b36fe3.js
index b8f897c7..cfc407d8 100644
--- a/assets/en_US_guide_servers.md.401f32ee.js
+++ b/assets/en_US_guide_servers.md.c9b36fe3.js
@@ -1 +1 @@
-import{_ as e,c as t,o as s,a as r}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/servers.md"}',a={},o=r("p",null,"servers",-1),n=[o];function c(_,d,i,p,l,f){return s(),t("div",null,n)}var v=e(a,[["render",c]]);export{m as __pageData,v as default};
+import{_ as e,c as t,o as s,a as r}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/servers.md"}',a={},o=r("p",null,"servers",-1),n=[o];function c(_,d,i,p,l,f){return s(),t("div",null,n)}var v=e(a,[["render",c]]);export{m as __pageData,v as default};
diff --git a/assets/en_US_guide_servers.md.401f32ee.lean.js b/assets/en_US_guide_servers.md.c9b36fe3.lean.js
similarity index 80%
rename from assets/en_US_guide_servers.md.401f32ee.lean.js
rename to assets/en_US_guide_servers.md.c9b36fe3.lean.js
index b8f897c7..cfc407d8 100644
--- a/assets/en_US_guide_servers.md.401f32ee.lean.js
+++ b/assets/en_US_guide_servers.md.c9b36fe3.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as s,a as r}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/servers.md"}',a={},o=r("p",null,"servers",-1),n=[o];function c(_,d,i,p,l,f){return s(),t("div",null,n)}var v=e(a,[["render",c]]);export{m as __pageData,v as default};
+import{_ as e,c as t,o as s,a as r}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/servers.md"}',a={},o=r("p",null,"servers",-1),n=[o];function c(_,d,i,p,l,f){return s(),t("div",null,n)}var v=e(a,[["render",c]]);export{m as __pageData,v as default};
diff --git a/assets/en_US_guide_services.md.b1e41ea5.js b/assets/en_US_guide_services.md.facaeeed.js
similarity index 79%
rename from assets/en_US_guide_services.md.b1e41ea5.js
rename to assets/en_US_guide_services.md.facaeeed.js
index 71d47f5e..1c36937c 100644
--- a/assets/en_US_guide_services.md.b1e41ea5.js
+++ b/assets/en_US_guide_services.md.facaeeed.js
@@ -1 +1 @@
-import{_ as e,c as t,o as s,a}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/services.md"}',r={},o=a("p",null,"services",-1),c=[o];function n(_,i,d,p,l,f){return s(),t("div",null,c)}var v=e(r,[["render",n]]);export{m as __pageData,v as default};
+import{_ as e,c as t,o as s,a}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/services.md"}',r={},o=a("p",null,"services",-1),c=[o];function n(_,i,d,p,l,f){return s(),t("div",null,c)}var v=e(r,[["render",n]]);export{m as __pageData,v as default};
diff --git a/assets/en_US_guide_services.md.b1e41ea5.lean.js b/assets/en_US_guide_services.md.facaeeed.lean.js
similarity index 79%
rename from assets/en_US_guide_services.md.b1e41ea5.lean.js
rename to assets/en_US_guide_services.md.facaeeed.lean.js
index 71d47f5e..1c36937c 100644
--- a/assets/en_US_guide_services.md.b1e41ea5.lean.js
+++ b/assets/en_US_guide_services.md.facaeeed.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as s,a}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/services.md"}',r={},o=a("p",null,"services",-1),c=[o];function n(_,i,d,p,l,f){return s(),t("div",null,c)}var v=e(r,[["render",n]]);export{m as __pageData,v as default};
+import{_ as e,c as t,o as s,a}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/services.md"}',r={},o=a("p",null,"services",-1),c=[o];function n(_,i,d,p,l,f){return s(),t("div",null,c)}var v=e(r,[["render",n]]);export{m as __pageData,v as default};
diff --git a/assets/en_US_guide_settings.md.edd538ab.js b/assets/en_US_guide_settings.md.aac5fc45.js
similarity index 79%
rename from assets/en_US_guide_settings.md.edd538ab.js
rename to assets/en_US_guide_settings.md.aac5fc45.js
index 1d111495..5ad20499 100644
--- a/assets/en_US_guide_settings.md.edd538ab.js
+++ b/assets/en_US_guide_settings.md.aac5fc45.js
@@ -1 +1 @@
-import{_ as e,c as t,o as s,a}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/settings.md"}',n={},o=a("p",null,"settings",-1),r=[o];function c(_,i,d,p,l,f){return s(),t("div",null,r)}var g=e(n,[["render",c]]);export{m as __pageData,g as default};
+import{_ as e,c as t,o as s,a}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/settings.md"}',n={},o=a("p",null,"settings",-1),r=[o];function c(_,i,d,p,l,f){return s(),t("div",null,r)}var g=e(n,[["render",c]]);export{m as __pageData,g as default};
diff --git a/assets/en_US_guide_settings.md.edd538ab.lean.js b/assets/en_US_guide_settings.md.aac5fc45.lean.js
similarity index 79%
rename from assets/en_US_guide_settings.md.edd538ab.lean.js
rename to assets/en_US_guide_settings.md.aac5fc45.lean.js
index 1d111495..5ad20499 100644
--- a/assets/en_US_guide_settings.md.edd538ab.lean.js
+++ b/assets/en_US_guide_settings.md.aac5fc45.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as s,a}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/settings.md"}',n={},o=a("p",null,"settings",-1),r=[o];function c(_,i,d,p,l,f){return s(),t("div",null,r)}var g=e(n,[["render",c]]);export{m as __pageData,g as default};
+import{_ as e,c as t,o as s,a}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/settings.md"}',n={},o=a("p",null,"settings",-1),r=[o];function c(_,i,d,p,l,f){return s(),t("div",null,r)}var g=e(n,[["render",c]]);export{m as __pageData,g as default};
diff --git a/assets/en_US_guide_tasks.md.7f4e7704.js b/assets/en_US_guide_tasks.md.c5036e0b.js
similarity index 79%
rename from assets/en_US_guide_tasks.md.7f4e7704.js
rename to assets/en_US_guide_tasks.md.c5036e0b.js
index 343736b7..591f4c1f 100644
--- a/assets/en_US_guide_tasks.md.7f4e7704.js
+++ b/assets/en_US_guide_tasks.md.c5036e0b.js
@@ -1 +1 @@
-import{_ as e,c as t,o as s,a}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/tasks.md"}',o={},r=a("p",null,"tasks",-1),n=[r];function c(_,d,i,p,l,f){return s(),t("div",null,n)}var h=e(o,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as s,a}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/tasks.md"}',o={},r=a("p",null,"tasks",-1),n=[r];function c(_,d,i,p,l,f){return s(),t("div",null,n)}var h=e(o,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_guide_tasks.md.7f4e7704.lean.js b/assets/en_US_guide_tasks.md.c5036e0b.lean.js
similarity index 79%
rename from assets/en_US_guide_tasks.md.7f4e7704.lean.js
rename to assets/en_US_guide_tasks.md.c5036e0b.lean.js
index 343736b7..591f4c1f 100644
--- a/assets/en_US_guide_tasks.md.7f4e7704.lean.js
+++ b/assets/en_US_guide_tasks.md.c5036e0b.lean.js
@@ -1 +1 @@
-import{_ as e,c as t,o as s,a}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/tasks.md"}',o={},r=a("p",null,"tasks",-1),n=[r];function c(_,d,i,p,l,f){return s(),t("div",null,n)}var h=e(o,[["render",c]]);export{m as __pageData,h as default};
+import{_ as e,c as t,o as s,a}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/tasks.md"}',o={},r=a("p",null,"tasks",-1),n=[r];function c(_,d,i,p,l,f){return s(),t("div",null,n)}var h=e(o,[["render",c]]);export{m as __pageData,h as default};
diff --git a/assets/en_US_index.md.e0eca8f3.js b/assets/en_US_index.md.c8719a21.js
similarity index 95%
rename from assets/en_US_index.md.e0eca8f3.js
rename to assets/en_US_index.md.c8719a21.js
index 29cf475c..74b4cd00 100644
--- a/assets/en_US_index.md.e0eca8f3.js
+++ b/assets/en_US_index.md.c8719a21.js
@@ -1 +1 @@
-import{_ as o,c as a,o as n,a as e,b as t}from"./app.c4507667.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Nezha Monitoring","tagline":"A open source, lightweight server and website monitoring and O&M tool","actionText":"Learn More \u2192","actionLink":"/en_US/guide/dashboard","features":[{"title":"One-Click Installation","details":"Support use one-click script to install Dashboard and Agent services; Linux, WIndows, MacOS, OpenWRT and other mainstream systems are supported"},{"title":"Monitoring at any time","details":"Support monitoring the system status of multiple servers at the same time, support monitoring the status of web pages, ports, SSL certificates; support notifications in case of failure, out of data and other status. Support multiple notification methods (Telegram, email, WeChat, etc.)"},{"title":"Lightweight O&M tool","details":"Support WebSSH, support cyclic monitoring data, support setting scheduled tasks and running command on multiple servers"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/index.md"}',s={},i=e("p",null,[e("br"),t("This work is licensed under a "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"),t(".")],-1),r=[i];function c(l,p,d,m,u,h){return n(),a("div",null,r)}var _=o(s,[["render",c]]);export{f as __pageData,_ as default};
+import{_ as o,c as a,o as n,a as e,b as t}from"./app.2c402e15.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Nezha Monitoring","tagline":"A open source, lightweight server and website monitoring and O&M tool","actionText":"Learn More \u2192","actionLink":"/en_US/guide/dashboard","features":[{"title":"One-Click Installation","details":"Support use one-click script to install Dashboard and Agent services; Linux, WIndows, MacOS, OpenWRT and other mainstream systems are supported"},{"title":"Monitoring at any time","details":"Support monitoring the system status of multiple servers at the same time, support monitoring the status of web pages, ports, SSL certificates; support notifications in case of failure, out of data and other status. Support multiple notification methods (Telegram, email, WeChat, etc.)"},{"title":"Lightweight O&M tool","details":"Support WebSSH, support cyclic monitoring data, support setting scheduled tasks and running command on multiple servers"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/index.md"}',s={},i=e("p",null,[e("br"),t("This work is licensed under a "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"),t(".")],-1),r=[i];function c(l,p,d,m,u,h){return n(),a("div",null,r)}var _=o(s,[["render",c]]);export{f as __pageData,_ as default};
diff --git a/assets/en_US_index.md.e0eca8f3.lean.js b/assets/en_US_index.md.c8719a21.lean.js
similarity index 95%
rename from assets/en_US_index.md.e0eca8f3.lean.js
rename to assets/en_US_index.md.c8719a21.lean.js
index 29cf475c..74b4cd00 100644
--- a/assets/en_US_index.md.e0eca8f3.lean.js
+++ b/assets/en_US_index.md.c8719a21.lean.js
@@ -1 +1 @@
-import{_ as o,c as a,o as n,a as e,b as t}from"./app.c4507667.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Nezha Monitoring","tagline":"A open source, lightweight server and website monitoring and O&M tool","actionText":"Learn More \u2192","actionLink":"/en_US/guide/dashboard","features":[{"title":"One-Click Installation","details":"Support use one-click script to install Dashboard and Agent services; Linux, WIndows, MacOS, OpenWRT and other mainstream systems are supported"},{"title":"Monitoring at any time","details":"Support monitoring the system status of multiple servers at the same time, support monitoring the status of web pages, ports, SSL certificates; support notifications in case of failure, out of data and other status. Support multiple notification methods (Telegram, email, WeChat, etc.)"},{"title":"Lightweight O&M tool","details":"Support WebSSH, support cyclic monitoring data, support setting scheduled tasks and running command on multiple servers"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/index.md"}',s={},i=e("p",null,[e("br"),t("This work is licensed under a "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"),t(".")],-1),r=[i];function c(l,p,d,m,u,h){return n(),a("div",null,r)}var _=o(s,[["render",c]]);export{f as __pageData,_ as default};
+import{_ as o,c as a,o as n,a as e,b as t}from"./app.2c402e15.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Nezha Monitoring","tagline":"A open source, lightweight server and website monitoring and O&M tool","actionText":"Learn More \u2192","actionLink":"/en_US/guide/dashboard","features":[{"title":"One-Click Installation","details":"Support use one-click script to install Dashboard and Agent services; Linux, WIndows, MacOS, OpenWRT and other mainstream systems are supported"},{"title":"Monitoring at any time","details":"Support monitoring the system status of multiple servers at the same time, support monitoring the status of web pages, ports, SSL certificates; support notifications in case of failure, out of data and other status. Support multiple notification methods (Telegram, email, WeChat, etc.)"},{"title":"Lightweight O&M tool","details":"Support WebSSH, support cyclic monitoring data, support setting scheduled tasks and running command on multiple servers"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/index.md"}',s={},i=e("p",null,[e("br"),t("This work is licensed under a "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License"),t(".")],-1),r=[i];function c(l,p,d,m,u,h){return n(),a("div",null,r)}var _=o(s,[["render",c]]);export{f as __pageData,_ as default};
diff --git a/assets/guide_agent.md.7db609ee.js b/assets/guide_agent.md.b2c70861.js
similarity index 99%
rename from assets/guide_agent.md.7db609ee.js
rename to assets/guide_agent.md.b2c70861.js
index 2b2f9f54..18d19fe5 100644
--- a/assets/guide_agent.md.7db609ee.js
+++ b/assets/guide_agent.md.b2c70861.js
@@ -1,4 +1,4 @@
-import{_ as e,c as n,o as a,d as t}from"./app.c4507667.js";const b='{"title":"\u4E00\u952E\u5B89\u88C5Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5Agent","slug":"\u4E00\u952E\u5B89\u88C5agent"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"Linux\u4E00\u952E\u5B89\u88C5","slug":"linux\u4E00\u952E\u5B89\u88C5"},{"level":3,"title":"Windows\u4E00\u952E\u5B89\u88C5","slug":"windows\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent"},{"level":3,"title":"Linux\u5B89\u88C5Agent","slug":"linux\u5B89\u88C5agent"},{"level":3,"title":"Windows\u5B89\u88C5Agent","slug":"windows\u5B89\u88C5agent"},{"level":3,"title":"OpenWRT\u5B89\u88C5Agent","slug":"openwrt\u5B89\u88C5agent"},{"level":2,"title":"\u81EA\u5B9A\u4E49Agent\u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE"}],"relativePath":"guide/agent.md"}',s={},o=t(`

\u54EA\u5412\u76D1\u63A7\u7684\u88AB\u63A7\u7AEF\u670D\u52A1\u88AB\u79F0\u4E3AAgent\uFF0C\u672C\u6587\u6863\u5C06\u4ECB\u7ECD\u5982\u4F55\u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E0A\u5B89\u88C5Agent\uFF0C\u5E76\u4E0EDashboard\u8FDE\u63A5

\u4E00\u952E\u5B89\u88C5Agent

\u76EE\u524D\u54EA\u5412\u76D1\u63A7\u5DF2\u652F\u6301\u5728WIndows\u548CLinux\u4E0A\u4E00\u952E\u5B89\u88C5Agent\uFF0C\u9075\u5FAA\u672C\u6587\u6863\u7684\u6B65\u9AA4\uFF0C\u4F60\u53EF\u4EE5\u5F88\u8F7B\u677E\u7684\u5728\u670D\u52A1\u5668\u4E0A\u90E8\u7F72\u5B83

\u51C6\u5907\u5DE5\u4F5C

\u4F60\u9700\u8981\u63D0\u524D\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u8BBE\u7F6E\u597D\u901A\u4FE1\u57DF\u540D\uFF0C\u6B64\u57DF\u540D\u4E0D\u53EF\u4EE5\u63A5\u5165CDN\uFF0C\u8FD9\u91CC\u4EE5\u524D\u9762\u63D0\u5230\u8FC7\u7684\u793A\u4F8B\u901A\u4FE1\u57DF\u540D \u201Cdata.example.com\u201D \u6765\u505A\u6F14\u793A
\u8FDB\u5165\u540E\u53F0\u7BA1\u7406\u9762\u677F\uFF0C\u8F6C\u5230\u201C\u8BBE\u7F6E\u201D\u9875\uFF0C\u5728\u201C\u672A\u63A5\u5165CDN\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D/IP\u201D\u9879\u4E2D\u586B\u5165\u901A\u4FE1\u57DF\u540D\uFF0C\u7136\u540E\u70B9\u51FB"\u4FDD\u5B58"

Linux\u4E00\u952E\u5B89\u88C5

  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684Linux\u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4
  • \u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E2D\u8FD0\u884C\u590D\u5236\u7684\u4E00\u952E\u5B89\u88C5\u547D\u4EE4\uFF0C\u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DE\u5230Dashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF

Windows\u4E00\u952E\u5B89\u88C5

  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684Windows\u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4
  • \u8FDB\u5165Windows\u670D\u52A1\u5668\uFF0C\u8FD0\u884CPowerShell\uFF0C\u5728PowerShell\u4E2D\u8FD0\u884C\u590D\u5236\u7684\u5B89\u88C5\u547D\u4EE4
  • \u5982\u9047\u5230\u786E\u8BA4\u300C\u6267\u884C\u7B56\u7565\u53D8\u66F4\u300D\u8BF7\u9009\u62E9 Y
  • \u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DEDashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF



\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent

Linux\u5B89\u88C5Agent

  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u5728\u88AB\u63A7\u670D\u52A1\u5668\u4E2D\uFF0C\u8FD0\u884C\u811A\u672C\uFF08\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\u7684\u670D\u52A1\u5668\u8BF7\u4F7F\u7528\u955C\u50CF\uFF09\uFF1A
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
+import{_ as e,c as n,o as a,d as t}from"./app.2c402e15.js";const b='{"title":"\u4E00\u952E\u5B89\u88C5Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5Agent","slug":"\u4E00\u952E\u5B89\u88C5agent"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"Linux\u4E00\u952E\u5B89\u88C5","slug":"linux\u4E00\u952E\u5B89\u88C5"},{"level":3,"title":"Windows\u4E00\u952E\u5B89\u88C5","slug":"windows\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent"},{"level":3,"title":"Linux\u5B89\u88C5Agent","slug":"linux\u5B89\u88C5agent"},{"level":3,"title":"Windows\u5B89\u88C5Agent","slug":"windows\u5B89\u88C5agent"},{"level":3,"title":"OpenWRT\u5B89\u88C5Agent","slug":"openwrt\u5B89\u88C5agent"},{"level":2,"title":"\u81EA\u5B9A\u4E49Agent\u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE"}],"relativePath":"guide/agent.md"}',s={},o=t(`

\u54EA\u5412\u76D1\u63A7\u7684\u88AB\u63A7\u7AEF\u670D\u52A1\u88AB\u79F0\u4E3AAgent\uFF0C\u672C\u6587\u6863\u5C06\u4ECB\u7ECD\u5982\u4F55\u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E0A\u5B89\u88C5Agent\uFF0C\u5E76\u4E0EDashboard\u8FDE\u63A5

\u4E00\u952E\u5B89\u88C5Agent

\u76EE\u524D\u54EA\u5412\u76D1\u63A7\u5DF2\u652F\u6301\u5728WIndows\u548CLinux\u4E0A\u4E00\u952E\u5B89\u88C5Agent\uFF0C\u9075\u5FAA\u672C\u6587\u6863\u7684\u6B65\u9AA4\uFF0C\u4F60\u53EF\u4EE5\u5F88\u8F7B\u677E\u7684\u5728\u670D\u52A1\u5668\u4E0A\u90E8\u7F72\u5B83

\u51C6\u5907\u5DE5\u4F5C

\u4F60\u9700\u8981\u63D0\u524D\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u8BBE\u7F6E\u597D\u901A\u4FE1\u57DF\u540D\uFF0C\u6B64\u57DF\u540D\u4E0D\u53EF\u4EE5\u63A5\u5165CDN\uFF0C\u8FD9\u91CC\u4EE5\u524D\u9762\u63D0\u5230\u8FC7\u7684\u793A\u4F8B\u901A\u4FE1\u57DF\u540D \u201Cdata.example.com\u201D \u6765\u505A\u6F14\u793A
\u8FDB\u5165\u540E\u53F0\u7BA1\u7406\u9762\u677F\uFF0C\u8F6C\u5230\u201C\u8BBE\u7F6E\u201D\u9875\uFF0C\u5728\u201C\u672A\u63A5\u5165CDN\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D/IP\u201D\u9879\u4E2D\u586B\u5165\u901A\u4FE1\u57DF\u540D\uFF0C\u7136\u540E\u70B9\u51FB"\u4FDD\u5B58"

Linux\u4E00\u952E\u5B89\u88C5

  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684Linux\u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4
  • \u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E2D\u8FD0\u884C\u590D\u5236\u7684\u4E00\u952E\u5B89\u88C5\u547D\u4EE4\uFF0C\u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DE\u5230Dashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF

Windows\u4E00\u952E\u5B89\u88C5

  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684Windows\u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4
  • \u8FDB\u5165Windows\u670D\u52A1\u5668\uFF0C\u8FD0\u884CPowerShell\uFF0C\u5728PowerShell\u4E2D\u8FD0\u884C\u590D\u5236\u7684\u5B89\u88C5\u547D\u4EE4
  • \u5982\u9047\u5230\u786E\u8BA4\u300C\u6267\u884C\u7B56\u7565\u53D8\u66F4\u300D\u8BF7\u9009\u62E9 Y
  • \u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DEDashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF



\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent

Linux\u5B89\u88C5Agent

  • \u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668
  • \u5728\u88AB\u63A7\u670D\u52A1\u5668\u4E2D\uFF0C\u8FD0\u884C\u811A\u672C\uFF08\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\u7684\u670D\u52A1\u5668\u8BF7\u4F7F\u7528\u955C\u50CF\uFF09\uFF1A
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
 
 
  • \u9009\u62E9\u201C\u5B89\u88C5\u76D1\u63A7Agent\u201D
  • \u8F93\u5165\u901A\u4FE1\u57DF\u540D\uFF0C\u5982\uFF1A\u201Ddata.example.com\u201C
  • \u8F93\u5165\u9762\u677F\u901A\u4FE1\u7AEF\u53E3\uFF08RPC\u7AEF\u53E3\uFF09\uFF0C\u9ED8\u8BA4\u4E3A5555
  • \u8F93\u5165Agent\u5BC6\u94A5\uFF0CAgent\u5BC6\u94A5\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u670D\u52A1\u5668\u65F6\u751F\u6210\uFF0C\u53EF\u4EE5\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u7684\u201C\u4E3B\u673A\u201D\u9875\u4E2D\u627E\u5230
  • \u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DEDashboard\u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF

Windows\u5B89\u88C5Agent

OpenWRT\u5B89\u88C5Agent

\u5982\u4F55\u4F7F \u65E7\u7248OpenWRT/LEDE \u81EA\u542F\u52A8

\u5982\u4F55\u4F7F \u65B0\u7248OpenWRT \u81EA\u542F\u52A8\uFF1F\u6765\u81EA @\u827E\u65AF\u5FB7\u65AF

  • \u9996\u5148\u5728 release \u4E0B\u8F7D\u5BF9\u5E94\u7684\u4E8C\u8FDB\u5236\u89E3\u538B zip \u5305\u540E\u653E\u7F6E\u5230 /root
  • \u8FD0\u884C chmod +x /root/nezha-agent \u8D4B\u4E88\u6267\u884C\u6743\u9650\uFF0C\u7136\u540E\u521B\u5EFA /etc/init.d/nezha-service\uFF1A
#!/bin/sh /etc/rc.common
 
diff --git a/assets/guide_agent.md.7db609ee.lean.js b/assets/guide_agent.md.b2c70861.lean.js
similarity index 94%
rename from assets/guide_agent.md.7db609ee.lean.js
rename to assets/guide_agent.md.b2c70861.lean.js
index 1992f71d..48b54a25 100644
--- a/assets/guide_agent.md.7db609ee.lean.js
+++ b/assets/guide_agent.md.b2c70861.lean.js
@@ -1 +1 @@
-import{_ as e,c as n,o as a,d as t}from"./app.c4507667.js";const b='{"title":"\u4E00\u952E\u5B89\u88C5Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5Agent","slug":"\u4E00\u952E\u5B89\u88C5agent"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"Linux\u4E00\u952E\u5B89\u88C5","slug":"linux\u4E00\u952E\u5B89\u88C5"},{"level":3,"title":"Windows\u4E00\u952E\u5B89\u88C5","slug":"windows\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent"},{"level":3,"title":"Linux\u5B89\u88C5Agent","slug":"linux\u5B89\u88C5agent"},{"level":3,"title":"Windows\u5B89\u88C5Agent","slug":"windows\u5B89\u88C5agent"},{"level":3,"title":"OpenWRT\u5B89\u88C5Agent","slug":"openwrt\u5B89\u88C5agent"},{"level":2,"title":"\u81EA\u5B9A\u4E49Agent\u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE"}],"relativePath":"guide/agent.md"}',s={},o=t("",29),i=[o];function l(r,c,p,d,h,u){return a(),n("div",null,i)}var m=e(s,[["render",l]]);export{b as __pageData,m as default};
+import{_ as e,c as n,o as a,d as t}from"./app.2c402e15.js";const b='{"title":"\u4E00\u952E\u5B89\u88C5Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5Agent","slug":"\u4E00\u952E\u5B89\u88C5agent"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"Linux\u4E00\u952E\u5B89\u88C5","slug":"linux\u4E00\u952E\u5B89\u88C5"},{"level":3,"title":"Windows\u4E00\u952E\u5B89\u88C5","slug":"windows\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent"},{"level":3,"title":"Linux\u5B89\u88C5Agent","slug":"linux\u5B89\u88C5agent"},{"level":3,"title":"Windows\u5B89\u88C5Agent","slug":"windows\u5B89\u88C5agent"},{"level":3,"title":"OpenWRT\u5B89\u88C5Agent","slug":"openwrt\u5B89\u88C5agent"},{"level":2,"title":"\u81EA\u5B9A\u4E49Agent\u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE"}],"relativePath":"guide/agent.md"}',s={},o=t("",29),i=[o];function l(r,c,p,d,h,u){return a(),n("div",null,i)}var m=e(s,[["render",l]]);export{b as __pageData,m as default};
diff --git a/assets/guide_agentq.md.47bf7431.js b/assets/guide_agentq.md.68fe01c8.js
similarity index 94%
rename from assets/guide_agentq.md.47bf7431.js
rename to assets/guide_agentq.md.68fe01c8.js
index 7629bf0f..fa6802d3 100644
--- a/assets/guide_agentq.md.47bf7431.js
+++ b/assets/guide_agentq.md.68fe01c8.js
@@ -1 +1 @@
-import{_ as e,c as a,o as t,d as n}from"./app.c4507667.js";const f='{"title":"Agent\u76F8\u5173","description":"","frontmatter":{},"headers":[{"level":3,"title":"\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F"}],"relativePath":"guide/agentq.md"}',r={},i=n('

Agent\u76F8\u5173

\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F

\u8BF7\u67E5\u770BDashboard\u76F8\u5173-\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F
\u5728\u6B64\u4E0D\u518D\u8D58\u8FF0\u3002

',3),d=[i];function _(s,o,c,h,p,g){return t(),a("div",null,d)}var u=e(r,[["render",_]]);export{f as __pageData,u as default}; +import{_ as e,c as a,o as t,d as n}from"./app.2c402e15.js";const f='{"title":"Agent\u76F8\u5173","description":"","frontmatter":{},"headers":[{"level":3,"title":"\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F"}],"relativePath":"guide/agentq.md"}',r={},i=n('

Agent\u76F8\u5173

\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F

\u8BF7\u67E5\u770BDashboard\u76F8\u5173-\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F
\u5728\u6B64\u4E0D\u518D\u8D58\u8FF0\u3002

',3),d=[i];function _(s,o,c,h,p,g){return t(),a("div",null,d)}var u=e(r,[["render",_]]);export{f as __pageData,u as default}; diff --git a/assets/guide_agentq.md.47bf7431.lean.js b/assets/guide_agentq.md.68fe01c8.lean.js similarity index 87% rename from assets/guide_agentq.md.47bf7431.lean.js rename to assets/guide_agentq.md.68fe01c8.lean.js index 0df9248c..1013864e 100644 --- a/assets/guide_agentq.md.47bf7431.lean.js +++ b/assets/guide_agentq.md.68fe01c8.lean.js @@ -1 +1 @@ -import{_ as e,c as a,o as t,d as n}from"./app.c4507667.js";const f='{"title":"Agent\u76F8\u5173","description":"","frontmatter":{},"headers":[{"level":3,"title":"\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F"}],"relativePath":"guide/agentq.md"}',r={},i=n("",3),d=[i];function _(s,o,c,h,p,g){return t(),a("div",null,d)}var u=e(r,[["render",_]]);export{f as __pageData,u as default}; +import{_ as e,c as a,o as t,d as n}from"./app.2c402e15.js";const f='{"title":"Agent\u76F8\u5173","description":"","frontmatter":{},"headers":[{"level":3,"title":"\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F"}],"relativePath":"guide/agentq.md"}',r={},i=n("",3),d=[i];function _(s,o,c,h,p,g){return t(),a("div",null,d)}var u=e(r,[["render",_]]);export{f as __pageData,u as default}; diff --git a/assets/guide_api.md.9c2693a4.js b/assets/guide_api.md.eadf9bb5.js similarity index 80% rename from assets/guide_api.md.9c2693a4.js rename to assets/guide_api.md.eadf9bb5.js index ef76c104..6f6a8463 100644 --- a/assets/guide_api.md.9c2693a4.js +++ b/assets/guide_api.md.eadf9bb5.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/api.md"}',s={},r=o("p",null,"\u656C\u8BF7\u671F\u5F85",-1),c=[r];function n(_,i,p,d,l,f){return a(),t("div",null,c)}var h=e(s,[["render",n]]);export{m as __pageData,h as default}; +import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/api.md"}',s={},r=o("p",null,"\u656C\u8BF7\u671F\u5F85",-1),c=[r];function n(_,i,p,d,l,f){return a(),t("div",null,c)}var h=e(s,[["render",n]]);export{m as __pageData,h as default}; diff --git a/assets/guide_api.md.9c2693a4.lean.js b/assets/guide_api.md.eadf9bb5.lean.js similarity index 80% rename from assets/guide_api.md.9c2693a4.lean.js rename to assets/guide_api.md.eadf9bb5.lean.js index ef76c104..6f6a8463 100644 --- a/assets/guide_api.md.9c2693a4.lean.js +++ b/assets/guide_api.md.eadf9bb5.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,a as o}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/api.md"}',s={},r=o("p",null,"\u656C\u8BF7\u671F\u5F85",-1),c=[r];function n(_,i,p,d,l,f){return a(),t("div",null,c)}var h=e(s,[["render",n]]);export{m as __pageData,h as default}; +import{_ as e,c as t,o as a,a as o}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/api.md"}',s={},r=o("p",null,"\u656C\u8BF7\u671F\u5F85",-1),c=[r];function n(_,i,p,d,l,f){return a(),t("div",null,c)}var h=e(s,[["render",n]]);export{m as __pageData,h as default}; diff --git a/assets/guide_dashboard.md.3c6ed851.js b/assets/guide_dashboard.md.a8a51b7a.js similarity index 99% rename from assets/guide_dashboard.md.3c6ed851.js rename to assets/guide_dashboard.md.a8a51b7a.js index d71fc734..38022f6f 100644 --- a/assets/guide_dashboard.md.3c6ed851.js +++ b/assets/guide_dashboard.md.a8a51b7a.js @@ -1,4 +1,4 @@ -import{_ as e,c as a,o as n,d as t}from"./app.c4507667.js";const k='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5","slug":"\u83B7\u53D6github\u7684client-id\u548C\u5BC6\u94A5"},{"level":2,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5dashboard"},{"level":2,"title":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406","slug":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},{"level":2,"title":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6ESSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6Essl"}],"relativePath":"guide/dashboard.md"}',s={},o=t(`

\u51C6\u5907\u5DE5\u4F5C

\u642D\u5EFA\u4E00\u4E2A\u54EA\u5412\u76D1\u63A7\uFF0C\u4F60\u9700\u8981\uFF1A

  1. \u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684VPS\uFF0C\u9632\u706B\u5899\u548C\u5B89\u5168\u7B56\u7565\u9700\u8981\u653E\u884C8008\u548C5555\u7AEF\u53E3\uFF0C\u5426\u5219\u4F1A\u65E0\u6CD5\u8BBF\u95EE\u548C\u65E0\u6CD5\u63A5\u6536\u6570\u636E\u3002\u5355\u6838512MB\u5185\u5B58\u7684\u670D\u52A1\u5668\u914D\u7F6E\u5C31\u8DB3\u4EE5\u6EE1\u8DB3\u5927\u591A\u6570\u4F7F\u7528\u573A\u666F
  2. \u4E00\u4E2A\u5DF2\u7ECF\u8BBE\u7F6E\u597DA\u8BB0\u5F55\uFF0C\u6307\u5411Dashboard\u670D\u52A1\u5668ip\u7684\u57DF\u540D

TIP

\u5982\u679C\u4F60\u60F3\u4F7F\u7528CDN\uFF0C\u8BF7\u51C6\u5907\u4E24\u4E2A\u57DF\u540D\uFF0C\u4E00\u4E2A\u914D\u7F6E\u597DCDN\u7528\u4F5C\u516C\u5F00\u8BBF\u95EE\uFF0CCDN\u9700\u8981\u652F\u6301WebSocket\u534F\u8BAE\uFF1B\u53E6\u4E00\u4E2A\u57DF\u540D\u4E0D\u8981\u4F7F\u7528CDN\uFF0C\u7528\u4F5CAgent\u7AEF\u4E0EDashboard\u7684\u901A\u4FE1
\u672C\u6587\u6863\u5206\u522B\u4EE5 "cdn.example.com" \u548C "data.example.com" \u4E24\u4E2A\u57DF\u540D\u6765\u6F14\u793A

  1. \u4E00\u4E2AGithub/Gitee\u8D26\u53F7

\u672C\u6587\u6863\u5C06\u4EE5\u5B9D\u5854\u9762\u677F\u53CD\u4EE3\u9762\u677F\u7684\u8FC7\u7A0B\u4F5C\u4E3A\u8303\u4F8B\uFF0C\u968F\u7740\u672A\u6765\u7248\u672C\u7684\u53D8\u5316\uFF0C\u90E8\u5206\u529F\u80FD\u7684\u5165\u53E3\u53EF\u80FD\u4F1A\u53D1\u751F\u6539\u53D8\uFF0C\u672C\u6587\u6863\u4EC5\u4F9B\u53C2\u8003

\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5

\u54EA\u5412\u76D1\u63A7\u63A5\u5165Github\u548CGitee\u4F5C\u4E3A\u540E\u53F0\u7BA1\u7406\u5458\u8D26\u53F7

  • \u9996\u5148\u6211\u4EEC\u9700\u8981\u65B0\u5EFA\u4E00\u4E2A\u9A8C\u8BC1\u5E94\u7528\uFF0C\u4EE5Github\u4E3A\u4F8B\uFF0C\u767B\u9646Github\u540E\uFF0C\u6253\u5F00 https://github.com/settings/developers \uFF0C\u4F9D\u6B21\u9009\u62E9\u201COAuth Apps\u201D - \u201CNew OAuth App\u201D
    Application name - \u968F\u610F\u586B\u5199
    Homepage URL - \u586B\u5199\u9762\u677F\u7684\u8BBF\u95EE\u57DF\u540D\uFF0C\u5982\uFF1A"http://cdn.example.com"
    Authorization callback URL - \u586B\u5199\u56DE\u8C03\u5730\u5740\uFF0C\u5982\uFF1A"http://cdn.example.com/oauth2/callback"
  • \u70B9\u51FB\u201CRegister application\u201D
  • \u4FDD\u5B58\u9875\u9762\u4E2D\u7684Client ID\uFF0C\u7136\u540E\u70B9\u51FB \u201CGenerate a new client secret\u201C\uFF0C\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684Client Secret\uFF0C\u65B0\u5EFA\u7684\u5BC6\u94A5\u4EC5\u4F1A\u663E\u793A\u4E00\u6B21\uFF0C\u8BF7\u59A5\u5584\u4FDD\u5B58

\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard

  • \u5728\u9762\u677F\u670D\u52A1\u5668\u4E2D\uFF0C\u8FD0\u884C\u5B89\u88C5\u811A\u672C\uFF1A
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
+import{_ as e,c as a,o as n,d as t}from"./app.2c402e15.js";const k='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5","slug":"\u83B7\u53D6github\u7684client-id\u548C\u5BC6\u94A5"},{"level":2,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5dashboard"},{"level":2,"title":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406","slug":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},{"level":2,"title":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6ESSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6Essl"}],"relativePath":"guide/dashboard.md"}',s={},o=t(`

\u51C6\u5907\u5DE5\u4F5C

\u642D\u5EFA\u4E00\u4E2A\u54EA\u5412\u76D1\u63A7\uFF0C\u4F60\u9700\u8981\uFF1A

  1. \u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684VPS\uFF0C\u9632\u706B\u5899\u548C\u5B89\u5168\u7B56\u7565\u9700\u8981\u653E\u884C8008\u548C5555\u7AEF\u53E3\uFF0C\u5426\u5219\u4F1A\u65E0\u6CD5\u8BBF\u95EE\u548C\u65E0\u6CD5\u63A5\u6536\u6570\u636E\u3002\u5355\u6838512MB\u5185\u5B58\u7684\u670D\u52A1\u5668\u914D\u7F6E\u5C31\u8DB3\u4EE5\u6EE1\u8DB3\u5927\u591A\u6570\u4F7F\u7528\u573A\u666F
  2. \u4E00\u4E2A\u5DF2\u7ECF\u8BBE\u7F6E\u597DA\u8BB0\u5F55\uFF0C\u6307\u5411Dashboard\u670D\u52A1\u5668ip\u7684\u57DF\u540D

TIP

\u5982\u679C\u4F60\u60F3\u4F7F\u7528CDN\uFF0C\u8BF7\u51C6\u5907\u4E24\u4E2A\u57DF\u540D\uFF0C\u4E00\u4E2A\u914D\u7F6E\u597DCDN\u7528\u4F5C\u516C\u5F00\u8BBF\u95EE\uFF0CCDN\u9700\u8981\u652F\u6301WebSocket\u534F\u8BAE\uFF1B\u53E6\u4E00\u4E2A\u57DF\u540D\u4E0D\u8981\u4F7F\u7528CDN\uFF0C\u7528\u4F5CAgent\u7AEF\u4E0EDashboard\u7684\u901A\u4FE1
\u672C\u6587\u6863\u5206\u522B\u4EE5 "cdn.example.com" \u548C "data.example.com" \u4E24\u4E2A\u57DF\u540D\u6765\u6F14\u793A

  1. \u4E00\u4E2AGithub/Gitee\u8D26\u53F7

\u672C\u6587\u6863\u5C06\u4EE5\u5B9D\u5854\u9762\u677F\u53CD\u4EE3\u9762\u677F\u7684\u8FC7\u7A0B\u4F5C\u4E3A\u8303\u4F8B\uFF0C\u968F\u7740\u672A\u6765\u7248\u672C\u7684\u53D8\u5316\uFF0C\u90E8\u5206\u529F\u80FD\u7684\u5165\u53E3\u53EF\u80FD\u4F1A\u53D1\u751F\u6539\u53D8\uFF0C\u672C\u6587\u6863\u4EC5\u4F9B\u53C2\u8003

\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5

\u54EA\u5412\u76D1\u63A7\u63A5\u5165Github\u548CGitee\u4F5C\u4E3A\u540E\u53F0\u7BA1\u7406\u5458\u8D26\u53F7

  • \u9996\u5148\u6211\u4EEC\u9700\u8981\u65B0\u5EFA\u4E00\u4E2A\u9A8C\u8BC1\u5E94\u7528\uFF0C\u4EE5Github\u4E3A\u4F8B\uFF0C\u767B\u9646Github\u540E\uFF0C\u6253\u5F00 https://github.com/settings/developers \uFF0C\u4F9D\u6B21\u9009\u62E9\u201COAuth Apps\u201D - \u201CNew OAuth App\u201D
    Application name - \u968F\u610F\u586B\u5199
    Homepage URL - \u586B\u5199\u9762\u677F\u7684\u8BBF\u95EE\u57DF\u540D\uFF0C\u5982\uFF1A"http://cdn.example.com"
    Authorization callback URL - \u586B\u5199\u56DE\u8C03\u5730\u5740\uFF0C\u5982\uFF1A"http://cdn.example.com/oauth2/callback"
  • \u70B9\u51FB\u201CRegister application\u201D
  • \u4FDD\u5B58\u9875\u9762\u4E2D\u7684Client ID\uFF0C\u7136\u540E\u70B9\u51FB \u201CGenerate a new client secret\u201C\uFF0C\u521B\u5EFA\u4E00\u4E2A\u65B0\u7684Client Secret\uFF0C\u65B0\u5EFA\u7684\u5BC6\u94A5\u4EC5\u4F1A\u663E\u793A\u4E00\u6B21\uFF0C\u8BF7\u59A5\u5584\u4FDD\u5B58

\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard

  • \u5728\u9762\u677F\u670D\u52A1\u5668\u4E2D\uFF0C\u8FD0\u884C\u5B89\u88C5\u811A\u672C\uFF1A
curl -L https://raw.githubusercontent.com/naiba/nezha/master/script/install.sh  -o nezha.sh && chmod +x nezha.sh && sudo ./nezha.sh
 

\u5982\u679C\u4F60\u7684\u9762\u677F\u670D\u52A1\u5668\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u53EF\u4EE5\u4F7F\u7528\u955C\u50CF\uFF1A

curl -L https://fastly.jsdelivr.net/gh/naiba/nezha@master/script/install.sh -o nezha.sh && chmod +x nezha.sh && sudo CN=true ./nezha.sh
 
  • \u7B49\u5F85Docker\u5B89\u88C5\u5B8C\u6BD5\u540E\uFF0C\u5206\u522B\u8F93\u5165\u4EE5\u4E0B\u503C\uFF1A
    OAuth\u63D0\u4F9B\u5546 - Github\u6216Gitee
    Client ID - \u4E4B\u524D\u4FDD\u5B58\u7684Client ID
    Client Secret - \u4E4B\u524D\u4FDD\u5B58\u7684\u5BC6\u94A5
    \u7528\u6237\u540D - Github\u6216Gitee\u7684\u7528\u6237\u540D
    \u7AD9\u70B9\u6807\u9898 - \u81EA\u5B9A\u4E49\u7AD9\u70B9\u6807\u9898
    \u8BBF\u95EE\u7AEF\u53E3 - \u516C\u5F00\u8BBF\u95EE\u7AEF\u53E3\uFF0C\u53EF\u81EA\u5B9A\u4E49\uFF0C\u9ED8\u8BA48008
    Agent\u7684\u901A\u4FE1\u7AEF\u53E3 - Agent\u4E0EDashboard\u7684\u901A\u4FE1\u7AEF\u53E3\uFF0C\u9ED8\u8BA45555

  • \u8F93\u5165\u5B8C\u6210\u540E\uFF0C\u7B49\u5F85\u62C9\u53D6\u955C\u50CF
    \u5B89\u88C5\u7ED3\u675F\u540E\uFF0C\u5982\u679C\u4E00\u5207\u6B63\u5E38\uFF0C\u6B64\u65F6\u4F60\u53EF\u4EE5\u8BBF\u95EE\u57DF\u540D+\u7AEF\u53E3\u53F7\uFF0C\u5982 \u201Chttp://cdn.example.com:8008\u201D \u6765\u67E5\u770B\u9762\u677F

  • \u5C06\u6765\u5982\u679C\u9700\u8981\u518D\u6B21\u8FD0\u884C\u811A\u672C\uFF0C\u53EF\u4EE5\u8FD0\u884C\uFF1A

./nezha.sh
 

\u6765\u6253\u5F00\u7BA1\u7406\u811A\u672C


\u914D\u7F6E\u53CD\u5411\u4EE3\u7406

  • \u5728\u5B9D\u5854\u9762\u677F\u4E2D\u65B0\u5EFA\u4E00\u4E2A\u7AD9\u70B9\uFF0C\u57DF\u540D\u586B\u5199\u516C\u5F00\u8BBF\u95EE\u57DF\u540D\uFF0C\u5982 \u201Chttp://cdn.example.com\u201C \uFF0C\u7136\u540E\u70B9\u51FB\u201C\u8BBE\u7F6E\u201D\u8FDB\u5165\u7AD9\u70B9\u8BBE\u7F6E\u9009\u9879\uFF0C\u9009\u62E9\u201C\u53CD\u5411\u4EE3\u7406\u201D - \u201C\u65B0\u5EFA\u53CD\u5411\u4EE3\u7406\u201D

  • \u81EA\u5B9A\u4E49\u4E00\u4E2A\u4EE3\u7406\u540D\u79F0\uFF0C\u5728\u4E0B\u65B9\u201C\u76EE\u6807URL\u201D\u4E2D\u586B\u5165 http://127.0.0.1 \u7136\u540E\u70B9\u51FB\u201C\u4FDD\u5B58\u201D

  • \u6253\u5F00\u521A\u521A\u65B0\u5EFA\u7684\u53CD\u5411\u4EE3\u7406\u53F3\u8FB9\u7684\u201C\u914D\u7F6E\u6587\u4EF6\u201D\uFF0C\u5C06\u914D\u7F6E\u6587\u4EF6\u66FF\u6362\u4E3A\u4EE5\u4E0B\u5185\u5BB9\uFF1A

#PROXY-START/
diff --git a/assets/guide_dashboard.md.3c6ed851.lean.js b/assets/guide_dashboard.md.a8a51b7a.lean.js
similarity index 93%
rename from assets/guide_dashboard.md.3c6ed851.lean.js
rename to assets/guide_dashboard.md.a8a51b7a.lean.js
index ba7d81e8..35193240 100644
--- a/assets/guide_dashboard.md.3c6ed851.lean.js
+++ b/assets/guide_dashboard.md.a8a51b7a.lean.js
@@ -1 +1 @@
-import{_ as e,c as a,o as n,d as t}from"./app.c4507667.js";const k='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5","slug":"\u83B7\u53D6github\u7684client-id\u548C\u5BC6\u94A5"},{"level":2,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5dashboard"},{"level":2,"title":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406","slug":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},{"level":2,"title":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6ESSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6Essl"}],"relativePath":"guide/dashboard.md"}',s={},o=t("",27),p=[o];function r(l,c,i,d,h,u){return n(),a("div",null,p)}var m=e(s,[["render",r]]);export{k as __pageData,m as default};
+import{_ as e,c as a,o as n,d as t}from"./app.2c402e15.js";const k='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u83B7\u53D6Github\u7684Client ID\u548C\u5BC6\u94A5","slug":"\u83B7\u53D6github\u7684client-id\u548C\u5BC6\u94A5"},{"level":2,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5dashboard"},{"level":2,"title":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406","slug":"\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},{"level":2,"title":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6ESSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6Essl"}],"relativePath":"guide/dashboard.md"}',s={},o=t("",27),p=[o];function r(l,c,i,d,h,u){return n(),a("div",null,p)}var m=e(s,[["render",r]]);export{k as __pageData,m as default};
diff --git a/assets/guide_dashboardq.md.35888330.js b/assets/guide_dashboardq.md.9a2ad737.js
similarity index 98%
rename from assets/guide_dashboardq.md.35888330.js
rename to assets/guide_dashboardq.md.9a2ad737.js
index 75c9636e..67d7b2b4 100644
--- a/assets/guide_dashboardq.md.35888330.js
+++ b/assets/guide_dashboardq.md.9a2ad737.js
@@ -1,4 +1,4 @@
-import{_ as a,c as e,o as t,d as n}from"./app.c4507667.js";const u='{"title":"Dashboard\u76F8\u5173","description":"","frontmatter":{},"headers":[{"level":3,"title":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","slug":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25"},{"level":3,"title":"\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F"}],"relativePath":"guide/dashboardq.md"}',r={},s=n(`

Dashboard\u76F8\u5173

\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25

\u8BF7\u67E5\u770B\u5E38\u89C1\u95EE\u9898-\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25
\u5728\u6B64\u4E0D\u518D\u8D58\u8FF0\u3002

\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F

\u9996\u5148\u89E3\u91CA\u540E\u53F0\u663E\u793A\u7684IP\u662F\u600E\u4E48\u6765\u7684\uFF0CAgent\u4F1A\u6BCF\u9694\u4E00\u6BB5\u65F6\u95F4\u8BF7\u6C42\u4E00\u904DIP-API\uFF0C\u83B7\u53D6\u5230IP\u4FE1\u606F\u540E\u8FDB\u884C\u4E0A\u62A5\uFF0C\u76EE\u524D\u4F7F\u7528\u7684IP-API\u53EF\u5728\u6B64\u67E5\u770Bmyip.go\u3002
\u5982\u60A8\u8BA4\u4E3A\u540E\u53F0\u663E\u793A\u7684IP\u548C\u670D\u52A1\u5546\u63D0\u4F9B\u7ED9\u60A8\u7684IP\u4E0D\u4E00\u81F4\uFF0C\u6700\u5927\u7684\u53EF\u80FD\u662F\u670D\u52A1\u5546\u7ED9\u60A8\u7684\u662F\u5165\u53E3\uFF0C\u4F46Agent\u6D4B\u8BD5\u7684\u662F\u60A8\u7684\u51FA\u53E3\u3002\u8FD9\u4E2A\u95EE\u9898\u4E5F\u53EF\u80FD\u4F1A\u51FA\u73B0\u5728\u591A\u7EBF\u4E3B\u673A\u4E2D\u3002
\u4E3E\u4E2A\u7B80\u5355\u4E5F\u5341\u5206\u5E38\u89C1\u7684\u4F8B\u5B50\uFF0C\u670D\u52A1\u5546\u7ED9\u60A8\u63D0\u4F9B\u7684\u662F\u4E00\u53F0\u9AD8\u9632\u4E3B\u673A\uFF0C\u4E3A\u4E86\u540C\u65F6\u6EE1\u8DB3\u9AD8\u9632\u548C\u4F4E\u7F51\u7EDC\u4E2D\u65AD\u7387\u7684\u76EE\u6807\uFF0C\u63D0\u4F9B\u7ED9\u60A8\u7684IP\u53EF\u80FD\u662F\u7ECF\u8FC7\u6620\u5C04\u540E\u7684\u9AD8\u9632IP\u800C\u5E76\u975E\u60A8\u4E3B\u673A\u7684\u771F\u5B9E\u51FA\u53E3IP\u3002
\u60A8\u4E5F\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u547D\u4EE4\u5728Agent\u90E8\u7F72\u4E3B\u673A\u4E2D\u8FDB\u884C\u6D4B\u8BD5\u3002

curl api.myip.la
+import{_ as a,c as e,o as t,d as n}from"./app.2c402e15.js";const u='{"title":"Dashboard\u76F8\u5173","description":"","frontmatter":{},"headers":[{"level":3,"title":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","slug":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25"},{"level":3,"title":"\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F"}],"relativePath":"guide/dashboardq.md"}',r={},s=n(`

Dashboard\u76F8\u5173

\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25

\u8BF7\u67E5\u770B\u5E38\u89C1\u95EE\u9898-\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25
\u5728\u6B64\u4E0D\u518D\u8D58\u8FF0\u3002

\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F

\u9996\u5148\u89E3\u91CA\u540E\u53F0\u663E\u793A\u7684IP\u662F\u600E\u4E48\u6765\u7684\uFF0CAgent\u4F1A\u6BCF\u9694\u4E00\u6BB5\u65F6\u95F4\u8BF7\u6C42\u4E00\u904DIP-API\uFF0C\u83B7\u53D6\u5230IP\u4FE1\u606F\u540E\u8FDB\u884C\u4E0A\u62A5\uFF0C\u76EE\u524D\u4F7F\u7528\u7684IP-API\u53EF\u5728\u6B64\u67E5\u770Bmyip.go\u3002
\u5982\u60A8\u8BA4\u4E3A\u540E\u53F0\u663E\u793A\u7684IP\u548C\u670D\u52A1\u5546\u63D0\u4F9B\u7ED9\u60A8\u7684IP\u4E0D\u4E00\u81F4\uFF0C\u6700\u5927\u7684\u53EF\u80FD\u662F\u670D\u52A1\u5546\u7ED9\u60A8\u7684\u662F\u5165\u53E3\uFF0C\u4F46Agent\u6D4B\u8BD5\u7684\u662F\u60A8\u7684\u51FA\u53E3\u3002\u8FD9\u4E2A\u95EE\u9898\u4E5F\u53EF\u80FD\u4F1A\u51FA\u73B0\u5728\u591A\u7EBF\u4E3B\u673A\u4E2D\u3002
\u4E3E\u4E2A\u7B80\u5355\u4E5F\u5341\u5206\u5E38\u89C1\u7684\u4F8B\u5B50\uFF0C\u670D\u52A1\u5546\u7ED9\u60A8\u63D0\u4F9B\u7684\u662F\u4E00\u53F0\u9AD8\u9632\u4E3B\u673A\uFF0C\u4E3A\u4E86\u540C\u65F6\u6EE1\u8DB3\u9AD8\u9632\u548C\u4F4E\u7F51\u7EDC\u4E2D\u65AD\u7387\u7684\u76EE\u6807\uFF0C\u63D0\u4F9B\u7ED9\u60A8\u7684IP\u53EF\u80FD\u662F\u7ECF\u8FC7\u6620\u5C04\u540E\u7684\u9AD8\u9632IP\u800C\u5E76\u975E\u60A8\u4E3B\u673A\u7684\u771F\u5B9E\u51FA\u53E3IP\u3002
\u60A8\u4E5F\u53EF\u4EE5\u4F7F\u7528\u4EE5\u4E0B\u547D\u4EE4\u5728Agent\u90E8\u7F72\u4E3B\u673A\u4E2D\u8FDB\u884C\u6D4B\u8BD5\u3002

curl api.myip.la
 curl ip.sb
 curl ip-api.com
 
`,6),o=[s];function i(d,c,p,h,l,_){return t(),e("div",null,o)}var b=a(r,[["render",i]]);export{u as __pageData,b as default}; diff --git a/assets/guide_dashboardq.md.35888330.lean.js b/assets/guide_dashboardq.md.9a2ad737.lean.js similarity index 91% rename from assets/guide_dashboardq.md.35888330.lean.js rename to assets/guide_dashboardq.md.9a2ad737.lean.js index 283e478a..6b42bac5 100644 --- a/assets/guide_dashboardq.md.35888330.lean.js +++ b/assets/guide_dashboardq.md.9a2ad737.lean.js @@ -1 +1 @@ -import{_ as a,c as e,o as t,d as n}from"./app.c4507667.js";const u='{"title":"Dashboard\u76F8\u5173","description":"","frontmatter":{},"headers":[{"level":3,"title":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","slug":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25"},{"level":3,"title":"\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F"}],"relativePath":"guide/dashboardq.md"}',r={},s=n("",6),o=[s];function i(d,c,p,h,l,_){return t(),e("div",null,o)}var b=a(r,[["render",i]]);export{u as __pageData,b as default}; +import{_ as a,c as e,o as t,d as n}from"./app.2c402e15.js";const u='{"title":"Dashboard\u76F8\u5173","description":"","frontmatter":{},"headers":[{"level":3,"title":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","slug":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25"},{"level":3,"title":"\u540E\u53F0\u663E\u793A\u7684IP\u548CAgent\u5B9E\u9645IP\u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F"}],"relativePath":"guide/dashboardq.md"}',r={},s=n("",6),o=[s];function i(d,c,p,h,l,_){return t(),e("div",null,o)}var b=a(r,[["render",i]]);export{u as __pageData,b as default}; diff --git a/assets/guide_loginq.md.d611b7d1.js b/assets/guide_loginq.md.d018cda9.js similarity index 87% rename from assets/guide_loginq.md.d611b7d1.js rename to assets/guide_loginq.md.d018cda9.js index 1896793c..1ca4c82f 100644 --- a/assets/guide_loginq.md.d611b7d1.js +++ b/assets/guide_loginq.md.d018cda9.js @@ -1 +1 @@ -import{_ as t,c as a,o,a as e,b as r}from"./app.c4507667.js";const m='{"title":"\u767B\u9646\u76F8\u5173","description":"","frontmatter":{},"headers":[],"relativePath":"guide/loginq.md"}',s={},n=e("h1",{id:"\u767B\u9646\u76F8\u5173",tabindex:"-1"},[r("\u767B\u9646\u76F8\u5173 "),e("a",{class:"header-anchor",href:"#\u767B\u9646\u76F8\u5173","aria-hidden":"true"},"#")],-1),c=[n];function d(i,_,l,h,p,f){return o(),a("div",null,c)}var x=t(s,[["render",d]]);export{m as __pageData,x as default}; +import{_ as t,c as a,o,a as e,b as r}from"./app.2c402e15.js";const m='{"title":"\u767B\u9646\u76F8\u5173","description":"","frontmatter":{},"headers":[],"relativePath":"guide/loginq.md"}',s={},n=e("h1",{id:"\u767B\u9646\u76F8\u5173",tabindex:"-1"},[r("\u767B\u9646\u76F8\u5173 "),e("a",{class:"header-anchor",href:"#\u767B\u9646\u76F8\u5173","aria-hidden":"true"},"#")],-1),c=[n];function d(i,_,l,h,p,f){return o(),a("div",null,c)}var x=t(s,[["render",d]]);export{m as __pageData,x as default}; diff --git a/assets/guide_loginq.md.d611b7d1.lean.js b/assets/guide_loginq.md.d018cda9.lean.js similarity index 87% rename from assets/guide_loginq.md.d611b7d1.lean.js rename to assets/guide_loginq.md.d018cda9.lean.js index 1896793c..1ca4c82f 100644 --- a/assets/guide_loginq.md.d611b7d1.lean.js +++ b/assets/guide_loginq.md.d018cda9.lean.js @@ -1 +1 @@ -import{_ as t,c as a,o,a as e,b as r}from"./app.c4507667.js";const m='{"title":"\u767B\u9646\u76F8\u5173","description":"","frontmatter":{},"headers":[],"relativePath":"guide/loginq.md"}',s={},n=e("h1",{id:"\u767B\u9646\u76F8\u5173",tabindex:"-1"},[r("\u767B\u9646\u76F8\u5173 "),e("a",{class:"header-anchor",href:"#\u767B\u9646\u76F8\u5173","aria-hidden":"true"},"#")],-1),c=[n];function d(i,_,l,h,p,f){return o(),a("div",null,c)}var x=t(s,[["render",d]]);export{m as __pageData,x as default}; +import{_ as t,c as a,o,a as e,b as r}from"./app.2c402e15.js";const m='{"title":"\u767B\u9646\u76F8\u5173","description":"","frontmatter":{},"headers":[],"relativePath":"guide/loginq.md"}',s={},n=e("h1",{id:"\u767B\u9646\u76F8\u5173",tabindex:"-1"},[r("\u767B\u9646\u76F8\u5173 "),e("a",{class:"header-anchor",href:"#\u767B\u9646\u76F8\u5173","aria-hidden":"true"},"#")],-1),c=[n];function d(i,_,l,h,p,f){return o(),a("div",null,c)}var x=t(s,[["render",d]]);export{m as __pageData,x as default}; diff --git a/assets/guide_notifications.md.374133eb.js b/assets/guide_notifications.md.ac3a804b.js similarity index 99% rename from assets/guide_notifications.md.374133eb.js rename to assets/guide_notifications.md.ac3a804b.js index 1090c348..8e56dc25 100644 --- a/assets/guide_notifications.md.374133eb.js +++ b/assets/guide_notifications.md.ac3a804b.js @@ -1 +1 @@ -import{_ as e,c as o,o as t,d as l}from"./app.c4507667.js";const h='{"title":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F","slug":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F"},{"level":2,"title":"\u62A5\u8B66\u89C4\u5219\u8BF4\u660E","slug":"\u62A5\u8B66\u89C4\u5219\u8BF4\u660E"},{"level":3,"title":"\u57FA\u672C\u89C4\u5219","slug":"\u57FA\u672C\u89C4\u5219"},{"level":3,"title":"\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66","slug":"\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66"}],"relativePath":"guide/notifications.md"}',i={},c=l('

\u54EA\u5412\u76D1\u63A7\u652F\u6301\u5BF9\u670D\u52A1\u5668\u7684\u8D1F\u8F7D\u3001CPU\u3001\u5185\u5B58\u3001\u786C\u76D8\u3001\u5E26\u5BBD\u3001\u6D41\u91CF\u3001\u6708\u6D41\u91CF\u3001\u8FDB\u7A0B\u6570\u3001\u8FDE\u63A5\u6570\u8FDB\u884C\u76D1\u63A7\uFF0C\u5E76\u5728\u5176\u4E2D\u67D0\u9879\u8FBE\u5230\u7528\u6237\u8BBE\u5B9A\u503C\u65F6\u53D1\u9001\u62A5\u8B66\u901A\u77E5

\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F

#NEZHA# \u662F\u9762\u677F\u6D88\u606F\u5360\u4F4D\u7B26\uFF0C\u9762\u677F\u89E6\u53D1\u901A\u77E5\u65F6\u4F1A\u81EA\u52A8\u7528\u5B9E\u9645\u6D88\u606F\u66FF\u6362\u5360\u4F4D\u7B26

Body \u5185\u5BB9\u662FJSON \u683C\u5F0F\u7684\uFF1A\u5F53\u8BF7\u6C42\u7C7B\u578B\u4E3A FORM \u65F6\uFF0C\u503C\u4E3A key:value \u7684\u5F62\u5F0F\uFF0Cvalue \u91CC\u9762\u53EF\u653E\u7F6E\u5360\u4F4D\u7B26\uFF0C\u901A\u77E5\u65F6\u4F1A\u81EA\u52A8\u66FF\u6362\u3002\u5F53\u8BF7\u6C42\u7C7B\u578B\u4E3A JSON \u65F6 \u53EA\u4F1A\u7B80\u5355\u8FDB\u884C\u5B57\u7B26\u4E32\u66FF\u6362\u540E\u76F4\u63A5\u63D0\u4EA4\u5230URL\u3002

URL \u91CC\u9762\u4E5F\u53EF\u653E\u7F6E\u5360\u4F4D\u7B26\uFF0C\u8BF7\u6C42\u65F6\u4F1A\u8FDB\u884C\u7B80\u5355\u7684\u5B57\u7B26\u4E32\u66FF\u6362\u3002

\u4F60\u53EF\u4EE5\u53C2\u8003\u4EE5\u4E0B\u7684\u901A\u77E5\u65B9\u5F0F\u793A\u4F8B\uFF0C\u4E5F\u53EF\u4EE5\u6839\u636E\u81EA\u5DF1\u7684\u9700\u6C42\u7075\u6D3B\u8BBE\u7F6E\u63A8\u9001\u65B9\u5F0F

  • server\u9171\u793A\u4F8B

  • wxpusher \u793A\u4F8B\uFF0C\u9700\u8981\u5173\u6CE8\u4F60\u7684\u5E94\u7528

    • \u540D\u79F0: wxpusher
    • URL\uFF1Ahttp://wxpusher.zjiecode.com/api/send/message
    • \u8BF7\u6C42\u65B9\u5F0F: POST
    • \u8BF7\u6C42\u7C7B\u578B: JSON
    • Body: {"appToken":"\u4F60\u7684appToken","topicIds":[],"content":"#NEZHA#","contentType":"1","uids":["\u4F60\u7684uid"]}
  • Telegram \u793A\u4F8B @haitau \u8D21\u732E

    • \u540D\u79F0\uFF1Atelegram \u673A\u5668\u4EBA\u6D88\u606F\u901A\u77E5
    • URL\uFF1Ahttps://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#
    • \u8BF7\u6C42\u65B9\u5F0F: GET
    • \u8BF7\u6C42\u7C7B\u578B: \u9ED8\u8BA4
    • Body: \u7A7A
    • URL \u53C2\u6570\u83B7\u53D6\u8BF4\u660E\uFF1AbotXXXXXX \u4E2D\u7684 XXXXXX \u662F\u5728 telegram \u4E2D\u5173\u6CE8\u5B98\u65B9 @Botfather \uFF0C\u8F93\u5165/newbot \uFF0C\u521B\u5EFA\u65B0\u7684\u673A\u5668\u4EBA\uFF08bot\uFF09\u65F6\uFF0C\u4F1A\u63D0\u4F9B\u7684 token\uFF08\u5728\u63D0\u793A Use this token to access the HTTP API:\u540E\u9762\u4E00\u884C\uFF09\u8FD9\u91CC 'bot' \u4E09\u4E2A\u5B57\u6BCD\u4E0D\u53EF\u5C11\u3002\u521B\u5EFA bot \u540E\uFF0C\u9700\u8981\u5148\u5728 telegram \u4E2D\u4E0E BOT \u8FDB\u884C\u5BF9\u8BDD\uFF08\u968F\u4FBF\u53D1\u4E2A\u6D88\u606F\uFF09\uFF0C\u7136\u540E\u624D\u53EF\u7528 API \u53D1\u9001\u6D88\u606F\u3002YYYYYY \u662F telegram \u7528\u6237\u7684\u6570\u5B57 ID\u3002\u4E0E\u673A\u5668\u4EBA@userinfobot \u5BF9\u8BDD\u53EF\u83B7\u5F97\u3002


\u62A5\u8B66\u89C4\u5219\u8BF4\u660E

\u57FA\u672C\u89C4\u5219

  • type\uFF1A\u53EF\u9009\u53D6\u4E00\u4E2A\u6216\u591A\u4E2A\u7C7B\u578B\uFF0C\u5982\u5728\u4E00\u4E2A\u89C4\u5219\u4E2D\u9009\u62E9\u4E86\u591A\u4E2A\u7C7B\u578B\uFF0C\u9700\u8981\u540C\u65F6\u6EE1\u8DB3\u6240\u6709\u9009\u62E9\u7684\u7C7B\u578B\u624D\u4F1A\u89E6\u53D1\u901A\u77E5\uFF08\u53EF\u53C2\u8003\u540E\u9762\u7684\u793A\u4F8B\uFF09
    • cpu\u3001memory\u3001swap\u3001disk
    • net_in_speed \u5165\u7AD9\u7F51\u901F\u3001net_out_speed \u51FA\u7AD9\u7F51\u901F\u3001net_all_speed \u53CC\u5411\u7F51\u901F\u3001transfer_in \u5165\u7AD9\u6D41\u91CF\u3001transfer_out \u51FA\u7AD9\u6D41\u91CF\u3001transfer_all \u53CC\u5411\u6D41\u91CF
    • offline \u79BB\u7EBF\u76D1\u63A7
    • load1\u3001load5\u3001load15 \u8D1F\u8F7D
    • process_count \u8FDB\u7A0B\u6570 \u76EE\u524D\u53D6\u7EBF\u7A0B\u6570\u5360\u7528\u8D44\u6E90\u592A\u591A\uFF0C\u6682\u65F6\u4E0D\u652F\u6301
    • tcp_conn_count\u3001udp_conn_count \u8FDE\u63A5\u6570
  • duration\uFF1A\u6301\u7EED\u6570\u79D2\uFF0C\u6570\u79D2\u5185\u91C7\u6837\u8BB0\u5F55 30% \u4EE5\u4E0A\u89E6\u53D1\u9608\u503C\u624D\u4F1A\u62A5\u8B66\uFF08\u9632\u6570\u636E\u63D2\u9488\uFF09
  • min \u6216 max\uFF1A
    • \u6D41\u91CF\u3001\u7F51\u901F\u7C7B\u6570\u503C \u4E3A\u5B57\u8282\uFF081KB=1024B\uFF0C1MB = 1024*1024B\uFF09
    • \u5185\u5B58\u3001\u786C\u76D8\u3001CPU \u4EE5\u5360\u7528\u767E\u5206\u6BD4\u8BA1\u6570
    • \u79BB\u7EBF\u76D1\u63A7\u65E0\u9700\u8BBE\u7F6E\u6B64\u9879
  • cover\uFF1A
    • 0 \u76D1\u63A7\u6240\u6709\uFF0C\u901A\u8FC7 ignore \u5FFD\u7565\u7279\u5B9A\u670D\u52A1\u5668
    • 1 \u5FFD\u7565\u6240\u6709\uFF0C\u901A\u8FC7 ignore \u76D1\u63A7\u7279\u5B9A\u670D\u52A1\u5668
      \u4F8B\u5982\uFF1A[{"type":"offline","duration":10, "cover":0, "ignore":{"5": true}}]
  • ignore: \u9009\u62E9\u5FFD\u7565\u7279\u5B9A\u670D\u52A1\u5668\uFF0C\u642D\u914D cover \u4F7F\u7528\uFF0C\u5185\u5BB9\u4E3A\u670D\u52A1\u5668id\u548C\u5E03\u5C14\u503C\uFF0C\u4F8B\u5982\uFF1A{"1": true, "2":false}

\u5B8C\u6574\u793A\u4F8B:

TIP

\u6DFB\u52A0\u4E00\u4E2A\u79BB\u7EBF\u62A5\u8B66

  • \u540D\u79F0\uFF1A\u79BB\u7EBF\u901A\u77E5
  • \u89C4\u5219\uFF1A[{"Type":"offline","Duration":10}]
  • \u542F\u7528\uFF1A\u221A

TIP

\u6DFB\u52A0\u4E00\u4E2A\u76D1\u63A7 CPU \u6301\u7EED 10s \u8D85\u8FC7 50% \u4E14 \u5185\u5B58\u6301\u7EED 20s \u5360\u7528\u4F4E\u4E8E 20% \u7684\u62A5\u8B66

  • \u540D\u79F0\uFF1ACPU+\u5185\u5B58
  • \u89C4\u5219\uFF1A[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]
  • \u542F\u7528\uFF1A\u221A

\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66

\u53EF\u4EE5\u7528\u4F5C\u6708\u6D41\u91CF\u62A5\u8B66

  • type:
    • transfer_in_cycle \u5468\u671F\u5185\u7684\u5165\u7AD9\u6D41\u91CF
    • transfer_out_cycle \u5468\u671F\u5185\u7684\u51FA\u7AD9\u6D41\u91CF
    • transfer_all_cycle \u5468\u671F\u5185\u53CC\u5411\u6D41\u91CF\u548C
  • cycle_start\uFF1A \u7EDF\u8BA1\u5468\u671F\u5F00\u59CB\u65E5\u671F\uFF08\u53EF\u4EE5\u662F\u4F60\u673A\u5668\u8BA1\u8D39\u5468\u671F\u7684\u5F00\u59CB\u65E5\u671F\uFF09\uFF0C\u65F6\u95F4\u683C\u5F0F\u4E3ARFC3339\uFF0C\u4F8B\u5982\u5317\u4EAC\u65F6\u95F4\u4E3A2022-01-11T08:00:00.00+08:00
  • cycle_interval\uFF1A\u6BCF\u9694\u591A\u5C11\u4E2A\u5468\u671F\u5355\u4F4D\uFF08\u4F8B\u5982\uFF0C\u5468\u671F\u5355\u4F4D\u4E3A\u5929\uFF0C\u8BE5\u503C\u4E3A 7\uFF0C\u5219\u4EE3\u8868\u6BCF\u9694 7 \u5929\u7EDF\u8BA1\u4E00\u6B21\uFF09
  • cycle_unit \u7EDF\u8BA1\u5468\u671F\u5355\u4F4D\uFF0C\u9ED8\u8BA4hour,\u53EF\u9009(hour, day, week, month, year)
  • min/max\u3001cover\u3001ignore \u53C2\u8003\u57FA\u672C\u89C4\u5219\u914D\u7F6E

\u793A\u4F8B: ID \u4E3A 3 \u7684\u670D\u52A1\u5668\uFF08ignore \u91CC\u9762\u5B9A\u4E49\uFF09\uFF0C\u4EE5\u6BCF\u6708 15 \u53F7\u4E3A\u7EDF\u8BA1\u5468\u671F\uFF0C\u5468\u671F\u5185\u7EDF\u8BA1\u7684\u51FA\u7AD9\u6708\u6D41\u91CF\u8FBE\u5230 1TB \u65F6\u62A5\u8B66 [{"type":"transfer_out_cycle","max":1000000000000,"cycle_start":"2022-01-11T08:00:00.00+08:00","cycle_interval":1,"cycle_unit":"month","cover":1,"ignore":{"3":true}}]

',20),u=[c];function d(r,a,n,s,p,q){return t(),o("div",null,u)}var m=e(i,[["render",d]]);export{h as __pageData,m as default}; +import{_ as e,c as o,o as t,d as l}from"./app.2c402e15.js";const h='{"title":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F","slug":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F"},{"level":2,"title":"\u62A5\u8B66\u89C4\u5219\u8BF4\u660E","slug":"\u62A5\u8B66\u89C4\u5219\u8BF4\u660E"},{"level":3,"title":"\u57FA\u672C\u89C4\u5219","slug":"\u57FA\u672C\u89C4\u5219"},{"level":3,"title":"\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66","slug":"\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66"}],"relativePath":"guide/notifications.md"}',i={},c=l('

\u54EA\u5412\u76D1\u63A7\u652F\u6301\u5BF9\u670D\u52A1\u5668\u7684\u8D1F\u8F7D\u3001CPU\u3001\u5185\u5B58\u3001\u786C\u76D8\u3001\u5E26\u5BBD\u3001\u6D41\u91CF\u3001\u6708\u6D41\u91CF\u3001\u8FDB\u7A0B\u6570\u3001\u8FDE\u63A5\u6570\u8FDB\u884C\u76D1\u63A7\uFF0C\u5E76\u5728\u5176\u4E2D\u67D0\u9879\u8FBE\u5230\u7528\u6237\u8BBE\u5B9A\u503C\u65F6\u53D1\u9001\u62A5\u8B66\u901A\u77E5

\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F

#NEZHA# \u662F\u9762\u677F\u6D88\u606F\u5360\u4F4D\u7B26\uFF0C\u9762\u677F\u89E6\u53D1\u901A\u77E5\u65F6\u4F1A\u81EA\u52A8\u7528\u5B9E\u9645\u6D88\u606F\u66FF\u6362\u5360\u4F4D\u7B26

Body \u5185\u5BB9\u662FJSON \u683C\u5F0F\u7684\uFF1A\u5F53\u8BF7\u6C42\u7C7B\u578B\u4E3A FORM \u65F6\uFF0C\u503C\u4E3A key:value \u7684\u5F62\u5F0F\uFF0Cvalue \u91CC\u9762\u53EF\u653E\u7F6E\u5360\u4F4D\u7B26\uFF0C\u901A\u77E5\u65F6\u4F1A\u81EA\u52A8\u66FF\u6362\u3002\u5F53\u8BF7\u6C42\u7C7B\u578B\u4E3A JSON \u65F6 \u53EA\u4F1A\u7B80\u5355\u8FDB\u884C\u5B57\u7B26\u4E32\u66FF\u6362\u540E\u76F4\u63A5\u63D0\u4EA4\u5230URL\u3002

URL \u91CC\u9762\u4E5F\u53EF\u653E\u7F6E\u5360\u4F4D\u7B26\uFF0C\u8BF7\u6C42\u65F6\u4F1A\u8FDB\u884C\u7B80\u5355\u7684\u5B57\u7B26\u4E32\u66FF\u6362\u3002

\u4F60\u53EF\u4EE5\u53C2\u8003\u4EE5\u4E0B\u7684\u901A\u77E5\u65B9\u5F0F\u793A\u4F8B\uFF0C\u4E5F\u53EF\u4EE5\u6839\u636E\u81EA\u5DF1\u7684\u9700\u6C42\u7075\u6D3B\u8BBE\u7F6E\u63A8\u9001\u65B9\u5F0F

  • server\u9171\u793A\u4F8B

  • wxpusher \u793A\u4F8B\uFF0C\u9700\u8981\u5173\u6CE8\u4F60\u7684\u5E94\u7528

    • \u540D\u79F0: wxpusher
    • URL\uFF1Ahttp://wxpusher.zjiecode.com/api/send/message
    • \u8BF7\u6C42\u65B9\u5F0F: POST
    • \u8BF7\u6C42\u7C7B\u578B: JSON
    • Body: {"appToken":"\u4F60\u7684appToken","topicIds":[],"content":"#NEZHA#","contentType":"1","uids":["\u4F60\u7684uid"]}
  • Telegram \u793A\u4F8B @haitau \u8D21\u732E

    • \u540D\u79F0\uFF1Atelegram \u673A\u5668\u4EBA\u6D88\u606F\u901A\u77E5
    • URL\uFF1Ahttps://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#
    • \u8BF7\u6C42\u65B9\u5F0F: GET
    • \u8BF7\u6C42\u7C7B\u578B: \u9ED8\u8BA4
    • Body: \u7A7A
    • URL \u53C2\u6570\u83B7\u53D6\u8BF4\u660E\uFF1AbotXXXXXX \u4E2D\u7684 XXXXXX \u662F\u5728 telegram \u4E2D\u5173\u6CE8\u5B98\u65B9 @Botfather \uFF0C\u8F93\u5165/newbot \uFF0C\u521B\u5EFA\u65B0\u7684\u673A\u5668\u4EBA\uFF08bot\uFF09\u65F6\uFF0C\u4F1A\u63D0\u4F9B\u7684 token\uFF08\u5728\u63D0\u793A Use this token to access the HTTP API:\u540E\u9762\u4E00\u884C\uFF09\u8FD9\u91CC 'bot' \u4E09\u4E2A\u5B57\u6BCD\u4E0D\u53EF\u5C11\u3002\u521B\u5EFA bot \u540E\uFF0C\u9700\u8981\u5148\u5728 telegram \u4E2D\u4E0E BOT \u8FDB\u884C\u5BF9\u8BDD\uFF08\u968F\u4FBF\u53D1\u4E2A\u6D88\u606F\uFF09\uFF0C\u7136\u540E\u624D\u53EF\u7528 API \u53D1\u9001\u6D88\u606F\u3002YYYYYY \u662F telegram \u7528\u6237\u7684\u6570\u5B57 ID\u3002\u4E0E\u673A\u5668\u4EBA@userinfobot \u5BF9\u8BDD\u53EF\u83B7\u5F97\u3002


\u62A5\u8B66\u89C4\u5219\u8BF4\u660E

\u57FA\u672C\u89C4\u5219

  • type\uFF1A\u53EF\u9009\u53D6\u4E00\u4E2A\u6216\u591A\u4E2A\u7C7B\u578B\uFF0C\u5982\u5728\u4E00\u4E2A\u89C4\u5219\u4E2D\u9009\u62E9\u4E86\u591A\u4E2A\u7C7B\u578B\uFF0C\u9700\u8981\u540C\u65F6\u6EE1\u8DB3\u6240\u6709\u9009\u62E9\u7684\u7C7B\u578B\u624D\u4F1A\u89E6\u53D1\u901A\u77E5\uFF08\u53EF\u53C2\u8003\u540E\u9762\u7684\u793A\u4F8B\uFF09
    • cpu\u3001memory\u3001swap\u3001disk
    • net_in_speed \u5165\u7AD9\u7F51\u901F\u3001net_out_speed \u51FA\u7AD9\u7F51\u901F\u3001net_all_speed \u53CC\u5411\u7F51\u901F\u3001transfer_in \u5165\u7AD9\u6D41\u91CF\u3001transfer_out \u51FA\u7AD9\u6D41\u91CF\u3001transfer_all \u53CC\u5411\u6D41\u91CF
    • offline \u79BB\u7EBF\u76D1\u63A7
    • load1\u3001load5\u3001load15 \u8D1F\u8F7D
    • process_count \u8FDB\u7A0B\u6570 \u76EE\u524D\u53D6\u7EBF\u7A0B\u6570\u5360\u7528\u8D44\u6E90\u592A\u591A\uFF0C\u6682\u65F6\u4E0D\u652F\u6301
    • tcp_conn_count\u3001udp_conn_count \u8FDE\u63A5\u6570
  • duration\uFF1A\u6301\u7EED\u6570\u79D2\uFF0C\u6570\u79D2\u5185\u91C7\u6837\u8BB0\u5F55 30% \u4EE5\u4E0A\u89E6\u53D1\u9608\u503C\u624D\u4F1A\u62A5\u8B66\uFF08\u9632\u6570\u636E\u63D2\u9488\uFF09
  • min \u6216 max\uFF1A
    • \u6D41\u91CF\u3001\u7F51\u901F\u7C7B\u6570\u503C \u4E3A\u5B57\u8282\uFF081KB=1024B\uFF0C1MB = 1024*1024B\uFF09
    • \u5185\u5B58\u3001\u786C\u76D8\u3001CPU \u4EE5\u5360\u7528\u767E\u5206\u6BD4\u8BA1\u6570
    • \u79BB\u7EBF\u76D1\u63A7\u65E0\u9700\u8BBE\u7F6E\u6B64\u9879
  • cover\uFF1A
    • 0 \u76D1\u63A7\u6240\u6709\uFF0C\u901A\u8FC7 ignore \u5FFD\u7565\u7279\u5B9A\u670D\u52A1\u5668
    • 1 \u5FFD\u7565\u6240\u6709\uFF0C\u901A\u8FC7 ignore \u76D1\u63A7\u7279\u5B9A\u670D\u52A1\u5668
      \u4F8B\u5982\uFF1A[{"type":"offline","duration":10, "cover":0, "ignore":{"5": true}}]
  • ignore: \u9009\u62E9\u5FFD\u7565\u7279\u5B9A\u670D\u52A1\u5668\uFF0C\u642D\u914D cover \u4F7F\u7528\uFF0C\u5185\u5BB9\u4E3A\u670D\u52A1\u5668id\u548C\u5E03\u5C14\u503C\uFF0C\u4F8B\u5982\uFF1A{"1": true, "2":false}

\u5B8C\u6574\u793A\u4F8B:

TIP

\u6DFB\u52A0\u4E00\u4E2A\u79BB\u7EBF\u62A5\u8B66

  • \u540D\u79F0\uFF1A\u79BB\u7EBF\u901A\u77E5
  • \u89C4\u5219\uFF1A[{"Type":"offline","Duration":10}]
  • \u542F\u7528\uFF1A\u221A

TIP

\u6DFB\u52A0\u4E00\u4E2A\u76D1\u63A7 CPU \u6301\u7EED 10s \u8D85\u8FC7 50% \u4E14 \u5185\u5B58\u6301\u7EED 20s \u5360\u7528\u4F4E\u4E8E 20% \u7684\u62A5\u8B66

  • \u540D\u79F0\uFF1ACPU+\u5185\u5B58
  • \u89C4\u5219\uFF1A[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]
  • \u542F\u7528\uFF1A\u221A

\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66

\u53EF\u4EE5\u7528\u4F5C\u6708\u6D41\u91CF\u62A5\u8B66

  • type:
    • transfer_in_cycle \u5468\u671F\u5185\u7684\u5165\u7AD9\u6D41\u91CF
    • transfer_out_cycle \u5468\u671F\u5185\u7684\u51FA\u7AD9\u6D41\u91CF
    • transfer_all_cycle \u5468\u671F\u5185\u53CC\u5411\u6D41\u91CF\u548C
  • cycle_start\uFF1A \u7EDF\u8BA1\u5468\u671F\u5F00\u59CB\u65E5\u671F\uFF08\u53EF\u4EE5\u662F\u4F60\u673A\u5668\u8BA1\u8D39\u5468\u671F\u7684\u5F00\u59CB\u65E5\u671F\uFF09\uFF0C\u65F6\u95F4\u683C\u5F0F\u4E3ARFC3339\uFF0C\u4F8B\u5982\u5317\u4EAC\u65F6\u95F4\u4E3A2022-01-11T08:00:00.00+08:00
  • cycle_interval\uFF1A\u6BCF\u9694\u591A\u5C11\u4E2A\u5468\u671F\u5355\u4F4D\uFF08\u4F8B\u5982\uFF0C\u5468\u671F\u5355\u4F4D\u4E3A\u5929\uFF0C\u8BE5\u503C\u4E3A 7\uFF0C\u5219\u4EE3\u8868\u6BCF\u9694 7 \u5929\u7EDF\u8BA1\u4E00\u6B21\uFF09
  • cycle_unit \u7EDF\u8BA1\u5468\u671F\u5355\u4F4D\uFF0C\u9ED8\u8BA4hour,\u53EF\u9009(hour, day, week, month, year)
  • min/max\u3001cover\u3001ignore \u53C2\u8003\u57FA\u672C\u89C4\u5219\u914D\u7F6E

\u793A\u4F8B: ID \u4E3A 3 \u7684\u670D\u52A1\u5668\uFF08ignore \u91CC\u9762\u5B9A\u4E49\uFF09\uFF0C\u4EE5\u6BCF\u6708 15 \u53F7\u4E3A\u7EDF\u8BA1\u5468\u671F\uFF0C\u5468\u671F\u5185\u7EDF\u8BA1\u7684\u51FA\u7AD9\u6708\u6D41\u91CF\u8FBE\u5230 1TB \u65F6\u62A5\u8B66 [{"type":"transfer_out_cycle","max":1000000000000,"cycle_start":"2022-01-11T08:00:00.00+08:00","cycle_interval":1,"cycle_unit":"month","cover":1,"ignore":{"3":true}}]

',20),u=[c];function d(r,a,n,s,p,q){return t(),o("div",null,u)}var m=e(i,[["render",d]]);export{h as __pageData,m as default}; diff --git a/assets/guide_notifications.md.374133eb.lean.js b/assets/guide_notifications.md.ac3a804b.lean.js similarity index 92% rename from assets/guide_notifications.md.374133eb.lean.js rename to assets/guide_notifications.md.ac3a804b.lean.js index bfb76152..58ceec65 100644 --- a/assets/guide_notifications.md.374133eb.lean.js +++ b/assets/guide_notifications.md.ac3a804b.lean.js @@ -1 +1 @@ -import{_ as e,c as o,o as t,d as l}from"./app.c4507667.js";const h='{"title":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F","slug":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F"},{"level":2,"title":"\u62A5\u8B66\u89C4\u5219\u8BF4\u660E","slug":"\u62A5\u8B66\u89C4\u5219\u8BF4\u660E"},{"level":3,"title":"\u57FA\u672C\u89C4\u5219","slug":"\u57FA\u672C\u89C4\u5219"},{"level":3,"title":"\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66","slug":"\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66"}],"relativePath":"guide/notifications.md"}',i={},c=l("",20),u=[c];function d(r,a,n,s,p,q){return t(),o("div",null,u)}var m=e(i,[["render",d]]);export{h as __pageData,m as default}; +import{_ as e,c as o,o as t,d as l}from"./app.2c402e15.js";const h='{"title":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F","slug":"\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F"},{"level":2,"title":"\u62A5\u8B66\u89C4\u5219\u8BF4\u660E","slug":"\u62A5\u8B66\u89C4\u5219\u8BF4\u660E"},{"level":3,"title":"\u57FA\u672C\u89C4\u5219","slug":"\u57FA\u672C\u89C4\u5219"},{"level":3,"title":"\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66","slug":"\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66"}],"relativePath":"guide/notifications.md"}',i={},c=l("",20),u=[c];function d(r,a,n,s,p,q){return t(),o("div",null,u)}var m=e(i,[["render",d]]);export{h as __pageData,m as default}; diff --git a/assets/guide_q1.md.88e45dd8.js b/assets/guide_q1.md.60864821.js similarity index 99% rename from assets/guide_q1.md.88e45dd8.js rename to assets/guide_q1.md.60864821.js index 480d8558..617ef408 100644 --- a/assets/guide_q1.md.88e45dd8.js +++ b/assets/guide_q1.md.60864821.js @@ -1,4 +1,4 @@ -import{_ as n,c as s,o as a,d as e}from"./app.c4507667.js";const v='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"NGINX\u914D\u7F6E","slug":"nginx\u914D\u7F6E"},{"level":2,"title":"\u4F7F\u7528\u65B9\u5F0F","slug":"\u4F7F\u7528\u65B9\u5F0F"},{"level":2,"title":"\u9632\u6B62\u76D7\u7528","slug":"\u9632\u6B62\u76D7\u7528"}],"relativePath":"guide/q1.md"}',t={},p=e(`

\u51C6\u5907\u5DE5\u4F5C

\u4F60\u53EF\u4EE5\u9009\u62E9CloudFlare\u7684workers\u8FDB\u884C\u53CD\u4EE3,\u4F46\u5927\u9646\u7684\u7F51\u7EDC\u4F60\u61C2\u7684,\u8FD9\u91CC\u4ECB\u7ECD\u7528\u4F60\u81EA\u5DF1\u670D\u52A1\u5668\u53CD\u4EE3\u65B9\u5F0F
\u642D\u5EFA\u4E00\u4E2ATGbot api\u53CD\u4EE3\uFF0C\u4F60\u9700\u8981\uFF1A
1.\u4E00\u4E2A\u4E0D\u53D7GFW\u5C01\u9501\u7684\u670D\u52A1\u5668(\u4E14\u5B89\u88C5\u597Dnginx)
2.\u4E00\u4E2A\u57DF\u540D(\u63D0\u524D\u7533\u8BF7SSL\u8BC1\u4E66)

NGINX\u914D\u7F6E

\u7F16\u8F91\u4F60nginx\u7684\u914D\u7F6E\u6587\u4EF6,\u5728http{}\u4E2D\u52A0\u4E0A\u5982\u4E0B\u914D\u7F6E

# http\u5F3A\u5236\u8DF3\u8F6C\u5230htpps
+import{_ as n,c as s,o as a,d as e}from"./app.2c402e15.js";const v='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"NGINX\u914D\u7F6E","slug":"nginx\u914D\u7F6E"},{"level":2,"title":"\u4F7F\u7528\u65B9\u5F0F","slug":"\u4F7F\u7528\u65B9\u5F0F"},{"level":2,"title":"\u9632\u6B62\u76D7\u7528","slug":"\u9632\u6B62\u76D7\u7528"}],"relativePath":"guide/q1.md"}',t={},p=e(`

\u51C6\u5907\u5DE5\u4F5C

\u4F60\u53EF\u4EE5\u9009\u62E9CloudFlare\u7684workers\u8FDB\u884C\u53CD\u4EE3,\u4F46\u5927\u9646\u7684\u7F51\u7EDC\u4F60\u61C2\u7684,\u8FD9\u91CC\u4ECB\u7ECD\u7528\u4F60\u81EA\u5DF1\u670D\u52A1\u5668\u53CD\u4EE3\u65B9\u5F0F
\u642D\u5EFA\u4E00\u4E2ATGbot api\u53CD\u4EE3\uFF0C\u4F60\u9700\u8981\uFF1A
1.\u4E00\u4E2A\u4E0D\u53D7GFW\u5C01\u9501\u7684\u670D\u52A1\u5668(\u4E14\u5B89\u88C5\u597Dnginx)
2.\u4E00\u4E2A\u57DF\u540D(\u63D0\u524D\u7533\u8BF7SSL\u8BC1\u4E66)

NGINX\u914D\u7F6E

\u7F16\u8F91\u4F60nginx\u7684\u914D\u7F6E\u6587\u4EF6,\u5728http{}\u4E2D\u52A0\u4E0A\u5982\u4E0B\u914D\u7F6E

# http\u5F3A\u5236\u8DF3\u8F6C\u5230htpps
 server {
     listen 80;
     listen [::]:80;
diff --git a/assets/guide_q1.md.88e45dd8.lean.js b/assets/guide_q1.md.60864821.lean.js
similarity index 89%
rename from assets/guide_q1.md.88e45dd8.lean.js
rename to assets/guide_q1.md.60864821.lean.js
index 8e5b4ea1..de34fdb2 100644
--- a/assets/guide_q1.md.88e45dd8.lean.js
+++ b/assets/guide_q1.md.60864821.lean.js
@@ -1 +1 @@
-import{_ as n,c as s,o as a,d as e}from"./app.c4507667.js";const v='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"NGINX\u914D\u7F6E","slug":"nginx\u914D\u7F6E"},{"level":2,"title":"\u4F7F\u7528\u65B9\u5F0F","slug":"\u4F7F\u7528\u65B9\u5F0F"},{"level":2,"title":"\u9632\u6B62\u76D7\u7528","slug":"\u9632\u6B62\u76D7\u7528"}],"relativePath":"guide/q1.md"}',t={},p=e("",11),o=[p];function c(r,l,i,k,d,u){return a(),s("div",null,o)}var _=n(t,[["render",c]]);export{v as __pageData,_ as default};
+import{_ as n,c as s,o as a,d as e}from"./app.2c402e15.js";const v='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"NGINX\u914D\u7F6E","slug":"nginx\u914D\u7F6E"},{"level":2,"title":"\u4F7F\u7528\u65B9\u5F0F","slug":"\u4F7F\u7528\u65B9\u5F0F"},{"level":2,"title":"\u9632\u6B62\u76D7\u7528","slug":"\u9632\u6B62\u76D7\u7528"}],"relativePath":"guide/q1.md"}',t={},p=e("",11),o=[p];function c(r,l,i,k,d,u){return a(),s("div",null,o)}var _=n(t,[["render",c]]);export{v as __pageData,_ as default};
diff --git a/assets/guide_q2.md.5ec630f2.js b/assets/guide_q2.md.9519d1ef.js
similarity index 96%
rename from assets/guide_q2.md.5ec630f2.js
rename to assets/guide_q2.md.9519d1ef.js
index 9e9f0603..d00196a6 100644
--- a/assets/guide_q2.md.5ec630f2.js
+++ b/assets/guide_q2.md.9519d1ef.js
@@ -1 +1 @@
-import{_ as e,c as t,o as a,d as n}from"./app.c4507667.js";const f='{"title":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q2.md"}',o={},r=n('

Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B

  1. \u76F4\u63A5\u6267\u884C /opt/nezha/agent/nezha-agent -s \u9762\u677FIP\u6216\u975ECDN\u57DF\u540D:\u9762\u677FRPC\u7AEF\u53E3 -p Agent\u5BC6\u94A5 -d \u67E5\u770B\u65E5\u5FD7\u662F\u5426\u662F\u56E0\u4E3A DNS\u3001\u7F51\u7EDC\u4E0D\u4F73\u5BFC\u81F4\u8D85\u65F6\uFF08timeout\uFF09
  2. nc -v \u57DF\u540D/IP \u9762\u677FRPC\u7AEF\u53E3 \u6216\u8005 telnet \u57DF\u540D/IP \u9762\u677FRPC\u7AEF\u53E3 \u6765\u68C0\u9A8C\u662F\u5426\u662F\u7F51\u7EDC\u95EE\u9898\uFF0C\u68C0\u67E5\u672C\u673A\u4E0E\u9762\u677F\u670D\u52A1\u5668\u7684\u51FA\u5165\u7AD9\u9632\u706B\u5899\uFF0C\u5982\u679C\u65E0\u6CD5\u5224\u65AD\u95EE\u9898\u53EF\u501F\u52A9 https://port.ping.pe/ \u63D0\u4F9B\u7684\u7AEF\u53E3\u68C0\u67E5\u5DE5\u5177\u8FDB\u884C\u68C0\u6D4B\u3002
  3. \u5982\u679C\u4E0A\u9762\u6B65\u9AA4\u68C0\u6D4B\u6B63\u5E38\uFF0CAgent \u6B63\u5E38\u4E0A\u7EBF\uFF0C\u5C1D\u8BD5\u5173\u95ED SELinux\uFF0C\u5982\u4F55\u5173\u95ED SELinux\uFF1F
',2),c=[r];function _(i,s,d,l,p,h){return a(),t("div",null,c)}var u=e(o,[["render",_]]);export{f as __pageData,u as default}; +import{_ as e,c as t,o as a,d as n}from"./app.2c402e15.js";const f='{"title":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q2.md"}',o={},r=n('

Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B

  1. \u76F4\u63A5\u6267\u884C /opt/nezha/agent/nezha-agent -s \u9762\u677FIP\u6216\u975ECDN\u57DF\u540D:\u9762\u677FRPC\u7AEF\u53E3 -p Agent\u5BC6\u94A5 -d \u67E5\u770B\u65E5\u5FD7\u662F\u5426\u662F\u56E0\u4E3A DNS\u3001\u7F51\u7EDC\u4E0D\u4F73\u5BFC\u81F4\u8D85\u65F6\uFF08timeout\uFF09
  2. nc -v \u57DF\u540D/IP \u9762\u677FRPC\u7AEF\u53E3 \u6216\u8005 telnet \u57DF\u540D/IP \u9762\u677FRPC\u7AEF\u53E3 \u6765\u68C0\u9A8C\u662F\u5426\u662F\u7F51\u7EDC\u95EE\u9898\uFF0C\u68C0\u67E5\u672C\u673A\u4E0E\u9762\u677F\u670D\u52A1\u5668\u7684\u51FA\u5165\u7AD9\u9632\u706B\u5899\uFF0C\u5982\u679C\u65E0\u6CD5\u5224\u65AD\u95EE\u9898\u53EF\u501F\u52A9 https://port.ping.pe/ \u63D0\u4F9B\u7684\u7AEF\u53E3\u68C0\u67E5\u5DE5\u5177\u8FDB\u884C\u68C0\u6D4B\u3002
  3. \u5982\u679C\u4E0A\u9762\u6B65\u9AA4\u68C0\u6D4B\u6B63\u5E38\uFF0CAgent \u6B63\u5E38\u4E0A\u7EBF\uFF0C\u5C1D\u8BD5\u5173\u95ED SELinux\uFF0C\u5982\u4F55\u5173\u95ED SELinux\uFF1F
',2),c=[r];function _(i,s,d,l,p,h){return a(),t("div",null,c)}var u=e(o,[["render",_]]);export{f as __pageData,u as default}; diff --git a/assets/guide_q2.md.5ec630f2.lean.js b/assets/guide_q2.md.9519d1ef.lean.js similarity index 82% rename from assets/guide_q2.md.5ec630f2.lean.js rename to assets/guide_q2.md.9519d1ef.lean.js index 50073e0f..69da2ce5 100644 --- a/assets/guide_q2.md.5ec630f2.lean.js +++ b/assets/guide_q2.md.9519d1ef.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,d as n}from"./app.c4507667.js";const f='{"title":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q2.md"}',o={},r=n("",2),c=[r];function _(i,s,d,l,p,h){return a(),t("div",null,c)}var u=e(o,[["render",_]]);export{f as __pageData,u as default}; +import{_ as e,c as t,o as a,d as n}from"./app.2c402e15.js";const f='{"title":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q2.md"}',o={},r=n("",2),c=[r];function _(i,s,d,l,p,h){return a(),t("div",null,c)}var u=e(o,[["render",_]]);export{f as __pageData,u as default}; diff --git a/assets/guide_q3.md.f267f86a.js b/assets/guide_q3.md.278a14da.js similarity index 98% rename from assets/guide_q3.md.f267f86a.js rename to assets/guide_q3.md.278a14da.js index 49de2ec6..4cd88b70 100644 --- a/assets/guide_q3.md.f267f86a.js +++ b/assets/guide_q3.md.278a14da.js @@ -1,4 +1,4 @@ -import{_ as n,c as a,o as s,d as e}from"./app.c4507667.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md"}',t={},o=e(`

\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09

\u4F7F\u7528 Nginx \u6216\u8005 Caddy \u53CD\u5411\u4EE3\u7406 gRPC

  • Nginx \u914D\u7F6E
server {
+import{_ as n,c as a,o as s,d as e}from"./app.2c402e15.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md"}',t={},o=e(`

\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09

\u4F7F\u7528 Nginx \u6216\u8005 Caddy \u53CD\u5411\u4EE3\u7406 gRPC

  • Nginx \u914D\u7F6E
server {
     listen 443 ssl http2;
     listen [::]:443 ssl http2;
     server_name data.example.com; # \u4F60\u7684 Agent \u8FDE\u63A5 Dashboard \u7684\u57DF\u540D
diff --git a/assets/guide_q3.md.f267f86a.lean.js b/assets/guide_q3.md.278a14da.lean.js
similarity index 82%
rename from assets/guide_q3.md.f267f86a.lean.js
rename to assets/guide_q3.md.278a14da.lean.js
index 244b2ba7..ac36c4bb 100644
--- a/assets/guide_q3.md.f267f86a.lean.js
+++ b/assets/guide_q3.md.278a14da.lean.js
@@ -1 +1 @@
-import{_ as n,c as a,o as s,d as e}from"./app.c4507667.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md"}',t={},o=e("",13),p=[o];function c(l,d,r,i,u,k){return s(),a("div",null,p)}var C=n(t,[["render",c]]);export{g as __pageData,C as default};
+import{_ as n,c as a,o as s,d as e}from"./app.2c402e15.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md"}',t={},o=e("",13),p=[o];function c(l,d,r,i,u,k){return s(),a("div",null,p)}var C=n(t,[["render",c]]);export{g as __pageData,C as default};
diff --git a/assets/guide_q4.md.f569afc2.js b/assets/guide_q4.md.49995c8a.js
similarity index 95%
rename from assets/guide_q4.md.f569afc2.js
rename to assets/guide_q4.md.49995c8a.js
index f6294301..45e07e87 100644
--- a/assets/guide_q4.md.f569afc2.js
+++ b/assets/guide_q4.md.49995c8a.js
@@ -1 +1 @@
-import{_ as a,c as o,o as r,a as e,b as t}from"./app.c4507667.js";const b='{"title":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q4.md"}',s={},c=e("h4",{id:"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25",tabindex:"-1"},[t("\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25 "),e("a",{class:"header-anchor",href:"#\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","aria-hidden":"true"},"#")],-1),n=e("ul",null,[e("li",null,"\u5982\u679C\u4F60\u4F7F\u7528\u4E86CDN\uFF0C\u8BF7\u786E\u8BA4CDN\u670D\u52A1\u5546\u63D0\u4F9BWebSocket\u670D\u52A1\uFF0C\u5E76\u4E14\u5DF2\u5F00\u542FWebSocket"),e("li",null,[t("\u786E\u8BA4\u4F60\u7684\u53CD\u4EE3\u89C4\u5219\u4E2D\u9488\u5BF9 /ws,/terminal \u8DEF\u5F84\u7684 WebSocket \u8FDB\u884C\u4E86\u7279\u522B\u914D\u7F6E\uFF0C\u4F60\u53EF\u4EE5 "),e("a",{href:"/guide/dashboard.html#\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},"\u70B9\u51FB\u8FD9\u91CC"),t(" \u67E5\u770B\u53CD\u5411\u4EE3\u7406\u914D\u7F6E")])],-1),d=[c,n];function i(l,_,h,u,p,f){return r(),o("div",null,d)}var k=a(s,[["render",i]]);export{b as __pageData,k as default};
+import{_ as a,c as o,o as r,a as e,b as t}from"./app.2c402e15.js";const b='{"title":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q4.md"}',s={},c=e("h4",{id:"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25",tabindex:"-1"},[t("\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25 "),e("a",{class:"header-anchor",href:"#\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","aria-hidden":"true"},"#")],-1),n=e("ul",null,[e("li",null,"\u5982\u679C\u4F60\u4F7F\u7528\u4E86CDN\uFF0C\u8BF7\u786E\u8BA4CDN\u670D\u52A1\u5546\u63D0\u4F9BWebSocket\u670D\u52A1\uFF0C\u5E76\u4E14\u5DF2\u5F00\u542FWebSocket"),e("li",null,[t("\u786E\u8BA4\u4F60\u7684\u53CD\u4EE3\u89C4\u5219\u4E2D\u9488\u5BF9 /ws,/terminal \u8DEF\u5F84\u7684 WebSocket \u8FDB\u884C\u4E86\u7279\u522B\u914D\u7F6E\uFF0C\u4F60\u53EF\u4EE5 "),e("a",{href:"/guide/dashboard.html#\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},"\u70B9\u51FB\u8FD9\u91CC"),t(" \u67E5\u770B\u53CD\u5411\u4EE3\u7406\u914D\u7F6E")])],-1),d=[c,n];function i(l,_,h,u,p,f){return r(),o("div",null,d)}var k=a(s,[["render",i]]);export{b as __pageData,k as default};
diff --git a/assets/guide_q4.md.f569afc2.lean.js b/assets/guide_q4.md.49995c8a.lean.js
similarity index 95%
rename from assets/guide_q4.md.f569afc2.lean.js
rename to assets/guide_q4.md.49995c8a.lean.js
index f6294301..45e07e87 100644
--- a/assets/guide_q4.md.f569afc2.lean.js
+++ b/assets/guide_q4.md.49995c8a.lean.js
@@ -1 +1 @@
-import{_ as a,c as o,o as r,a as e,b as t}from"./app.c4507667.js";const b='{"title":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q4.md"}',s={},c=e("h4",{id:"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25",tabindex:"-1"},[t("\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25 "),e("a",{class:"header-anchor",href:"#\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","aria-hidden":"true"},"#")],-1),n=e("ul",null,[e("li",null,"\u5982\u679C\u4F60\u4F7F\u7528\u4E86CDN\uFF0C\u8BF7\u786E\u8BA4CDN\u670D\u52A1\u5546\u63D0\u4F9BWebSocket\u670D\u52A1\uFF0C\u5E76\u4E14\u5DF2\u5F00\u542FWebSocket"),e("li",null,[t("\u786E\u8BA4\u4F60\u7684\u53CD\u4EE3\u89C4\u5219\u4E2D\u9488\u5BF9 /ws,/terminal \u8DEF\u5F84\u7684 WebSocket \u8FDB\u884C\u4E86\u7279\u522B\u914D\u7F6E\uFF0C\u4F60\u53EF\u4EE5 "),e("a",{href:"/guide/dashboard.html#\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},"\u70B9\u51FB\u8FD9\u91CC"),t(" \u67E5\u770B\u53CD\u5411\u4EE3\u7406\u914D\u7F6E")])],-1),d=[c,n];function i(l,_,h,u,p,f){return r(),o("div",null,d)}var k=a(s,[["render",i]]);export{b as __pageData,k as default};
+import{_ as a,c as o,o as r,a as e,b as t}from"./app.2c402e15.js";const b='{"title":"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q4.md"}',s={},c=e("h4",{id:"\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25",tabindex:"-1"},[t("\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25 "),e("a",{class:"header-anchor",href:"#\u5B9E\u65F6\u901A\u9053\u65AD\u5F00-\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25","aria-hidden":"true"},"#")],-1),n=e("ul",null,[e("li",null,"\u5982\u679C\u4F60\u4F7F\u7528\u4E86CDN\uFF0C\u8BF7\u786E\u8BA4CDN\u670D\u52A1\u5546\u63D0\u4F9BWebSocket\u670D\u52A1\uFF0C\u5E76\u4E14\u5DF2\u5F00\u542FWebSocket"),e("li",null,[t("\u786E\u8BA4\u4F60\u7684\u53CD\u4EE3\u89C4\u5219\u4E2D\u9488\u5BF9 /ws,/terminal \u8DEF\u5F84\u7684 WebSocket \u8FDB\u884C\u4E86\u7279\u522B\u914D\u7F6E\uFF0C\u4F60\u53EF\u4EE5 "),e("a",{href:"/guide/dashboard.html#\u914D\u7F6E\u53CD\u5411\u4EE3\u7406"},"\u70B9\u51FB\u8FD9\u91CC"),t(" \u67E5\u770B\u53CD\u5411\u4EE3\u7406\u914D\u7F6E")])],-1),d=[c,n];function i(l,_,h,u,p,f){return r(),o("div",null,d)}var k=a(s,[["render",i]]);export{b as __pageData,k as default};
diff --git a/assets/guide_q5.md.ad9570e0.js b/assets/guide_q5.md.ef18e2c9.js
similarity index 94%
rename from assets/guide_q5.md.ad9570e0.js
rename to assets/guide_q5.md.ef18e2c9.js
index 76a84d82..8b7d6418 100644
--- a/assets/guide_q5.md.ad9570e0.js
+++ b/assets/guide_q5.md.ef18e2c9.js
@@ -1 +1 @@
-import{_ as a,c as o,o as n,a as e,b as t}from"./app.c4507667.js";const x='{"title":"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q5.md"}',l={},r=e("h4",{id:"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F",tabindex:"-1"},[t("\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F "),e("a",{class:"header-anchor",href:"#\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","aria-hidden":"true"},"#")],-1),s=e("ol",null,[e("li",null,[t("\u5148\u8FD0\u884C\u4E00\u952E\u811A\u672C\uFF0C\u9009\u62E9 "),e("code",null,"\u505C\u6B62\u9762\u677F")]),e("li",null,[t("\u5728\u65E7\u670D\u52A1\u5668\u4E2D\u6253\u5305 "),e("code",null,"/opt/nezha"),t(" \u6587\u4EF6\u5939\uFF0C\u590D\u5236\u5230\u65B0\u73AF\u5883\u76F8\u540C\u4F4D\u7F6E\u89E3\u538B")]),e("li",null,[t("\u5728\u65B0\u73AF\u5883\u4E2D\u8FD0\u884C\u4E00\u952E\u811A\u672C\uFF0C\u9009\u62E9 "),e("code",null,"\u542F\u52A8\u9762\u677F")])],-1),c=[r,s];function d(i,_,u,h,p,f){return n(),o("div",null,c)}var $=a(l,[["render",d]]);export{x as __pageData,$ as default};
+import{_ as a,c as o,o as n,a as e,b as t}from"./app.2c402e15.js";const x='{"title":"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q5.md"}',l={},r=e("h4",{id:"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F",tabindex:"-1"},[t("\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F "),e("a",{class:"header-anchor",href:"#\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","aria-hidden":"true"},"#")],-1),s=e("ol",null,[e("li",null,[t("\u5148\u8FD0\u884C\u4E00\u952E\u811A\u672C\uFF0C\u9009\u62E9 "),e("code",null,"\u505C\u6B62\u9762\u677F")]),e("li",null,[t("\u5728\u65E7\u670D\u52A1\u5668\u4E2D\u6253\u5305 "),e("code",null,"/opt/nezha"),t(" \u6587\u4EF6\u5939\uFF0C\u590D\u5236\u5230\u65B0\u73AF\u5883\u76F8\u540C\u4F4D\u7F6E\u89E3\u538B")]),e("li",null,[t("\u5728\u65B0\u73AF\u5883\u4E2D\u8FD0\u884C\u4E00\u952E\u811A\u672C\uFF0C\u9009\u62E9 "),e("code",null,"\u542F\u52A8\u9762\u677F")])],-1),c=[r,s];function d(i,_,u,h,p,f){return n(),o("div",null,c)}var $=a(l,[["render",d]]);export{x as __pageData,$ as default};
diff --git a/assets/guide_q5.md.ad9570e0.lean.js b/assets/guide_q5.md.ef18e2c9.lean.js
similarity index 94%
rename from assets/guide_q5.md.ad9570e0.lean.js
rename to assets/guide_q5.md.ef18e2c9.lean.js
index 76a84d82..8b7d6418 100644
--- a/assets/guide_q5.md.ad9570e0.lean.js
+++ b/assets/guide_q5.md.ef18e2c9.lean.js
@@ -1 +1 @@
-import{_ as a,c as o,o as n,a as e,b as t}from"./app.c4507667.js";const x='{"title":"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q5.md"}',l={},r=e("h4",{id:"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F",tabindex:"-1"},[t("\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F "),e("a",{class:"header-anchor",href:"#\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","aria-hidden":"true"},"#")],-1),s=e("ol",null,[e("li",null,[t("\u5148\u8FD0\u884C\u4E00\u952E\u811A\u672C\uFF0C\u9009\u62E9 "),e("code",null,"\u505C\u6B62\u9762\u677F")]),e("li",null,[t("\u5728\u65E7\u670D\u52A1\u5668\u4E2D\u6253\u5305 "),e("code",null,"/opt/nezha"),t(" \u6587\u4EF6\u5939\uFF0C\u590D\u5236\u5230\u65B0\u73AF\u5883\u76F8\u540C\u4F4D\u7F6E\u89E3\u538B")]),e("li",null,[t("\u5728\u65B0\u73AF\u5883\u4E2D\u8FD0\u884C\u4E00\u952E\u811A\u672C\uFF0C\u9009\u62E9 "),e("code",null,"\u542F\u52A8\u9762\u677F")])],-1),c=[r,s];function d(i,_,u,h,p,f){return n(),o("div",null,c)}var $=a(l,[["render",d]]);export{x as __pageData,$ as default};
+import{_ as a,c as o,o as n,a as e,b as t}from"./app.2c402e15.js";const x='{"title":"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q5.md"}',l={},r=e("h4",{id:"\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F",tabindex:"-1"},[t("\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F "),e("a",{class:"header-anchor",href:"#\u5982\u4F55\u8FDB\u884C\u6570\u636E\u8FC1\u79FB\u3001\u5907\u4EFD\u6062\u590D\uFF1F","aria-hidden":"true"},"#")],-1),s=e("ol",null,[e("li",null,[t("\u5148\u8FD0\u884C\u4E00\u952E\u811A\u672C\uFF0C\u9009\u62E9 "),e("code",null,"\u505C\u6B62\u9762\u677F")]),e("li",null,[t("\u5728\u65E7\u670D\u52A1\u5668\u4E2D\u6253\u5305 "),e("code",null,"/opt/nezha"),t(" \u6587\u4EF6\u5939\uFF0C\u590D\u5236\u5230\u65B0\u73AF\u5883\u76F8\u540C\u4F4D\u7F6E\u89E3\u538B")]),e("li",null,[t("\u5728\u65B0\u73AF\u5883\u4E2D\u8FD0\u884C\u4E00\u952E\u811A\u672C\uFF0C\u9009\u62E9 "),e("code",null,"\u542F\u52A8\u9762\u677F")])],-1),c=[r,s];function d(i,_,u,h,p,f){return n(),o("div",null,c)}var $=a(l,[["render",d]]);export{x as __pageData,$ as default};
diff --git a/assets/guide_servers.md.7a696277.js b/assets/guide_servers.md.aa5468b1.js
similarity index 98%
rename from assets/guide_servers.md.7a696277.js
rename to assets/guide_servers.md.aa5468b1.js
index 77220955..f566245e 100644
--- a/assets/guide_servers.md.7a696277.js
+++ b/assets/guide_servers.md.aa5468b1.js
@@ -1 +1 @@
-import{_ as e,c as a,o as t,d as r}from"./app.c4507667.js";const p='{"title":"\u4E3B\u673A","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4ECB\u7ECD","slug":"\u4ECB\u7ECD"},{"level":2,"title":"\u6DFB\u52A0\u670D\u52A1\u5668","slug":"\u6DFB\u52A0\u670D\u52A1\u5668"},{"level":2,"title":"\u5B89\u88C5Agent","slug":"\u5B89\u88C5agent"},{"level":2,"title":"\u5F3A\u5236\u66F4\u65B0","slug":"\u5F3A\u5236\u66F4\u65B0"},{"level":2,"title":"\u6570\u636E\u5217","slug":"\u6570\u636E\u5217"},{"level":2,"title":"\u5728\u7EBF\u7EC8\u7AEF","slug":"\u5728\u7EBF\u7EC8\u7AEF"}],"relativePath":"guide/servers.md"}',i={},n=r('

\u4E3B\u673A

\u4ECB\u7ECD

\u4E3B\u673A\u533A\u57DF\u8D1F\u8D23\u7BA1\u7406Agent\uFF0C\u662F\u54EA\u5412\u63A2\u9488\u4E2D\u6700\u57FA\u7840\u7684\u533A\u57DF\uFF0C\u4E5F\u662F\u5176\u4ED6\u529F\u80FD\u7684\u57FA\u7840\u3002

\u6DFB\u52A0\u670D\u52A1\u5668

\u7B2C\u4E00\u6B65\u662F\u6DFB\u52A0\u4E3B\u673A\uFF0C\u53EF\u4EE5\u81EA\u5B9A\u4E49\u540D\u79F0\u3001\u5206\u7EC4\u3001\u6392\u5E8F\u548C\u5907\u6CE8\u3002
\u62E5\u6709\u76F8\u540C\u5206\u7EC4\u7684\u4E3B\u673A\u4F1A\u5728\u53D7\u652F\u6301\u7684\u4E3B\u9898\u4E2D\u5212\u5206\u5230\u4E00\u8D77\u8FDB\u884C\u663E\u793A\uFF0C\u5907\u6CE8\u4EC5\u4F1A\u5728\u540E\u53F0\u663E\u793A\uFF0C\u65E0\u9700\u62C5\u5FC3\u6CC4\u9732\u4FE1\u606F\u3002

\u5B89\u88C5Agent

\u8BF7\u53C2\u8003\u524D\u6587\u5B89\u88C5Agent
\u63A8\u8350\u4F7F\u7528\u4E00\u952E\u5B89\u88C5\uFF0C\u5373\u914D\u7F6E\u597D\u53C2\u6570\u540E\uFF0C\u70B9\u51FB\u4E3B\u673A\u4E00\u952E\u5B89\u88C5\u5217\u4E0A\u7684\u6309\u94AE\uFF0C\u590D\u5236\u5230\u76F8\u5E94\u4E3B\u673A\u8FDB\u884C\u5B89\u88C5\u3002

\u5F3A\u5236\u66F4\u65B0

\u5F3A\u5236\u66F4\u65B0\u5BF9\u5E94\u7684\u662F\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE\u4E2D\u7684--disable-auto-update\u548C--disable-force-update\u3002
\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0CAgent\u4F1A\u81EA\u52A8\u66F4\u65B0\uFF0C\u65E0\u9700\u5E72\u9884\u3002\u4F46\u5F53\u7528\u6237\u5173\u95ED\u81EA\u52A8\u66F4\u65B0\u540E\uFF0C\u4E5F\u53EF\u4EE5\u9009\u4E2D\u6307\u5B9A\u4E3B\u673A\u8FDB\u884C\u5F3A\u5236\u66F4\u65B0\u3002
disable-force-update\u5F00\u542F\u65F6\u6B64\u529F\u80FD\u4E0D\u751F\u6548\u3002

\u6570\u636E\u5217

  • \u7248\u672C\u53F7: \u8BB0\u5F55Agent\u5F53\u524D\u7248\u672C
  • \u5BC6\u94A5: \u5373secret\\key\uFF0C\u914D\u7F6EAgent\u65F6\u4F1A\u7528\u5230
  • \u4E00\u952E\u5B89\u88C5: \u8F83\u4E3A\u4FBF\u6377\u7684Agent\u5B89\u88C5\u65B9\u5F0F
  • \u7BA1\u7406: \u5DE6\u4E3AWebShell\uFF0C\u4E2D\u4E3A\u7F16\u8F91\uFF0C\u53F3\u4E3A\u5220\u9664

\u5728\u7EBF\u7EC8\u7AEF

\u5373WebShell\uFF0Cdisable-command-execute\u5F00\u542F\u65F6\u6B64\u529F\u80FD\u4E0D\u751F\u6548\u3002
Linux\u548CWindows\u5747\u53EF\u7528\uFF0C\u53EF\u4F7F\u7528Ctrl+Shift+V\u7C98\u8D34\u3002
\u8FDE\u63A5\u5931\u8D25\u8BF7\u53C2\u8003\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25\u3002
\u6CE8\u610F\u5728\u7EBF\u7EC8\u7AEF\u529F\u80FD\u4E2D\uFF0CAgent\u4E5F\u662F\u901A\u8FC7WebSocket\u8FDE\u63A5\u5230\u7528\u6237\u4F7F\u7528\u57DF\u540D\uFF0C\u800C\u975E\u901A\u8FC7grpc\u4EA4\u4E92\u3002

',13),l=[n];function d(h,s,o,c,g,u){return t(),a("div",null,l)}var b=e(i,[["render",d]]);export{p as __pageData,b as default}; +import{_ as e,c as a,o as t,d as r}from"./app.2c402e15.js";const p='{"title":"\u4E3B\u673A","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4ECB\u7ECD","slug":"\u4ECB\u7ECD"},{"level":2,"title":"\u6DFB\u52A0\u670D\u52A1\u5668","slug":"\u6DFB\u52A0\u670D\u52A1\u5668"},{"level":2,"title":"\u5B89\u88C5Agent","slug":"\u5B89\u88C5agent"},{"level":2,"title":"\u5F3A\u5236\u66F4\u65B0","slug":"\u5F3A\u5236\u66F4\u65B0"},{"level":2,"title":"\u6570\u636E\u5217","slug":"\u6570\u636E\u5217"},{"level":2,"title":"\u5728\u7EBF\u7EC8\u7AEF","slug":"\u5728\u7EBF\u7EC8\u7AEF"}],"relativePath":"guide/servers.md"}',i={},n=r('

\u4E3B\u673A

\u4ECB\u7ECD

\u4E3B\u673A\u533A\u57DF\u8D1F\u8D23\u7BA1\u7406Agent\uFF0C\u662F\u54EA\u5412\u63A2\u9488\u4E2D\u6700\u57FA\u7840\u7684\u533A\u57DF\uFF0C\u4E5F\u662F\u5176\u4ED6\u529F\u80FD\u7684\u57FA\u7840\u3002

\u6DFB\u52A0\u670D\u52A1\u5668

\u7B2C\u4E00\u6B65\u662F\u6DFB\u52A0\u4E3B\u673A\uFF0C\u53EF\u4EE5\u81EA\u5B9A\u4E49\u540D\u79F0\u3001\u5206\u7EC4\u3001\u6392\u5E8F\u548C\u5907\u6CE8\u3002
\u62E5\u6709\u76F8\u540C\u5206\u7EC4\u7684\u4E3B\u673A\u4F1A\u5728\u53D7\u652F\u6301\u7684\u4E3B\u9898\u4E2D\u5212\u5206\u5230\u4E00\u8D77\u8FDB\u884C\u663E\u793A\uFF0C\u5907\u6CE8\u4EC5\u4F1A\u5728\u540E\u53F0\u663E\u793A\uFF0C\u65E0\u9700\u62C5\u5FC3\u6CC4\u9732\u4FE1\u606F\u3002

\u5B89\u88C5Agent

\u8BF7\u53C2\u8003\u524D\u6587\u5B89\u88C5Agent
\u63A8\u8350\u4F7F\u7528\u4E00\u952E\u5B89\u88C5\uFF0C\u5373\u914D\u7F6E\u597D\u53C2\u6570\u540E\uFF0C\u70B9\u51FB\u4E3B\u673A\u4E00\u952E\u5B89\u88C5\u5217\u4E0A\u7684\u6309\u94AE\uFF0C\u590D\u5236\u5230\u76F8\u5E94\u4E3B\u673A\u8FDB\u884C\u5B89\u88C5\u3002

\u5F3A\u5236\u66F4\u65B0

\u5F3A\u5236\u66F4\u65B0\u5BF9\u5E94\u7684\u662F\u81EA\u5B9A\u4E49agent\u76D1\u63A7\u9879\u76EE\u4E2D\u7684--disable-auto-update\u548C--disable-force-update\u3002
\u9ED8\u8BA4\u60C5\u51B5\u4E0B\uFF0CAgent\u4F1A\u81EA\u52A8\u66F4\u65B0\uFF0C\u65E0\u9700\u5E72\u9884\u3002\u4F46\u5F53\u7528\u6237\u5173\u95ED\u81EA\u52A8\u66F4\u65B0\u540E\uFF0C\u4E5F\u53EF\u4EE5\u9009\u4E2D\u6307\u5B9A\u4E3B\u673A\u8FDB\u884C\u5F3A\u5236\u66F4\u65B0\u3002
disable-force-update\u5F00\u542F\u65F6\u6B64\u529F\u80FD\u4E0D\u751F\u6548\u3002

\u6570\u636E\u5217

  • \u7248\u672C\u53F7: \u8BB0\u5F55Agent\u5F53\u524D\u7248\u672C
  • \u5BC6\u94A5: \u5373secret\\key\uFF0C\u914D\u7F6EAgent\u65F6\u4F1A\u7528\u5230
  • \u4E00\u952E\u5B89\u88C5: \u8F83\u4E3A\u4FBF\u6377\u7684Agent\u5B89\u88C5\u65B9\u5F0F
  • \u7BA1\u7406: \u5DE6\u4E3AWebShell\uFF0C\u4E2D\u4E3A\u7F16\u8F91\uFF0C\u53F3\u4E3A\u5220\u9664

\u5728\u7EBF\u7EC8\u7AEF

\u5373WebShell\uFF0Cdisable-command-execute\u5F00\u542F\u65F6\u6B64\u529F\u80FD\u4E0D\u751F\u6548\u3002
Linux\u548CWindows\u5747\u53EF\u7528\uFF0C\u53EF\u4F7F\u7528Ctrl+Shift+V\u7C98\u8D34\u3002
\u8FDE\u63A5\u5931\u8D25\u8BF7\u53C2\u8003\u5B9E\u65F6\u901A\u9053\u65AD\u5F00/\u5728\u7EBF\u7EC8\u7AEF\u8FDE\u63A5\u5931\u8D25\u3002
\u6CE8\u610F\u5728\u7EBF\u7EC8\u7AEF\u529F\u80FD\u4E2D\uFF0CAgent\u4E5F\u662F\u901A\u8FC7WebSocket\u8FDE\u63A5\u5230\u7528\u6237\u4F7F\u7528\u57DF\u540D\uFF0C\u800C\u975E\u901A\u8FC7grpc\u4EA4\u4E92\u3002

',13),l=[n];function d(h,s,o,c,g,u){return t(),a("div",null,l)}var b=e(i,[["render",d]]);export{p as __pageData,b as default}; diff --git a/assets/guide_servers.md.7a696277.lean.js b/assets/guide_servers.md.aa5468b1.lean.js similarity index 91% rename from assets/guide_servers.md.7a696277.lean.js rename to assets/guide_servers.md.aa5468b1.lean.js index 993dc055..7f82758e 100644 --- a/assets/guide_servers.md.7a696277.lean.js +++ b/assets/guide_servers.md.aa5468b1.lean.js @@ -1 +1 @@ -import{_ as e,c as a,o as t,d as r}from"./app.c4507667.js";const p='{"title":"\u4E3B\u673A","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4ECB\u7ECD","slug":"\u4ECB\u7ECD"},{"level":2,"title":"\u6DFB\u52A0\u670D\u52A1\u5668","slug":"\u6DFB\u52A0\u670D\u52A1\u5668"},{"level":2,"title":"\u5B89\u88C5Agent","slug":"\u5B89\u88C5agent"},{"level":2,"title":"\u5F3A\u5236\u66F4\u65B0","slug":"\u5F3A\u5236\u66F4\u65B0"},{"level":2,"title":"\u6570\u636E\u5217","slug":"\u6570\u636E\u5217"},{"level":2,"title":"\u5728\u7EBF\u7EC8\u7AEF","slug":"\u5728\u7EBF\u7EC8\u7AEF"}],"relativePath":"guide/servers.md"}',i={},n=r("",13),l=[n];function d(h,s,o,c,g,u){return t(),a("div",null,l)}var b=e(i,[["render",d]]);export{p as __pageData,b as default}; +import{_ as e,c as a,o as t,d as r}from"./app.2c402e15.js";const p='{"title":"\u4E3B\u673A","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4ECB\u7ECD","slug":"\u4ECB\u7ECD"},{"level":2,"title":"\u6DFB\u52A0\u670D\u52A1\u5668","slug":"\u6DFB\u52A0\u670D\u52A1\u5668"},{"level":2,"title":"\u5B89\u88C5Agent","slug":"\u5B89\u88C5agent"},{"level":2,"title":"\u5F3A\u5236\u66F4\u65B0","slug":"\u5F3A\u5236\u66F4\u65B0"},{"level":2,"title":"\u6570\u636E\u5217","slug":"\u6570\u636E\u5217"},{"level":2,"title":"\u5728\u7EBF\u7EC8\u7AEF","slug":"\u5728\u7EBF\u7EC8\u7AEF"}],"relativePath":"guide/servers.md"}',i={},n=r("",13),l=[n];function d(h,s,o,c,g,u){return t(),a("div",null,l)}var b=e(i,[["render",d]]);export{p as __pageData,b as default}; diff --git a/assets/guide_services.md.03f8bd8a.js b/assets/guide_services.md.8e64bc0c.js similarity index 89% rename from assets/guide_services.md.03f8bd8a.js rename to assets/guide_services.md.8e64bc0c.js index b60a84ea..0da9e08b 100644 --- a/assets/guide_services.md.03f8bd8a.js +++ b/assets/guide_services.md.8e64bc0c.js @@ -1 +1 @@ -import{_ as s,c as o,o as a,a as e,b as t}from"./app.c4507667.js";const v='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/services.md"}',c={},r=e("p",null,"\u670D\u52A1\u76D1\u63A7\uFF1AHTTP\u3001SSL\u8BC1\u4E66\u3001ping\u3001TCP \u7AEF\u53E3\u7B49",-1),n=e("p",null,[t("\u8FDB\u5165 "),e("code",null,"/\u670D\u52A1"),t(" \u9875\u9762\u70B9\u51FB\u65B0\u5EFA\u76D1\u63A7\u5373\u53EF\uFF0C\u8868\u5355\u4E0B\u9762\u6709\u76F8\u5173\u8BF4\u660E\u3002")],-1),_=[r,n];function i(d,l,p,u,f,h){return a(),o("div",null,_)}var x=s(c,[["render",i]]);export{v as __pageData,x as default}; +import{_ as s,c as o,o as a,a as e,b as t}from"./app.2c402e15.js";const v='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/services.md"}',c={},r=e("p",null,"\u670D\u52A1\u76D1\u63A7\uFF1AHTTP\u3001SSL\u8BC1\u4E66\u3001ping\u3001TCP \u7AEF\u53E3\u7B49",-1),n=e("p",null,[t("\u8FDB\u5165 "),e("code",null,"/\u670D\u52A1"),t(" \u9875\u9762\u70B9\u51FB\u65B0\u5EFA\u76D1\u63A7\u5373\u53EF\uFF0C\u8868\u5355\u4E0B\u9762\u6709\u76F8\u5173\u8BF4\u660E\u3002")],-1),_=[r,n];function i(d,l,p,u,f,h){return a(),o("div",null,_)}var x=s(c,[["render",i]]);export{v as __pageData,x as default}; diff --git a/assets/guide_services.md.03f8bd8a.lean.js b/assets/guide_services.md.8e64bc0c.lean.js similarity index 89% rename from assets/guide_services.md.03f8bd8a.lean.js rename to assets/guide_services.md.8e64bc0c.lean.js index b60a84ea..0da9e08b 100644 --- a/assets/guide_services.md.03f8bd8a.lean.js +++ b/assets/guide_services.md.8e64bc0c.lean.js @@ -1 +1 @@ -import{_ as s,c as o,o as a,a as e,b as t}from"./app.c4507667.js";const v='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/services.md"}',c={},r=e("p",null,"\u670D\u52A1\u76D1\u63A7\uFF1AHTTP\u3001SSL\u8BC1\u4E66\u3001ping\u3001TCP \u7AEF\u53E3\u7B49",-1),n=e("p",null,[t("\u8FDB\u5165 "),e("code",null,"/\u670D\u52A1"),t(" \u9875\u9762\u70B9\u51FB\u65B0\u5EFA\u76D1\u63A7\u5373\u53EF\uFF0C\u8868\u5355\u4E0B\u9762\u6709\u76F8\u5173\u8BF4\u660E\u3002")],-1),_=[r,n];function i(d,l,p,u,f,h){return a(),o("div",null,_)}var x=s(c,[["render",i]]);export{v as __pageData,x as default}; +import{_ as s,c as o,o as a,a as e,b as t}from"./app.2c402e15.js";const v='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/services.md"}',c={},r=e("p",null,"\u670D\u52A1\u76D1\u63A7\uFF1AHTTP\u3001SSL\u8BC1\u4E66\u3001ping\u3001TCP \u7AEF\u53E3\u7B49",-1),n=e("p",null,[t("\u8FDB\u5165 "),e("code",null,"/\u670D\u52A1"),t(" \u9875\u9762\u70B9\u51FB\u65B0\u5EFA\u76D1\u63A7\u5373\u53EF\uFF0C\u8868\u5355\u4E0B\u9762\u6709\u76F8\u5173\u8BF4\u660E\u3002")],-1),_=[r,n];function i(d,l,p,u,f,h){return a(),o("div",null,_)}var x=s(c,[["render",i]]);export{v as __pageData,x as default}; diff --git a/assets/guide_settings.md.9ab24442.js b/assets/guide_settings.md.2744ab59.js similarity index 53% rename from assets/guide_settings.md.9ab24442.js rename to assets/guide_settings.md.2744ab59.js index 20c0f481..b2138f88 100644 --- a/assets/guide_settings.md.9ab24442.js +++ b/assets/guide_settings.md.2744ab59.js @@ -1,4 +1,4 @@ -import{_ as n,c as s,o as a,d as t}from"./app.c4507667.js";const h='{"title":"\u591A\u8BED\u8A00","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u591A\u8BED\u8A00","slug":"\u591A\u8BED\u8A00"},{"level":2,"title":"\u81EA\u5B9A\u4E49\u4EE3\u7801","slug":"\u81EA\u5B9A\u4E49\u4EE3\u7801"}],"relativePath":"guide/settings.md"}',p={},o=t(`

\u591A\u8BED\u8A00

\u54EA\u5412\u76D1\u63A7\u76EE\u524D\u652F\u6301\u4EE5\u4E0B\u8BED\u8A00\uFF1A

  • \u7B80\u4F53\u4E2D\u6587
  • English
  • Espa\xF1ol


\u6211\u4EEC\u6B22\u8FCE\u60A8\u8D21\u732E\u66F4\u591A\u8BED\u8A00

\u81EA\u5B9A\u4E49\u4EE3\u7801

\u6539LOGO\u3001\u6539\u8272\u8C03\u3001\u52A0\u7EDF\u8BA1\u4EE3\u7801\u7B49\u3002

WARNING

\u81EA\u5B9A\u4E49\u4EE3\u7801\u4EC5\u5728\u6E38\u5BA2\u9996\u9875\u751F\u6548\u3002


\u9ED8\u8BA4\u4E3B\u9898\u66F4\u6539\u8FDB\u5EA6\u6761\u989C\u8272\u793A\u4F8B

<style>
+import{_ as n,c as a,o as s,d as t}from"./app.2c402e15.js";const g='{"title":"\u7AD9\u70B9\u6807\u9898","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7AD9\u70B9\u6807\u9898","slug":"\u7AD9\u70B9\u6807\u9898"},{"level":2,"title":"\u7BA1\u7406\u5458\u5217\u8868","slug":"\u7BA1\u7406\u5458\u5217\u8868"},{"level":2,"title":"\u4E3B\u9898","slug":"\u4E3B\u9898"},{"level":2,"title":"Language","slug":"language"},{"level":2,"title":"\u81EA\u5B9A\u4E49\u4EE3\u7801","slug":"\u81EA\u5B9A\u4E49\u4EE3\u7801"},{"level":2,"title":"\u524D\u53F0\u67E5\u770B\u5BC6\u7801","slug":"\u524D\u53F0\u67E5\u770B\u5BC6\u7801"},{"level":2,"title":"\u672A\u63A5\u5165CDN\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D/IP","slug":"\u672A\u63A5\u5165cdn\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D-ip"},{"level":2,"title":"IP \u53D8\u66F4\u63D0\u9192","slug":"ip-\u53D8\u66F4\u63D0\u9192"}],"relativePath":"guide/settings.md"}',p={},e=t(`

\u7AD9\u70B9\u6807\u9898

\u4F60\u53EF\u4EE5\u5728\u6B64\u9879\u4E2D\u81EA\u5B9A\u4E49\u4F60\u7684\u7AD9\u70B9\u6807\u9898

\u7BA1\u7406\u5458\u5217\u8868

  • \u5982\u679C\u4F60\u4FEE\u6539\u4E86\u81EA\u5DF1\u7684Github/Gitee\u7528\u6237\u540D\uFF0C\u53EF\u4EE5\u5728\u6B64\u9879\u4E2D\u540C\u6B65\u4FEE\u6539\uFF0C\u5426\u5219\u65E0\u6CD5\u767B\u9646\uFF0C\u591A\u4E2A\u7528\u6237\u8BF7\u7528\u9017\u53F7\u9694\u5F00: user1,user2

  • \u5982\u9700\u66F4\u6539\u7BA1\u7406\u5458\u8D26\u6237\uFF0C\u8BF7\u5728\u5B89\u88C5\u811A\u672C\u4E2D\u9009\u62E9\u201C\u4FEE\u6539\u9762\u677F\u8BBE\u7F6E\u201D\uFF0C\u91CD\u65B0\u8BBE\u7F6E\u65B0\u7684\u7BA1\u7406\u5458 Client ID \u548C Client Secret

\u4E3B\u9898

\u5728\u8FD9\u91CC\u9009\u62E9\u4E3B\u9875\u4E3B\u9898\uFF0C\u5982\u679C\u9009\u9879\u4E2D\u6CA1\u6709\u67D0\u4E2A\u5DF2\u5B58\u5728\u7684\u4E3B\u9898\uFF0C\u8BF7\u66F4\u65B0\u9762\u677F

Language

\u54EA\u5412\u76D1\u63A7\u76EE\u524D\u652F\u6301\u4EE5\u4E0B\u8BED\u8A00\uFF1A

  • \u7B80\u4F53\u4E2D\u6587
  • English
  • Espa\xF1ol


\u6211\u4EEC\u6B22\u8FCE\u60A8\u5BF9\u7FFB\u8BD1\u8FDB\u884C\u52D8\u8BEF\u548C\u8D21\u732E\u66F4\u591A\u8BED\u8A00

\u81EA\u5B9A\u4E49\u4EE3\u7801

\u6539LOGO\u3001\u6539\u8272\u8C03\u3001\u52A0\u7EDF\u8BA1\u4EE3\u7801\u7B49\u3002

WARNING

\u81EA\u5B9A\u4E49\u4EE3\u7801\u4EC5\u5728\u6E38\u5BA2\u9996\u9875\u751F\u6548\uFF0C\u7BA1\u7406\u9762\u677F\u4E0D\u751F\u6548
\u7531\u4E8E\u4E0D\u540C\u4E3B\u9898\u7684\u4EE3\u7801\u4E0D\u540C\uFF0C\u5982\u786E\u9700\u4FEE\u6539\u7BA1\u7406\u9762\u677F\u4E2D\u7684\u5185\u5BB9\uFF0C\u8BF7\u81EA\u884C\u524D\u5F80 Docker \u4E2D\u7814\u7A76\u4FEE\u6539


\u9ED8\u8BA4\u4E3B\u9898\u66F4\u6539\u8FDB\u5EA6\u6761\u989C\u8272\u793A\u4F8B

<style>
 .ui.fine.progress> .bar {
     background-color: pink !important;
 }
@@ -41,4 +41,4 @@ avatar.stylebackground: url(https://s3.ax1x.com/2020/12/08/DzHv6A.jpg) center;
 }
 </style>
-
`,16),e=[o];function c(l,i,u,r,k,g){return a(),s("div",null,e)}var y=n(p,[["render",c]]);export{h as __pageData,y as default}; +

\u524D\u53F0\u67E5\u770B\u5BC6\u7801

\u5982\u679C\u4F60\u4E0D\u60F3\u76F4\u63A5\u5C55\u793A\u4F60\u7684\u4E3B\u9875\uFF0C\u4F60\u53EF\u4EE5\u5728\u8FD9\u91CC\u8BBE\u7F6E\u4E00\u4E2A\u67E5\u770B\u5BC6\u7801
\u8BBE\u7F6E\u5BC6\u7801\u540E\uFF0C\u9700\u8981\u8F93\u5165\u5BC6\u7801\u624D\u53EF\u4EE5\u8BBF\u95EE\u4E3B\u9875

\u672A\u63A5\u5165CDN\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D/IP

\u6B64\u9879\u8BBE\u7F6E\u662F\u4F7F\u7528\u4E00\u952E\u811A\u672C\u5B89\u88C5 Agent \u7684\u524D\u63D0\uFF0C\u8BE6\u60C5\u8BF7\u67E5\u770B\u8FD9\u91CC

IP \u53D8\u66F4\u63D0\u9192

\u5982\u679C\u4F60\u5E0C\u671B\u5F53\u67D0\u4E2A\u670D\u52A1\u5668\u7684ip\u53D1\u751F\u53D8\u66F4\u65F6\u6536\u5230\u901A\u77E5\uFF0C\u53EF\u4EE5\u5728\u8FD9\u91CC\u8FDB\u884C\u8BBE\u7F6E

\u8986\u76D6\u8303\u56F4

\u5728\u8FD9\u91CC\u9009\u62E9\u4E00\u6761\u89C4\u5219\uFF0C\u6765\u786E\u5B9A\u9700\u8981\u76D1\u63A7\u54EA\u4E9B\u670D\u52A1\u5668\uFF0C\u53EF\u4EE5\u6839\u636E\u81EA\u5DF1\u7684\u9700\u6C42\u8FDB\u884C\u9009\u62E9

\u7279\u5B9A\u670D\u52A1\u5668

\u914D\u5408\u8986\u76D6\u8303\u56F4\u7684\u8BBE\u7F6E\uFF0C\u5728\u8FD9\u91CC\u8BBE\u7F6E\u9009\u5B9A\u89C4\u5219\u7684\u6392\u9664\u9879

\u63D0\u9192\u53D1\u9001\u81F3\u6307\u5B9A\u7684\u901A\u77E5\u5206\u7EC4

\u9009\u62E9\u901A\u77E5\u65B9\u5F0F\uFF0C\u901A\u77E5\u65B9\u5F0F\u8BF7\u63D0\u524D\u5728 \u201C\u62A5\u8B66\u201D \u9875\u5185\u8BBE\u7F6E

WARNING

\u8BBE\u7F6E\u5B8C\u6210\u540E\uFF0C\u52FE\u9009\u542F\u7528\u65F6\uFF0C\u901A\u77E5\u751F\u6548


WARNING

IP\u53D8\u66F4\u901A\u77E5\u9ED8\u8BA4\u6253\u7801\uFF0C\u5982\u679C\u4F60\u4E0D\u5E0C\u671B\u6253\u7801\uFF0C\u53EF\u4EE5\u52FE\u9009 \u201C\u901A\u77E5\u4FE1\u606FIP\u4E0D\u6253\u7801\u201D

`,37),o=[e];function c(l,i,r,u,k,d){return s(),a("div",null,o)}var b=n(p,[["render",c]]);export{g as __pageData,b as default}; diff --git a/assets/guide_settings.md.2744ab59.lean.js b/assets/guide_settings.md.2744ab59.lean.js new file mode 100644 index 00000000..28284981 --- /dev/null +++ b/assets/guide_settings.md.2744ab59.lean.js @@ -0,0 +1 @@ +import{_ as n,c as a,o as s,d as t}from"./app.2c402e15.js";const g='{"title":"\u7AD9\u70B9\u6807\u9898","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u7AD9\u70B9\u6807\u9898","slug":"\u7AD9\u70B9\u6807\u9898"},{"level":2,"title":"\u7BA1\u7406\u5458\u5217\u8868","slug":"\u7BA1\u7406\u5458\u5217\u8868"},{"level":2,"title":"\u4E3B\u9898","slug":"\u4E3B\u9898"},{"level":2,"title":"Language","slug":"language"},{"level":2,"title":"\u81EA\u5B9A\u4E49\u4EE3\u7801","slug":"\u81EA\u5B9A\u4E49\u4EE3\u7801"},{"level":2,"title":"\u524D\u53F0\u67E5\u770B\u5BC6\u7801","slug":"\u524D\u53F0\u67E5\u770B\u5BC6\u7801"},{"level":2,"title":"\u672A\u63A5\u5165CDN\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D/IP","slug":"\u672A\u63A5\u5165cdn\u7684\u9762\u677F\u670D\u52A1\u5668\u57DF\u540D-ip"},{"level":2,"title":"IP \u53D8\u66F4\u63D0\u9192","slug":"ip-\u53D8\u66F4\u63D0\u9192"}],"relativePath":"guide/settings.md"}',p={},e=t("",37),o=[e];function c(l,i,r,u,k,d){return s(),a("div",null,o)}var b=n(p,[["render",c]]);export{g as __pageData,b as default}; diff --git a/assets/guide_settings.md.9ab24442.lean.js b/assets/guide_settings.md.9ab24442.lean.js deleted file mode 100644 index 3cd4b647..00000000 --- a/assets/guide_settings.md.9ab24442.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as n,c as s,o as a,d as t}from"./app.c4507667.js";const h='{"title":"\u591A\u8BED\u8A00","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u591A\u8BED\u8A00","slug":"\u591A\u8BED\u8A00"},{"level":2,"title":"\u81EA\u5B9A\u4E49\u4EE3\u7801","slug":"\u81EA\u5B9A\u4E49\u4EE3\u7801"}],"relativePath":"guide/settings.md"}',p={},o=t("",16),e=[o];function c(l,i,u,r,k,g){return a(),s("div",null,e)}var y=n(p,[["render",c]]);export{h as __pageData,y as default}; diff --git a/assets/guide_tasks.md.e732fdac.js b/assets/guide_tasks.md.3511a321.js similarity index 90% rename from assets/guide_tasks.md.e732fdac.js rename to assets/guide_tasks.md.3511a321.js index 17e4b03c..6bc1dd16 100644 --- a/assets/guide_tasks.md.e732fdac.js +++ b/assets/guide_tasks.md.3511a321.js @@ -1 +1 @@ -import{_ as t,c as s,o as a,a as e}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tasks.md"}',o={},r=e("p",null,"\u8BA1\u5212\u4EFB\u52A1\uFF1A\u5907\u4EFD\u811A\u672C\u3001\u670D\u52A1\u91CD\u542F\uFF0C\u7B49\u5B9A\u671F\u8FD0\u7EF4\u4EFB\u52A1\u3002",-1),c=e("p",null,"\u4F7F\u7528\u6B64\u529F\u80FD\u53EF\u4EE5\u5B9A\u671F\u7ED3\u5408 restic\u3001rclone \u7ED9\u670D\u52A1\u5668\u5907\u4EFD\uFF0C\u6216\u8005\u5B9A\u671F\u91CD\u542F\u67D0\u9879\u670D\u52A1\u6765\u91CD\u7F6E\u7F51\u7EDC\u8FDE\u63A5\u3002",-1),n=[r,c];function _(i,d,l,p,u,f){return a(),s("div",null,n)}var k=t(o,[["render",_]]);export{m as __pageData,k as default}; +import{_ as t,c as s,o as a,a as e}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tasks.md"}',o={},r=e("p",null,"\u8BA1\u5212\u4EFB\u52A1\uFF1A\u5907\u4EFD\u811A\u672C\u3001\u670D\u52A1\u91CD\u542F\uFF0C\u7B49\u5B9A\u671F\u8FD0\u7EF4\u4EFB\u52A1\u3002",-1),c=e("p",null,"\u4F7F\u7528\u6B64\u529F\u80FD\u53EF\u4EE5\u5B9A\u671F\u7ED3\u5408 restic\u3001rclone \u7ED9\u670D\u52A1\u5668\u5907\u4EFD\uFF0C\u6216\u8005\u5B9A\u671F\u91CD\u542F\u67D0\u9879\u670D\u52A1\u6765\u91CD\u7F6E\u7F51\u7EDC\u8FDE\u63A5\u3002",-1),n=[r,c];function _(i,d,l,p,u,f){return a(),s("div",null,n)}var k=t(o,[["render",_]]);export{m as __pageData,k as default}; diff --git a/assets/guide_tasks.md.e732fdac.lean.js b/assets/guide_tasks.md.3511a321.lean.js similarity index 90% rename from assets/guide_tasks.md.e732fdac.lean.js rename to assets/guide_tasks.md.3511a321.lean.js index 17e4b03c..6bc1dd16 100644 --- a/assets/guide_tasks.md.e732fdac.lean.js +++ b/assets/guide_tasks.md.3511a321.lean.js @@ -1 +1 @@ -import{_ as t,c as s,o as a,a as e}from"./app.c4507667.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tasks.md"}',o={},r=e("p",null,"\u8BA1\u5212\u4EFB\u52A1\uFF1A\u5907\u4EFD\u811A\u672C\u3001\u670D\u52A1\u91CD\u542F\uFF0C\u7B49\u5B9A\u671F\u8FD0\u7EF4\u4EFB\u52A1\u3002",-1),c=e("p",null,"\u4F7F\u7528\u6B64\u529F\u80FD\u53EF\u4EE5\u5B9A\u671F\u7ED3\u5408 restic\u3001rclone \u7ED9\u670D\u52A1\u5668\u5907\u4EFD\uFF0C\u6216\u8005\u5B9A\u671F\u91CD\u542F\u67D0\u9879\u670D\u52A1\u6765\u91CD\u7F6E\u7F51\u7EDC\u8FDE\u63A5\u3002",-1),n=[r,c];function _(i,d,l,p,u,f){return a(),s("div",null,n)}var k=t(o,[["render",_]]);export{m as __pageData,k as default}; +import{_ as t,c as s,o as a,a as e}from"./app.2c402e15.js";const m='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/tasks.md"}',o={},r=e("p",null,"\u8BA1\u5212\u4EFB\u52A1\uFF1A\u5907\u4EFD\u811A\u672C\u3001\u670D\u52A1\u91CD\u542F\uFF0C\u7B49\u5B9A\u671F\u8FD0\u7EF4\u4EFB\u52A1\u3002",-1),c=e("p",null,"\u4F7F\u7528\u6B64\u529F\u80FD\u53EF\u4EE5\u5B9A\u671F\u7ED3\u5408 restic\u3001rclone \u7ED9\u670D\u52A1\u5668\u5907\u4EFD\uFF0C\u6216\u8005\u5B9A\u671F\u91CD\u542F\u67D0\u9879\u670D\u52A1\u6765\u91CD\u7F6E\u7F51\u7EDC\u8FDE\u63A5\u3002",-1),n=[r,c];function _(i,d,l,p,u,f){return a(),s("div",null,n)}var k=t(o,[["render",_]]);export{m as __pageData,k as default}; diff --git a/assets/index.md.54d284a8.js b/assets/index.md.2c78f74e.js similarity index 96% rename from assets/index.md.54d284a8.js rename to assets/index.md.2c78f74e.js index 2d89fbae..97d85b92 100644 --- a/assets/index.md.54d284a8.js +++ b/assets/index.md.2c78f74e.js @@ -1 +1 @@ -import{_ as a,c as r,o,a as e,b as t}from"./app.c4507667.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"\u54EA\u5412\u76D1\u63A7","tagline":"\u4E00\u4E2A\u5F00\u6E90\u3001\u8F7B\u91CF\u7684\u670D\u52A1\u5668\u548C\u7F51\u7AD9\u76D1\u63A7\u3001\u8FD0\u7EF4\u5DE5\u5177","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/guide/dashboard","features":[{"title":"\u4E00\u952E\u5B89\u88C5","details":"\u652F\u6301\u4E00\u952E\u811A\u672C\u5B89\u88C5\u9762\u677F\u548C\u76D1\u63A7\u670D\u52A1\uFF0C\u8F7B\u677E\u4F7F\u7528\uFF1BLinux\u3001WIndows\u3001MacOS\u3001OpenWRT\u7B49\u4E3B\u6D41\u7CFB\u7EDF\u5747\u53D7\u652F\u6301"},{"title":"\u968F\u65F6\u76D1\u63A7","details":"\u652F\u6301\u540C\u65F6\u76D1\u63A7\u591A\u4E2A\u670D\u52A1\u5668\u7684\u7CFB\u7EDF\u72B6\u6001\uFF0C\u652F\u6301\u76D1\u63A7\u7F51\u9875\u3001\u7AEF\u53E3\u3001SSL\u8BC1\u4E66\u72B6\u6001\uFF1B\u652F\u6301\u6545\u969C\u3001\u6D41\u91CF\u7B49\u72B6\u6001\u62A5\u8B66\uFF0C\u652F\u6301\u591A\u79CD\u901A\u77E5\u65B9\u5F0F\uFF08Telegram\u3001\u90AE\u4EF6\u3001\u5FAE\u4FE1\u7B49\uFF09"},{"title":"\u8F7B\u91CF\u8FD0\u7EF4","details":"\u652F\u6301\u5728\u7EBFSSH\uFF0C\u652F\u6301\u6D41\u91CF\u5FAA\u73AF\u76D1\u63A7\uFF0C\u652F\u6301\u8BBE\u7F6E\u5B9A\u65F6\u4EFB\u52A1\u3001\u670D\u52A1\u5668\u6279\u91CF\u6267\u884C\u4EFB\u52A1"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"index.md"}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),i=[n];function c(d,l,h,p,_,m){return o(),r("div",null,i)}var g=a(s,[["render",c]]);export{f as __pageData,g as default}; +import{_ as a,c as r,o,a as e,b as t}from"./app.2c402e15.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"\u54EA\u5412\u76D1\u63A7","tagline":"\u4E00\u4E2A\u5F00\u6E90\u3001\u8F7B\u91CF\u7684\u670D\u52A1\u5668\u548C\u7F51\u7AD9\u76D1\u63A7\u3001\u8FD0\u7EF4\u5DE5\u5177","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/guide/dashboard","features":[{"title":"\u4E00\u952E\u5B89\u88C5","details":"\u652F\u6301\u4E00\u952E\u811A\u672C\u5B89\u88C5\u9762\u677F\u548C\u76D1\u63A7\u670D\u52A1\uFF0C\u8F7B\u677E\u4F7F\u7528\uFF1BLinux\u3001WIndows\u3001MacOS\u3001OpenWRT\u7B49\u4E3B\u6D41\u7CFB\u7EDF\u5747\u53D7\u652F\u6301"},{"title":"\u968F\u65F6\u76D1\u63A7","details":"\u652F\u6301\u540C\u65F6\u76D1\u63A7\u591A\u4E2A\u670D\u52A1\u5668\u7684\u7CFB\u7EDF\u72B6\u6001\uFF0C\u652F\u6301\u76D1\u63A7\u7F51\u9875\u3001\u7AEF\u53E3\u3001SSL\u8BC1\u4E66\u72B6\u6001\uFF1B\u652F\u6301\u6545\u969C\u3001\u6D41\u91CF\u7B49\u72B6\u6001\u62A5\u8B66\uFF0C\u652F\u6301\u591A\u79CD\u901A\u77E5\u65B9\u5F0F\uFF08Telegram\u3001\u90AE\u4EF6\u3001\u5FAE\u4FE1\u7B49\uFF09"},{"title":"\u8F7B\u91CF\u8FD0\u7EF4","details":"\u652F\u6301\u5728\u7EBFSSH\uFF0C\u652F\u6301\u6D41\u91CF\u5FAA\u73AF\u76D1\u63A7\uFF0C\u652F\u6301\u8BBE\u7F6E\u5B9A\u65F6\u4EFB\u52A1\u3001\u670D\u52A1\u5668\u6279\u91CF\u6267\u884C\u4EFB\u52A1"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"index.md"}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),i=[n];function c(d,l,h,p,_,m){return o(),r("div",null,i)}var g=a(s,[["render",c]]);export{f as __pageData,g as default}; diff --git a/assets/index.md.54d284a8.lean.js b/assets/index.md.2c78f74e.lean.js similarity index 96% rename from assets/index.md.54d284a8.lean.js rename to assets/index.md.2c78f74e.lean.js index 2d89fbae..97d85b92 100644 --- a/assets/index.md.54d284a8.lean.js +++ b/assets/index.md.2c78f74e.lean.js @@ -1 +1 @@ -import{_ as a,c as r,o,a as e,b as t}from"./app.c4507667.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"\u54EA\u5412\u76D1\u63A7","tagline":"\u4E00\u4E2A\u5F00\u6E90\u3001\u8F7B\u91CF\u7684\u670D\u52A1\u5668\u548C\u7F51\u7AD9\u76D1\u63A7\u3001\u8FD0\u7EF4\u5DE5\u5177","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/guide/dashboard","features":[{"title":"\u4E00\u952E\u5B89\u88C5","details":"\u652F\u6301\u4E00\u952E\u811A\u672C\u5B89\u88C5\u9762\u677F\u548C\u76D1\u63A7\u670D\u52A1\uFF0C\u8F7B\u677E\u4F7F\u7528\uFF1BLinux\u3001WIndows\u3001MacOS\u3001OpenWRT\u7B49\u4E3B\u6D41\u7CFB\u7EDF\u5747\u53D7\u652F\u6301"},{"title":"\u968F\u65F6\u76D1\u63A7","details":"\u652F\u6301\u540C\u65F6\u76D1\u63A7\u591A\u4E2A\u670D\u52A1\u5668\u7684\u7CFB\u7EDF\u72B6\u6001\uFF0C\u652F\u6301\u76D1\u63A7\u7F51\u9875\u3001\u7AEF\u53E3\u3001SSL\u8BC1\u4E66\u72B6\u6001\uFF1B\u652F\u6301\u6545\u969C\u3001\u6D41\u91CF\u7B49\u72B6\u6001\u62A5\u8B66\uFF0C\u652F\u6301\u591A\u79CD\u901A\u77E5\u65B9\u5F0F\uFF08Telegram\u3001\u90AE\u4EF6\u3001\u5FAE\u4FE1\u7B49\uFF09"},{"title":"\u8F7B\u91CF\u8FD0\u7EF4","details":"\u652F\u6301\u5728\u7EBFSSH\uFF0C\u652F\u6301\u6D41\u91CF\u5FAA\u73AF\u76D1\u63A7\uFF0C\u652F\u6301\u8BBE\u7F6E\u5B9A\u65F6\u4EFB\u52A1\u3001\u670D\u52A1\u5668\u6279\u91CF\u6267\u884C\u4EFB\u52A1"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"index.md"}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),i=[n];function c(d,l,h,p,_,m){return o(),r("div",null,i)}var g=a(s,[["render",c]]);export{f as __pageData,g as default}; +import{_ as a,c as r,o,a as e,b as t}from"./app.2c402e15.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"\u54EA\u5412\u76D1\u63A7","tagline":"\u4E00\u4E2A\u5F00\u6E90\u3001\u8F7B\u91CF\u7684\u670D\u52A1\u5668\u548C\u7F51\u7AD9\u76D1\u63A7\u3001\u8FD0\u7EF4\u5DE5\u5177","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/guide/dashboard","features":[{"title":"\u4E00\u952E\u5B89\u88C5","details":"\u652F\u6301\u4E00\u952E\u811A\u672C\u5B89\u88C5\u9762\u677F\u548C\u76D1\u63A7\u670D\u52A1\uFF0C\u8F7B\u677E\u4F7F\u7528\uFF1BLinux\u3001WIndows\u3001MacOS\u3001OpenWRT\u7B49\u4E3B\u6D41\u7CFB\u7EDF\u5747\u53D7\u652F\u6301"},{"title":"\u968F\u65F6\u76D1\u63A7","details":"\u652F\u6301\u540C\u65F6\u76D1\u63A7\u591A\u4E2A\u670D\u52A1\u5668\u7684\u7CFB\u7EDF\u72B6\u6001\uFF0C\u652F\u6301\u76D1\u63A7\u7F51\u9875\u3001\u7AEF\u53E3\u3001SSL\u8BC1\u4E66\u72B6\u6001\uFF1B\u652F\u6301\u6545\u969C\u3001\u6D41\u91CF\u7B49\u72B6\u6001\u62A5\u8B66\uFF0C\u652F\u6301\u591A\u79CD\u901A\u77E5\u65B9\u5F0F\uFF08Telegram\u3001\u90AE\u4EF6\u3001\u5FAE\u4FE1\u7B49\uFF09"},{"title":"\u8F7B\u91CF\u8FD0\u7EF4","details":"\u652F\u6301\u5728\u7EBFSSH\uFF0C\u652F\u6301\u6D41\u91CF\u5FAA\u73AF\u76D1\u63A7\uFF0C\u652F\u6301\u8BBE\u7F6E\u5B9A\u65F6\u4EFB\u52A1\u3001\u670D\u52A1\u5668\u6279\u91CF\u6267\u884C\u4EFB\u52A1"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"index.md"}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),i=[n];function c(d,l,h,p,_,m){return o(),r("div",null,i)}var g=a(s,[["render",c]]);export{f as __pageData,g as default}; diff --git a/developer/index.html b/developer/index.html index 458277ef..54d5a3f3 100644 --- a/developer/index.html +++ b/developer/index.html @@ -6,16 +6,16 @@ 哪吒监控 - - + + -

开发手册

欢迎使用哪吒监控开发手册,我们欢迎你提出高质量的Pull Request,帮助哪吒监控变得更好!

Copyright © 2022-present Nezhahq

- - +

开发手册

欢迎使用哪吒监控开发手册,我们欢迎你提出高质量的Pull Request,帮助哪吒监控变得更好!

Copyright © 2022-present Nezhahq

+ + \ No newline at end of file diff --git a/developer/l10n.html b/developer/l10n.html new file mode 100644 index 00000000..854801eb --- /dev/null +++ b/developer/l10n.html @@ -0,0 +1,21 @@ + + + + + + 使用说明 | 哪吒监控 + + + + + + + + + +

哪吒监控的Dashboard已经添加本地化,支持多个语言,你可以在开发新功能时遵循以下步骤来支持本地化

WARNING

哪吒监控使用 Crowdin 平台翻译文本,请不要直接修改除 zh-CN.toml 以外的toml文件

使用说明

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中的配置来替换新功能中的文本
  2. 如果新功能中有新的文本,请将新文本拉取到 zh-CN.toml
  3. 在Pull Request被合并后,你可以前往 Crowdin 平台贡献新文本的翻译
+ + + + + \ No newline at end of file diff --git a/developer/theme.html b/developer/theme.html index d6380143..9a9cd70a 100644 --- a/developer/theme.html +++ b/developer/theme.html @@ -6,16 +6,16 @@ 哪吒主题开发环境 | 哪吒监控 - - + + -

哪吒主题开发环境

哪吒面板提供了主题开发环境,你可以使用它来创建新的哪吒监控主题

WARNING

请注意: 此开发环境仅支持 dashboard v0.13.16 及更新版本。

使用说明

  1. 克隆此仓库到本地
  2. 修改 data/config.yaml 中的oauth2 配置(回调连接可以填 http://localhost 的)
  3. docker-compose up
  4. 开始开发
  5. 主题制作完成之后可以将 theme-custom 放置到服务器上的 /opt/nezha/dashboard/theme-custom 位置

FAQ

  • 如果不能使用 80 端口,在 docker-compose.yaml 中修改配置。
- - +

哪吒主题开发环境

哪吒面板提供了主题开发环境,你可以使用它来创建新的哪吒监控主题

WARNING

请注意: 此开发环境仅支持 dashboard v0.13.16 及更新版本。

使用说明

  1. 克隆此仓库到本地
  2. 修改 data/config.yaml 中的oauth2 配置(回调连接可以填 http://localhost 的)
  3. docker-compose up
  4. 开始开发
  5. 主题制作完成之后可以将 theme-custom 放置到服务器上的 /opt/nezha/dashboard/theme-custom 位置

FAQ

  • 如果不能使用 80 端口,在 docker-compose.yaml 中修改配置。
+ + \ No newline at end of file diff --git a/en_US/developer/index.html b/en_US/developer/index.html index fd6db4b5..ecb16ea1 100644 --- a/en_US/developer/index.html +++ b/en_US/developer/index.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + -

Development Manual

Welcome to the Nezha Monitoring Development Manual.

Copyright © 2022-present Nezhahq

- - +

Development Manual

Welcome to the Nezha Monitoring Development Manual.

Copyright © 2022-present Nezhahq

+ + \ No newline at end of file diff --git a/en_US/developer/l10n.html b/en_US/developer/l10n.html new file mode 100644 index 00000000..98e31ec1 --- /dev/null +++ b/en_US/developer/l10n.html @@ -0,0 +1,21 @@ + + + + + + Nezha Monitoring + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/en_US/developer/theme.html b/en_US/developer/theme.html index fac9605b..31f42905 100644 --- a/en_US/developer/theme.html +++ b/en_US/developer/theme.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - - + + + \ No newline at end of file diff --git a/en_US/guide/agent.html b/en_US/guide/agent.html index 4f89fdb3..a8c4f7d0 100644 --- a/en_US/guide/agent.html +++ b/en_US/guide/agent.html @@ -6,8 +6,8 @@ Install Agent using one-click script | Nezha Monitoring - - + + @@ -37,8 +37,8 @@ start }
  • 运行 chmod +x /etc/init.d/nezha-service 赋予执行权限
  • 启动服务: /etc/init.d/nezha-service enable && /etc/init.d/nezha-service start



自定义Agent监控项目


自定义监控的网卡和硬盘分区

  • 执行 /opt/nezha/agent/nezha-agent --edit-agent-config 来选择自定义的网卡和分区,然后重启 Agent 即可生效

其他运行参数

通过执行 ./nezha-agent --help 查看支持的参数,如果你使用了一键脚本安装Agent,可以编辑 /etc/systemd/system/nezha-agent.service,在 ExecStart= 这一行的末尾加上以下参数

  • --report-delay 控制系统信息上报的间隔,默认为 1 秒,可以设置为 3 来进一步降低 agent 端系统资源占用(配置区间 1-4)
  • --skip-conn 不监控连接数,推荐 机场/连接密集型服务器或CPU占用较高的服务器设置
  • --skip-procs 不监控进程数,也可以降低 agent 占用
  • --disable-auto-update 禁止 自动更新 Agent(安全特性)
  • --disable-force-update 禁止 强制更新 Agent(安全特性)
  • --disable-command-execute 禁止在 Agent 上执行定时任务、打开在线终端(安全特性)
  • --tls 启用 SSL/TLS 加密(使用 nginx 反向代理 Agent 的 grpc 连接,并且 nginx 开启 SSL/TLS 时,需要启用该项配置)
- - + + \ No newline at end of file diff --git a/en_US/guide/agentq.html b/en_US/guide/agentq.html index 5aea5f69..744cd6e2 100644 --- a/en_US/guide/agentq.html +++ b/en_US/guide/agentq.html @@ -6,16 +6,16 @@ Agent | Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/api.html b/en_US/guide/api.html index 6df07f39..cc411ddf 100644 --- a/en_US/guide/api.html +++ b/en_US/guide/api.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - - + + + \ No newline at end of file diff --git a/en_US/guide/dashboard.html b/en_US/guide/dashboard.html index 4b273fc6..bc2b8513 100644 --- a/en_US/guide/dashboard.html +++ b/en_US/guide/dashboard.html @@ -6,8 +6,8 @@ Preparations | Nezha Monitoring - - + + @@ -37,8 +37,8 @@ proxy /terminal/* http://ip:8008 { websocket }


在宝塔面板中配置SSL


首先,先暂时关闭反向代理
正如在其他网站中配置SSL证书一样,进入站点设置中的“SSL”,你可以选择自动申请 Let´s Encrypt 证书或手动配置已有的证书
完成SSL的设置后,你需要回到 https://github.com/settings/developers ,编辑之前创建的验证应用程序,将之前我们填入的"Homepage URL"和"Authorization callback URL"中的域名全部从http改为https,如:"https://cdn.example.com" 和 "https://cdn.example.com/oauth2/callback" ,不更改此项可能会导致你无法登陆面板后台

- - + + \ No newline at end of file diff --git a/en_US/guide/dashboardq.html b/en_US/guide/dashboardq.html index c1792e88..0ae67c27 100644 --- a/en_US/guide/dashboardq.html +++ b/en_US/guide/dashboardq.html @@ -6,16 +6,16 @@ Dashboard | Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/loginq.html b/en_US/guide/loginq.html index 90e83e00..70cba0ba 100644 --- a/en_US/guide/loginq.html +++ b/en_US/guide/loginq.html @@ -6,16 +6,16 @@ Login | Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/notifications.html b/en_US/guide/notifications.html index a80a810e..6ca352e5 100644 --- a/en_US/guide/notifications.html +++ b/en_US/guide/notifications.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/q2.html b/en_US/guide/q2.html index 5b57c362..7692b99b 100644 --- a/en_US/guide/q2.html +++ b/en_US/guide/q2.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/q3.html b/en_US/guide/q3.html index 0f535e46..c504371f 100644 --- a/en_US/guide/q3.html +++ b/en_US/guide/q3.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/q4.html b/en_US/guide/q4.html index 9813c40c..034c5475 100644 --- a/en_US/guide/q4.html +++ b/en_US/guide/q4.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/q5.html b/en_US/guide/q5.html index 43f5a993..9c333144 100644 --- a/en_US/guide/q5.html +++ b/en_US/guide/q5.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/servers.html b/en_US/guide/servers.html index d24bbc87..5b6146dc 100644 --- a/en_US/guide/servers.html +++ b/en_US/guide/servers.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/services.html b/en_US/guide/services.html index 309b9e15..a7d1670b 100644 --- a/en_US/guide/services.html +++ b/en_US/guide/services.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/settings.html b/en_US/guide/settings.html index bf17137f..a5abf7cd 100644 --- a/en_US/guide/settings.html +++ b/en_US/guide/settings.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/guide/tasks.html b/en_US/guide/tasks.html index 62a8f78e..ae528fb1 100644 --- a/en_US/guide/tasks.html +++ b/en_US/guide/tasks.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + + - - + + \ No newline at end of file diff --git a/en_US/index.html b/en_US/index.html index 6b6ee714..57710784 100644 --- a/en_US/index.html +++ b/en_US/index.html @@ -6,16 +6,16 @@ Nezha Monitoring - - + +

Nezha Monitoring

A open source, lightweight server and website monitoring and O&M tool

One-Click Installation

Support use one-click script to install Dashboard and Agent services; Linux, WIndows, MacOS, OpenWRT and other mainstream systems are supported

Monitoring at any time

Support monitoring the system status of multiple servers at the same time, support monitoring the status of web pages, ports, SSL certificates; support notifications in case of failure, out of data and other status. Support multiple notification methods (Telegram, email, WeChat, etc.)

Lightweight O&M tool

Support WebSSH, support cyclic monitoring data, support setting scheduled tasks and running command on multiple servers

Copyright © 2022-present Nezhahq

- - + + \ No newline at end of file diff --git a/guide/agent.html b/guide/agent.html index f85ebdff..16b7f3ca 100644 --- a/guide/agent.html +++ b/guide/agent.html @@ -6,8 +6,8 @@ 一键安装Agent | 哪吒监控 - - + + @@ -37,8 +37,8 @@ start }
  • 运行 chmod +x /etc/init.d/nezha-service 赋予执行权限
  • 启动服务: /etc/init.d/nezha-service enable && /etc/init.d/nezha-service start



自定义Agent监控项目

自定义监控的网卡和硬盘分区

  • 执行 /opt/nezha/agent/nezha-agent --edit-agent-config 来选择自定义的网卡和分区,然后重启 Agent 即可生效

其他运行参数

通过执行 ./nezha-agent --help 查看支持的参数,如果你使用了一键脚本安装Agent,可以编辑 /etc/systemd/system/nezha-agent.service,在 ExecStart= 这一行的末尾加上以下参数

  • --report-delay 控制系统信息上报的间隔,默认为 1 秒,可以设置为 3 来进一步降低 agent 端系统资源占用(配置区间 1-4)
  • --skip-conn 不监控连接数,推荐 机场/连接密集型服务器或CPU占用较高的服务器设置
  • --skip-procs 不监控进程数,也可以降低 agent 占用
  • --disable-auto-update 禁止 自动更新 Agent(安全特性)
  • --disable-force-update 禁止 强制更新 Agent(安全特性)
  • --disable-command-execute 禁止在 Agent 上执行定时任务、打开在线终端(安全特性)
  • --tls 启用 SSL/TLS 加密(使用 nginx 反向代理 Agent 的 grpc 连接,并且 nginx 开启 SSL/TLS 时,需要启用该项配置)
- - + + \ No newline at end of file diff --git a/guide/agentq.html b/guide/agentq.html index 327378f5..985c8efd 100644 --- a/guide/agentq.html +++ b/guide/agentq.html @@ -6,16 +6,16 @@ Agent相关 | 哪吒监控 - - + + - - + + \ No newline at end of file diff --git a/guide/api.html b/guide/api.html index 82488c96..10ffea01 100644 --- a/guide/api.html +++ b/guide/api.html @@ -6,16 +6,16 @@ 哪吒监控 - - + + - - + + \ No newline at end of file diff --git a/guide/dashboard.html b/guide/dashboard.html index a88eb87c..fb413e12 100644 --- a/guide/dashboard.html +++ b/guide/dashboard.html @@ -6,8 +6,8 @@ 准备工作 | 哪吒监控 - - + + @@ -37,8 +37,8 @@ proxy /terminal/* http://ip:8008 { websocket }

在宝塔面板中配置SSL

首先,先暂时关闭反向代理
正如在其他网站中配置SSL证书一样,进入站点设置中的“SSL”,你可以选择自动申请 Let´s Encrypt 证书或手动配置已有的证书
完成SSL的设置后,你需要回到 https://github.com/settings/developers ,编辑之前创建的验证应用程序,将之前我们填入的"Homepage URL"和"Authorization callback URL"中的域名全部从http改为https,如:"https://cdn.example.com" 和 "https://cdn.example.com/oauth2/callback" ,不更改此项可能会导致你无法登陆面板后台

- - + + \ No newline at end of file diff --git a/guide/dashboardq.html b/guide/dashboardq.html index 7df38a55..d393315f 100644 --- a/guide/dashboardq.html +++ b/guide/dashboardq.html @@ -6,8 +6,8 @@ Dashboard相关 | 哪吒监控 - - + + @@ -17,8 +17,8 @@ curl ip.sb curl ip-api.com - - + + \ No newline at end of file diff --git a/guide/loginq.html b/guide/loginq.html index a8209b0a..6845d5aa 100644 --- a/guide/loginq.html +++ b/guide/loginq.html @@ -6,16 +6,16 @@ 登陆相关 | 哪吒监控 - - + + - - + + \ No newline at end of file diff --git a/guide/notifications.html b/guide/notifications.html index 84f408ec..843dbe6f 100644 --- a/guide/notifications.html +++ b/guide/notifications.html @@ -6,16 +6,16 @@ 灵活的通知方式 | 哪吒监控 - - + +

哪吒监控支持对服务器的负载、CPU、内存、硬盘、带宽、流量、月流量、进程数、连接数进行监控,并在其中某项达到用户设定值时发送报警通知

灵活的通知方式

#NEZHA# 是面板消息占位符,面板触发通知时会自动用实际消息替换占位符

Body 内容是JSON 格式的:当请求类型为 FORM 时,值为 key:value 的形式,value 里面可放置占位符,通知时会自动替换。当请求类型为 JSON 时 只会简单进行字符串替换后直接提交到URL

URL 里面也可放置占位符,请求时会进行简单的字符串替换。

你可以参考以下的通知方式示例,也可以根据自己的需求灵活设置推送方式

  • server酱示例

  • wxpusher 示例,需要关注你的应用

  • Telegram 示例 @haitau 贡献

    • 名称:telegram 机器人消息通知
    • URL:https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#
    • 请求方式: GET
    • 请求类型: 默认
    • Body: 空
    • URL 参数获取说明:botXXXXXX 中的 XXXXXX 是在 telegram 中关注官方 @Botfather ,输入/newbot ,创建新的机器人(bot)时,会提供的 token(在提示 Use this token to access the HTTP API:后面一行)这里 'bot' 三个字母不可少。创建 bot 后,需要先在 telegram 中与 BOT 进行对话(随便发个消息),然后才可用 API 发送消息。YYYYYY 是 telegram 用户的数字 ID。与机器人@userinfobot 对话可获得。


报警规则说明

基本规则

  • type:可选取一个或多个类型,如在一个规则中选择了多个类型,需要同时满足所有选择的类型才会触发通知(可参考后面的示例)
    • cpumemoryswapdisk
    • net_in_speed 入站网速、net_out_speed 出站网速、net_all_speed 双向网速、transfer_in 入站流量、transfer_out 出站流量、transfer_all 双向流量
    • offline 离线监控
    • load1load5load15 负载
    • process_count 进程数 目前取线程数占用资源太多,暂时不支持
    • tcp_conn_countudp_conn_count 连接数
  • duration:持续数秒,数秒内采样记录 30% 以上触发阈值才会报警(防数据插针)
  • min 或 max:
    • 流量、网速类数值 为字节(1KB=1024B,1MB = 1024*1024B)
    • 内存、硬盘、CPU 以占用百分比计数
    • 离线监控无需设置此项
  • cover:
    • 0 监控所有,通过 ignore 忽略特定服务器
    • 1 忽略所有,通过 ignore 监控特定服务器
      例如:[{"type":"offline","duration":10, "cover":0, "ignore":{"5": true}}]
  • ignore: 选择忽略特定服务器,搭配 cover 使用,内容为服务器id和布尔值,例如:{"1": true, "2":false}

完整示例:

TIP

添加一个离线报警

  • 名称:离线通知
  • 规则:[{"Type":"offline","Duration":10}]
  • 启用:√

TIP

添加一个监控 CPU 持续 10s 超过 50% 内存持续 20s 占用低于 20% 的报警

  • 名称:CPU+内存
  • 规则:[{"Type":"cpu","Min":0,"Max":50,"Duration":10},{"Type":"memory","Min":20,"Max":0,"Duration":20}]
  • 启用:√

特殊:任意周期流量报警

可以用作月流量报警

  • type:
    • transfer_in_cycle 周期内的入站流量
    • transfer_out_cycle 周期内的出站流量
    • transfer_all_cycle 周期内双向流量和
  • cycle_start: 统计周期开始日期(可以是你机器计费周期的开始日期),时间格式为RFC3339,例如北京时间为2022-01-11T08:00:00.00+08:00
  • cycle_interval:每隔多少个周期单位(例如,周期单位为天,该值为 7,则代表每隔 7 天统计一次)
  • cycle_unit 统计周期单位,默认hour,可选(hour, day, week, month, year)
  • min/max、cover、ignore 参考基本规则配置

示例: ID 为 3 的服务器(ignore 里面定义),以每月 15 号为统计周期,周期内统计的出站月流量达到 1TB 时报警 [{"type":"transfer_out_cycle","max":1000000000000,"cycle_start":"2022-01-11T08:00:00.00+08:00","cycle_interval":1,"cycle_unit":"month","cover":1,"ignore":{"3":true}}]

- - + + \ No newline at end of file diff --git a/guide/q1.html b/guide/q1.html index 28c83146..b9c31adc 100644 --- a/guide/q1.html +++ b/guide/q1.html @@ -6,8 +6,8 @@ 准备工作 | 哪吒监控 - - + + @@ -60,8 +60,8 @@ ufw allow proto tcp from serverIp to any port 443443 -j DROP iptables -I INPUT -s serverIp -p tcp --dport 443 -j ACCEPT - - + + \ No newline at end of file diff --git a/guide/q2.html b/guide/q2.html index b392d933..e2e3a923 100644 --- a/guide/q2.html +++ b/guide/q2.html @@ -6,16 +6,16 @@ Agent 启动/上线 问题自检流程 | 哪吒监控 - - + +

Agent 启动/上线 问题自检流程

  1. 直接执行 /opt/nezha/agent/nezha-agent -s 面板IP或非CDN域名:面板RPC端口 -p Agent密钥 -d 查看日志是否是因为 DNS、网络不佳导致超时(timeout)
  2. nc -v 域名/IP 面板RPC端口 或者 telnet 域名/IP 面板RPC端口 来检验是否是网络问题,检查本机与面板服务器的出入站防火墙,如果无法判断问题可借助 https://port.ping.pe/ 提供的端口检查工具进行检测。
  3. 如果上面步骤检测正常,Agent 正常上线,尝试关闭 SELinux,如何关闭 SELinux?
- - + + \ No newline at end of file diff --git a/guide/q3.html b/guide/q3.html index 30cef7f4..0babccee 100644 --- a/guide/q3.html +++ b/guide/q3.html @@ -6,8 +6,8 @@ 反向代理 gRPC 端口(支持 Cloudflare CDN) | 哪吒监控 - - + + @@ -38,8 +38,8 @@ } }

Dashboard 面板端配置

  • 首先登录面板进入管理后台 打开设置页面,在 未接入CDN的面板服务器域名/IP 中填入上一步在 Nginx 或 Caddy 中配置的域名 比如 data.example.com ,并保存。
  • 然后在面板服务器中,打开 /opt/nezha/dashboard/data/config.yaml 文件,将 proxygrpcport 修改为 Nginx 或 Caddy 监听的端口,比如上一步设置的 443 ;因为我们在 Nginx 或 Caddy 中开启了 SSL/TLS,所以需要将 tls 设置为 true ;修改完成后重启面板。

Agent 端配置

  • 登录面板管理后台,复制一键安装命令,在对应的服务器上面执行一键安装命令重新安装 agent 端即可。

开启 Cloudflare CDN(可选)

根据 Cloudflare gRPC 的要求:gRPC 服务必须侦听 443 端口 且必须支持 TLS 和 HTTP/2。 所以如果需要开启 CDN,必须在配置 Nginx 或者 Caddy 反向代理 gRPC 时使用 443 端口,并配置证书(Caddy 会自动申请并配置证书)。

  • 登录 Cloudflare,选择使用的域名。打开 网络 选项将 gRPC 开关打开,打开 DNS 选项,找到 Nginx 或 Caddy 反代 gRPC 配置的域名的解析记录,打开橙色云启用 CDN。
- - + + \ No newline at end of file diff --git a/guide/q4.html b/guide/q4.html index f7fc8a6d..d4f52426 100644 --- a/guide/q4.html +++ b/guide/q4.html @@ -6,16 +6,16 @@ 实时通道断开/在线终端连接失败 | 哪吒监控 - - + +

实时通道断开/在线终端连接失败

  • 如果你使用了CDN,请确认CDN服务商提供WebSocket服务,并且已开启WebSocket
  • 确认你的反代规则中针对 /ws,/terminal 路径的 WebSocket 进行了特别配置,你可以 点击这里 查看反向代理配置
- - + + \ No newline at end of file diff --git a/guide/q5.html b/guide/q5.html index d21d9735..c7aca269 100644 --- a/guide/q5.html +++ b/guide/q5.html @@ -6,16 +6,16 @@ 如何进行数据迁移、备份恢复? | 哪吒监控 - - + + - - + + \ No newline at end of file diff --git a/guide/servers.html b/guide/servers.html index da3bdfe9..029e30c7 100644 --- a/guide/servers.html +++ b/guide/servers.html @@ -6,16 +6,16 @@ 主机 | 哪吒监控 - - + +

主机

介绍

主机区域负责管理Agent,是哪吒探针中最基础的区域,也是其他功能的基础。

添加服务器

第一步是添加主机,可以自定义名称、分组、排序和备注。
拥有相同分组的主机会在受支持的主题中划分到一起进行显示,备注仅会在后台显示,无需担心泄露信息。

安装Agent

请参考前文安装Agent
推荐使用一键安装,即配置好参数后,点击主机一键安装列上的按钮,复制到相应主机进行安装。

强制更新

强制更新对应的是自定义agent监控项目中的--disable-auto-update和--disable-force-update。
默认情况下,Agent会自动更新,无需干预。但当用户关闭自动更新后,也可以选中指定主机进行强制更新。
disable-force-update开启时此功能不生效。

数据列

  • 版本号: 记录Agent当前版本
  • 密钥: 即secret\key,配置Agent时会用到
  • 一键安装: 较为便捷的Agent安装方式
  • 管理: 左为WebShell,中为编辑,右为删除

在线终端

即WebShell,disable-command-execute开启时此功能不生效。
Linux和Windows均可用,可使用Ctrl+Shift+V粘贴。
连接失败请参考实时通道断开/在线终端连接失败
注意在线终端功能中,Agent也是通过WebSocket连接到用户使用域名,而非通过grpc交互。

- - + + \ No newline at end of file diff --git a/guide/services.html b/guide/services.html index eb107dec..8c60c737 100644 --- a/guide/services.html +++ b/guide/services.html @@ -6,16 +6,16 @@ 哪吒监控 - - + + - - + + \ No newline at end of file diff --git a/guide/settings.html b/guide/settings.html index 55b16ac4..3241ebed 100644 --- a/guide/settings.html +++ b/guide/settings.html @@ -3,17 +3,17 @@ - 多语言 | 哪吒监控 + 站点标题 | 哪吒监控 - - + + - - + + -

多语言

哪吒监控目前支持以下语言:

  • 简体中文
  • English
  • Español


我们欢迎您贡献更多语言

自定义代码

改LOGO、改色调、加统计代码等。

WARNING

自定义代码仅在游客首页生效。


默认主题更改进度条颜色示例

<style>
+    

站点标题

你可以在此项中自定义你的站点标题

管理员列表

  • 如果你修改了自己的Github/Gitee用户名,可以在此项中同步修改,否则无法登陆,多个用户请用逗号隔开: user1,user2

  • 如需更改管理员账户,请在安装脚本中选择“修改面板设置”,重新设置新的管理员 Client IDClient Secret

主题

在这里选择主页主题,如果选项中没有某个已存在的主题,请更新面板

Language

哪吒监控目前支持以下语言:

  • 简体中文
  • English
  • Español


我们欢迎您对翻译进行勘误和贡献更多语言

自定义代码

改LOGO、改色调、加统计代码等。

WARNING

自定义代码仅在游客首页生效,管理面板不生效
由于不同主题的代码不同,如确需修改管理面板中的内容,请自行前往 Docker 中研究修改


默认主题更改进度条颜色示例

<style>
 .ui.fine.progress> .bar {
     background-color: pink !important;
 }
@@ -56,9 +56,9 @@ avatar.stylebackground: url(https://s3.ax1x.com/2020/12/08/DzHv6A.jpg) center;
 }
 </style>
-
- - +

前台查看密码

如果你不想直接展示你的主页,你可以在这里设置一个查看密码
设置密码后,需要输入密码才可以访问主页

未接入CDN的面板服务器域名/IP

此项设置是使用一键脚本安装 Agent 的前提,详情请查看这里

IP 变更提醒

如果你希望当某个服务器的ip发生变更时收到通知,可以在这里进行设置

覆盖范围

在这里选择一条规则,来确定需要监控哪些服务器,可以根据自己的需求进行选择

特定服务器

配合覆盖范围的设置,在这里设置选定规则的排除项

提醒发送至指定的通知分组

选择通知方式,通知方式请提前在 “报警” 页内设置

WARNING

设置完成后,勾选启用时,通知生效


WARNING

IP变更通知默认打码,如果你不希望打码,可以勾选 “通知信息IP不打码”

+ + \ No newline at end of file diff --git a/guide/tasks.html b/guide/tasks.html index 76bdb27f..ddac7e5c 100644 --- a/guide/tasks.html +++ b/guide/tasks.html @@ -6,16 +6,16 @@ 哪吒监控 - - + + - - + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index f20ad085..cb7a7066 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"developer_index.md":"82826155","developer_theme.md":"5aef5e11","en_us_developer_index.md":"033094b9","en_us_developer_theme.md":"51219771","en_us_guide_agent.md":"f26bcc95","en_us_guide_agentq.md":"cbca34f9","en_us_guide_api.md":"9fe0ec4b","en_us_guide_dashboard.md":"0bf2ca44","en_us_guide_dashboardq.md":"99b53368","en_us_guide_loginq.md":"945237bb","en_us_guide_notifications.md":"280c2697","en_us_guide_q2.md":"c15bc9a4","en_us_guide_q3.md":"93e05e12","en_us_guide_q4.md":"0892e7df","en_us_guide_q5.md":"b96b2d8e","en_us_guide_servers.md":"401f32ee","en_us_guide_services.md":"b1e41ea5","en_us_guide_settings.md":"edd538ab","en_us_guide_tasks.md":"7f4e7704","en_us_index.md":"e0eca8f3","guide_agent.md":"7db609ee","guide_agentq.md":"47bf7431","guide_api.md":"9c2693a4","guide_dashboard.md":"3c6ed851","guide_dashboardq.md":"35888330","guide_loginq.md":"d611b7d1","guide_notifications.md":"374133eb","guide_q1.md":"88e45dd8","guide_q2.md":"5ec630f2","guide_q3.md":"f267f86a","guide_q4.md":"f569afc2","guide_q5.md":"ad9570e0","guide_servers.md":"7a696277","guide_services.md":"03f8bd8a","guide_settings.md":"9ab24442","guide_tasks.md":"e732fdac","index.md":"54d284a8"} +{"developer_index.md":"ee592849","developer_l10n.md":"ba294ec8","developer_theme.md":"f7e1f379","en_us_developer_index.md":"b71cc532","en_us_developer_l10n.md":"7251e389","en_us_developer_theme.md":"096ab5ad","en_us_guide_agent.md":"8bed9873","en_us_guide_agentq.md":"fc681108","en_us_guide_api.md":"1cb185fb","en_us_guide_dashboard.md":"c29d4037","en_us_guide_dashboardq.md":"12f00603","en_us_guide_loginq.md":"fccba1cc","en_us_guide_notifications.md":"b30d610e","en_us_guide_q2.md":"d1c860d2","en_us_guide_q3.md":"4782ed4a","en_us_guide_q4.md":"21280a24","en_us_guide_q5.md":"410e46a9","en_us_guide_servers.md":"c9b36fe3","en_us_guide_services.md":"facaeeed","en_us_guide_settings.md":"aac5fc45","en_us_guide_tasks.md":"c5036e0b","en_us_index.md":"c8719a21","guide_agent.md":"b2c70861","guide_agentq.md":"68fe01c8","guide_api.md":"eadf9bb5","guide_dashboard.md":"a8a51b7a","guide_dashboardq.md":"9a2ad737","guide_loginq.md":"d018cda9","guide_notifications.md":"ac3a804b","guide_q1.md":"60864821","guide_q2.md":"9519d1ef","guide_q3.md":"278a14da","guide_q4.md":"49995c8a","guide_q5.md":"ef18e2c9","guide_servers.md":"aa5468b1","guide_services.md":"8e64bc0c","guide_settings.md":"2744ab59","guide_tasks.md":"3511a321","index.md":"2c78f74e"} diff --git a/index.html b/index.html index ae5c4f65..bdb25ca9 100644 --- a/index.html +++ b/index.html @@ -6,16 +6,16 @@ 哪吒监控 - - + +

哪吒监控

一个开源、轻量的服务器和网站监控、运维工具

一键安装

支持一键脚本安装面板和监控服务,轻松使用;Linux、WIndows、MacOS、OpenWRT等主流系统均受支持

随时监控

支持同时监控多个服务器的系统状态,支持监控网页、端口、SSL证书状态;支持故障、流量等状态报警,支持多种通知方式(Telegram、邮件、微信等)

轻量运维

支持在线SSH,支持流量循环监控,支持设置定时任务、服务器批量执行任务

Copyright © 2022-present Nezhahq

- - + + \ No newline at end of file