deploy: c931e003d2
This commit is contained in:
1 parent
83377dc328
commit
d2b6c012e2
165 files changed
+393
-393
No files matched your search
@@ -1 +1 @@
|
||||
var Ro=Object.defineProperty,Oo=Object.defineProperties;var Fo=Object.getOwnPropertyDescriptors;var Is=Object.getOwnPropertySymbols;var No=Object.prototype.hasOwnProperty,Ho=Object.prototype.propertyIsEnumerable;var Us=(e,t,n)=>t in e?Ro(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ms=(e,t)=>{for(var n in t||(t={}))No.call(t,n)&&Us(e,n,t[n]);if(Is)for(var n of Is(t))Ho.call(t,n)&&Us(e,n,t[n]);return e},Rs=(e,t)=>Oo(e,Fo(t));const Do="modulepreload",Os={},Bo="/",vr=function(t,n){return!n||n.length===0?t():Promise.all(n.map(s=>{if(s=`${Bo}${s}`,s in Os)return;Os[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":Do,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 ts(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r<s.length;r++)n[s[r]]=!0;return t?r=>!!n[r.toLowerCase()]:r=>!!n[r]}const qo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",jo=ts(qo);function br(e){return!!e||e===""}function ns(e){if(R(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=pe(s)?zo(s):ns(s);if(r)for(const o in r)t[o]=r[o]}return t}else{if(pe(e))return e;if(fe(e))return e}}const Ko=/;(?![^(]*\))/g,Wo=/:(.+)/;function zo(e){const t={};return e.split(Ko).forEach(n=>{if(n){const s=n.split(Wo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function at(e){let t="";if(pe(e))t=e;else if(R(e))for(let n=0;n<e.length;n++){const s=at(e[n]);s&&(t+=s+" ")}else if(fe(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const xe=e=>pe(e)?e:e==null?"":R(e)||fe(e)&&(e.toString===wr||!H(e.toString))?JSON.stringify(e,xr,2):String(e),xr=(e,t)=>t&&t.__v_isRef?xr(e,t.value):bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:yr(t)?{[`Set(${t.size})`]:[...t.values()]}:fe(t)&&!R(t)&&!$r(t)?String(t):t,Q={},vt=[],Ue=()=>{},Vo=()=>!1,Jo=/^on[^a-z]/,zt=e=>Jo.test(e),ss=e=>e.startsWith("onUpdate:"),ye=Object.assign,rs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Yo=Object.prototype.hasOwnProperty,W=(e,t)=>Yo.call(e,t),R=Array.isArray,bt=e=>bn(e)==="[object Map]",yr=e=>bn(e)==="[object Set]",H=e=>typeof e=="function",pe=e=>typeof e=="string",os=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",kr=e=>fe(e)&&H(e.then)&&H(e.catch),wr=Object.prototype.toString,bn=e=>wr.call(e),Xo=e=>bn(e).slice(8,-1),$r=e=>bn(e)==="[object Object]",is=e=>pe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,It=ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),xn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Zo=/-(\w)/g,Ne=xn(e=>e.replace(Zo,(t,n)=>n?n.toUpperCase():"")),Qo=/\B([A-Z])/g,$t=xn(e=>e.replace(Qo,"-$1").toLowerCase()),yn=xn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Mn=xn(e=>e?`on${yn(e)}`:""),Ht=(e,t)=>!Object.is(e,t),Rn=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},on=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Go=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Fs;const ei=()=>Fs||(Fs=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let Oe;class ti{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Oe&&(this.parent=Oe,this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Oe;try{return Oe=this,t()}finally{Oe=n}}}on(){Oe=this}off(){Oe=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.active=!1}}}function ni(e,t=Oe){t&&t.active&&t.effects.push(e)}const ls=e=>{const t=new Set(e);return t.w=0,t.n=0,t},Cr=e=>(e.w&Ge)>0,Sr=e=>(e.n&Ge)>0,si=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=Ge},ri=e=>{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s<t.length;s++){const r=t[s];Cr(r)&&!Sr(r)?r.delete(e):t[n++]=r,r.w&=~Ge,r.n&=~Ge}t.length=n}},qn=new WeakMap;let Pt=0,Ge=1;const jn=30;let Le;const rt=Symbol(""),Kn=Symbol("");class cs{constructor(t,n=null,s){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,ni(this,s)}run(){if(!this.active)return this.fn();let t=Le,n=Ze;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=Le,Le=this,Ze=!0,Ge=1<<++Pt,Pt<=jn?si(this):Ns(this),this.fn()}finally{Pt<=jn&&ri(this),Ge=1<<--Pt,Le=this.parent,Ze=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){Le===this?this.deferStop=!0:this.active&&Line truncated
|
||||
var Ro=Object.defineProperty,Oo=Object.defineProperties;var Fo=Object.getOwnPropertyDescriptors;var Is=Object.getOwnPropertySymbols;var No=Object.prototype.hasOwnProperty,Ho=Object.prototype.propertyIsEnumerable;var Us=(e,t,n)=>t in e?Ro(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ms=(e,t)=>{for(var n in t||(t={}))No.call(t,n)&&Us(e,n,t[n]);if(Is)for(var n of Is(t))Ho.call(t,n)&&Us(e,n,t[n]);return e},Rs=(e,t)=>Oo(e,Fo(t));const Do="modulepreload",Os={},Bo="/",vr=function(t,n){return!n||n.length===0?t():Promise.all(n.map(s=>{if(s=`${Bo}${s}`,s in Os)return;Os[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":Do,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 ts(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r<s.length;r++)n[s[r]]=!0;return t?r=>!!n[r.toLowerCase()]:r=>!!n[r]}const qo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",jo=ts(qo);function br(e){return!!e||e===""}function ns(e){if(R(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],r=pe(s)?zo(s):ns(s);if(r)for(const o in r)t[o]=r[o]}return t}else{if(pe(e))return e;if(fe(e))return e}}const Ko=/;(?![^(]*\))/g,Wo=/:(.+)/;function zo(e){const t={};return e.split(Ko).forEach(n=>{if(n){const s=n.split(Wo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function at(e){let t="";if(pe(e))t=e;else if(R(e))for(let n=0;n<e.length;n++){const s=at(e[n]);s&&(t+=s+" ")}else if(fe(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const xe=e=>pe(e)?e:e==null?"":R(e)||fe(e)&&(e.toString===wr||!H(e.toString))?JSON.stringify(e,xr,2):String(e),xr=(e,t)=>t&&t.__v_isRef?xr(e,t.value):bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:yr(t)?{[`Set(${t.size})`]:[...t.values()]}:fe(t)&&!R(t)&&!$r(t)?String(t):t,Q={},vt=[],Ue=()=>{},Vo=()=>!1,Jo=/^on[^a-z]/,zt=e=>Jo.test(e),ss=e=>e.startsWith("onUpdate:"),ye=Object.assign,rs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Yo=Object.prototype.hasOwnProperty,W=(e,t)=>Yo.call(e,t),R=Array.isArray,bt=e=>bn(e)==="[object Map]",yr=e=>bn(e)==="[object Set]",H=e=>typeof e=="function",pe=e=>typeof e=="string",os=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",kr=e=>fe(e)&&H(e.then)&&H(e.catch),wr=Object.prototype.toString,bn=e=>wr.call(e),Xo=e=>bn(e).slice(8,-1),$r=e=>bn(e)==="[object Object]",is=e=>pe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,It=ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),xn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Zo=/-(\w)/g,Ne=xn(e=>e.replace(Zo,(t,n)=>n?n.toUpperCase():"")),Qo=/\B([A-Z])/g,$t=xn(e=>e.replace(Qo,"-$1").toLowerCase()),yn=xn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Mn=xn(e=>e?`on${yn(e)}`:""),Ht=(e,t)=>!Object.is(e,t),Rn=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},on=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Go=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Fs;const ei=()=>Fs||(Fs=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let Oe;class ti{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Oe&&(this.parent=Oe,this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Oe;try{return Oe=this,t()}finally{Oe=n}}}on(){Oe=this}off(){Oe=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.scopes)for(n=0,s=this.scopes.length;n<s;n++)this.scopes[n].stop(!0);if(this.parent&&!t){const r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.active=!1}}}function ni(e,t=Oe){t&&t.active&&t.effects.push(e)}const ls=e=>{const t=new Set(e);return t.w=0,t.n=0,t},Cr=e=>(e.w&Ge)>0,Sr=e=>(e.n&Ge)>0,si=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=Ge},ri=e=>{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s<t.length;s++){const r=t[s];Cr(r)&&!Sr(r)?r.delete(e):t[n++]=r,r.w&=~Ge,r.n&=~Ge}t.length=n}},qn=new WeakMap;let Pt=0,Ge=1;const jn=30;let Le;const rt=Symbol(""),Kn=Symbol("");class cs{constructor(t,n=null,s){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,ni(this,s)}run(){if(!this.active)return this.fn();let t=Le,n=Ze;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=Le,Le=this,Ze=!0,Ge=1<<++Pt,Pt<=jn?si(this):Ns(this),this.fn()}finally{Pt<=jn&&ri(this),Ge=1<<--Pt,Le=this.parent,Ze=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){Le===this?this.deferStop=!0:this.active&&Line truncated
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as r,a}from"./app.3817bf4e.js";const b='{"title":"\u81EA\u5EFA\u4E00\u4E2ATG\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","lastUpdated":1682076617000}',o={},n=a('<h1 id="\u81EA\u5EFA\u4E00\u4E2Atg\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F" tabindex="-1">\u81EA\u5EFA\u4E00\u4E2ATG\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F <a class="header-anchor" href="#\u81EA\u5EFA\u4E00\u4E2Atg\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F" aria-hidden="true">#</a></h1><p>\u8D21\u732E\u8005:</p><ul><li><a href="https://github.com/spiritLHLS" target="_blank" rel="noopener noreferrer">spiritLHLS</a></li><li><a href="https://github.com/Erope/" target="_blank" rel="noopener noreferrer">Erope</a></li></ul><p>\u9879\u76EE\u5730\u5740\uFF1A<a href="https://github.com/spiritLHLS/nezha_api_tgbot" target="_blank" rel="noopener noreferrer">nezha_api_tgbot</a></p><p>\u955C\u50CF\u5907\u4EFD\uFF08\u975E\u5B9E\u65F6\u66F4\u65B0\uFF09\uFF1A<a href="https://github.com/nezhahq/nezha_api_tgbot" target="_blank" rel="noopener noreferrer">nezha_api_tgbot</a><br> \u673A\u5668\u4EBA\u53EF\u4EE5\u901A\u8FC7API\u5411\u9762\u677F\u8BF7\u6C42\u670D\u52A1\u5668\u72B6\u6001\u4FE1\u606F\uFF0C\u5F97\u5230\u4FE1\u606F\u540E\u53D1\u9001\u7ED9\u7528\u6237<br> \u4F60\u53EF\u4EE5\u642D\u5EFA\u6B64\u673A\u5668\u4EBA\u6765\u65B9\u4FBF\u5730\u67E5\u770B\u6307\u5B9A\u670D\u52A1\u5668\u7684\u5F53\u524D\u72B6\u6001\u4E14\u4E0D\u9700\u8981\u6253\u5F00\u9762\u677F</p>',5),_=[n];function i(p,s,h,c,l,d){return r(),t("div",null,_)}var g=e(o,[["render",i]]);export{b as __pageData,g as default};
|
||||
import{_ as e,c as t,o as r,a}from"./app.38e99b9a.js";const b='{"title":"\u81EA\u5EFA\u4E00\u4E2ATG\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","lastUpdated":1682077347000}',o={},n=a('<h1 id="\u81EA\u5EFA\u4E00\u4E2Atg\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F" tabindex="-1">\u81EA\u5EFA\u4E00\u4E2ATG\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F <a class="header-anchor" href="#\u81EA\u5EFA\u4E00\u4E2Atg\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F" aria-hidden="true">#</a></h1><p>\u8D21\u732E\u8005:</p><ul><li><a href="https://github.com/spiritLHLS" target="_blank" rel="noopener noreferrer">spiritLHLS</a></li><li><a href="https://github.com/Erope/" target="_blank" rel="noopener noreferrer">Erope</a></li></ul><p>\u9879\u76EE\u5730\u5740\uFF1A<a href="https://github.com/spiritLHLS/nezha_api_tgbot" target="_blank" rel="noopener noreferrer">nezha_api_tgbot</a></p><p>\u955C\u50CF\u5907\u4EFD\uFF08\u975E\u5B9E\u65F6\u66F4\u65B0\uFF09\uFF1A<a href="https://github.com/nezhahq/nezha_api_tgbot" target="_blank" rel="noopener noreferrer">nezha_api_tgbot</a><br> \u673A\u5668\u4EBA\u53EF\u4EE5\u901A\u8FC7API\u5411\u9762\u677F\u8BF7\u6C42\u670D\u52A1\u5668\u72B6\u6001\u4FE1\u606F\uFF0C\u5F97\u5230\u4FE1\u606F\u540E\u53D1\u9001\u7ED9\u7528\u6237<br> \u4F60\u53EF\u4EE5\u642D\u5EFA\u6B64\u673A\u5668\u4EBA\u6765\u65B9\u4FBF\u5730\u67E5\u770B\u6307\u5B9A\u670D\u52A1\u5668\u7684\u5F53\u524D\u72B6\u6001\u4E14\u4E0D\u9700\u8981\u6253\u5F00\u9762\u677F</p>',5),_=[n];function i(p,s,h,c,l,d){return r(),t("div",null,_)}var g=e(o,[["render",i]]);export{b as __pageData,g as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as r,a}from"./app.3817bf4e.js";const b='{"title":"\u81EA\u5EFA\u4E00\u4E2ATG\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","lastUpdated":1682076617000}',o={},n=a("",5),_=[n];function i(p,s,h,c,l,d){return r(),t("div",null,_)}var g=e(o,[["render",i]]);export{b as __pageData,g as default};
|
||||
import{_ as e,c as t,o as r,a}from"./app.38e99b9a.js";const b='{"title":"\u81EA\u5EFA\u4E00\u4E2ATG\u673A\u5668\u4EBA\u6765\u67E5\u8BE2\u670D\u52A1\u5668\u4FE1\u606F","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","lastUpdated":1682077347000}',o={},n=a("",5),_=[n];function i(p,s,h,c,l,d){return r(),t("div",null,_)}var g=e(o,[["render",i]]);export{b as __pageData,g as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e}from"./chunks/qrcode.bde14c07.js";import{_ as a,c as r,o as i,a as t}from"./app.3817bf4e.js";const b='{"title":"\u5728iOS/MacOS\u4E2D\u4F7F\u7528Siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4","slug":"\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"case/case2.md","lastUpdated":1682076617000}',o={},c=t('<h1 id="\u5728ios-macos\u4E2D\u4F7F\u7528siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001" tabindex="-1">\u5728iOS/MacOS\u4E2D\u4F7F\u7528Siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001 <a class="header-anchor" href="#\u5728ios-macos\u4E2D\u4F7F\u7528siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001" aria-hidden="true">#</a></h1><p>\u5F53\u524D\u7248\u672C\uFF1AV1.0<br> \u8D21\u732E\u8005\uFF1A</p><ul><li>\u767D\u6B4C <a href="https://github.com/hhhkkk520" target="_blank" rel="noopener noreferrer">hhhkkk520</a></li></ul><h2 id="\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4" tabindex="-1">\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4 <a class="header-anchor" href="#\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4" aria-hidden="true">#</a></h2><p>\u4F7F\u7528iPhone\u6216iPad\u626B\u63CF\u4EE5\u4E0B\u4E8C\u7EF4\u7801\uFF0C\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4<br><br><img src="'+e+'" alt=""><br><br> MacOS\u7528\u6237\u8BF7\u8BBF\u95EE<a href="https://www.icloud.com/shortcuts/312005bf5ffd4387ac92a84056db9f09" target="_blank" rel="noopener noreferrer">\u8FD9\u91CC</a>\uFF0C\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4</p><h2 id="\u4F7F\u7528\u8BF4\u660E" tabindex="-1">\u4F7F\u7528\u8BF4\u660E <a class="header-anchor" href="#\u4F7F\u7528\u8BF4\u660E" aria-hidden="true">#</a></h2><ul><li>\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4\u540E\uFF0C\u6253\u5F00\u5E76\u7F16\u8F91\u5FEB\u6377\u6307\u4EE4</li><li>\u5206\u522B\u5728\u4E09\u4E2A\u6587\u672C\u6846\u4E2D\u586B\u5165 <code>\u9762\u677FURL</code>\u3001<code>API Token</code>\u3001<code>\u670D\u52A1\u5668ID</code></li><li>\u4FDD\u5B58\u7F16\u8F91\u5E76\u6D4B\u8BD5\u8FD0\u884C\uFF0C\u80FD\u83B7\u53D6\u7ED3\u679C\u5219\u8868\u793A\u8BBE\u7F6E\u6B63\u786E</li><li>\u4FEE\u6539\u5FEB\u6377\u6307\u4EE4\u7684\u540D\u79F0\uFF0C\u5982\u4FEE\u6539\u4E3A\uFF1A\u201C\u4E00\u53F7\u670D\u52A1\u5668\u72B6\u6001\u201D\uFF0C\u4FDD\u5B58\u540E\u4FBF\u53EF\u4F7F\u7528Siri\u6307\u4EE4\uFF1A\u201C\u563FSiri\uFF0C\u4E00\u53F7\u670D\u52A1\u5668\u72B6\u6001\u201D\u6765\u83B7\u53D6\u670D\u52A1\u5668\u72B6\u6001</li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>\u6BCF\u4E2A\u5FEB\u6377\u6307\u4EE4\u53EA\u80FD\u76D1\u63A7\u4E00\u53F0\u670D\u52A1\u5668\uFF0C\u5982\u9700\u8981\u76D1\u63A7\u591A\u4E2A\u670D\u52A1\u5668\uFF0C\u8BF7\u591A\u6B21\u590D\u5236\u6B64\u5FEB\u6377\u6307\u4EE4\u5E76\u5206\u522B\u914D\u7F6E\uFF0C\u7136\u540E\u5206\u522B\u4FEE\u6539\u5FEB\u6377\u6307\u4EE4\u540D\u79F0\uFF0C\u5982\uFF1B\u4E00\u53F7\u670D\u52A1\u5668\u72B6\u6001\u3001\u4E8C\u53F7\u670D\u52A1\u5668\u72B6\u6001\u7B49</p></div>',8),s=[c];function l(d,n,h,_,p,f){return i(),r("div",null,s)}var k=a(o,[["render",l]]);export{b as __pageData,k as default};
|
||||
import{_ as e}from"./chunks/qrcode.bde14c07.js";import{_ as a,c as r,o as i,a as t}from"./app.38e99b9a.js";const b='{"title":"\u5728iOS/MacOS\u4E2D\u4F7F\u7528Siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4","slug":"\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"case/case2.md","lastUpdated":1682077347000}',o={},c=t('<h1 id="\u5728ios-macos\u4E2D\u4F7F\u7528siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001" tabindex="-1">\u5728iOS/MacOS\u4E2D\u4F7F\u7528Siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001 <a class="header-anchor" href="#\u5728ios-macos\u4E2D\u4F7F\u7528siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001" aria-hidden="true">#</a></h1><p>\u5F53\u524D\u7248\u672C\uFF1AV1.0<br> \u8D21\u732E\u8005\uFF1A</p><ul><li>\u767D\u6B4C <a href="https://github.com/hhhkkk520" target="_blank" rel="noopener noreferrer">hhhkkk520</a></li></ul><h2 id="\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4" tabindex="-1">\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4 <a class="header-anchor" href="#\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4" aria-hidden="true">#</a></h2><p>\u4F7F\u7528iPhone\u6216iPad\u626B\u63CF\u4EE5\u4E0B\u4E8C\u7EF4\u7801\uFF0C\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4<br><br><img src="'+e+'" alt=""><br><br> MacOS\u7528\u6237\u8BF7\u8BBF\u95EE<a href="https://www.icloud.com/shortcuts/312005bf5ffd4387ac92a84056db9f09" target="_blank" rel="noopener noreferrer">\u8FD9\u91CC</a>\uFF0C\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4</p><h2 id="\u4F7F\u7528\u8BF4\u660E" tabindex="-1">\u4F7F\u7528\u8BF4\u660E <a class="header-anchor" href="#\u4F7F\u7528\u8BF4\u660E" aria-hidden="true">#</a></h2><ul><li>\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4\u540E\uFF0C\u6253\u5F00\u5E76\u7F16\u8F91\u5FEB\u6377\u6307\u4EE4</li><li>\u5206\u522B\u5728\u4E09\u4E2A\u6587\u672C\u6846\u4E2D\u586B\u5165 <code>\u9762\u677FURL</code>\u3001<code>API Token</code>\u3001<code>\u670D\u52A1\u5668ID</code></li><li>\u4FDD\u5B58\u7F16\u8F91\u5E76\u6D4B\u8BD5\u8FD0\u884C\uFF0C\u80FD\u83B7\u53D6\u7ED3\u679C\u5219\u8868\u793A\u8BBE\u7F6E\u6B63\u786E</li><li>\u4FEE\u6539\u5FEB\u6377\u6307\u4EE4\u7684\u540D\u79F0\uFF0C\u5982\u4FEE\u6539\u4E3A\uFF1A\u201C\u4E00\u53F7\u670D\u52A1\u5668\u72B6\u6001\u201D\uFF0C\u4FDD\u5B58\u540E\u4FBF\u53EF\u4F7F\u7528Siri\u6307\u4EE4\uFF1A\u201C\u563FSiri\uFF0C\u4E00\u53F7\u670D\u52A1\u5668\u72B6\u6001\u201D\u6765\u83B7\u53D6\u670D\u52A1\u5668\u72B6\u6001</li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>\u6BCF\u4E2A\u5FEB\u6377\u6307\u4EE4\u53EA\u80FD\u76D1\u63A7\u4E00\u53F0\u670D\u52A1\u5668\uFF0C\u5982\u9700\u8981\u76D1\u63A7\u591A\u4E2A\u670D\u52A1\u5668\uFF0C\u8BF7\u591A\u6B21\u590D\u5236\u6B64\u5FEB\u6377\u6307\u4EE4\u5E76\u5206\u522B\u914D\u7F6E\uFF0C\u7136\u540E\u5206\u522B\u4FEE\u6539\u5FEB\u6377\u6307\u4EE4\u540D\u79F0\uFF0C\u5982\uFF1B\u4E00\u53F7\u670D\u52A1\u5668\u72B6\u6001\u3001\u4E8C\u53F7\u670D\u52A1\u5668\u72B6\u6001\u7B49</p></div>',8),s=[c];function l(d,n,h,_,p,f){return i(),r("div",null,s)}var k=a(o,[["render",l]]);export{b as __pageData,k as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e}from"./chunks/qrcode.bde14c07.js";import{_ as a,c as r,o as i,a as t}from"./app.3817bf4e.js";const b='{"title":"\u5728iOS/MacOS\u4E2D\u4F7F\u7528Siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4","slug":"\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"case/case2.md","lastUpdated":1682076617000}',o={},c=t("",8),s=[c];function l(d,n,h,_,p,f){return i(),r("div",null,s)}var k=a(o,[["render",l]]);export{b as __pageData,k as default};
|
||||
import{_ as e}from"./chunks/qrcode.bde14c07.js";import{_ as a,c as r,o as i,a as t}from"./app.38e99b9a.js";const b='{"title":"\u5728iOS/MacOS\u4E2D\u4F7F\u7528Siri\u8FD0\u884C\u5FEB\u6377\u6307\u4EE4\u67E5\u8BE2\u670D\u52A1\u5668\u72B6\u6001","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4","slug":"\u83B7\u53D6\u5FEB\u6377\u6307\u4EE4"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"case/case2.md","lastUpdated":1682077347000}',o={},c=t("",8),s=[c];function l(d,n,h,_,p,f){return i(),r("div",null,s)}var k=a(o,[["render",l]]);export{b as __pageData,k as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,c as e,o as r,a as d}from"./app.3817bf4e.js";const g='{"title":"\u81EA\u5EFA\u4F7F\u7528 API \u6765\u8FDB\u884C\u67E5\u8BE2,\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684 Telegram \u67E5\u8BE2\u673A\u5668\u4EBA","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u8272","slug":"\u9879\u76EE\u7279\u8272"},{"level":2,"title":"\u547D\u4EE4\u5217\u8868","slug":"\u547D\u4EE4\u5217\u8868"},{"level":2,"title":"\u6548\u679C\u5C55\u793A","slug":"\u6548\u679C\u5C55\u793A"}],"relativePath":"case/case3.md","lastUpdated":1682076617000}',a={},l=d('<h1 id="\u81EA\u5EFA\u4F7F\u7528-api-\u6765\u8FDB\u884C\u67E5\u8BE2-\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684-telegram-\u67E5\u8BE2\u673A\u5668\u4EBA" tabindex="-1">\u81EA\u5EFA\u4F7F\u7528 API \u6765\u8FDB\u884C\u67E5\u8BE2,\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684 Telegram \u67E5\u8BE2\u673A\u5668\u4EBA <a class="header-anchor" href="#\u81EA\u5EFA\u4F7F\u7528-api-\u6765\u8FDB\u884C\u67E5\u8BE2-\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684-telegram-\u67E5\u8BE2\u673A\u5668\u4EBA" aria-hidden="true">#</a></h1><p>\u8D21\u732E\u8005:</p><ul><li><a href="https://github.com/tech-fever" target="_blank" rel="noopener noreferrer">tech-fever</a></li></ul><p>\u9879\u76EE\u5730\u5740\uFF1A<a href="https://github.com/tech-fever/nezha_telegram_bot" target="_blank" rel="noopener noreferrer">nezha_telegram_bot</a></p><p>\u955C\u50CF\u5907\u4EFD\uFF08\u975E\u5B9E\u65F6\u66F4\u65B0\uFF09\uFF1A<a href="https://github.com/nezhahq/nezha_telegram_bot" target="_blank" rel="noopener noreferrer">nezha_telegram_bot</a></p><h2 id="\u9879\u76EE\u7279\u8272" tabindex="-1">\u9879\u76EE\u7279\u8272 <a class="header-anchor" href="#\u9879\u76EE\u7279\u8272" aria-hidden="true">#</a></h2><p>\u5F00\u6E90Telegram\u673A\u5668\u4EBA\u9879\u76EE\uFF0C\u53EF\u4EE5\u57FA\u4E8EAPI\u5B9E\u65F6\u67E5\u8BE2\u54EA\u5412\u9762\u677F\u7684\u670D\u52A1\u5668\u4FE1\u606F\u3002</p><ul><li>[x] \u652F\u6301\u4E2D/\u82F1\u591A\u8BED\u8A00\u5207\u6362</li><li>[x] \u652F\u6301\u5206\u7EC4\u7EDF\u8BA1(CPU\u3001\u78C1\u76D8\u3001\u5185\u5B58\u3001\u4E0A\u4E0B\u884C\u901F\u5EA6\u3001\u6D41\u91CF\u7EDF\u8BA1\u7B49)</li><li>[x] \u652F\u6301\u5B9E\u65F6\u5237\u65B0\u5355\u4E2A\u670D\u52A1\u5668\u6570\u636E</li><li>[x] \u652F\u6301\u952E\u76D8\u4E92\u52A8\u67E5\u8BE2</li><li>[x] \u652F\u6301\u547D\u4EE4\u76F4\u63A5\u67E5\u8BE2</li><li>[x] \u589E\u52A0\u7FA4\u804A\u5224\u65AD\uFF0C\u9650\u5236\u7FA4\u804A\u53EF\u53D1\u9001\u547D\u4EE4</li><li>[x] \u589E\u52A0\u7FA4\u804A\u51855\u79D2\u81EA\u52A8\u5220\u9664\u4FE1\u606F</li><li>[x] \u652F\u6301docker\u90E8\u7F72</li></ul><h2 id="\u547D\u4EE4\u5217\u8868" tabindex="-1">\u547D\u4EE4\u5217\u8868 <a class="header-anchor" href="#\u547D\u4EE4\u5217\u8868" aria-hidden="true">#</a></h2><table><thead><tr><th>\u547D\u4EE4</th><th>\u529F\u80FD</th><th>\u4EC5\u79C1\u804A</th></tr></thead><tbody><tr><td>start</td><td>\u5F00\u59CB\u4F7F\u7528\u952E\u76D8\u4E3B\u83DC\u5355</td><td>\u2714\uFE0F</td></tr><tr><td>help</td><td>\u5E2E\u52A9\u5217\u8868</td><td>\u274C</td></tr><tr><td>add</td><td>\u6DFB\u52A0\u9762\u677F\u94FE\u63A5\u548Ctoken</td><td>\u2714\uFE0F</td></tr><tr><td>url</td><td>\u6DFB\u52A0\u9762\u677F\u94FE\u63A5</td><td>\u2714\uFE0F</td></tr><tr><td>token</td><td>\u6DFB\u52A0\u9762\u677Ftoken</td><td>\u2714\uFE0F</td></tr><tr><td>info</td><td>\u83B7\u53D6\u4FDD\u5B58\u7684\u9762\u677F\u94FE\u63A5\u548Ctoken</td><td>\u2714\uFE0F</td></tr><tr><td>delete</td><td>\u5220\u9664\u4FDD\u5B58\u7684\u9762\u677F\u94FE\u63A5\u548Ctoken</td><td>\u2714\uFE0F</td></tr><tr><td>id</td><td>\u547D\u4EE4\u540E\u9762\u6DFB\u52A0\u6574\u6570id\uFF0C\u6765\u8FDB\u884C\u5355\u4E2A\u670D\u52A1\u5668\u4FE1\u606F\u67E5\u8BE2\uFF08\u79C1\u804A\u5E26\u5237\u65B0\u6309\u94AE\uFF0C\u7FA4\u804A\u4E0D\u5E26\uFF09</td><td>\u274C</td></tr><tr><td>all</td><td>\u67E5\u8BE2\u6240\u6709\u670D\u52A1\u5668\u7684\u7EDF\u8BA1\u4FE1\u606F</td><td>\u274C</td></tr><tr><td>search</td><td>\u5728\u670D\u52A1\u5668\u540D\u5B57\u4E2D\u641C\u7D22\u5173\u952E\u5B57\uFF08\u652F\u6301\u591A\u4E2A\uFF0C\u7528\u7A7A\u683C\u5206\u5F00\uFF09</td><td>\u274C</td></tr></tbody></table><h2 id="\u6548\u679C\u5C55\u793A" tabindex="-1">\u6548\u679C\u5C55\u793A <a class="header-anchor" href="#\u6548\u679C\u5C55\u793A" aria-hidden="true">#</a></h2><p><img src="https://user-images.githubusercontent.com/105153585/175813727-bef77a8e-ff46-4fd4-b41b-43902abf6159.png#pic_left" alt=""><img src="https://user-images.githubusercontent.com/105153585/175813645-4df4f4c7-2591-4133-9645-21c7db2f62ab.png#pic_right" alt=""></p>',12),i=[l];function h(n,o,s,c,_,p){return r(),e("div",null,i)}var b=t(a,[["render",h]]);export{g as __pageData,b as default};
|
||||
import{_ as t,c as e,o as r,a as d}from"./app.38e99b9a.js";const g='{"title":"\u81EA\u5EFA\u4F7F\u7528 API \u6765\u8FDB\u884C\u67E5\u8BE2,\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684 Telegram \u67E5\u8BE2\u673A\u5668\u4EBA","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u8272","slug":"\u9879\u76EE\u7279\u8272"},{"level":2,"title":"\u547D\u4EE4\u5217\u8868","slug":"\u547D\u4EE4\u5217\u8868"},{"level":2,"title":"\u6548\u679C\u5C55\u793A","slug":"\u6548\u679C\u5C55\u793A"}],"relativePath":"case/case3.md","lastUpdated":1682077347000}',a={},l=d('<h1 id="\u81EA\u5EFA\u4F7F\u7528-api-\u6765\u8FDB\u884C\u67E5\u8BE2-\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684-telegram-\u67E5\u8BE2\u673A\u5668\u4EBA" tabindex="-1">\u81EA\u5EFA\u4F7F\u7528 API \u6765\u8FDB\u884C\u67E5\u8BE2,\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684 Telegram \u67E5\u8BE2\u673A\u5668\u4EBA <a class="header-anchor" href="#\u81EA\u5EFA\u4F7F\u7528-api-\u6765\u8FDB\u884C\u67E5\u8BE2-\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684-telegram-\u67E5\u8BE2\u673A\u5668\u4EBA" aria-hidden="true">#</a></h1><p>\u8D21\u732E\u8005:</p><ul><li><a href="https://github.com/tech-fever" target="_blank" rel="noopener noreferrer">tech-fever</a></li></ul><p>\u9879\u76EE\u5730\u5740\uFF1A<a href="https://github.com/tech-fever/nezha_telegram_bot" target="_blank" rel="noopener noreferrer">nezha_telegram_bot</a></p><p>\u955C\u50CF\u5907\u4EFD\uFF08\u975E\u5B9E\u65F6\u66F4\u65B0\uFF09\uFF1A<a href="https://github.com/nezhahq/nezha_telegram_bot" target="_blank" rel="noopener noreferrer">nezha_telegram_bot</a></p><h2 id="\u9879\u76EE\u7279\u8272" tabindex="-1">\u9879\u76EE\u7279\u8272 <a class="header-anchor" href="#\u9879\u76EE\u7279\u8272" aria-hidden="true">#</a></h2><p>\u5F00\u6E90Telegram\u673A\u5668\u4EBA\u9879\u76EE\uFF0C\u53EF\u4EE5\u57FA\u4E8EAPI\u5B9E\u65F6\u67E5\u8BE2\u54EA\u5412\u9762\u677F\u7684\u670D\u52A1\u5668\u4FE1\u606F\u3002</p><ul><li>[x] \u652F\u6301\u4E2D/\u82F1\u591A\u8BED\u8A00\u5207\u6362</li><li>[x] \u652F\u6301\u5206\u7EC4\u7EDF\u8BA1(CPU\u3001\u78C1\u76D8\u3001\u5185\u5B58\u3001\u4E0A\u4E0B\u884C\u901F\u5EA6\u3001\u6D41\u91CF\u7EDF\u8BA1\u7B49)</li><li>[x] \u652F\u6301\u5B9E\u65F6\u5237\u65B0\u5355\u4E2A\u670D\u52A1\u5668\u6570\u636E</li><li>[x] \u652F\u6301\u952E\u76D8\u4E92\u52A8\u67E5\u8BE2</li><li>[x] \u652F\u6301\u547D\u4EE4\u76F4\u63A5\u67E5\u8BE2</li><li>[x] \u589E\u52A0\u7FA4\u804A\u5224\u65AD\uFF0C\u9650\u5236\u7FA4\u804A\u53EF\u53D1\u9001\u547D\u4EE4</li><li>[x] \u589E\u52A0\u7FA4\u804A\u51855\u79D2\u81EA\u52A8\u5220\u9664\u4FE1\u606F</li><li>[x] \u652F\u6301docker\u90E8\u7F72</li></ul><h2 id="\u547D\u4EE4\u5217\u8868" tabindex="-1">\u547D\u4EE4\u5217\u8868 <a class="header-anchor" href="#\u547D\u4EE4\u5217\u8868" aria-hidden="true">#</a></h2><table><thead><tr><th>\u547D\u4EE4</th><th>\u529F\u80FD</th><th>\u4EC5\u79C1\u804A</th></tr></thead><tbody><tr><td>start</td><td>\u5F00\u59CB\u4F7F\u7528\u952E\u76D8\u4E3B\u83DC\u5355</td><td>\u2714\uFE0F</td></tr><tr><td>help</td><td>\u5E2E\u52A9\u5217\u8868</td><td>\u274C</td></tr><tr><td>add</td><td>\u6DFB\u52A0\u9762\u677F\u94FE\u63A5\u548Ctoken</td><td>\u2714\uFE0F</td></tr><tr><td>url</td><td>\u6DFB\u52A0\u9762\u677F\u94FE\u63A5</td><td>\u2714\uFE0F</td></tr><tr><td>token</td><td>\u6DFB\u52A0\u9762\u677Ftoken</td><td>\u2714\uFE0F</td></tr><tr><td>info</td><td>\u83B7\u53D6\u4FDD\u5B58\u7684\u9762\u677F\u94FE\u63A5\u548Ctoken</td><td>\u2714\uFE0F</td></tr><tr><td>delete</td><td>\u5220\u9664\u4FDD\u5B58\u7684\u9762\u677F\u94FE\u63A5\u548Ctoken</td><td>\u2714\uFE0F</td></tr><tr><td>id</td><td>\u547D\u4EE4\u540E\u9762\u6DFB\u52A0\u6574\u6570id\uFF0C\u6765\u8FDB\u884C\u5355\u4E2A\u670D\u52A1\u5668\u4FE1\u606F\u67E5\u8BE2\uFF08\u79C1\u804A\u5E26\u5237\u65B0\u6309\u94AE\uFF0C\u7FA4\u804A\u4E0D\u5E26\uFF09</td><td>\u274C</td></tr><tr><td>all</td><td>\u67E5\u8BE2\u6240\u6709\u670D\u52A1\u5668\u7684\u7EDF\u8BA1\u4FE1\u606F</td><td>\u274C</td></tr><tr><td>search</td><td>\u5728\u670D\u52A1\u5668\u540D\u5B57\u4E2D\u641C\u7D22\u5173\u952E\u5B57\uFF08\u652F\u6301\u591A\u4E2A\uFF0C\u7528\u7A7A\u683C\u5206\u5F00\uFF09</td><td>\u274C</td></tr></tbody></table><h2 id="\u6548\u679C\u5C55\u793A" tabindex="-1">\u6548\u679C\u5C55\u793A <a class="header-anchor" href="#\u6548\u679C\u5C55\u793A" aria-hidden="true">#</a></h2><p><img src="https://user-images.githubusercontent.com/105153585/175813727-bef77a8e-ff46-4fd4-b41b-43902abf6159.png#pic_left" alt=""><img src="https://user-images.githubusercontent.com/105153585/175813645-4df4f4c7-2591-4133-9645-21c7db2f62ab.png#pic_right" alt=""></p>',12),i=[l];function h(n,o,s,c,_,p){return r(),e("div",null,i)}var b=t(a,[["render",h]]);export{g as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,c as e,o as r,a as d}from"./app.3817bf4e.js";const g='{"title":"\u81EA\u5EFA\u4F7F\u7528 API \u6765\u8FDB\u884C\u67E5\u8BE2,\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684 Telegram \u67E5\u8BE2\u673A\u5668\u4EBA","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u8272","slug":"\u9879\u76EE\u7279\u8272"},{"level":2,"title":"\u547D\u4EE4\u5217\u8868","slug":"\u547D\u4EE4\u5217\u8868"},{"level":2,"title":"\u6548\u679C\u5C55\u793A","slug":"\u6548\u679C\u5C55\u793A"}],"relativePath":"case/case3.md","lastUpdated":1682076617000}',a={},l=d("",12),i=[l];function h(n,o,s,c,_,p){return r(),e("div",null,i)}var b=t(a,[["render",h]]);export{g as __pageData,b as default};
|
||||
import{_ as t,c as e,o as r,a as d}from"./app.38e99b9a.js";const g='{"title":"\u81EA\u5EFA\u4F7F\u7528 API \u6765\u8FDB\u884C\u67E5\u8BE2,\u4E14\u652F\u6301\u591A\u8BED\u8A00\u7684 Telegram \u67E5\u8BE2\u673A\u5668\u4EBA","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u8272","slug":"\u9879\u76EE\u7279\u8272"},{"level":2,"title":"\u547D\u4EE4\u5217\u8868","slug":"\u547D\u4EE4\u5217\u8868"},{"level":2,"title":"\u6548\u679C\u5C55\u793A","slug":"\u6548\u679C\u5C55\u793A"}],"relativePath":"case/case3.md","lastUpdated":1682077347000}',a={},l=d("",12),i=[l];function h(n,o,s,c,_,p){return r(),e("div",null,i)}var b=t(a,[["render",h]]);export{g as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as s,o as r,a as t}from"./app.3817bf4e.js";var a="/assets/2.38c2ea56.png",n="/assets/5.23139306.png",o="/assets/6.22a61698.png",p="/assets/4.fe6a4e7a.jpg",_="/assets/1.b4b4591f.jpeg";const k='{"title":"\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","lastUpdated":1682076617000}',i={},c=t('<h1 id="\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351" tabindex="-1">\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351 <a class="header-anchor" href="#\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351" aria-hidden="true">#</a></h1><br><hr><p><img src="'+a+'" alt=""><br><br><span style="font-size:5;">\u8FD8\u5728\u56E0\u4E3A\u81EA\u5DF1\u7684\u5C0F\u9E21\u914D\u7F6E\u592A\u5DEE\u88AB\u670B\u53CB\u5632\u7B11\u5417\uFF1F </span><br><span style="font-size:5;">\u8FD8\u5728\u60F3\u53C2\u52A0\u4EE5\u9488\u4F1A\u53CB\u6D3B\u52A8\u5374\u56E0\u4E3A\u5C0F\u9E21\u4E0D\u591F\u6392\u9762\u800C\u89C9\u5F97\u7F9E\u803B\u5417\uFF1F </span><br><span style="font-size:5;">\u8FD8\u5728\u56E0\u4E3A\u5728\u54EA\u5412TG\u7FA4\u91CC\u673A\u5668\u4EBA\u6392\u540D\u592A\u4F4E\u800C\u89C9\u5F97\u81EA\u5DF1\u4F4E\u4EBA\u4E00\u7B49\u5417\uFF1F </span><br><br><br><span style="font-size:6;"><strong>\u4ECA\u5929\u5F00\u59CB\uFF01\u627E\u56DE\u81EA\u4FE1\uFF01</strong></span><br></p><p>\u6765\u81EA\u5357\u4EAC\u7684\u540D\u8001\u4E2D\u533B <a href="https://github.com/dysf888" target="_blank" rel="noopener noreferrer">dysf888</a> \u72EC\u5BB6\u79D8\u65B9\uFF01\u8BA9\u4F60<strong>\u627E\u56DE\u7537\u4EBA\u672C\u8272\uFF0C\u6FC0\u60C5\u7545\u4EAB\uFF01</strong><br> \u5B89\u88C5 <a href="https://github.com/dysf888/fake-nezha-agent" target="_blank" rel="noopener noreferrer">Fake Agent</a>\uFF0C\u53EF\u968F\u610F\u4FEE\u6539\u670D\u52A1\u5668\u76D1\u6D4B\u6570\u636E\u7684\u500D\u6570\u4E0A\u4F20\u5230 Dashboard\uFF0C\u8BA9\u4F60\u7684\u5C0F\u9E21 <strong>\u8131\uFF01\u80CE\uFF01\u6362\uFF01\u9AA8\uFF01</strong> \u8BA9\u4F60\u5728 MJJ \u9762\u524D<span style="font-size:5;">\u786C</span>\u8D77\u6765\uFF01</p><p>\u955C\u50CF\u5907\u4EFD\uFF08\u975E\u5B9E\u65F6\u66F4\u65B0\uFF09\uFF1A<a href="https://github.com/nezhahq/fake-nezha-agent" target="_blank" rel="noopener noreferrer">Fake Agent</a><br><br></p><p><span style="font-size:4;"><strong>\u54EA\u5412\u76D1\u63A7\u521B\u59CB\u4EBA\u5976\u7238\u4E5F\u5728\u7528\uFF1A</strong></span><br><img src="'+n+'" alt=""></p><br><p><span style="font-size:4;"><strong>\u7537\u4EBA\u7528\u4E86\u90FD\u8BF4\u597D\uFF1A</strong></span><br><img src="'+o+'" alt=""><br><img src="'+p+'" alt=""></p><br><hr><p><img src="'+_+'" alt=""></p>',12),g=[c];function f(l,b,h,d,m,y){return r(),s("div",null,g)}var u=e(i,[["render",f]]);export{k as __pageData,u as default};
|
||||
import{_ as e,c as s,o as r,a as t}from"./app.38e99b9a.js";var a="/assets/2.38c2ea56.png",n="/assets/5.23139306.png",o="/assets/6.22a61698.png",p="/assets/4.fe6a4e7a.jpg",_="/assets/1.b4b4591f.jpeg";const k='{"title":"\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","lastUpdated":1682077347000}',i={},c=t('<h1 id="\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351" tabindex="-1">\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351 <a class="header-anchor" href="#\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351" aria-hidden="true">#</a></h1><br><hr><p><img src="'+a+'" alt=""><br><br><span style="font-size:5;">\u8FD8\u5728\u56E0\u4E3A\u81EA\u5DF1\u7684\u5C0F\u9E21\u914D\u7F6E\u592A\u5DEE\u88AB\u670B\u53CB\u5632\u7B11\u5417\uFF1F </span><br><span style="font-size:5;">\u8FD8\u5728\u60F3\u53C2\u52A0\u4EE5\u9488\u4F1A\u53CB\u6D3B\u52A8\u5374\u56E0\u4E3A\u5C0F\u9E21\u4E0D\u591F\u6392\u9762\u800C\u89C9\u5F97\u7F9E\u803B\u5417\uFF1F </span><br><span style="font-size:5;">\u8FD8\u5728\u56E0\u4E3A\u5728\u54EA\u5412TG\u7FA4\u91CC\u673A\u5668\u4EBA\u6392\u540D\u592A\u4F4E\u800C\u89C9\u5F97\u81EA\u5DF1\u4F4E\u4EBA\u4E00\u7B49\u5417\uFF1F </span><br><br><br><span style="font-size:6;"><strong>\u4ECA\u5929\u5F00\u59CB\uFF01\u627E\u56DE\u81EA\u4FE1\uFF01</strong></span><br></p><p>\u6765\u81EA\u5357\u4EAC\u7684\u540D\u8001\u4E2D\u533B <a href="https://github.com/dysf888" target="_blank" rel="noopener noreferrer">dysf888</a> \u72EC\u5BB6\u79D8\u65B9\uFF01\u8BA9\u4F60<strong>\u627E\u56DE\u7537\u4EBA\u672C\u8272\uFF0C\u6FC0\u60C5\u7545\u4EAB\uFF01</strong><br> \u5B89\u88C5 <a href="https://github.com/dysf888/fake-nezha-agent" target="_blank" rel="noopener noreferrer">Fake Agent</a>\uFF0C\u53EF\u968F\u610F\u4FEE\u6539\u670D\u52A1\u5668\u76D1\u6D4B\u6570\u636E\u7684\u500D\u6570\u4E0A\u4F20\u5230 Dashboard\uFF0C\u8BA9\u4F60\u7684\u5C0F\u9E21 <strong>\u8131\uFF01\u80CE\uFF01\u6362\uFF01\u9AA8\uFF01</strong> \u8BA9\u4F60\u5728 MJJ \u9762\u524D<span style="font-size:5;">\u786C</span>\u8D77\u6765\uFF01</p><p>\u955C\u50CF\u5907\u4EFD\uFF08\u975E\u5B9E\u65F6\u66F4\u65B0\uFF09\uFF1A<a href="https://github.com/nezhahq/fake-nezha-agent" target="_blank" rel="noopener noreferrer">Fake Agent</a><br><br></p><p><span style="font-size:4;"><strong>\u54EA\u5412\u76D1\u63A7\u521B\u59CB\u4EBA\u5976\u7238\u4E5F\u5728\u7528\uFF1A</strong></span><br><img src="'+n+'" alt=""></p><br><p><span style="font-size:4;"><strong>\u7537\u4EBA\u7528\u4E86\u90FD\u8BF4\u597D\uFF1A</strong></span><br><img src="'+o+'" alt=""><br><img src="'+p+'" alt=""></p><br><hr><p><img src="'+_+'" alt=""></p>',12),g=[c];function f(l,b,h,d,m,y){return r(),s("div",null,g)}var u=e(i,[["render",f]]);export{k as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as s,o as r,a as t}from"./app.3817bf4e.js";var a="/assets/2.38c2ea56.png",n="/assets/5.23139306.png",o="/assets/6.22a61698.png",p="/assets/4.fe6a4e7a.jpg",_="/assets/1.b4b4591f.jpeg";const k='{"title":"\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","lastUpdated":1682076617000}',i={},c=t("",12),g=[c];function f(l,b,h,d,m,y){return r(),s("div",null,g)}var u=e(i,[["render",f]]);export{k as __pageData,u as default};
|
||||
import{_ as e,c as s,o as r,a as t}from"./app.38e99b9a.js";var a="/assets/2.38c2ea56.png",n="/assets/5.23139306.png",o="/assets/6.22a61698.png",p="/assets/4.fe6a4e7a.jpg",_="/assets/1.b4b4591f.jpeg";const k='{"title":"\u91CD\u78C5\u63A8\u8350\uFF01\u4E00\u79D2\u62E5\u6709\u5B87\u5B99\u7EA7\u7B97\u529B\uFF01\u8BA9\u4F60\u5728\u4EBA\u524D\uFF0C\u4E0D\uFF01\u518D\uFF01\u81EA\uFF01\u5351","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","lastUpdated":1682077347000}',i={},c=t("",12),g=[c];function f(l,b,h,d,m,y){return r(),s("div",null,g)}var u=e(i,[["render",f]]);export{k as __pageData,u as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as e,c as t,o as a,a as r}from"./app.3817bf4e.js";const m='{"title":"Nezha server over Argo tunnel","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9:","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF","slug":"\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF"},{"level":2,"title":"PaaS \u90E8\u7F72\u5B9E\u4F8B","slug":"paas-\u90E8\u7F72\u5B9E\u4F8B"},{"level":2,"title":"VPS \u90E8\u7F72\u5B9E\u4F8B","slug":"vps-\u90E8\u7F72\u5B9E\u4F8B"},{"level":3,"title":"docker \u90E8\u7F72","slug":"docker-\u90E8\u7F72"},{"level":3,"title":"docker-compose \u90E8\u7F72","slug":"docker-compose-\u90E8\u7F72"},{"level":2,"title":"\u5BA2\u6237\u7AEF\u63A5\u5165","slug":"\u5BA2\u6237\u7AEF\u63A5\u5165"},{"level":2,"title":"SSH \u63A5\u5165","slug":"ssh-\u63A5\u5165"},{"level":2,"title":"","slug":""},{"level":2,"title":"\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE:","slug":"\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE"},{"level":2,"title":"\u514D\u8D23\u58F0\u660E:","slug":"\u514D\u8D23\u58F0\u660E"}],"relativePath":"case/case5.md","lastUpdated":1682076617000}',l={},n=r(`<h1 id="nezha-server-over-argo-tunnel" tabindex="-1">Nezha server over Argo tunnel <a class="header-anchor" href="#nezha-server-over-argo-tunnel" aria-hidden="true">#</a></h1><p>\u4F7F\u7528 Argo \u96A7\u9053\u7684\u54EA\u5412\u670D\u52A1\u7AEF \u8D21\u732E\u8005:</p><ul><li><a href="https://github.com/fscarmen2" target="_blank" rel="noopener noreferrer">fscarmen</a></li></ul><p>\u9879\u76EE\u5730\u5740\uFF1A<a href="https://github.com/fscarmen2/Argo-Nezha-Service-Container" target="_blank" rel="noopener noreferrer">Argo-Nezha-Service-Container</a></p><hr><h1 id="\u76EE\u5F55" tabindex="-1">\u76EE\u5F55 <a class="header-anchor" href="#\u76EE\u5F55" aria-hidden="true">#</a></h1><ul><li><a href="./case5.html#\u9879\u76EE\u7279\u70B9">\u9879\u76EE\u7279\u70B9</a></li><li><a href="./case5.html#\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF">\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF</a></li><li><a href="./case5.html#PaaS-\u90E8\u7F72\u5B9E\u4F8B">PaaS \u90E8\u7F72\u5B9E\u4F8B</a></li><li><a href="./case5.html#VPS-\u90E8\u7F72\u5B9E\u4F8B">VPS \u90E8\u7F72\u5B9E\u4F8B</a></li><li><a href="./case5.html#\u5BA2\u6237\u7AEF\u63A5\u5165">\u5BA2\u6237\u7AEF\u63A5\u5165</a></li><li><a href="./case5.html#ssh-\u63A5\u5165">SSH \u63A5\u5165</a></li><li><a href="./case5.html#\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE">\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE</a></li><li><a href="./case5.html#\u514D\u8D23\u58F0\u660E">\u514D\u8D23\u58F0\u660E</a></li></ul><hr><h2 id="\u9879\u76EE\u7279\u70B9" tabindex="-1">\u9879\u76EE\u7279\u70B9: <a class="header-anchor" href="#\u9879\u76EE\u7279\u70B9" aria-hidden="true">#</a></h2><ul><li>\u9002\u7528\u8303\u56F4\u66F4\u5E7F --- \u53EA\u8981\u80FD\u8FDE\u901A\u7F51\u7EDC\uFF0C\u5C31\u80FD\u5B89\u88C5\u54EA\u5412\u670D\u52A1\u7AEF\uFF0C\u5982 Nas \u865A\u62DF\u673A , Container PaaS \u7B49</li><li>Argo \u96A7\u9053\u7A81\u7834\u9700\u8981\u516C\u7F51\u5165\u53E3\u7684\u9650\u5236 --- \u4F20\u7EDF\u7684\u54EA\u5412\u9700\u8981\u6709\u4E24\u4E2A\uFF0C\u4E00\u4E2A\u7528\u4E8E\u9762\u677F\u7684\u8BBF\u95EE\uFF0C\u53E6\u4E00\u4E2A\u7528\u4E8E\u5BA2\u6237\u7AEF\u4E0A\u62A5\u6570\u636E\uFF0C\u672C\u9879\u76EE\u501F\u7528 Cloudflare Argo \u96A7\u9053\uFF0C\u4F7F\u7528\u5185\u7F51\u7A7F\u900F\u7684\u529E\u6CD5</li><li>IPv4 / v6 \u5177\u5907\u66F4\u9AD8\u7684\u7075\u6D3B\u6027 --- \u4F20\u7EDF\u54EA\u5412\u9700\u8981\u5904\u7406\u670D\u52A1\u7AEF\u548C\u5BA2\u6237\u7AEF\u7684 IPv4/v6 \u517C\u5BB9\u6027\u95EE\u9898\uFF0C\u8FD8\u9700\u8981\u901A\u8FC7 warp \u7B49\u5DE5\u5177\u6765\u89E3\u51B3\u4E0D\u5BF9\u5E94\u7684\u60C5\u51B5\u3002\u7136\u800C\uFF0C\u672C\u9879\u76EE\u53EF\u4EE5\u5B8C\u5168\u4E0D\u9700\u8981\u8003\u8651\u8FD9\u4E9B\u95EE\u9898\uFF0C\u53EF\u4EE5\u4EFB\u610F\u5BF9\u63A5\uFF0C\u66F4\u52A0\u65B9\u4FBF\u548C\u7B80\u4FBF</li><li>\u4E00\u6761 Argo \u96A7\u9053\u5206\u6D41\u591A\u4E2A\u57DF\u540D\u548C\u534F\u8BAE --- \u5EFA\u7ACB\u4E00\u6761\u5185\u7F51\u7A7F\u900F\u7684 Argo \u96A7\u9053\uFF0C\u5373\u53EF\u5206\u6D41\u4E09\u4E2A\u57DF\u540D(hostname)\u548C\u534F\u8BAE(protocal)\uFF0C\u5206\u522B\u7528\u4E8E\u9762\u677F\u7684\u8BBF\u95EE(http)\uFF0C\u5BA2\u6237\u7AEF\u4E0A\u62A5\u6570\u636E(tcp)\u548C ssh\uFF08\u53EF\u9009\uFF09</li><li>Nginx \u53CD\u5411\u4EE3\u7406\u7684 gRPC \u6570\u636E\u7AEF\u53E3 --- \u914D\u4E0A\u8BC1\u4E66\u505A tls \u7EC8\u7ED3\uFF0C\u7136\u540E Argo \u7684\u96A7\u9053\u914D\u7F6E\u7528 https \u670D\u52A1\u6307\u5411\u8FD9\u4E2A\u53CD\u5411\u4EE3\u7406\uFF0C\u542F\u7528http2\u56DE\u6E90\uFF0Cgrpc(nezha)->h2(nginx)->argo->cf cdn edge->agent</li><li>\u6BCF\u5929\u81EA\u52A8\u5907\u4EFD --- \u6BCF\u5929 0 \u65F6 0 \u5206\u81EA\u52A8\u5907\u4EFD\u6574\u4E2A\u54EA\u5412\u9762\u677F\u65
Line truncated
|
||||
import{_ as e,c as t,o as a,a as r}from"./app.38e99b9a.js";const m='{"title":"Nezha server over Argo tunnel","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9:","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF","slug":"\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF"},{"level":2,"title":"PaaS \u90E8\u7F72\u5B9E\u4F8B","slug":"paas-\u90E8\u7F72\u5B9E\u4F8B"},{"level":2,"title":"VPS \u90E8\u7F72\u5B9E\u4F8B","slug":"vps-\u90E8\u7F72\u5B9E\u4F8B"},{"level":3,"title":"docker \u90E8\u7F72","slug":"docker-\u90E8\u7F72"},{"level":3,"title":"docker-compose \u90E8\u7F72","slug":"docker-compose-\u90E8\u7F72"},{"level":2,"title":"\u5BA2\u6237\u7AEF\u63A5\u5165","slug":"\u5BA2\u6237\u7AEF\u63A5\u5165"},{"level":2,"title":"SSH \u63A5\u5165","slug":"ssh-\u63A5\u5165"},{"level":2,"title":"","slug":""},{"level":2,"title":"\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE:","slug":"\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE"},{"level":2,"title":"\u514D\u8D23\u58F0\u660E:","slug":"\u514D\u8D23\u58F0\u660E"}],"relativePath":"case/case5.md","lastUpdated":1682077347000}',l={},n=r(`<h1 id="nezha-server-over-argo-tunnel" tabindex="-1">Nezha server over Argo tunnel <a class="header-anchor" href="#nezha-server-over-argo-tunnel" aria-hidden="true">#</a></h1><p>\u4F7F\u7528 Argo \u96A7\u9053\u7684\u54EA\u5412\u670D\u52A1\u7AEF \u8D21\u732E\u8005:</p><ul><li><a href="https://github.com/fscarmen2" target="_blank" rel="noopener noreferrer">fscarmen</a></li></ul><p>\u9879\u76EE\u5730\u5740\uFF1A<a href="https://github.com/fscarmen2/Argo-Nezha-Service-Container" target="_blank" rel="noopener noreferrer">Argo-Nezha-Service-Container</a></p><hr><h1 id="\u76EE\u5F55" tabindex="-1">\u76EE\u5F55 <a class="header-anchor" href="#\u76EE\u5F55" aria-hidden="true">#</a></h1><ul><li><a href="./case5.html#\u9879\u76EE\u7279\u70B9">\u9879\u76EE\u7279\u70B9</a></li><li><a href="./case5.html#\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF">\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF</a></li><li><a href="./case5.html#PaaS-\u90E8\u7F72\u5B9E\u4F8B">PaaS \u90E8\u7F72\u5B9E\u4F8B</a></li><li><a href="./case5.html#VPS-\u90E8\u7F72\u5B9E\u4F8B">VPS \u90E8\u7F72\u5B9E\u4F8B</a></li><li><a href="./case5.html#\u5BA2\u6237\u7AEF\u63A5\u5165">\u5BA2\u6237\u7AEF\u63A5\u5165</a></li><li><a href="./case5.html#ssh-\u63A5\u5165">SSH \u63A5\u5165</a></li><li><a href="./case5.html#\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE">\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE</a></li><li><a href="./case5.html#\u514D\u8D23\u58F0\u660E">\u514D\u8D23\u58F0\u660E</a></li></ul><hr><h2 id="\u9879\u76EE\u7279\u70B9" tabindex="-1">\u9879\u76EE\u7279\u70B9: <a class="header-anchor" href="#\u9879\u76EE\u7279\u70B9" aria-hidden="true">#</a></h2><ul><li>\u9002\u7528\u8303\u56F4\u66F4\u5E7F --- \u53EA\u8981\u80FD\u8FDE\u901A\u7F51\u7EDC\uFF0C\u5C31\u80FD\u5B89\u88C5\u54EA\u5412\u670D\u52A1\u7AEF\uFF0C\u5982 Nas \u865A\u62DF\u673A , Container PaaS \u7B49</li><li>Argo \u96A7\u9053\u7A81\u7834\u9700\u8981\u516C\u7F51\u5165\u53E3\u7684\u9650\u5236 --- \u4F20\u7EDF\u7684\u54EA\u5412\u9700\u8981\u6709\u4E24\u4E2A\uFF0C\u4E00\u4E2A\u7528\u4E8E\u9762\u677F\u7684\u8BBF\u95EE\uFF0C\u53E6\u4E00\u4E2A\u7528\u4E8E\u5BA2\u6237\u7AEF\u4E0A\u62A5\u6570\u636E\uFF0C\u672C\u9879\u76EE\u501F\u7528 Cloudflare Argo \u96A7\u9053\uFF0C\u4F7F\u7528\u5185\u7F51\u7A7F\u900F\u7684\u529E\u6CD5</li><li>IPv4 / v6 \u5177\u5907\u66F4\u9AD8\u7684\u7075\u6D3B\u6027 --- \u4F20\u7EDF\u54EA\u5412\u9700\u8981\u5904\u7406\u670D\u52A1\u7AEF\u548C\u5BA2\u6237\u7AEF\u7684 IPv4/v6 \u517C\u5BB9\u6027\u95EE\u9898\uFF0C\u8FD8\u9700\u8981\u901A\u8FC7 warp \u7B49\u5DE5\u5177\u6765\u89E3\u51B3\u4E0D\u5BF9\u5E94\u7684\u60C5\u51B5\u3002\u7136\u800C\uFF0C\u672C\u9879\u76EE\u53EF\u4EE5\u5B8C\u5168\u4E0D\u9700\u8981\u8003\u8651\u8FD9\u4E9B\u95EE\u9898\uFF0C\u53EF\u4EE5\u4EFB\u610F\u5BF9\u63A5\uFF0C\u66F4\u52A0\u65B9\u4FBF\u548C\u7B80\u4FBF</li><li>\u4E00\u6761 Argo \u96A7\u9053\u5206\u6D41\u591A\u4E2A\u57DF\u540D\u548C\u534F\u8BAE --- \u5EFA\u7ACB\u4E00\u6761\u5185\u7F51\u7A7F\u900F\u7684 Argo \u96A7\u9053\uFF0C\u5373\u53EF\u5206\u6D41\u4E09\u4E2A\u57DF\u540D(hostname)\u548C\u534F\u8BAE(protocal)\uFF0C\u5206\u522B\u7528\u4E8E\u9762\u677F\u7684\u8BBF\u95EE(http)\uFF0C\u5BA2\u6237\u7AEF\u4E0A\u62A5\u6570\u636E(tcp)\u548C ssh\uFF08\u53EF\u9009\uFF09</li><li>Nginx \u53CD\u5411\u4EE3\u7406\u7684 gRPC \u6570\u636E\u7AEF\u53E3 --- \u914D\u4E0A\u8BC1\u4E66\u505A tls \u7EC8\u7ED3\uFF0C\u7136\u540E Argo \u7684\u96A7\u9053\u914D\u7F6E\u7528 https \u670D\u52A1\u6307\u5411\u8FD9\u4E2A\u53CD\u5411\u4EE3\u7406\uFF0C\u542F\u7528http2\u56DE\u6E90\uFF0Cgrpc(nezha)->h2(nginx)->argo->cf cdn edge->agent</li><li>\u6BCF\u5929\u81EA\u52A8\u5907\u4EFD --- \u6BCF\u5929 0 \u65F6 0 \u5206\u81EA\u52A8\u5907\u4EFD\u6574\u4E2A\u54EA\u5412\u9762\u677F\u65
Line truncated
|
||||
--name nezha_dashboard \\
|
||||
--restart always \\
|
||||
-v ./dashboard:/dashboard \\
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as r}from"./app.3817bf4e.js";const m='{"title":"Nezha server over Argo tunnel","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9:","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF","slug":"\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF"},{"level":2,"title":"PaaS \u90E8\u7F72\u5B9E\u4F8B","slug":"paas-\u90E8\u7F72\u5B9E\u4F8B"},{"level":2,"title":"VPS \u90E8\u7F72\u5B9E\u4F8B","slug":"vps-\u90E8\u7F72\u5B9E\u4F8B"},{"level":3,"title":"docker \u90E8\u7F72","slug":"docker-\u90E8\u7F72"},{"level":3,"title":"docker-compose \u90E8\u7F72","slug":"docker-compose-\u90E8\u7F72"},{"level":2,"title":"\u5BA2\u6237\u7AEF\u63A5\u5165","slug":"\u5BA2\u6237\u7AEF\u63A5\u5165"},{"level":2,"title":"SSH \u63A5\u5165","slug":"ssh-\u63A5\u5165"},{"level":2,"title":"","slug":""},{"level":2,"title":"\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE:","slug":"\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE"},{"level":2,"title":"\u514D\u8D23\u58F0\u660E:","slug":"\u514D\u8D23\u58F0\u660E"}],"relativePath":"case/case5.md","lastUpdated":1682076617000}',l={},n=r("",58),s=[n];function i(o,h,d,c,g,u){return a(),t("div",null,s)}var b=e(l,[["render",i]]);export{m as __pageData,b as default};
|
||||
import{_ as e,c as t,o as a,a as r}from"./app.38e99b9a.js";const m='{"title":"Nezha server over Argo tunnel","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9:","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF","slug":"\u51C6\u5907\u9700\u8981\u7528\u7684\u53D8\u91CF"},{"level":2,"title":"PaaS \u90E8\u7F72\u5B9E\u4F8B","slug":"paas-\u90E8\u7F72\u5B9E\u4F8B"},{"level":2,"title":"VPS \u90E8\u7F72\u5B9E\u4F8B","slug":"vps-\u90E8\u7F72\u5B9E\u4F8B"},{"level":3,"title":"docker \u90E8\u7F72","slug":"docker-\u90E8\u7F72"},{"level":3,"title":"docker-compose \u90E8\u7F72","slug":"docker-compose-\u90E8\u7F72"},{"level":2,"title":"\u5BA2\u6237\u7AEF\u63A5\u5165","slug":"\u5BA2\u6237\u7AEF\u63A5\u5165"},{"level":2,"title":"SSH \u63A5\u5165","slug":"ssh-\u63A5\u5165"},{"level":2,"title":"","slug":""},{"level":2,"title":"\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE:","slug":"\u9E23\u8C22\u4E0B\u5217\u4F5C\u8005\u7684\u6587\u7AE0\u548C\u9879\u76EE"},{"level":2,"title":"\u514D\u8D23\u58F0\u660E:","slug":"\u514D\u8D23\u58F0\u660E"}],"relativePath":"case/case5.md","lastUpdated":1682077347000}',l={},n=r("",58),s=[n];function i(o,h,d,c,g,u){return a(),t("div",null,s)}var b=e(l,[["render",i]]);export{m as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,c as s,o as r,b as e,d as t}from"./app.3817bf4e.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\u793E\u533A\u9879\u76EE","tagline":"\u54EA\u5412\u76D1\u63A7\u793E\u533A\u8D21\u732E\u7684\u76F8\u5173\u9879\u76EE\uFF0C\u4E3A\u54EA\u5412\u76D1\u63A7\u63D0\u4F9B\u4E86\u66F4\u591A\u6269\u5C55","actionText":"\u67E5\u770B\u9879\u76EE \u2192","actionLink":"/case/case1","features":[{"title":"\u63D0\u4EA4\u9879\u76EE","details":"\u6211\u4EEC\u6B22\u8FCE\u60A8\u63D0\u4EA4\u81EA\u5DF1\u7684\u9879\u76EE\uFF0C\u8BF7\u52A0\u5165TG\u7FA4\u8054\u7CFB\u7BA1\u7406\u5458\u4E86\u89E3\u76F8\u5173\u4E8B\u5B9C"},{"title":"\u6CE8\u610F\u4E8B\u9879","details":"\u6240\u6709\u9879\u76EE\u5747\u7531\u793E\u533A\u6210\u5458\u8D21\u732E\uFF0C\u8BF7\u60A8\u77E5\u6089\u54EA\u5412\u76D1\u63A7\u56E2\u961F\u65E0\u6CD5\u4E3A\u793E\u533A\u9879\u76EE\u627F\u62C5\u5305\u62EC\u4E14\u4E0D\u9650\u4E8E\uFF1A\u4FDD\u4FEE\u3001\u53EF\u7528\u6027\u3001\u5B89\u5168\u6027\u7B49\u8D23\u4EFB"}]},"headers":[],"relativePath":"case/index.md","lastUpdated":1682076617000}',o={},c=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),n=[c];function i(d,l,_,p,h,m){return r(),s("div",null,n)}var x=a(o,[["render",i]]);export{f as __pageData,x as default};
|
||||
import{_ as a,c as s,o as r,b as e,d as t}from"./app.38e99b9a.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\u793E\u533A\u9879\u76EE","tagline":"\u54EA\u5412\u76D1\u63A7\u793E\u533A\u8D21\u732E\u7684\u76F8\u5173\u9879\u76EE\uFF0C\u4E3A\u54EA\u5412\u76D1\u63A7\u63D0\u4F9B\u4E86\u66F4\u591A\u6269\u5C55","actionText":"\u67E5\u770B\u9879\u76EE \u2192","actionLink":"/case/case1","features":[{"title":"\u63D0\u4EA4\u9879\u76EE","details":"\u6211\u4EEC\u6B22\u8FCE\u60A8\u63D0\u4EA4\u81EA\u5DF1\u7684\u9879\u76EE\uFF0C\u8BF7\u52A0\u5165TG\u7FA4\u8054\u7CFB\u7BA1\u7406\u5458\u4E86\u89E3\u76F8\u5173\u4E8B\u5B9C"},{"title":"\u6CE8\u610F\u4E8B\u9879","details":"\u6240\u6709\u9879\u76EE\u5747\u7531\u793E\u533A\u6210\u5458\u8D21\u732E\uFF0C\u8BF7\u60A8\u77E5\u6089\u54EA\u5412\u76D1\u63A7\u56E2\u961F\u65E0\u6CD5\u4E3A\u793E\u533A\u9879\u76EE\u627F\u62C5\u5305\u62EC\u4E14\u4E0D\u9650\u4E8E\uFF1A\u4FDD\u4FEE\u3001\u53EF\u7528\u6027\u3001\u5B89\u5168\u6027\u7B49\u8D23\u4EFB"}]},"headers":[],"relativePath":"case/index.md","lastUpdated":1682077347000}',o={},c=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),n=[c];function i(d,l,_,p,h,m){return r(),s("div",null,n)}var x=a(o,[["render",i]]);export{f as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,c as s,o as r,b as e,d as t}from"./app.3817bf4e.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\u793E\u533A\u9879\u76EE","tagline":"\u54EA\u5412\u76D1\u63A7\u793E\u533A\u8D21\u732E\u7684\u76F8\u5173\u9879\u76EE\uFF0C\u4E3A\u54EA\u5412\u76D1\u63A7\u63D0\u4F9B\u4E86\u66F4\u591A\u6269\u5C55","actionText":"\u67E5\u770B\u9879\u76EE \u2192","actionLink":"/case/case1","features":[{"title":"\u63D0\u4EA4\u9879\u76EE","details":"\u6211\u4EEC\u6B22\u8FCE\u60A8\u63D0\u4EA4\u81EA\u5DF1\u7684\u9879\u76EE\uFF0C\u8BF7\u52A0\u5165TG\u7FA4\u8054\u7CFB\u7BA1\u7406\u5458\u4E86\u89E3\u76F8\u5173\u4E8B\u5B9C"},{"title":"\u6CE8\u610F\u4E8B\u9879","details":"\u6240\u6709\u9879\u76EE\u5747\u7531\u793E\u533A\u6210\u5458\u8D21\u732E\uFF0C\u8BF7\u60A8\u77E5\u6089\u54EA\u5412\u76D1\u63A7\u56E2\u961F\u65E0\u6CD5\u4E3A\u793E\u533A\u9879\u76EE\u627F\u62C5\u5305\u62EC\u4E14\u4E0D\u9650\u4E8E\uFF1A\u4FDD\u4FEE\u3001\u53EF\u7528\u6027\u3001\u5B89\u5168\u6027\u7B49\u8D23\u4EFB"}]},"headers":[],"relativePath":"case/index.md","lastUpdated":1682076617000}',o={},c=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),n=[c];function i(d,l,_,p,h,m){return r(),s("div",null,n)}var x=a(o,[["render",i]]);export{f as __pageData,x as default};
|
||||
import{_ as a,c as s,o as r,b as e,d as t}from"./app.38e99b9a.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\u793E\u533A\u9879\u76EE","tagline":"\u54EA\u5412\u76D1\u63A7\u793E\u533A\u8D21\u732E\u7684\u76F8\u5173\u9879\u76EE\uFF0C\u4E3A\u54EA\u5412\u76D1\u63A7\u63D0\u4F9B\u4E86\u66F4\u591A\u6269\u5C55","actionText":"\u67E5\u770B\u9879\u76EE \u2192","actionLink":"/case/case1","features":[{"title":"\u63D0\u4EA4\u9879\u76EE","details":"\u6211\u4EEC\u6B22\u8FCE\u60A8\u63D0\u4EA4\u81EA\u5DF1\u7684\u9879\u76EE\uFF0C\u8BF7\u52A0\u5165TG\u7FA4\u8054\u7CFB\u7BA1\u7406\u5458\u4E86\u89E3\u76F8\u5173\u4E8B\u5B9C"},{"title":"\u6CE8\u610F\u4E8B\u9879","details":"\u6240\u6709\u9879\u76EE\u5747\u7531\u793E\u533A\u6210\u5458\u8D21\u732E\uFF0C\u8BF7\u60A8\u77E5\u6089\u54EA\u5412\u76D1\u63A7\u56E2\u961F\u65E0\u6CD5\u4E3A\u793E\u533A\u9879\u76EE\u627F\u62C5\u5305\u62EC\u4E14\u4E0D\u9650\u4E8E\uFF1A\u4FDD\u4FEE\u3001\u53EF\u7528\u6027\u3001\u5B89\u5168\u6027\u7B49\u8D23\u4EFB"}]},"headers":[],"relativePath":"case/index.md","lastUpdated":1682077347000}',o={},c=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),n=[c];function i(d,l,_,p,h,m){return r(),s("div",null,n)}var x=a(o,[["render",i]]);export{f as __pageData,x as default};
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{e as Sr,u as Er,f as wr,w as Ct,g as jr,h as Pr,o as Ir,c as kr,i as Cr}from"../app.3817bf4e.js";/*! @docsearch/js 3.0.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Dt(Object(n),!0).forEach(function(r){Dr(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Oe(e){return Oe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oe(e)}function Dr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ut(){return ut=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ut.apply(this,arguments)}function xr(e,t){if(e==null)return{};var n,r,o=function(i,u){if(i==null)return{};var s,l,c={},d=Object.keys(i);for(l=0;l<d.length;l++)s=d[l],u.indexOf(s)>=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Fe(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,r){var o=n==null?null:typeof Symbol!="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var a,i,u=[],s=!0,l=!1;try{for(o=o.call(n);!(s=(a=o.next()).done)&&(u.push(a.value),!r||u.length!==r);s=!0);}catch(c){l=!0,i=c}finally{try{s||o.return==null||o.return()}finally{if(l)throw i}}return u}}(e,t)||qn(e,t)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
import{e as Sr,u as Er,f as wr,w as Ct,g as jr,h as Pr,o as Ir,c as kr,i as Cr}from"../app.38e99b9a.js";/*! @docsearch/js 3.0.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function Dt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function P(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Dt(Object(n),!0).forEach(function(r){Dr(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Dt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Oe(e){return Oe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Oe(e)}function Dr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ut(){return ut=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ut.apply(this,arguments)}function xr(e,t){if(e==null)return{};var n,r,o=function(i,u){if(i==null)return{};var s,l,c={},d=Object.keys(i);for(l=0;l<d.length;l++)s=d[l],u.indexOf(s)>=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Fe(e,t){return function(n){if(Array.isArray(n))return n}(e)||function(n,r){var o=n==null?null:typeof Symbol!="undefined"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var a,i,u=[],s=!0,l=!1;try{for(o=o.call(n);!(s=(a=o.next()).done)&&(u.push(a.value),!r||u.length!==r);s=!0);}catch(c){l=!0,i=c}finally{try{s||o.return==null||o.return()}finally{if(l)throw i}}return u}}(e,t)||qn(e,t)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Be(e){return function(t){if(Array.isArray(t))return lt(t)}(e)||function(t){if(typeof Symbol!="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}(e)||qn(e)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function qn(e,t){if(e){if(typeof e=="string")return lt(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?lt(e,t):void 0}}function lt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var E,_e,Mn,xt,Hn,Ve={},Ot=[],Ar=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function z(e,t){for(var n in t)e[n]=t[n];return e}function Un(e){var t=e.parentNode;t&&t.removeChild(e)}function F(e,t,n){var r,o,a,i=arguments,u={};for(a in t)a=="key"?r=t[a]:a=="ref"?o=t[a]:u[a]=t[a];if(arguments.length>3)for(n=[n],a=3;a<arguments.length;a++)n.push(i[a]);if(n!=null&&(u.children=n),typeof e=="function"&&e.defaultProps!=null)for(a in e.defaultProps)u[a]===void 0&&(u[a]=e.defaultProps[a]);return ge(e,u,r,o,null)}function ge(e,t,n,r,o){var a={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:o==null?++E.__v:o};return E.vnode!=null&&E.vnode(a),a}function Q(e){return e.children}function B(e,t){this.props=e,this.context=t}function Se(e,t){if(t==null)return e.__?Se(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null)return n.__e;return typeof e.type=="function"?Se(e):null}function Fn(e){var t,n;if((e=e.__)!=null&&e.__c!=null){for(e.__e=e.__c.base=null,t=0;t<e.__k.length;t++)if((n=e.__k[t])!=null&&n.__e!=null){e.__e=e.__c.base=n.__e;break}return Fn(e)}}function st(e){(!e.__d&&(e.__d=!0)&&_e.push(e)&&!ze.__r++||xt!==E.debounceRendering)&&((xt=E.debounceRendering)||Mn)(ze)}function ze(){for(var e;ze.__r=_e.length;)e=_e.sort(function(t,n){return t.__v.__b-n.__v.__b}),_e=[],e.some(function(t){var n,r,o,a,i,u;t.__d&&(i=(a=(n=t).__v).__e,(u=n.__P)&&(r=[],(o=z({},a)).__v=a.__v+1,St(u,a,o,n.__n,u.ownerSVGElement!==void 0,a.__h!=null?[i]:null,r,i==null?Se(a):i,a.__h),Kn(r,a),a.__e!=i&&Fn(a)))})}function Bn(e,t,n,r,o,a,i,u,s,l){var c,d,m,p,v,h,y,_=r&&r.__k||Ot,g=_.length;for(n.__k=[],c=0;c<t.length;c++)if((p=n.__k[c]=(p=t[c])==null||typeof p=="boolean"?null:typeof p=="string"||typeof p=="number"?ge(null,p,null,null,p):Array.isArray(p)?ge(Q,{children:p},null,null,null):p.__b>0?ge(p.type,p.props,p.key,null,p.__v):p)!=null){if(p.__=n,p.__b=n.__b+1,(m=_[c])===null||m&&p.key==m.key&&p.type===m.type)_[c]=void 0;else for(d=0;d<g;d++){if((m=_[d])&&p.key==m.key&&p.type===m.type){_[d]=void 0;break}m=null}St(e,p,m=m||Ve,o,a,i,u,s,l),v=p.__e,(d=p.ref)&&m.ref!=d&&(y||(y=[]),m.ref&&y.push(m.ref,null,p),y.push(d,p.__c||v,p)),v!=null?(h==null&&(h=v),typeof p.type=="function"&&p.__k!=null&&p.__k===m.__k?p.__d=s=Vn(p,s,e):s=zn(e,p,m,_,v,s),l||n.type!=="option"?typeof n.type=="function"&&(n.__d=s):e.value=""):s&&m.__e==s&&s.parentNode!=e&&(s=Se(m))}for(n.__e=h,c=g;c--;)_[c]!=null&&(typeof n.type=="function"&&_[c].__e!=null&&_[c].__e==n.__d&&(n.__d=Se(r,c+1)),Jn(_[c],_[c]));if(y)for(c=0;c<y.length;c++)Wn(y[c],y[++c],y[++c])}function Vn(e,t,n){var r,o;for(r=0;r<e.__k.length;r++)(o=e.__k[r])&&(o.__=e,t=typeof o.type=="function"?Vn(o,t,n):zn(n,o,o,e.__k,o.__e,t));return t}function K(e,t){return t=t||[],e==null||typeof e=="boolean"||(Array.isArray(e)?e.some(function(n){K(n,t)}):t.push(e)),t}function zn(e,t,n,r,o,a){var i,u,s;if(t.__d!==void 0)i=t.__d,t.__d=void 0;else if(n==null||o!=a||o.parentNode==null)e:if(a==null||a.parentNode!==e)e.appendChild(o),i=null;else{for(u=a,s=0;(u=u.nextSibling)&&s<r.length;s+=2)if(u==o)break e;e.insertBefore(o,a),i=a}return i!==void 0?i:o.nextSibling}function At(e,t,n){t[0]==="-"?e.setProperty(t,n):e[t]=n==null?"":typeof n!="number"||Ar.test(t)?n:n+"px"}function ke(e,t,n,r,o){var a;e:if(t==="style")if(typeof n=="string")e.style.cssText=n;else{if(typeof r=="string"&&(e.style.cssText=r=""),r)for(t in r)n&&t in n||At(e.style,t,"");if(n)for(t in n)r&&n[t]===r[t]||At(e.style,t,n[t])}else if(t[0]==="o"&&t[1]==="n")a=t!==(t=t.replace(/Capture$/,"")),t=t.toLowerCase()in e?t.toLowerCase().slice(2):t.slice(2),e.l||(e.l={}),e.l[t+a]=n,n?r||e.addEventListener(t,a?Rt:Nt,a):e.removeEventListener(t,a?Rt:Nt,a);else if(t!=="dangerouslySetInnerHTML"){if(o)t=t.replace(/xlink[H:h]/,"h").replace(/sName$/,"s");else if(t!=="href"&&t!=="list"&&t!=="form"&&t!=="download"&&t in e)try{e[t]=n==null?"":n;break e}catch{}typeof n=="function"||(n!=null&&(n!==!1||t[0]==="a"&&t[1]==="r")?e.setAttribute(t,n):e.removeAttribute(t))}}function Nt(e){this.l[e.type+!1](E.event?E.event(e):e)}function Rt(e){this.l[e.type+!0](E.event?E.event(e):e)}function St(e,t,n,r,o,a,i,u,s){var l,c,d,m,p,v,h,y,_,g,b,O=t.type;if(t.constructor!==void 0)return null;n.__h!=null&&(s=n.__h,u=t.__e=n.__e,t.__h=null,a=[u]),(l=E.__b)&&l(t);try{e:if(typeof O=="function"){if(y=t.props,_=(l=O.contextType)&&r[l.__c],g=l?_?_.props.value:l.__:r,n.__c?h=(c=t.__c=n.__c).__=c.__E:("prototype"i
Line truncated
|
||||
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function nt(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function on(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function te(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?on(Object(n),!0).forEach(function(r){uo(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):on(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function uo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function an(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Ae(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?an(Object(n),!0).forEach(function(r){rr(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):an(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function rr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lo(e){return function(t){if(Array.isArray(t))return rt(t)}(e)||function(t){if(typeof Symbol!="undefined"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}(e)||function(t,n){if(!!t){if(typeof t=="string")return rt(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return rt(t,n)}}(e)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,c as o,o as r,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',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(d,l,p,h,_,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,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',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(d,l,p,h,_,m){return r(),o("div",null,c)}var x=a(s,[["render",i]]);export{f as __pageData,x as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as a,c as o,o as r,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',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(d,l,p,h,_,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,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',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(d,l,p,h,_,m){return r(),o("div",null,c)}var x=a(s,[["render",i]]);export{f as __pageData,x as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a}from"./app.3817bf4e.js";const f='{"title":"\u4ECB\u7ECD","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4ECB\u7ECD","slug":"\u4ECB\u7ECD"},{"level":2,"title":"\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0","slug":"\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0"}],"relativePath":"developer/l10n.md","lastUpdated":1682076617000}',l={},r=a('<p><strong>\u54EA\u5412\u76D1\u63A7\u7684 Dashboard \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</strong></p><h2 id="\u4ECB\u7ECD" tabindex="-1">\u4ECB\u7ECD <a class="header-anchor" href="#\u4ECB\u7ECD" aria-hidden="true">#</a></h2><ol><li>\u4F60\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528 <code>/resource/l10n/zh-CN.toml</code> \u4E2D\u5DF2\u6709\u7684\u6587\u672C\u914D\u7F6E\u6765\u66FF\u6362\u65B0\u529F\u80FD\u4E2D\u7684\u6587\u672C</li><li>\u5982\u679C\u65B0\u529F\u80FD\u4E2D\u6709\u65B0\u589E\u6587\u672C\uFF0C\u8BF7\u53C2\u8003 <code>zh-CN.toml</code> \u7684\u914D\u7F6E\u6587\u672C\uFF0C\u5C06\u65B0\u6587\u672C\u62C9\u53D6\u5230 <code>zh-CN.toml</code> \u7B49\u5176\u4ED6\u8BED\u8A00\u7684\u914D\u7F6E\u6587\u4EF6\u4E2D\uFF0C\u5E76\u6DFB\u52A0\u7FFB\u8BD1</li></ol><h2 id="\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0" tabindex="-1">\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0 <a class="header-anchor" href="#\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0" aria-hidden="true">#</a></h2><ol><li>\u5728 <code>/resource/l10n/</code> \u4E2D\u6DFB\u52A0\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E</li><li>\u5728\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E\u4E2D\u62C9\u53D6\u5176\u4ED6\u8BED\u8A00\u5DF2\u6709\u7684\u6587\u672C\u914D\u7F6E</li><li>\u4E3A\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E\u6DFB\u52A0\u7FFB\u8BD1</li></ol>',5),d=[r];function c(i,s,n,_,h,p){return o(),t("div",null,d)}var m=e(l,[["render",c]]);export{f as __pageData,m as default};
|
||||
import{_ as e,c as t,o,a}from"./app.38e99b9a.js";const f='{"title":"\u4ECB\u7ECD","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4ECB\u7ECD","slug":"\u4ECB\u7ECD"},{"level":2,"title":"\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0","slug":"\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0"}],"relativePath":"developer/l10n.md","lastUpdated":1682077347000}',l={},r=a('<p><strong>\u54EA\u5412\u76D1\u63A7\u7684 Dashboard \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</strong></p><h2 id="\u4ECB\u7ECD" tabindex="-1">\u4ECB\u7ECD <a class="header-anchor" href="#\u4ECB\u7ECD" aria-hidden="true">#</a></h2><ol><li>\u4F60\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528 <code>/resource/l10n/zh-CN.toml</code> \u4E2D\u5DF2\u6709\u7684\u6587\u672C\u914D\u7F6E\u6765\u66FF\u6362\u65B0\u529F\u80FD\u4E2D\u7684\u6587\u672C</li><li>\u5982\u679C\u65B0\u529F\u80FD\u4E2D\u6709\u65B0\u589E\u6587\u672C\uFF0C\u8BF7\u53C2\u8003 <code>zh-CN.toml</code> \u7684\u914D\u7F6E\u6587\u672C\uFF0C\u5C06\u65B0\u6587\u672C\u62C9\u53D6\u5230 <code>zh-CN.toml</code> \u7B49\u5176\u4ED6\u8BED\u8A00\u7684\u914D\u7F6E\u6587\u4EF6\u4E2D\uFF0C\u5E76\u6DFB\u52A0\u7FFB\u8BD1</li></ol><h2 id="\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0" tabindex="-1">\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0 <a class="header-anchor" href="#\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0" aria-hidden="true">#</a></h2><ol><li>\u5728 <code>/resource/l10n/</code> \u4E2D\u6DFB\u52A0\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E</li><li>\u5728\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E\u4E2D\u62C9\u53D6\u5176\u4ED6\u8BED\u8A00\u5DF2\u6709\u7684\u6587\u672C\u914D\u7F6E</li><li>\u4E3A\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E\u6DFB\u52A0\u7FFB\u8BD1</li></ol>',5),d=[r];function c(i,s,n,_,h,p){return o(),t("div",null,d)}var m=e(l,[["render",c]]);export{f as __pageData,m as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a}from"./app.3817bf4e.js";const f='{"title":"\u4ECB\u7ECD","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4ECB\u7ECD","slug":"\u4ECB\u7ECD"},{"level":2,"title":"\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0","slug":"\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0"}],"relativePath":"developer/l10n.md","lastUpdated":1682076617000}',l={},r=a("",5),d=[r];function c(i,s,n,_,h,p){return o(),t("div",null,d)}var m=e(l,[["render",c]]);export{f as __pageData,m as default};
|
||||
import{_ as e,c as t,o,a}from"./app.38e99b9a.js";const f='{"title":"\u4ECB\u7ECD","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4ECB\u7ECD","slug":"\u4ECB\u7ECD"},{"level":2,"title":"\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0","slug":"\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0"}],"relativePath":"developer/l10n.md","lastUpdated":1682077347000}',l={},r=a("",5),d=[r];function c(i,s,n,_,h,p){return o(),t("div",null,d)}var m=e(l,[["render",c]]);export{f as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as a,o as t,a as o}from"./app.3817bf4e.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","lastUpdated":1682076617000}',c={},d=o('<h2 id="\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883" tabindex="-1">\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883 <a class="header-anchor" href="#\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883" aria-hidden="true">#</a></h2><p>\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</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>\u8BF7\u6CE8\u610F\uFF1A \u6B64\u5F00\u53D1\u73AF\u5883\u4EC5\u652F\u6301 <code>dashboard v0.13.16</code> \u53CA\u66F4\u65B0\u7248\u672C\u3002</p></div><h2 id="\u4F7F\u7528\u8BF4\u660E" tabindex="-1">\u4F7F\u7528\u8BF4\u660E <a class="header-anchor" href="#\u4F7F\u7528\u8BF4\u660E" aria-hidden="true">#</a></h2><ol><li>\u514B\u9686<a href="https://github.com/nezhahq/skeleton-custom-theme" target="_blank" rel="noopener noreferrer">\u6B64\u4ED3\u5E93</a>\u5230\u672C\u5730</li><li>\u4FEE\u6539 <code>data/config.yaml</code> \u4E2D\u7684 Oauth2 \u914D\u7F6E\uFF08\u56DE\u8C03\u8FDE\u63A5\u53EF\u4EE5\u586B <code>http://localhost</code>\uFF09</li><li>\u8FD0\u884C <code>docker-compose up</code></li><li>\u5F00\u59CB\u5F00\u53D1</li><li>\u4E3B\u9898\u5236\u4F5C\u5B8C\u6210\u4E4B\u540E\u53EF\u4EE5\u5C06 <code>theme-custom</code> \u653E\u7F6E\u5230\u670D\u52A1\u5668\u4E0A\u7684 <code>/opt/nezha/dashboard/theme-custom</code> \u4F4D\u7F6E</li></ol><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-hidden="true">#</a></h2><ul><li>\u5982\u679C\u4E0D\u80FD\u4F7F\u7528 <code>80</code> \u7AEF\u53E3\uFF0C\u5728 <code>docker-compose.yaml</code> \u4E2D\u4FEE\u6539\u914D\u7F6E\u3002</li></ul>',7),l=[d];function r(i,s,h,n,_,p){return t(),a("div",null,l)}var f=e(c,[["render",r]]);export{u as __pageData,f as default};
|
||||
import{_ as e,c as a,o as t,a as o}from"./app.38e99b9a.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","lastUpdated":1682077347000}',c={},d=o('<h2 id="\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883" tabindex="-1">\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883 <a class="header-anchor" href="#\u54EA\u5412\u4E3B\u9898\u5F00\u53D1\u73AF\u5883" aria-hidden="true">#</a></h2><p>\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</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>\u8BF7\u6CE8\u610F\uFF1A \u6B64\u5F00\u53D1\u73AF\u5883\u4EC5\u652F\u6301 <code>dashboard v0.13.16</code> \u53CA\u66F4\u65B0\u7248\u672C\u3002</p></div><h2 id="\u4F7F\u7528\u8BF4\u660E" tabindex="-1">\u4F7F\u7528\u8BF4\u660E <a class="header-anchor" href="#\u4F7F\u7528\u8BF4\u660E" aria-hidden="true">#</a></h2><ol><li>\u514B\u9686<a href="https://github.com/nezhahq/skeleton-custom-theme" target="_blank" rel="noopener noreferrer">\u6B64\u4ED3\u5E93</a>\u5230\u672C\u5730</li><li>\u4FEE\u6539 <code>data/config.yaml</code> \u4E2D\u7684 Oauth2 \u914D\u7F6E\uFF08\u56DE\u8C03\u8FDE\u63A5\u53EF\u4EE5\u586B <code>http://localhost</code>\uFF09</li><li>\u8FD0\u884C <code>docker-compose up</code></li><li>\u5F00\u59CB\u5F00\u53D1</li><li>\u4E3B\u9898\u5236\u4F5C\u5B8C\u6210\u4E4B\u540E\u53EF\u4EE5\u5C06 <code>theme-custom</code> \u653E\u7F6E\u5230\u670D\u52A1\u5668\u4E0A\u7684 <code>/opt/nezha/dashboard/theme-custom</code> \u4F4D\u7F6E</li></ol><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-hidden="true">#</a></h2><ul><li>\u5982\u679C\u4E0D\u80FD\u4F7F\u7528 <code>80</code> \u7AEF\u53E3\uFF0C\u5728 <code>docker-compose.yaml</code> \u4E2D\u4FEE\u6539\u914D\u7F6E\u3002</li></ul>',7),l=[d];function r(i,s,h,n,_,p){return t(),a("div",null,l)}var f=e(c,[["render",r]]);export{u as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as a,o as t,a as o}from"./app.3817bf4e.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","lastUpdated":1682076617000}',c={},d=o("",7),l=[d];function r(i,s,h,n,_,p){return t(),a("div",null,l)}var f=e(c,[["render",r]]);export{u as __pageData,f as default};
|
||||
import{_ as e,c as a,o as t,a as o}from"./app.38e99b9a.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","lastUpdated":1682077347000}',c={},d=o("",7),l=[d];function r(i,s,h,n,_,p){return t(),a("div",null,l)}var f=e(c,[["render",r]]);export{u as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as r,o as t,a as o}from"./app.3817bf4e.js";const b='{"title":"Build your own Telegram bot to query server information","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/case/case1.md","lastUpdated":1682076617000}',a={},n=o('<h1 id="build-your-own-telegram-bot-to-query-server-information" tabindex="-1">Build your own Telegram bot to query server information <a class="header-anchor" href="#build-your-own-telegram-bot-to-query-server-information" aria-hidden="true">#</a></h1><p>Contributors:</p><ul><li><a href="https://github.com/spiritLHLS" target="_blank" rel="noopener noreferrer">spiritLHLS</a></li><li><a href="https://github.com/Erope/" target="_blank" rel="noopener noreferrer">Erope</a></li></ul><p><strong>Project</strong>: <a href="https://github.com/spiritLHLS/nezha_api_tgbot" target="_blank" rel="noopener noreferrer">nezha_api_tgbot</a> (Chinese)</p><p><strong>Mirror backup, non-real-time update</strong>: <a href="https://github.com/nezhahq/nezha_api_tgbot" target="_blank" rel="noopener noreferrer">nezha_api_tgbot</a> (Chinese)</p><p>The bot can request server status information from the Dashboard through the API, and then send the information to the user.<br> You can build this bot to easily view the current status of a given server without opening the Dashboard.</p>',6),i=[n];function s(h,_,p,u,l,c){return t(),r("div",null,i)}var f=e(a,[["render",s]]);export{b as __pageData,f as default};
|
||||
import{_ as e,c as r,o as t,a as o}from"./app.38e99b9a.js";const b='{"title":"Build your own Telegram bot to query server information","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/case/case1.md","lastUpdated":1682077347000}',a={},n=o('<h1 id="build-your-own-telegram-bot-to-query-server-information" tabindex="-1">Build your own Telegram bot to query server information <a class="header-anchor" href="#build-your-own-telegram-bot-to-query-server-information" aria-hidden="true">#</a></h1><p>Contributors:</p><ul><li><a href="https://github.com/spiritLHLS" target="_blank" rel="noopener noreferrer">spiritLHLS</a></li><li><a href="https://github.com/Erope/" target="_blank" rel="noopener noreferrer">Erope</a></li></ul><p><strong>Project</strong>: <a href="https://github.com/spiritLHLS/nezha_api_tgbot" target="_blank" rel="noopener noreferrer">nezha_api_tgbot</a> (Chinese)</p><p><strong>Mirror backup, non-real-time update</strong>: <a href="https://github.com/nezhahq/nezha_api_tgbot" target="_blank" rel="noopener noreferrer">nezha_api_tgbot</a> (Chinese)</p><p>The bot can request server status information from the Dashboard through the API, and then send the information to the user.<br> You can build this bot to easily view the current status of a given server without opening the Dashboard.</p>',6),i=[n];function s(h,_,p,u,l,c){return t(),r("div",null,i)}var f=e(a,[["render",s]]);export{b as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as r,o as t,a as o}from"./app.3817bf4e.js";const b='{"title":"Build your own Telegram bot to query server information","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/case/case1.md","lastUpdated":1682076617000}',a={},n=o("",6),i=[n];function s(h,_,p,u,l,c){return t(),r("div",null,i)}var f=e(a,[["render",s]]);export{b as __pageData,f as default};
|
||||
import{_ as e,c as r,o as t,a as o}from"./app.38e99b9a.js";const b='{"title":"Build your own Telegram bot to query server information","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/case/case1.md","lastUpdated":1682077347000}',a={},n=o("",6),i=[n];function s(h,_,p,u,l,c){return t(),r("div",null,i)}var f=e(a,[["render",s]]);export{b as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e}from"./chunks/qrcode.bde14c07.js";import{_ as t,c as r,o,a as s}from"./app.3817bf4e.js";const S='{"title":"Use Siri to run shortcut to check server status in iOS/MacOS","description":"","frontmatter":{},"headers":[{"level":2,"title":"Get shortcut command","slug":"get-shortcut-command"},{"level":2,"title":"How to use","slug":"how-to-use"}],"relativePath":"en_US/case/case2.md","lastUpdated":1682076617000}',a={},c=s('<h1 id="use-siri-to-run-shortcut-to-check-server-status-in-ios-macos" tabindex="-1">Use Siri to run shortcut to check server status in iOS/MacOS <a class="header-anchor" href="#use-siri-to-run-shortcut-to-check-server-status-in-ios-macos" aria-hidden="true">#</a></h1><p>Current Version\uFF1AV1.0 (Chinese)<br> Contributor:</p><ul><li>\u767D\u6B4C <a href="https://github.com/hhhkkk520" target="_blank" rel="noopener noreferrer">hhhkkk520</a></li></ul><h2 id="get-shortcut-command" tabindex="-1">Get shortcut command <a class="header-anchor" href="#get-shortcut-command" aria-hidden="true">#</a></h2><p>Scan the following QR code with your iPhone or iPad to get the shortcut<br><br><img src="'+e+'" alt=""><br><br><br> MacOS users please visit <a href="https://www.icloud.com/shortcuts/312005bf5ffd4387ac92a84056db9f09" target="_blank" rel="noopener noreferrer">here</a> to get the shortcut</p><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><ul><li>After getting the shortcut, open and edit the shortcut</li><li>Fill in <code>Dashboard URL</code>, <code>API Token</code>, <code>Server ID</code> in the three text boxes</li><li>Save the edit and test run, if you can get the result, the setting is correct.</li><li>Modify the name of the shortcut, such as: Server Status, then you can use Siri command: "Hey Siri, Server Status" to get the server status.</li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Each shortcut can only monitor one server, if you need to monitor more than one server, please copy this shortcut several times and configure them separately, then modify the shortcut name separately, such as; Server 1 Status, Server 2 Status, etc.</p></div>',8),i=[c];function h(n,u,d,l,m,_){return o(),r("div",null,i)}var v=t(a,[["render",h]]);export{S as __pageData,v as default};
|
||||
import{_ as e}from"./chunks/qrcode.bde14c07.js";import{_ as t,c as r,o,a as s}from"./app.38e99b9a.js";const S='{"title":"Use Siri to run shortcut to check server status in iOS/MacOS","description":"","frontmatter":{},"headers":[{"level":2,"title":"Get shortcut command","slug":"get-shortcut-command"},{"level":2,"title":"How to use","slug":"how-to-use"}],"relativePath":"en_US/case/case2.md","lastUpdated":1682077347000}',a={},c=s('<h1 id="use-siri-to-run-shortcut-to-check-server-status-in-ios-macos" tabindex="-1">Use Siri to run shortcut to check server status in iOS/MacOS <a class="header-anchor" href="#use-siri-to-run-shortcut-to-check-server-status-in-ios-macos" aria-hidden="true">#</a></h1><p>Current Version\uFF1AV1.0 (Chinese)<br> Contributor:</p><ul><li>\u767D\u6B4C <a href="https://github.com/hhhkkk520" target="_blank" rel="noopener noreferrer">hhhkkk520</a></li></ul><h2 id="get-shortcut-command" tabindex="-1">Get shortcut command <a class="header-anchor" href="#get-shortcut-command" aria-hidden="true">#</a></h2><p>Scan the following QR code with your iPhone or iPad to get the shortcut<br><br><img src="'+e+'" alt=""><br><br><br> MacOS users please visit <a href="https://www.icloud.com/shortcuts/312005bf5ffd4387ac92a84056db9f09" target="_blank" rel="noopener noreferrer">here</a> to get the shortcut</p><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><ul><li>After getting the shortcut, open and edit the shortcut</li><li>Fill in <code>Dashboard URL</code>, <code>API Token</code>, <code>Server ID</code> in the three text boxes</li><li>Save the edit and test run, if you can get the result, the setting is correct.</li><li>Modify the name of the shortcut, such as: Server Status, then you can use Siri command: "Hey Siri, Server Status" to get the server status.</li></ul><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Each shortcut can only monitor one server, if you need to monitor more than one server, please copy this shortcut several times and configure them separately, then modify the shortcut name separately, such as; Server 1 Status, Server 2 Status, etc.</p></div>',8),i=[c];function h(n,u,d,l,m,_){return o(),r("div",null,i)}var v=t(a,[["render",h]]);export{S as __pageData,v as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e}from"./chunks/qrcode.bde14c07.js";import{_ as t,c as r,o,a as s}from"./app.3817bf4e.js";const S='{"title":"Use Siri to run shortcut to check server status in iOS/MacOS","description":"","frontmatter":{},"headers":[{"level":2,"title":"Get shortcut command","slug":"get-shortcut-command"},{"level":2,"title":"How to use","slug":"how-to-use"}],"relativePath":"en_US/case/case2.md","lastUpdated":1682076617000}',a={},c=s("",8),i=[c];function h(n,u,d,l,m,_){return o(),r("div",null,i)}var v=t(a,[["render",h]]);export{S as __pageData,v as default};
|
||||
import{_ as e}from"./chunks/qrcode.bde14c07.js";import{_ as t,c as r,o,a as s}from"./app.38e99b9a.js";const S='{"title":"Use Siri to run shortcut to check server status in iOS/MacOS","description":"","frontmatter":{},"headers":[{"level":2,"title":"Get shortcut command","slug":"get-shortcut-command"},{"level":2,"title":"How to use","slug":"how-to-use"}],"relativePath":"en_US/case/case2.md","lastUpdated":1682077347000}',a={},c=s("",8),i=[c];function h(n,u,d,l,m,_){return o(),r("div",null,i)}var v=t(a,[["render",h]]);export{S as __pageData,v as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,c as e,o as r,a}from"./app.3817bf4e.js";const g='{"title":"Build your own server status query Telegram bot with multi-language and multi-user support","description":"","frontmatter":{},"headers":[{"level":2,"title":"Features","slug":"features"},{"level":2,"title":"Commands list","slug":"commands-list"}],"relativePath":"en_US/case/case3.md","lastUpdated":1682076617000}',d={},i=a('<h1 id="build-your-own-server-status-query-telegram-bot-with-multi-language-and-multi-user-support" tabindex="-1">Build your own server status query Telegram bot with multi-language and multi-user support <a class="header-anchor" href="#build-your-own-server-status-query-telegram-bot-with-multi-language-and-multi-user-support" aria-hidden="true">#</a></h1><p>Contributor:</p><ul><li><a href="https://github.com/tech-fever" target="_blank" rel="noopener noreferrer">tech-fever</a></li></ul><p>GitHub project: <a href="https://github.com/tech-fever/nezha_telegram_bot" target="_blank" rel="noopener noreferrer">nezha_telegram_bot</a>\uFF08English is already supported\uFF09</p><p>Mirror backup, non-real-time update : <a href="https://github.com/nezhahq/nezha_telegram_bot" target="_blank" rel="noopener noreferrer">nezha_telegram_bot</a>\uFF08English is already supported\uFF09</p><h2 id="features" tabindex="-1">Features <a class="header-anchor" href="#features" aria-hidden="true">#</a></h2><ul><li>[x] Support Chinese/English multi-language switch</li><li>[x] Support tag statistics (CPU, disk, memory, upstream and downstream speed, traffic statistics, etc.)</li><li>[x] Support real-time refresh of single server data</li><li>[x] Support keyboard interactive query</li><li>[x] Support query by command</li><li>[x] Support adding bot to group, privacy protection of bot replies in group chat</li><li>[x] Support bot messages automatic deletion in group chat within 20 seconds</li><li>[x] Support docker deployment</li></ul><h2 id="commands-list" tabindex="-1">Commands list <a class="header-anchor" href="#commands-list" aria-hidden="true">#</a></h2><table><thead><tr><th>Command</th><th>Description</th><th>Private chat only</th></tr></thead><tbody><tr><td>start</td><td>Getting started with the keyboard main menu</td><td>\u2714\uFE0F</td></tr><tr><td>help</td><td>help message</td><td>\u274C</td></tr><tr><td>add</td><td>Add Nezha monitoring url link and token</td><td>\u2714\uFE0F</td></tr><tr><td>url</td><td>Add Nezha monitoring url link</td><td>\u2714\uFE0F</td></tr><tr><td>token</td><td>Add Nezha monitoring token</td><td>\u2714\uFE0F</td></tr><tr><td>info</td><td>Get saved Nezha monitoring url link and token</td><td>\u2714\uFE0F</td></tr><tr><td>delete</td><td>Delete saved Nezha monitoring url link and token</td><td>\u2714\uFE0F</td></tr><tr><td>id</td><td>Add an integer id after the command to query the information of a single server (refresh button only available in private chat)</td><td>\u274C</td></tr><tr><td>all</td><td>Query statistics for all servers</td><td>\u274C</td></tr><tr><td>search</td><td>Search for keywords in server names (multiple keywords supported, split by spaces)</td><td>\u274C</td></tr></tbody></table>',9),o=[i];function n(s,l,u,h,p,m){return r(),e("div",null,o)}var _=t(d,[["render",n]]);export{g as __pageData,_ as default};
|
||||
import{_ as t,c as e,o as r,a}from"./app.38e99b9a.js";const g='{"title":"Build your own server status query Telegram bot with multi-language and multi-user support","description":"","frontmatter":{},"headers":[{"level":2,"title":"Features","slug":"features"},{"level":2,"title":"Commands list","slug":"commands-list"}],"relativePath":"en_US/case/case3.md","lastUpdated":1682077347000}',d={},i=a('<h1 id="build-your-own-server-status-query-telegram-bot-with-multi-language-and-multi-user-support" tabindex="-1">Build your own server status query Telegram bot with multi-language and multi-user support <a class="header-anchor" href="#build-your-own-server-status-query-telegram-bot-with-multi-language-and-multi-user-support" aria-hidden="true">#</a></h1><p>Contributor:</p><ul><li><a href="https://github.com/tech-fever" target="_blank" rel="noopener noreferrer">tech-fever</a></li></ul><p>GitHub project: <a href="https://github.com/tech-fever/nezha_telegram_bot" target="_blank" rel="noopener noreferrer">nezha_telegram_bot</a>\uFF08English is already supported\uFF09</p><p>Mirror backup, non-real-time update : <a href="https://github.com/nezhahq/nezha_telegram_bot" target="_blank" rel="noopener noreferrer">nezha_telegram_bot</a>\uFF08English is already supported\uFF09</p><h2 id="features" tabindex="-1">Features <a class="header-anchor" href="#features" aria-hidden="true">#</a></h2><ul><li>[x] Support Chinese/English multi-language switch</li><li>[x] Support tag statistics (CPU, disk, memory, upstream and downstream speed, traffic statistics, etc.)</li><li>[x] Support real-time refresh of single server data</li><li>[x] Support keyboard interactive query</li><li>[x] Support query by command</li><li>[x] Support adding bot to group, privacy protection of bot replies in group chat</li><li>[x] Support bot messages automatic deletion in group chat within 20 seconds</li><li>[x] Support docker deployment</li></ul><h2 id="commands-list" tabindex="-1">Commands list <a class="header-anchor" href="#commands-list" aria-hidden="true">#</a></h2><table><thead><tr><th>Command</th><th>Description</th><th>Private chat only</th></tr></thead><tbody><tr><td>start</td><td>Getting started with the keyboard main menu</td><td>\u2714\uFE0F</td></tr><tr><td>help</td><td>help message</td><td>\u274C</td></tr><tr><td>add</td><td>Add Nezha monitoring url link and token</td><td>\u2714\uFE0F</td></tr><tr><td>url</td><td>Add Nezha monitoring url link</td><td>\u2714\uFE0F</td></tr><tr><td>token</td><td>Add Nezha monitoring token</td><td>\u2714\uFE0F</td></tr><tr><td>info</td><td>Get saved Nezha monitoring url link and token</td><td>\u2714\uFE0F</td></tr><tr><td>delete</td><td>Delete saved Nezha monitoring url link and token</td><td>\u2714\uFE0F</td></tr><tr><td>id</td><td>Add an integer id after the command to query the information of a single server (refresh button only available in private chat)</td><td>\u274C</td></tr><tr><td>all</td><td>Query statistics for all servers</td><td>\u274C</td></tr><tr><td>search</td><td>Search for keywords in server names (multiple keywords supported, split by spaces)</td><td>\u274C</td></tr></tbody></table>',9),o=[i];function n(s,l,u,h,p,m){return r(),e("div",null,o)}var _=t(d,[["render",n]]);export{g as __pageData,_ as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as t,c as e,o as r,a}from"./app.3817bf4e.js";const g='{"title":"Build your own server status query Telegram bot with multi-language and multi-user support","description":"","frontmatter":{},"headers":[{"level":2,"title":"Features","slug":"features"},{"level":2,"title":"Commands list","slug":"commands-list"}],"relativePath":"en_US/case/case3.md","lastUpdated":1682076617000}',d={},i=a("",9),o=[i];function n(s,l,u,h,p,m){return r(),e("div",null,o)}var _=t(d,[["render",n]]);export{g as __pageData,_ as default};
|
||||
import{_ as t,c as e,o as r,a}from"./app.38e99b9a.js";const g='{"title":"Build your own server status query Telegram bot with multi-language and multi-user support","description":"","frontmatter":{},"headers":[{"level":2,"title":"Features","slug":"features"},{"level":2,"title":"Commands list","slug":"commands-list"}],"relativePath":"en_US/case/case3.md","lastUpdated":1682077347000}',d={},i=a("",9),o=[i];function n(s,l,u,h,p,m){return r(),e("div",null,o)}var _=t(d,[["render",n]]);export{g as __pageData,_ as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as a,o as t,a as r}from"./app.3817bf4e.js";const l='{"title":"Fake-agent, monitoring data cheater","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/case/case4.md","lastUpdated":1682076617000}',n={},o=r('<h1 id="fake-agent-monitoring-data-cheater" tabindex="-1">Fake-agent, monitoring data cheater <a class="header-anchor" href="#fake-agent-monitoring-data-cheater" aria-hidden="true">#</a></h1><p>Contributor:</p><ul><li><a href="https://github.com/dysf888" target="_blank" rel="noopener noreferrer">dysf888</a></li></ul><p>GitHub project: <a href="https://github.com/dysf888/fake-nezha-agent" target="_blank" rel="noopener noreferrer">fake-nezha-agent</a>\uFF08Chinese\uFF09<br> Mirror backup, non-real-time update \uFF1A<a href="https://github.com/nezhahq/fake-nezha-agent" target="_blank" rel="noopener noreferrer">fake-nezha-agent</a>\uFF08Chinese\uFF09</p><p>You can modify the monitoring data uploaded to Dashboard by the Agent<br> Use it for cheating \u{1F608}</p>',5),i=[o];function h(s,c,d,_,p,f){return t(),a("div",null,i)}var u=e(n,[["render",h]]);export{l as __pageData,u as default};
|
||||
import{_ as e,c as a,o as t,a as r}from"./app.38e99b9a.js";const l='{"title":"Fake-agent, monitoring data cheater","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/case/case4.md","lastUpdated":1682077347000}',n={},o=r('<h1 id="fake-agent-monitoring-data-cheater" tabindex="-1">Fake-agent, monitoring data cheater <a class="header-anchor" href="#fake-agent-monitoring-data-cheater" aria-hidden="true">#</a></h1><p>Contributor:</p><ul><li><a href="https://github.com/dysf888" target="_blank" rel="noopener noreferrer">dysf888</a></li></ul><p>GitHub project: <a href="https://github.com/dysf888/fake-nezha-agent" target="_blank" rel="noopener noreferrer">fake-nezha-agent</a>\uFF08Chinese\uFF09<br> Mirror backup, non-real-time update \uFF1A<a href="https://github.com/nezhahq/fake-nezha-agent" target="_blank" rel="noopener noreferrer">fake-nezha-agent</a>\uFF08Chinese\uFF09</p><p>You can modify the monitoring data uploaded to Dashboard by the Agent<br> Use it for cheating \u{1F608}</p>',5),i=[o];function h(s,c,d,_,p,f){return t(),a("div",null,i)}var u=e(n,[["render",h]]);export{l as __pageData,u as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as a,o as t,a as r}from"./app.3817bf4e.js";const l='{"title":"Fake-agent, monitoring data cheater","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/case/case4.md","lastUpdated":1682076617000}',n={},o=r("",5),i=[o];function h(s,c,d,_,p,f){return t(),a("div",null,i)}var u=e(n,[["render",h]]);export{l as __pageData,u as default};
|
||||
import{_ as e,c as a,o as t,a as r}from"./app.38e99b9a.js";const l='{"title":"Fake-agent, monitoring data cheater","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/case/case4.md","lastUpdated":1682077347000}',n={},o=r("",5),i=[o];function h(s,c,d,_,p,f){return t(),a("div",null,i)}var u=e(n,[["render",h]]);export{l as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as o,c as a,o as n,b as e,d as t}from"./app.3817bf4e.js";const _='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Nezha Monitoring Community Project","tagline":"Related projects contributed by Nezha Monitoring community, provide more extensions for Nezha Monitoring","actionText":"Learn More \u2192","actionLink":"/en_US/case/case1","features":[{"title":"Submit a project","details":"We welcome you to submit your own projects, please join the Telegram group and contact the administrator for more information"},{"title":"Important Notes","details":"All projects are contributed by community members. Please be aware that Nezha monitoring team cannot be held responsible for community projects including and not limited to warranty, availability, security, etc."}]},"headers":[],"relativePath":"en_US/case/index.md","lastUpdated":1682076617000}',r={},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),s=[i];function c(m,l,d,u,p,h){return n(),a("div",null,s)}var f=o(r,[["render",c]]);export{_ as __pageData,f as default};
|
||||
import{_ as o,c as a,o as n,b as e,d as t}from"./app.38e99b9a.js";const _='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Nezha Monitoring Community Project","tagline":"Related projects contributed by Nezha Monitoring community, provide more extensions for Nezha Monitoring","actionText":"Learn More \u2192","actionLink":"/en_US/case/case1","features":[{"title":"Submit a project","details":"We welcome you to submit your own projects, please join the Telegram group and contact the administrator for more information"},{"title":"Important Notes","details":"All projects are contributed by community members. Please be aware that Nezha monitoring team cannot be held responsible for community projects including and not limited to warranty, availability, security, etc."}]},"headers":[],"relativePath":"en_US/case/index.md","lastUpdated":1682077347000}',r={},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),s=[i];function c(m,l,d,u,p,h){return n(),a("div",null,s)}var f=o(r,[["render",c]]);export{_ as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o,c as a,o as n,b as e,d as t}from"./app.3817bf4e.js";const _='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Nezha Monitoring Community Project","tagline":"Related projects contributed by Nezha Monitoring community, provide more extensions for Nezha Monitoring","actionText":"Learn More \u2192","actionLink":"/en_US/case/case1","features":[{"title":"Submit a project","details":"We welcome you to submit your own projects, please join the Telegram group and contact the administrator for more information"},{"title":"Important Notes","details":"All projects are contributed by community members. Please be aware that Nezha monitoring team cannot be held responsible for community projects including and not limited to warranty, availability, security, etc."}]},"headers":[],"relativePath":"en_US/case/index.md","lastUpdated":1682076617000}',r={},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),s=[i];function c(m,l,d,u,p,h){return n(),a("div",null,s)}var f=o(r,[["render",c]]);export{_ as __pageData,f as default};
|
||||
import{_ as o,c as a,o as n,b as e,d as t}from"./app.38e99b9a.js";const _='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/naiba/nezha/master/resource/static/brand.svg","heroText":"Nezha Monitoring Community Project","tagline":"Related projects contributed by Nezha Monitoring community, provide more extensions for Nezha Monitoring","actionText":"Learn More \u2192","actionLink":"/en_US/case/case1","features":[{"title":"Submit a project","details":"We welcome you to submit your own projects, please join the Telegram group and contact the administrator for more information"},{"title":"Important Notes","details":"All projects are contributed by community members. Please be aware that Nezha monitoring team cannot be held responsible for community projects including and not limited to warranty, availability, security, etc."}]},"headers":[],"relativePath":"en_US/case/index.md","lastUpdated":1682077347000}',r={},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),s=[i];function c(m,l,d,u,p,h){return n(),a("div",null,s)}var f=o(r,[["render",c]]);export{_ as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o,c as a,o as n,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',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,d,h,m,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,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',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,d,h,m,p,_){return n(),a("div",null,i)}var f=o(r,[["render",c]]);export{v as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o,c as a,o as n,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',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,d,h,m,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,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',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,d,h,m,p,_){return n(),a("div",null,i)}var f=o(r,[["render",c]]);export{v as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as n,a}from"./app.3817bf4e.js";const _='{"title":"Introduction","description":"","frontmatter":{},"headers":[{"level":2,"title":"Introduction","slug":"introduction"},{"level":2,"title":"Adding a new localized text file","slug":"adding-a-new-localized-text-file"}],"relativePath":"en_US/developer/l10n.md","lastUpdated":1682076617000}',o={},i=a('<p><strong>Nezha Monitoring's Dashboard has added localization to support multiple languages, and you can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-hidden="true">#</a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-hidden="true">#</a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function d(r,c,s,u,h,g){return n(),t("div",null,l)}var p=e(o,[["render",d]]);export{_ as __pageData,p as default};
|
||||
import{_ as e,c as t,o as n,a}from"./app.38e99b9a.js";const _='{"title":"Introduction","description":"","frontmatter":{},"headers":[{"level":2,"title":"Introduction","slug":"introduction"},{"level":2,"title":"Adding a new localized text file","slug":"adding-a-new-localized-text-file"}],"relativePath":"en_US/developer/l10n.md","lastUpdated":1682077347000}',o={},i=a('<p><strong>Nezha Monitoring's Dashboard has added localization to support multiple languages, and you can follow these steps to support localization when developing new features</strong></p><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-hidden="true">#</a></h2><ol><li>You can directly use the text configuration already available in <code>/resource/l10n/en-US.toml</code> to replace the text in the new feature.</li><li>If there is new text in the new feature, please refer to the configuration text in <code>en-US.toml</code>, pull the new text into the configuration files of other languages such as <code>en-US.toml</code>, and add translations.</li></ol><h2 id="adding-a-new-localized-text-file" tabindex="-1">Adding a new localized text file <a class="header-anchor" href="#adding-a-new-localized-text-file" aria-hidden="true">#</a></h2><ol><li>Add a new language text configuration in <code>/resource/l10n/</code>.</li><li>Pull existing text configurations from other languages in the new language text configuration.</li><li>Add translations for the new language text configuration.</li></ol>',5),l=[i];function d(r,c,s,u,h,g){return n(),t("div",null,l)}var p=e(o,[["render",d]]);export{_ as __pageData,p as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as n,a}from"./app.3817bf4e.js";const _='{"title":"Introduction","description":"","frontmatter":{},"headers":[{"level":2,"title":"Introduction","slug":"introduction"},{"level":2,"title":"Adding a new localized text file","slug":"adding-a-new-localized-text-file"}],"relativePath":"en_US/developer/l10n.md","lastUpdated":1682076617000}',o={},i=a("",5),l=[i];function d(r,c,s,u,h,g){return n(),t("div",null,l)}var p=e(o,[["render",d]]);export{_ as __pageData,p as default};
|
||||
import{_ as e,c as t,o as n,a}from"./app.38e99b9a.js";const _='{"title":"Introduction","description":"","frontmatter":{},"headers":[{"level":2,"title":"Introduction","slug":"introduction"},{"level":2,"title":"Adding a new localized text file","slug":"adding-a-new-localized-text-file"}],"relativePath":"en_US/developer/l10n.md","lastUpdated":1682077347000}',o={},i=a("",5),l=[i];function d(r,c,s,u,h,g){return n(),t("div",null,l)}var p=e(o,[["render",d]]);export{_ as __pageData,p as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as o,o as t,a as n}from"./app.3817bf4e.js";const v='{"title":"Nezha Theme Development Environment","description":"","frontmatter":{},"headers":[{"level":2,"title":"Nezha Theme Development Environment","slug":"nezha-theme-development-environment"},{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"en_US/developer/theme.md","lastUpdated":1682076617000}',a={},i=n('<h2 id="nezha-theme-development-environment" tabindex="-1">Nezha Theme Development Environment <a class="header-anchor" href="#nezha-theme-development-environment" aria-hidden="true">#</a></h2><p>Nezha Monitoring provides a theme development environment that you can use to create new Nezha Monitoring themes</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Please note: This development environment only supports <code>dashboard v0.13.16</code> and newer versions.</p></div><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><ol><li>Clone <a href="https://github.com/nezhahq/skeleton-custom-theme" target="_blank" rel="noopener noreferrer">this repository</a> to local</li><li>Modify the Oauth2 configuration in <code>data/config.yaml</code>\uFF08The callback connection can be filled with <code>http://localhost</code>\uFF09</li><li>Run <code>docker-compose up</code></li><li>Start development</li><li>Once the theme has been created, you can place <code>theme-custom</code> in <code>/opt/nezha/dashboard/theme-custom</code> on the server</li></ol><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-hidden="true">#</a></h2><ul><li>If you can't use port <code>80</code>, change the configuration in <code>docker-compose.yaml</code>.</li></ul>',7),c=[i];function l(r,h,d,s,m,p){return t(),o("div",null,c)}var _=e(a,[["render",l]]);export{v as __pageData,_ as default};
|
||||
import{_ as e,c as o,o as t,a as n}from"./app.38e99b9a.js";const v='{"title":"Nezha Theme Development Environment","description":"","frontmatter":{},"headers":[{"level":2,"title":"Nezha Theme Development Environment","slug":"nezha-theme-development-environment"},{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"en_US/developer/theme.md","lastUpdated":1682077347000}',a={},i=n('<h2 id="nezha-theme-development-environment" tabindex="-1">Nezha Theme Development Environment <a class="header-anchor" href="#nezha-theme-development-environment" aria-hidden="true">#</a></h2><p>Nezha Monitoring provides a theme development environment that you can use to create new Nezha Monitoring themes</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Please note: This development environment only supports <code>dashboard v0.13.16</code> and newer versions.</p></div><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><ol><li>Clone <a href="https://github.com/nezhahq/skeleton-custom-theme" target="_blank" rel="noopener noreferrer">this repository</a> to local</li><li>Modify the Oauth2 configuration in <code>data/config.yaml</code>\uFF08The callback connection can be filled with <code>http://localhost</code>\uFF09</li><li>Run <code>docker-compose up</code></li><li>Start development</li><li>Once the theme has been created, you can place <code>theme-custom</code> in <code>/opt/nezha/dashboard/theme-custom</code> on the server</li></ol><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-hidden="true">#</a></h2><ul><li>If you can't use port <code>80</code>, change the configuration in <code>docker-compose.yaml</code>.</li></ul>',7),c=[i];function l(r,h,d,s,m,p){return t(),o("div",null,c)}var _=e(a,[["render",l]]);export{v as __pageData,_ as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as o,o as t,a as n}from"./app.3817bf4e.js";const v='{"title":"Nezha Theme Development Environment","description":"","frontmatter":{},"headers":[{"level":2,"title":"Nezha Theme Development Environment","slug":"nezha-theme-development-environment"},{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"en_US/developer/theme.md","lastUpdated":1682076617000}',a={},i=n("",7),c=[i];function l(r,h,d,s,m,p){return t(),o("div",null,c)}var _=e(a,[["render",l]]);export{v as __pageData,_ as default};
|
||||
import{_ as e,c as o,o as t,a as n}from"./app.38e99b9a.js";const v='{"title":"Nezha Theme Development Environment","description":"","frontmatter":{},"headers":[{"level":2,"title":"Nezha Theme Development Environment","slug":"nezha-theme-development-environment"},{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"en_US/developer/theme.md","lastUpdated":1682077347000}',a={},i=n("",7),c=[i];function l(r,h,d,s,m,p){return t(),o("div",null,c)}var _=e(a,[["render",l]]);export{v as __pageData,_ as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as n,c as a,o as t,a as s}from"./app.3817bf4e.js";const k='{"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":"Preparation","slug":"preparation"},{"level":3,"title":"One-click installation on Linux (Ubuntu, Debian, CentOS)","slug":"one-click-installation-on-linux-ubuntu-debian-centos"},{"level":3,"title":"One-click installation on Windows","slug":"one-click-installation-on-windows"},{"level":2,"title":"Other ways to install Agent","slug":"other-ways-to-install-agent"},{"level":3,"title":"Installing Agent on Linux (Ubuntu, Debian, CentOS)","slug":"installing-agent-on-linux-ubuntu-debian-centos"},{"level":3,"title":"Installing Agent on other Linux (such as alpine use oprec not systemd)","slug":"installing-agent-on-other-linux-such-as-alpine-use-oprec-not-systemd"},{"level":3,"title":"Installing Agent on Windows","slug":"installing-agent-on-windows"},{"level":3,"title":"Installing Agent on Synology DSM","slug":"installing-agent-on-synology-dsm"},{"level":3,"title":"Installing Agent on MacOS","slug":"installing-agent-on-macos"},{"level":3,"title":"Installing Agent on OpenWRT","slug":"installing-agent-on-openwrt"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"Is there a Docker image for Agent?","slug":"is-there-a-docker-image-for-agent"}],"relativePath":"en_US/guide/agent.md","lastUpdated":1682076617000}',e={},o=s(`<p><strong>The service in the monitored server is called Agent. This document will describe how to install the Agent on the monitored server and connect it with Dashboard</strong><br><br></p><h2 id="install-agent-using-one-click-script" tabindex="-1">Install Agent using one-click script <a class="header-anchor" href="#install-agent-using-one-click-script" aria-hidden="true">#</a></h2><p>Nezha Monitoring now supports one-click installation of the Agent on Windows and Linux. Follow the steps in this document and you can easily deploy it on your server<br><br></p><h3 id="preparation" tabindex="-1">Preparation <a class="header-anchor" href="#preparation" aria-hidden="true">#</a></h3><p>First of all, you need to set up the communication domain name in the settings page of the admin panel, this domain name can not connect to the CDN, here is the sample communication domain name "<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>" mentioned earlier for demonstration<br> Enter the administration panel, go to the "Settings" page, in the item "CDN Bypassed Domain/IP ", fill in the communication domain name, and then click "Save"<br><br></p><h3 id="one-click-installation-on-linux-ubuntu-debian-centos" tabindex="-1">One-click installation on Linux (Ubuntu, Debian, CentOS) <a class="header-anchor" href="#one-click-installation-on-linux-ubuntu-debian-centos" aria-hidden="true">#</a></h3><ul><li>First add a server in the admin panel</li><li>Click on the green Linux icon button next to the newly added server and copy the one-click installation command</li><li>Run the copied one-click installation command on the monitored server, wait for the installation to complete, and then return to the Dashboard home page to see if the server is online.<br><br></li></ul><h3 id="one-click-installation-on-windows" tabindex="-1">One-click installation on Windows <a class="header-anchor" href="#one-click-installation-on-windows" aria-hidden="true">#</a></h3><ul><li>First add a server in the admin panel</li><li>Click on the green Linux icon button next to the newly added server and copy the one-click installation command</li><li>Login to Windows Server, open PowerShell, and run the copied installation command in PowerShell</li><li>If you encounter the prompt "Implement Policy Change" please select Y</li><li>Wait for the installation to complete and return to the Dashboard home page to see if the server is online<br><br><br><br></li></ul><h2 id="other-ways-to-install-agent" tabindex="-1">Other ways to install Agent <a class="header-anchor" href="#other-ways-to-install-agent" aria-hidden="true">#</a></h2><br><h3 id="installing-agent-on-linux-ubuntu-debian-centos" tabindex="-1">Installing Agent on Linux (Ubuntu, Debian, CentOS) <a class="header-anchor" href="#installing-agent-on-linux-ubuntu-debian-centos" aria-hidden="true">#</a></h3><ul><li>First add a server in the admin panel</li><li>In the monitored server, run the script:</li></ul><div class="language-bash"><pre><code><span class="token function">curl</span> -L https://raw.githubusercontent.com/naiba/nezha/master/script/install_en.sh -o nezha.sh <span class="token operator">&&</span> <span class="token function">chmod</span> +x nezha.sh <span class="token operator">&&</span> <span class="token function">sudo</span> ./nezha.sh
|
||||
import{_ as n,c as a,o as t,a as s}from"./app.38e99b9a.js";const k='{"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":"Preparation","slug":"preparation"},{"level":3,"title":"One-click installation on Linux (Ubuntu, Debian, CentOS)","slug":"one-click-installation-on-linux-ubuntu-debian-centos"},{"level":3,"title":"One-click installation on Windows","slug":"one-click-installation-on-windows"},{"level":2,"title":"Other ways to install Agent","slug":"other-ways-to-install-agent"},{"level":3,"title":"Installing Agent on Linux (Ubuntu, Debian, CentOS)","slug":"installing-agent-on-linux-ubuntu-debian-centos"},{"level":3,"title":"Installing Agent on other Linux (such as alpine use oprec not systemd)","slug":"installing-agent-on-other-linux-such-as-alpine-use-oprec-not-systemd"},{"level":3,"title":"Installing Agent on Windows","slug":"installing-agent-on-windows"},{"level":3,"title":"Installing Agent on Synology DSM","slug":"installing-agent-on-synology-dsm"},{"level":3,"title":"Installing Agent on MacOS","slug":"installing-agent-on-macos"},{"level":3,"title":"Installing Agent on OpenWRT","slug":"installing-agent-on-openwrt"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"Is there a Docker image for Agent?","slug":"is-there-a-docker-image-for-agent"}],"relativePath":"en_US/guide/agent.md","lastUpdated":1682077347000}',e={},o=s(`<p><strong>The service in the monitored server is called Agent. This document will describe how to install the Agent on the monitored server and connect it with Dashboard</strong><br><br></p><h2 id="install-agent-using-one-click-script" tabindex="-1">Install Agent using one-click script <a class="header-anchor" href="#install-agent-using-one-click-script" aria-hidden="true">#</a></h2><p>Nezha Monitoring now supports one-click installation of the Agent on Windows and Linux. Follow the steps in this document and you can easily deploy it on your server<br><br></p><h3 id="preparation" tabindex="-1">Preparation <a class="header-anchor" href="#preparation" aria-hidden="true">#</a></h3><p>First of all, you need to set up the communication domain name in the settings page of the admin panel, this domain name can not connect to the CDN, here is the sample communication domain name "<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>" mentioned earlier for demonstration<br> Enter the administration panel, go to the "Settings" page, in the item "CDN Bypassed Domain/IP ", fill in the communication domain name, and then click "Save"<br><br></p><h3 id="one-click-installation-on-linux-ubuntu-debian-centos" tabindex="-1">One-click installation on Linux (Ubuntu, Debian, CentOS) <a class="header-anchor" href="#one-click-installation-on-linux-ubuntu-debian-centos" aria-hidden="true">#</a></h3><ul><li>First add a server in the admin panel</li><li>Click on the green Linux icon button next to the newly added server and copy the one-click installation command</li><li>Run the copied one-click installation command on the monitored server, wait for the installation to complete, and then return to the Dashboard home page to see if the server is online.<br><br></li></ul><h3 id="one-click-installation-on-windows" tabindex="-1">One-click installation on Windows <a class="header-anchor" href="#one-click-installation-on-windows" aria-hidden="true">#</a></h3><ul><li>First add a server in the admin panel</li><li>Click on the green Linux icon button next to the newly added server and copy the one-click installation command</li><li>Login to Windows Server, open PowerShell, and run the copied installation command in PowerShell</li><li>If you encounter the prompt "Implement Policy Change" please select Y</li><li>Wait for the installation to complete and return to the Dashboard home page to see if the server is online<br><br><br><br></li></ul><h2 id="other-ways-to-install-agent" tabindex="-1">Other ways to install Agent <a class="header-anchor" href="#other-ways-to-install-agent" aria-hidden="true">#</a></h2><br><h3 id="installing-agent-on-linux-ubuntu-debian-centos" tabindex="-1">Installing Agent on Linux (Ubuntu, Debian, CentOS) <a class="header-anchor" href="#installing-agent-on-linux-ubuntu-debian-centos" aria-hidden="true">#</a></h3><ul><li>First add a server in the admin panel</li><li>In the monitored server, run the script:</li></ul><div class="language-bash"><pre><code><span class="token function">curl</span> -L https://raw.githubusercontent.com/naiba/nezha/master/script/install_en.sh -o nezha.sh <span class="token operator">&&</span> <span class="token function">chmod</span> +x nezha.sh <span class="token operator">&&</span> <span class="token function">sudo</span> ./nezha.sh
|
||||
</code></pre></div><ul><li><p>Select \u201CInstall_agent\u201D</p></li><li><p>Input the communication domain name, e.g. "<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>"</p></li><li><p>Input RPC port, default is 5555</p></li><li><p>Input the Agent Secret, which is generated when adding a server in the administration panel and can be found in the " Servers " page of the administration panel</p></li><li><p>Wait for the installation to complete and return to the Dashboard home page to see if the server is online<br><br></p></li></ul><h3 id="installing-agent-on-other-linux-such-as-alpine-use-oprec-not-systemd" tabindex="-1">Installing Agent on other Linux (such as alpine use oprec not systemd) <a class="header-anchor" href="#installing-agent-on-other-linux-such-as-alpine-use-oprec-not-systemd" aria-hidden="true">#</a></h3><p>Contributed by <a href="https://github.com/unknwon0054" target="_blank" rel="noopener noreferrer">unknown0054</a></p><ul><li>Edit SERVER,SECRET,TLS then run it in Shell</li></ul><div class="language-shell"><pre><code><span class="token function">cat</span> <span class="token operator">></span>/etc/init.d/nezha-agent<span class="token operator"><<</span> <span class="token string">EOF
|
||||
#!/sbin/openrc-run
|
||||
SERVER="" #Dashboard address ip:port
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as n,c as a,o as t,a as s}from"./app.3817bf4e.js";const k='{"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":"Preparation","slug":"preparation"},{"level":3,"title":"One-click installation on Linux (Ubuntu, Debian, CentOS)","slug":"one-click-installation-on-linux-ubuntu-debian-centos"},{"level":3,"title":"One-click installation on Windows","slug":"one-click-installation-on-windows"},{"level":2,"title":"Other ways to install Agent","slug":"other-ways-to-install-agent"},{"level":3,"title":"Installing Agent on Linux (Ubuntu, Debian, CentOS)","slug":"installing-agent-on-linux-ubuntu-debian-centos"},{"level":3,"title":"Installing Agent on other Linux (such as alpine use oprec not systemd)","slug":"installing-agent-on-other-linux-such-as-alpine-use-oprec-not-systemd"},{"level":3,"title":"Installing Agent on Windows","slug":"installing-agent-on-windows"},{"level":3,"title":"Installing Agent on Synology DSM","slug":"installing-agent-on-synology-dsm"},{"level":3,"title":"Installing Agent on MacOS","slug":"installing-agent-on-macos"},{"level":3,"title":"Installing Agent on OpenWRT","slug":"installing-agent-on-openwrt"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"Is there a Docker image for Agent?","slug":"is-there-a-docker-image-for-agent"}],"relativePath":"en_US/guide/agent.md","lastUpdated":1682076617000}',e={},o=s("",52),p=[o];function l(i,c,r,u,g,h){return t(),a("div",null,p)}var m=n(e,[["render",l]]);export{k as __pageData,m as default};
|
||||
import{_ as n,c as a,o as t,a as s}from"./app.38e99b9a.js";const k='{"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":"Preparation","slug":"preparation"},{"level":3,"title":"One-click installation on Linux (Ubuntu, Debian, CentOS)","slug":"one-click-installation-on-linux-ubuntu-debian-centos"},{"level":3,"title":"One-click installation on Windows","slug":"one-click-installation-on-windows"},{"level":2,"title":"Other ways to install Agent","slug":"other-ways-to-install-agent"},{"level":3,"title":"Installing Agent on Linux (Ubuntu, Debian, CentOS)","slug":"installing-agent-on-linux-ubuntu-debian-centos"},{"level":3,"title":"Installing Agent on other Linux (such as alpine use oprec not systemd)","slug":"installing-agent-on-other-linux-such-as-alpine-use-oprec-not-systemd"},{"level":3,"title":"Installing Agent on Windows","slug":"installing-agent-on-windows"},{"level":3,"title":"Installing Agent on Synology DSM","slug":"installing-agent-on-synology-dsm"},{"level":3,"title":"Installing Agent on MacOS","slug":"installing-agent-on-macos"},{"level":3,"title":"Installing Agent on OpenWRT","slug":"installing-agent-on-openwrt"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"Is there a Docker image for Agent?","slug":"is-there-a-docker-image-for-agent"}],"relativePath":"en_US/guide/agent.md","lastUpdated":1682077347000}',e={},o=s("",52),p=[o];function l(i,c,r,u,g,h){return t(),a("div",null,p)}var m=n(e,[["render",l]]);export{k as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.3817bf4e.js";const f='{"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","description":"","frontmatter":{},"headers":[{"level":2,"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","slug":"why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same"},{"level":2,"title":"Error on one-click script installation","slug":"error-on-one-click-script-installation"},{"level":3,"title":"curl: Failed to connect to raw.githubusercontent.com...","slug":"curl-failed-to-connect-to-raw-githubusercontent-com"},{"level":3,"title":"sudo: command not found","slug":"sudo-command-not-found"}],"relativePath":"en_US/guide/agentq.md","lastUpdated":1682076617000}',o={},i=n('<h2 id="why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same" tabindex="-1">Why the IP displayed in the admin panel and the actual IP of the Agent are not the same? <a class="header-anchor" href="#why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same" aria-hidden="true">#</a></h2><p>Please check <a href="/en_US/guide/dashboardq.html#why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same">Dashboard - Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?</a></p><h2 id="error-on-one-click-script-installation" tabindex="-1">Error on one-click script installation <a class="header-anchor" href="#error-on-one-click-script-installation" aria-hidden="true">#</a></h2><h3 id="curl-failed-to-connect-to-raw-githubusercontent-com" tabindex="-1">curl: Failed to connect to <a href="http://raw.githubusercontent.com" target="_blank" rel="noopener noreferrer">raw.githubusercontent.com</a>... <a class="header-anchor" href="#curl-failed-to-connect-to-raw-githubusercontent-com" aria-hidden="true">#</a></h3><p>Please check if your server can connect to Github, try again, or check <a href="/en_US/guide/agent.html#other-ways-to-install-agent">Other ways to install Agent</a></p><h3 id="sudo-command-not-found" tabindex="-1">sudo: command not found <a class="header-anchor" href="#sudo-command-not-found" aria-hidden="true">#</a></h3><p>Please install sudo first</p>',7),r=[i];function h(d,l,c,s,u,p){return a(),t("div",null,r)}var _=e(o,[["render",h]]);export{f as __pageData,_ as default};
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.38e99b9a.js";const f='{"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","description":"","frontmatter":{},"headers":[{"level":2,"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","slug":"why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same"},{"level":2,"title":"Error on one-click script installation","slug":"error-on-one-click-script-installation"},{"level":3,"title":"curl: Failed to connect to raw.githubusercontent.com...","slug":"curl-failed-to-connect-to-raw-githubusercontent-com"},{"level":3,"title":"sudo: command not found","slug":"sudo-command-not-found"}],"relativePath":"en_US/guide/agentq.md","lastUpdated":1682077347000}',o={},i=n('<h2 id="why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same" tabindex="-1">Why the IP displayed in the admin panel and the actual IP of the Agent are not the same? <a class="header-anchor" href="#why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same" aria-hidden="true">#</a></h2><p>Please check <a href="/en_US/guide/dashboardq.html#why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same">Dashboard - Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?</a></p><h2 id="error-on-one-click-script-installation" tabindex="-1">Error on one-click script installation <a class="header-anchor" href="#error-on-one-click-script-installation" aria-hidden="true">#</a></h2><h3 id="curl-failed-to-connect-to-raw-githubusercontent-com" tabindex="-1">curl: Failed to connect to <a href="http://raw.githubusercontent.com" target="_blank" rel="noopener noreferrer">raw.githubusercontent.com</a>... <a class="header-anchor" href="#curl-failed-to-connect-to-raw-githubusercontent-com" aria-hidden="true">#</a></h3><p>Please check if your server can connect to Github, try again, or check <a href="/en_US/guide/agent.html#other-ways-to-install-agent">Other ways to install Agent</a></p><h3 id="sudo-command-not-found" tabindex="-1">sudo: command not found <a class="header-anchor" href="#sudo-command-not-found" aria-hidden="true">#</a></h3><p>Please install sudo first</p>',7),r=[i];function h(d,l,c,s,u,p){return a(),t("div",null,r)}var _=e(o,[["render",h]]);export{f as __pageData,_ as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.3817bf4e.js";const f='{"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","description":"","frontmatter":{},"headers":[{"level":2,"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","slug":"why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same"},{"level":2,"title":"Error on one-click script installation","slug":"error-on-one-click-script-installation"},{"level":3,"title":"curl: Failed to connect to raw.githubusercontent.com...","slug":"curl-failed-to-connect-to-raw-githubusercontent-com"},{"level":3,"title":"sudo: command not found","slug":"sudo-command-not-found"}],"relativePath":"en_US/guide/agentq.md","lastUpdated":1682076617000}',o={},i=n("",7),r=[i];function h(d,l,c,s,u,p){return a(),t("div",null,r)}var _=e(o,[["render",h]]);export{f as __pageData,_ as default};
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.38e99b9a.js";const f='{"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","description":"","frontmatter":{},"headers":[{"level":2,"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","slug":"why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same"},{"level":2,"title":"Error on one-click script installation","slug":"error-on-one-click-script-installation"},{"level":3,"title":"curl: Failed to connect to raw.githubusercontent.com...","slug":"curl-failed-to-connect-to-raw-githubusercontent-com"},{"level":3,"title":"sudo: command not found","slug":"sudo-command-not-found"}],"relativePath":"en_US/guide/agentq.md","lastUpdated":1682077347000}',o={},i=n("",7),r=[i];function h(d,l,c,s,u,p){return a(),t("div",null,r)}var _=e(o,[["render",h]]);export{f as __pageData,_ as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as t,c as o,o as e,a as u}from"./app.3817bf4e.js";const v='{"title":"Create Token","description":"","frontmatter":{},"headers":[{"level":2,"title":"Create Token","slug":"create-token"},{"level":2,"title":"Authentication method","slug":"authentication-method"},{"level":2,"title":"How to use","slug":"how-to-use"}],"relativePath":"en_US/guide/api.md","lastUpdated":1682076617000}',n={},q=u(`<p><strong>Nezha Monitoring now supports querying the status information of the Agent in the Dashboard using the API</strong></p><h2 id="create-token" tabindex="-1">Create Token <a class="header-anchor" href="#create-token" aria-hidden="true">#</a></h2><p>API allows Token authentication method and Cookies authentication method<br> To create a new Token, after entering the admin panel, click on the avatar in the upper right corner and select "API Token" to enter the Token management page<br> Click "Add Token" and after customizing the notes, click "Add"<br> To delete a Token, please select the corresponding Token and click the delete icon on the right</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Token is the authentication tool of API, it is very important for your Dashboard's information security, please don't leak your Token to others</p></div><h2 id="authentication-method" tabindex="-1">Authentication method <a class="header-anchor" href="#authentication-method" aria-hidden="true">#</a></h2><p>Token authentication method:</p><div class="language-"><pre><code>Request Headers:
|
||||
import{_ as t,c as o,o as e,a as u}from"./app.38e99b9a.js";const v='{"title":"Create Token","description":"","frontmatter":{},"headers":[{"level":2,"title":"Create Token","slug":"create-token"},{"level":2,"title":"Authentication method","slug":"authentication-method"},{"level":2,"title":"How to use","slug":"how-to-use"}],"relativePath":"en_US/guide/api.md","lastUpdated":1682077347000}',n={},q=u(`<p><strong>Nezha Monitoring now supports querying the status information of the Agent in the Dashboard using the API</strong></p><h2 id="create-token" tabindex="-1">Create Token <a class="header-anchor" href="#create-token" aria-hidden="true">#</a></h2><p>API allows Token authentication method and Cookies authentication method<br> To create a new Token, after entering the admin panel, click on the avatar in the upper right corner and select "API Token" to enter the Token management page<br> Click "Add Token" and after customizing the notes, click "Add"<br> To delete a Token, please select the corresponding Token and click the delete icon on the right</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Token is the authentication tool of API, it is very important for your Dashboard's information security, please don't leak your Token to others</p></div><h2 id="authentication-method" tabindex="-1">Authentication method <a class="header-anchor" href="#authentication-method" aria-hidden="true">#</a></h2><p>Token authentication method:</p><div class="language-"><pre><code>Request Headers:
|
||||
Authorization: Token
|
||||
</code></pre></div><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>The negative timestamp in the example below is (0000-00-00)<br> It is currently used to indicate that the Agent has never reported since the Dashboard went live<br> However, it is not recommended to use positivity or negativity to determine the status</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p><strong>The request method is <code>Get</code> and the return format is <code>JSON</code>.</strong></p></div><ul><li>Get a list of servers: <code>GET /api/v1/server/list?tag=</code><br> query: tag (ServerTag means the group of servers, if this value is provided, only the servers in this group are queried)</li></ul><p>JSON Return Example:</p><div class="language-"><pre><code>{
|
||||
"code": 0,
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as t,c as o,o as e,a as u}from"./app.3817bf4e.js";const v='{"title":"Create Token","description":"","frontmatter":{},"headers":[{"level":2,"title":"Create Token","slug":"create-token"},{"level":2,"title":"Authentication method","slug":"authentication-method"},{"level":2,"title":"How to use","slug":"how-to-use"}],"relativePath":"en_US/guide/api.md","lastUpdated":1682076617000}',n={},q=u("",16),a=[q];function i(r,s,d,l,c,p){return e(),o("div",null,a)}var m=t(n,[["render",i]]);export{v as __pageData,m as default};
|
||||
import{_ as t,c as o,o as e,a as u}from"./app.38e99b9a.js";const v='{"title":"Create Token","description":"","frontmatter":{},"headers":[{"level":2,"title":"Create Token","slug":"create-token"},{"level":2,"title":"Authentication method","slug":"authentication-method"},{"level":2,"title":"How to use","slug":"how-to-use"}],"relativePath":"en_US/guide/api.md","lastUpdated":1682077347000}',n={},q=u("",16),a=[q];function i(r,s,d,l,c,p){return e(),o("div",null,a)}var m=t(n,[["render",i]]);export{v as __pageData,m as default};
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{_ as e,c as a,o as t,a as o}from"./app.3817bf4e.js";const m='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":2,"title":"Preparations","slug":"preparations"},{"level":2,"title":"Get the Client ID and Client Secret on Github/Gitlab","slug":"get-the-client-id-and-client-secret-on-github-gitlab"},{"level":2,"title":"Installing Dashboard on the server","slug":"installing-dashboard-on-the-server"},{"level":2,"title":"Configure reverse proxy","slug":"configure-reverse-proxy"},{"level":2,"title":"Configuring SSL in the aaPanel","slug":"configuring-ssl-in-the-aapanel"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"What should I do if /terminal or /ws cannot be connected after HTTPS is enabled?","slug":"what-should-i-do-if-terminal-or-ws-cannot-be-connected-after-https-is-enabled"},{"level":3,"title":"I am not satisfied with the data modification or addition function provided by the Dashboard, what if I want to modify or add data myself?","slug":"i-am-not-satisfied-with-the-data-modification-or-addition-function-provided-by-the-dashboard-what-if-i-want-to-modify-or-add-data-myself"},{"level":3,"title":"What are each table or column in the database?","slug":"what-are-each-table-or-column-in-the-database"},{"level":3,"title":"Does Dashboard update automatically?","slug":"does-dashboard-update-automatically"},{"level":3,"title":"How do I update the Dashboard?","slug":"how-do-i-update-the-dashboard"}],"relativePath":"en_US/guide/dashboard.md","lastUpdated":1682076617000}',n={},s=o(`<h2 id="preparations" tabindex="-1">Preparations <a class="header-anchor" href="#preparations" aria-hidden="true">#</a></h2><p>To setup a Nezha monitorning Dashboard, you need these things:</p><ol><li>A VPS that can connect to the Internet, firewall and security policies need to open ports 8008 and 5555, otherwise it will be inaccessible and unable to receive data. A 1 core 512MB RAM server is sufficient for most usage scenarios</li><li>A domain name that has been set up with an A record that resolves to the Dashboard server IP</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you want to use CDN, please prepare two domains, one connect to CDN for public access, CDN needs to support WebSocket protocol; the other domain should not connect to CDN, use it as Agent to send data to Dashboard.<br> This document uses "<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">cdn.example.com</a>" and "<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>" domains to demonstrate respectively</p></div><ol start="3"><li>A Github or Gitlab account</li></ol><p><strong>This document will use the aaPanel as an example, with future versions of the changes, some of the features may change, this document is for reference only</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>This project does not rely on aaPanel, you can choose to use any server panel you like, and if you are capable enough, you can manually install NginX or Caddy to configure SSL and reverse proxy.<br> If you don't think it's necessary to use port 80 or 443 to access Dashboard, you don't even need to install NginX and you can just use the install script.</p></div><br><br><h2 id="get-the-client-id-and-client-secret-on-github-gitlab" tabindex="-1">Get the Client ID and Client Secret on Github/Gitlab <a class="header-anchor" href="#get-the-client-id-and-client-secret-on-github-gitlab" aria-hidden="true">#</a></h2><p>Nezha Monitor uses a Github account as the login account for the admin panel</p><ul><li>First we need to create a new authentication application, after logging into Github, open <a href="https://github.com/settings/developers" target="_blank" rel="noopener noreferrer">https://github.com/settings/developers</a> and select "OAuth Apps" - "New OAuth App "<br><code>Application name</code> - Fill in as you like<br><code>Homepage URL</code> - Fill in the panel's access domain name, such as: "<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>"<br><code>Authorization callback URL</code> - Fill in the callback address, e.g., "<a href="http://cdn.example.com/oauth2/callback" target="_blank" rel="noopener noreferrer">http://cdn.example.com/oauth2/callback</a>"</li><li>Click on "Registration Application"</li><li>Remember the Client ID in the page, then click "Generate a new client secret" to create a new Client Secret, the new secret will be displayed only once, please save it properly <br><br></li><li>If you're using Gitlab, you'll need to go to <a href="https://gitlab.com/-/profile/applications" target="_blank" rel="noopener noreferrer">https://gitlab.com/-/profile/applications</a> to create a new application</li><li>Fill in <code>Redirect URL</code> with the cal
Line truncated
|
||||
import{_ as e,c as a,o as t,a as o}from"./app.38e99b9a.js";const m='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":2,"title":"Preparations","slug":"preparations"},{"level":2,"title":"Get the Client ID and Client Secret on Github/Gitlab","slug":"get-the-client-id-and-client-secret-on-github-gitlab"},{"level":2,"title":"Installing Dashboard on the server","slug":"installing-dashboard-on-the-server"},{"level":2,"title":"Configure reverse proxy","slug":"configure-reverse-proxy"},{"level":2,"title":"Configuring SSL in the aaPanel","slug":"configuring-ssl-in-the-aapanel"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"What should I do if /terminal or /ws cannot be connected after HTTPS is enabled?","slug":"what-should-i-do-if-terminal-or-ws-cannot-be-connected-after-https-is-enabled"},{"level":3,"title":"I am not satisfied with the data modification or addition function provided by the Dashboard, what if I want to modify or add data myself?","slug":"i-am-not-satisfied-with-the-data-modification-or-addition-function-provided-by-the-dashboard-what-if-i-want-to-modify-or-add-data-myself"},{"level":3,"title":"What are each table or column in the database?","slug":"what-are-each-table-or-column-in-the-database"},{"level":3,"title":"Does Dashboard update automatically?","slug":"does-dashboard-update-automatically"},{"level":3,"title":"How do I update the Dashboard?","slug":"how-do-i-update-the-dashboard"}],"relativePath":"en_US/guide/dashboard.md","lastUpdated":1682077347000}',n={},s=o(`<h2 id="preparations" tabindex="-1">Preparations <a class="header-anchor" href="#preparations" aria-hidden="true">#</a></h2><p>To setup a Nezha monitorning Dashboard, you need these things:</p><ol><li>A VPS that can connect to the Internet, firewall and security policies need to open ports 8008 and 5555, otherwise it will be inaccessible and unable to receive data. A 1 core 512MB RAM server is sufficient for most usage scenarios</li><li>A domain name that has been set up with an A record that resolves to the Dashboard server IP</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>If you want to use CDN, please prepare two domains, one connect to CDN for public access, CDN needs to support WebSocket protocol; the other domain should not connect to CDN, use it as Agent to send data to Dashboard.<br> This document uses "<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">cdn.example.com</a>" and "<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>" domains to demonstrate respectively</p></div><ol start="3"><li>A Github or Gitlab account</li></ol><p><strong>This document will use the aaPanel as an example, with future versions of the changes, some of the features may change, this document is for reference only</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>This project does not rely on aaPanel, you can choose to use any server panel you like, and if you are capable enough, you can manually install NginX or Caddy to configure SSL and reverse proxy.<br> If you don't think it's necessary to use port 80 or 443 to access Dashboard, you don't even need to install NginX and you can just use the install script.</p></div><br><br><h2 id="get-the-client-id-and-client-secret-on-github-gitlab" tabindex="-1">Get the Client ID and Client Secret on Github/Gitlab <a class="header-anchor" href="#get-the-client-id-and-client-secret-on-github-gitlab" aria-hidden="true">#</a></h2><p>Nezha Monitor uses a Github account as the login account for the admin panel</p><ul><li>First we need to create a new authentication application, after logging into Github, open <a href="https://github.com/settings/developers" target="_blank" rel="noopener noreferrer">https://github.com/settings/developers</a> and select "OAuth Apps" - "New OAuth App "<br><code>Application name</code> - Fill in as you like<br><code>Homepage URL</code> - Fill in the panel's access domain name, such as: "<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>"<br><code>Authorization callback URL</code> - Fill in the callback address, e.g., "<a href="http://cdn.example.com/oauth2/callback" target="_blank" rel="noopener noreferrer">http://cdn.example.com/oauth2/callback</a>"</li><li>Click on "Registration Application"</li><li>Remember the Client ID in the page, then click "Generate a new client secret" to create a new Client Secret, the new secret will be displayed only once, please save it properly <br><br></li><li>If you're using Gitlab, you'll need to go to <a href="https://gitlab.com/-/profile/applications" target="_blank" rel="noopener noreferrer">https://gitlab.com/-/profile/applications</a> to create a new application</li><li>Fill in <code>Redirect URL</code> with the cal
Line truncated
|
||||
</code></pre></div><ul><li><p>After waiting for the Docker installation to complete, input the following settings:<br><code>OAuth2 provider</code> - Github or Gitlab<br><code>Client ID</code> - Previously saved Client ID<br><code>Client Secret</code> - Previously saved secret<br><code>GitHub/Gitee login name</code> - Github o Gitlab username<br><code>Site title</code> - Custom site title<br><code>Site access port</code> - Public access port, customizable, default 8008<br><code>RPC port</code> - The communication port between Agent and Dashboard, default 5555</p></li><li><p>After the input is complete, wait to pull the mirror<br> After the installation, if everything is fine, you can visit the domain + port number, such as "<a href="http://cdn.example.com:8008" target="_blank" rel="noopener noreferrer">http://cdn.example.com:8008</a>" to view the Dashboard</p></li><li><p>In the future, if you need to run the script again, you can run:</p></li></ul><div class="language-bash"><pre><code>./nezha.sh
|
||||
</code></pre></div><p>to open the management script<br><br><br></p><h2 id="configure-reverse-proxy" tabindex="-1">Configure reverse proxy <a class="header-anchor" href="#configure-reverse-proxy" aria-hidden="true">#</a></h2><ul><li><p>Create a new site in the aaPanel, fill in the public access domain name, such as "<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>", then click "Settings" to enter the site settings option, select " Reverse proxy" - "New reverse proxy"</p></li><li><p>Customize a proxy name, fill in <code>http://127.0.0.1</code> in the "Target URL" and click "Save"</p></li><li><p>Open the " configuration" to the right of the new reverse proxy you just created and replace the configuration file with the following:</p></li></ul><div class="language-nginx"><pre><code><span class="token comment">#PROXY-START/</span>
|
||||
<span class="token directive"><span class="token keyword">location</span> /</span> <span class="token punctuation">{</span>
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as a,o as t,a as o}from"./app.3817bf4e.js";const m='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":2,"title":"Preparations","slug":"preparations"},{"level":2,"title":"Get the Client ID and Client Secret on Github/Gitlab","slug":"get-the-client-id-and-client-secret-on-github-gitlab"},{"level":2,"title":"Installing Dashboard on the server","slug":"installing-dashboard-on-the-server"},{"level":2,"title":"Configure reverse proxy","slug":"configure-reverse-proxy"},{"level":2,"title":"Configuring SSL in the aaPanel","slug":"configuring-ssl-in-the-aapanel"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"What should I do if /terminal or /ws cannot be connected after HTTPS is enabled?","slug":"what-should-i-do-if-terminal-or-ws-cannot-be-connected-after-https-is-enabled"},{"level":3,"title":"I am not satisfied with the data modification or addition function provided by the Dashboard, what if I want to modify or add data myself?","slug":"i-am-not-satisfied-with-the-data-modification-or-addition-function-provided-by-the-dashboard-what-if-i-want-to-modify-or-add-data-myself"},{"level":3,"title":"What are each table or column in the database?","slug":"what-are-each-table-or-column-in-the-database"},{"level":3,"title":"Does Dashboard update automatically?","slug":"does-dashboard-update-automatically"},{"level":3,"title":"How do I update the Dashboard?","slug":"how-do-i-update-the-dashboard"}],"relativePath":"en_US/guide/dashboard.md","lastUpdated":1682076617000}',n={},s=o("",41),i=[s];function r(l,d,c,p,h,u){return t(),a("div",null,i)}var f=e(n,[["render",r]]);export{m as __pageData,f as default};
|
||||
import{_ as e,c as a,o as t,a as o}from"./app.38e99b9a.js";const m='{"title":"Preparations","description":"","frontmatter":{},"headers":[{"level":2,"title":"Preparations","slug":"preparations"},{"level":2,"title":"Get the Client ID and Client Secret on Github/Gitlab","slug":"get-the-client-id-and-client-secret-on-github-gitlab"},{"level":2,"title":"Installing Dashboard on the server","slug":"installing-dashboard-on-the-server"},{"level":2,"title":"Configure reverse proxy","slug":"configure-reverse-proxy"},{"level":2,"title":"Configuring SSL in the aaPanel","slug":"configuring-ssl-in-the-aapanel"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"What should I do if /terminal or /ws cannot be connected after HTTPS is enabled?","slug":"what-should-i-do-if-terminal-or-ws-cannot-be-connected-after-https-is-enabled"},{"level":3,"title":"I am not satisfied with the data modification or addition function provided by the Dashboard, what if I want to modify or add data myself?","slug":"i-am-not-satisfied-with-the-data-modification-or-addition-function-provided-by-the-dashboard-what-if-i-want-to-modify-or-add-data-myself"},{"level":3,"title":"What are each table or column in the database?","slug":"what-are-each-table-or-column-in-the-database"},{"level":3,"title":"Does Dashboard update automatically?","slug":"does-dashboard-update-automatically"},{"level":3,"title":"How do I update the Dashboard?","slug":"how-do-i-update-the-dashboard"}],"relativePath":"en_US/guide/dashboard.md","lastUpdated":1682077347000}',n={},s=o("",41),i=[s];function r(l,d,c,p,h,u){return t(),a("div",null,i)}var f=e(n,[["render",r]]);export{m as __pageData,f as default};
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{_ as e,c as a,o as t,a as s}from"./app.3817bf4e.js";const g='{"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","description":"","frontmatter":{},"headers":[{"level":2,"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","slug":"why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same"},{"level":2,"title":"Forgot your access password or deleted your access password","slug":"forgot-your-access-password-or-deleted-your-access-password"},{"level":2,"title":"Dashboard install/restart/update failed: iptables ......","slug":"dashboard-install-restart-update-failed-iptables"},{"level":2,"title":"Dashboard reboot failed: Invalid hostPort: nzsiteport etc.","slug":"dashboard-reboot-failed-invalid-hostport-nz-site-port-etc"},{"level":2,"title":"Wrong Dashboard layout, CSS resources cannot be loaded","slug":"wrong-dashboard-layout-css-resources-cannot-be-loaded"}],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1682076617000}',o={},n=s(`<h2 id="why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same" tabindex="-1">Why the IP displayed in the admin panel and the actual IP of the Agent are not the same? <a class="header-anchor" href="#why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same" aria-hidden="true">#</a></h2><p>First of all, explain how the IP displayed in the admin panel is gotten: the Agent will request the IP-API every once in a while, get the IP information and report it to the Dashboard, the IP-API currently used can be viewed here: <a href="https://github.com/naiba/nezha/blob/master/cmd/agent/monitor/myip.go" target="_blank" rel="noopener noreferrer">myip.go</a><br> If you find that the IP displayed in the admin panel is not the same as the IP provided to you by the service provider, the biggest possibility is that the service provider gave you the <strong>entry IP</strong>, but the Agent tested out your <strong>exit IP</strong>. This problem may also occur in BGP servers and Leased line.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>To take a simple and very common example, the service provider to provide you a anti-DDoS server, in order to meet the goals of both DDoS protection and low network disruption rate, the IP provided to you may be the mapped anti-DDoS IP and not the real exit IP of your server</p></div><p>You can also test the exit IP by running the following command in the Agent server:</p><div class="language-shell"><pre><code><span class="token function">curl</span> api.myip.la
|
||||
import{_ as e,c as a,o as t,a as s}from"./app.38e99b9a.js";const g='{"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","description":"","frontmatter":{},"headers":[{"level":2,"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","slug":"why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same"},{"level":2,"title":"Forgot your access password or deleted your access password","slug":"forgot-your-access-password-or-deleted-your-access-password"},{"level":2,"title":"Dashboard install/restart/update failed: iptables ......","slug":"dashboard-install-restart-update-failed-iptables"},{"level":2,"title":"Dashboard reboot failed: Invalid hostPort: nzsiteport etc.","slug":"dashboard-reboot-failed-invalid-hostport-nz-site-port-etc"},{"level":2,"title":"Wrong Dashboard layout, CSS resources cannot be loaded","slug":"wrong-dashboard-layout-css-resources-cannot-be-loaded"}],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1682077347000}',o={},n=s(`<h2 id="why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same" tabindex="-1">Why the IP displayed in the admin panel and the actual IP of the Agent are not the same? <a class="header-anchor" href="#why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same" aria-hidden="true">#</a></h2><p>First of all, explain how the IP displayed in the admin panel is gotten: the Agent will request the IP-API every once in a while, get the IP information and report it to the Dashboard, the IP-API currently used can be viewed here: <a href="https://github.com/naiba/nezha/blob/master/cmd/agent/monitor/myip.go" target="_blank" rel="noopener noreferrer">myip.go</a><br> If you find that the IP displayed in the admin panel is not the same as the IP provided to you by the service provider, the biggest possibility is that the service provider gave you the <strong>entry IP</strong>, but the Agent tested out your <strong>exit IP</strong>. This problem may also occur in BGP servers and Leased line.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>To take a simple and very common example, the service provider to provide you a anti-DDoS server, in order to meet the goals of both DDoS protection and low network disruption rate, the IP provided to you may be the mapped anti-DDoS IP and not the real exit IP of your server</p></div><p>You can also test the exit IP by running the following command in the Agent server:</p><div class="language-shell"><pre><code><span class="token function">curl</span> api.myip.la
|
||||
<span class="token function">curl</span> ip.sb
|
||||
<span class="token function">curl</span> ip-api.com
|
||||
</code></pre></div><h2 id="forgot-your-access-password-or-deleted-your-access-password" tabindex="-1">Forgot your access password or deleted your access password <a class="header-anchor" href="#forgot-your-access-password-or-deleted-your-access-password" aria-hidden="true">#</a></h2><p>Please view or edit the <code>/opt/nezha/dashboard/data/config.yaml</code> file.<br> The password is located in the site-viewpassword item.</p><h2 id="dashboard-install-restart-update-failed-iptables" tabindex="-1">Dashboard install/restart/update failed: iptables ...... <a class="header-anchor" href="#dashboard-install-restart-update-failed-iptables" aria-hidden="true">#</a></h2><p>First, try restarting docker and retrying again</p><div class="language-shell"><pre><code>systemctl status <span class="token function">docker</span>
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as a,o as t,a as s}from"./app.3817bf4e.js";const g='{"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","description":"","frontmatter":{},"headers":[{"level":2,"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","slug":"why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same"},{"level":2,"title":"Forgot your access password or deleted your access password","slug":"forgot-your-access-password-or-deleted-your-access-password"},{"level":2,"title":"Dashboard install/restart/update failed: iptables ......","slug":"dashboard-install-restart-update-failed-iptables"},{"level":2,"title":"Dashboard reboot failed: Invalid hostPort: nzsiteport etc.","slug":"dashboard-reboot-failed-invalid-hostport-nz-site-port-etc"},{"level":2,"title":"Wrong Dashboard layout, CSS resources cannot be loaded","slug":"wrong-dashboard-layout-css-resources-cannot-be-loaded"}],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1682076617000}',o={},n=s("",18),r=[n];function i(d,l,c,h,p,u){return t(),a("div",null,r)}var f=e(o,[["render",i]]);export{g as __pageData,f as default};
|
||||
import{_ as e,c as a,o as t,a as s}from"./app.38e99b9a.js";const g='{"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","description":"","frontmatter":{},"headers":[{"level":2,"title":"Why the IP displayed in the admin panel and the actual IP of the Agent are not the same?","slug":"why-the-ip-displayed-in-the-admin-panel-and-the-actual-ip-of-the-agent-are-not-the-same"},{"level":2,"title":"Forgot your access password or deleted your access password","slug":"forgot-your-access-password-or-deleted-your-access-password"},{"level":2,"title":"Dashboard install/restart/update failed: iptables ......","slug":"dashboard-install-restart-update-failed-iptables"},{"level":2,"title":"Dashboard reboot failed: Invalid hostPort: nzsiteport etc.","slug":"dashboard-reboot-failed-invalid-hostport-nz-site-port-etc"},{"level":2,"title":"Wrong Dashboard layout, CSS resources cannot be loaded","slug":"wrong-dashboard-layout-css-resources-cannot-be-loaded"}],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1682077347000}',o={},n=s("",18),r=[n];function i(d,l,c,h,p,u){return t(),a("div",null,r)}var f=e(o,[["render",i]]);export{g as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a}from"./app.3817bf4e.js";const g='{"title":"Page refuses to connect or timeout after login callback","description":"","frontmatter":{},"headers":[{"level":2,"title":"Page refuses to connect or timeout after login callback","slug":"page-refuses-to-connect-or-timeout-after-login-callback"},{"level":3,"title":"How do I check if my callback URL is wrong?","slug":"how-do-i-check-if-my-callback-url-is-wrong"},{"level":2,"title":"Dashboard errors after login","slug":"dashboard-errors-after-login"},{"level":3,"title":"http: named cookie not present","slug":"http-named-cookie-not-present"},{"level":3,"title":"lookup xxx","slug":"lookup-xxx"},{"level":3,"title":"The authorization method is invalid, or the login callback URL is invalid, expired, or has been revoked","slug":"the-authorization-method-is-invalid-or-the-login-callback-url-is-invalid-expired-or-has-been-revoked"},{"level":3,"title":"oauth2: server response missing access_token","slug":"oauth2-server-response-missing-access-token"},{"level":3,"title":"This user is not the administrator or cannot login","slug":"this-user-is-not-the-administrator-or-cannot-login"},{"level":3,"title":"dial tcp xxx:443 i/o timeout","slug":"dial-tcp-xxx-443-i-o-timeout"},{"level":3,"title":"net/http: TLS handshake timeout","slug":"net-http-tls-handshake-timeout"}],"relativePath":"en_US/guide/loginq.md","lastUpdated":1682076617000}',r={},i=a('<h2 id="page-refuses-to-connect-or-timeout-after-login-callback" tabindex="-1">Page refuses to connect or timeout after login callback <a class="header-anchor" href="#page-refuses-to-connect-or-timeout-after-login-callback" aria-hidden="true">#</a></h2><ol><li>Your server cannot connect to Github, consider trying several times or switching to Gitlab.</li><li>You have configured the wrong callback URL, make sure your callback URL is correct and <strong>port and protocol</strong> are correct!</li><li>An unknown error occurred in Dashboard, you can use the script to check the logs.</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>What is a protocol?<br> In the browser, your domain name ending with <code>://</code> is the protocol, usually <code>http</code> and <code>https</code>. Since the Dashboard may be accessible by multiple protocols + domain + port combinations under normal deployment, please make sure to choose the most appropriate one as the callback.</p></div><h3 id="how-do-i-check-if-my-callback-url-is-wrong" tabindex="-1">How do I check if my callback URL is wrong? <a class="header-anchor" href="#how-do-i-check-if-my-callback-url-is-wrong" aria-hidden="true">#</a></h3><p>Please make sure the protocol+domain+port displayed by your browser before login and the protocol+domain+port you jump to after login are the same.<br> Please make sure your path is <code>/oauth2/callback</code>, <strong>all lowercase</strong>.</p><h2 id="dashboard-errors-after-login" tabindex="-1">Dashboard errors after login <a class="header-anchor" href="#dashboard-errors-after-login" aria-hidden="true">#</a></h2><h3 id="http-named-cookie-not-present" tabindex="-1">http: named cookie not present <a class="header-anchor" href="#http-named-cookie-not-present" aria-hidden="true">#</a></h3><p>Clear your browser cookies and log in again, or change your browser.</p><h3 id="lookup-xxx" tabindex="-1">lookup xxx <a class="header-anchor" href="#lookup-xxx" aria-hidden="true">#</a></h3><p>DNS resolution failure, in most cases, is due to iptables-related configuration changes.<br> It is recommended to restart docker first, <code>sudo systemctl restart docker</code>, and then use the script to restart the Dashboard.<br> If the lookup error still occurs, it is recommended to check whether there are other tools to control iptables, such as Aapanel Firewall.<br> This problem may also be related to the kernel, please try to change the official kernel.</p><h3 id="the-authorization-method-is-invalid-or-the-login-callback-url-is-invalid-expired-or-has-been-revoked" tabindex="-1">The authorization method is invalid, or the login callback URL is invalid, expired, or has been revoked <a class="header-anchor" href="#the-authorization-method-is-invalid-or-the-login-callback-url-is-invalid-expired-or-has-been-revoked" aria-hidden="true">#</a></h3><p>Suggest changing the authentication method to Github/Gitlab.</p><h3 id="oauth2-server-response-missing-access-token" tabindex="-1">oauth2: server response missing access_token <a class="header-anchor" href="#oauth2-server-response-missing-access-token" aria-hidden="true">#</a></h3><p>It may be caused by a number of factors, the most likely is a network problem, we suggest to check the network and retry.<br> If you can't solve it, we suggest changing the authentication method to Github/Gitlab.</p><h3 id="this-user-is-not-the-administrator-or-cannot-login" tabindex="-1">This user is not the administrator or cannot login <a class="header-anchor" href="#this-user-is-not-the-administrator-orLine truncated
|
||||
import{_ as e,c as t,o,a}from"./app.38e99b9a.js";const g='{"title":"Page refuses to connect or timeout after login callback","description":"","frontmatter":{},"headers":[{"level":2,"title":"Page refuses to connect or timeout after login callback","slug":"page-refuses-to-connect-or-timeout-after-login-callback"},{"level":3,"title":"How do I check if my callback URL is wrong?","slug":"how-do-i-check-if-my-callback-url-is-wrong"},{"level":2,"title":"Dashboard errors after login","slug":"dashboard-errors-after-login"},{"level":3,"title":"http: named cookie not present","slug":"http-named-cookie-not-present"},{"level":3,"title":"lookup xxx","slug":"lookup-xxx"},{"level":3,"title":"The authorization method is invalid, or the login callback URL is invalid, expired, or has been revoked","slug":"the-authorization-method-is-invalid-or-the-login-callback-url-is-invalid-expired-or-has-been-revoked"},{"level":3,"title":"oauth2: server response missing access_token","slug":"oauth2-server-response-missing-access-token"},{"level":3,"title":"This user is not the administrator or cannot login","slug":"this-user-is-not-the-administrator-or-cannot-login"},{"level":3,"title":"dial tcp xxx:443 i/o timeout","slug":"dial-tcp-xxx-443-i-o-timeout"},{"level":3,"title":"net/http: TLS handshake timeout","slug":"net-http-tls-handshake-timeout"}],"relativePath":"en_US/guide/loginq.md","lastUpdated":1682077347000}',r={},i=a('<h2 id="page-refuses-to-connect-or-timeout-after-login-callback" tabindex="-1">Page refuses to connect or timeout after login callback <a class="header-anchor" href="#page-refuses-to-connect-or-timeout-after-login-callback" aria-hidden="true">#</a></h2><ol><li>Your server cannot connect to Github, consider trying several times or switching to Gitlab.</li><li>You have configured the wrong callback URL, make sure your callback URL is correct and <strong>port and protocol</strong> are correct!</li><li>An unknown error occurred in Dashboard, you can use the script to check the logs.</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>What is a protocol?<br> In the browser, your domain name ending with <code>://</code> is the protocol, usually <code>http</code> and <code>https</code>. Since the Dashboard may be accessible by multiple protocols + domain + port combinations under normal deployment, please make sure to choose the most appropriate one as the callback.</p></div><h3 id="how-do-i-check-if-my-callback-url-is-wrong" tabindex="-1">How do I check if my callback URL is wrong? <a class="header-anchor" href="#how-do-i-check-if-my-callback-url-is-wrong" aria-hidden="true">#</a></h3><p>Please make sure the protocol+domain+port displayed by your browser before login and the protocol+domain+port you jump to after login are the same.<br> Please make sure your path is <code>/oauth2/callback</code>, <strong>all lowercase</strong>.</p><h2 id="dashboard-errors-after-login" tabindex="-1">Dashboard errors after login <a class="header-anchor" href="#dashboard-errors-after-login" aria-hidden="true">#</a></h2><h3 id="http-named-cookie-not-present" tabindex="-1">http: named cookie not present <a class="header-anchor" href="#http-named-cookie-not-present" aria-hidden="true">#</a></h3><p>Clear your browser cookies and log in again, or change your browser.</p><h3 id="lookup-xxx" tabindex="-1">lookup xxx <a class="header-anchor" href="#lookup-xxx" aria-hidden="true">#</a></h3><p>DNS resolution failure, in most cases, is due to iptables-related configuration changes.<br> It is recommended to restart docker first, <code>sudo systemctl restart docker</code>, and then use the script to restart the Dashboard.<br> If the lookup error still occurs, it is recommended to check whether there are other tools to control iptables, such as Aapanel Firewall.<br> This problem may also be related to the kernel, please try to change the official kernel.</p><h3 id="the-authorization-method-is-invalid-or-the-login-callback-url-is-invalid-expired-or-has-been-revoked" tabindex="-1">The authorization method is invalid, or the login callback URL is invalid, expired, or has been revoked <a class="header-anchor" href="#the-authorization-method-is-invalid-or-the-login-callback-url-is-invalid-expired-or-has-been-revoked" aria-hidden="true">#</a></h3><p>Suggest changing the authentication method to Github/Gitlab.</p><h3 id="oauth2-server-response-missing-access-token" tabindex="-1">oauth2: server response missing access_token <a class="header-anchor" href="#oauth2-server-response-missing-access-token" aria-hidden="true">#</a></h3><p>It may be caused by a number of factors, the most likely is a network problem, we suggest to check the network and retry.<br> If you can't solve it, we suggest changing the authentication method to Github/Gitlab.</p><h3 id="this-user-is-not-the-administrator-or-cannot-login" tabindex="-1">This user is not the administrator or cannot login <a class="header-anchor" href="#this-user-is-not-the-administrator-orLine truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a}from"./app.3817bf4e.js";const g='{"title":"Page refuses to connect or timeout after login callback","description":"","frontmatter":{},"headers":[{"level":2,"title":"Page refuses to connect or timeout after login callback","slug":"page-refuses-to-connect-or-timeout-after-login-callback"},{"level":3,"title":"How do I check if my callback URL is wrong?","slug":"how-do-i-check-if-my-callback-url-is-wrong"},{"level":2,"title":"Dashboard errors after login","slug":"dashboard-errors-after-login"},{"level":3,"title":"http: named cookie not present","slug":"http-named-cookie-not-present"},{"level":3,"title":"lookup xxx","slug":"lookup-xxx"},{"level":3,"title":"The authorization method is invalid, or the login callback URL is invalid, expired, or has been revoked","slug":"the-authorization-method-is-invalid-or-the-login-callback-url-is-invalid-expired-or-has-been-revoked"},{"level":3,"title":"oauth2: server response missing access_token","slug":"oauth2-server-response-missing-access-token"},{"level":3,"title":"This user is not the administrator or cannot login","slug":"this-user-is-not-the-administrator-or-cannot-login"},{"level":3,"title":"dial tcp xxx:443 i/o timeout","slug":"dial-tcp-xxx-443-i-o-timeout"},{"level":3,"title":"net/http: TLS handshake timeout","slug":"net-http-tls-handshake-timeout"}],"relativePath":"en_US/guide/loginq.md","lastUpdated":1682076617000}',r={},i=a("",20),s=[i];function n(l,c,h,d,u,p){return o(),t("div",null,s)}var b=e(r,[["render",n]]);export{g as __pageData,b as default};
|
||||
import{_ as e,c as t,o,a}from"./app.38e99b9a.js";const g='{"title":"Page refuses to connect or timeout after login callback","description":"","frontmatter":{},"headers":[{"level":2,"title":"Page refuses to connect or timeout after login callback","slug":"page-refuses-to-connect-or-timeout-after-login-callback"},{"level":3,"title":"How do I check if my callback URL is wrong?","slug":"how-do-i-check-if-my-callback-url-is-wrong"},{"level":2,"title":"Dashboard errors after login","slug":"dashboard-errors-after-login"},{"level":3,"title":"http: named cookie not present","slug":"http-named-cookie-not-present"},{"level":3,"title":"lookup xxx","slug":"lookup-xxx"},{"level":3,"title":"The authorization method is invalid, or the login callback URL is invalid, expired, or has been revoked","slug":"the-authorization-method-is-invalid-or-the-login-callback-url-is-invalid-expired-or-has-been-revoked"},{"level":3,"title":"oauth2: server response missing access_token","slug":"oauth2-server-response-missing-access-token"},{"level":3,"title":"This user is not the administrator or cannot login","slug":"this-user-is-not-the-administrator-or-cannot-login"},{"level":3,"title":"dial tcp xxx:443 i/o timeout","slug":"dial-tcp-xxx-443-i-o-timeout"},{"level":3,"title":"net/http: TLS handshake timeout","slug":"net-http-tls-handshake-timeout"}],"relativePath":"en_US/guide/loginq.md","lastUpdated":1682077347000}',r={},i=a("",20),s=[i];function n(l,c,h,d,u,p){return o(),t("div",null,s)}var b=e(r,[["render",n]]);export{g as __pageData,b as default};
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{_ as t,c as o,o as e,a as n}from"./app.3817bf4e.js";const f='{"title":"Flexible notification methods","description":"","frontmatter":{},"headers":[{"level":2,"title":"Flexible notification methods","slug":"flexible-notification-methods"},{"level":2,"title":"Description of notification rules","slug":"description-of-notification-rules"},{"level":3,"title":"Basic Rules","slug":"basic-rules"},{"level":3,"title":"Special: Any-cycle transfer notification","slug":"special-any-cycle-transfer-notification"},{"level":2,"title":"Description of mode of triggering notification","slug":"description-of-mode-of-triggering-notification"},{"level":2,"title":"Set the task to be executed when notification","slug":"set-the-task-to-be-executed-when-notification"}],"relativePath":"en_US/guide/notifications.md","lastUpdated":1682076617000}',a={},s=n(`<p>Nezha Monitoring supports monitoring of server load, CPU, memory, hard disk, data transfer, monthly data transfer, number of processes, number of connections, and sends alarm notifications when one of these items reaches a user-set limit.<br><br><br></p><h2 id="flexible-notification-methods" tabindex="-1">Flexible notification methods <a class="header-anchor" href="#flexible-notification-methods" aria-hidden="true">#</a></h2><p><code>#NEZHA#</code> is the panel message placeholder, the panel will automatically replace the placeholder with the actual message when it triggers the notification</p><p>The content of Body is in <code>JSON</code> format\uFF1A<strong>When the request type is FORM</strong>\uFF0Cthe value is in the form of <code>key:value</code>\uFF0C<code>value</code> can contain placeholders that will be automatically replaced when notified. <strong>When the request type is JSON</strong> It will only do string substitution and submit to the <code>URL</code> directly.</p><p>Placeholders can also be placed inside the URL, and it will perform a simple string substitution when requested.</p><p>Refer to the example below, it is very flexible.</p><ul><li><p><strong>Bark Example</strong></p><ul><li><p>Name: Bark</p></li><li><p>URL: The first part is the key, followed by three matches/: key/: body or/: key/: title/: body or/: key/: category/: title/: body</p></li><li><p>Request method: GET</p></li><li><p>Request Type: Default</p></li><li><p>Body: null</p></li><li><p>Name: Bark</p></li><li><p>URL:/push</p></li><li><p>Request method: POST</p></li><li><p>Request type: FORM</p></li><li><p>Body: <code>{"title": "#SERVER.NAME#","device_key":"xxxxxxxxx","body":"#NEZHA#","icon":" https://xxxxxxxx/nz.png "}</code></p></li></ul></li><li><p><strong>Telegram Example, contributed by <a href="https://github.com/haitau" target="_blank" rel="noopener noreferrer">@haitau</a></strong></p><ul><li>Name\uFF1ATelegram Robot message notification</li><li>URL\uFF1A<a href="https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#" target="_blank" rel="noopener noreferrer">https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#</a></li><li>Request method: GET</li><li>Request type: default</li><li>Body: null</li><li>Notes for this method\uFF1AThe XXXXXX in botXXXXXX is the token provided when you follow the official @Botfather in Telegram and enter /newbot to create a new bot. (In the line after <em>Use this token to access the HTTP API</em>). The 'bot' are essential. After creating a bot, you need to talk to the BOT in Telegram (send a random message) before you can send a message by using API. YYYYYY is Telegram user's ID, you can get it by talking to the bot @userinfobot.</li></ul></li><li><p><strong>Email notification example - Outlook</strong></p><ul><li>Name: MS Mail Notification</li><li>URL\uFF1A<a href="https://graph.microsoft.com/v1.0/me/microsoft.graph.sendMail" target="_blank" rel="noopener noreferrer">https://graph.microsoft.com/v1.0/me/microsoft.graph.sendMail</a></li><li>Request method: POST</li><li>Request type: JSON</li><li>Header: <code>{"Content-type":"application/json", "Authorization":"Bearer {Token}"}</code></li><li>Body:</li></ul><div class="language-json"><pre><code> <span class="token punctuation">{</span>
|
||||
import{_ as t,c as o,o as e,a as n}from"./app.38e99b9a.js";const f='{"title":"Flexible notification methods","description":"","frontmatter":{},"headers":[{"level":2,"title":"Flexible notification methods","slug":"flexible-notification-methods"},{"level":2,"title":"Description of notification rules","slug":"description-of-notification-rules"},{"level":3,"title":"Basic Rules","slug":"basic-rules"},{"level":3,"title":"Special: Any-cycle transfer notification","slug":"special-any-cycle-transfer-notification"},{"level":2,"title":"Description of mode of triggering notification","slug":"description-of-mode-of-triggering-notification"},{"level":2,"title":"Set the task to be executed when notification","slug":"set-the-task-to-be-executed-when-notification"}],"relativePath":"en_US/guide/notifications.md","lastUpdated":1682077347000}',a={},s=n(`<p>Nezha Monitoring supports monitoring of server load, CPU, memory, hard disk, data transfer, monthly data transfer, number of processes, number of connections, and sends alarm notifications when one of these items reaches a user-set limit.<br><br><br></p><h2 id="flexible-notification-methods" tabindex="-1">Flexible notification methods <a class="header-anchor" href="#flexible-notification-methods" aria-hidden="true">#</a></h2><p><code>#NEZHA#</code> is the panel message placeholder, the panel will automatically replace the placeholder with the actual message when it triggers the notification</p><p>The content of Body is in <code>JSON</code> format\uFF1A<strong>When the request type is FORM</strong>\uFF0Cthe value is in the form of <code>key:value</code>\uFF0C<code>value</code> can contain placeholders that will be automatically replaced when notified. <strong>When the request type is JSON</strong> It will only do string substitution and submit to the <code>URL</code> directly.</p><p>Placeholders can also be placed inside the URL, and it will perform a simple string substitution when requested.</p><p>Refer to the example below, it is very flexible.</p><ul><li><p><strong>Bark Example</strong></p><ul><li><p>Name: Bark</p></li><li><p>URL: The first part is the key, followed by three matches/: key/: body or/: key/: title/: body or/: key/: category/: title/: body</p></li><li><p>Request method: GET</p></li><li><p>Request Type: Default</p></li><li><p>Body: null</p></li><li><p>Name: Bark</p></li><li><p>URL:/push</p></li><li><p>Request method: POST</p></li><li><p>Request type: FORM</p></li><li><p>Body: <code>{"title": "#SERVER.NAME#","device_key":"xxxxxxxxx","body":"#NEZHA#","icon":" https://xxxxxxxx/nz.png "}</code></p></li></ul></li><li><p><strong>Telegram Example, contributed by <a href="https://github.com/haitau" target="_blank" rel="noopener noreferrer">@haitau</a></strong></p><ul><li>Name\uFF1ATelegram Robot message notification</li><li>URL\uFF1A<a href="https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#" target="_blank" rel="noopener noreferrer">https://api.telegram.org/botXXXXXX/sendMessage?chat_id=YYYYYY&text=#NEZHA#</a></li><li>Request method: GET</li><li>Request type: default</li><li>Body: null</li><li>Notes for this method\uFF1AThe XXXXXX in botXXXXXX is the token provided when you follow the official @Botfather in Telegram and enter /newbot to create a new bot. (In the line after <em>Use this token to access the HTTP API</em>). The 'bot' are essential. After creating a bot, you need to talk to the BOT in Telegram (send a random message) before you can send a message by using API. YYYYYY is Telegram user's ID, you can get it by talking to the bot @userinfobot.</li></ul></li><li><p><strong>Email notification example - Outlook</strong></p><ul><li>Name: MS Mail Notification</li><li>URL\uFF1A<a href="https://graph.microsoft.com/v1.0/me/microsoft.graph.sendMail" target="_blank" rel="noopener noreferrer">https://graph.microsoft.com/v1.0/me/microsoft.graph.sendMail</a></li><li>Request method: POST</li><li>Request type: JSON</li><li>Header: <code>{"Content-type":"application/json", "Authorization":"Bearer {Token}"}</code></li><li>Body:</li></ul><div class="language-json"><pre><code> <span class="token punctuation">{</span>
|
||||
<span class="token property">"message"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
<span class="token property">"subject"</span><span class="token operator">:</span> <span class="token string">"Server Status Notification"</span><span class="token punctuation">,</span>
|
||||
<span class="token property">"body"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as t,c as o,o as e,a as n}from"./app.3817bf4e.js";const f='{"title":"Flexible notification methods","description":"","frontmatter":{},"headers":[{"level":2,"title":"Flexible notification methods","slug":"flexible-notification-methods"},{"level":2,"title":"Description of notification rules","slug":"description-of-notification-rules"},{"level":3,"title":"Basic Rules","slug":"basic-rules"},{"level":3,"title":"Special: Any-cycle transfer notification","slug":"special-any-cycle-transfer-notification"},{"level":2,"title":"Description of mode of triggering notification","slug":"description-of-mode-of-triggering-notification"},{"level":2,"title":"Set the task to be executed when notification","slug":"set-the-task-to-be-executed-when-notification"}],"relativePath":"en_US/guide/notifications.md","lastUpdated":1682076617000}',a={},s=n("",27),i=[s];function r(p,u,l,c,d,q){return e(),o("div",null,i)}var g=t(a,[["render",r]]);export{f as __pageData,g as default};
|
||||
import{_ as t,c as o,o as e,a as n}from"./app.38e99b9a.js";const f='{"title":"Flexible notification methods","description":"","frontmatter":{},"headers":[{"level":2,"title":"Flexible notification methods","slug":"flexible-notification-methods"},{"level":2,"title":"Description of notification rules","slug":"description-of-notification-rules"},{"level":3,"title":"Basic Rules","slug":"basic-rules"},{"level":3,"title":"Special: Any-cycle transfer notification","slug":"special-any-cycle-transfer-notification"},{"level":2,"title":"Description of mode of triggering notification","slug":"description-of-mode-of-triggering-notification"},{"level":2,"title":"Set the task to be executed when notification","slug":"set-the-task-to-be-executed-when-notification"}],"relativePath":"en_US/guide/notifications.md","lastUpdated":1682077347000}',a={},s=n("",27),i=[s];function r(p,u,l,c,d,q){return e(),o("div",null,i)}var g=t(a,[["render",r]]);export{f as __pageData,g as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a as n}from"./app.3817bf4e.js";const m='{"title":"Let the Agent start/on-line, and the self-test process of the problem","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md","lastUpdated":1682076617000}',r={},a=n('<h4 id="let-the-agent-start-on-line-and-the-self-test-process-of-the-problem" tabindex="-1">Let the Agent start/on-line, and the self-test process of the problem <a class="header-anchor" href="#let-the-agent-start-on-line-and-the-self-test-process-of-the-problem" aria-hidden="true">#</a></h4><ol><li>Run <code>//opt/nezha/agent/nezha-agent -s IP/Domin(Panel IP or Domain not connected to CDN):port(Panel RPC port) -p secret(Agent Secret) -d</code> Check the logs to see if the timeout is due to a DNS problem or poor network</li><li><code>nc -v domain/IP port(Panel RPC port)</code> or <code>telnet domain/IP port(Panel RPC port)</code> to check if it' s a network problem, check the inbound and outbound firewall between the local machine and the panel server, if you can' t determine the problem you can check it with the port checking tool provided by <a href="https://port.ping.pe/" target="_blank" rel="noopener noreferrer">https://port.ping.pe/</a></li><li>If the above steps work and the Agent is online, please try to turn off SELinux on the panel server. <a href="https://www.google.com/search?q=How+to+disable+SELinux" target="_blank" rel="noopener noreferrer">How to close SELinux\uFF1F</a></li></ol>',2),s=[a];function l(i,c,h,p,d,_){return o(),t("div",null,s)}var u=e(r,[["render",l]]);export{m as __pageData,u as default};
|
||||
import{_ as e,c as t,o,a as n}from"./app.38e99b9a.js";const m='{"title":"Let the Agent start/on-line, and the self-test process of the problem","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md","lastUpdated":1682077347000}',r={},a=n('<h4 id="let-the-agent-start-on-line-and-the-self-test-process-of-the-problem" tabindex="-1">Let the Agent start/on-line, and the self-test process of the problem <a class="header-anchor" href="#let-the-agent-start-on-line-and-the-self-test-process-of-the-problem" aria-hidden="true">#</a></h4><ol><li>Run <code>//opt/nezha/agent/nezha-agent -s IP/Domin(Panel IP or Domain not connected to CDN):port(Panel RPC port) -p secret(Agent Secret) -d</code> Check the logs to see if the timeout is due to a DNS problem or poor network</li><li><code>nc -v domain/IP port(Panel RPC port)</code> or <code>telnet domain/IP port(Panel RPC port)</code> to check if it' s a network problem, check the inbound and outbound firewall between the local machine and the panel server, if you can' t determine the problem you can check it with the port checking tool provided by <a href="https://port.ping.pe/" target="_blank" rel="noopener noreferrer">https://port.ping.pe/</a></li><li>If the above steps work and the Agent is online, please try to turn off SELinux on the panel server. <a href="https://www.google.com/search?q=How+to+disable+SELinux" target="_blank" rel="noopener noreferrer">How to close SELinux\uFF1F</a></li></ol>',2),s=[a];function l(i,c,h,p,d,_){return o(),t("div",null,s)}var u=e(r,[["render",l]]);export{m as __pageData,u as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a as n}from"./app.3817bf4e.js";const m='{"title":"Let the Agent start/on-line, and the self-test process of the problem","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md","lastUpdated":1682076617000}',r={},a=n("",2),s=[a];function l(i,c,h,p,d,_){return o(),t("div",null,s)}var u=e(r,[["render",l]]);export{m as __pageData,u as default};
|
||||
import{_ as e,c as t,o,a as n}from"./app.38e99b9a.js";const m='{"title":"Let the Agent start/on-line, and the self-test process of the problem","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q2.md","lastUpdated":1682077347000}',r={},a=n("",2),s=[a];function l(i,c,h,p,d,_){return o(),t("div",null,s)}var u=e(r,[["render",l]]);export{m as __pageData,u as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as n,c as e,o as a,a as s}from"./app.3817bf4e.js";const g='{"title":"Reverse Proxy gRPC Port (support Cloudflare CDN)","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md","lastUpdated":1682076617000}',t={},o=s(`<h4 id="reverse-proxy-grpc-port-support-cloudflare-cdn" tabindex="-1">Reverse Proxy gRPC Port (support Cloudflare CDN) <a class="header-anchor" href="#reverse-proxy-grpc-port-support-cloudflare-cdn" aria-hidden="true">#</a></h4><p>Use Nginx or Caddy to reverse proxy gRPC</p><ul><li>Nginx configuration files</li></ul><div class="language-nginx"><pre><code><span class="token directive"><span class="token keyword">server</span></span> <span class="token punctuation">{</span>
|
||||
import{_ as n,c as e,o as a,a as s}from"./app.38e99b9a.js";const g='{"title":"Reverse Proxy gRPC Port (support Cloudflare CDN)","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md","lastUpdated":1682077347000}',t={},o=s(`<h4 id="reverse-proxy-grpc-port-support-cloudflare-cdn" tabindex="-1">Reverse Proxy gRPC Port (support Cloudflare CDN) <a class="header-anchor" href="#reverse-proxy-grpc-port-support-cloudflare-cdn" aria-hidden="true">#</a></h4><p>Use Nginx or Caddy to reverse proxy gRPC</p><ul><li>Nginx configuration files</li></ul><div class="language-nginx"><pre><code><span class="token directive"><span class="token keyword">server</span></span> <span class="token punctuation">{</span>
|
||||
<span class="token directive"><span class="token keyword">listen</span> <span class="token number">443</span> ssl http2</span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">listen</span> [::]:443 ssl http2</span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">server_name</span> data.example.com</span><span class="token punctuation">;</span> <span class="token comment"># The domain name where the Agent connects to Dashboard</span>
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as n,c as e,o as a,a as s}from"./app.3817bf4e.js";const g='{"title":"Reverse Proxy gRPC Port (support Cloudflare CDN)","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md","lastUpdated":1682076617000}',t={},o=s("",13),p=[o];function c(r,i,l,d,u,k){return a(),e("div",null,p)}var m=n(t,[["render",c]]);export{g as __pageData,m as default};
|
||||
import{_ as n,c as e,o as a,a as s}from"./app.38e99b9a.js";const g='{"title":"Reverse Proxy gRPC Port (support Cloudflare CDN)","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q3.md","lastUpdated":1682077347000}',t={},o=s("",13),p=[o];function c(r,i,l,d,u,k){return a(),e("div",null,p)}var m=n(t,[["render",c]]);export{g as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,c as a,o,b as e,d as n}from"./app.3817bf4e.js";const v='{"title":"Real-time channel disconnection/online terminal connection failure","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md","lastUpdated":1682076617000}',i={},r=e("h4",{id:"real-time-channel-disconnection-online-terminal-connection-failure",tabindex:"-1"},[n("Real-time channel disconnection/online terminal connection failure "),e("a",{class:"header-anchor",href:"#real-time-channel-disconnection-online-terminal-connection-failure","aria-hidden":"true"},"#")],-1),c=e("ul",null,[e("li",null,"If you are using a CDN, please make sure that the CDN provider provides WebSocket service and that WebSocket is enabled"),e("li",null,[n("Confirm that you are using a reverse proxy requires special configuration of the WebSocket for the "),e("code",null,"/ws"),n(" and "),e("code",null,"/terminal"),n(" paths, you can "),e("a",{href:"/en_US/guide/dashboard.html#configure-reverse-proxy"},"click here"),n(" to see the reverse proxy configuration")])],-1),l=[r,c];function s(d,u,h,f,p,_){return o(),a("div",null,l)}var g=t(i,[["render",s]]);export{v as __pageData,g as default};
|
||||
import{_ as t,c as a,o,b as e,d as n}from"./app.38e99b9a.js";const v='{"title":"Real-time channel disconnection/online terminal connection failure","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md","lastUpdated":1682077347000}',i={},r=e("h4",{id:"real-time-channel-disconnection-online-terminal-connection-failure",tabindex:"-1"},[n("Real-time channel disconnection/online terminal connection failure "),e("a",{class:"header-anchor",href:"#real-time-channel-disconnection-online-terminal-connection-failure","aria-hidden":"true"},"#")],-1),c=e("ul",null,[e("li",null,"If you are using a CDN, please make sure that the CDN provider provides WebSocket service and that WebSocket is enabled"),e("li",null,[n("Confirm that you are using a reverse proxy requires special configuration of the WebSocket for the "),e("code",null,"/ws"),n(" and "),e("code",null,"/terminal"),n(" paths, you can "),e("a",{href:"/en_US/guide/dashboard.html#configure-reverse-proxy"},"click here"),n(" to see the reverse proxy configuration")])],-1),l=[r,c];function s(d,u,h,f,p,_){return o(),a("div",null,l)}var g=t(i,[["render",s]]);export{v as __pageData,g as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as t,c as a,o,b as e,d as n}from"./app.3817bf4e.js";const v='{"title":"Real-time channel disconnection/online terminal connection failure","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md","lastUpdated":1682076617000}',i={},r=e("h4",{id:"real-time-channel-disconnection-online-terminal-connection-failure",tabindex:"-1"},[n("Real-time channel disconnection/online terminal connection failure "),e("a",{class:"header-anchor",href:"#real-time-channel-disconnection-online-terminal-connection-failure","aria-hidden":"true"},"#")],-1),c=e("ul",null,[e("li",null,"If you are using a CDN, please make sure that the CDN provider provides WebSocket service and that WebSocket is enabled"),e("li",null,[n("Confirm that you are using a reverse proxy requires special configuration of the WebSocket for the "),e("code",null,"/ws"),n(" and "),e("code",null,"/terminal"),n(" paths, you can "),e("a",{href:"/en_US/guide/dashboard.html#configure-reverse-proxy"},"click here"),n(" to see the reverse proxy configuration")])],-1),l=[r,c];function s(d,u,h,f,p,_){return o(),a("div",null,l)}var g=t(i,[["render",s]]);export{v as __pageData,g as default};
|
||||
import{_ as t,c as a,o,b as e,d as n}from"./app.38e99b9a.js";const v='{"title":"Real-time channel disconnection/online terminal connection failure","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q4.md","lastUpdated":1682077347000}',i={},r=e("h4",{id:"real-time-channel-disconnection-online-terminal-connection-failure",tabindex:"-1"},[n("Real-time channel disconnection/online terminal connection failure "),e("a",{class:"header-anchor",href:"#real-time-channel-disconnection-online-terminal-connection-failure","aria-hidden":"true"},"#")],-1),c=e("ul",null,[e("li",null,"If you are using a CDN, please make sure that the CDN provider provides WebSocket service and that WebSocket is enabled"),e("li",null,[n("Confirm that you are using a reverse proxy requires special configuration of the WebSocket for the "),e("code",null,"/ws"),n(" and "),e("code",null,"/terminal"),n(" paths, you can "),e("a",{href:"/en_US/guide/dashboard.html#configure-reverse-proxy"},"click here"),n(" to see the reverse proxy configuration")])],-1),l=[r,c];function s(d,u,h,f,p,_){return o(),a("div",null,l)}var g=t(i,[["render",s]]);export{v as __pageData,g as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,c as r,o,b as e,d as t}from"./app.3817bf4e.js";const f='{"title":"How do I migrate my data to the new server and restore my backups?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md","lastUpdated":1682076617000}',s={},n=e("h4",{id:"how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups",tabindex:"-1"},[t("How do I migrate my data to the new server and restore my backups? "),e("a",{class:"header-anchor",href:"#how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups","aria-hidden":"true"},"#")],-1),d=e("ol",null,[e("li",null,[t("First use the one-click script and select "),e("code",null,"Stop Panel")]),e("li",null,[t("Compress the "),e("code",null,"/opt/nezha"),t(" folder to the same path as the new server")]),e("li",null,[t("Run the one-click script in the new server, select "),e("code",null,"Launch Panel")])],-1),c=[n,d];function l(i,h,p,u,m,_){return o(),r("div",null,c)}var v=a(s,[["render",l]]);export{f as __pageData,v as default};
|
||||
import{_ as a,c as r,o,b as e,d as t}from"./app.38e99b9a.js";const f='{"title":"How do I migrate my data to the new server and restore my backups?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md","lastUpdated":1682077347000}',s={},n=e("h4",{id:"how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups",tabindex:"-1"},[t("How do I migrate my data to the new server and restore my backups? "),e("a",{class:"header-anchor",href:"#how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups","aria-hidden":"true"},"#")],-1),d=e("ol",null,[e("li",null,[t("First use the one-click script and select "),e("code",null,"Stop Panel")]),e("li",null,[t("Compress the "),e("code",null,"/opt/nezha"),t(" folder to the same path as the new server")]),e("li",null,[t("Run the one-click script in the new server, select "),e("code",null,"Launch Panel")])],-1),c=[n,d];function l(i,h,p,u,m,_){return o(),r("div",null,c)}var v=a(s,[["render",l]]);export{f as __pageData,v as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as a,c as r,o,b as e,d as t}from"./app.3817bf4e.js";const f='{"title":"How do I migrate my data to the new server and restore my backups?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md","lastUpdated":1682076617000}',s={},n=e("h4",{id:"how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups",tabindex:"-1"},[t("How do I migrate my data to the new server and restore my backups? "),e("a",{class:"header-anchor",href:"#how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups","aria-hidden":"true"},"#")],-1),d=e("ol",null,[e("li",null,[t("First use the one-click script and select "),e("code",null,"Stop Panel")]),e("li",null,[t("Compress the "),e("code",null,"/opt/nezha"),t(" folder to the same path as the new server")]),e("li",null,[t("Run the one-click script in the new server, select "),e("code",null,"Launch Panel")])],-1),c=[n,d];function l(i,h,p,u,m,_){return o(),r("div",null,c)}var v=a(s,[["render",l]]);export{f as __pageData,v as default};
|
||||
import{_ as a,c as r,o,b as e,d as t}from"./app.38e99b9a.js";const f='{"title":"How do I migrate my data to the new server and restore my backups?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q5.md","lastUpdated":1682077347000}',s={},n=e("h4",{id:"how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups",tabindex:"-1"},[t("How do I migrate my data to the new server and restore my backups? "),e("a",{class:"header-anchor",href:"#how-do-i-migrate-my-data-to-the-new-server-and-restore-my-backups","aria-hidden":"true"},"#")],-1),d=e("ol",null,[e("li",null,[t("First use the one-click script and select "),e("code",null,"Stop Panel")]),e("li",null,[t("Compress the "),e("code",null,"/opt/nezha"),t(" folder to the same path as the new server")]),e("li",null,[t("Run the one-click script in the new server, select "),e("code",null,"Launch Panel")])],-1),c=[n,d];function l(i,h,p,u,m,_){return o(),r("div",null,c)}var v=a(s,[["render",l]]);export{f as __pageData,v as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,c as e,o as s,a}from"./app.3817bf4e.js";const m='{"title":"How to set up a monthly reset of transfer statistics?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q6.md","lastUpdated":1682076617000}',o={},i=a('<h4 id="how-to-set-up-a-monthly-reset-of-transfer-statistics" tabindex="-1">How to set up a monthly reset of transfer statistics? <a class="header-anchor" href="#how-to-set-up-a-monthly-reset-of-transfer-statistics" aria-hidden="true">#</a></h4><p>In the home page, the traffic statistics will be reset when the server is restarted.<br> If you want to set the traffic statistics to be reset once a month, you can do it like this:</p><ol><li>Go to the <code> Notification</code> page of the admin panel</li><li>Refer to <a href="/en_US/guide/notifications.html#special-any-cycle-transfer-notification">this document</a> to create a monthly transfer statistics notification</li><li>Return to the home page and you can see the monthly transfer statistics in the <code>Service</code> page, where the statistics will not be reset when the server is restarted</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>This method can be set to any period, including and not limited to hourly/daily/weekly/monthly/yearly reset transfer statistics, very flexible!</p></div>',4),r=[i];function n(c,l,h,d,f,p){return s(),e("div",null,r)}var u=t(o,[["render",n]]);export{m as __pageData,u as default};
|
||||
import{_ as t,c as e,o as s,a}from"./app.38e99b9a.js";const m='{"title":"How to set up a monthly reset of transfer statistics?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q6.md","lastUpdated":1682077347000}',o={},i=a('<h4 id="how-to-set-up-a-monthly-reset-of-transfer-statistics" tabindex="-1">How to set up a monthly reset of transfer statistics? <a class="header-anchor" href="#how-to-set-up-a-monthly-reset-of-transfer-statistics" aria-hidden="true">#</a></h4><p>In the home page, the traffic statistics will be reset when the server is restarted.<br> If you want to set the traffic statistics to be reset once a month, you can do it like this:</p><ol><li>Go to the <code> Notification</code> page of the admin panel</li><li>Refer to <a href="/en_US/guide/notifications.html#special-any-cycle-transfer-notification">this document</a> to create a monthly transfer statistics notification</li><li>Return to the home page and you can see the monthly transfer statistics in the <code>Service</code> page, where the statistics will not be reset when the server is restarted</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>This method can be set to any period, including and not limited to hourly/daily/weekly/monthly/yearly reset transfer statistics, very flexible!</p></div>',4),r=[i];function n(c,l,h,d,f,p){return s(),e("div",null,r)}var u=t(o,[["render",n]]);export{m as __pageData,u as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as t,c as e,o as s,a}from"./app.3817bf4e.js";const m='{"title":"How to set up a monthly reset of transfer statistics?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q6.md","lastUpdated":1682076617000}',o={},i=a("",4),r=[i];function n(c,l,h,d,f,p){return s(),e("div",null,r)}var u=t(o,[["render",n]]);export{m as __pageData,u as default};
|
||||
import{_ as t,c as e,o as s,a}from"./app.38e99b9a.js";const m='{"title":"How to set up a monthly reset of transfer statistics?","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/q6.md","lastUpdated":1682077347000}',o={},i=a("",4),r=[i];function n(c,l,h,d,f,p){return s(),e("div",null,r)}var u=t(o,[["render",n]]);export{m as __pageData,u as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a}from"./app.3817bf4e.js";const p='{"title":"Customize Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"Customize Agent","slug":"customize-agent"}],"relativePath":"en_US/guide/q7.md","lastUpdated":1682076617000}',i={},n=a('<h2 id="customize-agent" tabindex="-1">Customize Agent <a class="header-anchor" href="#customize-agent" aria-hidden="true">#</a></h2><h4 id="customize-the-nic-and-hard-drive-partitions-to-be-monitored" tabindex="-1">Customize the NIC and hard drive partitions to be monitored <a class="header-anchor" href="#customize-the-nic-and-hard-drive-partitions-to-be-monitored" aria-hidden="true">#</a></h4><ul><li>Run <code>/opt/nezha/agent/nezha-agent --edit-agent-config</code> to select a custom NIC and partition, and then restart Agent</li></ul><h4 id="other-flags" tabindex="-1">Other Flags <a class="header-anchor" href="#other-flags" aria-hidden="true">#</a></h4><p>Run <code>./nezha-agent --help</code> to view supported flags\uFF0Cif you are already using the one-click script, you can edit <code>/etc/systemd/system/nezha-agent.service</code>\uFF0Cat the end of this line <code>ExecStart=</code> add:</p><ul><li><code>--report-delay</code> System information reporting interval, default is 1 second, can be set to 3 to reduce the system resource usage on the agent side (configuration range 1-4)</li><li><code>--skip-conn</code> Not monitoring the number of connections, if it is a server with a large number of connections, the CPU usage will be high. It is recommended to set this to reduce CPU usage</li><li><code>--skip-procs</code> Disable monitoring the number of processes can also reduce CPU and memory usage</li><li><code>--disable-auto-update</code> Disable <strong>Automatic Update</strong> Agent (security feature)</li><li><code>--disable-force-update</code> Disable <strong>Forced Update</strong> Agent (security feature)</li><li><code>--disable-command-execute</code> Disable execution of scheduled tasks, disallow WebShell (security feature)</li><li><code>--tls</code> Enable SSL/TLS encryption (If you are using nginx to reverse proxy Agent\xB4s grpc connections, and if nginx has SSL/TLS enabled, you need to enable this configuration)</li></ul>',6),s=[n];function r(d,c,l,u,h,g){return o(),t("div",null,s)}var f=e(i,[["render",r]]);export{p as __pageData,f as default};
|
||||
import{_ as e,c as t,o,a}from"./app.38e99b9a.js";const p='{"title":"Customize Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"Customize Agent","slug":"customize-agent"}],"relativePath":"en_US/guide/q7.md","lastUpdated":1682077347000}',i={},n=a('<h2 id="customize-agent" tabindex="-1">Customize Agent <a class="header-anchor" href="#customize-agent" aria-hidden="true">#</a></h2><h4 id="customize-the-nic-and-hard-drive-partitions-to-be-monitored" tabindex="-1">Customize the NIC and hard drive partitions to be monitored <a class="header-anchor" href="#customize-the-nic-and-hard-drive-partitions-to-be-monitored" aria-hidden="true">#</a></h4><ul><li>Run <code>/opt/nezha/agent/nezha-agent --edit-agent-config</code> to select a custom NIC and partition, and then restart Agent</li></ul><h4 id="other-flags" tabindex="-1">Other Flags <a class="header-anchor" href="#other-flags" aria-hidden="true">#</a></h4><p>Run <code>./nezha-agent --help</code> to view supported flags\uFF0Cif you are already using the one-click script, you can edit <code>/etc/systemd/system/nezha-agent.service</code>\uFF0Cat the end of this line <code>ExecStart=</code> add:</p><ul><li><code>--report-delay</code> System information reporting interval, default is 1 second, can be set to 3 to reduce the system resource usage on the agent side (configuration range 1-4)</li><li><code>--skip-conn</code> Not monitoring the number of connections, if it is a server with a large number of connections, the CPU usage will be high. It is recommended to set this to reduce CPU usage</li><li><code>--skip-procs</code> Disable monitoring the number of processes can also reduce CPU and memory usage</li><li><code>--disable-auto-update</code> Disable <strong>Automatic Update</strong> Agent (security feature)</li><li><code>--disable-force-update</code> Disable <strong>Forced Update</strong> Agent (security feature)</li><li><code>--disable-command-execute</code> Disable execution of scheduled tasks, disallow WebShell (security feature)</li><li><code>--tls</code> Enable SSL/TLS encryption (If you are using nginx to reverse proxy Agent\xB4s grpc connections, and if nginx has SSL/TLS enabled, you need to enable this configuration)</li></ul>',6),s=[n];function r(d,c,l,u,h,g){return o(),t("div",null,s)}var f=e(i,[["render",r]]);export{p as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a}from"./app.3817bf4e.js";const p='{"title":"Customize Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"Customize Agent","slug":"customize-agent"}],"relativePath":"en_US/guide/q7.md","lastUpdated":1682076617000}',i={},n=a("",6),s=[n];function r(d,c,l,u,h,g){return o(),t("div",null,s)}var f=e(i,[["render",r]]);export{p as __pageData,f as default};
|
||||
import{_ as e,c as t,o,a}from"./app.38e99b9a.js";const p='{"title":"Customize Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"Customize Agent","slug":"customize-agent"}],"relativePath":"en_US/guide/q7.md","lastUpdated":1682077347000}',i={},n=a("",6),s=[n];function r(d,c,l,u,h,g){return o(),t("div",null,s)}var f=e(i,[["render",r]]);export{p as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.3817bf4e.js";const p='{"title":"Servers","description":"","frontmatter":{},"headers":[{"level":2,"title":"Introduction","slug":"introduction"},{"level":2,"title":"Add a server","slug":"add-a-server"},{"level":2,"title":"Install Agent","slug":"install-agent"},{"level":2,"title":"Forced Updates","slug":"forced-updates"},{"level":2,"title":"Data List","slug":"data-list"},{"level":2,"title":"Webshell","slug":"webshell"}],"relativePath":"en_US/guide/servers.md","lastUpdated":1682076617000}',r={},i=n('<h1 id="servers" tabindex="-1">Servers <a class="header-anchor" href="#servers" aria-hidden="true">#</a></h1><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-hidden="true">#</a></h2><p>The Servers area is responsible for managing the Agent, the most basic area in Nezha Monitoring, and the basis for other functions.</p><h2 id="add-a-server" tabindex="-1">Add a server <a class="header-anchor" href="#add-a-server" aria-hidden="true">#</a></h2><p>The first step is to add a servers, which can be customized with names, groups, display index and notes.<br> Servers in the same group will be displayed in groups in supported themes, and notes will only be displayed in the admin panel, no need to worry about leaking information.</p><h2 id="install-agent" tabindex="-1">Install Agent <a class="header-anchor" href="#install-agent" aria-hidden="true">#</a></h2><p>Please refer to the previous article: <a href="/en_US/guide/agent.html">Install Agent</a><br> We recommend using one-click installation, that is, <strong>after configuring the communication domain name</strong>, click the button on the column <strong>one-click installation</strong> and copy it to the monitored servers for installation.</p><h2 id="forced-updates" tabindex="-1">Forced Updates <a class="header-anchor" href="#forced-updates" aria-hidden="true">#</a></h2><p>The flags related to the update of the Agent are: <code>--disable-auto-update</code> and <code>--disable-force-update</code>. Please refer to <a href="/en_US/guide/agent.html#customize-agent">Customize Agent</a><br> By default, the Agent is updated automatically, but when the user turns off automatic updates, the specified servers can also be selected for forced updates.<br> This feature does not take effect when <code>-disable-force-update</code> is turned on.</p><h2 id="data-list" tabindex="-1">Data List <a class="header-anchor" href="#data-list" aria-hidden="true">#</a></h2><ul><li>Version number: Record the current version of Agent</li><li>Secret: Used when configuring the Agent</li><li>One-Click Installation: A more convenient way to install Agent</li><li>Manage: WebShell on the left, Edit in the middle, Delete on the right</li></ul><h2 id="webshell" tabindex="-1">Webshell <a class="header-anchor" href="#webshell" aria-hidden="true">#</a></h2><p>This feature does not take effect when <code>disable-command-execute</code> is turned on.<br> Both Linux and Windows are available and can be pasted using Ctrl+Shift+V.<br> For connection failure, please refer to <a href="/en_US/guide/q4.html">Real-time channel disconnection/online terminal connection failure</a>.<br> Note that in theWebShell function, the Agent also connects to the <strong>Domain names for public access</strong> via WebSocket, not via grpc.</p>',13),s=[i];function o(d,l,h,c,u,f){return a(),t("div",null,s)}var b=e(r,[["render",o]]);export{p as __pageData,b as default};
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.38e99b9a.js";const p='{"title":"Servers","description":"","frontmatter":{},"headers":[{"level":2,"title":"Introduction","slug":"introduction"},{"level":2,"title":"Add a server","slug":"add-a-server"},{"level":2,"title":"Install Agent","slug":"install-agent"},{"level":2,"title":"Forced Updates","slug":"forced-updates"},{"level":2,"title":"Data List","slug":"data-list"},{"level":2,"title":"Webshell","slug":"webshell"}],"relativePath":"en_US/guide/servers.md","lastUpdated":1682077347000}',r={},i=n('<h1 id="servers" tabindex="-1">Servers <a class="header-anchor" href="#servers" aria-hidden="true">#</a></h1><h2 id="introduction" tabindex="-1">Introduction <a class="header-anchor" href="#introduction" aria-hidden="true">#</a></h2><p>The Servers area is responsible for managing the Agent, the most basic area in Nezha Monitoring, and the basis for other functions.</p><h2 id="add-a-server" tabindex="-1">Add a server <a class="header-anchor" href="#add-a-server" aria-hidden="true">#</a></h2><p>The first step is to add a servers, which can be customized with names, groups, display index and notes.<br> Servers in the same group will be displayed in groups in supported themes, and notes will only be displayed in the admin panel, no need to worry about leaking information.</p><h2 id="install-agent" tabindex="-1">Install Agent <a class="header-anchor" href="#install-agent" aria-hidden="true">#</a></h2><p>Please refer to the previous article: <a href="/en_US/guide/agent.html">Install Agent</a><br> We recommend using one-click installation, that is, <strong>after configuring the communication domain name</strong>, click the button on the column <strong>one-click installation</strong> and copy it to the monitored servers for installation.</p><h2 id="forced-updates" tabindex="-1">Forced Updates <a class="header-anchor" href="#forced-updates" aria-hidden="true">#</a></h2><p>The flags related to the update of the Agent are: <code>--disable-auto-update</code> and <code>--disable-force-update</code>. Please refer to <a href="/en_US/guide/agent.html#customize-agent">Customize Agent</a><br> By default, the Agent is updated automatically, but when the user turns off automatic updates, the specified servers can also be selected for forced updates.<br> This feature does not take effect when <code>-disable-force-update</code> is turned on.</p><h2 id="data-list" tabindex="-1">Data List <a class="header-anchor" href="#data-list" aria-hidden="true">#</a></h2><ul><li>Version number: Record the current version of Agent</li><li>Secret: Used when configuring the Agent</li><li>One-Click Installation: A more convenient way to install Agent</li><li>Manage: WebShell on the left, Edit in the middle, Delete on the right</li></ul><h2 id="webshell" tabindex="-1">Webshell <a class="header-anchor" href="#webshell" aria-hidden="true">#</a></h2><p>This feature does not take effect when <code>disable-command-execute</code> is turned on.<br> Both Linux and Windows are available and can be pasted using Ctrl+Shift+V.<br> For connection failure, please refer to <a href="/en_US/guide/q4.html">Real-time channel disconnection/online terminal connection failure</a>.<br> Note that in theWebShell function, the Agent also connects to the <strong>Domain names for public access</strong> via WebSocket, not via grpc.</p>',13),s=[i];function o(d,l,h,c,u,f){return a(),t("div",null,s)}var b=e(r,[["render",o]]);export{p as __pageData,b as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.3817bf4e.js";const p='{"title":"Servers","description":"","frontmatter":{},"headers":[{"level":2,"title":"Introduction","slug":"introduction"},{"level":2,"title":"Add a server","slug":"add-a-server"},{"level":2,"title":"Install Agent","slug":"install-agent"},{"level":2,"title":"Forced Updates","slug":"forced-updates"},{"level":2,"title":"Data List","slug":"data-list"},{"level":2,"title":"Webshell","slug":"webshell"}],"relativePath":"en_US/guide/servers.md","lastUpdated":1682076617000}',r={},i=n("",13),s=[i];function o(d,l,h,c,u,f){return a(),t("div",null,s)}var b=e(r,[["render",o]]);export{p as __pageData,b as default};
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.38e99b9a.js";const p='{"title":"Servers","description":"","frontmatter":{},"headers":[{"level":2,"title":"Introduction","slug":"introduction"},{"level":2,"title":"Add a server","slug":"add-a-server"},{"level":2,"title":"Install Agent","slug":"install-agent"},{"level":2,"title":"Forced Updates","slug":"forced-updates"},{"level":2,"title":"Data List","slug":"data-list"},{"level":2,"title":"Webshell","slug":"webshell"}],"relativePath":"en_US/guide/servers.md","lastUpdated":1682077347000}',r={},i=n("",13),s=[i];function o(d,l,h,c,u,f){return a(),t("div",null,s)}var b=e(r,[["render",o]]);export{p as __pageData,b as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a as i}from"./app.3817bf4e.js";const m='{"title":"How to use","description":"","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"Notification of delay changes","slug":"notification-of-delay-changes"},{"level":2,"title":"Management Monitor","slug":"management-monitor"}],"relativePath":"en_US/guide/services.md","lastUpdated":1682076617000}',n={},a=i('<p><strong>Service area is a function setting area for setting up Agents to monitor external websites or servers</strong><br><strong>The monitoring results can be viewed on the "Services" page in the home page</strong><br></p><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><p>To add a new monitor, you can go to the "Services" page in the administration panel and click "Add Service Monitor".</p><p>To add a service monitor, you need to complete the following settings:</p><ul><li><p><code>Name</code> - Customize a name</p></li><li><p><code>Type</code> - Select a monitoring type. Nezha currently supports three monitoring types: "HTTP-GET", "ICMP-Ping" and "TCP-Ping".</p></li><li><p><code>Target</code> - Depending on the type you choose, the target is set in different ways</p></li></ul><blockquote><ul><li><code>HTTP-GET</code>: Selecting this type, you should enter a URL as the target, the URL should be added with <code>http://</code> or <code>https://</code> <strong>If your target URL is <code>https://</code>, it will also monitor the SSL certificate of that URL and trigger a notification when the SSL certificate expires or changes.</strong><br> For example: <a href="https://example.com" target="_blank" rel="noopener noreferrer">https://example.com</a></li></ul></blockquote><blockquote><ul><li><code>ICMP-Ping</code>: When selecting this type, you should enter a domain name or IP without a port number<br> For example: 1.1.1.1 or <a href="http://example.com" target="_blank" rel="noopener noreferrer">example.com</a></li></ul></blockquote><blockquote><ul><li><code>TCP-Ping</code>: When selecting this type, you should enter a domain name or IP and include the port number<br> For example: 1.1.1.1:80 or <a href="http://example.com:22" target="_blank" rel="noopener noreferrer">example.com:22</a></li></ul></blockquote><ul><li><p><code>Interval</code>\uFF1A Sets the time interval in seconds between each time Agent sends requests to the target</p></li><li><p><code>Coverage</code>\uFF1A Select a rule to determine which Agents to use to send requests to the target</p></li><li><p><code>Specific Servers</code>\uFF1A Use with coverage to select the Agent to be excluded from the rule</p></li><li><p><code>Notification Group</code>\uFF1A Select the notification method you have set up on the "Notification" page. <a href="/en_US/guide/notifications.html#flexible-notification-methods">Click here</a> for more information</p></li><li><p><code>Enable Failure Notification</code>\uFF1A Select whether to receive target failure notifications as needed, default is inactive</p></li></ul><p>After setting, click "Add" and you are done.<br> Wait for a moment to go to the "Services" page on the home page to view the monitoring results<br><br></p><h2 id="notification-of-delay-changes" tabindex="-1">Notification of delay changes <a class="header-anchor" href="#notification-of-delay-changes" aria-hidden="true">#</a></h2><p>Nezha Monitoring monitors and statistics the delay between the Agent and the target server, and sends notifications in case of significant changes<br> Use this feature to help you monitor your server's routes for changes</p><ul><li><code>Enable delay notifications</code>\uFF1AWhen enabled, notifications will be sent when the Agent to target server delay is higher than the <code>Max delay</code> or lower than the <code>Min delay</code><br><br></li></ul><h2 id="management-monitor" tabindex="-1">Management Monitor <a class="header-anchor" href="#management-monitor" aria-hidden="true">#</a></h2><p>To manage existing service monitoring, you can go to the "Services" page in the administration panel<br> Select a monitoring configuration and click the icon on the right to edit or delete it</p>',15),r=[a];function c(s,l,d,h,u,p){return o(),t("div",null,r)}var f=e(n,[["render",c]]);export{m as __pageData,f as default};
|
||||
import{_ as e,c as t,o,a as i}from"./app.38e99b9a.js";const m='{"title":"How to use","description":"","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"Notification of delay changes","slug":"notification-of-delay-changes"},{"level":2,"title":"Management Monitor","slug":"management-monitor"}],"relativePath":"en_US/guide/services.md","lastUpdated":1682077347000}',n={},a=i('<p><strong>Service area is a function setting area for setting up Agents to monitor external websites or servers</strong><br><strong>The monitoring results can be viewed on the "Services" page in the home page</strong><br></p><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><p>To add a new monitor, you can go to the "Services" page in the administration panel and click "Add Service Monitor".</p><p>To add a service monitor, you need to complete the following settings:</p><ul><li><p><code>Name</code> - Customize a name</p></li><li><p><code>Type</code> - Select a monitoring type. Nezha currently supports three monitoring types: "HTTP-GET", "ICMP-Ping" and "TCP-Ping".</p></li><li><p><code>Target</code> - Depending on the type you choose, the target is set in different ways</p></li></ul><blockquote><ul><li><code>HTTP-GET</code>: Selecting this type, you should enter a URL as the target, the URL should be added with <code>http://</code> or <code>https://</code> <strong>If your target URL is <code>https://</code>, it will also monitor the SSL certificate of that URL and trigger a notification when the SSL certificate expires or changes.</strong><br> For example: <a href="https://example.com" target="_blank" rel="noopener noreferrer">https://example.com</a></li></ul></blockquote><blockquote><ul><li><code>ICMP-Ping</code>: When selecting this type, you should enter a domain name or IP without a port number<br> For example: 1.1.1.1 or <a href="http://example.com" target="_blank" rel="noopener noreferrer">example.com</a></li></ul></blockquote><blockquote><ul><li><code>TCP-Ping</code>: When selecting this type, you should enter a domain name or IP and include the port number<br> For example: 1.1.1.1:80 or <a href="http://example.com:22" target="_blank" rel="noopener noreferrer">example.com:22</a></li></ul></blockquote><ul><li><p><code>Interval</code>\uFF1A Sets the time interval in seconds between each time Agent sends requests to the target</p></li><li><p><code>Coverage</code>\uFF1A Select a rule to determine which Agents to use to send requests to the target</p></li><li><p><code>Specific Servers</code>\uFF1A Use with coverage to select the Agent to be excluded from the rule</p></li><li><p><code>Notification Group</code>\uFF1A Select the notification method you have set up on the "Notification" page. <a href="/en_US/guide/notifications.html#flexible-notification-methods">Click here</a> for more information</p></li><li><p><code>Enable Failure Notification</code>\uFF1A Select whether to receive target failure notifications as needed, default is inactive</p></li></ul><p>After setting, click "Add" and you are done.<br> Wait for a moment to go to the "Services" page on the home page to view the monitoring results<br><br></p><h2 id="notification-of-delay-changes" tabindex="-1">Notification of delay changes <a class="header-anchor" href="#notification-of-delay-changes" aria-hidden="true">#</a></h2><p>Nezha Monitoring monitors and statistics the delay between the Agent and the target server, and sends notifications in case of significant changes<br> Use this feature to help you monitor your server's routes for changes</p><ul><li><code>Enable delay notifications</code>\uFF1AWhen enabled, notifications will be sent when the Agent to target server delay is higher than the <code>Max delay</code> or lower than the <code>Min delay</code><br><br></li></ul><h2 id="management-monitor" tabindex="-1">Management Monitor <a class="header-anchor" href="#management-monitor" aria-hidden="true">#</a></h2><p>To manage existing service monitoring, you can go to the "Services" page in the administration panel<br> Select a monitoring configuration and click the icon on the right to edit or delete it</p>',15),r=[a];function c(s,l,d,h,u,p){return o(),t("div",null,r)}var f=e(n,[["render",c]]);export{m as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a as i}from"./app.3817bf4e.js";const m='{"title":"How to use","description":"","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"Notification of delay changes","slug":"notification-of-delay-changes"},{"level":2,"title":"Management Monitor","slug":"management-monitor"}],"relativePath":"en_US/guide/services.md","lastUpdated":1682076617000}',n={},a=i("",15),r=[a];function c(s,l,d,h,u,p){return o(),t("div",null,r)}var f=e(n,[["render",c]]);export{m as __pageData,f as default};
|
||||
import{_ as e,c as t,o,a as i}from"./app.38e99b9a.js";const m='{"title":"How to use","description":"","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"Notification of delay changes","slug":"notification-of-delay-changes"},{"level":2,"title":"Management Monitor","slug":"management-monitor"}],"relativePath":"en_US/guide/services.md","lastUpdated":1682077347000}',n={},a=i("",15),r=[a];function c(s,l,d,h,u,p){return o(),t("div",null,r)}var f=e(n,[["render",c]]);export{m as __pageData,f as default};
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{_ as a,c as n,o as s,a as t}from"./app.3817bf4e.js";const g='{"title":"Site Title","description":"","frontmatter":{},"headers":[{"level":2,"title":"Site Title","slug":"site-title"},{"level":2,"title":"Admin List","slug":"admin-list"},{"level":2,"title":"Theme","slug":"theme"},{"level":2,"title":"Language","slug":"language"},{"level":2,"title":"Custom code (style, script)","slug":"custom-code-style-script"},{"level":2,"title":"Access Password","slug":"access-password"},{"level":2,"title":"CDN Bypassed Domain/IP","slug":"cdn-bypassed-domain-ip"},{"level":2,"title":"IP Change Alert","slug":"ip-change-alert"}],"relativePath":"en_US/guide/settings.md","lastUpdated":1682076617000}',e={},o=t(`<h2 id="site-title" tabindex="-1">Site Title <a class="header-anchor" href="#site-title" aria-hidden="true">#</a></h2><p>You can customize your site title here<br><br></p><h2 id="admin-list" tabindex="-1">Admin List <a class="header-anchor" href="#admin-list" aria-hidden="true">#</a></h2><ul><li><p>If you have changed your Github, Gitlab, Jihulab, Gitee username, you can change it in this item, otherwise you can't log in, please separate multiple users with commas: <code>user1,user2</code></p></li><li><p>To change your administrator account, please go to <code>/opt/nezha/dashboard/data/config.yaml</code> to set the new administrator <code>Client ID</code> and <code>Client Secret</code>.<br><br></p></li></ul><h2 id="theme" tabindex="-1">Theme <a class="header-anchor" href="#theme" aria-hidden="true">#</a></h2><p>Select the home page theme here, and update the panel if there is not an existing theme in the options<br><br></p><h2 id="language" tabindex="-1">Language <a class="header-anchor" href="#language" aria-hidden="true">#</a></h2><p>Nezha Monitoring currently supports the following languages:</p><ul><li>\u7B80\u4F53\u4E2D\u6587</li><li>English</li><li>Espa\xF1ol</li></ul><p><a href="https://crowdin.com/project/nezha" target="_blank" rel="noopener noreferrer"><img src="https://badges.crowdin.net/nezha/localized.svg" alt=""></a><br> We welcome corrections to translations and contributions of additional languages<br><br></p><h2 id="custom-code-style-script" tabindex="-1">Custom code (style, script) <a class="header-anchor" href="#custom-code-style-script" aria-hidden="true">#</a></h2><p>Change logo, change color tone, add statistics code, etc.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>The custom code only takes effect in the visitor's home page, not in the admin panel.<br> Since the code of different themes is different, if you really need to modify the content of the admin panel, please enter Docker to changes it by yourself.</p></div><br><h4 id="example-of-changing-the-default-theme-progress-bar-color" tabindex="-1">Example of changing the default theme progress bar color <a class="header-anchor" href="#example-of-changing-the-default-theme-progress-bar-color" aria-hidden="true">#</a></h4><div class="language-html"><pre><code><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>style</span><span class="token punctuation">></span></span><span class="token style"><span class="token language-css">
|
||||
import{_ as a,c as n,o as s,a as t}from"./app.38e99b9a.js";const g='{"title":"Site Title","description":"","frontmatter":{},"headers":[{"level":2,"title":"Site Title","slug":"site-title"},{"level":2,"title":"Admin List","slug":"admin-list"},{"level":2,"title":"Theme","slug":"theme"},{"level":2,"title":"Language","slug":"language"},{"level":2,"title":"Custom code (style, script)","slug":"custom-code-style-script"},{"level":2,"title":"Access Password","slug":"access-password"},{"level":2,"title":"CDN Bypassed Domain/IP","slug":"cdn-bypassed-domain-ip"},{"level":2,"title":"IP Change Alert","slug":"ip-change-alert"}],"relativePath":"en_US/guide/settings.md","lastUpdated":1682077347000}',e={},o=t(`<h2 id="site-title" tabindex="-1">Site Title <a class="header-anchor" href="#site-title" aria-hidden="true">#</a></h2><p>You can customize your site title here<br><br></p><h2 id="admin-list" tabindex="-1">Admin List <a class="header-anchor" href="#admin-list" aria-hidden="true">#</a></h2><ul><li><p>If you have changed your Github, Gitlab, Jihulab, Gitee username, you can change it in this item, otherwise you can't log in, please separate multiple users with commas: <code>user1,user2</code></p></li><li><p>To change your administrator account, please go to <code>/opt/nezha/dashboard/data/config.yaml</code> to set the new administrator <code>Client ID</code> and <code>Client Secret</code>.<br><br></p></li></ul><h2 id="theme" tabindex="-1">Theme <a class="header-anchor" href="#theme" aria-hidden="true">#</a></h2><p>Select the home page theme here, and update the panel if there is not an existing theme in the options<br><br></p><h2 id="language" tabindex="-1">Language <a class="header-anchor" href="#language" aria-hidden="true">#</a></h2><p>Nezha Monitoring currently supports the following languages:</p><ul><li>\u7B80\u4F53\u4E2D\u6587</li><li>English</li><li>Espa\xF1ol</li></ul><p><a href="https://crowdin.com/project/nezha" target="_blank" rel="noopener noreferrer"><img src="https://badges.crowdin.net/nezha/localized.svg" alt=""></a><br> We welcome corrections to translations and contributions of additional languages<br><br></p><h2 id="custom-code-style-script" tabindex="-1">Custom code (style, script) <a class="header-anchor" href="#custom-code-style-script" aria-hidden="true">#</a></h2><p>Change logo, change color tone, add statistics code, etc.</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>The custom code only takes effect in the visitor's home page, not in the admin panel.<br> Since the code of different themes is different, if you really need to modify the content of the admin panel, please enter Docker to changes it by yourself.</p></div><br><h4 id="example-of-changing-the-default-theme-progress-bar-color" tabindex="-1">Example of changing the default theme progress bar color <a class="header-anchor" href="#example-of-changing-the-default-theme-progress-bar-color" aria-hidden="true">#</a></h4><div class="language-html"><pre><code><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>style</span><span class="token punctuation">></span></span><span class="token style"><span class="token language-css">
|
||||
<span class="token selector">.ui.fine.progress> .bar</span> <span class="token punctuation">{</span>
|
||||
<span class="token property">background-color</span><span class="token punctuation">:</span> pink <span class="token important">!important</span><span class="token punctuation">;</span>
|
||||
<span class="token punctuation">}</span>
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as a,c as n,o as s,a as t}from"./app.3817bf4e.js";const g='{"title":"Site Title","description":"","frontmatter":{},"headers":[{"level":2,"title":"Site Title","slug":"site-title"},{"level":2,"title":"Admin List","slug":"admin-list"},{"level":2,"title":"Theme","slug":"theme"},{"level":2,"title":"Language","slug":"language"},{"level":2,"title":"Custom code (style, script)","slug":"custom-code-style-script"},{"level":2,"title":"Access Password","slug":"access-password"},{"level":2,"title":"CDN Bypassed Domain/IP","slug":"cdn-bypassed-domain-ip"},{"level":2,"title":"IP Change Alert","slug":"ip-change-alert"}],"relativePath":"en_US/guide/settings.md","lastUpdated":1682076617000}',e={},o=t("",37),p=[o];function c(i,l,r,u,d,h){return s(),n("div",null,p)}var f=a(e,[["render",c]]);export{g as __pageData,f as default};
|
||||
import{_ as a,c as n,o as s,a as t}from"./app.38e99b9a.js";const g='{"title":"Site Title","description":"","frontmatter":{},"headers":[{"level":2,"title":"Site Title","slug":"site-title"},{"level":2,"title":"Admin List","slug":"admin-list"},{"level":2,"title":"Theme","slug":"theme"},{"level":2,"title":"Language","slug":"language"},{"level":2,"title":"Custom code (style, script)","slug":"custom-code-style-script"},{"level":2,"title":"Access Password","slug":"access-password"},{"level":2,"title":"CDN Bypassed Domain/IP","slug":"cdn-bypassed-domain-ip"},{"level":2,"title":"IP Change Alert","slug":"ip-change-alert"}],"relativePath":"en_US/guide/settings.md","lastUpdated":1682077347000}',e={},o=t("",37),p=[o];function c(i,l,r,u,d,h){return s(),n("div",null,p)}var f=a(e,[["render",c]]);export{g as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a}from"./app.3817bf4e.js";const m='{"title":"How to use","description":"","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"Manage tasks","slug":"manage-tasks"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"en_US/guide/tasks.md","lastUpdated":1682076617000}',i={},s=a('<p><strong>In the task area, you can set up scheduled tasks, Trigger tasks, and multi-server batch execution tasks</strong></p><p>Nezha monitoring supports pushing commands to the Agent for execution, so this feature is very flexible and can be used to periodically back up the server in conjunction with restic, rclone. Periodically restart a service to reset the network connection. It can also be used with notifications to perform a task when a notification is triggered, such as running a script when the CPU is at high occupancy for a long period of time.</p><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><p>Go to the "Tasks" page of the admin panel and click "Add Scheduled Task"<br> To add a scheduled task you need to make the following settings:</p><ul><li><p><code>Name</code> - Customize a task name</p></li><li><p><code>Task Type</code> - select the type of task<br> Scheduled Tasks - Tasks are executed periodically at the scheduled time set below<br> Trigger Tasks - Tasks that are triggered only by API or notification rules and are executed once per trigger</p></li><li><p><code>Cron Expression</code> - (Not valid when using the trigger task type) Set schedule time, the Cron Expression is like:\uFF1A <code>* * * * * *</code> <code>sec min hour day month week</code>, see details in <a href="https://pkg.go.dev/github.com/robfig/cron/v3#hdr-CRON_Expression_Format" target="_blank" rel="noopener noreferrer">CRON Expression Format</a><br> For example: <code>0 0 3 * * *</code> is <code>Every day at 3 o'clock</code></p></li><li><p><code>Command</code> - Just like writing shell/bat scripts, <strong>but line wrap is not recommended</strong>, <strong>Multiple Commands should be connected with <code>&&/&</code></strong><br> For example, to execute a periodic reboot command, you can type <code>reboot</code> here</p></li><li><p><code>Coverage</code> and <code>Specific Servers</code> - Similar to the settings on the Services page, select rules to determine which Agents need to execute scheduled tasks<br> When using the trigger task type, you can select <code>Only servers that are included in the notification rule</code></p></li><li><p><code>Notification Group</code> - Select the notification method you have set up on the "Notification" page. <a href="/en_US/guide/notifications.html#flexible-notification-methods">Click here</a> for more information</p></li><li><p><code>Send Success Notification</code> - When this item is activated, a message notification will be triggered when the task is successfully executed<br><br></p></li></ul><h2 id="manage-tasks" tabindex="-1">Manage tasks <a class="header-anchor" href="#manage-tasks" aria-hidden="true">#</a></h2><p>To manage existing scheduled tasks, you can go to the "Tasks" page in the administration panel<br> Select a task configuration and the three icons on the right, which are:</p><ul><li><code>Execute Now</code> - When clicked, the scheduled time will be ignored and the task will be executed immediately</li><li><code>Edit</code> - Click to modify the task configuration</li><li><code>Delete</code> - Delete this scheduled task<br><br></li></ul><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-hidden="true">#</a></h2><ol><li>Command not found<br> Command not found may cause by missing PATH environment variable, for Linux Server, you may try adding <code>source ~/.bashrc</code> at beginning of your command or execute by absolute path.</li></ol>',10),n=[s];function r(c,d,l,h,u,p){return o(),t("div",null,n)}var f=e(i,[["render",r]]);export{m as __pageData,f as default};
|
||||
import{_ as e,c as t,o,a}from"./app.38e99b9a.js";const m='{"title":"How to use","description":"","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"Manage tasks","slug":"manage-tasks"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"en_US/guide/tasks.md","lastUpdated":1682077347000}',i={},s=a('<p><strong>In the task area, you can set up scheduled tasks, Trigger tasks, and multi-server batch execution tasks</strong></p><p>Nezha monitoring supports pushing commands to the Agent for execution, so this feature is very flexible and can be used to periodically back up the server in conjunction with restic, rclone. Periodically restart a service to reset the network connection. It can also be used with notifications to perform a task when a notification is triggered, such as running a script when the CPU is at high occupancy for a long period of time.</p><h2 id="how-to-use" tabindex="-1">How to use <a class="header-anchor" href="#how-to-use" aria-hidden="true">#</a></h2><p>Go to the "Tasks" page of the admin panel and click "Add Scheduled Task"<br> To add a scheduled task you need to make the following settings:</p><ul><li><p><code>Name</code> - Customize a task name</p></li><li><p><code>Task Type</code> - select the type of task<br> Scheduled Tasks - Tasks are executed periodically at the scheduled time set below<br> Trigger Tasks - Tasks that are triggered only by API or notification rules and are executed once per trigger</p></li><li><p><code>Cron Expression</code> - (Not valid when using the trigger task type) Set schedule time, the Cron Expression is like:\uFF1A <code>* * * * * *</code> <code>sec min hour day month week</code>, see details in <a href="https://pkg.go.dev/github.com/robfig/cron/v3#hdr-CRON_Expression_Format" target="_blank" rel="noopener noreferrer">CRON Expression Format</a><br> For example: <code>0 0 3 * * *</code> is <code>Every day at 3 o'clock</code></p></li><li><p><code>Command</code> - Just like writing shell/bat scripts, <strong>but line wrap is not recommended</strong>, <strong>Multiple Commands should be connected with <code>&&/&</code></strong><br> For example, to execute a periodic reboot command, you can type <code>reboot</code> here</p></li><li><p><code>Coverage</code> and <code>Specific Servers</code> - Similar to the settings on the Services page, select rules to determine which Agents need to execute scheduled tasks<br> When using the trigger task type, you can select <code>Only servers that are included in the notification rule</code></p></li><li><p><code>Notification Group</code> - Select the notification method you have set up on the "Notification" page. <a href="/en_US/guide/notifications.html#flexible-notification-methods">Click here</a> for more information</p></li><li><p><code>Send Success Notification</code> - When this item is activated, a message notification will be triggered when the task is successfully executed<br><br></p></li></ul><h2 id="manage-tasks" tabindex="-1">Manage tasks <a class="header-anchor" href="#manage-tasks" aria-hidden="true">#</a></h2><p>To manage existing scheduled tasks, you can go to the "Tasks" page in the administration panel<br> Select a task configuration and the three icons on the right, which are:</p><ul><li><code>Execute Now</code> - When clicked, the scheduled time will be ignored and the task will be executed immediately</li><li><code>Edit</code> - Click to modify the task configuration</li><li><code>Delete</code> - Delete this scheduled task<br><br></li></ul><h2 id="faq" tabindex="-1">FAQ <a class="header-anchor" href="#faq" aria-hidden="true">#</a></h2><ol><li>Command not found<br> Command not found may cause by missing PATH environment variable, for Linux Server, you may try adding <code>source ~/.bashrc</code> at beginning of your command or execute by absolute path.</li></ol>',10),n=[s];function r(c,d,l,h,u,p){return o(),t("div",null,n)}var f=e(i,[["render",r]]);export{m as __pageData,f as default};
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o,a}from"./app.3817bf4e.js";const m='{"title":"How to use","description":"","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"Manage tasks","slug":"manage-tasks"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"en_US/guide/tasks.md","lastUpdated":1682076617000}',i={},s=a("",10),n=[s];function r(c,d,l,h,u,p){return o(),t("div",null,n)}var f=e(i,[["render",r]]);export{m as __pageData,f as default};
|
||||
import{_ as e,c as t,o,a}from"./app.38e99b9a.js";const m='{"title":"How to use","description":"","frontmatter":{},"headers":[{"level":2,"title":"How to use","slug":"how-to-use"},{"level":2,"title":"Manage tasks","slug":"manage-tasks"},{"level":2,"title":"FAQ","slug":"faq"}],"relativePath":"en_US/guide/tasks.md","lastUpdated":1682077347000}',i={},s=a("",10),n=[s];function r(c,d,l,h,u,p){return o(),t("div",null,n)}var f=e(i,[["render",r]]);export{m as __pageData,f as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as o,c as a,o as s,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',n={},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 s(),a("div",null,r)}var _=o(n,[["render",c]]);export{f as __pageData,_ as default};
|
||||
import{_ as o,c as a,o as s,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',n={},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 s(),a("div",null,r)}var _=o(n,[["render",c]]);export{f as __pageData,_ as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as o,c as a,o as s,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',n={},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 s(),a("div",null,r)}var _=o(n,[["render",c]]);export{f as __pageData,_ as default};
|
||||
import{_ as o,c as a,o as s,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',n={},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 s(),a("div",null,r)}var _=o(n,[["render",c]]);export{f as __pageData,_ as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as n,c as a,o as s,a as t}from"./app.3817bf4e.js";const h='{"title":"\u4E00\u952E\u5B89\u88C5 Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5 Agent","slug":"\u4E00\u952E\u5B89\u88C5-agent"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"\u5728 Linux \u4E2D\u4E00\u952E\u5B89\u88C5 (Ubuntu\u3001Debian\u3001CentOS)","slug":"\u5728-linux-\u4E2D\u4E00\u952E\u5B89\u88C5-ubuntu\u3001debian\u3001centos"},{"level":3,"title":"\u5728 Windows \u4E2D\u4E00\u952E\u5B89\u88C5","slug":"\u5728-windows-\u4E2D\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5 Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 Linux \u4E2D\u5B89\u88C5 Agent (Ubuntu\u3001Debian\u3001CentOS)","slug":"\u5728-linux-\u4E2D\u5B89\u88C5-agent-ubuntu\u3001debian\u3001centos"},{"level":3,"title":"\u5728 \u5176\u4ED6 Linux \u5982 Alpine \u4F7F\u7528 Openrc \u7684\u53D1\u884C\u7248 \u5B89\u88C5 Agent","slug":"\u5728-\u5176\u4ED6-linux-\u5982-alpine-\u4F7F\u7528-openrc-\u7684\u53D1\u884C\u7248-\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 Windows \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-windows-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 \u7FA4\u6656DSM \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-\u7FA4\u6656dsm-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 MacOS \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-macos-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 OpenWRT \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-openwrt-\u4E2D\u5B89\u88C5-agent"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"Agent \u6709 Docker \u955C\u50CF\u5417\uFF1F","slug":"agent-\u6709-docker-\u955C\u50CF\u5417\uFF1F"}],"relativePath":"guide/agent.md","lastUpdated":1682076617000}',e={},p=t(`<p><strong>\u54EA\u5412\u76D1\u63A7\u7684\u88AB\u63A7\u7AEF\u670D\u52A1\u88AB\u79F0\u4E3A Agent\uFF0C\u672C\u6587\u6863\u5C06\u4ECB\u7ECD\u5982\u4F55\u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E0A\u5B89\u88C5 Agent\uFF0C\u5E76\u4E0E Dashboard \u8FDE\u63A5</strong><br><br></p><h2 id="\u4E00\u952E\u5B89\u88C5-agent" tabindex="-1">\u4E00\u952E\u5B89\u88C5 Agent <a class="header-anchor" href="#\u4E00\u952E\u5B89\u88C5-agent" aria-hidden="true">#</a></h2><p>\u76EE\u524D\u54EA\u5412\u76D1\u63A7\u5DF2\u652F\u6301\u5728 Windows \u548C Linux\u4E0A\u4E00\u952E\u5B89\u88C5 Agent\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<br><br></p><h3 id="\u51C6\u5907\u5DE5\u4F5C" tabindex="-1">\u51C6\u5907\u5DE5\u4F5C <a class="header-anchor" href="#\u51C6\u5907\u5DE5\u4F5C" aria-hidden="true">#</a></h3><p>\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 \u201C<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>\u201D \u6765\u505A\u6F14\u793A<br> \u8FDB\u5165\u540E\u53F0\u7BA1\u7406\u9762\u677F\uFF0C\u8F6C\u5230\u201C\u8BBE\u7F6E\u201D\u9875\uFF0C\u5728\u201C\u672A\u63A5\u5165 CDN \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"<br><br></p><h3 id="\u5728-linux-\u4E2D\u4E00\u952E\u5B89\u88C5-ubuntu\u3001debian\u3001centos" tabindex="-1">\u5728 Linux \u4E2D\u4E00\u952E\u5B89\u88C5 (Ubuntu\u3001Debian\u3001CentOS) <a class="header-anchor" href="#\u5728-linux-\u4E2D\u4E00\u952E\u5B89\u88C5-ubuntu\u3001debian\u3001centos" aria-hidden="true">#</a></h3><ul><li>\u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668</li><li>\u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684 Linux \u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4</li><li>\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\u5230 Dashboard \u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF<br><br></li></ul><h3 id="\u5728-windows-\u4E2D\u4E00\u952E\u5B89\u88C5" tabindex="-1">\u5728 Windows \u4E2D\u4E00\u952E\u5B89\u88C5 <a class="header-anchor" href="#\u5728-windows-\u4E2D\u4E00\u952E\u5B89\u88C5" aria-hidden="true">#</a></h3><ul><li>\u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668</li><li>\u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684 Windows \u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4</li><li>\u8FDB\u5165 Windows \u670D\u52A1\u5668\uFF0C\u8FD0\u884C PowerShell\uFF0C\u5728 PowerShell \u4E2D\u8FD0\u884C\u590D\u5236\u7684\u5B89\u88C5\u547D\u4EE4</li><
Line truncated
|
||||
import{_ as n,c as a,o as s,a as t}from"./app.38e99b9a.js";const h='{"title":"\u4E00\u952E\u5B89\u88C5 Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5 Agent","slug":"\u4E00\u952E\u5B89\u88C5-agent"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"\u5728 Linux \u4E2D\u4E00\u952E\u5B89\u88C5 (Ubuntu\u3001Debian\u3001CentOS)","slug":"\u5728-linux-\u4E2D\u4E00\u952E\u5B89\u88C5-ubuntu\u3001debian\u3001centos"},{"level":3,"title":"\u5728 Windows \u4E2D\u4E00\u952E\u5B89\u88C5","slug":"\u5728-windows-\u4E2D\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5 Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 Linux \u4E2D\u5B89\u88C5 Agent (Ubuntu\u3001Debian\u3001CentOS)","slug":"\u5728-linux-\u4E2D\u5B89\u88C5-agent-ubuntu\u3001debian\u3001centos"},{"level":3,"title":"\u5728 \u5176\u4ED6 Linux \u5982 Alpine \u4F7F\u7528 Openrc \u7684\u53D1\u884C\u7248 \u5B89\u88C5 Agent","slug":"\u5728-\u5176\u4ED6-linux-\u5982-alpine-\u4F7F\u7528-openrc-\u7684\u53D1\u884C\u7248-\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 Windows \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-windows-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 \u7FA4\u6656DSM \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-\u7FA4\u6656dsm-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 MacOS \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-macos-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 OpenWRT \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-openwrt-\u4E2D\u5B89\u88C5-agent"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"Agent \u6709 Docker \u955C\u50CF\u5417\uFF1F","slug":"agent-\u6709-docker-\u955C\u50CF\u5417\uFF1F"}],"relativePath":"guide/agent.md","lastUpdated":1682077347000}',e={},p=t(`<p><strong>\u54EA\u5412\u76D1\u63A7\u7684\u88AB\u63A7\u7AEF\u670D\u52A1\u88AB\u79F0\u4E3A Agent\uFF0C\u672C\u6587\u6863\u5C06\u4ECB\u7ECD\u5982\u4F55\u5728\u88AB\u63A7\u7AEF\u670D\u52A1\u5668\u4E0A\u5B89\u88C5 Agent\uFF0C\u5E76\u4E0E Dashboard \u8FDE\u63A5</strong><br><br></p><h2 id="\u4E00\u952E\u5B89\u88C5-agent" tabindex="-1">\u4E00\u952E\u5B89\u88C5 Agent <a class="header-anchor" href="#\u4E00\u952E\u5B89\u88C5-agent" aria-hidden="true">#</a></h2><p>\u76EE\u524D\u54EA\u5412\u76D1\u63A7\u5DF2\u652F\u6301\u5728 Windows \u548C Linux\u4E0A\u4E00\u952E\u5B89\u88C5 Agent\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<br><br></p><h3 id="\u51C6\u5907\u5DE5\u4F5C" tabindex="-1">\u51C6\u5907\u5DE5\u4F5C <a class="header-anchor" href="#\u51C6\u5907\u5DE5\u4F5C" aria-hidden="true">#</a></h3><p>\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 \u201C<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>\u201D \u6765\u505A\u6F14\u793A<br> \u8FDB\u5165\u540E\u53F0\u7BA1\u7406\u9762\u677F\uFF0C\u8F6C\u5230\u201C\u8BBE\u7F6E\u201D\u9875\uFF0C\u5728\u201C\u672A\u63A5\u5165 CDN \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"<br><br></p><h3 id="\u5728-linux-\u4E2D\u4E00\u952E\u5B89\u88C5-ubuntu\u3001debian\u3001centos" tabindex="-1">\u5728 Linux \u4E2D\u4E00\u952E\u5B89\u88C5 (Ubuntu\u3001Debian\u3001CentOS) <a class="header-anchor" href="#\u5728-linux-\u4E2D\u4E00\u952E\u5B89\u88C5-ubuntu\u3001debian\u3001centos" aria-hidden="true">#</a></h3><ul><li>\u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668</li><li>\u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684 Linux \u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4</li><li>\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\u5230 Dashboard \u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF<br><br></li></ul><h3 id="\u5728-windows-\u4E2D\u4E00\u952E\u5B89\u88C5" tabindex="-1">\u5728 Windows \u4E2D\u4E00\u952E\u5B89\u88C5 <a class="header-anchor" href="#\u5728-windows-\u4E2D\u4E00\u952E\u5B89\u88C5" aria-hidden="true">#</a></h3><ul><li>\u9996\u5148\u5728\u7BA1\u7406\u9762\u677F\u4E2D\u6DFB\u52A0\u4E00\u53F0\u670D\u52A1\u5668</li><li>\u70B9\u51FB\u65B0\u6DFB\u52A0\u7684\u670D\u52A1\u5668\u65C1\uFF0C\u7EFF\u8272\u7684 Windows \u56FE\u6807\u6309\u94AE\uFF0C\u590D\u5236\u4E00\u952E\u5B89\u88C5\u547D\u4EE4</li><li>\u8FDB\u5165 Windows \u670D\u52A1\u5668\uFF0C\u8FD0\u884C PowerShell\uFF0C\u5728 PowerShell \u4E2D\u8FD0\u884C\u590D\u5236\u7684\u5B89\u88C5\u547D\u4EE4</li><
Line truncated
|
||||
</code></pre></div><p>\u5982\u679C\u4F60\u7684\u88AB\u63A7\u670D\u52A1\u5668\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u53EF\u4EE5\u4F7F\u7528\u955C\u50CF\uFF1A</p><div class="language-bash"><pre><code><span class="token function">curl</span> -L https://cdn.jsdelivr.net/gh/naiba/nezha@master/script/install.sh -o nezha.sh <span class="token operator">&&</span> <span class="token function">chmod</span> +x nezha.sh <span class="token operator">&&</span> <span class="token function">sudo</span> <span class="token assign-left variable">CN</span><span class="token operator">=</span>true ./nezha.sh
|
||||
</code></pre></div><ul><li>\u9009\u62E9\u201C\u5B89\u88C5\u76D1\u63A7 Agent\u201D</li><li>\u8F93\u5165\u901A\u4FE1\u57DF\u540D\uFF0C\u5982\uFF1A\u201D<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>\u201C</li><li>\u8F93\u5165\u9762\u677F\u901A\u4FE1\u7AEF\u53E3\uFF08RPC\u7AEF\u53E3\uFF09\uFF0C\u9ED8\u8BA4\u4E3A 5555</li><li>\u8F93\u5165 Agent \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</li><li>\u7B49\u5F85\u5B89\u88C5\u5B8C\u6210\u540E\u8FD4\u56DE Dashboard \u4E3B\u9875\u67E5\u770B\u670D\u52A1\u5668\u662F\u5426\u4E0A\u7EBF<br><br></li></ul><h3 id="\u5728-\u5176\u4ED6-linux-\u5982-alpine-\u4F7F\u7528-openrc-\u7684\u53D1\u884C\u7248-\u5B89\u88C5-agent" tabindex="-1">\u5728 \u5176\u4ED6 Linux \u5982 Alpine \u4F7F\u7528 Openrc \u7684\u53D1\u884C\u7248 \u5B89\u88C5 Agent <a class="header-anchor" href="#\u5728-\u5176\u4ED6-linux-\u5982-alpine-\u4F7F\u7528-openrc-\u7684\u53D1\u884C\u7248-\u5B89\u88C5-agent" aria-hidden="true">#</a></h3><p>\u672C\u8282\u5185\u5BB9\u7531 <a href="https://github.com/unknwon0054" target="_blank" rel="noopener noreferrer">unknown0054</a> \u8D21\u732E</p><ul><li>\u4FEE\u6539 SERVER\u3001SECRET\u3001TLS \u7136\u540E\u5728 shell \u4E2D\u6267\u884C</li></ul><div class="language-shell"><pre><code><span class="token function">cat</span> <span class="token operator">></span>/etc/init.d/nezha-agent<span class="token operator"><<</span> <span class="token string">EOF
|
||||
#!/sbin/openrc-run
|
||||
@@ -1 +1 @@
|
||||
import{_ as n,c as a,o as s,a as t}from"./app.3817bf4e.js";const h='{"title":"\u4E00\u952E\u5B89\u88C5 Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5 Agent","slug":"\u4E00\u952E\u5B89\u88C5-agent"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"\u5728 Linux \u4E2D\u4E00\u952E\u5B89\u88C5 (Ubuntu\u3001Debian\u3001CentOS)","slug":"\u5728-linux-\u4E2D\u4E00\u952E\u5B89\u88C5-ubuntu\u3001debian\u3001centos"},{"level":3,"title":"\u5728 Windows \u4E2D\u4E00\u952E\u5B89\u88C5","slug":"\u5728-windows-\u4E2D\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5 Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 Linux \u4E2D\u5B89\u88C5 Agent (Ubuntu\u3001Debian\u3001CentOS)","slug":"\u5728-linux-\u4E2D\u5B89\u88C5-agent-ubuntu\u3001debian\u3001centos"},{"level":3,"title":"\u5728 \u5176\u4ED6 Linux \u5982 Alpine \u4F7F\u7528 Openrc \u7684\u53D1\u884C\u7248 \u5B89\u88C5 Agent","slug":"\u5728-\u5176\u4ED6-linux-\u5982-alpine-\u4F7F\u7528-openrc-\u7684\u53D1\u884C\u7248-\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 Windows \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-windows-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 \u7FA4\u6656DSM \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-\u7FA4\u6656dsm-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 MacOS \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-macos-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 OpenWRT \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-openwrt-\u4E2D\u5B89\u88C5-agent"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"Agent \u6709 Docker \u955C\u50CF\u5417\uFF1F","slug":"agent-\u6709-docker-\u955C\u50CF\u5417\uFF1F"}],"relativePath":"guide/agent.md","lastUpdated":1682076617000}',e={},p=t("",53),o=[p];function l(c,i,r,u,g,k){return s(),a("div",null,o)}var b=n(e,[["render",l]]);export{h as __pageData,b as default};
|
||||
import{_ as n,c as a,o as s,a as t}from"./app.38e99b9a.js";const h='{"title":"\u4E00\u952E\u5B89\u88C5 Agent","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5 Agent","slug":"\u4E00\u952E\u5B89\u88C5-agent"},{"level":3,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":3,"title":"\u5728 Linux \u4E2D\u4E00\u952E\u5B89\u88C5 (Ubuntu\u3001Debian\u3001CentOS)","slug":"\u5728-linux-\u4E2D\u4E00\u952E\u5B89\u88C5-ubuntu\u3001debian\u3001centos"},{"level":3,"title":"\u5728 Windows \u4E2D\u4E00\u952E\u5B89\u88C5","slug":"\u5728-windows-\u4E2D\u4E00\u952E\u5B89\u88C5"},{"level":2,"title":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5 Agent","slug":"\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 Linux \u4E2D\u5B89\u88C5 Agent (Ubuntu\u3001Debian\u3001CentOS)","slug":"\u5728-linux-\u4E2D\u5B89\u88C5-agent-ubuntu\u3001debian\u3001centos"},{"level":3,"title":"\u5728 \u5176\u4ED6 Linux \u5982 Alpine \u4F7F\u7528 Openrc \u7684\u53D1\u884C\u7248 \u5B89\u88C5 Agent","slug":"\u5728-\u5176\u4ED6-linux-\u5982-alpine-\u4F7F\u7528-openrc-\u7684\u53D1\u884C\u7248-\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 Windows \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-windows-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 \u7FA4\u6656DSM \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-\u7FA4\u6656dsm-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 MacOS \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-macos-\u4E2D\u5B89\u88C5-agent"},{"level":3,"title":"\u5728 OpenWRT \u4E2D\u5B89\u88C5 Agent","slug":"\u5728-openwrt-\u4E2D\u5B89\u88C5-agent"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"Agent \u6709 Docker \u955C\u50CF\u5417\uFF1F","slug":"agent-\u6709-docker-\u955C\u50CF\u5417\uFF1F"}],"relativePath":"guide/agent.md","lastUpdated":1682077347000}',e={},p=t("",53),o=[p];function l(c,i,r,u,g,k){return s(),a("div",null,o)}var b=n(e,[["render",l]]);export{h as __pageData,b as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.3817bf4e.js";const p='{"title":"\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519","slug":"\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519"},{"level":3,"title":"curl: Failed to connect to raw.githubusercontent.com......","slug":"curl-failed-to-connect-to-raw-githubusercontent-com"},{"level":3,"title":"sudo: command not found","slug":"sudo-command-not-found"}],"relativePath":"guide/agentq.md","lastUpdated":1682076617000}',o={},r=n('<h2 id="\u540E\u53F0\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F" tabindex="-1">\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F <a class="header-anchor" href="#\u540E\u53F0\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F" aria-hidden="true">#</a></h2><p>\u8BF7\u67E5\u770B <a href="/guide/dashboardq.html#\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F">Dashboard \u76F8\u5173-\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F</a><br> \u5728\u6B64\u4E0D\u518D\u8D58\u8FF0\u3002</p><h2 id="\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519" tabindex="-1">\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519 <a class="header-anchor" href="#\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519" aria-hidden="true">#</a></h2><h3 id="curl-failed-to-connect-to-raw-githubusercontent-com" tabindex="-1">curl: Failed to connect to <a href="http://raw.githubusercontent.com" target="_blank" rel="noopener noreferrer">raw.githubusercontent.com</a>...... <a class="header-anchor" href="#curl-failed-to-connect-to-raw-githubusercontent-com" aria-hidden="true">#</a></h3><p>\u591A\u51FA\u73B0\u5728\u56FD\u5185\u4E3B\u673A\u4E2D\uFF0C\u76EE\u524D\u4E00\u952E\u811A\u672C\u53EA\u4ECE Github \u76F4\u63A5\u83B7\u53D6\u5B89\u88C5\u811A\u672C\uFF0C\u60A8\u53EF\u4EE5\u591A\u5C1D\u8BD5\u51E0\u6B21\uFF0C\u6216\u8005<a href="/guide/agent.html#\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent">\u624B\u52A8\u5B89\u88C5 Agent</a>\uFF0C\u522B\u5FD8\u4E86\u4F7F\u7528\u955C\u50CF\u3002</p><h3 id="sudo-command-not-found" tabindex="-1">sudo: command not found <a class="header-anchor" href="#sudo-command-not-found" aria-hidden="true">#</a></h3><p>\u8BF7\u5148\u624B\u52A8\u5B89\u88C5 sudo\u3002</p>',7),d=[r];function c(i,s,u,h,l,g){return a(),t("div",null,d)}var m=e(o,[["render",c]]);export{p as __pageData,m as default};
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.38e99b9a.js";const p='{"title":"\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519","slug":"\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519"},{"level":3,"title":"curl: Failed to connect to raw.githubusercontent.com......","slug":"curl-failed-to-connect-to-raw-githubusercontent-com"},{"level":3,"title":"sudo: command not found","slug":"sudo-command-not-found"}],"relativePath":"guide/agentq.md","lastUpdated":1682077347000}',o={},r=n('<h2 id="\u540E\u53F0\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F" tabindex="-1">\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F <a class="header-anchor" href="#\u540E\u53F0\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F" aria-hidden="true">#</a></h2><p>\u8BF7\u67E5\u770B <a href="/guide/dashboardq.html#\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684ip\u548Cagent\u5B9E\u9645ip\u4E0D\u4E00\u81F4\uFF1F">Dashboard \u76F8\u5173-\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F</a><br> \u5728\u6B64\u4E0D\u518D\u8D58\u8FF0\u3002</p><h2 id="\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519" tabindex="-1">\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519 <a class="header-anchor" href="#\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519" aria-hidden="true">#</a></h2><h3 id="curl-failed-to-connect-to-raw-githubusercontent-com" tabindex="-1">curl: Failed to connect to <a href="http://raw.githubusercontent.com" target="_blank" rel="noopener noreferrer">raw.githubusercontent.com</a>...... <a class="header-anchor" href="#curl-failed-to-connect-to-raw-githubusercontent-com" aria-hidden="true">#</a></h3><p>\u591A\u51FA\u73B0\u5728\u56FD\u5185\u4E3B\u673A\u4E2D\uFF0C\u76EE\u524D\u4E00\u952E\u811A\u672C\u53EA\u4ECE Github \u76F4\u63A5\u83B7\u53D6\u5B89\u88C5\u811A\u672C\uFF0C\u60A8\u53EF\u4EE5\u591A\u5C1D\u8BD5\u51E0\u6B21\uFF0C\u6216\u8005<a href="/guide/agent.html#\u5176\u4ED6\u65B9\u5F0F\u5B89\u88C5agent">\u624B\u52A8\u5B89\u88C5 Agent</a>\uFF0C\u522B\u5FD8\u4E86\u4F7F\u7528\u955C\u50CF\u3002</p><h3 id="sudo-command-not-found" tabindex="-1">sudo: command not found <a class="header-anchor" href="#sudo-command-not-found" aria-hidden="true">#</a></h3><p>\u8BF7\u5148\u624B\u52A8\u5B89\u88C5 sudo\u3002</p>',7),d=[r];function c(i,s,u,h,l,g){return a(),t("div",null,d)}var m=e(o,[["render",c]]);export{p as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.3817bf4e.js";const p='{"title":"\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519","slug":"\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519"},{"level":3,"title":"curl: Failed to connect to raw.githubusercontent.com......","slug":"curl-failed-to-connect-to-raw-githubusercontent-com"},{"level":3,"title":"sudo: command not found","slug":"sudo-command-not-found"}],"relativePath":"guide/agentq.md","lastUpdated":1682076617000}',o={},r=n("",7),d=[r];function c(i,s,u,h,l,g){return a(),t("div",null,d)}var m=e(o,[["render",c]]);export{p as __pageData,m as default};
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.38e99b9a.js";const p='{"title":"\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u540E\u53F0\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","slug":"\u540E\u53F0\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519","slug":"\u4E00\u952E\u811A\u672C\u5B89\u88C5\u65F6\u51FA\u9519"},{"level":3,"title":"curl: Failed to connect to raw.githubusercontent.com......","slug":"curl-failed-to-connect-to-raw-githubusercontent-com"},{"level":3,"title":"sudo: command not found","slug":"sudo-command-not-found"}],"relativePath":"guide/agentq.md","lastUpdated":1682077347000}',o={},r=n("",7),d=[r];function c(i,s,u,h,l,g){return a(),t("div",null,d)}var m=e(o,[["render",c]]);export{p as __pageData,m as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as t,c as o,o as u,a as q}from"./app.3817bf4e.js";const T='{"title":"\u521B\u5EFA Token","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u521B\u5EFA Token","slug":"\u521B\u5EFA-token"},{"level":2,"title":"\u8BA4\u8BC1\u65B9\u5F0F","slug":"\u8BA4\u8BC1\u65B9\u5F0F"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"guide/api.md","lastUpdated":1682076617000}',n={},e=q(`<p><strong>\u54EA\u5412\u9762\u677F\u73B0\u5728\u5DF2\u7ECF\u652F\u6301\u4F7F\u7528 API \u63A5\u53E3\u67E5\u8BE2\u9762\u677F\u4E2D Agent \u7684\u72B6\u6001\u4FE1\u606F</strong></p><h2 id="\u521B\u5EFA-token" tabindex="-1">\u521B\u5EFA Token <a class="header-anchor" href="#\u521B\u5EFA-token" aria-hidden="true">#</a></h2><p>\u54EA\u5412\u9762\u677F\u7684 API \u63A5\u53E3\u5141\u8BB8\u4F7F\u7528 Token \u8BA4\u8BC1\u4E0E Cookies \u8BA4\u8BC1<br> \u8981\u65B0\u5EFA\u4E00\u4E2A Token\uFF0C\u5728\u8FDB\u5165\u7BA1\u7406\u9762\u677F\u540E\uFF0C\u70B9\u51FB\u53F3\u4E0A\u89D2\u7684\u5934\u50CF\uFF0C\u9009\u62E9 \u201CAPI Token\u201D\uFF0C\u8FDB\u5165 Token \u7BA1\u7406\u9875\u9762<br> \u70B9\u51FB \u201C\u6DFB\u52A0 Token\u201D\uFF0C\u81EA\u5B9A\u4E49\u5907\u6CE8\u540E\uFF0C\u70B9\u51FB \u201C\u6DFB\u52A0\u201D<br> \u5982\u9700\u5220\u9664\u4E00\u4E2A Token\uFF0C\u8BF7\u9009\u62E9\u76F8\u5E94\u7684 Token\uFF0C\u70B9\u51FB\u53F3\u4FA7\u7684\u5220\u9664\u56FE\u6807</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Token \u662F API \u63A5\u53E3\u7684\u9274\u6743\u5DE5\u5177\uFF0C\u5B83\u5BF9\u4F60\u7684\u9762\u677F\u7684\u4FE1\u606F\u5B89\u5168\u975E\u5E38\u91CD\u8981\uFF0C\u8BF7\u4E0D\u8981\u6CC4\u6F0F\u4F60\u7684 Token \u7ED9\u4ED6\u4EBA</p></div><h2 id="\u8BA4\u8BC1\u65B9\u5F0F" tabindex="-1">\u8BA4\u8BC1\u65B9\u5F0F <a class="header-anchor" href="#\u8BA4\u8BC1\u65B9\u5F0F" aria-hidden="true">#</a></h2><p>Token \u8BA4\u8BC1\u65B9\u5F0F\uFF1A</p><div class="language-"><pre><code>Request Headers:
|
||||
import{_ as t,c as o,o as u,a as q}from"./app.38e99b9a.js";const T='{"title":"\u521B\u5EFA Token","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u521B\u5EFA Token","slug":"\u521B\u5EFA-token"},{"level":2,"title":"\u8BA4\u8BC1\u65B9\u5F0F","slug":"\u8BA4\u8BC1\u65B9\u5F0F"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"guide/api.md","lastUpdated":1682077347000}',n={},e=q(`<p><strong>\u54EA\u5412\u9762\u677F\u73B0\u5728\u5DF2\u7ECF\u652F\u6301\u4F7F\u7528 API \u63A5\u53E3\u67E5\u8BE2\u9762\u677F\u4E2D Agent \u7684\u72B6\u6001\u4FE1\u606F</strong></p><h2 id="\u521B\u5EFA-token" tabindex="-1">\u521B\u5EFA Token <a class="header-anchor" href="#\u521B\u5EFA-token" aria-hidden="true">#</a></h2><p>\u54EA\u5412\u9762\u677F\u7684 API \u63A5\u53E3\u5141\u8BB8\u4F7F\u7528 Token \u8BA4\u8BC1\u4E0E Cookies \u8BA4\u8BC1<br> \u8981\u65B0\u5EFA\u4E00\u4E2A Token\uFF0C\u5728\u8FDB\u5165\u7BA1\u7406\u9762\u677F\u540E\uFF0C\u70B9\u51FB\u53F3\u4E0A\u89D2\u7684\u5934\u50CF\uFF0C\u9009\u62E9 \u201CAPI Token\u201D\uFF0C\u8FDB\u5165 Token \u7BA1\u7406\u9875\u9762<br> \u70B9\u51FB \u201C\u6DFB\u52A0 Token\u201D\uFF0C\u81EA\u5B9A\u4E49\u5907\u6CE8\u540E\uFF0C\u70B9\u51FB \u201C\u6DFB\u52A0\u201D<br> \u5982\u9700\u5220\u9664\u4E00\u4E2A Token\uFF0C\u8BF7\u9009\u62E9\u76F8\u5E94\u7684 Token\uFF0C\u70B9\u51FB\u53F3\u4FA7\u7684\u5220\u9664\u56FE\u6807</p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>Token \u662F API \u63A5\u53E3\u7684\u9274\u6743\u5DE5\u5177\uFF0C\u5B83\u5BF9\u4F60\u7684\u9762\u677F\u7684\u4FE1\u606F\u5B89\u5168\u975E\u5E38\u91CD\u8981\uFF0C\u8BF7\u4E0D\u8981\u6CC4\u6F0F\u4F60\u7684 Token \u7ED9\u4ED6\u4EBA</p></div><h2 id="\u8BA4\u8BC1\u65B9\u5F0F" tabindex="-1">\u8BA4\u8BC1\u65B9\u5F0F <a class="header-anchor" href="#\u8BA4\u8BC1\u65B9\u5F0F" aria-hidden="true">#</a></h2><p>Token \u8BA4\u8BC1\u65B9\u5F0F\uFF1A</p><div class="language-"><pre><code>Request Headers:
|
||||
Authorization: Token
|
||||
</code></pre></div><h2 id="\u4F7F\u7528\u8BF4\u660E" tabindex="-1">\u4F7F\u7528\u8BF4\u660E <a class="header-anchor" href="#\u4F7F\u7528\u8BF4\u660E" aria-hidden="true">#</a></h2><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>\u4E0B\u9762\u793A\u4F8B\u4E2D\u7684\u8D1F\u6570\u65F6\u95F4\u6233\u4E3A\uFF080000-00-00\uFF09<br> \u76EE\u524D\u8868\u793A Dashboard \u4E0A\u7EBF\u540E\u8BE5 Agent \u4ECE\u672A\u6C47\u62A5\u8FC7<br> \u4F46\u4E0D\u5EFA\u8BAE\u7528\u6B63\u8D1F\u6027\u5224\u65AD\u72B6\u6001</p></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p><strong>\u8BF7\u6C42\u65B9\u5F0F\u4E3A <code>Get</code>\uFF0C\u8FD4\u56DE\u683C\u5F0F\u4E3A <code>JSON</code></strong></p></div><ul><li>\u83B7\u53D6\u670D\u52A1\u5668\u5217\u8868\uFF1A<code>GET /api/v1/server/list?tag=</code><br> query: tag (ServerTag \u662F\u670D\u52A1\u5668\u7684\u5206\u7EC4\uFF0C\u63D0\u4F9B\u6B64\u53C2\u6570\u5219\u4EC5\u67E5\u8BE2\u8BE5\u5206\u7EC4\u4E2D\u7684\u670D\u52A1\u5668)</li></ul><p>JSON \u8FD4\u56DE\u793A\u4F8B\uFF1A</p><div class="language-"><pre><code>{
|
||||
"code": 0,
|
||||
@@ -1 +1 @@
|
||||
import{_ as t,c as o,o as u,a as q}from"./app.3817bf4e.js";const T='{"title":"\u521B\u5EFA Token","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u521B\u5EFA Token","slug":"\u521B\u5EFA-token"},{"level":2,"title":"\u8BA4\u8BC1\u65B9\u5F0F","slug":"\u8BA4\u8BC1\u65B9\u5F0F"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"guide/api.md","lastUpdated":1682076617000}',n={},e=q("",16),a=[e];function s(r,i,d,l,c,p){return u(),o("div",null,a)}var g=t(n,[["render",s]]);export{T as __pageData,g as default};
|
||||
import{_ as t,c as o,o as u,a as q}from"./app.38e99b9a.js";const T='{"title":"\u521B\u5EFA Token","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u521B\u5EFA Token","slug":"\u521B\u5EFA-token"},{"level":2,"title":"\u8BA4\u8BC1\u65B9\u5F0F","slug":"\u8BA4\u8BC1\u65B9\u5F0F"},{"level":2,"title":"\u4F7F\u7528\u8BF4\u660E","slug":"\u4F7F\u7528\u8BF4\u660E"}],"relativePath":"guide/api.md","lastUpdated":1682077347000}',n={},e=q("",16),a=[e];function s(r,i,d,l,c,p){return u(),o("div",null,a)}var g=t(n,[["render",s]]);export{T as __pageData,g as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as e,c as a,o as t,a as n}from"./app.3817bf4e.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\u53D6 Github/Jihulab \u7684 Client ID \u548C\u5BC6\u94A5","slug":"\u83B7\u53D6-github-jihulab-\u7684-client-id-\u548C\u5BC6\u94A5"},{"level":2,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5 Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5-dashboard"},{"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\u7F6E SSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6E-ssl"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"\u542F\u7528HTTPS\u540E/terminal\u6216/ws\u4E0D\u80FD\u6B63\u5E38\u8FDE\u63A5\u600E\u4E48\u529E?","slug":"\u542F\u7528https\u540E-terminal\u6216-ws\u4E0D\u80FD\u6B63\u5E38\u8FDE\u63A5\u600E\u4E48\u529E"},{"level":3,"title":"\u6211\u5BF9\u9762\u677F\u63D0\u4F9B\u7684\u6570\u636E\u4FEE\u6539/\u589E\u52A0\u529F\u80FD\u4E0D\u6EE1\u610F\uFF0C\u6211\u60F3\u8981\u81EA\u5DF1\u4FEE\u6539/\u589E\u52A0\u6570\u636E\u600E\u4E48\u529E\uFF1F","slug":"\u6211\u5BF9\u9762\u677F\u63D0\u4F9B\u7684\u6570\u636E\u4FEE\u6539-\u589E\u52A0\u529F\u80FD\u4E0D\u6EE1\u610F\uFF0C\u6211\u60F3\u8981\u81EA\u5DF1\u4FEE\u6539-\u589E\u52A0\u6570\u636E\u600E\u4E48\u529E\uFF1F"},{"level":3,"title":"\u6570\u636E\u5E93\u4E2D\u5404\u8868/\u5217\u662F\u4EC0\u4E48\u610F\u601D\uFF1F","slug":"\u6570\u636E\u5E93\u4E2D\u5404\u8868-\u5217\u662F\u4EC0\u4E48\u610F\u601D\uFF1F"},{"level":3,"title":"Dashboard \u4F1A\u81EA\u52A8\u66F4\u65B0\u5417\uFF1F","slug":"dashboard-\u4F1A\u81EA\u52A8\u66F4\u65B0\u5417\uFF1F"},{"level":3,"title":"\u5982\u4F55\u66F4\u65B0 Dashboard\uFF1F","slug":"\u5982\u4F55\u66F4\u65B0-dashboard\uFF1F"}],"relativePath":"guide/dashboard.md","lastUpdated":1682076617000}',s={},o=n(`<h2 id="\u51C6\u5907\u5DE5\u4F5C" tabindex="-1">\u51C6\u5907\u5DE5\u4F5C <a class="header-anchor" href="#\u51C6\u5907\u5DE5\u4F5C" aria-hidden="true">#</a></h2><p>\u642D\u5EFA\u4E00\u4E2A\u54EA\u5412\u76D1\u63A7\uFF0C\u4F60\u9700\u8981\uFF1A</p><ol><li>\u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684 VPS\uFF0C\u9632\u706B\u5899\u548C\u5B89\u5168\u7B56\u7565\u9700\u8981\u653E\u884C 8008 \u548C 5555 \u7AEF\u53E3\uFF0C\u5426\u5219\u4F1A\u65E0\u6CD5\u8BBF\u95EE\u548C\u65E0\u6CD5\u63A5\u6536\u6570\u636E\u3002\u5355\u6838 512MB \u5185\u5B58\u7684\u670D\u52A1\u5668\u914D\u7F6E\u5C31\u8DB3\u4EE5\u6EE1\u8DB3\u5927\u591A\u6570\u4F7F\u7528\u573A\u666F</li><li>\u4E00\u4E2A\u5DF2\u7ECF\u8BBE\u7F6E\u597D A \u8BB0\u5F55\uFF0C\u6307\u5411 Dashboard \u670D\u52A1\u5668 ip \u7684\u57DF\u540D</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\u5982\u679C\u4F60\u60F3\u4F7F\u7528 CDN\uFF0C\u8BF7\u51C6\u5907\u4E24\u4E2A\u57DF\u540D\uFF0C\u4E00\u4E2A\u914D\u7F6E\u597D CDN \u7528\u4F5C\u516C\u5F00\u8BBF\u95EE\uFF0CCDN \u9700\u8981\u652F\u6301WebSocket \u534F\u8BAE\uFF1B\u53E6\u4E00\u4E2A\u57DF\u540D\u4E0D\u8981\u4F7F\u7528 CDN\uFF0C\u7528\u4F5C Agent \u7AEF\u4E0E Dashboard \u7684\u901A\u4FE1<br> \u672C\u6587\u6863\u5206\u522B\u4EE5 "<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">cdn.example.com</a>" \u548C "<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>" \u4E24\u4E2A\u57DF\u540D\u6765\u6F14\u793A</p></div><ol start="3"><li>\u4E00\u4E2A Github \u8D26\u53F7\uFF08\u6216\uFF1AGitlab\u3001Jihulab\u3001Gitee\uFF09</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\u5982\u679C\u60A8\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u8BBF\u95EE Github \u6709\u56F0\u96BE\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\u9009\u62E9 Jihulab \u4F5C\u4E3A OAuth \u63D0\u4F9B\u5546</p></div><p><strong>\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</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>\u672C\u9879\u76EE\u5E76\u4E0D\u4F9D\u8D56\u5B9D\u5854\uFF0C\u4F60\u53EF\u4EE5\u9009\u62E9\u4F7F\u7528\u4F60\u559C\u6B22\u7684\u4EFB\u4F55\u670D\u52A1\u5668\u9762\u677F\uFF0C\u5982\u679C\u4F60\u80FD\u529B\u8DB3\u591F\uFF0C\u53EF\u4EE5\u624B\u52A8\u5B89\u88C5 NginX \u6216 Caddy \u6765\u914D\u7F6E SSL \u548C\u53CD\u4EE3\u3002<br> \u5982\u679C\u4F60\u8BA4\u4E3A\u6CA1\u6709\u5FC5\u8981\u4F7F\u7528 80\u3001443 \u7AEF\u53E3\u6765\u8BBF\u95EE Dashboard\uFF0C\u4F60\u751A\u81F3\u4E0D\u9700\u8981\u5B89\u88C5 NginX \u5C31\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528\u5B89\u88C5\u811A\u672C\u3002</p></div><br><br><h2 id="\u83B7\u53D6-github-jihulab-\u7684-client-id-\u548C\u5
Line truncated
|
||||
import{_ as e,c as a,o as t,a as n}from"./app.38e99b9a.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\u53D6 Github/Jihulab \u7684 Client ID \u548C\u5BC6\u94A5","slug":"\u83B7\u53D6-github-jihulab-\u7684-client-id-\u548C\u5BC6\u94A5"},{"level":2,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5 Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5-dashboard"},{"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\u7F6E SSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6E-ssl"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"\u542F\u7528HTTPS\u540E/terminal\u6216/ws\u4E0D\u80FD\u6B63\u5E38\u8FDE\u63A5\u600E\u4E48\u529E?","slug":"\u542F\u7528https\u540E-terminal\u6216-ws\u4E0D\u80FD\u6B63\u5E38\u8FDE\u63A5\u600E\u4E48\u529E"},{"level":3,"title":"\u6211\u5BF9\u9762\u677F\u63D0\u4F9B\u7684\u6570\u636E\u4FEE\u6539/\u589E\u52A0\u529F\u80FD\u4E0D\u6EE1\u610F\uFF0C\u6211\u60F3\u8981\u81EA\u5DF1\u4FEE\u6539/\u589E\u52A0\u6570\u636E\u600E\u4E48\u529E\uFF1F","slug":"\u6211\u5BF9\u9762\u677F\u63D0\u4F9B\u7684\u6570\u636E\u4FEE\u6539-\u589E\u52A0\u529F\u80FD\u4E0D\u6EE1\u610F\uFF0C\u6211\u60F3\u8981\u81EA\u5DF1\u4FEE\u6539-\u589E\u52A0\u6570\u636E\u600E\u4E48\u529E\uFF1F"},{"level":3,"title":"\u6570\u636E\u5E93\u4E2D\u5404\u8868/\u5217\u662F\u4EC0\u4E48\u610F\u601D\uFF1F","slug":"\u6570\u636E\u5E93\u4E2D\u5404\u8868-\u5217\u662F\u4EC0\u4E48\u610F\u601D\uFF1F"},{"level":3,"title":"Dashboard \u4F1A\u81EA\u52A8\u66F4\u65B0\u5417\uFF1F","slug":"dashboard-\u4F1A\u81EA\u52A8\u66F4\u65B0\u5417\uFF1F"},{"level":3,"title":"\u5982\u4F55\u66F4\u65B0 Dashboard\uFF1F","slug":"\u5982\u4F55\u66F4\u65B0-dashboard\uFF1F"}],"relativePath":"guide/dashboard.md","lastUpdated":1682077347000}',s={},o=n(`<h2 id="\u51C6\u5907\u5DE5\u4F5C" tabindex="-1">\u51C6\u5907\u5DE5\u4F5C <a class="header-anchor" href="#\u51C6\u5907\u5DE5\u4F5C" aria-hidden="true">#</a></h2><p>\u642D\u5EFA\u4E00\u4E2A\u54EA\u5412\u76D1\u63A7\uFF0C\u4F60\u9700\u8981\uFF1A</p><ol><li>\u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684 VPS\uFF0C\u9632\u706B\u5899\u548C\u5B89\u5168\u7B56\u7565\u9700\u8981\u653E\u884C 8008 \u548C 5555 \u7AEF\u53E3\uFF0C\u5426\u5219\u4F1A\u65E0\u6CD5\u8BBF\u95EE\u548C\u65E0\u6CD5\u63A5\u6536\u6570\u636E\u3002\u5355\u6838 512MB \u5185\u5B58\u7684\u670D\u52A1\u5668\u914D\u7F6E\u5C31\u8DB3\u4EE5\u6EE1\u8DB3\u5927\u591A\u6570\u4F7F\u7528\u573A\u666F</li><li>\u4E00\u4E2A\u5DF2\u7ECF\u8BBE\u7F6E\u597D A \u8BB0\u5F55\uFF0C\u6307\u5411 Dashboard \u670D\u52A1\u5668 ip \u7684\u57DF\u540D</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\u5982\u679C\u4F60\u60F3\u4F7F\u7528 CDN\uFF0C\u8BF7\u51C6\u5907\u4E24\u4E2A\u57DF\u540D\uFF0C\u4E00\u4E2A\u914D\u7F6E\u597D CDN \u7528\u4F5C\u516C\u5F00\u8BBF\u95EE\uFF0CCDN \u9700\u8981\u652F\u6301WebSocket \u534F\u8BAE\uFF1B\u53E6\u4E00\u4E2A\u57DF\u540D\u4E0D\u8981\u4F7F\u7528 CDN\uFF0C\u7528\u4F5C Agent \u7AEF\u4E0E Dashboard \u7684\u901A\u4FE1<br> \u672C\u6587\u6863\u5206\u522B\u4EE5 "<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">cdn.example.com</a>" \u548C "<a href="http://data.example.com" target="_blank" rel="noopener noreferrer">data.example.com</a>" \u4E24\u4E2A\u57DF\u540D\u6765\u6F14\u793A</p></div><ol start="3"><li>\u4E00\u4E2A Github \u8D26\u53F7\uFF08\u6216\uFF1AGitlab\u3001Jihulab\u3001Gitee\uFF09</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\u5982\u679C\u60A8\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u8BBF\u95EE Github \u6709\u56F0\u96BE\uFF0C\u6211\u4EEC\u5EFA\u8BAE\u60A8\u9009\u62E9 Jihulab \u4F5C\u4E3A OAuth \u63D0\u4F9B\u5546</p></div><p><strong>\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</strong></p><div class="warning custom-block"><p class="custom-block-title">WARNING</p><p>\u672C\u9879\u76EE\u5E76\u4E0D\u4F9D\u8D56\u5B9D\u5854\uFF0C\u4F60\u53EF\u4EE5\u9009\u62E9\u4F7F\u7528\u4F60\u559C\u6B22\u7684\u4EFB\u4F55\u670D\u52A1\u5668\u9762\u677F\uFF0C\u5982\u679C\u4F60\u80FD\u529B\u8DB3\u591F\uFF0C\u53EF\u4EE5\u624B\u52A8\u5B89\u88C5 NginX \u6216 Caddy \u6765\u914D\u7F6E SSL \u548C\u53CD\u4EE3\u3002<br> \u5982\u679C\u4F60\u8BA4\u4E3A\u6CA1\u6709\u5FC5\u8981\u4F7F\u7528 80\u3001443 \u7AEF\u53E3\u6765\u8BBF\u95EE Dashboard\uFF0C\u4F60\u751A\u81F3\u4E0D\u9700\u8981\u5B89\u88C5 NginX \u5C31\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528\u5B89\u88C5\u811A\u672C\u3002</p></div><br><br><h2 id="\u83B7\u53D6-github-jihulab-\u7684-client-id-\u548C\u5
Line truncated
|
||||
</code></pre></div><p>\u5982\u679C\u4F60\u7684\u9762\u677F\u670D\u52A1\u5668\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u53EF\u4EE5\u4F7F\u7528\u955C\u50CF\uFF1A</p><div class="language-bash"><pre><code><span class="token function">curl</span> -L https://cdn.jsdelivr.net/gh/naiba/nezha@master/script/install.sh -o nezha.sh <span class="token operator">&&</span> <span class="token function">chmod</span> +x nezha.sh <span class="token operator">&&</span> <span class="token function">sudo</span> <span class="token assign-left variable">CN</span><span class="token operator">=</span>true ./nezha.sh
|
||||
</code></pre></div><ul><li><p>\u7B49\u5F85Docker\u5B89\u88C5\u5B8C\u6BD5\u540E\uFF0C\u5206\u522B\u8F93\u5165\u4EE5\u4E0B\u503C\uFF1A<br><code>OAuth\u63D0\u4F9B\u5546</code> - Github\uFF0CGitlab\uFF0CJihulab\uFF0CGitee \u4E2D\u9009\u62E9\u4E00\u4E2A<br><code>Client ID</code> - \u4E4B\u524D\u4FDD\u5B58\u7684 Client ID<br><code>Client Secret</code> - \u4E4B\u524D\u4FDD\u5B58\u7684\u5BC6\u94A5<br><code>\u7528\u6237\u540D</code> - OAuth \u63D0\u4F9B\u5546\u4E2D\u7684\u7528\u6237\u540D<br><code>\u7AD9\u70B9\u6807\u9898</code> - \u81EA\u5B9A\u4E49\u7AD9\u70B9\u6807\u9898<br><code>\u8BBF\u95EE\u7AEF\u53E3</code> - \u516C\u5F00\u8BBF\u95EE\u7AEF\u53E3\uFF0C\u53EF\u81EA\u5B9A\u4E49\uFF0C\u9ED8\u8BA4 8008<br><code>Agent\u7684\u901A\u4FE1\u7AEF\u53E3</code> - Agent\u4E0EDashboard\u7684\u901A\u4FE1\u7AEF\u53E3\uFF0C\u9ED8\u8BA4 5555</p></li><li><p>\u8F93\u5165\u5B8C\u6210\u540E\uFF0C\u7B49\u5F85\u62C9\u53D6\u955C\u50CF<br> \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 \u201C<a href="http://cdn.example.com:8008" target="_blank" rel="noopener noreferrer">http://cdn.example.com:8008</a>\u201D \u6765\u67E5\u770B\u9762\u677F</p></li><li><p>\u5C06\u6765\u5982\u679C\u9700\u8981\u518D\u6B21\u8FD0\u884C\u811A\u672C\uFF0C\u53EF\u4EE5\u8FD0\u884C\uFF1A</p></li></ul><div class="language-bash"><pre><code>./nezha.sh
|
||||
</code></pre></div><p>\u6765\u6253\u5F00\u7BA1\u7406\u811A\u672C<br><br><br></p><h2 id="\u914D\u7F6E\u53CD\u5411\u4EE3\u7406" tabindex="-1">\u914D\u7F6E\u53CD\u5411\u4EE3\u7406 <a class="header-anchor" href="#\u914D\u7F6E\u53CD\u5411\u4EE3\u7406" aria-hidden="true">#</a></h2><ul><li><p>\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 \u201C<a href="http://cdn.example.com" target="_blank" rel="noopener noreferrer">http://cdn.example.com</a>\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</p></li><li><p>\u81EA\u5B9A\u4E49\u4E00\u4E2A\u4EE3\u7406\u540D\u79F0\uFF0C\u5728\u4E0B\u65B9\u201C\u76EE\u6807 URL\u201D\u4E2D\u586B\u5165 <code>http://127.0.0.1</code> \u7136\u540E\u70B9\u51FB\u201C\u4FDD\u5B58\u201D</p></li><li><p>\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</p></li></ul><div class="language-nginx"><pre><code><span class="token comment">#PROXY-START/</span>
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as e,c as a,o as t,a as n}from"./app.3817bf4e.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\u53D6 Github/Jihulab \u7684 Client ID \u548C\u5BC6\u94A5","slug":"\u83B7\u53D6-github-jihulab-\u7684-client-id-\u548C\u5BC6\u94A5"},{"level":2,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5 Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5-dashboard"},{"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\u7F6E SSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6E-ssl"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"\u542F\u7528HTTPS\u540E/terminal\u6216/ws\u4E0D\u80FD\u6B63\u5E38\u8FDE\u63A5\u600E\u4E48\u529E?","slug":"\u542F\u7528https\u540E-terminal\u6216-ws\u4E0D\u80FD\u6B63\u5E38\u8FDE\u63A5\u600E\u4E48\u529E"},{"level":3,"title":"\u6211\u5BF9\u9762\u677F\u63D0\u4F9B\u7684\u6570\u636E\u4FEE\u6539/\u589E\u52A0\u529F\u80FD\u4E0D\u6EE1\u610F\uFF0C\u6211\u60F3\u8981\u81EA\u5DF1\u4FEE\u6539/\u589E\u52A0\u6570\u636E\u600E\u4E48\u529E\uFF1F","slug":"\u6211\u5BF9\u9762\u677F\u63D0\u4F9B\u7684\u6570\u636E\u4FEE\u6539-\u589E\u52A0\u529F\u80FD\u4E0D\u6EE1\u610F\uFF0C\u6211\u60F3\u8981\u81EA\u5DF1\u4FEE\u6539-\u589E\u52A0\u6570\u636E\u600E\u4E48\u529E\uFF1F"},{"level":3,"title":"\u6570\u636E\u5E93\u4E2D\u5404\u8868/\u5217\u662F\u4EC0\u4E48\u610F\u601D\uFF1F","slug":"\u6570\u636E\u5E93\u4E2D\u5404\u8868-\u5217\u662F\u4EC0\u4E48\u610F\u601D\uFF1F"},{"level":3,"title":"Dashboard \u4F1A\u81EA\u52A8\u66F4\u65B0\u5417\uFF1F","slug":"dashboard-\u4F1A\u81EA\u52A8\u66F4\u65B0\u5417\uFF1F"},{"level":3,"title":"\u5982\u4F55\u66F4\u65B0 Dashboard\uFF1F","slug":"\u5982\u4F55\u66F4\u65B0-dashboard\uFF1F"}],"relativePath":"guide/dashboard.md","lastUpdated":1682076617000}',s={},o=n("",44),r=[o];function p(l,c,i,d,h,u){return t(),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 t,a as n}from"./app.38e99b9a.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\u53D6 Github/Jihulab \u7684 Client ID \u548C\u5BC6\u94A5","slug":"\u83B7\u53D6-github-jihulab-\u7684-client-id-\u548C\u5BC6\u94A5"},{"level":2,"title":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5 Dashboard","slug":"\u5728\u670D\u52A1\u5668\u4E2D\u5B89\u88C5-dashboard"},{"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\u7F6E SSL","slug":"\u5728\u5B9D\u5854\u9762\u677F\u4E2D\u914D\u7F6E-ssl"},{"level":2,"title":"FAQ","slug":"faq"},{"level":3,"title":"\u542F\u7528HTTPS\u540E/terminal\u6216/ws\u4E0D\u80FD\u6B63\u5E38\u8FDE\u63A5\u600E\u4E48\u529E?","slug":"\u542F\u7528https\u540E-terminal\u6216-ws\u4E0D\u80FD\u6B63\u5E38\u8FDE\u63A5\u600E\u4E48\u529E"},{"level":3,"title":"\u6211\u5BF9\u9762\u677F\u63D0\u4F9B\u7684\u6570\u636E\u4FEE\u6539/\u589E\u52A0\u529F\u80FD\u4E0D\u6EE1\u610F\uFF0C\u6211\u60F3\u8981\u81EA\u5DF1\u4FEE\u6539/\u589E\u52A0\u6570\u636E\u600E\u4E48\u529E\uFF1F","slug":"\u6211\u5BF9\u9762\u677F\u63D0\u4F9B\u7684\u6570\u636E\u4FEE\u6539-\u589E\u52A0\u529F\u80FD\u4E0D\u6EE1\u610F\uFF0C\u6211\u60F3\u8981\u81EA\u5DF1\u4FEE\u6539-\u589E\u52A0\u6570\u636E\u600E\u4E48\u529E\uFF1F"},{"level":3,"title":"\u6570\u636E\u5E93\u4E2D\u5404\u8868/\u5217\u662F\u4EC0\u4E48\u610F\u601D\uFF1F","slug":"\u6570\u636E\u5E93\u4E2D\u5404\u8868-\u5217\u662F\u4EC0\u4E48\u610F\u601D\uFF1F"},{"level":3,"title":"Dashboard \u4F1A\u81EA\u52A8\u66F4\u65B0\u5417\uFF1F","slug":"dashboard-\u4F1A\u81EA\u52A8\u66F4\u65B0\u5417\uFF1F"},{"level":3,"title":"\u5982\u4F55\u66F4\u65B0 Dashboard\uFF1F","slug":"\u5982\u4F55\u66F4\u65B0-dashboard\uFF1F"}],"relativePath":"guide/dashboard.md","lastUpdated":1682077347000}',s={},o=n("",44),r=[o];function p(l,c,i,d,h,u){return t(),a("div",null,r)}var m=e(s,[["render",p]]);export{k as __pageData,m as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as a,c as s,o as e,a as n}from"./app.3817bf4e.js";const b='{"title":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","slug":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F"},{"level":2,"title":"\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801\\\\\u5220\u9664\u67E5\u770B\u5BC6\u7801","slug":"\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801-\u5220\u9664\u67E5\u770B\u5BC6\u7801"},{"level":2,"title":"\u9762\u677F\u5B89\u88C5/\u91CD\u542F/\u66F4\u65B0\u5931\u8D25: iptables ......","slug":"\u9762\u677F\u5B89\u88C5-\u91CD\u542F-\u66F4\u65B0\u5931\u8D25-iptables"},{"level":2,"title":"\u9762\u677F\u91CD\u542F\u5931\u8D25\uFF1AInvalid hostPort: nzsiteport \u7B49","slug":"\u9762\u677F\u91CD\u542F\u5931\u8D25\uFF1Ainvalid-hostport-nz-site-port-\u7B49"},{"level":2,"title":"\u9762\u677F\u5E03\u5C40\u9519\u8BEF\u3001CSS \u8D44\u6E90\u65E0\u6CD5\u88AB\u52A0\u8F7D","slug":"\u9762\u677F\u5E03\u5C40\u9519\u8BEF\u3001css-\u8D44\u6E90\u65E0\u6CD5\u88AB\u52A0\u8F7D"}],"relativePath":"guide/dashboardq.md","lastUpdated":1682076617000}',t={},o=n(`<h2 id="\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F" tabindex="-1">\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F <a class="header-anchor" href="#\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F" aria-hidden="true">#</a></h2><p>\u9996\u5148\u89E3\u91CA\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684IP\u662F\u600E\u4E48\u5F97\u5230\u7684\uFF1AAgent \u4F1A\u6BCF\u9694\u4E00\u6BB5\u65F6\u95F4\u8BF7\u6C42\u4E00\u904D IP-API\uFF0C\u83B7\u53D6\u5230 IP \u4FE1\u606F\u540E\u4E0A\u62A5\u5230 Dashboard\uFF0C\u76EE\u524D\u4F7F\u7528\u7684 IP-API \u53EF\u5728\u6B64\u67E5\u770B\uFF1A<a href="https://github.com/naiba/nezha/blob/master/cmd/agent/monitor/myip.go" target="_blank" rel="noopener noreferrer">myip.go</a>\u3002<br> \u5982\u60A8\u53D1\u73B0\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C\u670D\u52A1\u5546\u63D0\u4F9B\u7ED9\u60A8\u7684 IP \u4E0D\u4E00\u81F4\uFF0C\u6700\u5927\u7684\u53EF\u80FD\u662F\u670D\u52A1\u5546\u7ED9\u60A8\u7684\u662F<strong>\u5165\u53E3 IP</strong>\uFF0C\u4F46Agent\u6D4B\u8BD5\u7684\u662F\u60A8\u7684<strong>\u51FA\u53E3 IP</strong>\u3002\u8FD9\u4E2A\u95EE\u9898\u4E5F\u53EF\u80FD\u4F1A\u51FA\u73B0\u5728\u591A\u7EBF\u670D\u52A1\u5668\u548C IPLC \u4E13\u7EBF\u4E2D\u3002</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\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\u670D\u52A1\u5668\uFF0C\u4E3A\u4E86\u540C\u65F6\u6EE1\u8DB3\u9AD8\u9632\u548C\u4F4E\u7F51\u7EDC\u4E2D\u65AD\u7387\u7684\u76EE\u6807\uFF0C\u63D0\u4F9B\u7ED9\u60A8\u7684 IP \u53EF\u80FD\u662F\u7ECF\u8FC7\u6620\u5C04\u540E\u7684\u9AD8\u9632 IP \u800C\u5E76\u975E\u60A8\u670D\u52A1\u5668\u7684\u771F\u5B9E\u51FA\u53E3 IP</p></div><p>\u60A8\u4E5F\u53EF\u4EE5\u5728 Agent \u670D\u52A1\u5668\u4E2D\u8FD0\u884C\u4EE5\u4E0B\u547D\u4EE4\u6D4B\u8BD5\u51FA\u53E3IP:</p><div class="language-shell"><pre><code><span class="token function">curl</span> api.myip.la
|
||||
import{_ as a,c as s,o as e,a as n}from"./app.38e99b9a.js";const b='{"title":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","slug":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F"},{"level":2,"title":"\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801\\\\\u5220\u9664\u67E5\u770B\u5BC6\u7801","slug":"\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801-\u5220\u9664\u67E5\u770B\u5BC6\u7801"},{"level":2,"title":"\u9762\u677F\u5B89\u88C5/\u91CD\u542F/\u66F4\u65B0\u5931\u8D25: iptables ......","slug":"\u9762\u677F\u5B89\u88C5-\u91CD\u542F-\u66F4\u65B0\u5931\u8D25-iptables"},{"level":2,"title":"\u9762\u677F\u91CD\u542F\u5931\u8D25\uFF1AInvalid hostPort: nzsiteport \u7B49","slug":"\u9762\u677F\u91CD\u542F\u5931\u8D25\uFF1Ainvalid-hostport-nz-site-port-\u7B49"},{"level":2,"title":"\u9762\u677F\u5E03\u5C40\u9519\u8BEF\u3001CSS \u8D44\u6E90\u65E0\u6CD5\u88AB\u52A0\u8F7D","slug":"\u9762\u677F\u5E03\u5C40\u9519\u8BEF\u3001css-\u8D44\u6E90\u65E0\u6CD5\u88AB\u52A0\u8F7D"}],"relativePath":"guide/dashboardq.md","lastUpdated":1682077347000}',t={},o=n(`<h2 id="\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F" tabindex="-1">\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F <a class="header-anchor" href="#\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F" aria-hidden="true">#</a></h2><p>\u9996\u5148\u89E3\u91CA\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684IP\u662F\u600E\u4E48\u5F97\u5230\u7684\uFF1AAgent \u4F1A\u6BCF\u9694\u4E00\u6BB5\u65F6\u95F4\u8BF7\u6C42\u4E00\u904D IP-API\uFF0C\u83B7\u53D6\u5230 IP \u4FE1\u606F\u540E\u4E0A\u62A5\u5230 Dashboard\uFF0C\u76EE\u524D\u4F7F\u7528\u7684 IP-API \u53EF\u5728\u6B64\u67E5\u770B\uFF1A<a href="https://github.com/naiba/nezha/blob/master/cmd/agent/monitor/myip.go" target="_blank" rel="noopener noreferrer">myip.go</a>\u3002<br> \u5982\u60A8\u53D1\u73B0\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C\u670D\u52A1\u5546\u63D0\u4F9B\u7ED9\u60A8\u7684 IP \u4E0D\u4E00\u81F4\uFF0C\u6700\u5927\u7684\u53EF\u80FD\u662F\u670D\u52A1\u5546\u7ED9\u60A8\u7684\u662F<strong>\u5165\u53E3 IP</strong>\uFF0C\u4F46Agent\u6D4B\u8BD5\u7684\u662F\u60A8\u7684<strong>\u51FA\u53E3 IP</strong>\u3002\u8FD9\u4E2A\u95EE\u9898\u4E5F\u53EF\u80FD\u4F1A\u51FA\u73B0\u5728\u591A\u7EBF\u670D\u52A1\u5668\u548C IPLC \u4E13\u7EBF\u4E2D\u3002</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\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\u670D\u52A1\u5668\uFF0C\u4E3A\u4E86\u540C\u65F6\u6EE1\u8DB3\u9AD8\u9632\u548C\u4F4E\u7F51\u7EDC\u4E2D\u65AD\u7387\u7684\u76EE\u6807\uFF0C\u63D0\u4F9B\u7ED9\u60A8\u7684 IP \u53EF\u80FD\u662F\u7ECF\u8FC7\u6620\u5C04\u540E\u7684\u9AD8\u9632 IP \u800C\u5E76\u975E\u60A8\u670D\u52A1\u5668\u7684\u771F\u5B9E\u51FA\u53E3 IP</p></div><p>\u60A8\u4E5F\u53EF\u4EE5\u5728 Agent \u670D\u52A1\u5668\u4E2D\u8FD0\u884C\u4EE5\u4E0B\u547D\u4EE4\u6D4B\u8BD5\u51FA\u53E3IP:</p><div class="language-shell"><pre><code><span class="token function">curl</span> api.myip.la
|
||||
<span class="token function">curl</span> ip.sb
|
||||
<span class="token function">curl</span> ip-api.com
|
||||
</code></pre></div><h2 id="\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801-\u5220\u9664\u67E5\u770B\u5BC6\u7801" tabindex="-1">\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801\\\u5220\u9664\u67E5\u770B\u5BC6\u7801 <a class="header-anchor" href="#\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801-\u5220\u9664\u67E5\u770B\u5BC6\u7801" aria-hidden="true">#</a></h2><p>\u8BF7\u67E5\u770B\u6216\u7F16\u8F91 <code>/opt/nezha/dashboard/data/config.yaml</code> \u6587\u4EF6\u3002<br> \u5BC6\u7801\u4F4D\u4E8E site-viewpassword \u9879\u4E2D\u3002</p><h2 id="\u9762\u677F\u5B89\u88C5-\u91CD\u542F-\u66F4\u65B0\u5931\u8D25-iptables" tabindex="-1">\u9762\u677F\u5B89\u88C5/\u91CD\u542F/\u66F4\u65B0\u5931\u8D25: iptables ...... <a class="header-anchor" href="#\u9762\u677F\u5B89\u88C5-\u91CD\u542F-\u66F4\u65B0\u5931\u8D25-iptables" aria-hidden="true">#</a></h2><p>\u9996\u5148\u5C1D\u8BD5\u91CD\u542F Docker \u518D\u64CD\u4F5C</p><div class="language-shell"><pre><code>systemctl status <span class="token function">docker</span>
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as a,c as s,o as e,a as n}from"./app.3817bf4e.js";const b='{"title":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","slug":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F"},{"level":2,"title":"\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801\\\\\u5220\u9664\u67E5\u770B\u5BC6\u7801","slug":"\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801-\u5220\u9664\u67E5\u770B\u5BC6\u7801"},{"level":2,"title":"\u9762\u677F\u5B89\u88C5/\u91CD\u542F/\u66F4\u65B0\u5931\u8D25: iptables ......","slug":"\u9762\u677F\u5B89\u88C5-\u91CD\u542F-\u66F4\u65B0\u5931\u8D25-iptables"},{"level":2,"title":"\u9762\u677F\u91CD\u542F\u5931\u8D25\uFF1AInvalid hostPort: nzsiteport \u7B49","slug":"\u9762\u677F\u91CD\u542F\u5931\u8D25\uFF1Ainvalid-hostport-nz-site-port-\u7B49"},{"level":2,"title":"\u9762\u677F\u5E03\u5C40\u9519\u8BEF\u3001CSS \u8D44\u6E90\u65E0\u6CD5\u88AB\u52A0\u8F7D","slug":"\u9762\u677F\u5E03\u5C40\u9519\u8BEF\u3001css-\u8D44\u6E90\u65E0\u6CD5\u88AB\u52A0\u8F7D"}],"relativePath":"guide/dashboardq.md","lastUpdated":1682076617000}',t={},o=n("",18),i=[o];function p(l,r,c,d,h,u){return e(),s("div",null,i)}var k=a(t,[["render",p]]);export{b as __pageData,k as default};
|
||||
import{_ as a,c as s,o as e,a as n}from"./app.38e99b9a.js";const b='{"title":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684 IP \u548C Agent \u5B9E\u9645 IP \u4E0D\u4E00\u81F4\uFF1F","slug":"\u4E3A\u4EC0\u4E48\u7BA1\u7406\u9762\u677F\u4E2D\u663E\u793A\u7684-ip-\u548C-agent-\u5B9E\u9645-ip-\u4E0D\u4E00\u81F4\uFF1F"},{"level":2,"title":"\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801\\\\\u5220\u9664\u67E5\u770B\u5BC6\u7801","slug":"\u5FD8\u8BB0\u67E5\u770B\u5BC6\u7801-\u5220\u9664\u67E5\u770B\u5BC6\u7801"},{"level":2,"title":"\u9762\u677F\u5B89\u88C5/\u91CD\u542F/\u66F4\u65B0\u5931\u8D25: iptables ......","slug":"\u9762\u677F\u5B89\u88C5-\u91CD\u542F-\u66F4\u65B0\u5931\u8D25-iptables"},{"level":2,"title":"\u9762\u677F\u91CD\u542F\u5931\u8D25\uFF1AInvalid hostPort: nzsiteport \u7B49","slug":"\u9762\u677F\u91CD\u542F\u5931\u8D25\uFF1Ainvalid-hostport-nz-site-port-\u7B49"},{"level":2,"title":"\u9762\u677F\u5E03\u5C40\u9519\u8BEF\u3001CSS \u8D44\u6E90\u65E0\u6CD5\u88AB\u52A0\u8F7D","slug":"\u9762\u677F\u5E03\u5C40\u9519\u8BEF\u3001css-\u8D44\u6E90\u65E0\u6CD5\u88AB\u52A0\u8F7D"}],"relativePath":"guide/dashboardq.md","lastUpdated":1682077347000}',t={},o=n("",18),i=[o];function p(l,r,c,d,h,u){return e(),s("div",null,i)}var k=a(t,[["render",p]]);export{b as __pageData,k as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as i}from"./app.3817bf4e.js";const b='{"title":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\\\u62D2\u7EDD\u8FDE\u63A5\\\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\\\u62D2\u7EDD\u8FDE\u63A5\\\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F","slug":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F-\u62D2\u7EDD\u8FDE\u63A5-\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F"},{"level":3,"title":"\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F","slug":"\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F"},{"level":2,"title":"\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519","slug":"\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519"},{"level":3,"title":"http: named cookie not present","slug":"http-named-cookie-not-present"},{"level":3,"title":"lookup xxx","slug":"lookup-xxx"},{"level":3,"title":"\u6388\u6743\u65B9\u5F0F\u65E0\u6548\uFF0C\u6216\u8005\u767B\u5F55\u56DE\u8C03\u5730\u5740\u65E0\u6548\u3001\u8FC7\u671F\u6216\u5DF2\u88AB\u64A4\u9500","slug":"\u6388\u6743\u65B9\u5F0F\u65E0\u6548\uFF0C\u6216\u8005\u767B\u5F55\u56DE\u8C03\u5730\u5740\u65E0\u6548\u3001\u8FC7\u671F\u6216\u5DF2\u88AB\u64A4\u9500"},{"level":3,"title":"oauth2: server response missing access_token","slug":"oauth2-server-response-missing-access-token"},{"level":3,"title":"\u8BE5\u7528\u6237\u4E0D\u662F\u672C\u7AD9\u70B9\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u767B\u5F55","slug":"\u8BE5\u7528\u6237\u4E0D\u662F\u672C\u7AD9\u70B9\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u767B\u5F55"},{"level":3,"title":"dial tcp xxx:443 i/o timeout","slug":"dial-tcp-xxx-443-i-o-timeout"},{"level":3,"title":"net/http: TLS handshake timeout","slug":"net-http-tls-handshake-timeout"}],"relativePath":"guide/loginq.md","lastUpdated":1682076617000}',o={},s=i('<h2 id="\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F-\u62D2\u7EDD\u8FDE\u63A5-\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F" tabindex="-1">\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\u62D2\u7EDD\u8FDE\u63A5\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F <a class="header-anchor" href="#\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F-\u62D2\u7EDD\u8FDE\u63A5-\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F" aria-hidden="true">#</a></h2><p>\u8FD8\u6709\u5176\u4ED6\u4E00\u4E9B\u8868\u73B0\u5F62\u5F0F\uFF0C\u603B\u4E4B\u767B\u5F55\u540E\u6D4F\u89C8\u5668\u65E0\u6CD5\u6B63\u5E38\u663E\u793A\u3002</p><ol><li>\u60A8\u7684\u670D\u52A1\u5668\u65E0\u6CD5\u8FDE\u63A5\u5230 Github/Gitee\uFF0C\u6700\u5E38\u89C1\u4E8E\u56FD\u5185\u670D\u52A1\u5668\u914D\u7F6E Github \u60C5\u51B5\u4E0B\uFF0C\u53EF\u4EE5\u8003\u8651\u591A\u5C1D\u8BD5\u51E0\u6B21\u6216\u8005\u5207\u6362\u5230 Jihulab/Gitee\u3002</li><li>\u60A8\u914D\u7F6E\u9519\u4E86\u56DE\u8C03\u5730\u5740\uFF0C\u786E\u4FDD\u60A8\u7684\u56DE\u8C03\u5730\u5740\u6B63\u786E\u4E14<strong>\u7AEF\u53E3\u4E0E\u534F\u8BAE</strong>\u5747\u6B63\u786E\uFF01</li><li>Dashboard \u53D1\u751F\u672A\u77E5\u9519\u8BEF\uFF0C\u60A8\u53EF\u4EE5\u4F7F\u7528\u811A\u672C\u67E5\u770B\u65E5\u5FD7\uFF0C\u4F46\u6B64\u9879\u53EF\u80FD\u6027\u8F83\u4F4E\u3002</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\u4EC0\u4E48\u662F\u534F\u8BAE\uFF1F<br> \u5728\u6D4F\u89C8\u5668\u4E2D\uFF0C\u60A8\u7684\u57DF\u540D\u4EE5<code>://</code>\u7ED3\u5C3E\u7684\u5B57\u7B26\u4E32\u5373\u4E3A\u534F\u8BAE\uFF0C\u901A\u5E38\u4E3A <code>http</code> \u548C <code>https</code> \u4E24\u79CD\u3002\u7531\u4E8E\u6B63\u5E38\u90E8\u7F72\u60C5\u51B5\u4E0B\u9762\u677F\u53EF\u80FD\u6709\u591A\u79CD\u534F\u8BAE+\u57DF\u540D+\u7AEF\u53E3\u7EC4\u5408\u5747\u53EF\u8BBF\u95EE\uFF0C\u8BF7\u52A1\u5FC5\u9009\u4E00\u4E2A\u6700\u5408\u9002\u7684\u4F5C\u4E3A\u56DE\u8C03\u3002</p></div><h3 id="\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F" tabindex="-1">\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F <a class="header-anchor" href="#\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F" aria-hidden="true">#</a></h3><p>\u8BF7\u786E\u4FDD\u767B\u5F55\u524D\u6D4F\u89C8\u5668\u663E\u793A\u7684\u534F\u8BAE+\u57DF\u540D+\u7AEF\u53E3\u548C\u767B\u5F55\u540E\u8DF3\u8F6C\u5230\u7684\u534F\u8BAE+\u57DF\u540D+\u7AEF\u53E3\u4E00\u81F4\u3002<br> \u8BF7\u786E\u4FDD\u60A8\u7684\u8DEF\u5F84\u4E3A<code>/oauth2/callback</code>\uFF0C<strong>\u5168\u90E8\u5C0F\u5199</strong></p><h2 id="\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519" tabindex="-1">\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519 <a class="header-anchor" href="#\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519" aria-hidden="true">#</a></h2><h3 id="http-named-cookie-not-present" tabindex="-1">http: named cookie not present <a class="header-anchor" href="#http-named-cookie-not-present" aria-hidden="true">#</a></h3><p>\u6E05\u7406cookies\u540E\u91CD\u65B0\u767B\u5F55\uFF0C\u6216Line truncated
|
||||
import{_ as e,c as t,o as a,a as i}from"./app.38e99b9a.js";const b='{"title":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\\\u62D2\u7EDD\u8FDE\u63A5\\\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\\\u62D2\u7EDD\u8FDE\u63A5\\\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F","slug":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F-\u62D2\u7EDD\u8FDE\u63A5-\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F"},{"level":3,"title":"\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F","slug":"\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F"},{"level":2,"title":"\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519","slug":"\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519"},{"level":3,"title":"http: named cookie not present","slug":"http-named-cookie-not-present"},{"level":3,"title":"lookup xxx","slug":"lookup-xxx"},{"level":3,"title":"\u6388\u6743\u65B9\u5F0F\u65E0\u6548\uFF0C\u6216\u8005\u767B\u5F55\u56DE\u8C03\u5730\u5740\u65E0\u6548\u3001\u8FC7\u671F\u6216\u5DF2\u88AB\u64A4\u9500","slug":"\u6388\u6743\u65B9\u5F0F\u65E0\u6548\uFF0C\u6216\u8005\u767B\u5F55\u56DE\u8C03\u5730\u5740\u65E0\u6548\u3001\u8FC7\u671F\u6216\u5DF2\u88AB\u64A4\u9500"},{"level":3,"title":"oauth2: server response missing access_token","slug":"oauth2-server-response-missing-access-token"},{"level":3,"title":"\u8BE5\u7528\u6237\u4E0D\u662F\u672C\u7AD9\u70B9\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u767B\u5F55","slug":"\u8BE5\u7528\u6237\u4E0D\u662F\u672C\u7AD9\u70B9\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u767B\u5F55"},{"level":3,"title":"dial tcp xxx:443 i/o timeout","slug":"dial-tcp-xxx-443-i-o-timeout"},{"level":3,"title":"net/http: TLS handshake timeout","slug":"net-http-tls-handshake-timeout"}],"relativePath":"guide/loginq.md","lastUpdated":1682077347000}',o={},s=i('<h2 id="\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F-\u62D2\u7EDD\u8FDE\u63A5-\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F" tabindex="-1">\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\u62D2\u7EDD\u8FDE\u63A5\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F <a class="header-anchor" href="#\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F-\u62D2\u7EDD\u8FDE\u63A5-\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F" aria-hidden="true">#</a></h2><p>\u8FD8\u6709\u5176\u4ED6\u4E00\u4E9B\u8868\u73B0\u5F62\u5F0F\uFF0C\u603B\u4E4B\u767B\u5F55\u540E\u6D4F\u89C8\u5668\u65E0\u6CD5\u6B63\u5E38\u663E\u793A\u3002</p><ol><li>\u60A8\u7684\u670D\u52A1\u5668\u65E0\u6CD5\u8FDE\u63A5\u5230 Github/Gitee\uFF0C\u6700\u5E38\u89C1\u4E8E\u56FD\u5185\u670D\u52A1\u5668\u914D\u7F6E Github \u60C5\u51B5\u4E0B\uFF0C\u53EF\u4EE5\u8003\u8651\u591A\u5C1D\u8BD5\u51E0\u6B21\u6216\u8005\u5207\u6362\u5230 Jihulab/Gitee\u3002</li><li>\u60A8\u914D\u7F6E\u9519\u4E86\u56DE\u8C03\u5730\u5740\uFF0C\u786E\u4FDD\u60A8\u7684\u56DE\u8C03\u5730\u5740\u6B63\u786E\u4E14<strong>\u7AEF\u53E3\u4E0E\u534F\u8BAE</strong>\u5747\u6B63\u786E\uFF01</li><li>Dashboard \u53D1\u751F\u672A\u77E5\u9519\u8BEF\uFF0C\u60A8\u53EF\u4EE5\u4F7F\u7528\u811A\u672C\u67E5\u770B\u65E5\u5FD7\uFF0C\u4F46\u6B64\u9879\u53EF\u80FD\u6027\u8F83\u4F4E\u3002</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\u4EC0\u4E48\u662F\u534F\u8BAE\uFF1F<br> \u5728\u6D4F\u89C8\u5668\u4E2D\uFF0C\u60A8\u7684\u57DF\u540D\u4EE5<code>://</code>\u7ED3\u5C3E\u7684\u5B57\u7B26\u4E32\u5373\u4E3A\u534F\u8BAE\uFF0C\u901A\u5E38\u4E3A <code>http</code> \u548C <code>https</code> \u4E24\u79CD\u3002\u7531\u4E8E\u6B63\u5E38\u90E8\u7F72\u60C5\u51B5\u4E0B\u9762\u677F\u53EF\u80FD\u6709\u591A\u79CD\u534F\u8BAE+\u57DF\u540D+\u7AEF\u53E3\u7EC4\u5408\u5747\u53EF\u8BBF\u95EE\uFF0C\u8BF7\u52A1\u5FC5\u9009\u4E00\u4E2A\u6700\u5408\u9002\u7684\u4F5C\u4E3A\u56DE\u8C03\u3002</p></div><h3 id="\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F" tabindex="-1">\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F <a class="header-anchor" href="#\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F" aria-hidden="true">#</a></h3><p>\u8BF7\u786E\u4FDD\u767B\u5F55\u524D\u6D4F\u89C8\u5668\u663E\u793A\u7684\u534F\u8BAE+\u57DF\u540D+\u7AEF\u53E3\u548C\u767B\u5F55\u540E\u8DF3\u8F6C\u5230\u7684\u534F\u8BAE+\u57DF\u540D+\u7AEF\u53E3\u4E00\u81F4\u3002<br> \u8BF7\u786E\u4FDD\u60A8\u7684\u8DEF\u5F84\u4E3A<code>/oauth2/callback</code>\uFF0C<strong>\u5168\u90E8\u5C0F\u5199</strong></p><h2 id="\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519" tabindex="-1">\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519 <a class="header-anchor" href="#\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519" aria-hidden="true">#</a></h2><h3 id="http-named-cookie-not-present" tabindex="-1">http: named cookie not present <a class="header-anchor" href="#http-named-cookie-not-present" aria-hidden="true">#</a></h3><p>\u6E05\u7406cookies\u540E\u91CD\u65B0\u767B\u5F55\uFF0C\u6216Line truncated
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as i}from"./app.3817bf4e.js";const b='{"title":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\\\u62D2\u7EDD\u8FDE\u63A5\\\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\\\u62D2\u7EDD\u8FDE\u63A5\\\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F","slug":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F-\u62D2\u7EDD\u8FDE\u63A5-\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F"},{"level":3,"title":"\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F","slug":"\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F"},{"level":2,"title":"\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519","slug":"\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519"},{"level":3,"title":"http: named cookie not present","slug":"http-named-cookie-not-present"},{"level":3,"title":"lookup xxx","slug":"lookup-xxx"},{"level":3,"title":"\u6388\u6743\u65B9\u5F0F\u65E0\u6548\uFF0C\u6216\u8005\u767B\u5F55\u56DE\u8C03\u5730\u5740\u65E0\u6548\u3001\u8FC7\u671F\u6216\u5DF2\u88AB\u64A4\u9500","slug":"\u6388\u6743\u65B9\u5F0F\u65E0\u6548\uFF0C\u6216\u8005\u767B\u5F55\u56DE\u8C03\u5730\u5740\u65E0\u6548\u3001\u8FC7\u671F\u6216\u5DF2\u88AB\u64A4\u9500"},{"level":3,"title":"oauth2: server response missing access_token","slug":"oauth2-server-response-missing-access-token"},{"level":3,"title":"\u8BE5\u7528\u6237\u4E0D\u662F\u672C\u7AD9\u70B9\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u767B\u5F55","slug":"\u8BE5\u7528\u6237\u4E0D\u662F\u672C\u7AD9\u70B9\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u767B\u5F55"},{"level":3,"title":"dial tcp xxx:443 i/o timeout","slug":"dial-tcp-xxx-443-i-o-timeout"},{"level":3,"title":"net/http: TLS handshake timeout","slug":"net-http-tls-handshake-timeout"}],"relativePath":"guide/loginq.md","lastUpdated":1682076617000}',o={},s=i("",21),r=[s];function h(d,l,n,c,p,u){return a(),t("div",null,r)}var k=e(o,[["render",h]]);export{b as __pageData,k as default};
|
||||
import{_ as e,c as t,o as a,a as i}from"./app.38e99b9a.js";const b='{"title":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\\\u62D2\u7EDD\u8FDE\u63A5\\\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F\\\\\u62D2\u7EDD\u8FDE\u63A5\\\\\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F","slug":"\u767B\u5F55\u56DE\u8C03\u540E\u9875\u9762\u5361\u4F4F-\u62D2\u7EDD\u8FDE\u63A5-\u54CD\u5E94\u65F6\u95F4\u8FC7\u957F"},{"level":3,"title":"\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F","slug":"\u5982\u4F55\u68C0\u67E5\u6211\u7684\u56DE\u8C03\u5730\u5740\u662F\u5426\u9519\u8BEF\uFF1F"},{"level":2,"title":"\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519","slug":"\u767B\u5F55\u540E\u9762\u677F\u62A5\u9519"},{"level":3,"title":"http: named cookie not present","slug":"http-named-cookie-not-present"},{"level":3,"title":"lookup xxx","slug":"lookup-xxx"},{"level":3,"title":"\u6388\u6743\u65B9\u5F0F\u65E0\u6548\uFF0C\u6216\u8005\u767B\u5F55\u56DE\u8C03\u5730\u5740\u65E0\u6548\u3001\u8FC7\u671F\u6216\u5DF2\u88AB\u64A4\u9500","slug":"\u6388\u6743\u65B9\u5F0F\u65E0\u6548\uFF0C\u6216\u8005\u767B\u5F55\u56DE\u8C03\u5730\u5740\u65E0\u6548\u3001\u8FC7\u671F\u6216\u5DF2\u88AB\u64A4\u9500"},{"level":3,"title":"oauth2: server response missing access_token","slug":"oauth2-server-response-missing-access-token"},{"level":3,"title":"\u8BE5\u7528\u6237\u4E0D\u662F\u672C\u7AD9\u70B9\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u767B\u5F55","slug":"\u8BE5\u7528\u6237\u4E0D\u662F\u672C\u7AD9\u70B9\u7BA1\u7406\u5458\uFF0C\u65E0\u6CD5\u767B\u5F55"},{"level":3,"title":"dial tcp xxx:443 i/o timeout","slug":"dial-tcp-xxx-443-i-o-timeout"},{"level":3,"title":"net/http: TLS handshake timeout","slug":"net-http-tls-handshake-timeout"}],"relativePath":"guide/loginq.md","lastUpdated":1682077347000}',o={},s=i("",21),r=[s];function h(d,l,n,c,p,u){return a(),t("div",null,r)}var k=e(o,[["render",h]]);export{b as __pageData,k as default};
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
import{_ as o,c as t,o as n,a as e}from"./app.3817bf4e.js";const g='{"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"},{"level":2,"title":"\u901A\u77E5\u89E6\u53D1\u6A21\u5F0F\u8BF4\u660E","slug":"\u901A\u77E5\u89E6\u53D1\u6A21\u5F0F\u8BF4\u660E"},{"level":2,"title":"\u8BBE\u7F6E\u62A5\u8B66\u65F6\u6267\u884C\u4EFB\u52A1","slug":"\u8BBE\u7F6E\u62A5\u8B66\u65F6\u6267\u884C\u4EFB\u52A1"}],"relativePath":"guide/notifications.md","lastUpdated":1682076617000}',a={},s=e(`<p>\u54EA\u5412\u76D1\u63A7\u652F\u6301\u5BF9\u670D\u52A1\u5668\u7684\u8D1F\u8F7D\u3001CPU\u3001\u5185\u5B58\u3001\u786C\u76D8\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 <br><br></p><h2 id="\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F" tabindex="-1">\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F <a class="header-anchor" href="#\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F" aria-hidden="true">#</a></h2><p><code>#NEZHA#</code> \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</p><p>Body \u5185\u5BB9\u662F<code>JSON</code> \u683C\u5F0F\u7684\uFF1A<strong>\u5F53\u8BF7\u6C42\u7C7B\u578B\u4E3A FORM \u65F6</strong>\uFF0C\u503C\u4E3A <code>key:value</code> \u7684\u5F62\u5F0F\uFF0C<code>value</code> \u91CC\u9762\u53EF\u653E\u7F6E\u5360\u4F4D\u7B26\uFF0C\u901A\u77E5\u65F6\u4F1A\u81EA\u52A8\u66FF\u6362\u3002<strong>\u5F53\u8BF7\u6C42\u7C7B\u578B\u4E3A JSON \u65F6</strong> \u53EA\u4F1A\u7B80\u5355\u8FDB\u884C\u5B57\u7B26\u4E32\u66FF\u6362\u540E\u76F4\u63A5\u63D0\u4EA4\u5230<code>URL</code>\u3002</p><p>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</p><p>\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</p><ul><li><p><strong>Bark \u793A\u4F8B</strong></p><ul><li>\u540D\u79F0\uFF1ABark</li><li>URL \u7EC4\u6210: \u7B2C\u4E00\u4E2A\u90E8\u5206\u662F key,\u4E4B\u540E\u6709\u4E09\u4E2A\u5339\u914D /:key/:body or /:key/:title/:body or /:key/:category/:title/:body</li><li>\u8BF7\u6C42\u65B9\u5F0F: GET</li><li>\u8BF7\u6C42\u7C7B\u578B: \u9ED8\u8BA4</li><li>Body: \u7A7A</li><li>\u540D\u79F0\uFF1ABark</li><li>URL \u7EC4\u6210: /push</li><li>\u8BF7\u6C42\u65B9\u5F0F: POST</li><li>\u8BF7\u6C42\u7C7B\u578B: form</li><li>Body: <code>{"title": "#SERVER.NAME#","device_key":"xxxxxxxxx","body":"#NEZHA#","icon":"https://xxxxxxxx/nz.png"}</code></li></ul></li><li><p><strong>Server \u9171\u793A\u4F8B</strong></p><ul><li>\u540D\u79F0\uFF1AServer \u9171</li><li>URL\uFF1A<a href="https://sc.ftqq.com/SCUrandomkeys.send?title=%E5%93%AA%E5%90%92%E6%8A%A5%E8%AD%A6%E4%BF%A1%E6%81%AF&desp=#NEZHA#" target="_blank" rel="noopener noreferrer">https://sc.ftqq.com/SCUrandomkeys.send?title=\u54EA\u5412\u62A5\u8B66\u4FE1\u606F&desp=#NEZHA#</a></li><li>\u8BF7\u6C42\u65B9\u5F0F: GET</li><li>\u8BF7\u6C42\u7C7B\u578B: \u9ED8\u8BA4</li><li>Body: \u7A7A</li></ul></li><li><p><strong>Server \u9171\u8FDB\u9636</strong></p><ul><li>\u540D\u79F0\uFF1AServer \u9171</li><li>URL\uFF1A<a href="https://sc.ftqq.com/SCUrandomkeys.send" target="_blank" rel="noopener noreferrer">https://sc.ftqq.com/SCUrandomkeys.send</a></li><li>\u8BF7\u6C42\u65B9\u5F0F: POST</li><li>\u8BF7\u6C42\u7C7B\u578B: FORM</li><li>Body:</li></ul><div class="language-json"><pre><code><span class="token punctuation">{</span>
|
||||
import{_ as o,c as t,o as n,a as e}from"./app.38e99b9a.js";const g='{"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"},{"level":2,"title":"\u901A\u77E5\u89E6\u53D1\u6A21\u5F0F\u8BF4\u660E","slug":"\u901A\u77E5\u89E6\u53D1\u6A21\u5F0F\u8BF4\u660E"},{"level":2,"title":"\u8BBE\u7F6E\u62A5\u8B66\u65F6\u6267\u884C\u4EFB\u52A1","slug":"\u8BBE\u7F6E\u62A5\u8B66\u65F6\u6267\u884C\u4EFB\u52A1"}],"relativePath":"guide/notifications.md","lastUpdated":1682077347000}',a={},s=e(`<p>\u54EA\u5412\u76D1\u63A7\u652F\u6301\u5BF9\u670D\u52A1\u5668\u7684\u8D1F\u8F7D\u3001CPU\u3001\u5185\u5B58\u3001\u786C\u76D8\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 <br><br></p><h2 id="\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F" tabindex="-1">\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F <a class="header-anchor" href="#\u7075\u6D3B\u7684\u901A\u77E5\u65B9\u5F0F" aria-hidden="true">#</a></h2><p><code>#NEZHA#</code> \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</p><p>Body \u5185\u5BB9\u662F<code>JSON</code> \u683C\u5F0F\u7684\uFF1A<strong>\u5F53\u8BF7\u6C42\u7C7B\u578B\u4E3A FORM \u65F6</strong>\uFF0C\u503C\u4E3A <code>key:value</code> \u7684\u5F62\u5F0F\uFF0C<code>value</code> \u91CC\u9762\u53EF\u653E\u7F6E\u5360\u4F4D\u7B26\uFF0C\u901A\u77E5\u65F6\u4F1A\u81EA\u52A8\u66FF\u6362\u3002<strong>\u5F53\u8BF7\u6C42\u7C7B\u578B\u4E3A JSON \u65F6</strong> \u53EA\u4F1A\u7B80\u5355\u8FDB\u884C\u5B57\u7B26\u4E32\u66FF\u6362\u540E\u76F4\u63A5\u63D0\u4EA4\u5230<code>URL</code>\u3002</p><p>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</p><p>\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</p><ul><li><p><strong>Bark \u793A\u4F8B</strong></p><ul><li>\u540D\u79F0\uFF1ABark</li><li>URL \u7EC4\u6210: \u7B2C\u4E00\u4E2A\u90E8\u5206\u662F key,\u4E4B\u540E\u6709\u4E09\u4E2A\u5339\u914D /:key/:body or /:key/:title/:body or /:key/:category/:title/:body</li><li>\u8BF7\u6C42\u65B9\u5F0F: GET</li><li>\u8BF7\u6C42\u7C7B\u578B: \u9ED8\u8BA4</li><li>Body: \u7A7A</li><li>\u540D\u79F0\uFF1ABark</li><li>URL \u7EC4\u6210: /push</li><li>\u8BF7\u6C42\u65B9\u5F0F: POST</li><li>\u8BF7\u6C42\u7C7B\u578B: form</li><li>Body: <code>{"title": "#SERVER.NAME#","device_key":"xxxxxxxxx","body":"#NEZHA#","icon":"https://xxxxxxxx/nz.png"}</code></li></ul></li><li><p><strong>Server \u9171\u793A\u4F8B</strong></p><ul><li>\u540D\u79F0\uFF1AServer \u9171</li><li>URL\uFF1A<a href="https://sc.ftqq.com/SCUrandomkeys.send?title=%E5%93%AA%E5%90%92%E6%8A%A5%E8%AD%A6%E4%BF%A1%E6%81%AF&desp=#NEZHA#" target="_blank" rel="noopener noreferrer">https://sc.ftqq.com/SCUrandomkeys.send?title=\u54EA\u5412\u62A5\u8B66\u4FE1\u606F&desp=#NEZHA#</a></li><li>\u8BF7\u6C42\u65B9\u5F0F: GET</li><li>\u8BF7\u6C42\u7C7B\u578B: \u9ED8\u8BA4</li><li>Body: \u7A7A</li></ul></li><li><p><strong>Server \u9171\u8FDB\u9636</strong></p><ul><li>\u540D\u79F0\uFF1AServer \u9171</li><li>URL\uFF1A<a href="https://sc.ftqq.com/SCUrandomkeys.send" target="_blank" rel="noopener noreferrer">https://sc.ftqq.com/SCUrandomkeys.send</a></li><li>\u8BF7\u6C42\u65B9\u5F0F: POST</li><li>\u8BF7\u6C42\u7C7B\u578B: FORM</li><li>Body:</li></ul><div class="language-json"><pre><code><span class="token punctuation">{</span>
|
||||
<span class="token property">"title"</span><span class="token operator">:</span> <span class="token string">"#SERVER.NAME#"</span><span class="token punctuation">,</span>
|
||||
<span class="token property">"desp"</span><span class="token operator">:</span>"**#NEZHA#\\n\\n
|
||||
\u5E73\u5747\u8D1F\u8F7D<span class="token operator">:</span> \\"#SERVER.LOAD1#\\"<span class="token punctuation">,</span>\\"#SERVER.LOAD5#\\"<span class="token punctuation">,</span>\\"#SERVER.LOAD15#\\"\\n\\n
|
||||
+1
-1
@@ -1 +1 @@
|
||||
import{_ as o,c as t,o as n,a as e}from"./app.3817bf4e.js";const g='{"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"},{"level":2,"title":"\u901A\u77E5\u89E6\u53D1\u6A21\u5F0F\u8BF4\u660E","slug":"\u901A\u77E5\u89E6\u53D1\u6A21\u5F0F\u8BF4\u660E"},{"level":2,"title":"\u8BBE\u7F6E\u62A5\u8B66\u65F6\u6267\u884C\u4EFB\u52A1","slug":"\u8BBE\u7F6E\u62A5\u8B66\u65F6\u6267\u884C\u4EFB\u52A1"}],"relativePath":"guide/notifications.md","lastUpdated":1682076617000}',a={},s=e("",27),p=[s];function l(u,r,i,c,q,d){return n(),t("div",null,p)}var E=o(a,[["render",l]]);export{g as __pageData,E as default};
|
||||
import{_ as o,c as t,o as n,a as e}from"./app.38e99b9a.js";const g='{"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"},{"level":2,"title":"\u901A\u77E5\u89E6\u53D1\u6A21\u5F0F\u8BF4\u660E","slug":"\u901A\u77E5\u89E6\u53D1\u6A21\u5F0F\u8BF4\u660E"},{"level":2,"title":"\u8BBE\u7F6E\u62A5\u8B66\u65F6\u6267\u884C\u4EFB\u52A1","slug":"\u8BBE\u7F6E\u62A5\u8B66\u65F6\u6267\u884C\u4EFB\u52A1"}],"relativePath":"guide/notifications.md","lastUpdated":1682077347000}',a={},s=e("",27),p=[s];function l(u,r,i,c,q,d){return n(),t("div",null,p)}var E=o(a,[["render",l]]);export{g as __pageData,E as default};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as n,c as s,o as a,a as e}from"./app.3817bf4e.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","lastUpdated":1682076617000}',t={},p=e(`<h2 id="\u51C6\u5907\u5DE5\u4F5C" tabindex="-1">\u51C6\u5907\u5DE5\u4F5C <a class="header-anchor" href="#\u51C6\u5907\u5DE5\u4F5C" aria-hidden="true">#</a></h2><p><strong>\u4F60\u53EF\u4EE5\u9009\u62E9 CloudFlare \u7684 workers \u8FDB\u884C\u53CD\u4EE3\uFF0C\u4F46\u5927\u9646\u7684\u7F51\u7EDC\u4F60\u61C2\u7684\uFF0C\u8FD9\u91CC\u4ECB\u7ECD\u7528\u4F60\u81EA\u5DF1\u670D\u52A1\u5668\u53CD\u4EE3\u65B9\u5F0F</strong><br> \u642D\u5EFA\u4E00\u4E2A TGbot api \u53CD\u4EE3\uFF0C\u4F60\u9700\u8981\uFF1A<br> 1.\u4E00\u4E2A\u4E0D\u53D7 GFW \u5C01\u9501\u7684\u670D\u52A1\u5668(\u4E14\u5B89\u88C5\u597D Nginx)<br> 2.\u4E00\u4E2A\u57DF\u540D(\u63D0\u524D\u7533\u8BF7 SSL \u8BC1\u4E66) <br></p><h2 id="nginx-\u914D\u7F6E" tabindex="-1">NGINX \u914D\u7F6E <a class="header-anchor" href="#nginx-\u914D\u7F6E" aria-hidden="true">#</a></h2><p>\u7F16\u8F91\u4F60 Nginx \u7684\u914D\u7F6E\u6587\u4EF6,\u5728 http{} \u4E2D\u52A0\u4E0A\u5982\u4E0B\u914D\u7F6E</p><div class="language-nginx"><pre><code><span class="token comment"># http\u5F3A\u5236\u8DF3\u8F6C\u5230htpps</span>
|
||||
import{_ as n,c as s,o as a,a as e}from"./app.38e99b9a.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","lastUpdated":1682077347000}',t={},p=e(`<h2 id="\u51C6\u5907\u5DE5\u4F5C" tabindex="-1">\u51C6\u5907\u5DE5\u4F5C <a class="header-anchor" href="#\u51C6\u5907\u5DE5\u4F5C" aria-hidden="true">#</a></h2><p><strong>\u4F60\u53EF\u4EE5\u9009\u62E9 CloudFlare \u7684 workers \u8FDB\u884C\u53CD\u4EE3\uFF0C\u4F46\u5927\u9646\u7684\u7F51\u7EDC\u4F60\u61C2\u7684\uFF0C\u8FD9\u91CC\u4ECB\u7ECD\u7528\u4F60\u81EA\u5DF1\u670D\u52A1\u5668\u53CD\u4EE3\u65B9\u5F0F</strong><br> \u642D\u5EFA\u4E00\u4E2A TGbot api \u53CD\u4EE3\uFF0C\u4F60\u9700\u8981\uFF1A<br> 1.\u4E00\u4E2A\u4E0D\u53D7 GFW \u5C01\u9501\u7684\u670D\u52A1\u5668(\u4E14\u5B89\u88C5\u597D Nginx)<br> 2.\u4E00\u4E2A\u57DF\u540D(\u63D0\u524D\u7533\u8BF7 SSL \u8BC1\u4E66) <br></p><h2 id="nginx-\u914D\u7F6E" tabindex="-1">NGINX \u914D\u7F6E <a class="header-anchor" href="#nginx-\u914D\u7F6E" aria-hidden="true">#</a></h2><p>\u7F16\u8F91\u4F60 Nginx \u7684\u914D\u7F6E\u6587\u4EF6,\u5728 http{} \u4E2D\u52A0\u4E0A\u5982\u4E0B\u914D\u7F6E</p><div class="language-nginx"><pre><code><span class="token comment"># http\u5F3A\u5236\u8DF3\u8F6C\u5230htpps</span>
|
||||
<span class="token directive"><span class="token keyword">server</span></span> <span class="token punctuation">{</span>
|
||||
<span class="token directive"><span class="token keyword">listen</span> <span class="token number">80</span></span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">listen</span> [::]:80</span><span class="token punctuation">;</span>
|
||||
@@ -1 +1 @@
|
||||
import{_ as n,c as s,o as a,a as e}from"./app.3817bf4e.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","lastUpdated":1682076617000}',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,a as e}from"./app.38e99b9a.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","lastUpdated":1682077347000}',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};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.3817bf4e.js";const f='{"title":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q2.md","lastUpdated":1682076617000}',o={},r=n('<h4 id="agent-\u542F\u52A8-\u4E0A\u7EBF-\u95EE\u9898\u81EA\u68C0\u6D41\u7A0B" tabindex="-1">Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B <a class="header-anchor" href="#agent-\u542F\u52A8-\u4E0A\u7EBF-\u95EE\u9898\u81EA\u68C0\u6D41\u7A0B" aria-hidden="true">#</a></h4><ol><li>\u76F4\u63A5\u6267\u884C <code>/opt/nezha/agent/nezha-agent -s \u9762\u677FIP\u6216\u975ECDN\u57DF\u540D:\u9762\u677FRPC\u7AEF\u53E3 -p Agent\u5BC6\u94A5 -d</code> \u67E5\u770B\u65E5\u5FD7\u662F\u5426\u662F\u56E0\u4E3A DNS\u3001\u7F51\u7EDC\u4E0D\u4F73\u5BFC\u81F4\u8D85\u65F6\uFF08timeout\uFF09</li><li><code>nc -v \u57DF\u540D/IP \u9762\u677FRPC\u7AEF\u53E3</code> \u6216\u8005 <code>telnet \u57DF\u540D/IP \u9762\u677FRPC\u7AEF\u53E3</code> \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 <a href="https://port.ping.pe/" target="_blank" rel="noopener noreferrer">https://port.ping.pe/</a> \u63D0\u4F9B\u7684\u7AEF\u53E3\u68C0\u67E5\u5DE5\u5177\u8FDB\u884C\u68C0\u6D4B\u3002</li><li>\u5982\u679C\u4E0A\u9762\u6B65\u9AA4\u68C0\u6D4B\u6B63\u5E38\uFF0CAgent \u6B63\u5E38\u4E0A\u7EBF\uFF0C\u5C1D\u8BD5\u5173\u95ED SELinux\uFF0C<a href="https://www.google.com/search?q=%E5%85%B3%E9%97%ADSELINUX" target="_blank" rel="noopener noreferrer">\u5982\u4F55\u5173\u95ED SELinux\uFF1F</a></li></ol>',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,a as n}from"./app.38e99b9a.js";const f='{"title":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q2.md","lastUpdated":1682077347000}',o={},r=n('<h4 id="agent-\u542F\u52A8-\u4E0A\u7EBF-\u95EE\u9898\u81EA\u68C0\u6D41\u7A0B" tabindex="-1">Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B <a class="header-anchor" href="#agent-\u542F\u52A8-\u4E0A\u7EBF-\u95EE\u9898\u81EA\u68C0\u6D41\u7A0B" aria-hidden="true">#</a></h4><ol><li>\u76F4\u63A5\u6267\u884C <code>/opt/nezha/agent/nezha-agent -s \u9762\u677FIP\u6216\u975ECDN\u57DF\u540D:\u9762\u677FRPC\u7AEF\u53E3 -p Agent\u5BC6\u94A5 -d</code> \u67E5\u770B\u65E5\u5FD7\u662F\u5426\u662F\u56E0\u4E3A DNS\u3001\u7F51\u7EDC\u4E0D\u4F73\u5BFC\u81F4\u8D85\u65F6\uFF08timeout\uFF09</li><li><code>nc -v \u57DF\u540D/IP \u9762\u677FRPC\u7AEF\u53E3</code> \u6216\u8005 <code>telnet \u57DF\u540D/IP \u9762\u677FRPC\u7AEF\u53E3</code> \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 <a href="https://port.ping.pe/" target="_blank" rel="noopener noreferrer">https://port.ping.pe/</a> \u63D0\u4F9B\u7684\u7AEF\u53E3\u68C0\u67E5\u5DE5\u5177\u8FDB\u884C\u68C0\u6D4B\u3002</li><li>\u5982\u679C\u4E0A\u9762\u6B65\u9AA4\u68C0\u6D4B\u6B63\u5E38\uFF0CAgent \u6B63\u5E38\u4E0A\u7EBF\uFF0C\u5C1D\u8BD5\u5173\u95ED SELinux\uFF0C<a href="https://www.google.com/search?q=%E5%85%B3%E9%97%ADSELINUX" target="_blank" rel="noopener noreferrer">\u5982\u4F55\u5173\u95ED SELinux\uFF1F</a></li></ol>',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};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as n}from"./app.3817bf4e.js";const f='{"title":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q2.md","lastUpdated":1682076617000}',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,a as n}from"./app.38e99b9a.js";const f='{"title":"Agent \u542F\u52A8/\u4E0A\u7EBF \u95EE\u9898\u81EA\u68C0\u6D41\u7A0B","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q2.md","lastUpdated":1682077347000}',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};
|
||||
@@ -1,4 +1,4 @@
|
||||
import{_ as n,c as s,o as a,a as e}from"./app.3817bf4e.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md","lastUpdated":1682076617000}',t={},p=e(`<h4 id="\u53CD\u5411\u4EE3\u7406-grpc-\u7AEF\u53E3\uFF08\u652F\u6301-cloudflare-cdn\uFF09" tabindex="-1">\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09 <a class="header-anchor" href="#\u53CD\u5411\u4EE3\u7406-grpc-\u7AEF\u53E3\uFF08\u652F\u6301-cloudflare-cdn\uFF09" aria-hidden="true">#</a></h4><p>\u4F7F\u7528 Nginx \u6216\u8005 Caddy \u53CD\u5411\u4EE3\u7406 gRPC</p><ul><li>Nginx \u914D\u7F6E</li></ul><div class="language-nginx"><pre><code><span class="token directive"><span class="token keyword">server</span></span> <span class="token punctuation">{</span>
|
||||
import{_ as n,c as s,o as a,a as e}from"./app.38e99b9a.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md","lastUpdated":1682077347000}',t={},p=e(`<h4 id="\u53CD\u5411\u4EE3\u7406-grpc-\u7AEF\u53E3\uFF08\u652F\u6301-cloudflare-cdn\uFF09" tabindex="-1">\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09 <a class="header-anchor" href="#\u53CD\u5411\u4EE3\u7406-grpc-\u7AEF\u53E3\uFF08\u652F\u6301-cloudflare-cdn\uFF09" aria-hidden="true">#</a></h4><p>\u4F7F\u7528 Nginx \u6216\u8005 Caddy \u53CD\u5411\u4EE3\u7406 gRPC</p><ul><li>Nginx \u914D\u7F6E</li></ul><div class="language-nginx"><pre><code><span class="token directive"><span class="token keyword">server</span></span> <span class="token punctuation">{</span>
|
||||
<span class="token directive"><span class="token keyword">listen</span> <span class="token number">443</span> ssl http2</span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">listen</span> [::]:443 ssl http2</span><span class="token punctuation">;</span>
|
||||
<span class="token directive"><span class="token keyword">server_name</span> data.example.com</span><span class="token punctuation">;</span> <span class="token comment"># \u4F60\u7684 Agent \u8FDE\u63A5 Dashboard \u7684\u57DF\u540D</span>
|
||||
@@ -1 +1 @@
|
||||
import{_ as n,c as s,o as a,a as e}from"./app.3817bf4e.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md","lastUpdated":1682076617000}',t={},p=e("",13),o=[p];function c(l,d,r,i,k,u){return a(),s("div",null,o)}var v=n(t,[["render",c]]);export{g as __pageData,v as default};
|
||||
import{_ as n,c as s,o as a,a as e}from"./app.38e99b9a.js";const g='{"title":"\u53CD\u5411\u4EE3\u7406 gRPC \u7AEF\u53E3\uFF08\u652F\u6301 Cloudflare CDN\uFF09","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q3.md","lastUpdated":1682077347000}',t={},p=e("",13),o=[p];function c(l,d,r,i,k,u){return a(),s("div",null,o)}var v=n(t,[["render",c]]);export{g as __pageData,v as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,c as o,o as r,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',s={},d=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),c=e("ul",null,[e("li",null,"\u5982\u679C\u4F60\u4F7F\u7528\u4E86 CDN\uFF0C\u8BF7\u786E\u8BA4 CDN \u670D\u52A1\u5546\u63D0\u4F9B WebSocket \u670D\u52A1\uFF0C\u5E76\u4E14\u5DF2\u5F00\u542F WebSocket"),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),n=[d,c];function i(l,_,h,u,p,f){return r(),o("div",null,n)}var k=a(s,[["render",i]]);export{b as __pageData,k as default};
|
||||
import{_ as a,c as o,o as r,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',s={},d=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),c=e("ul",null,[e("li",null,"\u5982\u679C\u4F60\u4F7F\u7528\u4E86 CDN\uFF0C\u8BF7\u786E\u8BA4 CDN \u670D\u52A1\u5546\u63D0\u4F9B WebSocket \u670D\u52A1\uFF0C\u5E76\u4E14\u5DF2\u5F00\u542F WebSocket"),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),n=[d,c];function i(l,_,h,u,p,f){return r(),o("div",null,n)}var k=a(s,[["render",i]]);export{b as __pageData,k as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,c as o,o as r,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',s={},d=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),c=e("ul",null,[e("li",null,"\u5982\u679C\u4F60\u4F7F\u7528\u4E86 CDN\uFF0C\u8BF7\u786E\u8BA4 CDN \u670D\u52A1\u5546\u63D0\u4F9B WebSocket \u670D\u52A1\uFF0C\u5E76\u4E14\u5DF2\u5F00\u542F WebSocket"),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),n=[d,c];function i(l,_,h,u,p,f){return r(),o("div",null,n)}var k=a(s,[["render",i]]);export{b as __pageData,k as default};
|
||||
import{_ as a,c as o,o as r,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',s={},d=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),c=e("ul",null,[e("li",null,"\u5982\u679C\u4F60\u4F7F\u7528\u4E86 CDN\uFF0C\u8BF7\u786E\u8BA4 CDN \u670D\u52A1\u5546\u63D0\u4F9B WebSocket \u670D\u52A1\uFF0C\u5E76\u4E14\u5DF2\u5F00\u542F WebSocket"),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),n=[d,c];function i(l,_,h,u,p,f){return r(),o("div",null,n)}var k=a(s,[["render",i]]);export{b as __pageData,k as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,c as o,o as l,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',n={},s=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),d=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),r=[s,d];function c(i,_,u,h,p,f){return l(),o("div",null,r)}var $=a(n,[["render",c]]);export{x as __pageData,$ as default};
|
||||
import{_ as a,c as o,o as l,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',n={},s=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),d=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),r=[s,d];function c(i,_,u,h,p,f){return l(),o("div",null,r)}var $=a(n,[["render",c]]);export{x as __pageData,$ as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as a,c as o,o as l,b as e,d as t}from"./app.3817bf4e.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","lastUpdated":1682076617000}',n={},s=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),d=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),r=[s,d];function c(i,_,u,h,p,f){return l(),o("div",null,r)}var $=a(n,[["render",c]]);export{x as __pageData,$ as default};
|
||||
import{_ as a,c as o,o as l,b as e,d as t}from"./app.38e99b9a.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","lastUpdated":1682077347000}',n={},s=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),d=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),r=[s,d];function c(i,_,u,h,p,f){return l(),o("div",null,r)}var $=a(n,[["render",c]]);export{x as __pageData,$ as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.3817bf4e.js";const u='{"title":"\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q6.md","lastUpdated":1682076617000}',c={},i=o('<h4 id="\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F" tabindex="-1">\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F <a class="header-anchor" href="#\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F" aria-hidden="true">#</a></h4><p>\u4E3B\u9875\u4E2D\u7684\u6D41\u91CF\u7EDF\u8BA1\u6BCF\u6B21\u670D\u52A1\u5668\u91CD\u542F\u65F6\u90FD\u4F1A\u91CD\u7F6E\uFF0C\u5982\u679C\u8981\u5B9E\u73B0\u6BCF\u6708\u91CD\u7F6E\u4E00\u6B21\u6D41\u91CF\u8BA1\u6570\uFF0C\u53EF\u4EE5\u8FD9\u6837\u5B9E\u73B0\uFF1A</p><ol><li>\u8FDB\u5165\u7BA1\u7406\u9762\u677F\u7684 <code>\u62A5\u8B66\u901A\u77E5</code> \u9875</li><li>\u53C2\u8003<a href="/guide/notifications.html#\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66">\u8FD9\u7BC7\u6587\u6863</a>\uFF0C\u521B\u5EFA\u4E00\u4E2A\u6708\u6D41\u91CF\u62A5\u8B66</li><li>\u8FD4\u56DE\u4E3B\u9875\uFF0C\u5728 <code>\u670D\u52A1</code> \u9875\u4E2D\u5C31\u53EF\u4EE5\u770B\u5230\u6708\u6D41\u91CF\u7EDF\u8BA1\u4E86\uFF0C\u8FD9\u91CC\u7684\u7EDF\u8BA1\u6570\u636E\u4E0D\u4F1A\u56E0\u4E3A\u670D\u52A1\u5668\u91CD\u542F\u800C\u91CD\u7F6E</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\u6B64\u65B9\u5F0F\u53EF\u4EE5\u8BBE\u7F6E\u4EFB\u4F55\u5468\u671F\uFF0C\u5305\u62EC\u4E14\u4E0D\u9650\u4E8E\u6BCF\u5C0F\u65F6/\u6BCF\u5929/\u6BCF\u5468/\u6BCF\u6708/\u6BCF\u5E74\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF0C\u975E\u5E38\u7075\u6D3B\uFF01</p></div>',4),s=[i];function _(d,r,l,n,p,h){return a(),t("div",null,s)}var m=e(c,[["render",_]]);export{u as __pageData,m as default};
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.38e99b9a.js";const u='{"title":"\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q6.md","lastUpdated":1682077347000}',c={},i=o('<h4 id="\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F" tabindex="-1">\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F <a class="header-anchor" href="#\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F" aria-hidden="true">#</a></h4><p>\u4E3B\u9875\u4E2D\u7684\u6D41\u91CF\u7EDF\u8BA1\u6BCF\u6B21\u670D\u52A1\u5668\u91CD\u542F\u65F6\u90FD\u4F1A\u91CD\u7F6E\uFF0C\u5982\u679C\u8981\u5B9E\u73B0\u6BCF\u6708\u91CD\u7F6E\u4E00\u6B21\u6D41\u91CF\u8BA1\u6570\uFF0C\u53EF\u4EE5\u8FD9\u6837\u5B9E\u73B0\uFF1A</p><ol><li>\u8FDB\u5165\u7BA1\u7406\u9762\u677F\u7684 <code>\u62A5\u8B66\u901A\u77E5</code> \u9875</li><li>\u53C2\u8003<a href="/guide/notifications.html#\u7279\u6B8A\uFF1A\u4EFB\u610F\u5468\u671F\u6D41\u91CF\u62A5\u8B66">\u8FD9\u7BC7\u6587\u6863</a>\uFF0C\u521B\u5EFA\u4E00\u4E2A\u6708\u6D41\u91CF\u62A5\u8B66</li><li>\u8FD4\u56DE\u4E3B\u9875\uFF0C\u5728 <code>\u670D\u52A1</code> \u9875\u4E2D\u5C31\u53EF\u4EE5\u770B\u5230\u6708\u6D41\u91CF\u7EDF\u8BA1\u4E86\uFF0C\u8FD9\u91CC\u7684\u7EDF\u8BA1\u6570\u636E\u4E0D\u4F1A\u56E0\u4E3A\u670D\u52A1\u5668\u91CD\u542F\u800C\u91CD\u7F6E</li></ol><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>\u6B64\u65B9\u5F0F\u53EF\u4EE5\u8BBE\u7F6E\u4EFB\u4F55\u5468\u671F\uFF0C\u5305\u62EC\u4E14\u4E0D\u9650\u4E8E\u6BCF\u5C0F\u65F6/\u6BCF\u5929/\u6BCF\u5468/\u6BCF\u6708/\u6BCF\u5E74\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF0C\u975E\u5E38\u7075\u6D3B\uFF01</p></div>',4),s=[i];function _(d,r,l,n,p,h){return a(),t("div",null,s)}var m=e(c,[["render",_]]);export{u as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.3817bf4e.js";const u='{"title":"\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q6.md","lastUpdated":1682076617000}',c={},i=o("",4),s=[i];function _(d,r,l,n,p,h){return a(),t("div",null,s)}var m=e(c,[["render",_]]);export{u as __pageData,m as default};
|
||||
import{_ as e,c as t,o as a,a as o}from"./app.38e99b9a.js";const u='{"title":"\u5982\u4F55\u6BCF\u6708\u91CD\u7F6E\u6D41\u91CF\u7EDF\u8BA1\uFF1F","description":"","frontmatter":{},"headers":[],"relativePath":"guide/q6.md","lastUpdated":1682077347000}',c={},i=o("",4),s=[i];function _(d,r,l,n,p,h){return a(),t("div",null,s)}var m=e(c,[["render",_]]);export{u as __pageData,m as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as d}from"./app.3817bf4e.js";const u='{"title":"\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49-agent-\u76D1\u63A7\u9879\u76EE"}],"relativePath":"guide/q7.md","lastUpdated":1682076617000}',n={},o=d('<h2 id="\u81EA\u5B9A\u4E49-agent-\u76D1\u63A7\u9879\u76EE" tabindex="-1">\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE <a class="header-anchor" href="#\u81EA\u5B9A\u4E49-agent-\u76D1\u63A7\u9879\u76EE" aria-hidden="true">#</a></h2><h4 id="\u81EA\u5B9A\u4E49\u76D1\u63A7\u7684\u7F51\u5361\u548C\u786C\u76D8\u5206\u533A" tabindex="-1">\u81EA\u5B9A\u4E49\u76D1\u63A7\u7684\u7F51\u5361\u548C\u786C\u76D8\u5206\u533A <a class="header-anchor" href="#\u81EA\u5B9A\u4E49\u76D1\u63A7\u7684\u7F51\u5361\u548C\u786C\u76D8\u5206\u533A" aria-hidden="true">#</a></h4><ul><li>\u6267\u884C <code>/opt/nezha/agent/nezha-agent --edit-agent-config</code> \u6765\u9009\u62E9\u81EA\u5B9A\u4E49\u7684\u7F51\u5361\u548C\u5206\u533A\uFF0C\u7136\u540E\u91CD\u542F Agent \u5373\u53EF\u751F\u6548</li></ul><h4 id="\u5176\u4ED6\u8FD0\u884C\u53C2\u6570" tabindex="-1">\u5176\u4ED6\u8FD0\u884C\u53C2\u6570 <a class="header-anchor" href="#\u5176\u4ED6\u8FD0\u884C\u53C2\u6570" aria-hidden="true">#</a></h4><p>\u901A\u8FC7\u6267\u884C <code>./nezha-agent --help</code> \u67E5\u770B\u652F\u6301\u7684\u53C2\u6570\uFF0C\u5982\u679C\u4F60\u4F7F\u7528\u4E86\u4E00\u952E\u811A\u672C\u5B89\u88C5Agent\uFF0C\u53EF\u4EE5\u7F16\u8F91 <code>/etc/systemd/system/nezha-agent.service</code>\uFF0C\u5728 <code>ExecStart=</code> \u8FD9\u4E00\u884C\u7684\u672B\u5C3E\u52A0\u4E0A\u4EE5\u4E0B\u53C2\u6570</p><ul><li><code>--report-delay</code> \u63A7\u5236\u7CFB\u7EDF\u4FE1\u606F\u4E0A\u62A5\u7684\u95F4\u9694\uFF0C\u9ED8\u8BA4\u4E3A 1 \u79D2\uFF0C\u53EF\u4EE5\u8BBE\u7F6E\u4E3A 3 \u6765\u8FDB\u4E00\u6B65\u964D\u4F4E agent \u7AEF\u7CFB\u7EDF\u8D44\u6E90\u5360\u7528\uFF08\u914D\u7F6E\u533A\u95F4 1-4\uFF09</li><li><code>--skip-conn</code> \u4E0D\u76D1\u63A7\u8FDE\u63A5\u6570\uFF0C\u63A8\u8350 \u673A\u573A/\u8FDE\u63A5\u5BC6\u96C6\u578B \u670D\u52A1\u5668\u6216CPU\u5360\u7528\u8F83\u9AD8\u7684\u670D\u52A1\u5668\u8BBE\u7F6E</li><li><code>--skip-procs</code> \u4E0D\u76D1\u63A7\u8FDB\u7A0B\u6570\uFF0C\u4E5F\u53EF\u4EE5\u964D\u4F4E Agent \u5360\u7528</li><li><code>--disable-auto-update</code> \u7981\u6B62 <strong>\u81EA\u52A8\u66F4\u65B0</strong> Agent\uFF08\u5B89\u5168\u7279\u6027\uFF09</li><li><code>--disable-force-update</code> \u7981\u6B62 <strong>\u5F3A\u5236\u66F4\u65B0</strong> Agent\uFF08\u5B89\u5168\u7279\u6027\uFF09</li><li><code>--disable-command-execute</code> \u7981\u6B62\u5728 Agent \u4E0A\u6267\u884C\u5B9A\u65F6\u4EFB\u52A1\u3001\u6253\u5F00\u5728\u7EBF\u7EC8\u7AEF\uFF08\u5B89\u5168\u7279\u6027\uFF09</li><li><code>--tls</code> \u542F\u7528 SSL/TLS \u52A0\u5BC6\uFF08\u4F7F\u7528 nginx \u53CD\u5411\u4EE3\u7406 Agent \u7684 grpc \u8FDE\u63A5\uFF0C\u5E76\u4E14 nginx \u5F00\u542F SSL/TLS \u65F6\uFF0C\u9700\u8981\u542F\u7528\u8BE5\u9879\u914D\u7F6E\uFF09</li></ul>',6),c=[o];function i(r,s,l,g,h,_){return a(),t("div",null,c)}var A=e(n,[["render",i]]);export{u as __pageData,A as default};
|
||||
import{_ as e,c as t,o as a,a as d}from"./app.38e99b9a.js";const u='{"title":"\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49-agent-\u76D1\u63A7\u9879\u76EE"}],"relativePath":"guide/q7.md","lastUpdated":1682077347000}',n={},o=d('<h2 id="\u81EA\u5B9A\u4E49-agent-\u76D1\u63A7\u9879\u76EE" tabindex="-1">\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE <a class="header-anchor" href="#\u81EA\u5B9A\u4E49-agent-\u76D1\u63A7\u9879\u76EE" aria-hidden="true">#</a></h2><h4 id="\u81EA\u5B9A\u4E49\u76D1\u63A7\u7684\u7F51\u5361\u548C\u786C\u76D8\u5206\u533A" tabindex="-1">\u81EA\u5B9A\u4E49\u76D1\u63A7\u7684\u7F51\u5361\u548C\u786C\u76D8\u5206\u533A <a class="header-anchor" href="#\u81EA\u5B9A\u4E49\u76D1\u63A7\u7684\u7F51\u5361\u548C\u786C\u76D8\u5206\u533A" aria-hidden="true">#</a></h4><ul><li>\u6267\u884C <code>/opt/nezha/agent/nezha-agent --edit-agent-config</code> \u6765\u9009\u62E9\u81EA\u5B9A\u4E49\u7684\u7F51\u5361\u548C\u5206\u533A\uFF0C\u7136\u540E\u91CD\u542F Agent \u5373\u53EF\u751F\u6548</li></ul><h4 id="\u5176\u4ED6\u8FD0\u884C\u53C2\u6570" tabindex="-1">\u5176\u4ED6\u8FD0\u884C\u53C2\u6570 <a class="header-anchor" href="#\u5176\u4ED6\u8FD0\u884C\u53C2\u6570" aria-hidden="true">#</a></h4><p>\u901A\u8FC7\u6267\u884C <code>./nezha-agent --help</code> \u67E5\u770B\u652F\u6301\u7684\u53C2\u6570\uFF0C\u5982\u679C\u4F60\u4F7F\u7528\u4E86\u4E00\u952E\u811A\u672C\u5B89\u88C5Agent\uFF0C\u53EF\u4EE5\u7F16\u8F91 <code>/etc/systemd/system/nezha-agent.service</code>\uFF0C\u5728 <code>ExecStart=</code> \u8FD9\u4E00\u884C\u7684\u672B\u5C3E\u52A0\u4E0A\u4EE5\u4E0B\u53C2\u6570</p><ul><li><code>--report-delay</code> \u63A7\u5236\u7CFB\u7EDF\u4FE1\u606F\u4E0A\u62A5\u7684\u95F4\u9694\uFF0C\u9ED8\u8BA4\u4E3A 1 \u79D2\uFF0C\u53EF\u4EE5\u8BBE\u7F6E\u4E3A 3 \u6765\u8FDB\u4E00\u6B65\u964D\u4F4E agent \u7AEF\u7CFB\u7EDF\u8D44\u6E90\u5360\u7528\uFF08\u914D\u7F6E\u533A\u95F4 1-4\uFF09</li><li><code>--skip-conn</code> \u4E0D\u76D1\u63A7\u8FDE\u63A5\u6570\uFF0C\u63A8\u8350 \u673A\u573A/\u8FDE\u63A5\u5BC6\u96C6\u578B \u670D\u52A1\u5668\u6216CPU\u5360\u7528\u8F83\u9AD8\u7684\u670D\u52A1\u5668\u8BBE\u7F6E</li><li><code>--skip-procs</code> \u4E0D\u76D1\u63A7\u8FDB\u7A0B\u6570\uFF0C\u4E5F\u53EF\u4EE5\u964D\u4F4E Agent \u5360\u7528</li><li><code>--disable-auto-update</code> \u7981\u6B62 <strong>\u81EA\u52A8\u66F4\u65B0</strong> Agent\uFF08\u5B89\u5168\u7279\u6027\uFF09</li><li><code>--disable-force-update</code> \u7981\u6B62 <strong>\u5F3A\u5236\u66F4\u65B0</strong> Agent\uFF08\u5B89\u5168\u7279\u6027\uFF09</li><li><code>--disable-command-execute</code> \u7981\u6B62\u5728 Agent \u4E0A\u6267\u884C\u5B9A\u65F6\u4EFB\u52A1\u3001\u6253\u5F00\u5728\u7EBF\u7EC8\u7AEF\uFF08\u5B89\u5168\u7279\u6027\uFF09</li><li><code>--tls</code> \u542F\u7528 SSL/TLS \u52A0\u5BC6\uFF08\u4F7F\u7528 nginx \u53CD\u5411\u4EE3\u7406 Agent \u7684 grpc \u8FDE\u63A5\uFF0C\u5E76\u4E14 nginx \u5F00\u542F SSL/TLS \u65F6\uFF0C\u9700\u8981\u542F\u7528\u8BE5\u9879\u914D\u7F6E\uFF09</li></ul>',6),c=[o];function i(r,s,l,g,h,_){return a(),t("div",null,c)}var A=e(n,[["render",i]]);export{u as __pageData,A as default};
|
||||
@@ -1 +1 @@
|
||||
import{_ as e,c as t,o as a,a as d}from"./app.3817bf4e.js";const u='{"title":"\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49-agent-\u76D1\u63A7\u9879\u76EE"}],"relativePath":"guide/q7.md","lastUpdated":1682076617000}',n={},o=d("",6),c=[o];function i(r,s,l,g,h,_){return a(),t("div",null,c)}var A=e(n,[["render",i]]);export{u as __pageData,A as default};
|
||||
import{_ as e,c as t,o as a,a as d}from"./app.38e99b9a.js";const u='{"title":"\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u5B9A\u4E49 Agent \u76D1\u63A7\u9879\u76EE","slug":"\u81EA\u5B9A\u4E49-agent-\u76D1\u63A7\u9879\u76EE"}],"relativePath":"guide/q7.md","lastUpdated":1682077347000}',n={},o=d("",6),c=[o];function i(r,s,l,g,h,_){return a(),t("div",null,c)}var A=e(n,[["render",i]]);export{u as __pageData,A as default};
|
||||
Loaded 100 of 165 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user