diff --git a/assets/app.005aa5c6.js b/assets/app.005aa5c6.js new file mode 100644 index 0000000000..b217c810f9 --- /dev/null +++ b/assets/app.005aa5c6.js @@ -0,0 +1 @@ +var Uo=Object.defineProperty,Ro=Object.defineProperties;var Fo=Object.getOwnPropertyDescriptors;var Ms=Object.getOwnPropertySymbols;var No=Object.prototype.hasOwnProperty,Ho=Object.prototype.propertyIsEnumerable;var Is=(e,t,n)=>t in e?Uo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Os=(e,t)=>{for(var n in t||(t={}))No.call(t,n)&&Is(e,n,t[n]);if(Ms)for(var n of Ms(t))Ho.call(t,n)&&Is(e,n,t[n]);return e},Us=(e,t)=>Ro(e,Fo(t));const Do="modulepreload",Rs={},Bo="/",vr=function(t,n){return!n||n.length===0?t():Promise.all(n.map(s=>{if(s=`${Bo}${s}`,s in Rs)return;Rs[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!!n[r.toLowerCase()]:r=>!!n[r]}const jo="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",qo=ts(jo);function xr(e){return!!e||e===""}function ns(e){if(U(e)){const t={};for(let n=0;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(U(e))for(let n=0;npe(e)?e:e==null?"":U(e)||fe(e)&&(e.toString===wr||!H(e.toString))?JSON.stringify(e,br,2):String(e),br=(e,t)=>t&&t.__v_isRef?br(e,t.value):xt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:kr(t)?{[`Set(${t.size})`]:[...t.values()]}:fe(t)&&!U(t)&&!$r(t)?String(t):t,Z={},vt=[],Ie=()=>{},zo=()=>!1,Xo=/^on[^a-z]/,Vt=e=>Xo.test(e),ss=e=>e.startsWith("onUpdate:"),ke=Object.assign,rs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Jo=Object.prototype.hasOwnProperty,W=(e,t)=>Jo.call(e,t),U=Array.isArray,xt=e=>xn(e)==="[object Map]",kr=e=>xn(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",yr=e=>fe(e)&&H(e.then)&&H(e.catch),wr=Object.prototype.toString,xn=e=>wr.call(e),Yo=e=>xn(e).slice(8,-1),$r=e=>xn(e)==="[object Object]",is=e=>pe(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Mt=ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Qo=/-(\w)/g,Ne=bn(e=>e.replace(Qo,(t,n)=>n?n.toUpperCase():"")),Zo=/\B([A-Z])/g,$t=bn(e=>e.replace(Zo,"-$1").toLowerCase()),kn=bn(e=>e.charAt(0).toUpperCase()+e.slice(1)),On=bn(e=>e?`on${kn(e)}`:""),Ht=(e,t)=>!Object.is(e,t),Un=(e,t)=>{for(let n=0;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 Re;class ti{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Re&&(this.parent=Re,this.index=(Re.scopes||(Re.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Re;try{return Re=this,t()}finally{Re=n}}}on(){Re=this}off(){Re=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},Cr=e=>(e.w&Ge)>0,Er=e=>(e.n&Ge)>0,si=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(f==="length"||f>=s)&&l.push(c)});else switch(n!==void 0&&l.push(i.get(n)),t){case"add":U(e)?is(n)&&l.push(i.get("length")):(l.push(i.get(rt)),xt(e)&&l.push(i.get(Kn)));break;case"delete":U(e)||(l.push(i.get(rt)),xt(e)&&l.push(i.get(Kn)));break;case"set":xt(e)&&l.push(i.get(rt));break}if(l.length===1)l[0]&&Wn(l[0]);else{const c=[];for(const f of l)f&&c.push(...f);Wn(ls(c))}}function Wn(e,t){for(const n of U(e)?e:[...e])(n!==Ae||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const oi=ts("__proto__,__v_isRef,__isVue"),Tr=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(os)),ii=as(),li=as(!1,!0),ci=as(!0),Hs=ai();function ai(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let o=0,i=this.length;o{e[t]=function(...n){Ct();const s=z(this)[t].apply(this,n);return Et(),s}}),e}function as(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?Ci:Or:t?Ir:Mr).get(s))return s;const i=U(s);if(!e&&i&&W(Hs,r))return Reflect.get(Hs,r,o);const l=Reflect.get(s,r,o);return(os(r)?Tr.has(r):oi(r))||(e||Le(s,"get",r),t)?l:he(l)?!i||!is(r)?l.value:l:fe(l)?e?Ur(l):wn(l):l}}const ui=Pr(),fi=Pr(!0);function Pr(e=!1){return function(n,s,r,o){let i=n[s];if(Dt(i)&&he(i)&&!he(r))return!1;if(!e&&!Dt(r)&&(Rr(r)||(r=z(r),i=z(i)),!U(n)&&he(i)&&!he(r)))return i.value=r,!0;const l=U(n)&&is(s)?Number(s)e,yn=e=>Reflect.getPrototypeOf(e);function Qt(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),o=z(t);t!==o&&!n&&Le(r,"get",t),!n&&Le(r,"get",o);const{has:i}=yn(r),l=s?us:n?hs:Bt;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Zt(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return e!==r&&!t&&Le(s,"has",e),!t&&Le(s,"has",r),e===r?n.has(e):n.has(e)||n.has(r)}function Gt(e,t=!1){return e=e.__v_raw,!t&&Le(z(e),"iterate",rt),Reflect.get(e,"size",e)}function Ds(e){e=z(e);const t=z(this);return yn(t).has.call(t,e)||(t.add(e),qe(t,"add",e,e)),this}function Bs(e,t){t=z(t);const n=z(this),{has:s,get:r}=yn(n);let o=s.call(n,e);o||(e=z(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Ht(t,i)&&qe(n,"set",e,t):qe(n,"add",e,t),this}function js(e){const t=z(this),{has:n,get:s}=yn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&qe(t,"delete",e,void 0),o}function qs(){const e=z(this),t=e.size!==0,n=e.clear();return t&&qe(e,"clear",void 0,void 0),n}function en(e,t){return function(s,r){const o=this,i=o.__v_raw,l=z(i),c=t?us:e?hs:Bt;return!e&&Le(l,"iterate",rt),i.forEach((f,h)=>s.call(r,c(f),c(h),o))}}function tn(e,t,n){return function(...s){const r=this.__v_raw,o=z(r),i=xt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=r[e](...s),h=n?us:t?hs:Bt;return!t&&Le(o,"iterate",c?Kn:rt),{next(){const{value:m,done:x}=f.next();return x?{value:m,done:x}:{value:l?[h(m[0]),h(m[1])]:h(m),done:x}},[Symbol.iterator](){return this}}}}function ze(e){return function(...t){return e==="delete"?!1:this}}function mi(){const e={get(o){return Qt(this,o)},get size(){return Gt(this)},has:Zt,add:Ds,set:Bs,delete:js,clear:qs,forEach:en(!1,!1)},t={get(o){return Qt(this,o,!1,!0)},get size(){return Gt(this)},has:Zt,add:Ds,set:Bs,delete:js,clear:qs,forEach:en(!1,!0)},n={get(o){return Qt(this,o,!0)},get size(){return Gt(this,!0)},has(o){return Zt.call(this,o,!0)},add:ze("add"),set:ze("set"),delete:ze("delete"),clear:ze("clear"),forEach:en(!0,!1)},s={get(o){return Qt(this,o,!0,!0)},get size(){return Gt(this,!0)},has(o){return Zt.call(this,o,!0)},add:ze("add"),set:ze("set"),delete:ze("delete"),clear:ze("clear"),forEach:en(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=tn(o,!1,!1),n[o]=tn(o,!0,!1),t[o]=tn(o,!1,!0),s[o]=tn(o,!0,!0)}),[e,n,t,s]}const[vi,xi,bi,ki]=mi();function fs(e,t){const n=t?e?ki:bi:e?xi:vi;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(W(n,r)&&r in s?n:s,r,o)}const yi={get:fs(!1,!1)},wi={get:fs(!1,!0)},$i={get:fs(!0,!1)},Mr=new WeakMap,Ir=new WeakMap,Or=new WeakMap,Ci=new WeakMap;function Ei(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Li(e){return e.__v_skip||!Object.isExtensible(e)?0:Ei(Yo(e))}function wn(e){return Dt(e)?e:ds(e,!1,Ar,yi,Mr)}function Si(e){return ds(e,!1,gi,wi,Ir)}function Ur(e){return ds(e,!0,_i,$i,Or)}function ds(e,t,n,s,r){if(!fe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=Li(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function bt(e){return Dt(e)?bt(e.__v_raw):!!(e&&e.__v_isReactive)}function Dt(e){return!!(e&&e.__v_isReadonly)}function Rr(e){return!!(e&&e.__v_isShallow)}function Fr(e){return bt(e)||Dt(e)}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function It(e){return on(e,"__v_skip",!0),e}const Bt=e=>fe(e)?wn(e):e,hs=e=>fe(e)?Ur(e):e;function Nr(e){Qe&&Ae&&(e=z(e),Sr(e.dep||(e.dep=ls())))}function Hr(e,t){e=z(e),e.dep&&Wn(e.dep)}function he(e){return!!(e&&e.__v_isRef===!0)}function ot(e){return Dr(e,!1)}function Ti(e){return Dr(e,!0)}function Dr(e,t){return he(e)?e:new Pi(e,t)}class Pi{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:Bt(t)}get value(){return Nr(this),this._value}set value(t){t=this.__v_isShallow?t:z(t),Ht(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Bt(t),Hr(this))}}function $(e){return he(e)?e.value:e}const Ai={get:(e,t,n)=>$(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return he(r)&&!he(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Br(e){return bt(e)?e:new Proxy(e,Ai)}function jr(e){const t=U(e)?new Array(e.length):{};for(const n in e)t[n]=Ii(e,n);return t}class Mi{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function Ii(e,t,n){const s=e[t];return he(s)?s:new Mi(e,t,n)}class Oi{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new cs(t,()=>{this._dirty||(this._dirty=!0,Hr(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return Nr(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Ui(e,t,n=!1){let s,r;const o=H(e);return o?(s=e,r=Ie):(s=e.get,r=e.set),new Oi(s,r,o||!r,n)}function Ze(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){zt(o,t,n)}return r}function Oe(e,t,n,s){if(H(e)){const o=Ze(e,t,n,s);return o&&yr(o)&&o.catch(i=>{zt(i,t,n)}),o}const r=[];for(let o=0;o>>1;jt(Ee[s])je&&Ee.splice(t,1)}function Vr(e,t,n,s){U(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?s+1:s))&&n.push(e),Wr()}function Hi(e){Vr(e,At,Ot,_t)}function Di(e){Vr(e,Je,Ut,gt)}function gs(e,t=null){if(Ot.length){for(zn=t,At=[...new Set(Ot)],Ot.length=0,_t=0;_tjt(n)-jt(s)),gt=0;gte.id==null?1/0:e.id;function zr(e){Vn=!1,ln=!0,gs(e),Ee.sort((n,s)=>jt(n)-jt(s));const t=Ie;try{for(je=0;jeE.trim()):m&&(r=n.map(Go))}let l,c=s[l=On(t)]||s[l=On(Ne(t))];!c&&o&&(c=s[l=On($t(t))]),c&&Oe(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Oe(f,e,6,r)}}function Xr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!H(e)){const c=f=>{const h=Xr(f,t,!0);h&&(l=!0,ke(i,h))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(s.set(e,null),null):(U(o)?o.forEach(c=>i[c]=null):ke(i,o),s.set(e,i),i)}function $n(e,t){return!e||!Vt(t)?!1:(t=t.slice(2).replace(/Once$/,""),W(e,t[0].toLowerCase()+t.slice(1))||W(e,$t(t))||W(e,t))}let xe=null,Cn=null;function an(e){const t=xe;return xe=e,Cn=e&&e.type.__scopeId||null,t}function Jr(e){Cn=e}function Yr(){Cn=null}function Be(e,t=xe,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&Gs(-1);const o=an(t),i=e(...r);return an(o),s._d&&Gs(1),i};return s._n=!0,s._c=!0,s._d=!0,s}function Rn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:f,render:h,renderCache:m,data:x,setupState:E,ctx:L,inheritAttrs:B}=e;let p,b;const I=an(e);try{if(n.shapeFlag&4){const D=r||s;p=Pe(h.call(D,D,m,o,E,x,L)),b=c}else{const D=t;p=Pe(D.length>1?D(o,{attrs:c,slots:l,emit:f}):D(o,null)),b=t.props?c:ji(c)}}catch(D){Nt.length=0,zt(D,e,1),p=R(Ke)}let M=p;if(b&&B!==!1){const D=Object.keys(b),{shapeFlag:Y}=M;D.length&&Y&7&&(i&&D.some(ss)&&(b=qi(b,i)),M=Wt(M,b))}return n.dirs&&(M.dirs=M.dirs?M.dirs.concat(n.dirs):n.dirs),n.transition&&(M.transition=n.transition),p=M,an(I),p}const ji=e=>{let t;for(const n in e)(n==="class"||n==="style"||Vt(n))&&((t||(t={}))[n]=e[n]);return t},qi=(e,t)=>{const n={};for(const s in e)(!ss(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Ki(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ks(s,i,f):!!i;if(c&8){const h=t.dynamicProps;for(let m=0;me.__isSuspense;function Qr(e,t){t&&t.pendingBranch?U(e)?t.effects.push(...e):t.effects.push(e):Di(e)}function zi(e,t){if(ue){let n=ue.provides;const s=ue.parent&&ue.parent.provides;s===n&&(n=ue.provides=Object.create(s)),n[e]=t}}function Rt(e,t,n=!1){const s=ue||xe;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&H(t)?t.call(s.proxy):t}}function Zr(e,t){return ms(e,null,t)}const Ws={};function it(e,t,n){return ms(e,t,n)}function ms(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=Z){const l=ue;let c,f=!1,h=!1;if(he(e)?(c=()=>e.value,f=Rr(e)):bt(e)?(c=()=>e,s=!0):U(e)?(h=!0,f=e.some(bt),c=()=>e.map(b=>{if(he(b))return b.value;if(bt(b))return mt(b);if(H(b))return Ze(b,l,2)})):H(e)?t?c=()=>Ze(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return m&&m(),Oe(e,l,3,[x])}:c=Ie,t&&s){const b=c;c=()=>mt(b())}let m,x=b=>{m=p.onStop=()=>{Ze(b,l,4)}};if(yt)return x=Ie,t?n&&Oe(t,l,3,[c(),h?[]:void 0,x]):c(),Ie;let E=h?[]:Ws;const L=()=>{if(!!p.active)if(t){const b=p.run();(s||f||(h?b.some((I,M)=>Ht(I,E[M])):Ht(b,E)))&&(m&&m(),Oe(t,l,3,[b,E===Ws?void 0:E,x]),E=b)}else p.run()};L.allowRecurse=!!t;let B;r==="sync"?B=L:r==="post"?B=()=>$e(L,l&&l.suspense):B=()=>{!l||l.isMounted?Hi(L):L()};const p=new cs(c,B);return t?n?L():E=p.run():r==="post"?$e(p.run.bind(p),l&&l.suspense):p.run(),()=>{p.stop(),l&&l.scope&&rs(l.scope.effects,p)}}function Xi(e,t,n){const s=this.proxy,r=pe(e)?e.includes(".")?Gr(s,e):()=>s[e]:e.bind(s,s);let o;H(t)?o=t:(o=t.handler,n=t);const i=ue;kt(this);const l=ms(r,o.bind(s),n);return i?kt(i):ct(),l}function Gr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{mt(n,t)});else if($r(e))for(const n in e)mt(e[n],t);return e}function re(e){return H(e)?{setup:e,name:e.name}:e}const qt=e=>!!e.type.__asyncLoader;function Ji(e){H(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,timeout:o,suspensible:i=!0,onError:l}=e;let c=null,f,h=0;const m=()=>(h++,c=null,x()),x=()=>{let E;return c||(E=c=t().catch(L=>{if(L=L instanceof Error?L:new Error(String(L)),l)return new Promise((B,p)=>{l(L,()=>B(m()),()=>p(L),h+1)});throw L}).then(L=>E!==c&&c?c:(L&&(L.__esModule||L[Symbol.toStringTag]==="Module")&&(L=L.default),f=L,L)))};return re({name:"AsyncComponentWrapper",__asyncLoader:x,get __asyncResolved(){return f},setup(){const E=ue;if(f)return()=>Fn(f,E);const L=I=>{c=null,zt(I,E,13,!s)};if(i&&E.suspense||yt)return x().then(I=>()=>Fn(I,E)).catch(I=>(L(I),()=>s?R(s,{error:I}):null));const B=ot(!1),p=ot(),b=ot(!!r);return r&&setTimeout(()=>{b.value=!1},r),o!=null&&setTimeout(()=>{if(!B.value&&!p.value){const I=new Error(`Async component timed out after ${o}ms.`);L(I),p.value=I}},o),x().then(()=>{B.value=!0,E.parent&&vs(E.parent.vnode)&&_s(E.parent.update)}).catch(I=>{L(I),p.value=I}),()=>{if(B.value&&f)return Fn(f,E);if(p.value&&s)return R(s,{error:p.value});if(n&&!b.value)return R(n)}}})}function Fn(e,{vnode:{ref:t,props:n,children:s}}){const r=R(e,n,s);return r.ref=t,r}const vs=e=>e.type.__isKeepAlive;function Yi(e,t){eo(e,"a",t)}function Qi(e,t){eo(e,"da",t)}function eo(e,t,n=ue){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(En(t,s,n),n){let r=n.parent;for(;r&&r.parent;)vs(r.parent.vnode)&&Zi(s,t,n,r),r=r.parent}}function Zi(e,t,n,s){const r=En(t,e,s,!0);Ln(()=>{rs(s[t],r)},n)}function En(e,t,n=ue,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;Ct(),kt(n);const l=Oe(t,n,e,i);return ct(),Et(),l});return s?r.unshift(o):r.push(o),o}}const We=e=>(t,n=ue)=>(!yt||e==="sp")&&En(e,t,n),Gi=We("bm"),ft=We("m"),el=We("bu"),to=We("u"),tl=We("bum"),Ln=We("um"),nl=We("sp"),sl=We("rtg"),rl=We("rtc");function ol(e,t=ue){En("ec",e,t)}let Xn=!0;function il(e){const t=so(e),n=e.proxy,s=e.ctx;Xn=!1,t.beforeCreate&&Vs(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:f,created:h,beforeMount:m,mounted:x,beforeUpdate:E,updated:L,activated:B,deactivated:p,beforeDestroy:b,beforeUnmount:I,destroyed:M,unmounted:D,render:Y,renderTracked:Q,renderTriggered:j,errorCaptured:le,serverPrefetch:ne,expose:oe,inheritAttrs:ge,components:K,directives:ie,filters:ye}=t;if(f&&ll(f,s,null,e.appContext.config.unwrapInjectedRef),i)for(const se in i){const G=i[se];H(G)&&(s[se]=G.bind(n))}if(r){const se=r.call(n,n);fe(se)&&(e.data=wn(se))}if(Xn=!0,o)for(const se in o){const G=o[se],He=H(G)?G.bind(n,n):H(G.get)?G.get.bind(n,n):Ie,An=!H(G)&&H(G.set)?G.set.bind(n):Ie,Lt=q({get:He,set:An});Object.defineProperty(s,se,{enumerable:!0,configurable:!0,get:()=>Lt.value,set:dt=>Lt.value=dt})}if(l)for(const se in l)no(l[se],s,n,se);if(c){const se=H(c)?c.call(n):c;Reflect.ownKeys(se).forEach(G=>{zi(G,se[G])})}h&&Vs(h,e,"c");function we(se,G){U(G)?G.forEach(He=>se(He.bind(n))):G&&se(G.bind(n))}if(we(Gi,m),we(ft,x),we(el,E),we(to,L),we(Yi,B),we(Qi,p),we(ol,le),we(rl,Q),we(sl,j),we(tl,I),we(Ln,D),we(nl,ne),U(oe))if(oe.length){const se=e.exposed||(e.exposed={});oe.forEach(G=>{Object.defineProperty(se,G,{get:()=>n[G],set:He=>n[G]=He})})}else e.exposed||(e.exposed={});Y&&e.render===Ie&&(e.render=Y),ge!=null&&(e.inheritAttrs=ge),K&&(e.components=K),ie&&(e.directives=ie)}function ll(e,t,n=Ie,s=!1){U(e)&&(e=Jn(e));for(const r in e){const o=e[r];let i;fe(o)?"default"in o?i=Rt(o.from||r,o.default,!0):i=Rt(o.from||r):i=Rt(o),he(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[r]=i}}function Vs(e,t,n){Oe(U(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function no(e,t,n,s){const r=s.includes(".")?Gr(n,s):()=>n[s];if(pe(e)){const o=t[e];H(o)&&it(r,o)}else if(H(e))it(r,e.bind(n));else if(fe(e))if(U(e))e.forEach(o=>no(o,t,n,s));else{const o=H(e.handler)?e.handler.bind(n):t[e.handler];H(o)&&it(r,o,e)}}function so(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>un(c,f,i,!0)),un(c,t,i)),o.set(t,c),c}function un(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&un(e,o,n,!0),r&&r.forEach(i=>un(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=cl[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const cl={data:zs,props:nt,emits:nt,methods:nt,computed:nt,beforeCreate:ve,created:ve,beforeMount:ve,mounted:ve,beforeUpdate:ve,updated:ve,beforeDestroy:ve,beforeUnmount:ve,destroyed:ve,unmounted:ve,activated:ve,deactivated:ve,errorCaptured:ve,serverPrefetch:ve,components:nt,directives:nt,watch:ul,provide:zs,inject:al};function zs(e,t){return t?e?function(){return ke(H(e)?e.call(this,this):e,H(t)?t.call(this,this):t)}:t:e}function al(e,t){return nt(Jn(e),Jn(t))}function Jn(e){if(U(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const h=e.vnode.dynamicProps;for(let m=0;m{c=!0;const[x,E]=oo(m,t,!0);ke(i,x),E&&l.push(...E)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!o&&!c)return s.set(e,vt),vt;if(U(o))for(let h=0;h-1,E[1]=B<0||L-1||W(E,"default"))&&l.push(m)}}}const f=[i,l];return s.set(e,f),f}function Xs(e){return e[0]!=="$"}function Js(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Ys(e,t){return Js(e)===Js(t)}function Qs(e,t){return U(t)?t.findIndex(n=>Ys(n,e)):H(t)&&Ys(t,e)?0:-1}const io=e=>e[0]==="_"||e==="$stable",xs=e=>U(e)?e.map(Pe):[Pe(e)],hl=(e,t,n)=>{const s=Be((...r)=>xs(t(...r)),n);return s._c=!1,s},lo=(e,t,n)=>{const s=e._ctx;for(const r in e){if(io(r))continue;const o=e[r];if(H(o))t[r]=hl(r,o,s);else if(o!=null){const i=xs(o);t[r]=()=>i}}},co=(e,t)=>{const n=xs(t);e.slots.default=()=>n},pl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=z(t),on(t,"_",n)):lo(t,e.slots={})}else e.slots={},t&&co(e,t);on(e.slots,Sn,1)},_l=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=Z;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ke(r,t),!n&&l===1&&delete r._):(o=!t.$stable,lo(t,r)),i=t}else t&&(co(e,t),i={default:1});if(o)for(const l in r)!io(l)&&!(l in i)&&delete r[l]};function Fe(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;ifn(x,t&&(U(t)?t[E]:t),n,s,r));return}if(qt(s)&&!r)return;const o=s.shapeFlag&4?ys(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,f=t&&t.r,h=l.refs===Z?l.refs={}:l.refs,m=l.setupState;if(f!=null&&f!==c&&(pe(f)?(h[f]=null,W(m,f)&&(m[f]=null)):he(f)&&(f.value=null)),H(c))Ze(c,l,12,[i,h]);else{const x=pe(c),E=he(c);if(x||E){const L=()=>{if(e.f){const B=x?h[c]:c.value;r?U(B)&&rs(B,o):U(B)?B.includes(o)||B.push(o):x?(h[c]=[o],W(m,c)&&(m[c]=h[c])):(c.value=[o],e.k&&(h[e.k]=c.value))}else x?(h[c]=i,W(m,c)&&(m[c]=i)):he(c)&&(c.value=i,e.k&&(h[e.k]=i))};i?(L.id=-1,$e(L,n)):L()}}}let Xe=!1;const nn=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Nn=e=>e.nodeType===8;function vl(e){const{mt:t,p:n,o:{patchProp:s,nextSibling:r,parentNode:o,remove:i,insert:l,createComment:c}}=e,f=(p,b)=>{if(!b.hasChildNodes()){n(null,p,b),cn();return}Xe=!1,h(b.firstChild,p,null,null,null),cn(),Xe&&console.error("Hydration completed but contains mismatches.")},h=(p,b,I,M,D,Y=!1)=>{const Q=Nn(p)&&p.data==="[",j=()=>L(p,b,I,M,D,Q),{type:le,ref:ne,shapeFlag:oe}=b,ge=p.nodeType;b.el=p;let K=null;switch(le){case Kt:ge!==3?K=j():(p.data!==b.children&&(Xe=!0,p.data=b.children),K=r(p));break;case Ke:ge!==8||Q?K=j():K=r(p);break;case Ft:if(ge!==1)K=j();else{K=p;const ie=!b.children.length;for(let ye=0;ye{Y=Y||!!b.dynamicChildren;const{type:Q,props:j,patchFlag:le,shapeFlag:ne,dirs:oe}=b,ge=Q==="input"&&oe||Q==="option";if(ge||le!==-1){if(oe&&Fe(b,null,I,"created"),j)if(ge||!Y||le&48)for(const ie in j)(ge&&ie.endsWith("value")||Vt(ie)&&!Mt(ie))&&s(p,ie,null,j[ie],!1,void 0,I);else j.onClick&&s(p,"onClick",null,j.onClick,!1,void 0,I);let K;if((K=j&&j.onVnodeBeforeMount)&&Se(K,I,b),oe&&Fe(b,null,I,"beforeMount"),((K=j&&j.onVnodeMounted)||oe)&&Qr(()=>{K&&Se(K,I,b),oe&&Fe(b,null,I,"mounted")},M),ne&16&&!(j&&(j.innerHTML||j.textContent))){let ie=x(p.firstChild,b,p,I,M,D,Y);for(;ie;){Xe=!0;const ye=ie;ie=ie.nextSibling,i(ye)}}else ne&8&&p.textContent!==b.children&&(Xe=!0,p.textContent=b.children)}return p.nextSibling},x=(p,b,I,M,D,Y,Q)=>{Q=Q||!!b.dynamicChildren;const j=b.children,le=j.length;for(let ne=0;ne{const{slotScopeIds:Q}=b;Q&&(D=D?D.concat(Q):Q);const j=o(p),le=x(r(p),b,j,I,M,D,Y);return le&&Nn(le)&&le.data==="]"?r(b.anchor=le):(Xe=!0,l(b.anchor=c("]"),j,le),le)},L=(p,b,I,M,D,Y)=>{if(Xe=!0,b.el=null,Y){const le=B(p);for(;;){const ne=r(p);if(ne&&ne!==le)i(ne);else break}}const Q=r(p),j=o(p);return i(p),n(null,b,j,Q,I,M,nn(j),D),Q},B=p=>{let b=0;for(;p;)if(p=r(p),p&&Nn(p)&&(p.data==="["&&b++,p.data==="]")){if(b===0)return r(p);b--}return p};return[f,h]}const $e=Qr;function xl(e){return bl(e,vl)}function bl(e,t){const n=ei();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:f,setElementText:h,parentNode:m,nextSibling:x,setScopeId:E=Ie,cloneNode:L,insertStaticContent:B}=e,p=(a,u,d,g=null,_=null,y=null,C=!1,k=null,w=!!u.dynamicChildren)=>{if(a===u)return;a&&!Tt(a,u)&&(g=Yt(a),Ve(a,_,y,!0),a=null),u.patchFlag===-2&&(w=!1,u.dynamicChildren=null);const{type:v,ref:P,shapeFlag:S}=u;switch(v){case Kt:b(a,u,d,g);break;case Ke:I(a,u,d,g);break;case Ft:a==null&&M(u,d,g,C);break;case de:ie(a,u,d,g,_,y,C,k,w);break;default:S&1?Q(a,u,d,g,_,y,C,k,w):S&6?ye(a,u,d,g,_,y,C,k,w):(S&64||S&128)&&v.process(a,u,d,g,_,y,C,k,w,ht)}P!=null&&_&&fn(P,a&&a.ref,y,u||a,!u)},b=(a,u,d,g)=>{if(a==null)s(u.el=l(u.children),d,g);else{const _=u.el=a.el;u.children!==a.children&&f(_,u.children)}},I=(a,u,d,g)=>{a==null?s(u.el=c(u.children||""),d,g):u.el=a.el},M=(a,u,d,g)=>{[a.el,a.anchor]=B(a.children,u,d,g,a.el,a.anchor)},D=({el:a,anchor:u},d,g)=>{let _;for(;a&&a!==u;)_=x(a),s(a,d,g),a=_;s(u,d,g)},Y=({el:a,anchor:u})=>{let d;for(;a&&a!==u;)d=x(a),r(a),a=d;r(u)},Q=(a,u,d,g,_,y,C,k,w)=>{C=C||u.type==="svg",a==null?j(u,d,g,_,y,C,k,w):oe(a,u,_,y,C,k,w)},j=(a,u,d,g,_,y,C,k)=>{let w,v;const{type:P,props:S,shapeFlag:A,transition:O,patchFlag:V,dirs:te}=a;if(a.el&&L!==void 0&&V===-1)w=a.el=L(a.el);else{if(w=a.el=i(a.type,y,S&&S.is,S),A&8?h(w,a.children):A&16&&ne(a.children,w,null,g,_,y&&P!=="foreignObject",C,k),te&&Fe(a,null,g,"created"),S){for(const ee in S)ee!=="value"&&!Mt(ee)&&o(w,ee,null,S[ee],y,a.children,g,_,De);"value"in S&&o(w,"value",null,S.value),(v=S.onVnodeBeforeMount)&&Se(v,g,a)}le(w,a,a.scopeId,C,g)}te&&Fe(a,null,g,"beforeMount");const J=(!_||_&&!_.pendingBranch)&&O&&!O.persisted;J&&O.beforeEnter(w),s(w,u,d),((v=S&&S.onVnodeMounted)||J||te)&&$e(()=>{v&&Se(v,g,a),J&&O.enter(w),te&&Fe(a,null,g,"mounted")},_)},le=(a,u,d,g,_)=>{if(d&&E(a,d),g)for(let y=0;y{for(let v=w;v{const k=u.el=a.el;let{patchFlag:w,dynamicChildren:v,dirs:P}=u;w|=a.patchFlag&16;const S=a.props||Z,A=u.props||Z;let O;d&&tt(d,!1),(O=A.onVnodeBeforeUpdate)&&Se(O,d,u,a),P&&Fe(u,a,d,"beforeUpdate"),d&&tt(d,!0);const V=_&&u.type!=="foreignObject";if(v?ge(a.dynamicChildren,v,k,d,g,V,y):C||He(a,u,k,null,d,g,V,y,!1),w>0){if(w&16)K(k,u,S,A,d,g,_);else if(w&2&&S.class!==A.class&&o(k,"class",null,A.class,_),w&4&&o(k,"style",S.style,A.style,_),w&8){const te=u.dynamicProps;for(let J=0;J{O&&Se(O,d,u,a),P&&Fe(u,a,d,"updated")},g)},ge=(a,u,d,g,_,y,C)=>{for(let k=0;k{if(d!==g){for(const k in g){if(Mt(k))continue;const w=g[k],v=d[k];w!==v&&k!=="value"&&o(a,k,v,w,C,u.children,_,y,De)}if(d!==Z)for(const k in d)!Mt(k)&&!(k in g)&&o(a,k,d[k],null,C,u.children,_,y,De);"value"in g&&o(a,"value",d.value,g.value)}},ie=(a,u,d,g,_,y,C,k,w)=>{const v=u.el=a?a.el:l(""),P=u.anchor=a?a.anchor:l("");let{patchFlag:S,dynamicChildren:A,slotScopeIds:O}=u;O&&(k=k?k.concat(O):O),a==null?(s(v,d,g),s(P,d,g),ne(u.children,d,P,_,y,C,k,w)):S>0&&S&64&&A&&a.dynamicChildren?(ge(a.dynamicChildren,A,d,_,y,C,k),(u.key!=null||_&&u===_.subTree)&&uo(a,u,!0)):He(a,u,d,P,_,y,C,k,w)},ye=(a,u,d,g,_,y,C,k,w)=>{u.slotScopeIds=k,a==null?u.shapeFlag&512?_.ctx.activate(u,d,g,C,w):Pn(u,d,g,_,y,C,w):we(a,u,w)},Pn=(a,u,d,g,_,y,C)=>{const k=a.component=Al(a,g,_);if(vs(a)&&(k.ctx.renderer=ht),Ml(k),k.asyncDep){if(_&&_.registerDep(k,se),!a.el){const w=k.subTree=R(Ke);I(null,w,u,d)}return}se(k,a,u,d,_,y,C)},we=(a,u,d)=>{const g=u.component=a.component;if(Ki(a,u,d))if(g.asyncDep&&!g.asyncResolved){G(g,u,d);return}else g.next=u,Ni(g.update),g.update();else u.component=a.component,u.el=a.el,g.vnode=u},se=(a,u,d,g,_,y,C)=>{const k=()=>{if(a.isMounted){let{next:P,bu:S,u:A,parent:O,vnode:V}=a,te=P,J;tt(a,!1),P?(P.el=V.el,G(a,P,C)):P=V,S&&Un(S),(J=P.props&&P.props.onVnodeBeforeUpdate)&&Se(J,O,P,V),tt(a,!0);const ee=Rn(a),Te=a.subTree;a.subTree=ee,p(Te,ee,m(Te.el),Yt(Te),a,_,y),P.el=ee.el,te===null&&Wi(a,ee.el),A&&$e(A,_),(J=P.props&&P.props.onVnodeUpdated)&&$e(()=>Se(J,O,P,V),_)}else{let P;const{el:S,props:A}=u,{bm:O,m:V,parent:te}=a,J=qt(u);if(tt(a,!1),O&&Un(O),!J&&(P=A&&A.onVnodeBeforeMount)&&Se(P,te,u),tt(a,!0),S&&In){const ee=()=>{a.subTree=Rn(a),In(S,a.subTree,a,_,null)};J?u.type.__asyncLoader().then(()=>!a.isUnmounted&&ee()):ee()}else{const ee=a.subTree=Rn(a);p(null,ee,d,g,a,_,y),u.el=ee.el}if(V&&$e(V,_),!J&&(P=A&&A.onVnodeMounted)){const ee=u;$e(()=>Se(P,te,ee),_)}u.shapeFlag&256&&a.a&&$e(a.a,_),a.isMounted=!0,u=d=g=null}},w=a.effect=new cs(k,()=>_s(a.update),a.scope),v=a.update=w.run.bind(w);v.id=a.uid,tt(a,!0),v()},G=(a,u,d)=>{u.component=a;const g=a.vnode.props;a.vnode=u,a.next=null,dl(a,u.props,g,d),_l(a,u.children,d),Ct(),gs(void 0,a.update),Et()},He=(a,u,d,g,_,y,C,k,w=!1)=>{const v=a&&a.children,P=a?a.shapeFlag:0,S=u.children,{patchFlag:A,shapeFlag:O}=u;if(A>0){if(A&128){Lt(v,S,d,g,_,y,C,k,w);return}else if(A&256){An(v,S,d,g,_,y,C,k,w);return}}O&8?(P&16&&De(v,_,y),S!==v&&h(d,S)):P&16?O&16?Lt(v,S,d,g,_,y,C,k,w):De(v,_,y,!0):(P&8&&h(d,""),O&16&&ne(S,d,g,_,y,C,k,w))},An=(a,u,d,g,_,y,C,k,w)=>{a=a||vt,u=u||vt;const v=a.length,P=u.length,S=Math.min(v,P);let A;for(A=0;AP?De(a,_,y,!0,!1,S):ne(u,d,g,_,y,C,k,w,S)},Lt=(a,u,d,g,_,y,C,k,w)=>{let v=0;const P=u.length;let S=a.length-1,A=P-1;for(;v<=S&&v<=A;){const O=a[v],V=u[v]=w?Ye(u[v]):Pe(u[v]);if(Tt(O,V))p(O,V,d,null,_,y,C,k,w);else break;v++}for(;v<=S&&v<=A;){const O=a[S],V=u[A]=w?Ye(u[A]):Pe(u[A]);if(Tt(O,V))p(O,V,d,null,_,y,C,k,w);else break;S--,A--}if(v>S){if(v<=A){const O=A+1,V=OA)for(;v<=S;)Ve(a[v],_,y,!0),v++;else{const O=v,V=v,te=new Map;for(v=V;v<=A;v++){const Ce=u[v]=w?Ye(u[v]):Pe(u[v]);Ce.key!=null&&te.set(Ce.key,v)}let J,ee=0;const Te=A-V+1;let pt=!1,Ts=0;const St=new Array(Te);for(v=0;v=Te){Ve(Ce,_,y,!0);continue}let Ue;if(Ce.key!=null)Ue=te.get(Ce.key);else for(J=V;J<=A;J++)if(St[J-V]===0&&Tt(Ce,u[J])){Ue=J;break}Ue===void 0?Ve(Ce,_,y,!0):(St[Ue-V]=v+1,Ue>=Ts?Ts=Ue:pt=!0,p(Ce,u[Ue],d,null,_,y,C,k,w),ee++)}const Ps=pt?kl(St):vt;for(J=Ps.length-1,v=Te-1;v>=0;v--){const Ce=V+v,Ue=u[Ce],As=Ce+1{const{el:y,type:C,transition:k,children:w,shapeFlag:v}=a;if(v&6){dt(a.component.subTree,u,d,g);return}if(v&128){a.suspense.move(u,d,g);return}if(v&64){C.move(a,u,d,ht);return}if(C===de){s(y,u,d);for(let S=0;Sk.enter(y),_);else{const{leave:S,delayLeave:A,afterLeave:O}=k,V=()=>s(y,u,d),te=()=>{S(y,()=>{V(),O&&O()})};A?A(y,V,te):te()}else s(y,u,d)},Ve=(a,u,d,g=!1,_=!1)=>{const{type:y,props:C,ref:k,children:w,dynamicChildren:v,shapeFlag:P,patchFlag:S,dirs:A}=a;if(k!=null&&fn(k,null,d,a,!0),P&256){u.ctx.deactivate(a);return}const O=P&1&&A,V=!qt(a);let te;if(V&&(te=C&&C.onVnodeBeforeUnmount)&&Se(te,u,a),P&6)Oo(a.component,d,g);else{if(P&128){a.suspense.unmount(d,g);return}O&&Fe(a,null,u,"beforeUnmount"),P&64?a.type.remove(a,u,d,_,ht,g):v&&(y!==de||S>0&&S&64)?De(v,u,d,!1,!0):(y===de&&S&384||!_&&P&16)&&De(w,u,d),g&&Ls(a)}(V&&(te=C&&C.onVnodeUnmounted)||O)&&$e(()=>{te&&Se(te,u,a),O&&Fe(a,null,u,"unmounted")},d)},Ls=a=>{const{type:u,el:d,anchor:g,transition:_}=a;if(u===de){Io(d,g);return}if(u===Ft){Y(a);return}const y=()=>{r(d),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(a.shapeFlag&1&&_&&!_.persisted){const{leave:C,delayLeave:k}=_,w=()=>C(d,y);k?k(a.el,y,w):w()}else y()},Io=(a,u)=>{let d;for(;a!==u;)d=x(a),r(a),a=d;r(u)},Oo=(a,u,d)=>{const{bum:g,scope:_,update:y,subTree:C,um:k}=a;g&&Un(g),_.stop(),y&&(y.active=!1,Ve(C,a,u,d)),k&&$e(k,u),$e(()=>{a.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&a.asyncDep&&!a.asyncResolved&&a.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},De=(a,u,d,g=!1,_=!1,y=0)=>{for(let C=y;Ca.shapeFlag&6?Yt(a.component.subTree):a.shapeFlag&128?a.suspense.next():x(a.anchor||a.el),Ss=(a,u,d)=>{a==null?u._vnode&&Ve(u._vnode,null,null,!0):p(u._vnode||null,a,u,null,null,null,d),cn(),u._vnode=a},ht={p,um:Ve,m:dt,r:Ls,mt:Pn,mc:ne,pc:He,pbc:ge,n:Yt,o:e};let Mn,In;return t&&([Mn,In]=t(ht)),{render:Ss,hydrate:Mn,createApp:ml(Ss,Mn)}}function tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function uo(e,t,n=!1){const s=e.children,r=t.children;if(U(s)&&U(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const yl=e=>e.__isTeleport,fo="components";function dn(e,t){return $l(fo,e,!0,t)||e}const wl=Symbol();function $l(e,t,n=!0,s=!1){const r=xe||ue;if(r){const o=r.type;if(e===fo){const l=Rl(o);if(l&&(l===t||l===Ne(t)||l===kn(Ne(t))))return o}const i=Zs(r[e]||o[e],t)||Zs(r.appContext[e],t);return!i&&s?o:i}}function Zs(e,t){return e&&(e[t]||e[Ne(t)]||e[kn(Ne(t))])}const de=Symbol(void 0),Kt=Symbol(void 0),Ke=Symbol(void 0),Ft=Symbol(void 0),Nt=[];let lt=null;function T(e=!1){Nt.push(lt=e?null:[])}function Cl(){Nt.pop(),lt=Nt[Nt.length-1]||null}let hn=1;function Gs(e){hn+=e}function ho(e){return e.dynamicChildren=hn>0?lt||vt:null,Cl(),hn>0&<&<.push(e),e}function F(e,t,n,s,r,o){return ho(N(e,t,n,s,r,o,!0))}function _e(e,t,n,s,r){return ho(R(e,t,n,s,r,!0))}function pn(e){return e?e.__v_isVNode===!0:!1}function Tt(e,t){return e.type===t.type&&e.key===t.key}const Sn="__vInternal",po=({key:e})=>e!=null?e:null,rn=({ref:e,ref_key:t,ref_for:n})=>e!=null?pe(e)||he(e)||H(e)?{i:xe,r:e,k:t,f:!!n}:e:null;function N(e,t=null,n=null,s=0,r=null,o=e===de?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&po(t),ref:t&&rn(t),scopeId:Cn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null};return l?(bs(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=pe(n)?8:16),hn>0&&!i&<&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&<.push(c),c}const R=El;function El(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===wl)&&(e=Ke),pn(e)){const l=Wt(e,t,!0);return n&&bs(l,n),l}if(Fl(e)&&(e=e.__vccOpts),t){t=Ll(t);let{class:l,style:c}=t;l&&!pe(l)&&(t.class=at(l)),fe(c)&&(Fr(c)&&!U(c)&&(c=ke({},c)),t.style=ns(c))}const i=pe(e)?1:Vi(e)?128:yl(e)?64:fe(e)?4:H(e)?2:0;return N(e,t,n,s,r,i,o,!0)}function Ll(e){return e?Fr(e)||Sn in e?ke({},e):e:null}function Wt(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?ks(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&po(l),ref:t&&t.ref?n&&r?U(r)?r.concat(rn(t)):[r,rn(t)]:rn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==de?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Wt(e.ssContent),ssFallback:e.ssFallback&&Wt(e.ssFallback),el:e.el,anchor:e.anchor}}function Xt(e=" ",t=0){return R(Kt,null,e,t)}function _f(e,t){const n=R(Ft,null,e);return n.staticCount=t,n}function X(e="",t=!1){return t?(T(),_e(Ke,null,e)):R(Ke,null,e)}function Pe(e){return e==null||typeof e=="boolean"?R(Ke):U(e)?R(de,null,e.slice()):typeof e=="object"?Ye(e):R(Kt,null,String(e))}function Ye(e){return e.el===null||e.memo?e:Wt(e)}function bs(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(U(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),bs(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Sn in t)?t._ctx=xe:r===3&&xe&&(xe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else H(t)?(t={default:t,_ctx:xe},n=32):(t=String(t),s&64?(n=16,t=[Xt(t)]):n=8);e.children=t,e.shapeFlag|=n}function ks(...e){const t={};for(let n=0;nt(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;lpn(t)?!(t.type===Ke||t.type===de&&!_o(t.children)):!0)?e:null}const Qn=e=>e?go(e)?ys(e)||e.proxy:Qn(e.parent):null,_n=ke(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Qn(e.parent),$root:e=>Qn(e.root),$emit:e=>e.emit,$options:e=>so(e),$forceUpdate:e=>()=>_s(e.update),$nextTick:e=>Kr.bind(e.proxy),$watch:e=>Xi.bind(e)}),Sl={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const E=i[t];if(E!==void 0)switch(E){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(s!==Z&&W(s,t))return i[t]=1,s[t];if(r!==Z&&W(r,t))return i[t]=2,r[t];if((f=e.propsOptions[0])&&W(f,t))return i[t]=3,o[t];if(n!==Z&&W(n,t))return i[t]=4,n[t];Xn&&(i[t]=0)}}const h=_n[t];let m,x;if(h)return t==="$attrs"&&Le(e,"get",t),h(e);if((m=l.__cssModules)&&(m=m[t]))return m;if(n!==Z&&W(n,t))return i[t]=4,n[t];if(x=c.config.globalProperties,W(x,t))return x[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return r!==Z&&W(r,t)?(r[t]=n,!0):s!==Z&&W(s,t)?(s[t]=n,!0):W(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==Z&&W(e,i)||t!==Z&&W(t,i)||(l=o[0])&&W(l,i)||W(s,i)||W(_n,i)||W(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:W(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},Tl=ao();let Pl=0;function Al(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||Tl,o={uid:Pl++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new ti(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:oo(s,r),emitsOptions:Xr(s,r),emit:null,emitted:null,propsDefaults:Z,inheritAttrs:s.inheritAttrs,ctx:Z,data:Z,props:Z,attrs:Z,slots:Z,refs:Z,setupState:Z,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Bi.bind(null,o),e.ce&&e.ce(o),o}let ue=null;const gf=()=>ue||xe,kt=e=>{ue=e,e.scope.on()},ct=()=>{ue&&ue.scope.off(),ue=null};function go(e){return e.vnode.shapeFlag&4}let yt=!1;function Ml(e,t=!1){yt=t;const{props:n,children:s}=e.vnode,r=go(e);fl(e,n,r,t),pl(e,s);const o=r?Il(e,t):void 0;return yt=!1,o}function Il(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=It(new Proxy(e.ctx,Sl));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?Ul(e):null;kt(e),Ct();const o=Ze(s,e,0,[e.props,r]);if(Et(),ct(),yr(o)){if(o.then(ct,ct),t)return o.then(i=>{er(e,i,t)}).catch(i=>{zt(i,e,0)});e.asyncDep=o}else er(e,o,t)}else mo(e,t)}function er(e,t,n){H(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:fe(t)&&(e.setupState=Br(t)),mo(e,n)}let tr;function mo(e,t,n){const s=e.type;if(!e.render){if(!t&&tr&&!s.render){const r=s.template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=ke(ke({isCustomElement:o,delimiters:l},i),c);s.render=tr(r,f)}}e.render=s.render||Ie}kt(e),Ct(),il(e),Et(),ct()}function Ol(e){return new Proxy(e.attrs,{get(t,n){return Le(e,"get","$attrs"),t[n]}})}function Ul(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=Ol(e))},slots:e.slots,emit:e.emit,expose:t}}function ys(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Br(It(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in _n)return _n[n](e)}}))}function Rl(e){return H(e)&&e.displayName||e.name}function Fl(e){return H(e)&&"__vccOpts"in e}const q=(e,t)=>Ui(e,t,yt);function ut(e,t,n){const s=arguments.length;return s===2?fe(t)&&!U(t)?pn(t)?R(e,null,[t]):R(e,t):R(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&pn(n)&&(n=[n]),R(e,t,n))}const Nl="3.2.33",Hl="http://www.w3.org/2000/svg",st=typeof document!="undefined"?document:null,nr=st&&st.createElement("template"),Dl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?st.createElementNS(Hl,e):st.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>st.createTextNode(e),createComment:e=>st.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>st.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{nr.innerHTML=s?`${e}`:e;const l=nr.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Bl(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function jl(e,t,n){const s=e.style,r=pe(n);if(n&&!r){for(const o in n)Zn(s,o,n[o]);if(t&&!pe(t))for(const o in t)n[o]==null&&Zn(s,o,"")}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const sr=/\s*!important$/;function Zn(e,t,n){if(U(n))n.forEach(s=>Zn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=ql(e,t);sr.test(n)?e.setProperty($t(s),n.replace(sr,""),"important"):e[s]=n}}const rr=["Webkit","Moz","ms"],Hn={};function ql(e,t){const n=Hn[t];if(n)return n;let s=Ne(t);if(s!=="filter"&&s in e)return Hn[t]=s;s=kn(s);for(let r=0;r{let e=Date.now,t=!1;if(typeof window!="undefined"){Date.now()>document.createEvent("Event").timeStamp&&(e=()=>performance.now());const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let Gn=0;const zl=Promise.resolve(),Xl=()=>{Gn=0},Jl=()=>Gn||(zl.then(Xl),Gn=vo());function Yl(e,t,n,s){e.addEventListener(t,n,s)}function Ql(e,t,n,s){e.removeEventListener(t,n,s)}function Zl(e,t,n,s,r=null){const o=e._vei||(e._vei={}),i=o[t];if(s&&i)i.value=s;else{const[l,c]=Gl(t);if(s){const f=o[t]=ec(s,r);Yl(e,l,f,c)}else i&&(Ql(e,l,i,c),o[t]=void 0)}}const ir=/(?:Once|Passive|Capture)$/;function Gl(e){let t;if(ir.test(e)){t={};let n;for(;n=e.match(ir);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[$t(e.slice(2)),t]}function ec(e,t){const n=s=>{const r=s.timeStamp||vo();(Vl||r>=n.attached-1)&&Oe(tc(s,n.value),t,5,[s])};return n.value=e,n.attached=Jl(),n}function tc(e,t){if(U(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const lr=/^on[a-z]/,nc=(e,t,n,s,r=!1,o,i,l,c)=>{t==="class"?Bl(e,s,r):t==="style"?jl(e,n,s):Vt(t)?ss(t)||Zl(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):sc(e,t,s,r))?Wl(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Kl(e,t,s,r))};function sc(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&lr.test(t)&&H(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||lr.test(t)&&pe(n)?!1:t in e}const rc=ke({patchProp:nc},Dl);let Dn,cr=!1;function oc(){return Dn=cr?Dn:xl(rc),cr=!0,Dn}const ic=(...e)=>{const t=oc().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=lc(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function lc(e){return pe(e)?document.querySelector(e):e}var cc='{"lang":"en-US","title":"VitePress","description":"A VitePress site","base":"/","head":[],"themeConfig":{"locales":{"/":{"label":"\u7B80\u4F53\u4E2D\u6587","nav":[{"text":"\u4E00\u952E\u865A\u62DF\u5316","link":"/","activeMatch":"^/$|^/guide/"},{"text":"Linux\u76F8\u5173","link":"/case/index","activeMatch":"^/case/"},{"text":"\u5F00\u53D1\u624B\u518C","link":"/developer/index","activeMatch":"^/developer/"}],"sidebar":{"/guide/":[{"text":"\u6240\u6709\u9879\u76EE\u7684\u524D\u7F6E\u6761\u4EF6","children":[{"text":"\u51C6\u5907\u5DE5\u4F5C","link":"/guide/dashboard"}]},{"text":"Proxmox VE","children":[{"text":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","link":"/guide/pve_precheck"},{"text":"PVE\u4E3B\u4F53\u5B89\u88C5","link":"/guide/pve_install"},{"text":"KVM\u865A\u62DF\u5316","link":"/guide/pve_kvm"},{"text":"LXC\u865A\u62DF\u5316","link":"/guide/pve_lxc"},{"text":"\u81F4\u8C22","link":"/guide/pve_thanks"},{"text":"\u5E38\u89C1\u95EE\u9898\u7B54\u7591","link":"/guide/pve_qa"}]},{"text":"LXD","children":[{"text":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","link":"/guide/lxd_precheck"},{"text":"LXD\u4E3B\u4F53\u5B89\u88C5","link":"/guide/lxd_install"},{"text":"LXC\u865A\u62DF\u5316","link":"/guide/lxd_lxc"},{"text":"\u5176\u4ED6\u81EA\u5B9A\u4E49\u914D\u7F6E","link":"/guide/lxd_extra_config"},{"text":"\u81F4\u8C22","link":"/guide/lxd_thanks"},{"text":"\u5E38\u89C1\u95EE\u9898\u7B54\u7591","link":"/guide/lxd_qa"}]},{"text":"docker","children":[{"text":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","link":"/guide/docker_precheck"},{"text":"\u4E3B\u4F53\u5B89\u88C5","link":"/guide/docker_install"},{"text":"Docker\u865A\u62DF\u5316","link":"/guide/docker_build"},{"text":"\u81F4\u8C22","link":"/guide/docker_thanks"},{"text":"\u5E38\u89C1\u95EE\u9898\u7B54\u7591","link":"/guide/docker_qa"}]},{"text":"\u6350\u8D60","children":[{"text":"\u6350\u8D60","link":"/guide/dashboardq"}]}],"/case/":[{"text":"Linux\u76F8\u5173","children":[{"text":"1. \u4E00\u952E\u4FEE\u590D\u4E0E\u5B89\u88C5\u811A\u672C(\u5404\u79CDlinux\u7CFB\u7EDF\u4FEE\u590D\u4E0E\u670D\u52A1\u5668\u73AF\u5883\u5B89\u88C5\u811A\u672C)","link":"/case/case1"},{"text":"2. VPS\u878D\u5408\u602A\u670D\u52A1\u5668\u6D4B\u8BC4\u811A\u672C","link":"/case/case2"},{"text":"3. \u81EA\u52A8\u66F4\u65B0\u6D4B\u8BD5\u670D\u52A1\u5668\u8282\u70B9\u5217\u8868\u7684\u7F51\u7EDC\u57FA\u51C6\u6D4B\u8BD5\u811A\u672C","link":"/case/case3"},{"text":"4. \u7532\u9AA8\u6587\u670D\u52A1\u5668\u4FDD\u6D3B\u811A\u672C","link":"/case/case4"},{"text":"5. convoy\u9762\u677F\u5B89\u88C5\u811A\u672C","link":"/case/case5"}]}],"/developer/":[{"text":"\u5F00\u53D1\u624B\u518C","children":[{"text":"l10n","link":"/developer/l10n"}]}],"/":[{"text":"\u6240\u6709\u9879\u76EE\u7684\u524D\u7F6E\u6761\u4EF6","children":[{"text":"\u51C6\u5907\u5DE5\u4F5C","link":"/guide/dashboard"}]},{"text":"Proxmox VE","children":[{"text":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","link":"/guide/pve_precheck"},{"text":"PVE\u4E3B\u4F53\u5B89\u88C5","link":"/guide/pve_install"},{"text":"KVM\u865A\u62DF\u5316","link":"/guide/pve_kvm"},{"text":"LXC\u865A\u62DF\u5316","link":"/guide/pve_lxc"},{"text":"\u81F4\u8C22","link":"/guide/pve_thanks"},{"text":"\u5E38\u89C1\u95EE\u9898\u7B54\u7591","link":"/guide/pve_qa"}]},{"text":"LXD","children":[{"text":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","link":"/guide/lxd_precheck"},{"text":"LXD\u4E3B\u4F53\u5B89\u88C5","link":"/guide/lxd_install"},{"text":"LXC\u865A\u62DF\u5316","link":"/guide/lxd_lxc"},{"text":"\u5176\u4ED6\u81EA\u5B9A\u4E49\u914D\u7F6E","link":"/guide/lxd_extra_config"},{"text":"\u81F4\u8C22","link":"/guide/lxd_thanks"},{"text":"\u5E38\u89C1\u95EE\u9898\u7B54\u7591","link":"/guide/lxd_qa"}]},{"text":"docker","children":[{"text":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","link":"/guide/docker_precheck"},{"text":"\u4E3B\u4F53\u5B89\u88C5","link":"/guide/docker_install"},{"text":"Docker\u865A\u62DF\u5316","link":"/guide/docker_build"},{"text":"\u81F4\u8C22","link":"/guide/docker_thanks"},{"text":"\u5E38\u89C1\u95EE\u9898\u7B54\u7591","link":"/guide/docker_qa"}]},{"text":"\u6350\u8D60","children":[{"text":"\u6350\u8D60","link":"/guide/dashboardq"}]}]},"repo":"oneclickvirt/oneclickvirt.github.io","docsDir":"docs","docsBranch":"main","editLinks":true,"editLinkText":"\u5728GitHub\u4E2D\u7F16\u8F91","lastUpdated":"\u4E0A\u6B21\u66F4\u65B0"},"/en_US/":{"label":"English","nav":[{"text":"One Click Virtualization","link":"/en_US/","activeMatch":"^/en_US/guide/"},{"text":"Development Manual","link":"/en_US/developer/index","activeMatch":"^/en_US/developer/"}],"sidebar":{"/en_US/guide/":[{"text":"Pre-requisites for all projects","children":[{"text":"Preparation","link":"/en_US/guide/dashboard"}]},{"text":"Proxmox VE","children":[{"text":"System and hardware configuration requirements","link":"/en_US/guide/pve_precheck"},{"text":"PVE main installation","link":"/en_US/guide/pve_install"},{"text":"KVM Virtualization","link":"/en_US/guide/pve_kvm"},{"text":"LXC Virtualization","link":"/en_US/guide/pve_lxc"},{"text":"Acknowledgements","link":"/en_US/guide/pve_thanks"},{"text":"FAQ","link":"/en_US/guide/pve_qa"}]},{"text":"LXD","children":[{"text":"System and hardware configuration requirements","link":"/en_US/guide/lxd_precheck"},{"text":"LXD main installation","link":"/en_US/guide/lxd_install"},{"text":"LXC Virtualization","link":"/en_US/guide/lxd_lxc"},{"text":"Other custom configuration","link":"/en_US/guide/lxd_extra_config"},{"text":"Acknowledgements","link":"/en_US/guide/lxd_thanks"},{"text":"FAQ","link":"/en_US/guide/lxd_qa"}]},{"text":"docker","children":[{"text":"System and hardware configuration requirements","link":"/en_US/guide/docker_precheck"},{"text":"Main installation","link":"/en_US/guide/docker_install"},{"text":"Docker Virtualization","link":"/en_US/guide/docker_build"},{"text":"Acknowledgements","link":"/en_US/guide/docker_thanks"},{"text":"FAQ","link":"/en_US/guide/docker_qa"}]},{"text":"Donation","children":[{"text":"Donation","link":"/guide/dashboardq"}]}],"/en_US/developer/":[{"text":"Development Manual","children":[{"text":"l10n","link":"/en_US/developer/l10n"}]}],"/en_US/":[{"text":"Pre-requisites for all projects","children":[{"text":"Preparation","link":"/en_US/guide/dashboard"}]},{"text":"Proxmox VE","children":[{"text":"System and hardware configuration requirements","link":"/en_US/guide/pve_precheck"},{"text":"PVE main installation","link":"/en_US/guide/pve_install"},{"text":"KVM Virtualization","link":"/en_US/guide/pve_kvm"},{"text":"LXC Virtualization","link":"/en_US/guide/pve_lxc"},{"text":"Acknowledgements","link":"/en_US/guide/pve_thanks"},{"text":"FAQ","link":"/en_US/guide/pve_qa"}]},{"text":"LXD","children":[{"text":"System and hardware configuration requirements","link":"/en_US/guide/lxd_precheck"},{"text":"LXD main installation","link":"/en_US/guide/lxd_install"},{"text":"LXC Virtualization","link":"/en_US/guide/lxd_lxc"},{"text":"Other custom configuration","link":"/en_US/guide/lxd_extra_config"},{"text":"Acknowledgements","link":"/en_US/guide/lxd_thanks"},{"text":"FAQ","link":"/en_US/guide/lxd_qa"}]},{"text":"docker","children":[{"text":"System and hardware configuration requirements","link":"/en_US/guide/docker_precheck"},{"text":"Main installation","link":"/en_US/guide/docker_install"},{"text":"Docker Virtualization","link":"/en_US/guide/docker_build"},{"text":"Acknowledgements","link":"/en_US/guide/docker_thanks"},{"text":"FAQ","link":"/en_US/guide/docker_qa"}]},{"text":"Donation","children":[{"text":"Donation","link":"/guide/dashboardq"}]}]},"repo":"oneclickvirt/oneclickvirt.github.io","docsDir":"docs","docsBranch":"main","editLinks":true,"editLinkText":"Edit this page on GitHub","lastUpdated":"Last Updated"}},"algolia":{"appId":"","apiKey":"","indexName":""}},"locales":{"/":{"lang":"zh-CN","title":"\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE","description":"\u5F00\u6E90\u3001\u6613\u4E8E\u4F7F\u7528\u7684\u670D\u52A1\u5668\u865A\u62DF\u5316\u9879\u76EE"},"/en_US/":{"lang":"en-US","title":"One Click Virtualization Project","description":"Open source, easy to use server virtualization project"}},"langs":{"/":{"label":"\u7B80\u4F53\u4E2D\u6587","lang":"zh-CN"},"/en_US/":{"label":"English","lang":"en-US"}},"scrollOffset":90}';const xo=/^https?:/i,Me=typeof window!="undefined";function ac(e,t){t.sort((n,s)=>{const r=s.split("/").length-n.split("/").length;return r!==0?r:s.length-n.length});for(const n of t)if(e.startsWith(n))return n}function ar(e,t){const n=ac(t,Object.keys(e));return n?e[n]:void 0}function uc(e){const{locales:t}=e.themeConfig||{},n=e.locales;return t&&n?Object.keys(t).reduce((s,r)=>(s[r]={label:t[r].label,lang:n[r].lang},s),{}):{}}function fc(e,t){t=dc(e,t);const n=ar(e.locales||{},t),s=ar(e.themeConfig.locales||{},t);return Object.assign({},e,n,{themeConfig:Object.assign({},e.themeConfig,s,{locales:{}}),lang:(n||e).lang,locales:{},langs:uc(e)})}function dc(e,t){if(!Me)return t;const n=e.base,s=n.endsWith("/")?n.slice(0,-1):n;return t.slice(s.length)}const bo=Symbol(),Jt=Ti(hc(cc));function hc(e){return JSON.parse(e)}function pc(e){const t=q(()=>fc(Jt.value,e.path));return{site:t,theme:q(()=>t.value.themeConfig),page:q(()=>e.data),frontmatter:q(()=>e.data.frontmatter),lang:q(()=>t.value.lang),localePath:q(()=>{const{langs:n,lang:s}=t.value,r=Object.keys(n).find(o=>n[o].lang===s);return wt(r||"/")}),title:q(()=>e.data.title?e.data.title+" | "+t.value.title:t.value.title),description:q(()=>e.data.description||t.value.description)}}function me(){const e=Rt(bo);if(!e)throw new Error("vitepress data not properly injected in app");return e}function _c(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function wt(e){return xo.test(e)?e:_c(Jt.value.base,e)}function ko(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t.endsWith("/")&&(t+="index"),Me){const n="/";t=t.slice(n.length).replace(/\//g,"_")+".md";const s=__VP_HASH_MAP__[t.toLowerCase()];t=`${n}assets/${t}.${s}.js`}else t=`./${t.slice(1).replace(/\//g,"_")}.md.js`;return t}const yo=Symbol(),ur="http://a.com",wo={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{},lastUpdated:0},gc=()=>({path:"/",component:null,data:wo});function mc(e,t){const n=wn(gc());function s(i=Me?location.href:"/"){const l=new URL(i,ur);return!l.pathname.endsWith("/")&&!l.pathname.endsWith(".html")&&(l.pathname+=".html",i=l.pathname+l.search+l.hash),Me&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",i)),o(i)}let r=null;async function o(i,l=0,c=!1){const f=new URL(i,ur),h=r=f.pathname;try{let m=e(h);if("then"in m&&typeof m.then=="function"&&(m=await m),r===h){r=null;const{default:x,__pageData:E}=m;if(!x)throw new Error(`Invalid route component: ${x}`);n.path=h,n.component=It(x),n.data=It(JSON.parse(E)),Me&&Kr(()=>{if(f.hash&&!l){let L=null;try{L=document.querySelector(decodeURIComponent(f.hash))}catch(B){console.warn(B)}if(L){fr(L,f.hash);return}}window.scrollTo(0,l)})}}catch(m){if(m.message.match(/fetch/)||console.error(m),!c)try{const x=await fetch(Jt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await x.json(),await o(i,l,!0);return}catch{}r===h&&(r=null,n.path=h,n.component=t?It(t):null,n.data=wo)}}return Me&&(window.addEventListener("click",i=>{const l=i.target.closest("a");if(l){const{href:c,protocol:f,hostname:h,pathname:m,hash:x,target:E}=l,L=window.location,B=m.match(/\.\w+$/);!i.ctrlKey&&!i.shiftKey&&!i.altKey&&!i.metaKey&&E!=="_blank"&&f===L.protocol&&h===L.hostname&&!(B&&B[0]!==".html")&&(i.preventDefault(),m===L.pathname?x&&x!==L.hash&&(history.pushState(null,"",x),window.dispatchEvent(new Event("hashchange")),fr(l,x,l.classList.contains("header-anchor"))):s(c))}},{capture:!0}),window.addEventListener("popstate",i=>{o(location.href,i.state&&i.state.scrollPosition||0)}),window.addEventListener("hashchange",i=>{i.preventDefault()})),{route:n,go:s}}function vc(){const e=Rt(yo);if(!e)throw new Error("useRouter() is called without provider.");return e}function et(){return vc().route}function fr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){let r=Jt.value.scrollOffset;typeof r=="string"&&(r=document.querySelector(r).getBoundingClientRect().bottom+24);const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-r+o;!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})}}function xc(e,t){let n=[],s=!0;const r=o=>{if(s){s=!1;return}const i=[],l=Math.min(n.length,o.length);for(let c=0;cdocument.head.removeChild(c)),o.slice(l).forEach(c=>{const f=dr(c);document.head.appendChild(f),i.push(f)}),n=i};Zr(()=>{const o=e.data,i=t.value,l=o&&o.title,c=o&&o.description,f=o&&o.frontmatter.head;document.title=(l?l+" | ":"")+i.title,document.querySelector("meta[name=description]").setAttribute("content",c||i.description),r([...f?kc(f):[]])})}function dr([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function bc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function kc(e){return e.filter(t=>!bc(t))}const yc=re({name:"VitePressContent",setup(){const e=et();return()=>ut("div",{style:{position:"relative"}},[e.component?ut(e.component):null])}});var ce=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n};const wc=/#.*$/,$c=/(index)?\.(md|html)$/,gn=/\/$/,Cc=/^[a-z]+:/i;function ws(e){return Array.isArray(e)}function $s(e){return Cc.test(e)}function Ec(e,t){if(t===void 0)return!1;const n=hr(`/${e.data.relativePath}`),s=hr(t);return n===s}function hr(e){return decodeURI(e).replace(wc,"").replace($c,"")}function Lc(e,t){const n=e.endsWith("/"),s=t.startsWith("/");return n&&s?e.slice(0,-1)+t:!n&&!s?`${e}/${t}`:e+t}function es(e){return/^\//.test(e)?e:`/${e}`}function $o(e){return e.replace(/(index)?(\.(md|html))?$/,"")||"/"}function Sc(e){return e===!1||e==="auto"||ws(e)}function Tc(e){return e.children!==void 0}function Pc(e){return ws(e)?e.length===0:!e}function Cs(e,t){if(Sc(e))return e;t=es(t);for(const n in e)if(t.startsWith(es(n)))return e[n];return"auto"}function Co(e){return e.reduce((t,n)=>(n.link&&t.push({text:n.text,link:$o(n.link)}),Tc(n)&&(t=[...t,...Co(n.children)]),t),[])}function Eo(e){const t=et(),n=$s(e.value.link);return{props:q(()=>{const r=pr(`/${t.data.relativePath}`);let o=!1;if(e.value.activeMatch)o=new RegExp(e.value.activeMatch).test(r);else{const i=pr(e.value.link);o=i==="/"?i===r:r.startsWith(i)}return{class:{active:o,isExternal:n},href:n?e.value.link:wt(e.value.link),target:e.value.target||(n?"_blank":null),rel:e.value.rel||(n?"noopener noreferrer":null),"aria-label":e.value.ariaLabel}}),isExternal:n}}function pr(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\.(html|md)$/,"").replace(/\/index$/,"/")}const Ac={},Mc={class:"icon outbound",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},Ic=N("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"},null,-1),Oc=N("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"},null,-1),Uc=[Ic,Oc];function Rc(e,t){return T(),F("svg",Mc,Uc)}var Es=ce(Ac,[["render",Rc]]);const Fc={class:"nav-link"},Nc=re({props:{item:null},setup(e){const n=jr(e),{props:s,isExternal:r}=Eo(n.item);return(o,i)=>(T(),F("div",Fc,[N("a",ks({class:"item"},$(s)),[Xt(be(e.item.text)+" ",1),$(r)?(T(),_e(Es,{key:0})):X("",!0)],16)]))}});var mn=ce(Nc,[["__scopeId","data-v-b8818f8c"]]);const Hc={key:0,class:"home-hero"},Dc={key:0,class:"figure"},Bc=["src","alt"],jc={key:1,id:"main-title",class:"title"},qc={key:2,class:"tagline"},Kc=re({setup(e){const{site:t,frontmatter:n}=me(),s=q(()=>{const{heroImage:i,heroText:l,tagline:c,actionLink:f,actionText:h}=n.value;return i||l||c||f&&h}),r=q(()=>n.value.heroText||t.value.title),o=q(()=>n.value.tagline||t.value.description);return(i,l)=>$(s)?(T(),F("header",Hc,[$(n).heroImage?(T(),F("figure",Dc,[N("img",{class:"image",src:$(wt)($(n).heroImage),alt:$(n).heroAlt},null,8,Bc)])):X("",!0),$(r)?(T(),F("h1",jc,be($(r)),1)):X("",!0),$(o)?(T(),F("p",qc,be($(o)),1)):X("",!0),$(n).actionLink&&$(n).actionText?(T(),_e(mn,{key:3,item:{link:$(n).actionLink,text:$(n).actionText},class:"action"},null,8,["item"])):X("",!0),$(n).altActionLink&&$(n).altActionText?(T(),_e(mn,{key:4,item:{link:$(n).altActionLink,text:$(n).altActionText},class:"action alt"},null,8,["item"])):X("",!0)])):X("",!0)}});var Wc=ce(Kc,[["__scopeId","data-v-370f18c0"]]);const Vc={key:0,class:"home-features"},zc={class:"wrapper"},Xc={class:"container"},Jc={class:"features"},Yc={key:0,class:"title"},Qc={key:1,class:"details"},Zc=re({setup(e){const{frontmatter:t}=me(),n=q(()=>t.value.features&&t.value.features.length>0),s=q(()=>t.value.features?t.value.features:[]);return(r,o)=>$(n)?(T(),F("div",Vc,[N("div",zc,[N("div",Xc,[N("div",Jc,[(T(!0),F(de,null,Tn($(s),(i,l)=>(T(),F("section",{key:l,class:"feature"},[i.title?(T(),F("h2",Yc,be(i.title),1)):X("",!0),i.details?(T(),F("p",Qc,be(i.details),1)):X("",!0)]))),128))])])])])):X("",!0)}});var Gc=ce(Zc,[["__scopeId","data-v-e39c13e0"]]);const ea={key:0,class:"footer"},ta={class:"container"},na={class:"text"},sa=re({setup(e){const{frontmatter:t}=me();return(n,s)=>$(t).footer?(T(),F("footer",ea,[N("div",ta,[N("p",na,be($(t).footer),1)])])):X("",!0)}});var ra=ce(sa,[["__scopeId","data-v-30918238"]]);const oa={class:"home","aria-labelledby":"main-title"},ia={class:"home-content"},la=re({setup(e){return(t,n)=>{const s=dn("Content");return T(),F("main",oa,[R(Wc),ae(t.$slots,"hero",{},void 0,!0),R(Gc),N("div",ia,[R(s)]),ae(t.$slots,"features",{},void 0,!0),R(ra),ae(t.$slots,"footer",{},void 0,!0)])}}});var ca=ce(la,[["__scopeId","data-v-10122c92"]]);const aa=["href","aria-label"],ua=["src"],fa=re({setup(e){const{site:t,theme:n,localePath:s}=me();return(r,o)=>(T(),F("a",{class:"nav-bar-title",href:$(s),"aria-label":`${$(t).title}, back to home`},[$(n).logo?(T(),F("img",{key:0,class:"logo",src:$(wt)($(n).logo),alt:"Logo"},null,8,ua)):X("",!0),Xt(" "+be($(t).title),1)],8,aa))}});var da=ce(fa,[["__scopeId","data-v-cc01ef16"]]);function ha(){const{site:e,localePath:t,theme:n}=me();return q(()=>{const s=e.value.langs,r=Object.keys(s);if(r.length<2)return null;const i=et().path.replace(t.value,""),l=r.map(f=>({text:s[f].label,link:`${f}${i}`}));return{text:n.value.selectText||"Languages",items:l}})}const pa=["GitHub","GitLab","Bitbucket"].map(e=>[e,new RegExp(e,"i")]);function _a(){const{site:e}=me();return q(()=>{const t=e.value.themeConfig,n=t.docsRepo||t.repo;if(!n)return null;const s=ga(n);return{text:ma(s,t.repoLabel),link:s}})}function ga(e){return xo.test(e)?e:`https://github.com/${e}`}function ma(e,t){if(t)return t;const n=e.match(/^https?:\/\/[^/]+/);if(!n)return"Source";const s=pa.find(([r,o])=>o.test(n[0]));return s&&s[0]?s[0]:"Source"}const va=e=>(Jr("data-v-bbc27490"),e=e(),Yr(),e),xa={class:"nav-dropdown-link-item"},ba=va(()=>N("span",{class:"arrow"},null,-1)),ka={class:"text"},ya={class:"icon"},wa=re({props:{item:null},setup(e){const n=jr(e),{props:s,isExternal:r}=Eo(n.item);return(o,i)=>(T(),F("div",xa,[N("a",ks({class:"item"},$(s)),[ba,N("span",ka,be(e.item.text),1),N("span",ya,[$(r)?(T(),_e(Es,{key:0})):X("",!0)])],16)]))}});var $a=ce(wa,[["__scopeId","data-v-bbc27490"]]);const Ca=["aria-label"],Ea={class:"button-text"},La={class:"dialog"},Sa=re({props:{item:null},setup(e){const t=et(),n=ot(!1);it(()=>t.path,()=>{n.value=!1});function s(){n.value=!n.value}return(r,o)=>(T(),F("div",{class:at(["nav-dropdown-link",{open:n.value}])},[N("button",{class:"button","aria-label":e.item.ariaLabel,onClick:s},[N("span",Ea,be(e.item.text),1),N("span",{class:at(["button-arrow",n.value?"down":"right"])},null,2)],8,Ca),N("ul",La,[(T(!0),F(de,null,Tn(e.item.items,i=>(T(),F("li",{key:i.text,class:"dialog-item"},[R($a,{item:i},null,8,["item"])]))),128))])],2))}});var _r=ce(Sa,[["__scopeId","data-v-56bf3a3f"]]);const Ta={key:0,class:"nav-links"},Pa={key:1,class:"item"},Aa={key:2,class:"item"},Ma=re({setup(e){const{theme:t}=me(),n=ha(),s=_a(),r=q(()=>t.value.nav||s.value||n.value);return(o,i)=>$(r)?(T(),F("nav",Ta,[$(t).nav?(T(!0),F(de,{key:0},Tn($(t).nav,l=>(T(),F("div",{key:l.text,class:"item"},[l.items?(T(),_e(_r,{key:0,item:l},null,8,["item"])):(T(),_e(mn,{key:1,item:l},null,8,["item"]))]))),128)):X("",!0),$(n)?(T(),F("div",Pa,[R(_r,{item:$(n)},null,8,["item"])])):X("",!0),$(s)?(T(),F("div",Aa,[R(mn,{item:$(s)},null,8,["item"])])):X("",!0)])):X("",!0)}});var Lo=ce(Ma,[["__scopeId","data-v-eab3edfe"]]);const Ia={emits:["toggle"]},Oa=N("svg",{class:"icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"},[N("path",{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z",class:""})],-1),Ua=[Oa];function Ra(e,t,n,s,r,o){return T(),F("div",{class:"sidebar-button",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},Ua)}var Fa=ce(Ia,[["render",Ra]]);const Na=e=>(Jr("data-v-675d8756"),e=e(),Yr(),e),Ha={class:"nav-bar"},Da=Na(()=>N("div",{class:"flex-grow"},null,-1)),Ba={class:"nav"},ja=re({emits:["toggle"],setup(e){return(t,n)=>(T(),F("header",Ha,[R(Fa,{onToggle:n[0]||(n[0]=s=>t.$emit("toggle"))}),R(da),Da,N("div",Ba,[R(Lo)]),ae(t.$slots,"search",{},void 0,!0)]))}});var qa=ce(ja,[["__scopeId","data-v-675d8756"]]);function Ka(){let e=null,t=null;const n=Ja(s,300);function s(){const i=Wa(),l=Va(i);for(let c=0;c ul > li");l&&l!==t.parentElement?(e=l.querySelector("a"),e&&e.classList.add("active")):e=null}function o(i){i&&i.classList.remove("active")}ft(()=>{s(),window.addEventListener("scroll",n)}),to(()=>{r(decodeURIComponent(location.hash))}),Ln(()=>{window.removeEventListener("scroll",n)})}function Wa(){return[].slice.call(document.querySelectorAll(".sidebar a.sidebar-link-item"))}function Va(e){return[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(n=>n.hash===t.hash))}function za(){return document.querySelector(".nav-bar").offsetHeight}function gr(e){const t=za();return e.parentElement.offsetTop-t-15}function Xa(e,t,n){const s=window.scrollY;return e===0&&s===0?[!0,null]:s{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function Ya(){const e=et(),{site:t}=me();return Ka(),q(()=>{const n=e.data.headers,s=e.data.frontmatter.sidebar,r=e.data.frontmatter.sidebarDepth;if(s===!1)return[];if(s==="auto")return mr(n,r);const o=Cs(t.value.themeConfig.sidebar,e.data.relativePath);return o===!1?[]:o==="auto"?mr(n,r):o})}function mr(e,t){const n=[];if(e===void 0)return[];let s;return e.forEach(({level:r,title:o,slug:i})=>{if(r-1>t)return;const l={text:o,link:`#${i}`};r===2?(s=l,n.push(l)):s&&(s.children||(s.children=[])).push(l)}),n}const So=e=>{const t=et(),{site:n,frontmatter:s}=me(),r=e.depth||1,o=s.value.sidebarDepth||1/0,i=t.data.headers,l=e.item.text,c=Qa(n.value.base,e.item.link),f=e.item.children,h=Ec(t,e.item.link),m=r0?ut("ul",{class:"sidebar-links"},t.map(r=>ut(So,{item:r,depth:s}))):e&&n?To(!1,Za(n),void 0,s):null}function Za(e){return Po(Ga(e))}function Ga(e){e=e.map(n=>Object.assign({},n));let t;return e.forEach(n=>{n.level===2?t=n:t&&(t.children||(t.children=[])).push(n)}),e.filter(n=>n.level===2)}function Po(e){return e.map(t=>({text:t.title,link:`#${t.slug}`,children:t.children?Po(t.children):void 0}))}const eu={key:0,class:"sidebar-links"},tu=re({setup(e){const t=Ya();return(n,s)=>$(t).length>0?(T(),F("ul",eu,[(T(!0),F(de,null,Tn($(t),r=>(T(),_e($(So),{item:r},null,8,["item"]))),256))])):X("",!0)}});const nu=re({props:{open:{type:Boolean}},setup(e){return(t,n)=>(T(),F("aside",{class:at(["sidebar",{open:e.open}])},[R(Lo,{class:"nav"}),ae(t.$slots,"sidebar-top",{},void 0,!0),R(tu),ae(t.$slots,"sidebar-bottom",{},void 0,!0)],2))}});var su=ce(nu,[["__scopeId","data-v-83e92a68"]]);const ru=/bitbucket.org/;function ou(){const{page:e,theme:t,frontmatter:n}=me(),s=q(()=>{const{repo:o,docsDir:i="",docsBranch:l="master",docsRepo:c=o,editLinks:f}=t.value,h=n.value.editLink!=null?n.value.editLink:f,{relativePath:m}=e.value;return!h||!m||!o?null:iu(o,c,i,l,m)}),r=q(()=>t.value.editLinkText||"Edit this page");return{url:s,text:r}}function iu(e,t,n,s,r){return ru.test(e)?cu(e,t,n,s,r):lu(e,t,n,s,r)}function lu(e,t,n,s,r){return($s(t)?t:`https://github.com/${t}`).replace(gn,"")+`/edit/${s}/`+(n?n.replace(gn,"")+"/":"")+r}function cu(e,t,n,s,r){return($s(t)?t:e).replace(gn,"")+`/src/${s}/`+(n?n.replace(gn,"")+"/":"")+r+`?mode=edit&spa=0&at=${s}&fileviewer=file-view-default`}const au={class:"edit-link"},uu=["href"],fu=re({setup(e){const{url:t,text:n}=ou();return(s,r)=>(T(),F("div",au,[$(t)?(T(),F("a",{key:0,class:"link",href:$(t),target:"_blank",rel:"noopener noreferrer"},[Xt(be($(n))+" ",1),R(Es,{class:"icon"})],8,uu)):X("",!0)]))}});var du=ce(fu,[["__scopeId","data-v-1ed99556"]]);const hu={key:0,class:"last-updated"},pu={class:"prefix"},_u={class:"datetime"},gu=re({setup(e){const{theme:t,page:n}=me(),s=q(()=>{const i=t.value.lastUpdated;return i!==void 0&&i!==!1&&n.value.lastUpdated!==0}),r=q(()=>{const i=t.value.lastUpdated;return i===!0?"Last Updated":i}),o=ot("");return ft(()=>{Zr(()=>{o.value=new Date(n.value.lastUpdated).toLocaleString("en-US")})}),(i,l)=>$(s)?(T(),F("p",hu,[N("span",pu,be($(r))+":",1),N("span",_u,be(o.value),1)])):X("",!0)}});var mu=ce(gu,[["__scopeId","data-v-abce3432"]]);const vu={class:"page-footer"},xu={class:"edit"},bu={class:"updated"},ku=re({setup(e){const{page:t}=me();return(n,s)=>(T(),F("footer",vu,[N("div",xu,[R(du)]),N("div",bu,[$(t).lastUpdated?(T(),_e(mu,{key:0})):X("",!0)])]))}});var yu=ce(ku,[["__scopeId","data-v-07c132fc"]]);function wu(){const{page:e,theme:t}=me(),n=q(()=>$o(es(e.value.relativePath))),s=q(()=>{const c=Cs(t.value.sidebar,n.value);return ws(c)?Co(c):[]}),r=q(()=>s.value.findIndex(c=>c.link===n.value)),o=q(()=>{if(t.value.nextLinks!==!1&&r.value>-1&&r.value{if(t.value.prevLinks!==!1&&r.value>0)return s.value[r.value-1]}),l=q(()=>!!o.value||!!i.value);return{next:o,prev:i,hasLinks:l}}const $u={},Cu={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Eu=N("path",{d:"M19,11H7.4l5.3-5.3c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-7,7c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.2-0.1,0.5,0,0.8c0.1,0.1,0.1,0.2,0.2,0.3l7,7c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4L7.4,13H19c0.6,0,1-0.4,1-1S19.6,11,19,11z"},null,-1),Lu=[Eu];function Su(e,t){return T(),F("svg",Cu,Lu)}var Tu=ce($u,[["render",Su]]);const Pu={},Au={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Mu=N("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Iu=[Mu];function Ou(e,t){return T(),F("svg",Au,Iu)}var Uu=ce(Pu,[["render",Ou]]);const Ru={key:0,class:"next-and-prev-link"},Fu={class:"container"},Nu={class:"prev"},Hu=["href"],Du={class:"text"},Bu={class:"next"},ju=["href"],qu={class:"text"},Ku=re({setup(e){const{hasLinks:t,prev:n,next:s}=wu();return(r,o)=>$(t)?(T(),F("div",Ru,[N("div",Fu,[N("div",Nu,[$(n)?(T(),F("a",{key:0,class:"link",href:$(wt)($(n).link)},[R(Tu,{class:"icon icon-prev"}),N("span",Du,be($(n).text),1)],8,Hu)):X("",!0)]),N("div",Bu,[$(s)?(T(),F("a",{key:0,class:"link",href:$(wt)($(s).link)},[N("span",qu,be($(s).text),1),R(Uu,{class:"icon icon-next"})],8,ju)):X("",!0)])])])):X("",!0)}});var Wu=ce(Ku,[["__scopeId","data-v-38ede35f"]]);const Vu={class:"page"},zu={class:"container"},Xu=re({setup(e){return(t,n)=>{const s=dn("Content");return T(),F("main",Vu,[N("div",zu,[ae(t.$slots,"top",{},void 0,!0),R(s,{class:"content"}),R(yu),R(Wu),ae(t.$slots,"bottom",{},void 0,!0)])])}}});var Ju=ce(Xu,[["__scopeId","data-v-7eddb2c4"]]);const Yu={key:0,id:"ads-container"},Qu=re({setup(e){const t=()=>null,n=t,s=t,r=Ji(()=>vr(()=>import("./chunks/AlgoliaSearchBox.c9a4bba4.js"),[])),o=et(),{site:i,page:l,theme:c,frontmatter:f}=me(),h=q(()=>!!f.value.customLayout),m=q(()=>!!f.value.home),x=q(()=>Object.keys(i.value.langs).length>1),E=q(()=>{const M=c.value;return f.value.navbar===!1||M.navbar===!1?!1:i.value.title||M.logo||M.repo||M.nav}),L=ot(!1),B=q(()=>f.value.home||f.value.sidebar===!1?!1:!Pc(Cs(c.value.sidebar,o.data.relativePath))),p=M=>{L.value=typeof M=="boolean"?M:!L.value},b=p.bind(null,!1);it(o,b);const I=q(()=>[{"no-navbar":!E.value,"sidebar-open":L.value,"no-sidebar":!B.value}]);return(M,D)=>{const Y=dn("Content"),Q=dn("Debug");return T(),F(de,null,[N("div",{class:at(["theme",$(I)])},[$(E)?(T(),_e(qa,{key:0,onToggle:p},{search:Be(()=>[ae(M.$slots,"navbar-search",{},()=>[$(c).algolia?(T(),_e($(r),{key:0,options:$(c).algolia,multilang:$(x)},null,8,["options","multilang"])):X("",!0)])]),_:3})):X("",!0),R(su,{open:L.value},{"sidebar-top":Be(()=>[ae(M.$slots,"sidebar-top")]),"sidebar-bottom":Be(()=>[ae(M.$slots,"sidebar-bottom")]),_:3},8,["open"]),N("div",{class:"sidebar-mask",onClick:D[0]||(D[0]=j=>p(!1))}),$(h)?(T(),_e(Y,{key:1})):$(m)?ae(M.$slots,"home",{key:2},()=>[R(ca,null,{hero:Be(()=>[ae(M.$slots,"home-hero")]),features:Be(()=>[ae(M.$slots,"home-features")]),footer:Be(()=>[ae(M.$slots,"home-footer")]),_:3})]):(T(),_e(Ju,{key:3},{top:Be(()=>[ae(M.$slots,"page-top-ads",{},()=>[$(c).carbonAds&&$(c).carbonAds.carbon?(T(),F("div",Yu,[(T(),_e($(n),{key:"carbon"+$(l).relativePath,code:$(c).carbonAds.carbon,placement:$(c).carbonAds.placement},null,8,["code","placement"]))])):X("",!0)]),ae(M.$slots,"page-top")]),bottom:Be(()=>[ae(M.$slots,"page-bottom"),ae(M.$slots,"page-bottom-ads",{},()=>[$(c).carbonAds&&$(c).carbonAds.custom?(T(),_e($(s),{key:"custom"+$(l).relativePath,code:$(c).carbonAds.custom,placement:$(c).carbonAds.placement},null,8,["code","placement"])):X("",!0)])]),_:3}))],2),R(Q)],64)}}}),Zu={class:"theme"},Gu=N("h1",null,"404",-1),ef=["href"],tf=re({setup(e){const{site:t}=me(),n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];function s(){return n[Math.floor(Math.random()*n.length)]}return(r,o)=>(T(),F("div",Zu,[Gu,N("blockquote",null,be(s()),1),N("a",{href:$(t).base,"aria-label":"go to home"},"Take me home.",8,ef)]))}}),Ao={Layout:Qu,NotFound:tf},nf={setup(e){const{Layout:t}=Ao;return ft(()=>{window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches&&(console.log("setting as dark"),document.body.classList.add("dark")),setTimeout(()=>{let n=document.body.classList.contains("dark")?"\u{1F506}":"\u{1F319}",s=document.getElementsByClassName("nav-links");if(s){let r=s[0];r&&r.insertAdjacentHTML("beforeend",`
${n}
`),r=s[1],r&&r.insertAdjacentHTML("beforeend",`
${n}
`)}},100)}),(n,s)=>(T(),_e($(t)))}};var vn=Us(Os({},Ao),{Layout:nf});const Bn=new Set,Mo=()=>document.createElement("link"),sf=e=>{const t=Mo();t.rel="prefetch",t.href=e,document.head.appendChild(t)},rf=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let sn;const of=Me&&(sn=Mo())&&sn.relList&&sn.relList.supports&&sn.relList.supports("prefetch")?sf:rf;function lf(){if(!Me||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!Bn.has(c)){Bn.add(c);const f=ko(c);of(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{target:i,hostname:l,pathname:c}=o,f=c.match(/\.\w+$/);f&&f[0]!==".html"||i!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(o):Bn.add(c))})})};ft(s);const r=et();it(()=>r.path,s),Ln(()=>{n&&n.disconnect()})}const cf=re({setup(e,{slots:t}){const n=ot(!1);return ft(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}}),af=vn.NotFound||(()=>"404 Not Found"),uf={name:"VitePressApp",setup(){const{site:e}=me();return ft(()=>{it(()=>e.value.lang,t=>{document.documentElement.lang=t},{immediate:!0})}),lf(),()=>ut(vn.Layout)}};function ff(){const e=hf(),t=df();t.provide(yo,e);const n=pc(e.route);return t.provide(bo,n),t.component("Content",yc),t.component("ClientOnly",cf),t.component("Debug",()=>null),Object.defineProperty(t.config.globalProperties,"$frontmatter",{get(){return n.frontmatter.value}}),vn.enhanceApp&&vn.enhanceApp({app:t,router:e,siteData:Jt}),{app:t,router:e,data:n}}function df(){return ic(uf)}function hf(){let e=Me,t;return mc(n=>{let s=ko(n);return e&&(t=s),(e||t===s)&&(s=s.replace(/\.js$/,".lean.js")),Me?(e=!1,vr(()=>import(s),[])):require(s)},af)}if(Me){const{app:e,router:t,data:n}=ff();t.go().then(()=>{xc(t.route,n.site),e.mount("#app")})}export{ce as _,N as a,Xt as b,F as c,ff as createApp,_f as d,re as e,vc as f,ft as g,me as h,gf as i,T as o,et as u,it as w}; diff --git a/assets/app.37329957.js b/assets/app.37329957.js deleted file mode 100644 index cbf20c051e..0000000000 --- a/assets/app.37329957.js +++ /dev/null @@ -1 +0,0 @@ -const Po="modulepreload",Ls={},Lo="/",Ao=function(t,n){return!n||n.length===0?t():Promise.all(n.map(s=>{if(s=`${Lo}${s}`,s in Ls)return;Ls[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":Po,r||(i.as="script",i.crossOrigin=""),i.href=s,document.head.appendChild(i),r)return new Promise((l,c)=>{i.addEventListener("load",l),i.addEventListener("error",()=>c(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t())};function es(e,t){const n=Object.create(null),s=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const Io="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Oo=es(Io);function fr(e){return!!e||e===""}function ts(e){if(R(e)){const t={};for(let n=0;n{if(n){const s=n.split(Ro);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ct(e){let t="";if(he(e))t=e;else if(R(e))for(let n=0;nhe(e)?e:e==null?"":R(e)||ae(e)&&(e.toString===_r||!N(e.toString))?JSON.stringify(e,dr,2):String(e),dr=(e,t)=>t&&t.__v_isRef?dr(e,t.value):mt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r])=>(n[`${s} =>`]=r,n),{})}:hr(t)?{[`Set(${t.size})`]:[...t.values()]}:ae(t)&&!R(t)&&!gr(t)?String(t):t,Q={},gt=[],Me=()=>{},Fo=()=>!1,No=/^on[^a-z]/,qt=e=>No.test(e),ns=e=>e.startsWith("onUpdate:"),ye=Object.assign,ss=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Ho=Object.prototype.hasOwnProperty,K=(e,t)=>Ho.call(e,t),R=Array.isArray,mt=e=>mn(e)==="[object Map]",hr=e=>mn(e)==="[object Set]",N=e=>typeof e=="function",he=e=>typeof e=="string",rs=e=>typeof e=="symbol",ae=e=>e!==null&&typeof e=="object",pr=e=>ae(e)&&N(e.then)&&N(e.catch),_r=Object.prototype.toString,mn=e=>_r.call(e),Uo=e=>mn(e).slice(8,-1),gr=e=>mn(e)==="[object Object]",os=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,At=es(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),vn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Bo=/-(\w)/g,He=vn(e=>e.replace(Bo,(t,n)=>n?n.toUpperCase():"")),jo=/\B([A-Z])/g,xt=vn(e=>e.replace(jo,"-$1").toLowerCase()),bn=vn(e=>e.charAt(0).toUpperCase()+e.slice(1)),Rn=vn(e=>e?`on${bn(e)}`:""),Nt=(e,t)=>!Object.is(e,t),Sn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Do=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let As;const Ko=()=>As||(As=typeof globalThis!="undefined"?globalThis:typeof self!="undefined"?self:typeof window!="undefined"?window:typeof global!="undefined"?global:{});let Fe;class Wo{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&Fe&&(this.parent=Fe,this.index=(Fe.scopes||(Fe.scopes=[])).push(this)-1)}run(t){if(this.active){const n=Fe;try{return Fe=this,t()}finally{Fe=n}}}on(){Fe=this}off(){Fe=this.parent}stop(t){if(this.active){let n,s;for(n=0,s=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},mr=e=>(e.w&Ge)>0,vr=e=>(e.n&Ge)>0,zo=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let s=0;s{(f==="length"||f>=s)&&l.push(c)});else switch(n!==void 0&&l.push(i.get(n)),t){case"add":R(e)?os(n)&&l.push(i.get("length")):(l.push(i.get(rt)),mt(e)&&l.push(i.get(Kn)));break;case"delete":R(e)||(l.push(i.get(rt)),mt(e)&&l.push(i.get(Kn)));break;case"set":mt(e)&&l.push(i.get(rt));break}if(l.length===1)l[0]&&Wn(l[0]);else{const c=[];for(const f of l)f&&c.push(...f);Wn(is(c))}}function Wn(e,t){for(const n of R(e)?e:[...e])(n!==Ie||n.allowRecurse)&&(n.scheduler?n.scheduler():n.run())}const Jo=es("__proto__,__v_isRef,__isVue"),xr=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(rs)),Yo=cs(),Xo=cs(!1,!0),Zo=cs(!0),Os=Qo();function Qo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const s=z(this);for(let o=0,i=this.length;o{e[t]=function(...n){wt();const s=z(this)[t].apply(this,n);return $t(),s}}),e}function cs(e=!1,t=!1){return function(s,r,o){if(r==="__v_isReactive")return!e;if(r==="__v_isReadonly")return e;if(r==="__v_isShallow")return t;if(r==="__v_raw"&&o===(e?t?pi:kr:t?Er:Cr).get(s))return s;const i=R(s);if(!e&&i&&K(Os,r))return Reflect.get(Os,r,o);const l=Reflect.get(s,r,o);return(rs(r)?xr.has(r):Jo(r))||(e||Te(s,"get",r),t)?l:de(l)?!i||!os(r)?l.value:l:ae(l)?e?Tr(l):xn(l):l}}const Go=wr(),ei=wr(!0);function wr(e=!1){return function(n,s,r,o){let i=n[s];if(Ht(i)&&de(i)&&!de(r))return!1;if(!e&&!Ht(r)&&(Pr(r)||(r=z(r),i=z(i)),!R(n)&&de(i)&&!de(r)))return i.value=r,!0;const l=R(n)&&os(s)?Number(s)e,yn=e=>Reflect.getPrototypeOf(e);function Yt(e,t,n=!1,s=!1){e=e.__v_raw;const r=z(e),o=z(t);t!==o&&!n&&Te(r,"get",t),!n&&Te(r,"get",o);const{has:i}=yn(r),l=s?us:n?ds:Ut;if(i.call(r,t))return l(e.get(t));if(i.call(r,o))return l(e.get(o));e!==r&&e.get(t)}function Xt(e,t=!1){const n=this.__v_raw,s=z(n),r=z(e);return e!==r&&!t&&Te(s,"has",e),!t&&Te(s,"has",r),e===r?n.has(e):n.has(e)||n.has(r)}function Zt(e,t=!1){return e=e.__v_raw,!t&&Te(z(e),"iterate",rt),Reflect.get(e,"size",e)}function Ms(e){e=z(e);const t=z(this);return yn(t).has.call(t,e)||(t.add(e),Ke(t,"add",e,e)),this}function Rs(e,t){t=z(t);const n=z(this),{has:s,get:r}=yn(n);let o=s.call(n,e);o||(e=z(e),o=s.call(n,e));const i=r.call(n,e);return n.set(e,t),o?Nt(t,i)&&Ke(n,"set",e,t):Ke(n,"add",e,t),this}function Ss(e){const t=z(this),{has:n,get:s}=yn(t);let r=n.call(t,e);r||(e=z(e),r=n.call(t,e)),s&&s.call(t,e);const o=t.delete(e);return r&&Ke(t,"delete",e,void 0),o}function Fs(){const e=z(this),t=e.size!==0,n=e.clear();return t&&Ke(e,"clear",void 0,void 0),n}function Qt(e,t){return function(s,r){const o=this,i=o.__v_raw,l=z(i),c=t?us:e?ds:Ut;return!e&&Te(l,"iterate",rt),i.forEach((f,h)=>s.call(r,c(f),c(h),o))}}function Gt(e,t,n){return function(...s){const r=this.__v_raw,o=z(r),i=mt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,f=r[e](...s),h=n?us:t?ds:Ut;return!t&&Te(o,"iterate",c?Kn:rt),{next(){const{value:g,done:x}=f.next();return x?{value:g,done:x}:{value:l?[h(g[0]),h(g[1])]:h(g),done:x}},[Symbol.iterator](){return this}}}}function Ve(e){return function(...t){return e==="delete"?!1:this}}function ii(){const e={get(o){return Yt(this,o)},get size(){return Zt(this)},has:Xt,add:Ms,set:Rs,delete:Ss,clear:Fs,forEach:Qt(!1,!1)},t={get(o){return Yt(this,o,!1,!0)},get size(){return Zt(this)},has:Xt,add:Ms,set:Rs,delete:Ss,clear:Fs,forEach:Qt(!1,!0)},n={get(o){return Yt(this,o,!0)},get size(){return Zt(this,!0)},has(o){return Xt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Qt(!0,!1)},s={get(o){return Yt(this,o,!0,!0)},get size(){return Zt(this,!0)},has(o){return Xt.call(this,o,!0)},add:Ve("add"),set:Ve("set"),delete:Ve("delete"),clear:Ve("clear"),forEach:Qt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Gt(o,!1,!1),n[o]=Gt(o,!0,!1),t[o]=Gt(o,!1,!0),s[o]=Gt(o,!0,!0)}),[e,n,t,s]}const[li,ci,ui,ai]=ii();function as(e,t){const n=t?e?ai:ui:e?ci:li;return(s,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(K(n,r)&&r in s?n:s,r,o)}const fi={get:as(!1,!1)},di={get:as(!1,!0)},hi={get:as(!0,!1)},Cr=new WeakMap,Er=new WeakMap,kr=new WeakMap,pi=new WeakMap;function _i(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function gi(e){return e.__v_skip||!Object.isExtensible(e)?0:_i(Uo(e))}function xn(e){return Ht(e)?e:fs(e,!1,$r,fi,Cr)}function mi(e){return fs(e,!1,oi,di,Er)}function Tr(e){return fs(e,!0,ri,hi,kr)}function fs(e,t,n,s,r){if(!ae(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=r.get(e);if(o)return o;const i=gi(e);if(i===0)return e;const l=new Proxy(e,i===2?s:n);return r.set(e,l),l}function vt(e){return Ht(e)?vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ht(e){return!!(e&&e.__v_isReadonly)}function Pr(e){return!!(e&&e.__v_isShallow)}function Lr(e){return vt(e)||Ht(e)}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function It(e){return sn(e,"__v_skip",!0),e}const Ut=e=>ae(e)?xn(e):e,ds=e=>ae(e)?Tr(e):e;function Ar(e){Ze&&Ie&&(e=z(e),yr(e.dep||(e.dep=is())))}function Ir(e,t){e=z(e),e.dep&&Wn(e.dep)}function de(e){return!!(e&&e.__v_isRef===!0)}function wn(e){return Or(e,!1)}function vi(e){return Or(e,!0)}function Or(e,t){return de(e)?e:new bi(e,t)}class bi{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:z(t),this._value=n?t:Ut(t)}get value(){return Ar(this),this._value}set value(t){t=this.__v_isShallow?t:z(t),Nt(t,this._rawValue)&&(this._rawValue=t,this._value=this.__v_isShallow?t:Ut(t),Ir(this))}}function C(e){return de(e)?e.value:e}const yi={get:(e,t,n)=>C(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return de(r)&&!de(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Mr(e){return vt(e)?e:new Proxy(e,yi)}function Rr(e){const t=R(e)?new Array(e.length):{};for(const n in e)t[n]=wi(e,n);return t}class xi{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function wi(e,t,n){const s=e[t];return de(s)?s:new xi(e,t,n)}class $i{constructor(t,n,s,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this._dirty=!0,this.effect=new ls(t,()=>{this._dirty||(this._dirty=!0,Ir(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=s}get value(){const t=z(this);return Ar(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function Ci(e,t,n=!1){let s,r;const o=N(e);return o?(s=e,r=Me):(s=e.get,r=e.set),new $i(s,r,o||!r,n)}function Qe(e,t,n,s){let r;try{r=s?e(...s):e()}catch(o){$n(o,t,n)}return r}function Re(e,t,n,s){if(N(e)){const o=Qe(e,t,n,s);return o&&pr(o)&&o.catch(i=>{$n(i,t,n)}),o}const r=[];for(let o=0;o>>1;Bt(ke[s])De&&ke.splice(t,1)}function Ur(e,t,n,s){R(e)?n.push(...e):(!t||!t.includes(e,e.allowRecurse?s+1:s))&&n.push(e),Hr()}function Pi(e){Ur(e,Lt,Ot,ht)}function Li(e){Ur(e,Ye,Mt,pt)}function ps(e,t=null){if(Ot.length){for(zn=t,Lt=[...new Set(Ot)],Ot.length=0,ht=0;htBt(n)-Bt(s)),pt=0;pte.id==null?1/0:e.id;function Br(e){qn=!1,rn=!0,ps(e),ke.sort((n,s)=>Bt(n)-Bt(s));const t=Me;try{for(De=0;DeP.trim()):g&&(r=n.map(Do))}let l,c=s[l=Rn(t)]||s[l=Rn(He(t))];!c&&o&&(c=s[l=Rn(xt(t))]),c&&Re(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Re(f,e,6,r)}}function jr(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!N(e)){const c=f=>{const h=jr(f,t,!0);h&&(l=!0,ye(i,h))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(s.set(e,null),null):(R(o)?o.forEach(c=>i[c]=null):ye(i,o),s.set(e,i),i)}function Cn(e,t){return!e||!qt(t)?!1:(t=t.slice(2).replace(/Once$/,""),K(e,t[0].toLowerCase()+t.slice(1))||K(e,xt(t))||K(e,t))}let Ce=null,En=null;function ln(e){const t=Ce;return Ce=e,En=e&&e.type.__scopeId||null,t}function Dr(e){En=e}function Kr(){En=null}function je(e,t=Ce,n){if(!t||e._n)return e;const s=(...r)=>{s._d&&zs(-1);const o=ln(t),i=e(...r);return ln(o),s._d&&zs(1),i};return s._n=!0,s._c=!0,s._d=!0,s}function Fn(e){const{type:t,vnode:n,proxy:s,withProxy:r,props:o,propsOptions:[i],slots:l,attrs:c,emit:f,render:h,renderCache:g,data:x,setupState:P,ctx:M,inheritAttrs:V}=e;let m,w;const W=ln(e);try{if(n.shapeFlag&4){const U=r||s;m=Ae(h.call(U,U,g,o,P,x,M)),w=c}else{const U=t;m=Ae(U.length>1?U(o,{attrs:c,slots:l,emit:f}):U(o,null)),w=t.props?c:Ii(c)}}catch(U){Ft.length=0,$n(U,e,1),m=H(We)}let I=m;if(w&&V!==!1){const U=Object.keys(w),{shapeFlag:X}=I;U.length&&X&7&&(i&&U.some(ns)&&(w=Oi(w,i)),I=Kt(I,w))}return n.dirs&&(I.dirs=I.dirs?I.dirs.concat(n.dirs):n.dirs),n.transition&&(I.transition=n.transition),m=I,ln(W),m}const Ii=e=>{let t;for(const n in e)(n==="class"||n==="style"||qt(n))&&((t||(t={}))[n]=e[n]);return t},Oi=(e,t)=>{const n={};for(const s in e)(!ns(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Mi(e,t,n){const{props:s,children:r,component:o}=e,{props:i,children:l,patchFlag:c}=t,f=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ns(s,i,f):!!i;if(c&8){const h=t.dynamicProps;for(let g=0;ge.__isSuspense;function Wr(e,t){t&&t.pendingBranch?R(e)?t.effects.push(...e):t.effects.push(e):Li(e)}function Fi(e,t){if(pe){let n=pe.provides;const s=pe.parent&&pe.parent.provides;s===n&&(n=pe.provides=Object.create(s)),n[e]=t}}function Rt(e,t,n=!1){const s=pe||Ce;if(s){const r=s.parent==null?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides;if(r&&e in r)return r[e];if(arguments.length>1)return n&&N(t)?t.call(s.proxy):t}}function qr(e,t){return _s(e,null,t)}const Hs={};function ot(e,t,n){return _s(e,t,n)}function _s(e,t,{immediate:n,deep:s,flush:r,onTrack:o,onTrigger:i}=Q){const l=pe;let c,f=!1,h=!1;if(de(e)?(c=()=>e.value,f=Pr(e)):vt(e)?(c=()=>e,s=!0):R(e)?(h=!0,f=e.some(vt),c=()=>e.map(w=>{if(de(w))return w.value;if(vt(w))return _t(w);if(N(w))return Qe(w,l,2)})):N(e)?t?c=()=>Qe(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return g&&g(),Re(e,l,3,[x])}:c=Me,t&&s){const w=c;c=()=>_t(w())}let g,x=w=>{g=m.onStop=()=>{Qe(w,l,4)}};if(Wt)return x=Me,t?n&&Re(t,l,3,[c(),h?[]:void 0,x]):c(),Me;let P=h?[]:Hs;const M=()=>{if(!!m.active)if(t){const w=m.run();(s||f||(h?w.some((W,I)=>Nt(W,P[I])):Nt(w,P)))&&(g&&g(),Re(t,l,3,[w,P===Hs?void 0:P,x]),P=w)}else m.run()};M.allowRecurse=!!t;let V;r==="sync"?V=M:r==="post"?V=()=>$e(M,l&&l.suspense):V=()=>{!l||l.isMounted?Pi(M):M()};const m=new ls(c,V);return t?n?M():P=m.run():r==="post"?$e(m.run.bind(m),l&&l.suspense):m.run(),()=>{m.stop(),l&&l.scope&&ss(l.scope.effects,m)}}function Ni(e,t,n){const s=this.proxy,r=he(e)?e.includes(".")?zr(s,e):()=>s[e]:e.bind(s,s);let o;N(t)?o=t:(o=t.handler,n=t);const i=pe;bt(this);const l=_s(r,o.bind(s),n);return i?bt(i):lt(),l}function zr(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;r{_t(n,t)});else if(gr(e))for(const n in e)_t(e[n],t);return e}function ie(e){return N(e)?{setup:e,name:e.name}:e}const jt=e=>!!e.type.__asyncLoader,Vr=e=>e.type.__isKeepAlive;function Hi(e,t){Jr(e,"a",t)}function Ui(e,t){Jr(e,"da",t)}function Jr(e,t,n=pe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(kn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Vr(r.parent.vnode)&&Bi(s,t,n,r),r=r.parent}}function Bi(e,t,n,s){const r=kn(t,e,s,!0);Tn(()=>{ss(s[t],r)},n)}function kn(e,t,n=pe,s=!1){if(n){const r=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...i)=>{if(n.isUnmounted)return;wt(),bt(n);const l=Re(t,n,e,i);return lt(),$t(),l});return s?r.unshift(o):r.push(o),o}}const qe=e=>(t,n=pe)=>(!Wt||e==="sp")&&kn(e,t,n),ji=qe("bm"),Ct=qe("m"),Di=qe("bu"),Yr=qe("u"),Ki=qe("bum"),Tn=qe("um"),Wi=qe("sp"),qi=qe("rtg"),zi=qe("rtc");function Vi(e,t=pe){kn("ec",e,t)}let Vn=!0;function Ji(e){const t=Zr(e),n=e.proxy,s=e.ctx;Vn=!1,t.beforeCreate&&Us(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:c,inject:f,created:h,beforeMount:g,mounted:x,beforeUpdate:P,updated:M,activated:V,deactivated:m,beforeDestroy:w,beforeUnmount:W,destroyed:I,unmounted:U,render:X,renderTracked:Z,renderTriggered:B,errorCaptured:le,serverPrefetch:ne,expose:re,inheritAttrs:_e,components:D,directives:oe,filters:xe}=t;if(f&&Yi(f,s,null,e.appContext.config.unwrapInjectedRef),i)for(const se in i){const G=i[se];N(G)&&(s[se]=G.bind(n))}if(r){const se=r.call(n,n);ae(se)&&(e.data=xn(se))}if(Vn=!0,o)for(const se in o){const G=o[se],Ue=N(G)?G.bind(n,n):N(G.get)?G.get.bind(n,n):Me,In=!N(G)&&N(G.set)?G.set.bind(n):Me,Et=j({get:Ue,set:In});Object.defineProperty(s,se,{enumerable:!0,configurable:!0,get:()=>Et.value,set:at=>Et.value=at})}if(l)for(const se in l)Xr(l[se],s,n,se);if(c){const se=N(c)?c.call(n):c;Reflect.ownKeys(se).forEach(G=>{Fi(G,se[G])})}h&&Us(h,e,"c");function we(se,G){R(G)?G.forEach(Ue=>se(Ue.bind(n))):G&&se(G.bind(n))}if(we(ji,g),we(Ct,x),we(Di,P),we(Yr,M),we(Hi,V),we(Ui,m),we(Vi,le),we(zi,Z),we(qi,B),we(Ki,W),we(Tn,U),we(Wi,ne),R(re))if(re.length){const se=e.exposed||(e.exposed={});re.forEach(G=>{Object.defineProperty(se,G,{get:()=>n[G],set:Ue=>n[G]=Ue})})}else e.exposed||(e.exposed={});X&&e.render===Me&&(e.render=X),_e!=null&&(e.inheritAttrs=_e),D&&(e.components=D),oe&&(e.directives=oe)}function Yi(e,t,n=Me,s=!1){R(e)&&(e=Jn(e));for(const r in e){const o=e[r];let i;ae(o)?"default"in o?i=Rt(o.from||r,o.default,!0):i=Rt(o.from||r):i=Rt(o),de(i)&&s?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:l=>i.value=l}):t[r]=i}}function Us(e,t,n){Re(R(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Xr(e,t,n,s){const r=s.includes(".")?zr(n,s):()=>n[s];if(he(e)){const o=t[e];N(o)&&ot(r,o)}else if(N(e))ot(r,e.bind(n));else if(ae(e))if(R(e))e.forEach(o=>Xr(o,t,n,s));else{const o=N(e.handler)?e.handler.bind(n):t[e.handler];N(o)&&ot(r,o,e)}}function Zr(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>cn(c,f,i,!0)),cn(c,t,i)),o.set(t,c),c}function cn(e,t,n,s=!1){const{mixins:r,extends:o}=t;o&&cn(e,o,n,!0),r&&r.forEach(i=>cn(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const l=Xi[i]||n&&n[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Xi={data:Bs,props:nt,emits:nt,methods:nt,computed:nt,beforeCreate:ve,created:ve,beforeMount:ve,mounted:ve,beforeUpdate:ve,updated:ve,beforeDestroy:ve,beforeUnmount:ve,destroyed:ve,unmounted:ve,activated:ve,deactivated:ve,errorCaptured:ve,serverPrefetch:ve,components:nt,directives:nt,watch:Qi,provide:Bs,inject:Zi};function Bs(e,t){return t?e?function(){return ye(N(e)?e.call(this,this):e,N(t)?t.call(this,this):t)}:t:e}function Zi(e,t){return nt(Jn(e),Jn(t))}function Jn(e){if(R(e)){const t={};for(let n=0;n0)&&!(i&16)){if(i&8){const h=e.vnode.dynamicProps;for(let g=0;g{c=!0;const[x,P]=Gr(g,t,!0);ye(i,x),P&&l.push(...P)};!n&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!o&&!c)return s.set(e,gt),gt;if(R(o))for(let h=0;h-1,P[1]=V<0||M-1||K(P,"default"))&&l.push(g)}}}const f=[i,l];return s.set(e,f),f}function js(e){return e[0]!=="$"}function Ds(e){const t=e&&e.toString().match(/^\s*function (\w+)/);return t?t[1]:e===null?"null":""}function Ks(e,t){return Ds(e)===Ds(t)}function Ws(e,t){return R(t)?t.findIndex(n=>Ks(n,e)):N(t)&&Ks(t,e)?0:-1}const eo=e=>e[0]==="_"||e==="$stable",gs=e=>R(e)?e.map(Ae):[Ae(e)],tl=(e,t,n)=>{const s=je((...r)=>gs(t(...r)),n);return s._c=!1,s},to=(e,t,n)=>{const s=e._ctx;for(const r in e){if(eo(r))continue;const o=e[r];if(N(o))t[r]=tl(r,o,s);else if(o!=null){const i=gs(o);t[r]=()=>i}}},no=(e,t)=>{const n=gs(t);e.slots.default=()=>n},nl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=z(t),sn(t,"_",n)):to(t,e.slots={})}else e.slots={},t&&no(e,t);sn(e.slots,Pn,1)},sl=(e,t,n)=>{const{vnode:s,slots:r}=e;let o=!0,i=Q;if(s.shapeFlag&32){const l=t._;l?n&&l===1?o=!1:(ye(r,t),!n&&l===1&&delete r._):(o=!t.$stable,to(t,r)),i=t}else t&&(no(e,t),i={default:1});if(o)for(const l in r)!eo(l)&&!(l in i)&&delete r[l]};function Ne(e,t,n,s){const r=e.dirs,o=t&&t.dirs;for(let i=0;iun(x,t&&(R(t)?t[P]:t),n,s,r));return}if(jt(s)&&!r)return;const o=s.shapeFlag&4?bs(s.component)||s.component.proxy:s.el,i=r?null:o,{i:l,r:c}=e,f=t&&t.r,h=l.refs===Q?l.refs={}:l.refs,g=l.setupState;if(f!=null&&f!==c&&(he(f)?(h[f]=null,K(g,f)&&(g[f]=null)):de(f)&&(f.value=null)),N(c))Qe(c,l,12,[i,h]);else{const x=he(c),P=de(c);if(x||P){const M=()=>{if(e.f){const V=x?h[c]:c.value;r?R(V)&&ss(V,o):R(V)?V.includes(o)||V.push(o):x?(h[c]=[o],K(g,c)&&(g[c]=h[c])):(c.value=[o],e.k&&(h[e.k]=c.value))}else x?(h[c]=i,K(g,c)&&(g[c]=i)):de(c)&&(c.value=i,e.k&&(h[e.k]=i))};i?(M.id=-1,$e(M,n)):M()}}}let Je=!1;const en=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",Nn=e=>e.nodeType===8;function il(e){const{mt:t,p:n,o:{patchProp:s,nextSibling:r,parentNode:o,remove:i,insert:l,createComment:c}}=e,f=(m,w)=>{if(!w.hasChildNodes()){n(null,m,w),on();return}Je=!1,h(w.firstChild,m,null,null,null),on(),Je&&console.error("Hydration completed but contains mismatches.")},h=(m,w,W,I,U,X=!1)=>{const Z=Nn(m)&&m.data==="[",B=()=>M(m,w,W,I,U,Z),{type:le,ref:ne,shapeFlag:re}=w,_e=m.nodeType;w.el=m;let D=null;switch(le){case Dt:_e!==3?D=B():(m.data!==w.children&&(Je=!0,m.data=w.children),D=r(m));break;case We:_e!==8||Z?D=B():D=r(m);break;case St:if(_e!==1)D=B();else{D=m;const oe=!w.children.length;for(let xe=0;xe{X=X||!!w.dynamicChildren;const{type:Z,props:B,patchFlag:le,shapeFlag:ne,dirs:re}=w,_e=Z==="input"&&re||Z==="option";if(_e||le!==-1){if(re&&Ne(w,null,W,"created"),B)if(_e||!X||le&48)for(const oe in B)(_e&&oe.endsWith("value")||qt(oe)&&!At(oe))&&s(m,oe,null,B[oe],!1,void 0,W);else B.onClick&&s(m,"onClick",null,B.onClick,!1,void 0,W);let D;if((D=B&&B.onVnodeBeforeMount)&&Pe(D,W,w),re&&Ne(w,null,W,"beforeMount"),((D=B&&B.onVnodeMounted)||re)&&Wr(()=>{D&&Pe(D,W,w),re&&Ne(w,null,W,"mounted")},I),ne&16&&!(B&&(B.innerHTML||B.textContent))){let oe=x(m.firstChild,w,m,W,I,U,X);for(;oe;){Je=!0;const xe=oe;oe=oe.nextSibling,i(xe)}}else ne&8&&m.textContent!==w.children&&(Je=!0,m.textContent=w.children)}return m.nextSibling},x=(m,w,W,I,U,X,Z)=>{Z=Z||!!w.dynamicChildren;const B=w.children,le=B.length;for(let ne=0;ne{const{slotScopeIds:Z}=w;Z&&(U=U?U.concat(Z):Z);const B=o(m),le=x(r(m),w,B,W,I,U,X);return le&&Nn(le)&&le.data==="]"?r(w.anchor=le):(Je=!0,l(w.anchor=c("]"),B,le),le)},M=(m,w,W,I,U,X)=>{if(Je=!0,w.el=null,X){const le=V(m);for(;;){const ne=r(m);if(ne&&ne!==le)i(ne);else break}}const Z=r(m),B=o(m);return i(m),n(null,w,B,Z,W,I,en(B),U),Z},V=m=>{let w=0;for(;m;)if(m=r(m),m&&Nn(m)&&(m.data==="["&&w++,m.data==="]")){if(w===0)return r(m);w--}return m};return[f,h]}const $e=Wr;function ll(e){return cl(e,il)}function cl(e,t){const n=Ko();n.__VUE__=!0;const{insert:s,remove:r,patchProp:o,createElement:i,createText:l,createComment:c,setText:f,setElementText:h,parentNode:g,nextSibling:x,setScopeId:P=Me,cloneNode:M,insertStaticContent:V}=e,m=(u,a,d,_=null,p=null,y=null,E=!1,b=null,$=!!a.dynamicChildren)=>{if(u===a)return;u&&!Tt(u,a)&&(_=Jt(u),ze(u,p,y,!0),u=null),a.patchFlag===-2&&($=!1,a.dynamicChildren=null);const{type:v,ref:L,shapeFlag:k}=a;switch(v){case Dt:w(u,a,d,_);break;case We:W(u,a,d,_);break;case St:u==null&&I(a,d,_,E);break;case fe:oe(u,a,d,_,p,y,E,b,$);break;default:k&1?Z(u,a,d,_,p,y,E,b,$):k&6?xe(u,a,d,_,p,y,E,b,$):(k&64||k&128)&&v.process(u,a,d,_,p,y,E,b,$,ft)}L!=null&&p&&un(L,u&&u.ref,y,a||u,!a)},w=(u,a,d,_)=>{if(u==null)s(a.el=l(a.children),d,_);else{const p=a.el=u.el;a.children!==u.children&&f(p,a.children)}},W=(u,a,d,_)=>{u==null?s(a.el=c(a.children||""),d,_):a.el=u.el},I=(u,a,d,_)=>{[u.el,u.anchor]=V(u.children,a,d,_,u.el,u.anchor)},U=({el:u,anchor:a},d,_)=>{let p;for(;u&&u!==a;)p=x(u),s(u,d,_),u=p;s(a,d,_)},X=({el:u,anchor:a})=>{let d;for(;u&&u!==a;)d=x(u),r(u),u=d;r(a)},Z=(u,a,d,_,p,y,E,b,$)=>{E=E||a.type==="svg",u==null?B(a,d,_,p,y,E,b,$):re(u,a,p,y,E,b,$)},B=(u,a,d,_,p,y,E,b)=>{let $,v;const{type:L,props:k,shapeFlag:A,transition:O,patchFlag:q,dirs:te}=u;if(u.el&&M!==void 0&&q===-1)$=u.el=M(u.el);else{if($=u.el=i(u.type,y,k&&k.is,k),A&8?h($,u.children):A&16&&ne(u.children,$,null,_,p,y&&L!=="foreignObject",E,b),te&&Ne(u,null,_,"created"),k){for(const ee in k)ee!=="value"&&!At(ee)&&o($,ee,null,k[ee],y,u.children,_,p,Be);"value"in k&&o($,"value",null,k.value),(v=k.onVnodeBeforeMount)&&Pe(v,_,u)}le($,u,u.scopeId,E,_)}te&&Ne(u,null,_,"beforeMount");const Y=(!p||p&&!p.pendingBranch)&&O&&!O.persisted;Y&&O.beforeEnter($),s($,a,d),((v=k&&k.onVnodeMounted)||Y||te)&&$e(()=>{v&&Pe(v,_,u),Y&&O.enter($),te&&Ne(u,null,_,"mounted")},p)},le=(u,a,d,_,p)=>{if(d&&P(u,d),_)for(let y=0;y<_.length;y++)P(u,_[y]);if(p){let y=p.subTree;if(a===y){const E=p.vnode;le(u,E,E.scopeId,E.slotScopeIds,p.parent)}}},ne=(u,a,d,_,p,y,E,b,$=0)=>{for(let v=$;v{const b=a.el=u.el;let{patchFlag:$,dynamicChildren:v,dirs:L}=a;$|=u.patchFlag&16;const k=u.props||Q,A=a.props||Q;let O;d&&tt(d,!1),(O=A.onVnodeBeforeUpdate)&&Pe(O,d,a,u),L&&Ne(a,u,d,"beforeUpdate"),d&&tt(d,!0);const q=p&&a.type!=="foreignObject";if(v?_e(u.dynamicChildren,v,b,d,_,q,y):E||Ue(u,a,b,null,d,_,q,y,!1),$>0){if($&16)D(b,a,k,A,d,_,p);else if($&2&&k.class!==A.class&&o(b,"class",null,A.class,p),$&4&&o(b,"style",k.style,A.style,p),$&8){const te=a.dynamicProps;for(let Y=0;Y{O&&Pe(O,d,a,u),L&&Ne(a,u,d,"updated")},_)},_e=(u,a,d,_,p,y,E)=>{for(let b=0;b{if(d!==_){for(const b in _){if(At(b))continue;const $=_[b],v=d[b];$!==v&&b!=="value"&&o(u,b,v,$,E,a.children,p,y,Be)}if(d!==Q)for(const b in d)!At(b)&&!(b in _)&&o(u,b,d[b],null,E,a.children,p,y,Be);"value"in _&&o(u,"value",d.value,_.value)}},oe=(u,a,d,_,p,y,E,b,$)=>{const v=a.el=u?u.el:l(""),L=a.anchor=u?u.anchor:l("");let{patchFlag:k,dynamicChildren:A,slotScopeIds:O}=a;O&&(b=b?b.concat(O):O),u==null?(s(v,d,_),s(L,d,_),ne(a.children,d,L,p,y,E,b,$)):k>0&&k&64&&A&&u.dynamicChildren?(_e(u.dynamicChildren,A,d,p,y,E,b),(a.key!=null||p&&a===p.subTree)&&ro(u,a,!0)):Ue(u,a,d,L,p,y,E,b,$)},xe=(u,a,d,_,p,y,E,b,$)=>{a.slotScopeIds=b,u==null?a.shapeFlag&512?p.ctx.activate(a,d,_,E,$):An(a,d,_,p,y,E,$):we(u,a,$)},An=(u,a,d,_,p,y,E)=>{const b=u.component=bl(u,_,p);if(Vr(u)&&(b.ctx.renderer=ft),yl(b),b.asyncDep){if(p&&p.registerDep(b,se),!u.el){const $=b.subTree=H(We);W(null,$,a,d)}return}se(b,u,a,d,p,y,E)},we=(u,a,d)=>{const _=a.component=u.component;if(Mi(u,a,d))if(_.asyncDep&&!_.asyncResolved){G(_,a,d);return}else _.next=a,Ti(_.update),_.update();else a.component=u.component,a.el=u.el,_.vnode=a},se=(u,a,d,_,p,y,E)=>{const b=()=>{if(u.isMounted){let{next:L,bu:k,u:A,parent:O,vnode:q}=u,te=L,Y;tt(u,!1),L?(L.el=q.el,G(u,L,E)):L=q,k&&Sn(k),(Y=L.props&&L.props.onVnodeBeforeUpdate)&&Pe(Y,O,L,q),tt(u,!0);const ee=Fn(u),Le=u.subTree;u.subTree=ee,m(Le,ee,g(Le.el),Jt(Le),u,p,y),L.el=ee.el,te===null&&Ri(u,ee.el),A&&$e(A,p),(Y=L.props&&L.props.onVnodeUpdated)&&$e(()=>Pe(Y,O,L,q),p)}else{let L;const{el:k,props:A}=a,{bm:O,m:q,parent:te}=u,Y=jt(a);if(tt(u,!1),O&&Sn(O),!Y&&(L=A&&A.onVnodeBeforeMount)&&Pe(L,te,a),tt(u,!0),k&&Mn){const ee=()=>{u.subTree=Fn(u),Mn(k,u.subTree,u,p,null)};Y?a.type.__asyncLoader().then(()=>!u.isUnmounted&&ee()):ee()}else{const ee=u.subTree=Fn(u);m(null,ee,d,_,u,p,y),a.el=ee.el}if(q&&$e(q,p),!Y&&(L=A&&A.onVnodeMounted)){const ee=a;$e(()=>Pe(L,te,ee),p)}a.shapeFlag&256&&u.a&&$e(u.a,p),u.isMounted=!0,a=d=_=null}},$=u.effect=new ls(b,()=>Nr(u.update),u.scope),v=u.update=$.run.bind($);v.id=u.uid,tt(u,!0),v()},G=(u,a,d)=>{a.component=u;const _=u.vnode.props;u.vnode=a,u.next=null,el(u,a.props,_,d),sl(u,a.children,d),wt(),ps(void 0,u.update),$t()},Ue=(u,a,d,_,p,y,E,b,$=!1)=>{const v=u&&u.children,L=u?u.shapeFlag:0,k=a.children,{patchFlag:A,shapeFlag:O}=a;if(A>0){if(A&128){Et(v,k,d,_,p,y,E,b,$);return}else if(A&256){In(v,k,d,_,p,y,E,b,$);return}}O&8?(L&16&&Be(v,p,y),k!==v&&h(d,k)):L&16?O&16?Et(v,k,d,_,p,y,E,b,$):Be(v,p,y,!0):(L&8&&h(d,""),O&16&&ne(k,d,_,p,y,E,b,$))},In=(u,a,d,_,p,y,E,b,$)=>{u=u||gt,a=a||gt;const v=u.length,L=a.length,k=Math.min(v,L);let A;for(A=0;AL?Be(u,p,y,!0,!1,k):ne(a,d,_,p,y,E,b,$,k)},Et=(u,a,d,_,p,y,E,b,$)=>{let v=0;const L=a.length;let k=u.length-1,A=L-1;for(;v<=k&&v<=A;){const O=u[v],q=a[v]=$?Xe(a[v]):Ae(a[v]);if(Tt(O,q))m(O,q,d,null,p,y,E,b,$);else break;v++}for(;v<=k&&v<=A;){const O=u[k],q=a[A]=$?Xe(a[A]):Ae(a[A]);if(Tt(O,q))m(O,q,d,null,p,y,E,b,$);else break;k--,A--}if(v>k){if(v<=A){const O=A+1,q=OA)for(;v<=k;)ze(u[v],p,y,!0),v++;else{const O=v,q=v,te=new Map;for(v=q;v<=A;v++){const Ee=a[v]=$?Xe(a[v]):Ae(a[v]);Ee.key!=null&&te.set(Ee.key,v)}let Y,ee=0;const Le=A-q+1;let dt=!1,ks=0;const kt=new Array(Le);for(v=0;v=Le){ze(Ee,p,y,!0);continue}let Se;if(Ee.key!=null)Se=te.get(Ee.key);else for(Y=q;Y<=A;Y++)if(kt[Y-q]===0&&Tt(Ee,a[Y])){Se=Y;break}Se===void 0?ze(Ee,p,y,!0):(kt[Se-q]=v+1,Se>=ks?ks=Se:dt=!0,m(Ee,a[Se],d,null,p,y,E,b,$),ee++)}const Ts=dt?ul(kt):gt;for(Y=Ts.length-1,v=Le-1;v>=0;v--){const Ee=q+v,Se=a[Ee],Ps=Ee+1{const{el:y,type:E,transition:b,children:$,shapeFlag:v}=u;if(v&6){at(u.component.subTree,a,d,_);return}if(v&128){u.suspense.move(a,d,_);return}if(v&64){E.move(u,a,d,ft);return}if(E===fe){s(y,a,d);for(let k=0;k<$.length;k++)at($[k],a,d,_);s(u.anchor,a,d);return}if(E===St){U(u,a,d);return}if(_!==2&&v&1&&b)if(_===0)b.beforeEnter(y),s(y,a,d),$e(()=>b.enter(y),p);else{const{leave:k,delayLeave:A,afterLeave:O}=b,q=()=>s(y,a,d),te=()=>{k(y,()=>{q(),O&&O()})};A?A(y,q,te):te()}else s(y,a,d)},ze=(u,a,d,_=!1,p=!1)=>{const{type:y,props:E,ref:b,children:$,dynamicChildren:v,shapeFlag:L,patchFlag:k,dirs:A}=u;if(b!=null&&un(b,null,d,u,!0),L&256){a.ctx.deactivate(u);return}const O=L&1&&A,q=!jt(u);let te;if(q&&(te=E&&E.onVnodeBeforeUnmount)&&Pe(te,a,u),L&6)To(u.component,d,_);else{if(L&128){u.suspense.unmount(d,_);return}O&&Ne(u,null,a,"beforeUnmount"),L&64?u.type.remove(u,a,d,p,ft,_):v&&(y!==fe||k>0&&k&64)?Be(v,a,d,!1,!0):(y===fe&&k&384||!p&&L&16)&&Be($,a,d),_&&Cs(u)}(q&&(te=E&&E.onVnodeUnmounted)||O)&&$e(()=>{te&&Pe(te,a,u),O&&Ne(u,null,a,"unmounted")},d)},Cs=u=>{const{type:a,el:d,anchor:_,transition:p}=u;if(a===fe){ko(d,_);return}if(a===St){X(u);return}const y=()=>{r(d),p&&!p.persisted&&p.afterLeave&&p.afterLeave()};if(u.shapeFlag&1&&p&&!p.persisted){const{leave:E,delayLeave:b}=p,$=()=>E(d,y);b?b(u.el,y,$):$()}else y()},ko=(u,a)=>{let d;for(;u!==a;)d=x(u),r(u),u=d;r(a)},To=(u,a,d)=>{const{bum:_,scope:p,update:y,subTree:E,um:b}=u;_&&Sn(_),p.stop(),y&&(y.active=!1,ze(E,u,a,d)),b&&$e(b,a),$e(()=>{u.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},Be=(u,a,d,_=!1,p=!1,y=0)=>{for(let E=y;Eu.shapeFlag&6?Jt(u.component.subTree):u.shapeFlag&128?u.suspense.next():x(u.anchor||u.el),Es=(u,a,d)=>{u==null?a._vnode&&ze(a._vnode,null,null,!0):m(a._vnode||null,u,a,null,null,null,d),on(),a._vnode=u},ft={p:m,um:ze,m:at,r:Cs,mt:An,mc:ne,pc:Ue,pbc:_e,n:Jt,o:e};let On,Mn;return t&&([On,Mn]=t(ft)),{render:Es,hydrate:On,createApp:ol(Es,On)}}function tt({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function ro(e,t,n=!1){const s=e.children,r=t.children;if(R(s)&&R(r))for(let o=0;o>1,e[n[l]]0&&(t[s]=n[o-1]),n[o]=s)}}for(o=n.length,i=n[o-1];o-- >0;)n[o]=i,i=t[i];return n}const al=e=>e.__isTeleport,oo="components";function an(e,t){return dl(oo,e,!0,t)||e}const fl=Symbol();function dl(e,t,n=!0,s=!1){const r=Ce||pe;if(r){const o=r.type;if(e===oo){const l=Cl(o);if(l&&(l===t||l===He(t)||l===bn(He(t))))return o}const i=qs(r[e]||o[e],t)||qs(r.appContext[e],t);return!i&&s?o:i}}function qs(e,t){return e&&(e[t]||e[He(t)]||e[bn(He(t))])}const fe=Symbol(void 0),Dt=Symbol(void 0),We=Symbol(void 0),St=Symbol(void 0),Ft=[];let it=null;function T(e=!1){Ft.push(it=e?null:[])}function hl(){Ft.pop(),it=Ft[Ft.length-1]||null}let fn=1;function zs(e){fn+=e}function io(e){return e.dynamicChildren=fn>0?it||gt:null,hl(),fn>0&&it&&it.push(e),e}function S(e,t,n,s,r,o){return io(F(e,t,n,s,r,o,!0))}function ge(e,t,n,s,r){return io(H(e,t,n,s,r,!0))}function dn(e){return e?e.__v_isVNode===!0:!1}function Tt(e,t){return e.type===t.type&&e.key===t.key}const Pn="__vInternal",lo=({key:e})=>e!=null?e:null,nn=({ref:e,ref_key:t,ref_for:n})=>e!=null?he(e)||de(e)||N(e)?{i:Ce,r:e,k:t,f:!!n}:e:null;function F(e,t=null,n=null,s=0,r=null,o=e===fe?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&lo(t),ref:t&&nn(t),scopeId:En,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null};return l?(ms(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=he(n)?8:16),fn>0&&!i&&it&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&it.push(c),c}const H=pl;function pl(e,t=null,n=null,s=0,r=null,o=!1){if((!e||e===fl)&&(e=We),dn(e)){const l=Kt(e,t,!0);return n&&ms(l,n),l}if(El(e)&&(e=e.__vccOpts),t){t=_l(t);let{class:l,style:c}=t;l&&!he(l)&&(t.class=ct(l)),ae(c)&&(Lr(c)&&!R(c)&&(c=ye({},c)),t.style=ts(c))}const i=he(e)?1:Si(e)?128:al(e)?64:ae(e)?4:N(e)?2:0;return F(e,t,n,s,r,i,o,!0)}function _l(e){return e?Lr(e)||Pn in e?ye({},e):e:null}function Kt(e,t,n=!1){const{props:s,ref:r,patchFlag:o,children:i}=e,l=t?vs(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&lo(l),ref:t&&t.ref?n&&r?R(r)?r.concat(nn(t)):[r,nn(t)]:nn(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==fe?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Kt(e.ssContent),ssFallback:e.ssFallback&&Kt(e.ssFallback),el:e.el,anchor:e.anchor}}function zt(e=" ",t=0){return H(Dt,null,e,t)}function ef(e,t){const n=H(St,null,e);return n.staticCount=t,n}function J(e="",t=!1){return t?(T(),ge(We,null,e)):H(We,null,e)}function Ae(e){return e==null||typeof e=="boolean"?H(We):R(e)?H(fe,null,e.slice()):typeof e=="object"?Xe(e):H(Dt,null,String(e))}function Xe(e){return e.el===null||e.memo?e:Kt(e)}function ms(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(R(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ms(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Pn in t)?t._ctx=Ce:r===3&&Ce&&(Ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else N(t)?(t={default:t,_ctx:Ce},n=32):(t=String(t),s&64?(n=16,t=[zt(t)]):n=8);e.children=t,e.shapeFlag|=n}function vs(...e){const t={};for(let n=0;nt(i,l,void 0,o&&o[l]));else{const i=Object.keys(e);r=new Array(i.length);for(let l=0,c=i.length;ldn(t)?!(t.type===We||t.type===fe&&!co(t.children)):!0)?e:null}const Xn=e=>e?uo(e)?bs(e)||e.proxy:Xn(e.parent):null,hn=ye(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Xn(e.parent),$root:e=>Xn(e.root),$emit:e=>e.emit,$options:e=>Zr(e),$forceUpdate:e=>()=>Nr(e.update),$nextTick:e=>Fr.bind(e.proxy),$watch:e=>Ni.bind(e)}),gl={get({_:e},t){const{ctx:n,setupState:s,data:r,props:o,accessCache:i,type:l,appContext:c}=e;let f;if(t[0]!=="$"){const P=i[t];if(P!==void 0)switch(P){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return o[t]}else{if(s!==Q&&K(s,t))return i[t]=1,s[t];if(r!==Q&&K(r,t))return i[t]=2,r[t];if((f=e.propsOptions[0])&&K(f,t))return i[t]=3,o[t];if(n!==Q&&K(n,t))return i[t]=4,n[t];Vn&&(i[t]=0)}}const h=hn[t];let g,x;if(h)return t==="$attrs"&&Te(e,"get",t),h(e);if((g=l.__cssModules)&&(g=g[t]))return g;if(n!==Q&&K(n,t))return i[t]=4,n[t];if(x=c.config.globalProperties,K(x,t))return x[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:o}=e;return r!==Q&&K(r,t)?(r[t]=n,!0):s!==Q&&K(s,t)?(s[t]=n,!0):K(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:o}},i){let l;return!!n[i]||e!==Q&&K(e,i)||t!==Q&&K(t,i)||(l=o[0])&&K(l,i)||K(s,i)||K(hn,i)||K(r.config.globalProperties,i)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:K(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}},ml=so();let vl=0;function bl(e,t,n){const s=e.type,r=(t?t.appContext:e.appContext)||ml,o={uid:vl++,vnode:e,type:s,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,scope:new Wo(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Gr(s,r),emitsOptions:jr(s,r),emit:null,emitted:null,propsDefaults:Q,inheritAttrs:s.inheritAttrs,ctx:Q,data:Q,props:Q,attrs:Q,slots:Q,refs:Q,setupState:Q,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Ai.bind(null,o),e.ce&&e.ce(o),o}let pe=null;const bt=e=>{pe=e,e.scope.on()},lt=()=>{pe&&pe.scope.off(),pe=null};function uo(e){return e.vnode.shapeFlag&4}let Wt=!1;function yl(e,t=!1){Wt=t;const{props:n,children:s}=e.vnode,r=uo(e);Gi(e,n,r,t),nl(e,s);const o=r?xl(e,t):void 0;return Wt=!1,o}function xl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=It(new Proxy(e.ctx,gl));const{setup:s}=n;if(s){const r=e.setupContext=s.length>1?$l(e):null;bt(e),wt();const o=Qe(s,e,0,[e.props,r]);if($t(),lt(),pr(o)){if(o.then(lt,lt),t)return o.then(i=>{Vs(e,i,t)}).catch(i=>{$n(i,e,0)});e.asyncDep=o}else Vs(e,o,t)}else ao(e,t)}function Vs(e,t,n){N(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ae(t)&&(e.setupState=Mr(t)),ao(e,n)}let Js;function ao(e,t,n){const s=e.type;if(!e.render){if(!t&&Js&&!s.render){const r=s.template;if(r){const{isCustomElement:o,compilerOptions:i}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,f=ye(ye({isCustomElement:o,delimiters:l},i),c);s.render=Js(r,f)}}e.render=s.render||Me}bt(e),wt(),Ji(e),$t(),lt()}function wl(e){return new Proxy(e.attrs,{get(t,n){return Te(e,"get","$attrs"),t[n]}})}function $l(e){const t=s=>{e.exposed=s||{}};let n;return{get attrs(){return n||(n=wl(e))},slots:e.slots,emit:e.emit,expose:t}}function bs(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Mr(It(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in hn)return hn[n](e)}}))}function Cl(e){return N(e)&&e.displayName||e.name}function El(e){return N(e)&&"__vccOpts"in e}const j=(e,t)=>Ci(e,t,Wt);function ut(e,t,n){const s=arguments.length;return s===2?ae(t)&&!R(t)?dn(t)?H(e,null,[t]):H(e,t):H(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&dn(n)&&(n=[n]),H(e,t,n))}const kl="3.2.33",Tl="http://www.w3.org/2000/svg",st=typeof document!="undefined"?document:null,Ys=st&&st.createElement("template"),Pl={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t?st.createElementNS(Tl,e):st.createElement(e,n?{is:n}:void 0);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>st.createTextNode(e),createComment:e=>st.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>st.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},cloneNode(e){const t=e.cloneNode(!0);return"_value"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,s,r,o){const i=n?n.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===o||!(r=r.nextSibling)););else{Ys.innerHTML=s?`${e}`:e;const l=Ys.content;if(s){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Ll(e,t,n){const s=e._vtc;s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}function Al(e,t,n){const s=e.style,r=he(n);if(n&&!r){for(const o in n)Zn(s,o,n[o]);if(t&&!he(t))for(const o in t)n[o]==null&&Zn(s,o,"")}else{const o=s.display;r?t!==n&&(s.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(s.display=o)}}const Xs=/\s*!important$/;function Zn(e,t,n){if(R(n))n.forEach(s=>Zn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Il(e,t);Xs.test(n)?e.setProperty(xt(s),n.replace(Xs,""),"important"):e[s]=n}}const Zs=["Webkit","Moz","ms"],Hn={};function Il(e,t){const n=Hn[t];if(n)return n;let s=He(t);if(s!=="filter"&&s in e)return Hn[t]=s;s=bn(s);for(let r=0;r{let e=Date.now,t=!1;if(typeof window!="undefined"){Date.now()>document.createEvent("Event").timeStamp&&(e=()=>performance.now());const n=navigator.userAgent.match(/firefox\/(\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let Qn=0;const Sl=Promise.resolve(),Fl=()=>{Qn=0},Nl=()=>Qn||(Sl.then(Fl),Qn=fo());function Hl(e,t,n,s){e.addEventListener(t,n,s)}function Ul(e,t,n,s){e.removeEventListener(t,n,s)}function Bl(e,t,n,s,r=null){const o=e._vei||(e._vei={}),i=o[t];if(s&&i)i.value=s;else{const[l,c]=jl(t);if(s){const f=o[t]=Dl(s,r);Hl(e,l,f,c)}else i&&(Ul(e,l,i,c),o[t]=void 0)}}const Gs=/(?:Once|Passive|Capture)$/;function jl(e){let t;if(Gs.test(e)){t={};let n;for(;n=e.match(Gs);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[xt(e.slice(2)),t]}function Dl(e,t){const n=s=>{const r=s.timeStamp||fo();(Rl||r>=n.attached-1)&&Re(Kl(s,n.value),t,5,[s])};return n.value=e,n.attached=Nl(),n}function Kl(e,t){if(R(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const er=/^on[a-z]/,Wl=(e,t,n,s,r=!1,o,i,l,c)=>{t==="class"?Ll(e,s,r):t==="style"?Al(e,n,s):qt(t)?ns(t)||Bl(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):ql(e,t,s,r))?Ml(e,t,s,o,i,l,c):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ol(e,t,s,r))};function ql(e,t,n,s){return s?!!(t==="innerHTML"||t==="textContent"||t in e&&er.test(t)&&N(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||er.test(t)&&he(n)?!1:t in e}const zl=ye({patchProp:Wl},Pl);let Un,tr=!1;function Vl(){return Un=tr?Un:ll(zl),tr=!0,Un}const Jl=(...e)=>{const t=Vl().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=Yl(s);if(r)return n(r,!0,r instanceof SVGElement)},t};function Yl(e){return he(e)?document.querySelector(e):e}var Xl='{"lang":"en-US","title":"VitePress","description":"A VitePress site","base":"/","head":[],"themeConfig":{},"locales":{},"langs":{},"scrollOffset":90}';const ho=/^https?:/i,Oe=typeof window!="undefined";function Zl(e,t){t.sort((n,s)=>{const r=s.split("/").length-n.split("/").length;return r!==0?r:s.length-n.length});for(const n of t)if(e.startsWith(n))return n}function nr(e,t){const n=Zl(t,Object.keys(e));return n?e[n]:void 0}function Ql(e){const{locales:t}=e.themeConfig||{},n=e.locales;return t&&n?Object.keys(t).reduce((s,r)=>(s[r]={label:t[r].label,lang:n[r].lang},s),{}):{}}function Gl(e,t){t=ec(e,t);const n=nr(e.locales||{},t),s=nr(e.themeConfig.locales||{},t);return Object.assign({},e,n,{themeConfig:Object.assign({},e.themeConfig,s,{locales:{}}),lang:(n||e).lang,locales:{},langs:Ql(e)})}function ec(e,t){if(!Oe)return t;const n=e.base,s=n.endsWith("/")?n.slice(0,-1):n;return t.slice(s.length)}const po=Symbol(),Vt=vi(tc(Xl));function tc(e){return JSON.parse(e)}function nc(e){const t=j(()=>Gl(Vt.value,e.path));return{site:t,theme:j(()=>t.value.themeConfig),page:j(()=>e.data),frontmatter:j(()=>e.data.frontmatter),lang:j(()=>t.value.lang),localePath:j(()=>{const{langs:n,lang:s}=t.value,r=Object.keys(n).find(o=>n[o].lang===s);return yt(r||"/")}),title:j(()=>e.data.title?e.data.title+" | "+t.value.title:t.value.title),description:j(()=>e.data.description||t.value.description)}}function me(){const e=Rt(po);if(!e)throw new Error("vitepress data not properly injected in app");return e}function sc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function yt(e){return ho.test(e)?e:sc(Vt.value.base,e)}function _o(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t.endsWith("/")&&(t+="index"),Oe){const n="/";t=t.slice(n.length).replace(/\//g,"_")+".md";const s=__VP_HASH_MAP__[t.toLowerCase()];t=`${n}assets/${t}.${s}.js`}else t=`./${t.slice(1).replace(/\//g,"_")}.md.js`;return t}const go=Symbol(),sr="http://a.com",mo={relativePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{},lastUpdated:0},rc=()=>({path:"/",component:null,data:mo});function oc(e,t){const n=xn(rc());function s(i=Oe?location.href:"/"){const l=new URL(i,sr);return!l.pathname.endsWith("/")&&!l.pathname.endsWith(".html")&&(l.pathname+=".html",i=l.pathname+l.search+l.hash),Oe&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",i)),o(i)}let r=null;async function o(i,l=0,c=!1){const f=new URL(i,sr),h=r=f.pathname;try{let g=e(h);if("then"in g&&typeof g.then=="function"&&(g=await g),r===h){r=null;const{default:x,__pageData:P}=g;if(!x)throw new Error(`Invalid route component: ${x}`);n.path=h,n.component=It(x),n.data=It(JSON.parse(P)),Oe&&Fr(()=>{if(f.hash&&!l){let M=null;try{M=document.querySelector(decodeURIComponent(f.hash))}catch(V){console.warn(V)}if(M){rr(M,f.hash);return}}window.scrollTo(0,l)})}}catch(g){if(g.message.match(/fetch/)||console.error(g),!c)try{const x=await fetch(Vt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await x.json(),await o(i,l,!0);return}catch{}r===h&&(r=null,n.path=h,n.component=t?It(t):null,n.data=mo)}}return Oe&&(window.addEventListener("click",i=>{const l=i.target.closest("a");if(l){const{href:c,protocol:f,hostname:h,pathname:g,hash:x,target:P}=l,M=window.location,V=g.match(/\.\w+$/);!i.ctrlKey&&!i.shiftKey&&!i.altKey&&!i.metaKey&&P!=="_blank"&&f===M.protocol&&h===M.hostname&&!(V&&V[0]!==".html")&&(i.preventDefault(),g===M.pathname?x&&x!==M.hash&&(history.pushState(null,"",x),window.dispatchEvent(new Event("hashchange")),rr(l,x,l.classList.contains("header-anchor"))):s(c))}},{capture:!0}),window.addEventListener("popstate",i=>{o(location.href,i.state&&i.state.scrollPosition||0)}),window.addEventListener("hashchange",i=>{i.preventDefault()})),{route:n,go:s}}function ic(){const e=Rt(go);if(!e)throw new Error("useRouter() is called without provider.");return e}function et(){return ic().route}function rr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.querySelector(decodeURIComponent(t))}catch(r){console.warn(r)}if(s){let r=Vt.value.scrollOffset;typeof r=="string"&&(r=document.querySelector(r).getBoundingClientRect().bottom+24);const o=parseInt(window.getComputedStyle(s).paddingTop,10),i=window.scrollY+s.getBoundingClientRect().top-r+o;!n||Math.abs(i-window.scrollY)>window.innerHeight?window.scrollTo(0,i):window.scrollTo({left:0,top:i,behavior:"smooth"})}}function lc(e,t){let n=[],s=!0;const r=o=>{if(s){s=!1;return}const i=[],l=Math.min(n.length,o.length);for(let c=0;cdocument.head.removeChild(c)),o.slice(l).forEach(c=>{const f=or(c);document.head.appendChild(f),i.push(f)}),n=i};qr(()=>{const o=e.data,i=t.value,l=o&&o.title,c=o&&o.description,f=o&&o.frontmatter.head;document.title=(l?l+" | ":"")+i.title,document.querySelector("meta[name=description]").setAttribute("content",c||i.description),r([...f?uc(f):[]])})}function or([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),s}function cc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function uc(e){return e.filter(t=>!cc(t))}const ac=ie({name:"VitePressContent",setup(){const e=et();return()=>ut("div",{style:{position:"relative"}},[e.component?ut(e.component):null])}});var ce=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n};const fc=/#.*$/,dc=/(index)?\.(md|html)$/,pn=/\/$/,hc=/^[a-z]+:/i;function ys(e){return Array.isArray(e)}function xs(e){return hc.test(e)}function pc(e,t){if(t===void 0)return!1;const n=ir(`/${e.data.relativePath}`),s=ir(t);return n===s}function ir(e){return decodeURI(e).replace(fc,"").replace(dc,"")}function _c(e,t){const n=e.endsWith("/"),s=t.startsWith("/");return n&&s?e.slice(0,-1)+t:!n&&!s?`${e}/${t}`:e+t}function Gn(e){return/^\//.test(e)?e:`/${e}`}function vo(e){return e.replace(/(index)?(\.(md|html))?$/,"")||"/"}function gc(e){return e===!1||e==="auto"||ys(e)}function mc(e){return e.children!==void 0}function vc(e){return ys(e)?e.length===0:!e}function ws(e,t){if(gc(e))return e;t=Gn(t);for(const n in e)if(t.startsWith(Gn(n)))return e[n];return"auto"}function bo(e){return e.reduce((t,n)=>(n.link&&t.push({text:n.text,link:vo(n.link)}),mc(n)&&(t=[...t,...bo(n.children)]),t),[])}function yo(e){const t=et(),n=xs(e.value.link);return{props:j(()=>{const r=lr(`/${t.data.relativePath}`);let o=!1;if(e.value.activeMatch)o=new RegExp(e.value.activeMatch).test(r);else{const i=lr(e.value.link);o=i==="/"?i===r:r.startsWith(i)}return{class:{active:o,isExternal:n},href:n?e.value.link:yt(e.value.link),target:e.value.target||(n?"_blank":null),rel:e.value.rel||(n?"noopener noreferrer":null),"aria-label":e.value.ariaLabel}}),isExternal:n}}function lr(e){return e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\.(html|md)$/,"").replace(/\/index$/,"/")}const bc={},yc={class:"icon outbound",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",x:"0px",y:"0px",viewBox:"0 0 100 100",width:"15",height:"15"},xc=F("path",{fill:"currentColor",d:"M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"},null,-1),wc=F("polygon",{fill:"currentColor",points:"45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"},null,-1),$c=[xc,wc];function Cc(e,t){return T(),S("svg",yc,$c)}var $s=ce(bc,[["render",Cc]]);const Ec={class:"nav-link"},kc=ie({props:{item:null},setup(e){const n=Rr(e),{props:s,isExternal:r}=yo(n.item);return(o,i)=>(T(),S("div",Ec,[F("a",vs({class:"item"},C(s)),[zt(be(e.item.text)+" ",1),C(r)?(T(),ge($s,{key:0})):J("",!0)],16)]))}});var _n=ce(kc,[["__scopeId","data-v-b8818f8c"]]);const Tc={key:0,class:"home-hero"},Pc={key:0,class:"figure"},Lc=["src","alt"],Ac={key:1,id:"main-title",class:"title"},Ic={key:2,class:"tagline"},Oc=ie({setup(e){const{site:t,frontmatter:n}=me(),s=j(()=>{const{heroImage:i,heroText:l,tagline:c,actionLink:f,actionText:h}=n.value;return i||l||c||f&&h}),r=j(()=>n.value.heroText||t.value.title),o=j(()=>n.value.tagline||t.value.description);return(i,l)=>C(s)?(T(),S("header",Tc,[C(n).heroImage?(T(),S("figure",Pc,[F("img",{class:"image",src:C(yt)(C(n).heroImage),alt:C(n).heroAlt},null,8,Lc)])):J("",!0),C(r)?(T(),S("h1",Ac,be(C(r)),1)):J("",!0),C(o)?(T(),S("p",Ic,be(C(o)),1)):J("",!0),C(n).actionLink&&C(n).actionText?(T(),ge(_n,{key:3,item:{link:C(n).actionLink,text:C(n).actionText},class:"action"},null,8,["item"])):J("",!0),C(n).altActionLink&&C(n).altActionText?(T(),ge(_n,{key:4,item:{link:C(n).altActionLink,text:C(n).altActionText},class:"action alt"},null,8,["item"])):J("",!0)])):J("",!0)}});var Mc=ce(Oc,[["__scopeId","data-v-370f18c0"]]);const Rc={key:0,class:"home-features"},Sc={class:"wrapper"},Fc={class:"container"},Nc={class:"features"},Hc={key:0,class:"title"},Uc={key:1,class:"details"},Bc=ie({setup(e){const{frontmatter:t}=me(),n=j(()=>t.value.features&&t.value.features.length>0),s=j(()=>t.value.features?t.value.features:[]);return(r,o)=>C(n)?(T(),S("div",Rc,[F("div",Sc,[F("div",Fc,[F("div",Nc,[(T(!0),S(fe,null,Ln(C(s),(i,l)=>(T(),S("section",{key:l,class:"feature"},[i.title?(T(),S("h2",Hc,be(i.title),1)):J("",!0),i.details?(T(),S("p",Uc,be(i.details),1)):J("",!0)]))),128))])])])])):J("",!0)}});var jc=ce(Bc,[["__scopeId","data-v-e39c13e0"]]);const Dc={key:0,class:"footer"},Kc={class:"container"},Wc={class:"text"},qc=ie({setup(e){const{frontmatter:t}=me();return(n,s)=>C(t).footer?(T(),S("footer",Dc,[F("div",Kc,[F("p",Wc,be(C(t).footer),1)])])):J("",!0)}});var zc=ce(qc,[["__scopeId","data-v-30918238"]]);const Vc={class:"home","aria-labelledby":"main-title"},Jc={class:"home-content"},Yc=ie({setup(e){return(t,n)=>{const s=an("Content");return T(),S("main",Vc,[H(Mc),ue(t.$slots,"hero",{},void 0,!0),H(jc),F("div",Jc,[H(s)]),ue(t.$slots,"features",{},void 0,!0),H(zc),ue(t.$slots,"footer",{},void 0,!0)])}}});var Xc=ce(Yc,[["__scopeId","data-v-10122c92"]]);const Zc=["href","aria-label"],Qc=["src"],Gc=ie({setup(e){const{site:t,theme:n,localePath:s}=me();return(r,o)=>(T(),S("a",{class:"nav-bar-title",href:C(s),"aria-label":`${C(t).title}, back to home`},[C(n).logo?(T(),S("img",{key:0,class:"logo",src:C(yt)(C(n).logo),alt:"Logo"},null,8,Qc)):J("",!0),zt(" "+be(C(t).title),1)],8,Zc))}});var eu=ce(Gc,[["__scopeId","data-v-cc01ef16"]]);function tu(){const{site:e,localePath:t,theme:n}=me();return j(()=>{const s=e.value.langs,r=Object.keys(s);if(r.length<2)return null;const i=et().path.replace(t.value,""),l=r.map(f=>({text:s[f].label,link:`${f}${i}`}));return{text:n.value.selectText||"Languages",items:l}})}const nu=["GitHub","GitLab","Bitbucket"].map(e=>[e,new RegExp(e,"i")]);function su(){const{site:e}=me();return j(()=>{const t=e.value.themeConfig,n=t.docsRepo||t.repo;if(!n)return null;const s=ru(n);return{text:ou(s,t.repoLabel),link:s}})}function ru(e){return ho.test(e)?e:`https://github.com/${e}`}function ou(e,t){if(t)return t;const n=e.match(/^https?:\/\/[^/]+/);if(!n)return"Source";const s=nu.find(([r,o])=>o.test(n[0]));return s&&s[0]?s[0]:"Source"}const iu=e=>(Dr("data-v-bbc27490"),e=e(),Kr(),e),lu={class:"nav-dropdown-link-item"},cu=iu(()=>F("span",{class:"arrow"},null,-1)),uu={class:"text"},au={class:"icon"},fu=ie({props:{item:null},setup(e){const n=Rr(e),{props:s,isExternal:r}=yo(n.item);return(o,i)=>(T(),S("div",lu,[F("a",vs({class:"item"},C(s)),[cu,F("span",uu,be(e.item.text),1),F("span",au,[C(r)?(T(),ge($s,{key:0})):J("",!0)])],16)]))}});var du=ce(fu,[["__scopeId","data-v-bbc27490"]]);const hu=["aria-label"],pu={class:"button-text"},_u={class:"dialog"},gu=ie({props:{item:null},setup(e){const t=et(),n=wn(!1);ot(()=>t.path,()=>{n.value=!1});function s(){n.value=!n.value}return(r,o)=>(T(),S("div",{class:ct(["nav-dropdown-link",{open:n.value}])},[F("button",{class:"button","aria-label":e.item.ariaLabel,onClick:s},[F("span",pu,be(e.item.text),1),F("span",{class:ct(["button-arrow",n.value?"down":"right"])},null,2)],8,hu),F("ul",_u,[(T(!0),S(fe,null,Ln(e.item.items,i=>(T(),S("li",{key:i.text,class:"dialog-item"},[H(du,{item:i},null,8,["item"])]))),128))])],2))}});var cr=ce(gu,[["__scopeId","data-v-56bf3a3f"]]);const mu={key:0,class:"nav-links"},vu={key:1,class:"item"},bu={key:2,class:"item"},yu=ie({setup(e){const{theme:t}=me(),n=tu(),s=su(),r=j(()=>t.value.nav||s.value||n.value);return(o,i)=>C(r)?(T(),S("nav",mu,[C(t).nav?(T(!0),S(fe,{key:0},Ln(C(t).nav,l=>(T(),S("div",{key:l.text,class:"item"},[l.items?(T(),ge(cr,{key:0,item:l},null,8,["item"])):(T(),ge(_n,{key:1,item:l},null,8,["item"]))]))),128)):J("",!0),C(n)?(T(),S("div",vu,[H(cr,{item:C(n)},null,8,["item"])])):J("",!0),C(s)?(T(),S("div",bu,[H(_n,{item:C(s)},null,8,["item"])])):J("",!0)])):J("",!0)}});var xo=ce(yu,[["__scopeId","data-v-eab3edfe"]]);const xu={emits:["toggle"]},wu=F("svg",{class:"icon",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",viewBox:"0 0 448 512"},[F("path",{fill:"currentColor",d:"M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z",class:""})],-1),$u=[wu];function Cu(e,t,n,s,r,o){return T(),S("div",{class:"sidebar-button",onClick:t[0]||(t[0]=i=>e.$emit("toggle"))},$u)}var Eu=ce(xu,[["render",Cu]]);const ku=e=>(Dr("data-v-675d8756"),e=e(),Kr(),e),Tu={class:"nav-bar"},Pu=ku(()=>F("div",{class:"flex-grow"},null,-1)),Lu={class:"nav"},Au=ie({emits:["toggle"],setup(e){return(t,n)=>(T(),S("header",Tu,[H(Eu,{onToggle:n[0]||(n[0]=s=>t.$emit("toggle"))}),H(eu),Pu,F("div",Lu,[H(xo)]),ue(t.$slots,"search",{},void 0,!0)]))}});var Iu=ce(Au,[["__scopeId","data-v-675d8756"]]);function Ou(){let e=null,t=null;const n=Nu(s,300);function s(){const i=Mu(),l=Ru(i);for(let c=0;c ul > li");l&&l!==t.parentElement?(e=l.querySelector("a"),e&&e.classList.add("active")):e=null}function o(i){i&&i.classList.remove("active")}Ct(()=>{s(),window.addEventListener("scroll",n)}),Yr(()=>{r(decodeURIComponent(location.hash))}),Tn(()=>{window.removeEventListener("scroll",n)})}function Mu(){return[].slice.call(document.querySelectorAll(".sidebar a.sidebar-link-item"))}function Ru(e){return[].slice.call(document.querySelectorAll(".header-anchor")).filter(t=>e.some(n=>n.hash===t.hash))}function Su(){return document.querySelector(".nav-bar").offsetHeight}function ur(e){const t=Su();return e.parentElement.offsetTop-t-15}function Fu(e,t,n){const s=window.scrollY;return e===0&&s===0?[!0,null]:s{n&&clearTimeout(n),s?n=setTimeout(e,t):(e(),s=!0,setTimeout(()=>{s=!1},t))}}function Hu(){const e=et(),{site:t}=me();return Ou(),j(()=>{const n=e.data.headers,s=e.data.frontmatter.sidebar,r=e.data.frontmatter.sidebarDepth;if(s===!1)return[];if(s==="auto")return ar(n,r);const o=ws(t.value.themeConfig.sidebar,e.data.relativePath);return o===!1?[]:o==="auto"?ar(n,r):o})}function ar(e,t){const n=[];if(e===void 0)return[];let s;return e.forEach(({level:r,title:o,slug:i})=>{if(r-1>t)return;const l={text:o,link:`#${i}`};r===2?(s=l,n.push(l)):s&&(s.children||(s.children=[])).push(l)}),n}const wo=e=>{const t=et(),{site:n,frontmatter:s}=me(),r=e.depth||1,o=s.value.sidebarDepth||1/0,i=t.data.headers,l=e.item.text,c=Uu(n.value.base,e.item.link),f=e.item.children,h=pc(t,e.item.link),g=r0?ut("ul",{class:"sidebar-links"},t.map(r=>ut(wo,{item:r,depth:s}))):e&&n?$o(!1,Bu(n),void 0,s):null}function Bu(e){return Co(ju(e))}function ju(e){e=e.map(n=>Object.assign({},n));let t;return e.forEach(n=>{n.level===2?t=n:t&&(t.children||(t.children=[])).push(n)}),e.filter(n=>n.level===2)}function Co(e){return e.map(t=>({text:t.title,link:`#${t.slug}`,children:t.children?Co(t.children):void 0}))}const Du={key:0,class:"sidebar-links"},Ku=ie({setup(e){const t=Hu();return(n,s)=>C(t).length>0?(T(),S("ul",Du,[(T(!0),S(fe,null,Ln(C(t),r=>(T(),ge(C(wo),{item:r},null,8,["item"]))),256))])):J("",!0)}});const Wu=ie({props:{open:{type:Boolean}},setup(e){return(t,n)=>(T(),S("aside",{class:ct(["sidebar",{open:e.open}])},[H(xo,{class:"nav"}),ue(t.$slots,"sidebar-top",{},void 0,!0),H(Ku),ue(t.$slots,"sidebar-bottom",{},void 0,!0)],2))}});var qu=ce(Wu,[["__scopeId","data-v-83e92a68"]]);const zu=/bitbucket.org/;function Vu(){const{page:e,theme:t,frontmatter:n}=me(),s=j(()=>{const{repo:o,docsDir:i="",docsBranch:l="master",docsRepo:c=o,editLinks:f}=t.value,h=n.value.editLink!=null?n.value.editLink:f,{relativePath:g}=e.value;return!h||!g||!o?null:Ju(o,c,i,l,g)}),r=j(()=>t.value.editLinkText||"Edit this page");return{url:s,text:r}}function Ju(e,t,n,s,r){return zu.test(e)?Xu(e,t,n,s,r):Yu(e,t,n,s,r)}function Yu(e,t,n,s,r){return(xs(t)?t:`https://github.com/${t}`).replace(pn,"")+`/edit/${s}/`+(n?n.replace(pn,"")+"/":"")+r}function Xu(e,t,n,s,r){return(xs(t)?t:e).replace(pn,"")+`/src/${s}/`+(n?n.replace(pn,"")+"/":"")+r+`?mode=edit&spa=0&at=${s}&fileviewer=file-view-default`}const Zu={class:"edit-link"},Qu=["href"],Gu=ie({setup(e){const{url:t,text:n}=Vu();return(s,r)=>(T(),S("div",Zu,[C(t)?(T(),S("a",{key:0,class:"link",href:C(t),target:"_blank",rel:"noopener noreferrer"},[zt(be(C(n))+" ",1),H($s,{class:"icon"})],8,Qu)):J("",!0)]))}});var ea=ce(Gu,[["__scopeId","data-v-1ed99556"]]);const ta={key:0,class:"last-updated"},na={class:"prefix"},sa={class:"datetime"},ra=ie({setup(e){const{theme:t,page:n}=me(),s=j(()=>{const i=t.value.lastUpdated;return i!==void 0&&i!==!1&&n.value.lastUpdated!==0}),r=j(()=>{const i=t.value.lastUpdated;return i===!0?"Last Updated":i}),o=wn("");return Ct(()=>{qr(()=>{o.value=new Date(n.value.lastUpdated).toLocaleString("en-US")})}),(i,l)=>C(s)?(T(),S("p",ta,[F("span",na,be(C(r))+":",1),F("span",sa,be(o.value),1)])):J("",!0)}});var oa=ce(ra,[["__scopeId","data-v-abce3432"]]);const ia={class:"page-footer"},la={class:"edit"},ca={class:"updated"},ua=ie({setup(e){const{page:t}=me();return(n,s)=>(T(),S("footer",ia,[F("div",la,[H(ea)]),F("div",ca,[C(t).lastUpdated?(T(),ge(oa,{key:0})):J("",!0)])]))}});var aa=ce(ua,[["__scopeId","data-v-07c132fc"]]);function fa(){const{page:e,theme:t}=me(),n=j(()=>vo(Gn(e.value.relativePath))),s=j(()=>{const c=ws(t.value.sidebar,n.value);return ys(c)?bo(c):[]}),r=j(()=>s.value.findIndex(c=>c.link===n.value)),o=j(()=>{if(t.value.nextLinks!==!1&&r.value>-1&&r.value{if(t.value.prevLinks!==!1&&r.value>0)return s.value[r.value-1]}),l=j(()=>!!o.value||!!i.value);return{next:o,prev:i,hasLinks:l}}const da={},ha={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},pa=F("path",{d:"M19,11H7.4l5.3-5.3c0.4-0.4,0.4-1,0-1.4s-1-0.4-1.4,0l-7,7c-0.1,0.1-0.2,0.2-0.2,0.3c-0.1,0.2-0.1,0.5,0,0.8c0.1,0.1,0.1,0.2,0.2,0.3l7,7c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3c0.4-0.4,0.4-1,0-1.4L7.4,13H19c0.6,0,1-0.4,1-1S19.6,11,19,11z"},null,-1),_a=[pa];function ga(e,t){return T(),S("svg",ha,_a)}var ma=ce(da,[["render",ga]]);const va={},ba={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},ya=F("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),xa=[ya];function wa(e,t){return T(),S("svg",ba,xa)}var $a=ce(va,[["render",wa]]);const Ca={key:0,class:"next-and-prev-link"},Ea={class:"container"},ka={class:"prev"},Ta=["href"],Pa={class:"text"},La={class:"next"},Aa=["href"],Ia={class:"text"},Oa=ie({setup(e){const{hasLinks:t,prev:n,next:s}=fa();return(r,o)=>C(t)?(T(),S("div",Ca,[F("div",Ea,[F("div",ka,[C(n)?(T(),S("a",{key:0,class:"link",href:C(yt)(C(n).link)},[H(ma,{class:"icon icon-prev"}),F("span",Pa,be(C(n).text),1)],8,Ta)):J("",!0)]),F("div",La,[C(s)?(T(),S("a",{key:0,class:"link",href:C(yt)(C(s).link)},[F("span",Ia,be(C(s).text),1),H($a,{class:"icon icon-next"})],8,Aa)):J("",!0)])])])):J("",!0)}});var Ma=ce(Oa,[["__scopeId","data-v-38ede35f"]]);const Ra={class:"page"},Sa={class:"container"},Fa=ie({setup(e){return(t,n)=>{const s=an("Content");return T(),S("main",Ra,[F("div",Sa,[ue(t.$slots,"top",{},void 0,!0),H(s,{class:"content"}),H(aa),H(Ma),ue(t.$slots,"bottom",{},void 0,!0)])])}}});var Na=ce(Fa,[["__scopeId","data-v-7eddb2c4"]]);const Ha={key:0,id:"ads-container"},Ua=ie({setup(e){const t=()=>null,n=t,s=t,r=t,o=et(),{site:i,page:l,theme:c,frontmatter:f}=me(),h=j(()=>!!f.value.customLayout),g=j(()=>!!f.value.home),x=j(()=>Object.keys(i.value.langs).length>1),P=j(()=>{const I=c.value;return f.value.navbar===!1||I.navbar===!1?!1:i.value.title||I.logo||I.repo||I.nav}),M=wn(!1),V=j(()=>f.value.home||f.value.sidebar===!1?!1:!vc(ws(c.value.sidebar,o.data.relativePath))),m=I=>{M.value=typeof I=="boolean"?I:!M.value},w=m.bind(null,!1);ot(o,w);const W=j(()=>[{"no-navbar":!P.value,"sidebar-open":M.value,"no-sidebar":!V.value}]);return(I,U)=>{const X=an("Content"),Z=an("Debug");return T(),S(fe,null,[F("div",{class:ct(["theme",C(W)])},[C(P)?(T(),ge(Iu,{key:0,onToggle:m},{search:je(()=>[ue(I.$slots,"navbar-search",{},()=>[C(c).algolia?(T(),ge(C(r),{key:0,options:C(c).algolia,multilang:C(x)},null,8,["options","multilang"])):J("",!0)])]),_:3})):J("",!0),H(qu,{open:M.value},{"sidebar-top":je(()=>[ue(I.$slots,"sidebar-top")]),"sidebar-bottom":je(()=>[ue(I.$slots,"sidebar-bottom")]),_:3},8,["open"]),F("div",{class:"sidebar-mask",onClick:U[0]||(U[0]=B=>m(!1))}),C(h)?(T(),ge(X,{key:1})):C(g)?ue(I.$slots,"home",{key:2},()=>[H(Xc,null,{hero:je(()=>[ue(I.$slots,"home-hero")]),features:je(()=>[ue(I.$slots,"home-features")]),footer:je(()=>[ue(I.$slots,"home-footer")]),_:3})]):(T(),ge(Na,{key:3},{top:je(()=>[ue(I.$slots,"page-top-ads",{},()=>[C(c).carbonAds&&C(c).carbonAds.carbon?(T(),S("div",Ha,[(T(),ge(C(n),{key:"carbon"+C(l).relativePath,code:C(c).carbonAds.carbon,placement:C(c).carbonAds.placement},null,8,["code","placement"]))])):J("",!0)]),ue(I.$slots,"page-top")]),bottom:je(()=>[ue(I.$slots,"page-bottom"),ue(I.$slots,"page-bottom-ads",{},()=>[C(c).carbonAds&&C(c).carbonAds.custom?(T(),ge(C(s),{key:"custom"+C(l).relativePath,code:C(c).carbonAds.custom,placement:C(c).carbonAds.placement},null,8,["code","placement"])):J("",!0)])]),_:3}))],2),H(Z)],64)}}}),Ba={class:"theme"},ja=F("h1",null,"404",-1),Da=["href"],Ka=ie({setup(e){const{site:t}=me(),n=["There's nothing here.","How did we get here?","That's a Four-Oh-Four.","Looks like we've got some broken links."];function s(){return n[Math.floor(Math.random()*n.length)]}return(r,o)=>(T(),S("div",Ba,[ja,F("blockquote",null,be(s()),1),F("a",{href:C(t).base,"aria-label":"go to home"},"Take me home.",8,Da)]))}}),gn={Layout:Ua,NotFound:Ka},Bn=new Set,Eo=()=>document.createElement("link"),Wa=e=>{const t=Eo();t.rel="prefetch",t.href=e,document.head.appendChild(t)},qa=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let tn;const za=Oe&&(tn=Eo())&&tn.relList&&tn.relList.supports&&tn.relList.supports("prefetch")?Wa:qa;function Va(){if(!Oe||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(o=>{o.forEach(i=>{if(i.isIntersecting){const l=i.target;n.unobserve(l);const{pathname:c}=l;if(!Bn.has(c)){Bn.add(c);const f=_o(c);za(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(o=>{const{target:i,hostname:l,pathname:c}=o,f=c.match(/\.\w+$/);f&&f[0]!==".html"||i!=="_blank"&&l===location.hostname&&(c!==location.pathname?n.observe(o):Bn.add(c))})})};Ct(s);const r=et();ot(()=>r.path,s),Tn(()=>{n&&n.disconnect()})}const Ja=ie({setup(e,{slots:t}){const n=wn(!1);return Ct(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}}),Ya=gn.NotFound||(()=>"404 Not Found"),Xa={name:"VitePressApp",setup(){const{site:e}=me();return Ct(()=>{ot(()=>e.value.lang,t=>{document.documentElement.lang=t},{immediate:!0})}),Va(),()=>ut(gn.Layout)}};function Za(){const e=Ga(),t=Qa();t.provide(go,e);const n=nc(e.route);return t.provide(po,n),t.component("Content",ac),t.component("ClientOnly",Ja),t.component("Debug",()=>null),Object.defineProperty(t.config.globalProperties,"$frontmatter",{get(){return n.frontmatter.value}}),gn.enhanceApp&&gn.enhanceApp({app:t,router:e,siteData:Vt}),{app:t,router:e,data:n}}function Qa(){return Jl(Xa)}function Ga(){let e=Oe,t;return oc(n=>{let s=_o(n);return e&&(t=s),(e||t===s)&&(s=s.replace(/\.js$/,".lean.js")),Oe?(e=!1,Ao(()=>import(s),[])):require(s)},Ya)}if(Oe){const{app:e,router:t,data:n}=Za();t.go().then(()=>{lc(t.route,n.site),e.mount("#app")})}export{ce as _,F as a,zt as b,S as c,Za as createApp,ef as d,T as o}; diff --git a/assets/case_case1.md.61133273.js b/assets/case_case1.md.61133273.js deleted file mode 100644 index 9b566a7035..0000000000 --- a/assets/case_case1.md.61133273.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as r,a as e,b as s}from"./app.37329957.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md"}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/one-click-installation-script",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/one-click-installation-script")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function l(d,p,_,h,f,u){return r(),a("div",null,i)}var k=t(o,[["render",l]]);export{b as __pageData,k as default}; diff --git a/assets/case_case1.md.61133273.lean.js b/assets/case_case1.md.61133273.lean.js deleted file mode 100644 index 9b566a7035..0000000000 --- a/assets/case_case1.md.61133273.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as r,a as e,b as s}from"./app.37329957.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md"}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/one-click-installation-script",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/one-click-installation-script")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function l(d,p,_,h,f,u){return r(),a("div",null,i)}var k=t(o,[["render",l]]);export{b as __pageData,k as default}; diff --git a/assets/case_case1.md.740de63c.js b/assets/case_case1.md.740de63c.js new file mode 100644 index 0000000000..882c7e2847 --- /dev/null +++ b/assets/case_case1.md.740de63c.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,a as e,b as s}from"./app.005aa5c6.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","lastUpdated":1687011015000}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/one-click-installation-script",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/one-click-installation-script")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function d(l,p,_,h,f,u){return r(),a("div",null,i)}var k=t(o,[["render",d]]);export{b as __pageData,k as default}; diff --git a/assets/case_case1.md.740de63c.lean.js b/assets/case_case1.md.740de63c.lean.js new file mode 100644 index 0000000000..882c7e2847 --- /dev/null +++ b/assets/case_case1.md.740de63c.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,a as e,b as s}from"./app.005aa5c6.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","lastUpdated":1687011015000}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/one-click-installation-script",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/one-click-installation-script")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function d(l,p,_,h,f,u){return r(),a("div",null,i)}var k=t(o,[["render",d]]);export{b as __pageData,k as default}; diff --git a/assets/case_case2.md.0b0ee127.js b/assets/case_case2.md.0b0ee127.js new file mode 100644 index 0000000000..c31e581dc1 --- /dev/null +++ b/assets/case_case2.md.0b0ee127.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,a as e,b as s}from"./app.005aa5c6.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md","lastUpdated":1687011015000}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/ecs",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/ecs")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function d(_,p,h,l,f,u){return r(),a("div",null,i)}var x=t(o,[["render",d]]);export{b as __pageData,x as default}; diff --git a/assets/case_case2.md.0b0ee127.lean.js b/assets/case_case2.md.0b0ee127.lean.js new file mode 100644 index 0000000000..c31e581dc1 --- /dev/null +++ b/assets/case_case2.md.0b0ee127.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,a as e,b as s}from"./app.005aa5c6.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md","lastUpdated":1687011015000}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/ecs",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/ecs")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function d(_,p,h,l,f,u){return r(),a("div",null,i)}var x=t(o,[["render",d]]);export{b as __pageData,x as default}; diff --git a/assets/case_case2.md.c284e629.js b/assets/case_case2.md.c284e629.js deleted file mode 100644 index 61f29fdca2..0000000000 --- a/assets/case_case2.md.c284e629.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as r,a as e,b as s}from"./app.37329957.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md"}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/ecs",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/ecs")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function d(_,h,p,l,f,u){return r(),a("div",null,i)}var x=t(o,[["render",d]]);export{b as __pageData,x as default}; diff --git a/assets/case_case2.md.c284e629.lean.js b/assets/case_case2.md.c284e629.lean.js deleted file mode 100644 index 61f29fdca2..0000000000 --- a/assets/case_case2.md.c284e629.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as r,a as e,b as s}from"./app.37329957.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md"}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/ecs",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/ecs")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function d(_,h,p,l,f,u){return r(),a("div",null,i)}var x=t(o,[["render",d]]);export{b as __pageData,x as default}; diff --git a/assets/case_case3.md.c9037ace.js b/assets/case_case3.md.c9037ace.js deleted file mode 100644 index 76c0815637..0000000000 --- a/assets/case_case3.md.c9037ace.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as s,a as e,b as r}from"./app.37329957.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case3.md"}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/ecsspeed",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/ecsspeed")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[r("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function d(p,_,h,l,f,u){return s(),a("div",null,i)}var x=t(o,[["render",d]]);export{b as __pageData,x as default}; diff --git a/assets/case_case3.md.c9037ace.lean.js b/assets/case_case3.md.c9037ace.lean.js deleted file mode 100644 index 76c0815637..0000000000 --- a/assets/case_case3.md.c9037ace.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as s,a as e,b as r}from"./app.37329957.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case3.md"}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/ecsspeed",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/ecsspeed")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[r("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function d(p,_,h,l,f,u){return s(),a("div",null,i)}var x=t(o,[["render",d]]);export{b as __pageData,x as default}; diff --git a/assets/case_case3.md.e62edb3f.js b/assets/case_case3.md.e62edb3f.js new file mode 100644 index 0000000000..466ac3296d --- /dev/null +++ b/assets/case_case3.md.e62edb3f.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as s,a as e,b as r}from"./app.005aa5c6.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case3.md","lastUpdated":1687011015000}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/ecsspeed",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/ecsspeed")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[r("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),d=[c,n];function i(p,_,h,l,f,u){return s(),a("div",null,d)}var x=t(o,[["render",i]]);export{b as __pageData,x as default}; diff --git a/assets/case_case3.md.e62edb3f.lean.js b/assets/case_case3.md.e62edb3f.lean.js new file mode 100644 index 0000000000..466ac3296d --- /dev/null +++ b/assets/case_case3.md.e62edb3f.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as s,a as e,b as r}from"./app.005aa5c6.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case3.md","lastUpdated":1687011015000}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/ecsspeed",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/ecsspeed")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[r("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),d=[c,n];function i(p,_,h,l,f,u){return s(),a("div",null,d)}var x=t(o,[["render",i]]);export{b as __pageData,x as default}; diff --git a/assets/case_case4.md.5a01526f.js b/assets/case_case4.md.5a01526f.js new file mode 100644 index 0000000000..3a5c23d4bd --- /dev/null +++ b/assets/case_case4.md.5a01526f.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,a as e,b as s}from"./app.005aa5c6.js";const v='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","lastUpdated":1687011015000}',c={},o=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/Oracle-server-keep-alive-script",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/Oracle-server-keep-alive-script")],-1),i=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),n=[o,i];function p(d,l,_,h,f,u){return r(),a("div",null,n)}var b=t(c,[["render",p]]);export{v as __pageData,b as default}; diff --git a/assets/case_case4.md.5a01526f.lean.js b/assets/case_case4.md.5a01526f.lean.js new file mode 100644 index 0000000000..3a5c23d4bd --- /dev/null +++ b/assets/case_case4.md.5a01526f.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,a as e,b as s}from"./app.005aa5c6.js";const v='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","lastUpdated":1687011015000}',c={},o=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/Oracle-server-keep-alive-script",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/Oracle-server-keep-alive-script")],-1),i=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),n=[o,i];function p(d,l,_,h,f,u){return r(),a("div",null,n)}var b=t(c,[["render",p]]);export{v as __pageData,b as default}; diff --git a/assets/case_case4.md.b97ec17a.js b/assets/case_case4.md.b97ec17a.js deleted file mode 100644 index 20f9a860fd..0000000000 --- a/assets/case_case4.md.b97ec17a.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as r,o as a,a as e,b as s}from"./app.37329957.js";const v='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md"}',c={},o=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/Oracle-server-keep-alive-script",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/Oracle-server-keep-alive-script")],-1),i=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),n=[o,i];function p(d,_,l,h,f,u){return a(),r("div",null,n)}var b=t(c,[["render",p]]);export{v as __pageData,b as default}; diff --git a/assets/case_case4.md.b97ec17a.lean.js b/assets/case_case4.md.b97ec17a.lean.js deleted file mode 100644 index 20f9a860fd..0000000000 --- a/assets/case_case4.md.b97ec17a.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as r,o as a,a as e,b as s}from"./app.37329957.js";const v='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md"}',c={},o=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/Oracle-server-keep-alive-script",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/Oracle-server-keep-alive-script")],-1),i=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),n=[o,i];function p(d,_,l,h,f,u){return a(),r("div",null,n)}var b=t(c,[["render",p]]);export{v as __pageData,b as default}; diff --git a/assets/case_case5.md.2482cf7f.js b/assets/case_case5.md.2482cf7f.js deleted file mode 100644 index 58f66da59c..0000000000 --- a/assets/case_case5.md.2482cf7f.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as r,a as e,b as s}from"./app.37329957.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md"}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/convoypanel-scripts",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/convoypanel-scripts")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function p(d,_,h,l,f,u){return r(),a("div",null,i)}var v=t(o,[["render",p]]);export{b as __pageData,v as default}; diff --git a/assets/case_case5.md.2482cf7f.lean.js b/assets/case_case5.md.2482cf7f.lean.js deleted file mode 100644 index 58f66da59c..0000000000 --- a/assets/case_case5.md.2482cf7f.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,c as a,o as r,a as e,b as s}from"./app.37329957.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md"}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/convoypanel-scripts",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/convoypanel-scripts")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function p(d,_,h,l,f,u){return r(),a("div",null,i)}var v=t(o,[["render",p]]);export{b as __pageData,v as default}; diff --git a/assets/case_case5.md.d1aa4655.js b/assets/case_case5.md.d1aa4655.js new file mode 100644 index 0000000000..d5f2fed44c --- /dev/null +++ b/assets/case_case5.md.d1aa4655.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,a as e,b as s}from"./app.005aa5c6.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md","lastUpdated":1687011015000}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/convoypanel-scripts",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/convoypanel-scripts")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function p(d,_,h,l,f,u){return r(),a("div",null,i)}var v=t(o,[["render",p]]);export{b as __pageData,v as default}; diff --git a/assets/case_case5.md.d1aa4655.lean.js b/assets/case_case5.md.d1aa4655.lean.js new file mode 100644 index 0000000000..d5f2fed44c --- /dev/null +++ b/assets/case_case5.md.d1aa4655.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,o as r,a as e,b as s}from"./app.005aa5c6.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md","lastUpdated":1687011015000}',o={},c=e("p",null,[e("a",{href:"https://github.com/spiritLHLS/convoypanel-scripts",target:"_blank",rel:"noopener noreferrer"},"https://github.com/spiritLHLS/convoypanel-scripts")],-1),n=e("h1",{id:"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145",tabindex:"-1"},[s("\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145 "),e("a",{class:"header-anchor",href:"#\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","aria-hidden":"true"},"#")],-1),i=[c,n];function p(d,_,h,l,f,u){return r(),a("div",null,i)}var v=t(o,[["render",p]]);export{b as __pageData,v as default}; diff --git a/assets/case_index.md.172adcc5.js b/assets/case_index.md.85b85980.js similarity index 51% rename from assets/case_index.md.172adcc5.js rename to assets/case_index.md.85b85980.js index 66a716fda1..f1cca01f46 100644 --- a/assets/case_index.md.172adcc5.js +++ b/assets/case_index.md.85b85980.js @@ -1 +1 @@ -import{_ as a,c as s,o,a as e,b as t}from"./app.37329957.js";const x='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"Linux\u76F8\u5173\u9879\u76EE","tagline":"\u4E0ELinux\u76F8\u5173\u7684\u4E00\u4E9B\u9879\u76EE","actionText":"\u67E5\u770B\u9879\u76EE \u2192","actionLink":"/case/case1","features":[{"title":"\u6CE8\u610F\u4E8B\u9879","details":"\u6CE8\u610F\u6BCF\u4E2A\u9879\u76EE\u8BF4\u660E\uFF0C\u90E8\u5206\u9879\u76EE\u6709\u53EF\u80FD\u5BF9\u7CFB\u7EDF\u9020\u6210\u4E0D\u53EF\u4FEE\u590D\u7684\u9519\u8BEF\uFF0C\u9700\u8981\u91CD\u88C5\u7CFB\u7EDF\uFF0C\u8BF7\u4ED4\u7EC6\u67E5\u770B\u8BF4\u660E"}]},"headers":[],"relativePath":"case/index.md"}',n={},r=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=[r];function i(l,p,d,_,h,m){return o(),s("div",null,c)}var f=a(n,[["render",i]]);export{x as __pageData,f as default}; +import{_ as a,c as s,o,a as e,b as t}from"./app.005aa5c6.js";const x='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"Linux\u76F8\u5173\u9879\u76EE","tagline":"\u4E0ELinux\u76F8\u5173\u7684\u4E00\u4E9B\u9879\u76EE","actionText":"\u67E5\u770B\u9879\u76EE \u2192","actionLink":"/case/case1","features":[{"title":"\u6CE8\u610F\u4E8B\u9879","details":"\u6CE8\u610F\u6BCF\u4E2A\u9879\u76EE\u8BF4\u660E\uFF0C\u90E8\u5206\u9879\u76EE\u6709\u53EF\u80FD\u5BF9\u7CFB\u7EDF\u9020\u6210\u4E0D\u53EF\u4FEE\u590D\u7684\u9519\u8BEF\uFF0C\u9700\u8981\u91CD\u88C5\u7CFB\u7EDF\uFF0C\u8BF7\u4ED4\u7EC6\u67E5\u770B\u8BF4\u660E"}]},"headers":[],"relativePath":"case/index.md","lastUpdated":1687011015000}',n={},r=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=[r];function i(l,d,p,_,h,m){return o(),s("div",null,c)}var f=a(n,[["render",i]]);export{x as __pageData,f as default}; diff --git a/assets/case_index.md.172adcc5.lean.js b/assets/case_index.md.85b85980.lean.js similarity index 51% rename from assets/case_index.md.172adcc5.lean.js rename to assets/case_index.md.85b85980.lean.js index 66a716fda1..f1cca01f46 100644 --- a/assets/case_index.md.172adcc5.lean.js +++ b/assets/case_index.md.85b85980.lean.js @@ -1 +1 @@ -import{_ as a,c as s,o,a as e,b as t}from"./app.37329957.js";const x='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"Linux\u76F8\u5173\u9879\u76EE","tagline":"\u4E0ELinux\u76F8\u5173\u7684\u4E00\u4E9B\u9879\u76EE","actionText":"\u67E5\u770B\u9879\u76EE \u2192","actionLink":"/case/case1","features":[{"title":"\u6CE8\u610F\u4E8B\u9879","details":"\u6CE8\u610F\u6BCF\u4E2A\u9879\u76EE\u8BF4\u660E\uFF0C\u90E8\u5206\u9879\u76EE\u6709\u53EF\u80FD\u5BF9\u7CFB\u7EDF\u9020\u6210\u4E0D\u53EF\u4FEE\u590D\u7684\u9519\u8BEF\uFF0C\u9700\u8981\u91CD\u88C5\u7CFB\u7EDF\uFF0C\u8BF7\u4ED4\u7EC6\u67E5\u770B\u8BF4\u660E"}]},"headers":[],"relativePath":"case/index.md"}',n={},r=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=[r];function i(l,p,d,_,h,m){return o(),s("div",null,c)}var f=a(n,[["render",i]]);export{x as __pageData,f as default}; +import{_ as a,c as s,o,a as e,b as t}from"./app.005aa5c6.js";const x='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"Linux\u76F8\u5173\u9879\u76EE","tagline":"\u4E0ELinux\u76F8\u5173\u7684\u4E00\u4E9B\u9879\u76EE","actionText":"\u67E5\u770B\u9879\u76EE \u2192","actionLink":"/case/case1","features":[{"title":"\u6CE8\u610F\u4E8B\u9879","details":"\u6CE8\u610F\u6BCF\u4E2A\u9879\u76EE\u8BF4\u660E\uFF0C\u90E8\u5206\u9879\u76EE\u6709\u53EF\u80FD\u5BF9\u7CFB\u7EDF\u9020\u6210\u4E0D\u53EF\u4FEE\u590D\u7684\u9519\u8BEF\uFF0C\u9700\u8981\u91CD\u88C5\u7CFB\u7EDF\uFF0C\u8BF7\u4ED4\u7EC6\u67E5\u770B\u8BF4\u660E"}]},"headers":[],"relativePath":"case/index.md","lastUpdated":1687011015000}',n={},r=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=[r];function i(l,d,p,_,h,m){return o(),s("div",null,c)}var f=a(n,[["render",i]]);export{x as __pageData,f as default}; diff --git a/assets/chunks/AlgoliaSearchBox.c9a4bba4.js b/assets/chunks/AlgoliaSearchBox.c9a4bba4.js new file mode 100644 index 0000000000..5c294125fe --- /dev/null +++ b/assets/chunks/AlgoliaSearchBox.c9a4bba4.js @@ -0,0 +1,13 @@ +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.005aa5c6.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=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=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);n3)for(n=[n],a=3;a0?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;d3)for(n=[n],a=3;a=n.__.length&&n.__.push({}),n.__[e]}function Ft(e,t,n){var r=we(ce++,2);return r.t=e,r.__c||(r.__=[n?n(t):Qn(void 0,t),function(o){var a=r.t(r.__[0],o);r.__[0]!==a&&(r.__=[a,r.__[1]],r.__c.setState({}))}],r.__c=L),r.__}function Bt(e,t){var n=we(ce++,4);!E.__s&&Et(n.__H,t)&&(n.__=e,n.__H=t,L.__h.push(n))}function Le(e,t){var n=we(ce++,7);return Et(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function Lr(){ft.forEach(function(e){if(e.__P)try{e.__H.__h.forEach(qe),e.__H.__h.forEach(pt),e.__H.__h=[]}catch(t){e.__H.__h=[],E.__e(t,e.__v)}}),ft=[]}E.__b=function(e){L=null,Lt&&Lt(e)},E.__r=function(e){qt&&qt(e),ce=0;var t=(L=e.__c).__H;t&&(t.__h.forEach(qe),t.__h.forEach(pt),t.__h=[])},E.diffed=function(e){Mt&&Mt(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(ft.push(t)!==1&&Tt===E.requestAnimationFrame||((Tt=E.requestAnimationFrame)||function(n){var r,o=function(){clearTimeout(a),Vt&&cancelAnimationFrame(r),setTimeout(n)},a=setTimeout(o,100);Vt&&(r=requestAnimationFrame(o))})(Lr)),L=void 0},E.__c=function(e,t){t.some(function(n){try{n.__h.forEach(qe),n.__h=n.__h.filter(function(r){return!r.__||pt(r)})}catch(r){t.some(function(o){o.__h&&(o.__h=[])}),t=[],E.__e(r,n.__v)}}),Ht&&Ht(e,t)},E.unmount=function(e){Ut&&Ut(e);var t=e.__c;if(t&&t.__H)try{t.__H.__.forEach(qe)}catch(n){E.__e(n,t.__v)}};var Vt=typeof requestAnimationFrame=="function";function qe(e){var t=L;typeof e.__c=="function"&&e.__c(),L=t}function pt(e){var t=L;e.__c=e.__(),L=t}function Et(e,t){return!e||e.length!==t.length||t.some(function(n,r){return n!==e[r]})}function Qn(e,t){return typeof t=="function"?t(e):t}function Yn(e,t){for(var n in t)e[n]=t[n];return e}function mt(e,t){for(var n in e)if(n!=="__source"&&!(n in t))return!0;for(var r in t)if(r!=="__source"&&e[r]!==t[r])return!0;return!1}function dt(e){this.props=e}(dt.prototype=new B).isPureReactComponent=!0,dt.prototype.shouldComponentUpdate=function(e,t){return mt(this.props,e)||mt(this.state,t)};var zt=E.__b;E.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),zt&&zt(e)};var qr=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,Kt=function(e,t){return e==null?null:K(K(e).map(t))},Mr={map:Kt,forEach:Kt,count:function(e){return e?K(e).length:0},only:function(e){var t=K(e);if(t.length!==1)throw"Children.only";return t[0]},toArray:K},Hr=E.__e;function Me(){this.__u=0,this.t=null,this.__b=null}function Gn(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function ve(){this.u=null,this.o=null}E.__e=function(e,t,n){if(e.then){for(var r,o=t;o=o.__;)if((r=o.__c)&&r.__c)return t.__e==null&&(t.__e=n.__e,t.__k=n.__k),r.__c(e,t)}Hr(e,t,n)},(Me.prototype=new B).__c=function(e,t){var n=t.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var o=Gn(r.__v),a=!1,i=function(){a||(a=!0,n.componentWillUnmount=n.__c,o?o(u):u())};n.__c=n.componentWillUnmount,n.componentWillUnmount=function(){i(),n.__c&&n.__c()};var u=function(){if(!--r.__u){if(r.state.__e){var l=r.state.__e;r.__v.__k[0]=function d(m,p,v){return m&&(m.__v=null,m.__k=m.__k&&m.__k.map(function(h){return d(h,p,v)}),m.__c&&m.__c.__P===p&&(m.__e&&v.insertBefore(m.__e,m.__d),m.__c.__e=!0,m.__c.__P=v)),m}(l,l.__c.__P,l.__c.__O)}var c;for(r.setState({__e:r.__b=null});c=r.t.pop();)c.forceUpdate()}},s=t.__h===!0;r.__u++||s||r.setState({__e:r.__b=r.__v.__k[0]}),e.then(i,i)},Me.prototype.componentWillUnmount=function(){this.t=[]},Me.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function a(i,u,s){return i&&(i.__c&&i.__c.__H&&(i.__c.__H.__.forEach(function(l){typeof l.__c=="function"&&l.__c()}),i.__c.__H=null),(i=Yn({},i)).__c!=null&&(i.__c.__P===s&&(i.__c.__P=u),i.__c=null),i.__k=i.__k&&i.__k.map(function(l){return a(l,u,s)})),i}(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__e&&F(Q,null,e.fallback);return o&&(o.__h=null),[F(Q,null,t.__e?null:e.children),o]};var Wt=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&(e.props.revealOrder[0]!=="t"||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(r)}}),Ee(F(Ur,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function Zn(e,t){return F(Fr,{__v:e,i:t})}(ve.prototype=new B).__e=function(e){var t=this,n=Gn(t.__v),r=t.o.get(e);return r[0]++,function(o){var a=function(){t.props.revealOrder?(r.push(o),Wt(t,e,r)):o()};n?n(a):a()}},ve.prototype.render=function(e){this.u=null,this.o=new Map;var t=K(e.children);e.revealOrder&&e.revealOrder[0]==="b"&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},ve.prototype.componentDidUpdate=ve.prototype.componentDidMount=function(){var e=this;this.o.forEach(function(t,n){Wt(e,n,t)})};var Xn=typeof Symbol!="undefined"&&Symbol.for&&Symbol.for("react.element")||60103,Br=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Vr=function(e){return(typeof Symbol!="undefined"&&Oe(Symbol())=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(e)};function er(e,t,n){return t.__k==null&&(t.textContent=""),Ee(e,t),typeof n=="function"&&n(),e?e.__c:null}B.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(e){Object.defineProperty(B.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})});var Jt=E.event;function zr(){}function Kr(){return this.cancelBubble}function Wr(){return this.defaultPrevented}E.event=function(e){return Jt&&(e=Jt(e)),e.persist=zr,e.isPropagationStopped=Kr,e.isDefaultPrevented=Wr,e.nativeEvent=e};var tr,$t={configurable:!0,get:function(){return this.class}},Qt=E.vnode;E.vnode=function(e){var t=e.type,n=e.props,r=n;if(typeof t=="string"){for(var o in r={},n){var a=n[o];o==="value"&&"defaultValue"in n&&a==null||(o==="defaultValue"&&"value"in n&&n.value==null?o="value":o==="download"&&a===!0?a="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!Vr(n.type)?o="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():Br.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():a===null&&(a=void 0),r[o]=a)}t=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=K(n.children).forEach(function(i){i.props.selected=r.value.indexOf(i.props.value)!=-1})),t=="select"&&r.defaultValue!=null&&(r.value=K(n.children).forEach(function(i){i.props.selected=r.multiple?r.defaultValue.indexOf(i.props.value)!=-1:r.defaultValue==i.props.value})),e.props=r}t&&n.class!=n.className&&($t.enumerable="className"in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,"className",$t)),e.$$typeof=Xn,Qt&&Qt(e)};var Yt=E.__r;E.__r=function(e){Yt&&Yt(e),tr=e.__c};var Jr={ReactCurrentDispatcher:{current:{readContext:function(e){return tr.__n[e.__c].props.value}}}};(typeof performance=="undefined"?"undefined":Oe(performance))=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function Gt(e){return!!e&&e.$$typeof===Xn}var f={useState:function(e){return oe=1,Ft(Qn,e)},useReducer:Ft,useEffect:function(e,t){var n=we(ce++,3);!E.__s&&Et(n.__H,t)&&(n.__=e,n.__H=t,L.__H.__h.push(n))},useLayoutEffect:Bt,useRef:function(e){return oe=5,Le(function(){return{current:e}},[])},useImperativeHandle:function(e,t,n){oe=6,Bt(function(){typeof e=="function"?e(t()):e&&(e.current=t())},n==null?n:n.concat(e))},useMemo:Le,useCallback:function(e,t){return oe=8,Le(function(){return e},t)},useContext:function(e){var t=L.context[e.__c],n=we(ce++,9);return n.__c=e,t?(n.__==null&&(n.__=!0,t.sub(L)),t.props.value):e.__},useDebugValue:function(e,t){E.useDebugValue&&E.useDebugValue(t?t(e):e)},version:"16.8.0",Children:Mr,render:er,hydrate:function(e,t,n){return $n(e,t),typeof n=="function"&&n(),e?e.__c:null},unmountComponentAtNode:function(e){return!!e.__k&&(Ee(null,e),!0)},createPortal:Zn,createElement:F,createContext:function(e,t){var n={__c:t="__cC"+Hn++,__:e,Consumer:function(r,o){return r.children(o)},Provider:function(r){var o,a;return this.getChildContext||(o=[],(a={})[t]=this,this.getChildContext=function(){return a},this.shouldComponentUpdate=function(i){this.props.value!==i.value&&o.some(st)},this.sub=function(i){o.push(i);var u=i.componentWillUnmount;i.componentWillUnmount=function(){o.splice(o.indexOf(i),1),u&&u.call(i)}}),r.children}};return n.Provider.__=n.Consumer.contextType=n},createFactory:function(e){return F.bind(null,e)},cloneElement:function(e){return Gt(e)?Tr.apply(null,arguments):e},createRef:function(){return{current:null}},Fragment:Q,isValidElement:Gt,findDOMNode:function(e){return e&&(e.base||e.nodeType===1&&e)||null},Component:B,PureComponent:dt,memo:function(e,t){function n(o){var a=this.props.ref,i=a==o.ref;return!i&&a&&(a.call?a(null):a.current=null),t?!t(this.props,o)||!i:mt(this.props,o)}function r(o){return this.shouldComponentUpdate=n,F(e,o)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r},forwardRef:function(e){function t(n,r){var o=Yn({},n);return delete o.ref,e(o,(r=n.ref||r)&&(Oe(r)!="object"||"current"in r)?r:null)}return t.$$typeof=qr,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t},unstable_batchedUpdates:function(e,t){return e(t)},StrictMode:Q,Suspense:Me,SuspenseList:ve,lazy:function(e){var t,n,r;function o(a){if(t||(t=e()).then(function(i){n=i.default||i},function(i){r=i}),r)throw r;if(!n)throw t;return F(n,a)}return o.displayName="Lazy",o.__f=!0,o},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Jr};function $r(){return f.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},f.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function nr(){return f.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},f.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var Qr=["translations"];function ht(){return ht=Object.assign||function(e){for(var t=1;t=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Gr=f.forwardRef(function(e,t){var n=e.translations,r=n===void 0?{}:n,o=Yr(e,Qr),a=r.buttonText,i=a===void 0?"Search":a,u=r.buttonAriaLabel,s=u===void 0?"Search":u,l=Le(function(){return typeof navigator!="undefined"?/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?"\u2318":"Ctrl":null},[]);return f.createElement("button",ht({type:"button",className:"DocSearch DocSearch-Button","aria-label":s},o,{ref:t}),f.createElement("span",{className:"DocSearch-Button-Container"},f.createElement(nr,null),f.createElement("span",{className:"DocSearch-Button-Placeholder"},i)),f.createElement("span",{className:"DocSearch-Button-Keys"},l!==null&&f.createElement(f.Fragment,null,f.createElement("span",{className:"DocSearch-Button-Key"},l==="Ctrl"?f.createElement($r,null):l),f.createElement("span",{className:"DocSearch-Button-Key"},"K"))))});function je(e){return e.reduce(function(t,n){return t.concat(n)},[])}var Zr=0;function vt(e){return e.collections.length===0?0:e.collections.reduce(function(t,n){return t+n.items.length},0)}var Xr=function(){},eo=[{segment:"autocomplete-core",version:"1.5.2"}];function He(e,t){var n=t;return{then:function(r,o){return He(e.then(Ce(r,n,e),Ce(o,n,e)),n)},catch:function(r){return He(e.catch(Ce(r,n,e)),n)},finally:function(r){return r&&n.onCancelList.push(r),He(e.finally(Ce(r&&function(){return n.onCancelList=[],r()},n,e)),n)},cancel:function(){n.isCanceled=!0;var r=n.onCancelList;n.onCancelList=[],r.forEach(function(o){o()})},isCanceled:function(){return n.isCanceled===!0}}}function Zt(e){return He(e,{isCanceled:!1,onCancelList:[]})}function Ce(e,t,n){return e?function(r){return t.isCanceled?r:e(r)}:n}function Xt(e,t,n,r){if(!n)return null;if(e<0&&(t===null||r!==null&&t===0))return n+e;var o=(t===null?-1:t)+e;return o<=-1||o>=n?r===null?null:0:o}function en(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 to(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function no(e,t){var n=[];return Promise.resolve(e(t)).then(function(r){return Promise.all(r.filter(function(o){return Boolean(o)}).map(function(o){if(o.sourceId,n.includes(o.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(o.sourceId)," is not unique."));n.push(o.sourceId);var a=function(i){for(var u=1;ue.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var sn,ot,Re,de=null,fn=(sn=-1,ot=-1,Re=void 0,function(e){var t=++sn;return Promise.resolve(e).then(function(n){return Re&&t=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Oo=["props","refresh","store"],So=["inputElement","formElement","panelElement"],Eo=["inputElement"],wo=["inputElement","maxLength"],jo=["item","source"];function mn(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 T(e){for(var t=1;t=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Io(e){var t=e.props,n=e.refresh,r=e.store,o=he(e,Oo);return{getEnvironmentProps:function(a){var i=a.inputElement,u=a.formElement,s=a.panelElement;return T({onTouchStart:function(l){!r.getState().isOpen&&r.pendingRequests.isEmpty()||l.target===i||[u,s].some(function(c){return d=c,m=l.target,d===m||d.contains(m);var d,m})===!1&&(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())},onTouchMove:function(l){r.getState().isOpen!==!1&&i===t.environment.document.activeElement&&l.target!==i&&i.blur()}},he(a,So))},getRootProps:function(a){return T({role:"combobox","aria-expanded":r.getState().isOpen,"aria-haspopup":"listbox","aria-owns":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label")},a)},getFormProps:function(a){return a.inputElement,T({action:"",noValidate:!0,role:"search",onSubmit:function(i){var u;i.preventDefault(),t.onSubmit(T({event:i,refresh:n,state:r.getState()},o)),r.dispatch("submit",null),(u=a.inputElement)===null||u===void 0||u.blur()},onReset:function(i){var u;i.preventDefault(),t.onReset(T({event:i,refresh:n,state:r.getState()},o)),r.dispatch("reset",null),(u=a.inputElement)===null||u===void 0||u.focus()}},he(a,Eo))},getLabelProps:function(a){return T({htmlFor:"".concat(t.id,"-input"),id:"".concat(t.id,"-label")},a)},getInputProps:function(a){function i(p){(t.openOnFocus||Boolean(r.getState().query))&&re(T({event:p,props:t,query:r.getState().completion||r.getState().query,refresh:n,store:r},o)),r.dispatch("focus",null)}var u="ontouchstart"in t.environment,s=a||{},l=(s.inputElement,s.maxLength),c=l===void 0?512:l,d=he(s,wo),m=ae(r.getState());return T({"aria-autocomplete":"both","aria-activedescendant":r.getState().isOpen&&r.getState().activeItemId!==null?"".concat(t.id,"-item-").concat(r.getState().activeItemId):void 0,"aria-controls":r.getState().isOpen?"".concat(t.id,"-list"):void 0,"aria-labelledby":"".concat(t.id,"-label"),value:r.getState().completion||r.getState().query,id:"".concat(t.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:m!=null&&m.itemUrl?"go":"search",spellCheck:"false",autoFocus:t.autoFocus,placeholder:t.placeholder,maxLength:c,type:"search",onChange:function(p){re(T({event:p,props:t,query:p.currentTarget.value.slice(0,c),refresh:n,store:r},o))},onKeyDown:function(p){(function(v){var h=v.event,y=v.props,_=v.refresh,g=v.store,b=bo(v,_o);if(h.key==="ArrowUp"||h.key==="ArrowDown"){var O=function(){var R=y.environment.document.getElementById("".concat(y.id,"-item-").concat(g.getState().activeItemId));R&&(R.scrollIntoViewIfNeeded?R.scrollIntoViewIfNeeded(!1):R.scrollIntoView(!1))},S=function(){var R=ae(g.getState());if(g.getState().activeItemId!==null&&R){var Ge=R.item,Ze=R.itemInputValue,Pe=R.itemUrl,W=R.source;W.onActive(G({event:h,item:Ge,itemInputValue:Ze,itemUrl:Pe,refresh:_,source:W,state:g.getState()},b))}};h.preventDefault(),g.getState().isOpen===!1&&(y.openOnFocus||Boolean(g.getState().query))?re(G({event:h,props:y,query:g.getState().query,refresh:_,store:g},b)).then(function(){g.dispatch(h.key,{nextActiveItemId:y.defaultActiveItemId}),S(),setTimeout(O,0)}):(g.dispatch(h.key,{}),S(),O())}else if(h.key==="Escape")h.preventDefault(),g.dispatch(h.key,null),g.pendingRequests.cancelAll();else if(h.key==="Enter"){if(g.getState().activeItemId===null||g.getState().collections.every(function(R){return R.items.length===0}))return;h.preventDefault();var I=ae(g.getState()),D=I.item,A=I.itemInputValue,k=I.itemUrl,N=I.source;if(h.metaKey||h.ctrlKey)k!==void 0&&(N.onSelect(G({event:h,item:D,itemInputValue:A,itemUrl:k,refresh:_,source:N,state:g.getState()},b)),y.navigator.navigateNewTab({itemUrl:k,item:D,state:g.getState()}));else if(h.shiftKey)k!==void 0&&(N.onSelect(G({event:h,item:D,itemInputValue:A,itemUrl:k,refresh:_,source:N,state:g.getState()},b)),y.navigator.navigateNewWindow({itemUrl:k,item:D,state:g.getState()}));else if(!h.altKey){if(k!==void 0)return N.onSelect(G({event:h,item:D,itemInputValue:A,itemUrl:k,refresh:_,source:N,state:g.getState()},b)),void y.navigator.navigate({itemUrl:k,item:D,state:g.getState()});re(G({event:h,nextState:{isOpen:!1},props:y,query:A,refresh:_,store:g},b)).then(function(){N.onSelect(G({event:h,item:D,itemInputValue:A,itemUrl:k,refresh:_,source:N,state:g.getState()},b))})}}})(T({event:p,props:t,refresh:n,store:r},o))},onFocus:i,onBlur:function(){u||(r.dispatch("blur",null),t.debug||r.pendingRequests.cancelAll())},onClick:function(p){a.inputElement!==t.environment.document.activeElement||r.getState().isOpen||i(p)}},d)},getPanelProps:function(a){return T({onMouseDown:function(i){i.preventDefault()},onMouseLeave:function(){r.dispatch("mouseleave",null)}},a)},getListProps:function(a){return T({role:"listbox","aria-labelledby":"".concat(t.id,"-label"),id:"".concat(t.id,"-list")},a)},getItemProps:function(a){var i=a.item,u=a.source,s=he(a,jo);return T({id:"".concat(t.id,"-item-").concat(i.__autocomplete_id),role:"option","aria-selected":r.getState().activeItemId===i.__autocomplete_id,onMouseMove:function(l){if(i.__autocomplete_id!==r.getState().activeItemId){r.dispatch("mousemove",i.__autocomplete_id);var c=ae(r.getState());if(r.getState().activeItemId!==null&&c){var d=c.item,m=c.itemInputValue,p=c.itemUrl,v=c.source;v.onActive(T({event:l,item:d,itemInputValue:m,itemUrl:p,refresh:n,source:v,state:r.getState()},o))}}},onMouseDown:function(l){l.preventDefault()},onClick:function(l){var c=u.getItemInputValue({item:i,state:r.getState()}),d=u.getItemUrl({item:i,state:r.getState()});(d?Promise.resolve():re(T({event:l,nextState:{isOpen:!1},props:t,query:c,refresh:n,store:r},o))).then(function(){u.onSelect(T({event:l,item:i,itemInputValue:c,itemUrl:d,refresh:n,source:u,state:r.getState()},o))})}},s)}}}function dn(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 ko(e){for(var t=1;t0},reshape:function(m){return m.sources}},u),{},{id:(l=u.id)!==null&&l!==void 0?l:"autocomplete-".concat(Zr++),plugins:d,initialState:te({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},u.initialState),onStateChange:function(m){var p;(p=u.onStateChange)===null||p===void 0||p.call(u,m),d.forEach(function(v){var h;return(h=v.onStateChange)===null||h===void 0?void 0:h.call(v,m)})},onSubmit:function(m){var p;(p=u.onSubmit)===null||p===void 0||p.call(u,m),d.forEach(function(v){var h;return(h=v.onSubmit)===null||h===void 0?void 0:h.call(v,m)})},onReset:function(m){var p;(p=u.onReset)===null||p===void 0||p.call(u,m),d.forEach(function(v){var h;return(h=v.onReset)===null||h===void 0?void 0:h.call(v,m)})},getSources:function(m){return Promise.all([].concat(co(d.map(function(p){return p.getSources})),[u.getSources]).filter(Boolean).map(function(p){return no(p,m)})).then(function(p){return je(p)}).then(function(p){return p.map(function(v){return te(te({},v),{},{onSelect:function(h){v.onSelect(h),s.forEach(function(y){var _;return(_=y.onSelect)===null||_===void 0?void 0:_.call(y,h)})},onActive:function(h){v.onActive(h),s.forEach(function(y){var _;return(_=y.onActive)===null||_===void 0?void 0:_.call(y,h)})}})})})},navigator:te({navigate:function(m){var p=m.itemUrl;c.location.assign(p)},navigateNewTab:function(m){var p=m.itemUrl,v=c.open(p,"_blank","noopener");v==null||v.focus()},navigateNewWindow:function(m){var p=m.itemUrl;c.open(p,"_blank","noopener")}},u.navigator)})}(e,t),r=ao(xo,n,function(u){var s=u.prevState,l=u.state;n.onStateChange(Z({prevState:s,state:l,refresh:i},o))}),o=function(u){var s=u.store;return{setActiveItemId:function(l){s.dispatch("setActiveItemId",l)},setQuery:function(l){s.dispatch("setQuery",l)},setCollections:function(l){var c=0,d=l.map(function(m){return xe(xe({},m),{},{items:je(m.items).map(function(p){return xe(xe({},p),{},{__autocomplete_id:c++})})})});s.dispatch("setCollections",d)},setIsOpen:function(l){s.dispatch("setIsOpen",l)},setStatus:function(l){s.dispatch("setStatus",l)},setContext:function(l){s.dispatch("setContext",l)}}}({store:r}),a=Io(Z({props:n,refresh:i,store:r},o));function i(){return re(Z({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,query:r.getState().query,refresh:i,store:r},o))}return n.plugins.forEach(function(u){var s;return(s=u.subscribe)===null||s===void 0?void 0:s.call(u,Z(Z({},o),{},{refresh:i,onSelect:function(l){t.push({onSelect:l})},onActive:function(l){t.push({onActive:l})}}))}),function(u){var s,l=u.metadata,c=u.environment;if(!((s=c.navigator)===null||s===void 0)&&s.userAgent.includes("Algolia Crawler")){var d=c.document.createElement("meta"),m=c.document.querySelector("head");d.name="algolia:metadata",setTimeout(function(){d.content=JSON.stringify(l),m.appendChild(d)},0)}}({metadata:Co({plugins:n.plugins,options:e}),environment:n.environment}),Z(Z({refresh:i},a),o)}function Ro(e){var t=e.translations,n=(t===void 0?{}:t).searchByText,r=n===void 0?"Search by":n;return f.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},f.createElement("span",{className:"DocSearch-Label"},r),f.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img"},f.createElement("path",{d:"M2.5067 0h14.0245c1.384.001 2.5058 1.1205 2.5068 2.5017V16.5c-.0014 1.3808-1.1232 2.4995-2.5068 2.5H2.5067C1.1232 18.9995.0014 17.8808 0 16.5V2.4958A2.495 2.495 0 01.735.7294 2.505 2.505 0 012.5068 0zM37.95 15.0695c-3.7068.0168-3.7068-2.986-3.7068-3.4634L34.2372.3576 36.498 0v11.1794c0 .2715 0 1.9889 1.452 1.994v1.8961zm-9.1666-1.8388c.694 0 1.2086-.0397 1.5678-.1088v-2.2934a5.3639 5.3639 0 00-1.3303-.1679 4.8283 4.8283 0 00-.758.0582 2.2845 2.2845 0 00-.688.2024c-.2029.0979-.371.2362-.4919.4142-.1268.1788-.185.2826-.185.5533 0 .5297.185.8359.5205 1.0375.3355.2016.7928.3053 1.365.3053v-.0008zm-.1969-8.1817c.7463 0 1.3768.092 1.8856.2767.5088.1838.9195.4428 1.2204.7717.3068.334.5147.7777.6423 1.251.1327.4723.196.991.196 1.5603v5.798c-.5235.1036-1.05.192-1.5787.2649-.7048.1037-1.4976.156-2.3774.156-.5832 0-1.1215-.0582-1.6016-.167a3.385 3.385 0 01-1.2432-.5364 2.6034 2.6034 0 01-.8037-.9565c-.191-.3922-.29-.9447-.29-1.5208 0-.5533.11-.905.3246-1.2863a2.7351 2.7351 0 01.8849-.9329c.376-.242.8029-.415 1.2948-.5187a7.4517 7.4517 0 011.5381-.156 7.1162 7.1162 0 011.6667.2024V8.886c0-.259-.0296-.5061-.093-.7372a1.5847 1.5847 0 00-.3245-.6158 1.5079 1.5079 0 00-.6119-.4158 2.6788 2.6788 0 00-.966-.173c-.5206 0-.9948.0634-1.4283.1384a6.5481 6.5481 0 00-1.065.259l-.2712-1.849c.2831-.0986.7048-.1964 1.2491-.2943a9.2979 9.2979 0 011.752-.1501v.0008zm44.6597 8.1193c.6947 0 1.2086-.0405 1.567-.1097v-2.2942a5.3743 5.3743 0 00-1.3303-.1679c-.2485 0-.503.0177-.7573.0582a2.2853 2.2853 0 00-.688.2024 1.2333 1.2333 0 00-.4918.4142c-.1268.1788-.1843.2826-.1843.5533 0 .5297.1843.8359.5198 1.0375.3414.2066.7927.3053 1.365.3053v.0009zm-.191-8.1767c.7463 0 1.3768.0912 1.8856.2759.5087.1847.9195.4436 1.2204.7717.3.329.5147.7786.6414 1.251a5.7248 5.7248 0 01.197 1.562v5.7972c-.3466.0742-.874.1602-1.5788.2648-.7049.1038-1.4976.1552-2.3774.1552-.5832 0-1.1215-.0573-1.6016-.167a3.385 3.385 0 01-1.2432-.5356 2.6034 2.6034 0 01-.8038-.9565c-.191-.3922-.2898-.9447-.2898-1.5216 0-.5533.1098-.905.3245-1.2854a2.7373 2.7373 0 01.8849-.9338c.376-.2412.8029-.4141 1.2947-.5178a7.4545 7.4545 0 012.325-.1097c.2781.0287.5672.081.879.156v-.3686a2.7781 2.7781 0 00-.092-.738 1.5788 1.5788 0 00-.3246-.6166 1.5079 1.5079 0 00-.612-.415 2.6797 2.6797 0 00-.966-.1729c-.5205 0-.9947.0633-1.4282.1384a6.5608 6.5608 0 00-1.065.259l-.2712-1.8498c.283-.0979.7048-.1957 1.2491-.2935a9.8597 9.8597 0 011.752-.1494zm-6.79-1.072c-.7576.001-1.373-.6103-1.3759-1.3664 0-.755.6128-1.3664 1.376-1.3664.764 0 1.3775.6115 1.3775 1.3664s-.6195 1.3664-1.3776 1.3664zm1.1393 11.1507h-2.2726V5.3409l2.2734-.3568v10.0845l-.0008.0017zm-3.984 0c-3.707.0168-3.707-2.986-3.707-3.4642L59.7069.3576 61.9685 0v11.1794c0 .2715 0 1.9889 1.452 1.994V15.0703zm-7.3512-4.979c0-.975-.2138-1.7873-.6305-2.3516-.4167-.571-.9998-.852-1.747-.852-.7454 0-1.3302.281-1.7452.852-.4166.5702-.6195 1.3765-.6195 2.3516 0 .9851.208 1.6473.6254 2.2183.4158.576.9998.8587 1.7461.8587.7454 0 1.3303-.2885 1.747-.8595.4158-.5761.6237-1.2315.6237-2.2184v.0009zm2.3132-.006c0 .7609-.1099 1.3361-.3356 1.9654a4.654 4.654 0 01-.9533 1.6076A4.214 4.214 0 0155.613 14.69c-.579.2412-1.4697.3795-1.9143.3795-.4462-.005-1.3303-.1324-1.9033-.3795a4.307 4.307 0 01-1.474-1.0316c-.4115-.4445-.7293-.9801-.9609-1.6076a5.3423 5.3423 0 01-.3465-1.9653c0-.7608.104-1.493.3356-2.1155a4.683 4.683 0 01.9719-1.5958 4.3383 4.3383 0 011.479-1.0257c.5739-.242 1.2043-.3567 1.8864-.3567.6829 0 1.3125.1197 1.8906.3567a4.1245 4.1245 0 011.4816 1.0257 4.7587 4.7587 0 01.9592 1.5958c.2426.6225.3643 1.3547.3643 2.1155zm-17.0198 0c0 .9448.208 1.9932.6238 2.431.4166.4386.955.6579 1.6142.6579.3584 0 .6998-.0523 1.0176-.1502.3186-.0978.5721-.2134.775-.3517V7.0784a8.8706 8.8706 0 00-1.4926-.1906c-.8206-.0236-1.4452.312-1.8847.8468-.4335.5365-.6533 1.476-.6533 2.3516v-.0008zm6.2863 4.4485c0 1.5385-.3938 2.662-1.1866 3.3773-.791.7136-2.0005 1.0712-3.6308 1.0712-.5958 0-1.834-.1156-2.8228-.334l.3643-1.7865c.8282.173 1.9202.2193 2.4932.2193.9077 0 1.555-.1847 1.943-.5533.388-.3686.578-.916.578-1.643v-.3687a6.8289 6.8289 0 01-.8848.3349c-.3634.1096-.786.167-1.261.167-.6246 0-1.1917-.0979-1.7055-.2944a3.5554 3.5554 0 01-1.3244-.8645c-.3642-.3796-.6541-.8579-.8561-1.4289-.2028-.571-.3068-1.59-.3068-2.339 0-.7034.1099-1.5856.3245-2.1735.2198-.5871.5316-1.0949.9542-1.515.4167-.42.9255-.743 1.5213-.98a5.5923 5.5923 0 012.052-.3855c.7353 0 1.4114.092 2.0707.2024.6592.1088 1.2204.2236 1.6776.35v8.945-.0008zM11.5026 4.2418v-.6511c-.0005-.4553-.3704-.8241-.8266-.8241H8.749c-.4561 0-.826.3688-.8265.824v.669c0 .0742.0693.1264.1445.1096a6.0346 6.0346 0 011.6768-.2362 6.125 6.125 0 011.6202.2185.1116.1116 0 00.1386-.1097zm-5.2806.852l-.3296-.3282a.8266.8266 0 00-1.168 0l-.393.3922a.8199.8199 0 000 1.164l.3237.323c.0524.0515.1268.0397.1733-.0117.191-.259.3989-.507.6305-.7372.2374-.2362.48-.4437.7462-.6335.0575-.0354.0634-.1155.017-.1687zm3.5159 2.069v2.818c0 .081.0879.1392.1622.0987l2.5102-1.2964c.0574-.0287.0752-.0987.0464-.1552a3.1237 3.1237 0 00-2.603-1.574c-.0575 0-.115.0456-.115.1097l-.0008-.0009zm.0008 6.789c-2.0933.0005-3.7915-1.6912-3.7947-3.7804C5.9468 8.0821 7.6452 6.39 9.7387 6.391c2.0932-.0005 3.7911 1.6914 3.794 3.7804a3.7783 3.7783 0 01-1.1124 2.675 3.7936 3.7936 0 01-2.6824 1.1054h.0008zM9.738 4.8002c-1.9218 0-3.6975 1.0232-4.6584 2.6841a5.359 5.359 0 000 5.3683c.9609 1.661 2.7366 2.6841 4.6584 2.6841a5.3891 5.3891 0 003.8073-1.5725 5.3675 5.3675 0 001.578-3.7987 5.3574 5.3574 0 00-1.5771-3.797A5.379 5.379 0 009.7387 4.801l-.0008-.0008z",fill:"currentColor",fillRule:"evenodd"})))}function Te(e){return f.createElement("svg",{width:"15",height:"15","aria-label":e.ariaLabel,role:"img"},f.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},e.children))}function To(e){var t=e.translations,n=t===void 0?{}:t,r=n.selectText,o=r===void 0?"to select":r,a=n.selectKeyAriaLabel,i=a===void 0?"Enter key":a,u=n.navigateText,s=u===void 0?"to navigate":u,l=n.navigateUpKeyAriaLabel,c=l===void 0?"Arrow up":l,d=n.navigateDownKeyAriaLabel,m=d===void 0?"Arrow down":d,p=n.closeText,v=p===void 0?"to close":p,h=n.closeKeyAriaLabel,y=h===void 0?"Escape key":h,_=n.searchByText,g=_===void 0?"Search by":_;return f.createElement(f.Fragment,null,f.createElement("div",{className:"DocSearch-Logo"},f.createElement(Ro,{translations:{searchByText:g}})),f.createElement("ul",{className:"DocSearch-Commands"},f.createElement("li",null,f.createElement("span",{className:"DocSearch-Commands-Key"},f.createElement(Te,{ariaLabel:i},f.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),f.createElement("span",{className:"DocSearch-Label"},o)),f.createElement("li",null,f.createElement("span",{className:"DocSearch-Commands-Key"},f.createElement(Te,{ariaLabel:m},f.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),f.createElement("span",{className:"DocSearch-Commands-Key"},f.createElement(Te,{ariaLabel:c},f.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),f.createElement("span",{className:"DocSearch-Label"},s)),f.createElement("li",null,f.createElement("span",{className:"DocSearch-Commands-Key"},f.createElement(Te,{ariaLabel:y},f.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),f.createElement("span",{className:"DocSearch-Label"},v))))}function Lo(e){var t=e.hit,n=e.children;return f.createElement("a",{href:t.url},n)}function qo(){return f.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},f.createElement("g",{fill:"none",fillRule:"evenodd"},f.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},f.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),f.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},f.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}function Mo(){return f.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},f.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},f.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),f.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function yt(){return f.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},f.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Ho(){return f.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},f.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},f.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),f.createElement("path",{d:"M8 17l-6-6 6-6"})))}var Uo=function(){return f.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},f.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Fo(e){switch(e.type){case"lvl1":return f.createElement(Uo,null);case"content":return f.createElement(Vo,null);default:return f.createElement(Bo,null)}}function Bo(){return f.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},f.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Vo(){return f.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},f.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function _n(){return f.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},f.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function zo(){return f.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},f.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function Ko(){return f.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},f.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}function Wo(e){var t=e.translations,n=t===void 0?{}:t,r=n.titleText,o=r===void 0?"Unable to fetch results":r,a=n.helpText,i=a===void 0?"You might want to check your network connection.":a;return f.createElement("div",{className:"DocSearch-ErrorScreen"},f.createElement("div",{className:"DocSearch-Screen-Icon"},f.createElement(zo,null)),f.createElement("p",{className:"DocSearch-Title"},o),f.createElement("p",{className:"DocSearch-Help"},i))}var Jo=["translations"];function $o(e){return function(t){if(Array.isArray(t))return at(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 at(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 at(t,n)}}(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 at(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Yo(e){var t=e.translations,n=t===void 0?{}:t,r=Qo(e,Jo),o=n.noResultsText,a=o===void 0?"No results for":o,i=n.suggestedQueryText,u=i===void 0?"Try searching for":i,s=n.reportMissingResultsText,l=s===void 0?"Believe this query should return results?":s,c=n.reportMissingResultsLinkText,d=c===void 0?"Let us know.":c,m=r.state.context.searchSuggestions;return f.createElement("div",{className:"DocSearch-NoResults"},f.createElement("div",{className:"DocSearch-Screen-Icon"},f.createElement(Ko,null)),f.createElement("p",{className:"DocSearch-Title"},a,' "',f.createElement("strong",null,r.state.query),'"'),m&&m.length>0&&f.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},f.createElement("p",{className:"DocSearch-Help"},u,":"),f.createElement("ul",null,m.slice(0,3).reduce(function(p,v){return[].concat($o(p),[f.createElement("li",{key:v},f.createElement("button",{className:"DocSearch-Prefill",key:v,type:"button",onClick:function(){r.setQuery(v.toLowerCase()+" "),r.refresh(),r.inputRef.current.focus()}},v))])},[]))),r.getMissingResultsUrl&&f.createElement("p",{className:"DocSearch-Help"},"".concat(l," "),f.createElement("a",{href:r.getMissingResultsUrl({query:r.state.query}),target:"_blank",rel:"noopener noreferrer"},d)))}var Go=["hit","attribute","tagName"];function gn(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 bn(e){for(var t=1;t=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function On(e,t){return t.split(".").reduce(function(n,r){return n!=null&&n[r]?n[r]:null},e)}function ne(e){var t=e.hit,n=e.attribute,r=e.tagName;return F(r===void 0?"span":r,bn(bn({},Xo(e,Go)),{},{dangerouslySetInnerHTML:{__html:On(t,"_snippetResult.".concat(n,".value"))||On(t,n)}}))}function Sn(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)||function(n,r){if(!!n){if(typeof n=="string")return En(n,r);var o=Object.prototype.toString.call(n).slice(8,-1);if(o==="Object"&&n.constructor&&(o=n.constructor.name),o==="Map"||o==="Set")return Array.from(n);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return En(n,r)}}(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 En(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n|<\/mark>)/g,na=RegExp(ar.source);function ir(e){var t,n,r,o,a,i=e;if(!i.__docsearch_parent&&!e._highlightResult)return e.hierarchy.lvl0;var u=((i.__docsearch_parent?(t=i.__docsearch_parent)===null||t===void 0||(n=t._highlightResult)===null||n===void 0||(r=n.hierarchy)===null||r===void 0?void 0:r.lvl0:(o=e._highlightResult)===null||o===void 0||(a=o.hierarchy)===null||a===void 0?void 0:a.lvl0)||{}).value;return u&&na.test(u)?u.replace(ar,""):u}function gt(){return gt=Object.assign||function(e){for(var t=1;t=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ia(e){var t=e.translations,n=t===void 0?{}:t,r=aa(e,oa),o=n.recentSearchesTitle,a=o===void 0?"Recent":o,i=n.noRecentSearchesText,u=i===void 0?"No recent searches":i,s=n.saveRecentSearchButtonTitle,l=s===void 0?"Save this search":s,c=n.removeRecentSearchButtonTitle,d=c===void 0?"Remove this search from history":c,m=n.favoriteSearchesTitle,p=m===void 0?"Favorite":m,v=n.removeFavoriteSearchButtonTitle,h=v===void 0?"Remove this search from favorites":v;return r.state.status==="idle"&&r.hasCollections===!1?r.disableUserPersonalization?null:f.createElement("div",{className:"DocSearch-StartScreen"},f.createElement("p",{className:"DocSearch-Help"},u)):r.hasCollections===!1?null:f.createElement("div",{className:"DocSearch-Dropdown-Container"},f.createElement(_t,We({},r,{title:a,collection:r.state.collections[0],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Mo,null))},renderAction:function(y){var _=y.item,g=y.runFavoriteTransition,b=y.runDeleteTransition;return f.createElement(f.Fragment,null,f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:l,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),g(function(){r.favoriteSearches.add(_),r.recentSearches.remove(_),r.refresh()})}},f.createElement(_n,null))),f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:d,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),b(function(){r.recentSearches.remove(_),r.refresh()})}},f.createElement(yt,null))))}})),f.createElement(_t,We({},r,{title:p,collection:r.state.collections[1],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(_n,null))},renderAction:function(y){var _=y.item,g=y.runDeleteTransition;return f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:h,type:"submit",onClick:function(b){b.preventDefault(),b.stopPropagation(),g(function(){r.favoriteSearches.remove(_),r.refresh()})}},f.createElement(yt,null)))}})))}var ca=["translations"];function Je(){return Je=Object.assign||function(e){for(var t=1;t=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var la=f.memo(function(e){var t=e.translations,n=t===void 0?{}:t,r=ua(e,ca);if(r.state.status==="error")return f.createElement(Wo,{translations:n==null?void 0:n.errorScreen});var o=r.state.collections.some(function(a){return a.items.length>0});return r.state.query?o===!1?f.createElement(Yo,Je({},r,{translations:n==null?void 0:n.noResultsScreen})):f.createElement(ra,r):f.createElement(ia,Je({},r,{hasCollections:o,translations:n==null?void 0:n.startScreen}))},function(e,t){return t.state.status==="loading"||t.state.status==="stalled"}),sa=["translations"];function $e(){return $e=Object.assign||function(e){for(var t=1;t=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function pa(e){var t=e.translations,n=t===void 0?{}:t,r=fa(e,sa),o=n.resetButtonTitle,a=o===void 0?"Clear the query":o,i=n.resetButtonAriaLabel,u=i===void 0?"Clear the query":i,s=n.cancelButtonText,l=s===void 0?"Cancel":s,c=n.cancelButtonAriaLabel,d=c===void 0?"Cancel":c,m=r.getFormProps({inputElement:r.inputRef.current}).onReset;return f.useEffect(function(){r.autoFocus&&r.inputRef.current&&r.inputRef.current.focus()},[r.autoFocus,r.inputRef]),f.useEffect(function(){r.isFromSelection&&r.inputRef.current&&r.inputRef.current.select()},[r.isFromSelection,r.inputRef]),f.createElement(f.Fragment,null,f.createElement("form",{className:"DocSearch-Form",onSubmit:function(p){p.preventDefault()},onReset:m},f.createElement("label",$e({className:"DocSearch-MagnifierLabel"},r.getLabelProps()),f.createElement(nr,null)),f.createElement("div",{className:"DocSearch-LoadingIndicator"},f.createElement(qo,null)),f.createElement("input",$e({className:"DocSearch-Input",ref:r.inputRef},r.getInputProps({inputElement:r.inputRef.current,autoFocus:r.autoFocus,maxLength:64}))),f.createElement("button",{type:"reset",title:a,className:"DocSearch-Reset","aria-label":u,hidden:!r.state.query},f.createElement(yt,null))),f.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":d,onClick:r.onClose},l))}var ma=["_highlightResult","_snippetResult"];function da(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=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ha(e){return function(){var t="__TEST_KEY__";try{return localStorage.setItem(t,""),localStorage.removeItem(t),!0}catch{return!1}}()===!1?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(t){return window.localStorage.setItem(e,JSON.stringify(t))},getItem:function(){var t=window.localStorage.getItem(e);return t?JSON.parse(t):[]}}}function Pn(e){var t=e.key,n=e.limit,r=n===void 0?5:n,o=ha(t),a=o.getItem().slice(0,r);return{add:function(i){var u=i,s=(u._highlightResult,u._snippetResult,da(u,ma)),l=a.findIndex(function(c){return c.objectID===s.objectID});l>-1&&a.splice(l,1),a.unshift(s),a=a.slice(0,r),o.setItem(a)},remove:function(i){a=a.filter(function(u){return u.objectID!==i.objectID}),o.setItem(a)},getAll:function(){return a}}}var va=["facetName","facetQuery"];function ya(e){var t,n="algoliasearch-client-js-".concat(e.key),r=function(){return t===void 0&&(t=e.localStorage||window.localStorage),t},o=function(){return JSON.parse(r().getItem(n)||"{}")};return{get:function(a,i){var u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){var s=JSON.stringify(a),l=o()[s];return Promise.all([l||i(),l!==void 0])}).then(function(s){var l=Fe(s,2),c=l[0],d=l[1];return Promise.all([c,d||u.miss(c)])}).then(function(s){return Fe(s,1)[0]})},set:function(a,i){return Promise.resolve().then(function(){var u=o();return u[JSON.stringify(a)]=i,r().setItem(n,JSON.stringify(u)),i})},delete:function(a){return Promise.resolve().then(function(){var i=o();delete i[JSON.stringify(a)],r().setItem(n,JSON.stringify(i))})},clear:function(){return Promise.resolve().then(function(){r().removeItem(n)})}}}function ye(e){var t=Be(e.caches),n=t.shift();return n===void 0?{get:function(r,o){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return o().then(function(i){return Promise.all([i,a.miss(i)])}).then(function(i){return Fe(i,1)[0]})},set:function(r,o){return Promise.resolve(o)},delete:function(r){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(r,o){var a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(r,o,a).catch(function(){return ye({caches:t}).get(r,o,a)})},set:function(r,o){return n.set(r,o).catch(function(){return ye({caches:t}).set(r,o)})},delete:function(r){return n.delete(r).catch(function(){return ye({caches:t}).delete(r)})},clear:function(){return n.clear().catch(function(){return ye({caches:t}).clear()})}}}function it(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{serializable:!0},t={};return{get:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},a=JSON.stringify(n);if(a in t)return Promise.resolve(e.serializable?JSON.parse(t[a]):t[a]);var i=r(),u=o&&o.miss||function(){return Promise.resolve()};return i.then(function(s){return u(s)}).then(function(){return i})},set:function(n,r){return t[JSON.stringify(n)]=e.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(n){return delete t[JSON.stringify(n)],Promise.resolve()},clear:function(){return t={},Promise.resolve()}}}function _a(e){for(var t=e.length-1;t>0;t--){var n=Math.floor(Math.random()*(t+1)),r=e[t];e[t]=e[n],e[n]=r}return e}function cr(e,t){return t&&Object.keys(t).forEach(function(n){e[n]=t[n](e)}),e}function Qe(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0?r:void 0,timeout:n.timeout||t,headers:n.headers||{},queryParameters:n.queryParameters||{},cacheable:n.cacheable}}var ie={Read:1,Write:2,Any:3},ur=1,ga=2,lr=3;function sr(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ur;return P(P({},e),{},{status:t,lastUpdate:Date.now()})}function fr(e){return typeof e=="string"?{protocol:"https",url:e,accept:ie.Any}:{protocol:e.protocol||"https",url:e.url,accept:e.accept||ie.Any}}var kn="GET",Ye="POST";function ba(e,t){return Promise.all(t.map(function(n){return e.get(n,function(){return Promise.resolve(sr(n))})})).then(function(n){var r=n.filter(function(i){return function(u){return u.status===ur||Date.now()-u.lastUpdate>12e4}(i)}),o=n.filter(function(i){return function(u){return u.status===lr&&Date.now()-u.lastUpdate<=12e4}(i)}),a=[].concat(Be(r),Be(o));return{getTimeout:function(i,u){return(o.length===0&&i===0?1:o.length+3+i)*u},statelessHosts:a.length>0?a.map(function(i){return fr(i)}):t}})}function Cn(e,t,n,r){var o=[],a=function(m,p){if(!(m.method===kn||m.data===void 0&&p.data===void 0)){var v=Array.isArray(m.data)?m.data:P(P({},m.data),p.data);return JSON.stringify(v)}}(n,r),i=function(m,p){var v=P(P({},m.headers),p.headers),h={};return Object.keys(v).forEach(function(y){var _=v[y];h[y.toLowerCase()]=_}),h}(e,r),u=n.method,s=n.method!==kn?{}:P(P({},n.data),r.data),l=P(P(P({"x-algolia-agent":e.userAgent.value},e.queryParameters),s),r.queryParameters),c=0,d=function m(p,v){var h=p.pop();if(h===void 0)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:Dn(o)};var y={data:a,headers:i,method:u,url:Sa(h,n.path,l),connectTimeout:v(c,e.timeouts.connect),responseTimeout:v(c,r.timeout)},_=function(b){var O={request:y,response:b,host:h,triesLeft:p.length};return o.push(O),O},g={onSucess:function(b){return function(O){try{return JSON.parse(O.content)}catch(S){throw function(I,D){return{name:"DeserializationError",message:I,response:D}}(S.message,O)}}(b)},onRetry:function(b){var O=_(b);return b.isTimedOut&&c++,Promise.all([e.logger.info("Retryable failure",mr(O)),e.hostsCache.set(h,sr(h,b.isTimedOut?lr:ga))]).then(function(){return m(p,v)})},onFail:function(b){throw _(b),function(O,S){var I=O.content,D=O.status,A=I;try{A=JSON.parse(I).message}catch{}return function(k,N,R){return{name:"ApiError",message:k,status:N,transporterStackTrace:R}}(A,D,S)}(b,Dn(o))}};return e.requester.send(y).then(function(b){return function(O,S){return function(I){var D=I.status;return I.isTimedOut||function(A){var k=A.isTimedOut,N=A.status;return!k&&~~N==0}(I)||~~(D/100)!=2&&~~(D/100)!=4}(O)?S.onRetry(O):~~(O.status/100)==2?S.onSucess(O):S.onFail(O)}(b,g)})};return ba(e.hostsCache,t).then(function(m){return d(Be(m.statelessHosts).reverse(),m.getTimeout)})}function Oa(e){var t={value:"Algolia for JavaScript (".concat(e,")"),add:function(n){var r="; ".concat(n.segment).concat(n.version!==void 0?" (".concat(n.version,")"):"");return t.value.indexOf(r)===-1&&(t.value="".concat(t.value).concat(r)),t}};return t}function Sa(e,t,n){var r=pr(n),o="".concat(e.protocol,"://").concat(e.url,"/").concat(t.charAt(0)==="/"?t.substr(1):t);return r.length&&(o+="?".concat(r)),o}function pr(e){return Object.keys(e).map(function(t){return Qe("%s=%s",t,(n=e[t],Object.prototype.toString.call(n)==="[object Object]"||Object.prototype.toString.call(n)==="[object Array]"?JSON.stringify(e[t]):e[t]));var n}).join("&")}function Dn(e){return e.map(function(t){return mr(t)})}function mr(e){var t=e.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return P(P({},e),{},{request:P(P({},e.request),{},{headers:P(P({},e.request.headers),t)})})}var Ea=function(e){var t=e.appId,n=function(a,i,u){var s={"x-algolia-api-key":u,"x-algolia-application-id":i};return{headers:function(){return a===Ue.WithinHeaders?s:{}},queryParameters:function(){return a===Ue.WithinQueryParameters?s:{}}}}(e.authMode!==void 0?e.authMode:Ue.WithinHeaders,t,e.apiKey),r=function(a){var i=a.hostsCache,u=a.logger,s=a.requester,l=a.requestsCache,c=a.responsesCache,d=a.timeouts,m=a.userAgent,p=a.hosts,v=a.queryParameters,h={hostsCache:i,logger:u,requester:s,requestsCache:l,responsesCache:c,timeouts:d,userAgent:m,headers:a.headers,queryParameters:v,hosts:p.map(function(y){return fr(y)}),read:function(y,_){var g=In(_,h.timeouts.read),b=function(){return Cn(h,h.hosts.filter(function(S){return(S.accept&ie.Read)!=0}),y,g)};if((g.cacheable!==void 0?g.cacheable:y.cacheable)!==!0)return b();var O={request:y,mappedRequestOptions:g,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(O,function(){return h.requestsCache.get(O,function(){return h.requestsCache.set(O,b()).then(function(S){return Promise.all([h.requestsCache.delete(O),S])},function(S){return Promise.all([h.requestsCache.delete(O),Promise.reject(S)])}).then(function(S){var I=Fe(S,2);return I[0],I[1]})})},{miss:function(S){return h.responsesCache.set(O,S)}})},write:function(y,_){return Cn(h,h.hosts.filter(function(g){return(g.accept&ie.Write)!=0}),y,In(_,h.timeouts.write))}};return h}(P(P({hosts:[{url:"".concat(t,"-dsn.algolia.net"),accept:ie.Read},{url:"".concat(t,".algolia.net"),accept:ie.Write}].concat(_a([{url:"".concat(t,"-1.algolianet.com")},{url:"".concat(t,"-2.algolianet.com")},{url:"".concat(t,"-3.algolianet.com")}]))},e),{},{headers:P(P(P({},n.headers()),{"content-type":"application/x-www-form-urlencoded"}),e.headers),queryParameters:P(P({},n.queryParameters()),e.queryParameters)})),o={transporter:r,appId:t,addAlgoliaAgent:function(a,i){r.userAgent.add({segment:a,version:i})},clearCache:function(){return Promise.all([r.requestsCache.clear(),r.responsesCache.clear()]).then(function(){})}};return cr(o,e.methods)},dr=function(e){return function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r={transporter:e.transporter,appId:e.appId,indexName:t};return cr(r,n.methods)}},xn=function(e){return function(t,n){var r=t.map(function(o){return P(P({},o),{},{params:pr(o.params||{})})});return e.transporter.read({method:Ye,path:"1/indexes/*/queries",data:{requests:r},cacheable:!0},n)}},An=function(e){return function(t,n){return Promise.all(t.map(function(r){var o=r.params,a=o.facetName,i=o.facetQuery,u=xr(o,va);return dr(e)(r.indexName,{methods:{searchForFacetValues:hr}}).searchForFacetValues(a,i,P(P({},n),u))}))}},wa=function(e){return function(t,n,r){return e.transporter.read({method:Ye,path:Qe("1/answers/%s/prediction",e.indexName),data:{query:t,queryLanguages:n},cacheable:!0},r)}},ja=function(e){return function(t,n){return e.transporter.read({method:Ye,path:Qe("1/indexes/%s/query",e.indexName),data:{query:t},cacheable:!0},n)}},hr=function(e){return function(t,n,r){return e.transporter.read({method:Ye,path:Qe("1/indexes/%s/facets/%s/query",e.indexName,t),data:{facetQuery:n},cacheable:!0},r)}},Pa=1,Ia=2,ka=3;function vr(e,t,n){var r,o={appId:e,apiKey:t,timeouts:{connect:1,read:2,write:30},requester:{send:function(a){return new Promise(function(i){var u=new XMLHttpRequest;u.open(a.method,a.url,!0),Object.keys(a.headers).forEach(function(d){return u.setRequestHeader(d,a.headers[d])});var s,l=function(d,m){return setTimeout(function(){u.abort(),i({status:0,content:m,isTimedOut:!0})},1e3*d)},c=l(a.connectTimeout,"Connection timeout");u.onreadystatechange=function(){u.readyState>u.OPENED&&s===void 0&&(clearTimeout(c),s=l(a.responseTimeout,"Socket timeout"))},u.onerror=function(){u.status===0&&(clearTimeout(c),clearTimeout(s),i({content:u.responseText||"Network request failed",status:u.status,isTimedOut:!1}))},u.onload=function(){clearTimeout(c),clearTimeout(s),i({content:u.responseText,status:u.status,isTimedOut:!1})},u.send(a.data)})}},logger:(r=ka,{debug:function(a,i){return Pa>=r&&console.debug(a,i),Promise.resolve()},info:function(a,i){return Ia>=r&&console.info(a,i),Promise.resolve()},error:function(a,i){return console.error(a,i),Promise.resolve()}}),responsesCache:it(),requestsCache:it({serializable:!1}),hostsCache:ye({caches:[ya({key:"".concat("4.8.5","-").concat(e)}),it()]}),userAgent:Oa("4.8.5").add({segment:"Browser",version:"lite"}),authMode:Ue.WithinQueryParameters};return Ea(P(P(P({},o),n),{},{methods:{search:xn,searchForFacetValues:An,multipleQueries:xn,multipleSearchForFacetValues:An,initIndex:function(a){return function(i){return dr(a)(i,{methods:{search:ja,searchForFacetValues:hr,findAnswers:wa}})}}}}))}vr.version="4.8.5";var Ca=["footer","searchBox"];function be(){return be=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(c[s]=i[s]);return c}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Na(e){var t=e.appId,n=e.apiKey,r=e.indexName,o=e.placeholder,a=o===void 0?"Search docs":o,i=e.searchParameters,u=e.onClose,s=u===void 0?ta:u,l=e.transformItems,c=l===void 0?jn:l,d=e.hitComponent,m=d===void 0?Lo:d,p=e.resultsFooterComponent,v=p===void 0?function(){return null}:p,h=e.navigator,y=e.initialScrollY,_=y===void 0?0:y,g=e.transformSearchClient,b=g===void 0?jn:g,O=e.disableUserPersonalization,S=O!==void 0&&O,I=e.initialQuery,D=I===void 0?"":I,A=e.translations,k=A===void 0?{}:A,N=e.getMissingResultsUrl,R=k.footer,Ge=k.searchBox,Ze=Aa(k,Ca),Pe=xa(f.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),W=Pe[0],yr=Pe[1],wt=f.useRef(null),Xe=f.useRef(null),jt=f.useRef(null),Ie=f.useRef(null),ue=f.useRef(null),J=f.useRef(10),Pt=f.useRef(typeof window!="undefined"?window.getSelection().toString().slice(0,64):"").current,Y=f.useRef(D||Pt).current,It=function(j,C,q){return f.useMemo(function(){var M=vr(j,C);return M.addAlgoliaAgent("docsearch","3.0.0"),/docsearch.js \(.*\)/.test(M.transporter.userAgent.value)===!1&&M.addAlgoliaAgent("docsearch-react","3.0.0"),q(M)},[j,C,q])}(t,n,b),X=f.useRef(Pn({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(r),limit:10})).current,le=f.useRef(Pn({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(r),limit:X.getAll().length===0?7:4})).current,se=f.useCallback(function(j){if(!S){var C=j.type==="content"?j.__docsearch_parent:j;C&&X.getAll().findIndex(function(q){return q.objectID===C.objectID})===-1&&le.add(C)}},[X,le,S]),fe=f.useMemo(function(){return No({id:"docsearch",defaultActiveItemId:0,placeholder:a,openOnFocus:!0,initialState:{query:Y,context:{searchSuggestions:[]}},navigator:h,onStateChange:function(j){yr(j.state)},getSources:function(j){var C=j.query,q=j.state,M=j.setContext,$=j.setStatus;return C?It.search([{query:C,indexName:r,params:ct({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(J.current),"hierarchy.lvl2:".concat(J.current),"hierarchy.lvl3:".concat(J.current),"hierarchy.lvl4:".concat(J.current),"hierarchy.lvl5:".concat(J.current),"hierarchy.lvl6:".concat(J.current),"content:".concat(J.current)],snippetEllipsisText:"\u2026",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20},i)}]).catch(function(x){throw x.name==="RetryError"&&$("error"),x}).then(function(x){var H=x.results[0],U=H.hits,br=H.nbHits,et=wn(U,function(tt){return ir(tt)});return q.context.searchSuggestions.length0&&(kt(),ue.current&&ue.current.focus())},[Y,kt]),f.useEffect(function(){function j(){if(Xe.current){var C=.01*window.innerHeight;Xe.current.style.setProperty("--docsearch-vh","".concat(C,"px"))}}return j(),window.addEventListener("resize",j),function(){window.removeEventListener("resize",j)}},[]),f.createElement("div",be({ref:wt},gr({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container",W.status==="stalled"&&"DocSearch-Container--Stalled",W.status==="error"&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(j){j.target===j.currentTarget&&s()}}),f.createElement("div",{className:"DocSearch-Modal",ref:Xe},f.createElement("header",{className:"DocSearch-SearchBar",ref:jt},f.createElement(pa,be({},fe,{state:W,autoFocus:Y.length===0,inputRef:ue,isFromSelection:Boolean(Y)&&Y===Pt,translations:Ge,onClose:s}))),f.createElement("div",{className:"DocSearch-Dropdown",ref:Ie},f.createElement(la,be({},fe,{indexName:r,state:W,hitComponent:m,resultsFooterComponent:v,disableUserPersonalization:S,recentSearches:le,favoriteSearches:X,inputRef:ue,translations:Ze,getMissingResultsUrl:N,onItemClick:function(j){se(j),s()}}))),f.createElement("footer",{className:"DocSearch-Footer"},f.createElement(To,{translations:R}))))}function bt(){return bt=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:window;return typeof t=="string"?n.document.querySelector(t):t}(e.container,e.environment))}const La={class:"algolia-search-box",id:"docsearch"},Ma=Sr({props:{options:null,multilang:{type:Boolean}},setup(e){var d;const t=e,n=Cr(),r=Er(),o=wr();Ct(()=>t.options,m=>{u(m)}),jr(()=>{c(t.options)});function a(m){return m.button===1||m.altKey||m.ctrlKey||m.metaKey||m.shiftKey}function i(m){const{pathname:p,hash:v}=new URL(m);return p+v}function u(m){n&&n.vnode.el&&(n.vnode.el.innerHTML='',c(m))}const{lang:s}=Pr(),l=t.multilang?["lang:"+s.value]:[];(d=t.options.searchParameters)!=null&&d.facetFilters&&l.push(...t.options.searchParameters.facetFilters),Ct(s,(m,p)=>{const v=l.findIndex(h=>h==="lang:"+p);v>-1&&l.splice(v,1,"lang:"+m)});function c(m){Ta(Object.assign({},m,{container:"#docsearch",searchParameters:Object.assign({},m.searchParameters,{facetFilters:l}),navigator:{navigate:({itemUrl:p})=>{const{pathname:v}=new URL(window.location.origin+p);r.path===v?window.location.assign(window.location.origin+p):o.go(p)}},transformItems:p=>p.map(v=>Object.assign({},v,{url:i(v.url)})),hitComponent:({hit:p,children:v})=>{const h=p.url.startsWith("http")?i(p.url):p.url;return{type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:p.url,onClick:y=>{a(y)||r.path!==h&&(r.path!==h&&y.preventDefault(),o.go(h))},children:v},__v:null}}}))}return(m,p)=>(Ir(),kr("div",La))}});export{Ma as default}; diff --git a/assets/developer_index.md.b4ded378.js b/assets/developer_index.md.b4ded378.js deleted file mode 100644 index 19d4dad9e5..0000000000 --- a/assets/developer_index.md.b4ded378.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,c as r,o as a,a as e,b as t}from"./app.37329957.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"\u5F00\u53D1\u624B\u518C","tagline":"\u6B22\u8FCE\u4F7F\u7528\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE\u5F00\u53D1\u624B\u518C\uFF0C\u6B22\u8FCE\u4F60\u63D0\u51FA\u9AD8\u8D28\u91CF\u7684Pull Request\uFF0C\u5E2E\u52A9\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE\u53D8\u5F97\u66F4\u597D\uFF01","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/developer/l10n","footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"developer/index.md"}',n={},s=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=[s];function i(l,p,d,_,h,m){return a(),r("div",null,c)}var g=o(n,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/developer_index.md.b4ded378.lean.js b/assets/developer_index.md.b4ded378.lean.js deleted file mode 100644 index 19d4dad9e5..0000000000 --- a/assets/developer_index.md.b4ded378.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,c as r,o as a,a as e,b as t}from"./app.37329957.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"\u5F00\u53D1\u624B\u518C","tagline":"\u6B22\u8FCE\u4F7F\u7528\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE\u5F00\u53D1\u624B\u518C\uFF0C\u6B22\u8FCE\u4F60\u63D0\u51FA\u9AD8\u8D28\u91CF\u7684Pull Request\uFF0C\u5E2E\u52A9\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE\u53D8\u5F97\u66F4\u597D\uFF01","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/developer/l10n","footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"developer/index.md"}',n={},s=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=[s];function i(l,p,d,_,h,m){return a(),r("div",null,c)}var g=o(n,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/developer_index.md.c66db189.js b/assets/developer_index.md.c66db189.js new file mode 100644 index 0000000000..7c56e20bfb --- /dev/null +++ b/assets/developer_index.md.c66db189.js @@ -0,0 +1 @@ +import{_ as o,c as r,o as a,a as e,b as t}from"./app.005aa5c6.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"\u5F00\u53D1\u624B\u518C","tagline":"\u6B22\u8FCE\u4F7F\u7528\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE\u5F00\u53D1\u624B\u518C\uFF0C\u6B22\u8FCE\u4F60\u63D0\u51FA\u9AD8\u8D28\u91CF\u7684Pull Request\uFF0C\u5E2E\u52A9\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE\u53D8\u5F97\u66F4\u597D\uFF01","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/developer/l10n","footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"developer/index.md","lastUpdated":1687011015000}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),c=[n];function i(l,p,d,_,h,m){return a(),r("div",null,c)}var g=o(s,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/developer_index.md.c66db189.lean.js b/assets/developer_index.md.c66db189.lean.js new file mode 100644 index 0000000000..7c56e20bfb --- /dev/null +++ b/assets/developer_index.md.c66db189.lean.js @@ -0,0 +1 @@ +import{_ as o,c as r,o as a,a as e,b as t}from"./app.005aa5c6.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"\u5F00\u53D1\u624B\u518C","tagline":"\u6B22\u8FCE\u4F7F\u7528\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE\u5F00\u53D1\u624B\u518C\uFF0C\u6B22\u8FCE\u4F60\u63D0\u51FA\u9AD8\u8D28\u91CF\u7684Pull Request\uFF0C\u5E2E\u52A9\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE\u53D8\u5F97\u66F4\u597D\uFF01","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/developer/l10n","footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"developer/index.md","lastUpdated":1687011015000}',s={},n=e("p",null,[e("br"),t("\u672C\u4F5C\u54C1\u91C7\u7528 "),e("a",{rel:"license",href:"http://creativecommons.org/licenses/by-nc-sa/4.0/"},"\u77E5\u8BC6\u5171\u4EAB\u7F72\u540D-\u975E\u5546\u4E1A\u6027\u4F7F\u7528-\u76F8\u540C\u65B9\u5F0F\u5171\u4EAB 4.0 \u56FD\u9645\u8BB8\u53EF\u534F\u8BAE"),t(" \u8FDB\u884C\u8BB8\u53EF\u3002")],-1),c=[n];function i(l,p,d,_,h,m){return a(),r("div",null,c)}var g=o(s,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/developer_l10n.md.5e64432c.js b/assets/developer_l10n.md.5e64432c.js deleted file mode 100644 index ccc871c870..0000000000 --- a/assets/developer_l10n.md.5e64432c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as o,o as t,d as l}from"./app.37329957.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"}',a={},r=l('

\u4F60\u53EF\u4EE5\u5728\u5F00\u53D1\u65B0\u529F\u80FD\u65F6\u9075\u5FAA\u4EE5\u4E0B\u6B65\u9AA4\u6765\u652F\u6301\u672C\u5730\u5316

\u4ECB\u7ECD

  1. \u4F60\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528 /resource/l10n/zh-CN.toml \u4E2D\u5DF2\u6709\u7684\u6587\u672C\u914D\u7F6E\u6765\u66FF\u6362\u65B0\u529F\u80FD\u4E2D\u7684\u6587\u672C
  2. \u5982\u679C\u65B0\u529F\u80FD\u4E2D\u6709\u65B0\u589E\u6587\u672C\uFF0C\u8BF7\u53C2\u8003 zh-CN.toml \u7684\u914D\u7F6E\u6587\u672C\uFF0C\u5C06\u65B0\u6587\u672C\u62C9\u53D6\u5230 zh-CN.toml \u7B49\u5176\u4ED6\u8BED\u8A00\u7684\u914D\u7F6E\u6587\u4EF6\u4E2D\uFF0C\u5E76\u6DFB\u52A0\u7FFB\u8BD1

\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0

  1. \u5728 /resource/l10n/ \u4E2D\u6DFB\u52A0\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E
  2. \u5728\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E\u4E2D\u62C9\u53D6\u5176\u4ED6\u8BED\u8A00\u5DF2\u6709\u7684\u6587\u672C\u914D\u7F6E
  3. \u4E3A\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E\u6DFB\u52A0\u7FFB\u8BD1
',5),c=[r];function i(d,s,n,_,h,p){return t(),o("div",null,c)}var m=e(a,[["render",i]]);export{f as __pageData,m as default}; diff --git a/assets/developer_l10n.md.5e64432c.lean.js b/assets/developer_l10n.md.5e64432c.lean.js deleted file mode 100644 index f8725c4998..0000000000 --- a/assets/developer_l10n.md.5e64432c.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as o,o as t,d as l}from"./app.37329957.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"}',a={},r=l("",5),c=[r];function i(d,s,n,_,h,p){return t(),o("div",null,c)}var m=e(a,[["render",i]]);export{f as __pageData,m as default}; diff --git a/assets/developer_l10n.md.f0fc6662.js b/assets/developer_l10n.md.f0fc6662.js new file mode 100644 index 0000000000..f88f9d62d5 --- /dev/null +++ b/assets/developer_l10n.md.f0fc6662.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,d as l}from"./app.005aa5c6.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":1687011015000}',a={},r=l('

\u4F60\u53EF\u4EE5\u5728\u5F00\u53D1\u65B0\u529F\u80FD\u65F6\u9075\u5FAA\u4EE5\u4E0B\u6B65\u9AA4\u6765\u652F\u6301\u672C\u5730\u5316

\u4ECB\u7ECD

  1. \u4F60\u53EF\u4EE5\u76F4\u63A5\u4F7F\u7528 /resource/l10n/zh-CN.toml \u4E2D\u5DF2\u6709\u7684\u6587\u672C\u914D\u7F6E\u6765\u66FF\u6362\u65B0\u529F\u80FD\u4E2D\u7684\u6587\u672C
  2. \u5982\u679C\u65B0\u529F\u80FD\u4E2D\u6709\u65B0\u589E\u6587\u672C\uFF0C\u8BF7\u53C2\u8003 zh-CN.toml \u7684\u914D\u7F6E\u6587\u672C\uFF0C\u5C06\u65B0\u6587\u672C\u62C9\u53D6\u5230 zh-CN.toml \u7B49\u5176\u4ED6\u8BED\u8A00\u7684\u914D\u7F6E\u6587\u4EF6\u4E2D\uFF0C\u5E76\u6DFB\u52A0\u7FFB\u8BD1

\u65B0\u672C\u5730\u5316\u6587\u672C\u7684\u6DFB\u52A0

  1. \u5728 /resource/l10n/ \u4E2D\u6DFB\u52A0\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E
  2. \u5728\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E\u4E2D\u62C9\u53D6\u5176\u4ED6\u8BED\u8A00\u5DF2\u6709\u7684\u6587\u672C\u914D\u7F6E
  3. \u4E3A\u65B0\u7684\u8BED\u8A00\u6587\u672C\u914D\u7F6E\u6DFB\u52A0\u7FFB\u8BD1
',5),d=[r];function c(i,s,n,_,h,p){return o(),t("div",null,d)}var m=e(a,[["render",c]]);export{f as __pageData,m as default}; diff --git a/assets/developer_l10n.md.f0fc6662.lean.js b/assets/developer_l10n.md.f0fc6662.lean.js new file mode 100644 index 0000000000..66bcfdcf53 --- /dev/null +++ b/assets/developer_l10n.md.f0fc6662.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o,d as l}from"./app.005aa5c6.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":1687011015000}',a={},r=l("",5),d=[r];function c(i,s,n,_,h,p){return o(),t("div",null,d)}var m=e(a,[["render",c]]);export{f as __pageData,m as default}; diff --git a/assets/en_US_developer_index.md.84968d9d.js b/assets/en_US_developer_index.md.84968d9d.js deleted file mode 100644 index ce863c0eab..0000000000 --- a/assets/en_US_developer_index.md.84968d9d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,c as n,o as a,a as e,b as t}from"./app.37329957.js";const g='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"Development Manual","tagline":"Welcome to the Nezha Monitoring Development Manual.","actionText":"Start Now \u2192","actionLink":"/en_US/developer/l10n","footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"en_US/developer/index.md"}',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(l,p,m,d,h,_){return a(),n("div",null,s)}var v=o(r,[["render",c]]);export{g as __pageData,v as default}; diff --git a/assets/en_US_developer_index.md.84968d9d.lean.js b/assets/en_US_developer_index.md.84968d9d.lean.js deleted file mode 100644 index ce863c0eab..0000000000 --- a/assets/en_US_developer_index.md.84968d9d.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o,c as n,o as a,a as e,b as t}from"./app.37329957.js";const g='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"Development Manual","tagline":"Welcome to the Nezha Monitoring Development Manual.","actionText":"Start Now \u2192","actionLink":"/en_US/developer/l10n","footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"en_US/developer/index.md"}',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(l,p,m,d,h,_){return a(),n("div",null,s)}var v=o(r,[["render",c]]);export{g as __pageData,v as default}; diff --git a/assets/en_US_developer_index.md.a9235836.js b/assets/en_US_developer_index.md.a9235836.js new file mode 100644 index 0000000000..fa6c4beb9d --- /dev/null +++ b/assets/en_US_developer_index.md.a9235836.js @@ -0,0 +1 @@ +import{_ as o,c as n,o as a,a as e,b as t}from"./app.005aa5c6.js";const g='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"Development Manual","tagline":"Welcome to the Nezha Monitoring Development Manual.","actionText":"Start Now \u2192","actionLink":"/en_US/developer/l10n","footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"en_US/developer/index.md","lastUpdated":1687011015000}',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(l,p,d,m,h,_){return a(),n("div",null,s)}var v=o(r,[["render",c]]);export{g as __pageData,v as default}; diff --git a/assets/en_US_developer_index.md.a9235836.lean.js b/assets/en_US_developer_index.md.a9235836.lean.js new file mode 100644 index 0000000000..fa6c4beb9d --- /dev/null +++ b/assets/en_US_developer_index.md.a9235836.lean.js @@ -0,0 +1 @@ +import{_ as o,c as n,o as a,a as e,b as t}from"./app.005aa5c6.js";const g='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"Development Manual","tagline":"Welcome to the Nezha Monitoring Development Manual.","actionText":"Start Now \u2192","actionLink":"/en_US/developer/l10n","footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"en_US/developer/index.md","lastUpdated":1687011015000}',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(l,p,d,m,h,_){return a(),n("div",null,s)}var v=o(r,[["render",c]]);export{g as __pageData,v as default}; diff --git a/assets/en_US_developer_l10n.md.1406cb33.js b/assets/en_US_developer_l10n.md.1406cb33.js deleted file mode 100644 index f00a5301c5..0000000000 --- a/assets/en_US_developer_l10n.md.1406cb33.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as n,d as o}from"./app.37329957.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"}',a={},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,c,s,u,h,f){return n(),t("div",null,l)}var p=e(a,[["render",r]]);export{_ as __pageData,p as default}; diff --git a/assets/en_US_developer_l10n.md.a7deae15.js b/assets/en_US_developer_l10n.md.a7deae15.js new file mode 100644 index 0000000000..ba6f4de3a9 --- /dev/null +++ b/assets/en_US_developer_l10n.md.a7deae15.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as n,d as o}from"./app.005aa5c6.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":1687011015000}',a={},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,c,s,u,h,f){return n(),t("div",null,l)}var p=e(a,[["render",r]]);export{_ as __pageData,p as default}; diff --git a/assets/en_US_developer_l10n.md.1406cb33.lean.js b/assets/en_US_developer_l10n.md.a7deae15.lean.js similarity index 51% rename from assets/en_US_developer_l10n.md.1406cb33.lean.js rename to assets/en_US_developer_l10n.md.a7deae15.lean.js index 1c6960c7c8..022c05aeb0 100644 --- a/assets/en_US_developer_l10n.md.1406cb33.lean.js +++ b/assets/en_US_developer_l10n.md.a7deae15.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as n,d as o}from"./app.37329957.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"}',a={},i=o("",5),l=[i];function r(d,c,s,u,h,f){return n(),t("div",null,l)}var p=e(a,[["render",r]]);export{_ as __pageData,p as default}; +import{_ as e,c as t,o as n,d as o}from"./app.005aa5c6.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":1687011015000}',a={},i=o("",5),l=[i];function r(d,c,s,u,h,f){return n(),t("div",null,l)}var p=e(a,[["render",r]]);export{_ as __pageData,p as default}; diff --git a/assets/en_US_guide_dashboard.md.776f7521.js b/assets/en_US_guide_dashboard.md.776f7521.js deleted file mode 100644 index 14ea45974b..0000000000 --- a/assets/en_US_guide_dashboard.md.776f7521.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as r,d as a}from"./app.37329957.js";const b='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u9879\u76EE\u4ED3\u5E93","slug":"\u9879\u76EE\u4ED3\u5E93"},{"level":3,"title":"PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C","slug":"pve\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C"},{"level":3,"title":"\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4","slug":"\u901A\u8FC7lxd-lxc\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4"},{"level":3,"title":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668","slug":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/dashboard.md"}',i={},l=a('

\u51C6\u5907\u5DE5\u4F5C

\u9700\u8981\u865A\u62DF\u5316\u51FA\u670D\u52A1\u5668\uFF0C\u4F60\u9700\u8981\uFF1A

  1. \u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684\u670D\u52A1\u5668( VPS \u6216 Dedicated Server)\uFF0C\u6700\u597D\u80FD\u5B8C\u7F8E\u8BBF\u95EE Github \u7684 RAW \u9875\u9762\uFF0C\u90E8\u5206\u9879\u76EE\u90E8\u5206\u7EC4\u4EF6\u53EF\u80FD\u672A\u4F7F\u7528 CDN \u52A0\u901F

TIP

\u5982\u679C\u60A8\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u8BBF\u95EE Github \u6709\u56F0\u96BE\uFF0C\u8BF7\u6CE8\u610F\u914D\u5957\u811A\u672C\u548C\u9879\u76EE\u662F\u5426\u6709\u8BF4\u660E\u5DF2\u4F7F\u7528 CDN \u52A0\u901F

  1. \u672C\u5730\u53EF\u4EE5\u7A33\u5B9A\u8FDE\u63A5SSH\uFF0C\u5982\u679C\u4E0D\u80FD\u7A33\u5B9A\u8FDE\u63A5\uFF0C\u8BF7\u4F7F\u7528screen\u547D\u4EE4\u521B\u5EFA\u7A97\u53E3\u540E\uFF0C\u5728\u7A97\u53E3\u5185\u6267\u884C\u547D\u4EE4

TIP

\u4E0D\u4F1A\u7528screen\u547D\u4EE4\u7684\uFF0C\u81EA\u884C\u67E5\u627E\u76F8\u5173\u6559\u7A0B\u5B66\u4E60

  1. \u786E\u4FDD\u670D\u52A1\u5668\u7684\u7CFB\u7EDF\u548C\u786C\u4EF6\u6EE1\u8DB3\u5BF9\u5E94\u9879\u76EE\u7684\u8981\u6C42\uFF0C\u8BE6\u89C1\u5BF9\u5E94\u9879\u76EE\u8BF4\u660E

\u672C\u6587\u6863\u5C06\u4EE5VPS\u4F5C\u4E3A\u8303\u4F8B\uFF0C\u4E14\u8BE5VPS\u7EAF\u51C0\uFF0C\u65E0\u539F\u751F\u73AF\u5883\u95EE\u9898\uFF0C\u5982\u6709\u5FC5\u8981\u8BF7\u91CD\u88C5\u7CFB\u7EDF\u4FDD\u8BC1\u521D\u59CB\u73AF\u5883\u7684\u7EAF\u51C0

WARNING

PVE\u9879\u76EE\u53EF\u80FD\u9020\u6210\u5BBF\u4E3B\u673A\u51FA\u73B0\u95EE\u9898\uFF0C\u5982\u679C\u4F60\u4E0D\u4F1A\u770BBug\u548C\u4FEE\u590D\u7CFB\u7EDF\uFF0C\u90A3\u4E48\u4E0D\u5EFA\u8BAE\u4F60\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u4F7F\u7528\uFF0C\u4F7F\u7528PVE\u76F8\u5173\u811A\u672C\u8BF7\u786E\u4FDD\u5BBF\u4E3B\u673A\u968F\u65F6\u53EF\u91CD\u88C5\u7CFB\u7EDF



\u9879\u76EE\u4ED3\u5E93

\u6B22\u8FCEStar\u548CFork

PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C

https://github.com/spiritLHLS/pve

\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4

https://github.com/spiritLHLS/lxc

\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668

https://github.com/spiritLHLS/docker

',19),o=[l];function s(c,d,n,p,h,u){return r(),t("div",null,o)}var g=e(i,[["render",s]]);export{b as __pageData,g as default}; diff --git a/assets/en_US_guide_dashboard.md.7cfa9509.js b/assets/en_US_guide_dashboard.md.7cfa9509.js new file mode 100644 index 0000000000..8ea455c160 --- /dev/null +++ b/assets/en_US_guide_dashboard.md.7cfa9509.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,d as r}from"./app.005aa5c6.js";const b='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u9879\u76EE\u4ED3\u5E93","slug":"\u9879\u76EE\u4ED3\u5E93"},{"level":3,"title":"PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C","slug":"pve\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C"},{"level":3,"title":"\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4","slug":"\u901A\u8FC7lxd-lxc\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4"},{"level":3,"title":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668","slug":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/dashboard.md","lastUpdated":1687011015000}',i={},l=r('

\u51C6\u5907\u5DE5\u4F5C

\u9700\u8981\u865A\u62DF\u5316\u51FA\u670D\u52A1\u5668\uFF0C\u4F60\u9700\u8981\uFF1A

  1. \u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684\u670D\u52A1\u5668( VPS \u6216 Dedicated Server)\uFF0C\u6700\u597D\u80FD\u5B8C\u7F8E\u8BBF\u95EE Github \u7684 RAW \u9875\u9762\uFF0C\u90E8\u5206\u9879\u76EE\u90E8\u5206\u7EC4\u4EF6\u53EF\u80FD\u672A\u4F7F\u7528 CDN \u52A0\u901F

TIP

\u5982\u679C\u60A8\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u8BBF\u95EE Github \u6709\u56F0\u96BE\uFF0C\u8BF7\u6CE8\u610F\u914D\u5957\u811A\u672C\u548C\u9879\u76EE\u662F\u5426\u6709\u8BF4\u660E\u5DF2\u4F7F\u7528 CDN \u52A0\u901F

  1. \u672C\u5730\u53EF\u4EE5\u7A33\u5B9A\u8FDE\u63A5SSH\uFF0C\u5982\u679C\u4E0D\u80FD\u7A33\u5B9A\u8FDE\u63A5\uFF0C\u8BF7\u4F7F\u7528screen\u547D\u4EE4\u521B\u5EFA\u7A97\u53E3\u540E\uFF0C\u5728\u7A97\u53E3\u5185\u6267\u884C\u547D\u4EE4

TIP

\u4E0D\u4F1A\u7528screen\u547D\u4EE4\u7684\uFF0C\u81EA\u884C\u67E5\u627E\u76F8\u5173\u6559\u7A0B\u5B66\u4E60

  1. \u786E\u4FDD\u670D\u52A1\u5668\u7684\u7CFB\u7EDF\u548C\u786C\u4EF6\u6EE1\u8DB3\u5BF9\u5E94\u9879\u76EE\u7684\u8981\u6C42\uFF0C\u8BE6\u89C1\u5BF9\u5E94\u9879\u76EE\u8BF4\u660E

\u672C\u6587\u6863\u5C06\u4EE5VPS\u4F5C\u4E3A\u8303\u4F8B\uFF0C\u4E14\u8BE5VPS\u7EAF\u51C0\uFF0C\u65E0\u539F\u751F\u73AF\u5883\u95EE\u9898\uFF0C\u5982\u6709\u5FC5\u8981\u8BF7\u91CD\u88C5\u7CFB\u7EDF\u4FDD\u8BC1\u521D\u59CB\u73AF\u5883\u7684\u7EAF\u51C0

WARNING

PVE\u9879\u76EE\u53EF\u80FD\u9020\u6210\u5BBF\u4E3B\u673A\u51FA\u73B0\u95EE\u9898\uFF0C\u5982\u679C\u4F60\u4E0D\u4F1A\u770BBug\u548C\u4FEE\u590D\u7CFB\u7EDF\uFF0C\u90A3\u4E48\u4E0D\u5EFA\u8BAE\u4F60\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u4F7F\u7528\uFF0C\u4F7F\u7528PVE\u76F8\u5173\u811A\u672C\u8BF7\u786E\u4FDD\u5BBF\u4E3B\u673A\u968F\u65F6\u53EF\u91CD\u88C5\u7CFB\u7EDF



\u9879\u76EE\u4ED3\u5E93

\u6B22\u8FCEStar\u548CFork

PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C

https://github.com/spiritLHLS/pve

\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4

https://github.com/spiritLHLS/lxc

\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668

https://github.com/spiritLHLS/docker

',19),o=[l];function s(c,d,p,n,h,u){return a(),t("div",null,o)}var g=e(i,[["render",s]]);export{b as __pageData,g as default}; diff --git a/assets/en_US_guide_dashboard.md.776f7521.lean.js b/assets/en_US_guide_dashboard.md.7cfa9509.lean.js similarity index 79% rename from assets/en_US_guide_dashboard.md.776f7521.lean.js rename to assets/en_US_guide_dashboard.md.7cfa9509.lean.js index f92473a925..b3ae2f41fd 100644 --- a/assets/en_US_guide_dashboard.md.776f7521.lean.js +++ b/assets/en_US_guide_dashboard.md.7cfa9509.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as r,d as a}from"./app.37329957.js";const b='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u9879\u76EE\u4ED3\u5E93","slug":"\u9879\u76EE\u4ED3\u5E93"},{"level":3,"title":"PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C","slug":"pve\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C"},{"level":3,"title":"\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4","slug":"\u901A\u8FC7lxd-lxc\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4"},{"level":3,"title":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668","slug":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/dashboard.md"}',i={},l=a("",19),o=[l];function s(c,d,n,p,h,u){return r(),t("div",null,o)}var g=e(i,[["render",s]]);export{b as __pageData,g as default}; +import{_ as e,c as t,o as a,d as r}from"./app.005aa5c6.js";const b='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u9879\u76EE\u4ED3\u5E93","slug":"\u9879\u76EE\u4ED3\u5E93"},{"level":3,"title":"PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C","slug":"pve\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C"},{"level":3,"title":"\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4","slug":"\u901A\u8FC7lxd-lxc\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4"},{"level":3,"title":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668","slug":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/dashboard.md","lastUpdated":1687011015000}',i={},l=r("",19),o=[l];function s(c,d,p,n,h,u){return a(),t("div",null,o)}var g=e(i,[["render",s]]);export{b as __pageData,g as default}; diff --git a/assets/en_US_guide_dashboardq.md.9313b6ab.js b/assets/en_US_guide_dashboardq.md.9313b6ab.js deleted file mode 100644 index 4e713ad71f..0000000000 --- a/assets/en_US_guide_dashboardq.md.9313b6ab.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as t,c as o,o as a,a as e}from"./app.37329957.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md"}',s={},n=e("p",null,"Give me a cup of coffee.",-1),r=e("p",null,[e("a",{href:"https://ko-fi.com/spiritlhl",target:"_blank",rel:"noopener noreferrer"},"https://ko-fi.com/spiritlhl")],-1),c=e("p",null,"USDT-TRC20",-1),l=e("div",{class:"language-bash"},[e("pre",null,[e("code",null,`TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd -`)])],-1),d=[n,r,c,l];function i(_,p,f,h,u,m){return a(),o("div",null,d)}var v=t(s,[["render",i]]);export{k as __pageData,v as default}; diff --git a/assets/en_US_guide_dashboardq.md.9313b6ab.lean.js b/assets/en_US_guide_dashboardq.md.9313b6ab.lean.js deleted file mode 100644 index 4e713ad71f..0000000000 --- a/assets/en_US_guide_dashboardq.md.9313b6ab.lean.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as t,c as o,o as a,a as e}from"./app.37329957.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md"}',s={},n=e("p",null,"Give me a cup of coffee.",-1),r=e("p",null,[e("a",{href:"https://ko-fi.com/spiritlhl",target:"_blank",rel:"noopener noreferrer"},"https://ko-fi.com/spiritlhl")],-1),c=e("p",null,"USDT-TRC20",-1),l=e("div",{class:"language-bash"},[e("pre",null,[e("code",null,`TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd -`)])],-1),d=[n,r,c,l];function i(_,p,f,h,u,m){return a(),o("div",null,d)}var v=t(s,[["render",i]]);export{k as __pageData,v as default}; diff --git a/assets/en_US_guide_dashboardq.md.b34c11d2.js b/assets/en_US_guide_dashboardq.md.b34c11d2.js new file mode 100644 index 0000000000..469be4b444 --- /dev/null +++ b/assets/en_US_guide_dashboardq.md.b34c11d2.js @@ -0,0 +1,2 @@ +import{_ as t,c as o,o as a,a as e}from"./app.005aa5c6.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1687011015000}',s={},n=e("p",null,"Give me a cup of coffee.",-1),r=e("p",null,[e("a",{href:"https://ko-fi.com/spiritlhl",target:"_blank",rel:"noopener noreferrer"},"https://ko-fi.com/spiritlhl")],-1),c=e("p",null,"USDT-TRC20",-1),l=e("div",{class:"language-bash"},[e("pre",null,[e("code",null,`TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd +`)])],-1),d=[n,r,c,l];function i(_,p,f,h,u,m){return a(),o("div",null,d)}var v=t(s,[["render",i]]);export{k as __pageData,v as default}; diff --git a/assets/en_US_guide_dashboardq.md.b34c11d2.lean.js b/assets/en_US_guide_dashboardq.md.b34c11d2.lean.js new file mode 100644 index 0000000000..469be4b444 --- /dev/null +++ b/assets/en_US_guide_dashboardq.md.b34c11d2.lean.js @@ -0,0 +1,2 @@ +import{_ as t,c as o,o as a,a as e}from"./app.005aa5c6.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1687011015000}',s={},n=e("p",null,"Give me a cup of coffee.",-1),r=e("p",null,[e("a",{href:"https://ko-fi.com/spiritlhl",target:"_blank",rel:"noopener noreferrer"},"https://ko-fi.com/spiritlhl")],-1),c=e("p",null,"USDT-TRC20",-1),l=e("div",{class:"language-bash"},[e("pre",null,[e("code",null,`TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd +`)])],-1),d=[n,r,c,l];function i(_,p,f,h,u,m){return a(),o("div",null,d)}var v=t(s,[["render",i]]);export{k as __pageData,v as default}; diff --git a/assets/en_US_guide_docker_build.md.a3958b5b.js b/assets/en_US_guide_docker_build.md.959a945f.js similarity index 91% rename from assets/en_US_guide_docker_build.md.a3958b5b.js rename to assets/en_US_guide_docker_build.md.959a945f.js index da204c7a93..13eda15cd4 100644 --- a/assets/en_US_guide_docker_build.md.a3958b5b.js +++ b/assets/en_US_guide_docker_build.md.959a945f.js @@ -1,4 +1,4 @@ -import{_ as s,c as e,o as a,d as n}from"./app.37329957.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBE","slug":"\u5355\u72EC\u5F00\u8BBE"},{"level":3,"title":"\u793A\u4F8B","slug":"\u793A\u4F8B"},{"level":3,"title":"\u67E5\u8BE2\u4FE1\u606F","slug":"\u67E5\u8BE2\u4FE1\u606F"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBE","slug":"\u6279\u91CF\u5F00\u8BBE"},{"level":2,"title":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF","slug":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF"}],"relativePath":"en_US/guide/docker_build.md"}',o={},c=n(`

\u5355\u72EC\u5F00\u8BBE

\u4E0B\u8F7D\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
+import{_ as s,c as e,o as a,d as n}from"./app.005aa5c6.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBE","slug":"\u5355\u72EC\u5F00\u8BBE"},{"level":3,"title":"\u793A\u4F8B","slug":"\u793A\u4F8B"},{"level":3,"title":"\u67E5\u8BE2\u4FE1\u606F","slug":"\u67E5\u8BE2\u4FE1\u606F"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBE","slug":"\u6279\u91CF\u5F00\u8BBE"},{"level":2,"title":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF","slug":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF"}],"relativePath":"en_US/guide/docker_build.md","lastUpdated":1687011015000}',o={},c=n(`

\u5355\u72EC\u5F00\u8BBE

\u4E0B\u8F7D\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
 

\u8FD0\u884C

./onedocker.sh name cpu memory password sshport startport endport system
 

\u76EE\u524Dsystem\u4EC5\u652F\u6301\u9009\u62E9alpine\u6216debian\uFF0C\u9ED8\u8BA4\u662Fdebian

\u793A\u4F8B

  • \u4EE5\u4E0B\u4E3A\u5F00\u8BBE\u7684\u793A\u4F8B\u5BB9\u5668\u7684\u4FE1\u606F\uFF1A
    \u5BB9\u5668\u540D\u5B57 - test SSH\u767B\u5F55\u7684\u7528\u6237\u540D - root SSH\u767B\u5F55\u7684\u5BC6\u7801 - 123456 CPU\u6838\u6570 - 1
    \u5185\u5B58\u5927\u5C0F - 512MB SSH\u7AEF\u53E3 - 25000 \u5185\u5916\u7F51\u6620\u5C04\u7AEF\u53E3\u4E00\u81F4\u7684\u533A\u95F4 - 34975\u523035000 \u7CFB\u7EDF - debian
./onedocker.sh test 1 512 123456 25000 34975 35000 debian
diff --git a/assets/en_US_guide_docker_build.md.a3958b5b.lean.js b/assets/en_US_guide_docker_build.md.959a945f.lean.js
similarity index 73%
rename from assets/en_US_guide_docker_build.md.a3958b5b.lean.js
rename to assets/en_US_guide_docker_build.md.959a945f.lean.js
index e83673a7fa..97a6961456 100644
--- a/assets/en_US_guide_docker_build.md.a3958b5b.lean.js
+++ b/assets/en_US_guide_docker_build.md.959a945f.lean.js
@@ -1 +1 @@
-import{_ as s,c as e,o as a,d as n}from"./app.37329957.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBE","slug":"\u5355\u72EC\u5F00\u8BBE"},{"level":3,"title":"\u793A\u4F8B","slug":"\u793A\u4F8B"},{"level":3,"title":"\u67E5\u8BE2\u4FE1\u606F","slug":"\u67E5\u8BE2\u4FE1\u606F"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBE","slug":"\u6279\u91CF\u5F00\u8BBE"},{"level":2,"title":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF","slug":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF"}],"relativePath":"en_US/guide/docker_build.md"}',o={},c=n("",34),p=[c];function t(r,l,d,i,u,h){return a(),e("div",null,p)}var g=s(o,[["render",t]]);export{m as __pageData,g as default};
+import{_ as s,c as e,o as a,d as n}from"./app.005aa5c6.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBE","slug":"\u5355\u72EC\u5F00\u8BBE"},{"level":3,"title":"\u793A\u4F8B","slug":"\u793A\u4F8B"},{"level":3,"title":"\u67E5\u8BE2\u4FE1\u606F","slug":"\u67E5\u8BE2\u4FE1\u606F"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBE","slug":"\u6279\u91CF\u5F00\u8BBE"},{"level":2,"title":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF","slug":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF"}],"relativePath":"en_US/guide/docker_build.md","lastUpdated":1687011015000}',o={},c=n("",34),p=[c];function t(r,l,d,i,u,h){return a(),e("div",null,p)}var g=s(o,[["render",t]]);export{m as __pageData,g as default};
diff --git a/assets/en_US_guide_docker_install.md.65657cc1.js b/assets/en_US_guide_docker_install.md.65657cc1.js
deleted file mode 100644
index 5b0a73d1e4..0000000000
--- a/assets/en_US_guide_docker_install.md.65657cc1.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{_ as s,c as a,o as e,d as n}from"./app.37329957.js";const m='{"title":"\u73AF\u5883\u9884\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u73AF\u5883\u9884\u8BBE","slug":"\u73AF\u5883\u9884\u8BBE"}],"relativePath":"en_US/guide/docker_install.md"}',t={},p=n(`

\u73AF\u5883\u9884\u8BBE

  • \u68C0\u6D4B\u73AF\u5883
  • \u5B89\u88C5docker
  • \u4E0B\u8F7D\u9884\u5236\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
-

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
-
`,6),o=[p];function r(c,i,l,d,_,u){return e(),a("div",null,o)}var k=s(t,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/en_US_guide_docker_install.md.65657cc1.lean.js b/assets/en_US_guide_docker_install.md.65657cc1.lean.js deleted file mode 100644 index 76d9bc0af5..0000000000 --- a/assets/en_US_guide_docker_install.md.65657cc1.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as e,d as n}from"./app.37329957.js";const m='{"title":"\u73AF\u5883\u9884\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u73AF\u5883\u9884\u8BBE","slug":"\u73AF\u5883\u9884\u8BBE"}],"relativePath":"en_US/guide/docker_install.md"}',t={},p=n("",6),o=[p];function r(c,i,l,d,_,u){return e(),a("div",null,o)}var k=s(t,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/en_US_guide_docker_install.md.ebd72942.js b/assets/en_US_guide_docker_install.md.ebd72942.js new file mode 100644 index 0000000000..517acc15be --- /dev/null +++ b/assets/en_US_guide_docker_install.md.ebd72942.js @@ -0,0 +1,3 @@ +import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"\u73AF\u5883\u9884\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u73AF\u5883\u9884\u8BBE","slug":"\u73AF\u5883\u9884\u8BBE"}],"relativePath":"en_US/guide/docker_install.md","lastUpdated":1687011015000}',t={},p=n(`

\u73AF\u5883\u9884\u8BBE

  • \u68C0\u6D4B\u73AF\u5883
  • \u5B89\u88C5docker
  • \u4E0B\u8F7D\u9884\u5236\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
+

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
+
`,6),o=[p];function r(c,i,l,d,_,u){return e(),a("div",null,o)}var k=s(t,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/en_US_guide_docker_install.md.ebd72942.lean.js b/assets/en_US_guide_docker_install.md.ebd72942.lean.js new file mode 100644 index 0000000000..f65fe1d188 --- /dev/null +++ b/assets/en_US_guide_docker_install.md.ebd72942.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"\u73AF\u5883\u9884\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u73AF\u5883\u9884\u8BBE","slug":"\u73AF\u5883\u9884\u8BBE"}],"relativePath":"en_US/guide/docker_install.md","lastUpdated":1687011015000}',t={},p=n("",6),o=[p];function r(c,i,l,d,_,u){return e(),a("div",null,o)}var k=s(t,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/en_US_guide_docker_precheck.md.8aab224e.js b/assets/en_US_guide_docker_precheck.md.8aab224e.js new file mode 100644 index 0000000000..c0c2a5ad1c --- /dev/null +++ b/assets/en_US_guide_docker_precheck.md.8aab224e.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as a}from"./app.005aa5c6.js";const f='{"title":"\u9879\u76EE\u7279\u70B9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"}],"relativePath":"en_US/guide/docker_precheck.md","lastUpdated":1687011015000}',o={},p=a('

\u9879\u76EE\u7279\u70B9

\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668(Bulk or individual NAT server provisioning via docker)

\u9ED8\u8BA4\u4F7F\u7528debian\u7CFB\u7EDF\uFF0C\u6BCF\u4E2A\u5BB9\u5668\u81EA\u5E261\u4E2A\u5916\u7F51ssh\u7AEF\u53E3\uFF0C25\u4E2A\u5185\u5916\u7F51\u4E00\u81F4\u7AEF\u53E3

\u9ED8\u8BA4\u521B\u5EFA\u7684\u662F\u975E\u7279\u6743\u5BB9\u5668\uFF0C\u4E14\u4E0D\u6302\u8F7D\u4E0E\u5BBF\u4E3B\u673A\u7684docker\u7684\u5B88\u62A4\u8FDB\u7A0B\u4E4B\u95F4\u7684\u901A\u4FE1\uFF0C\u6240\u4EE5\u5BBF\u4E3B\u673A\u521B\u5EFA\u7684docker\u865A\u62DF\u5316\u7684NAT\u670D\u52A1\u5668\u5185\u65E0\u6CD5\u518D\u5D4C\u5957\u865A\u62DF\u5316docker

\u7531\u4E8E\u53EA\u662F\u5728\u5BBF\u4E3B\u673A\u8FDB\u884C\u4E86CPU\u548C\u5185\u5B58\u7684\u9650\u5236\u672A\u5728\u5BB9\u5668\u5185\u4F7F\u7528cgroup\u9A71\u52A8\uFF0C\u6240\u4EE5\u5728\u5BB9\u5668\u5185\u4F7F\u7528\u670D\u52A1\u5668\u6D4B\u8BD5\u811A\u672C\u68C0\u6D4B\u5BB9\u5668\u7684\u53EF\u7528\u8D44\u6E90\u662F\u65E0\u6548\u7684\uFF0C\u663E\u793A\u7684\u4F1A\u662F\u5BBF\u4E3B\u673A\u7684\u8D44\u6E90

\u7531\u4E8E\u5927\u90E8\u5206\u4E91\u670D\u52A1\u5668xfs\u6587\u4EF6\u7CFB\u7EDF\u4E0D\u542F\u7528pquota\u9009\u9879\uFF0C\u6240\u4EE5\u9ED8\u8BA4\u5171\u4EAB\u5BBF\u4E3B\u673A\u786C\u76D8\uFF0C\u65E0\u6CD5\u9650\u5236\u6BCF\u4E2A\u5BB9\u5668\u7684\u78C1\u76D8\u5927\u5C0F

\u914D\u7F6E\u8981\u6C42

\u7CFB\u7EDF\u53EF\u5B89\u88C5docker\u5373\u53EF\u7528\uFF0C\u7F51\u7EDC\u80FD\u8FDE\u63A5Github\u7684raw\u754C\u9762\u5C31\u80FD\u7528\uFF0C\u786C\u4EF6\u914D\u7F6E\u53EA\u8981\u4E0D\u62C9\u8DE8\u5C31\u884C\uFF0C\u7A7A\u95F2\u786C\u76D8\u67093G\u5C31\u884C

\u63A8\u8350\u5728\u5F00\u8BBENAT\u670D\u52A1\u5668\u524D\u5148\u589E\u52A0\u90E8\u5206SWAP\u865A\u62DF\u5185\u5B58\uFF0C\u907F\u514D\u7A81\u53D1\u7684\u5185\u5B58\u5360\u7528\u5BFC\u81F4\u6BCD\u9E21\u5361\u6B7B \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u8D44\u6E90\u53EA\u662F\u597D\u4E86\u4E00\u70B9\uFF0C\u9700\u8981\u9650\u5236\u66F4\u591A\u4E1C\u897F\u5E76\u9700\u8981\u914D\u7F6EIPV6\u72EC\u7ACB\u5730\u5740\u548C\u9650\u5236\u786C\u76D8\u5927\u5C0F\uFF0C\u53EF\u4F7F\u7528LXD\u6279\u91CF\u5F00LXC\u865A\u62DF\u5316\u7684\u5BB9\u5668 \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u975E\u5E38\u597D\u8D44\u6E90\u5F88\u591A\uFF0C\u53EF\u4F7F\u7528PVE\u6279\u91CF\u5F00KVM\u865A\u62DF\u5316\u7684\u865A\u62DF\u673A \u8DF3\u8F6C

',11),n=[p];function s(i,c,d,_,h,l){return t(),r("div",null,n)}var g=e(o,[["render",s]]);export{f as __pageData,g as default}; diff --git a/assets/en_US_guide_docker_precheck.md.8aab224e.lean.js b/assets/en_US_guide_docker_precheck.md.8aab224e.lean.js new file mode 100644 index 0000000000..b6ec8a036e --- /dev/null +++ b/assets/en_US_guide_docker_precheck.md.8aab224e.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as a}from"./app.005aa5c6.js";const f='{"title":"\u9879\u76EE\u7279\u70B9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"}],"relativePath":"en_US/guide/docker_precheck.md","lastUpdated":1687011015000}',o={},p=a("",11),n=[p];function s(i,c,d,_,h,l){return t(),r("div",null,n)}var g=e(o,[["render",s]]);export{f as __pageData,g as default}; diff --git a/assets/en_US_guide_docker_precheck.md.a21b3d27.js b/assets/en_US_guide_docker_precheck.md.a21b3d27.js deleted file mode 100644 index 751738054e..0000000000 --- a/assets/en_US_guide_docker_precheck.md.a21b3d27.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as a}from"./app.37329957.js";const f='{"title":"\u9879\u76EE\u7279\u70B9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"}],"relativePath":"en_US/guide/docker_precheck.md"}',o={},p=a('

\u9879\u76EE\u7279\u70B9

\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668(Bulk or individual NAT server provisioning via docker)

\u9ED8\u8BA4\u4F7F\u7528debian\u7CFB\u7EDF\uFF0C\u6BCF\u4E2A\u5BB9\u5668\u81EA\u5E261\u4E2A\u5916\u7F51ssh\u7AEF\u53E3\uFF0C25\u4E2A\u5185\u5916\u7F51\u4E00\u81F4\u7AEF\u53E3

\u9ED8\u8BA4\u521B\u5EFA\u7684\u662F\u975E\u7279\u6743\u5BB9\u5668\uFF0C\u4E14\u4E0D\u6302\u8F7D\u4E0E\u5BBF\u4E3B\u673A\u7684docker\u7684\u5B88\u62A4\u8FDB\u7A0B\u4E4B\u95F4\u7684\u901A\u4FE1\uFF0C\u6240\u4EE5\u5BBF\u4E3B\u673A\u521B\u5EFA\u7684docker\u865A\u62DF\u5316\u7684NAT\u670D\u52A1\u5668\u5185\u65E0\u6CD5\u518D\u5D4C\u5957\u865A\u62DF\u5316docker

\u7531\u4E8E\u53EA\u662F\u5728\u5BBF\u4E3B\u673A\u8FDB\u884C\u4E86CPU\u548C\u5185\u5B58\u7684\u9650\u5236\u672A\u5728\u5BB9\u5668\u5185\u4F7F\u7528cgroup\u9A71\u52A8\uFF0C\u6240\u4EE5\u5728\u5BB9\u5668\u5185\u4F7F\u7528\u670D\u52A1\u5668\u6D4B\u8BD5\u811A\u672C\u68C0\u6D4B\u5BB9\u5668\u7684\u53EF\u7528\u8D44\u6E90\u662F\u65E0\u6548\u7684\uFF0C\u663E\u793A\u7684\u4F1A\u662F\u5BBF\u4E3B\u673A\u7684\u8D44\u6E90

\u7531\u4E8E\u5927\u90E8\u5206\u4E91\u670D\u52A1\u5668xfs\u6587\u4EF6\u7CFB\u7EDF\u4E0D\u542F\u7528pquota\u9009\u9879\uFF0C\u6240\u4EE5\u9ED8\u8BA4\u5171\u4EAB\u5BBF\u4E3B\u673A\u786C\u76D8\uFF0C\u65E0\u6CD5\u9650\u5236\u6BCF\u4E2A\u5BB9\u5668\u7684\u78C1\u76D8\u5927\u5C0F

\u914D\u7F6E\u8981\u6C42

\u7CFB\u7EDF\u53EF\u5B89\u88C5docker\u5373\u53EF\u7528\uFF0C\u7F51\u7EDC\u80FD\u8FDE\u63A5Github\u7684raw\u754C\u9762\u5C31\u80FD\u7528\uFF0C\u786C\u4EF6\u914D\u7F6E\u53EA\u8981\u4E0D\u62C9\u8DE8\u5C31\u884C\uFF0C\u7A7A\u95F2\u786C\u76D8\u67093G\u5C31\u884C

\u63A8\u8350\u5728\u5F00\u8BBENAT\u670D\u52A1\u5668\u524D\u5148\u589E\u52A0\u90E8\u5206SWAP\u865A\u62DF\u5185\u5B58\uFF0C\u907F\u514D\u7A81\u53D1\u7684\u5185\u5B58\u5360\u7528\u5BFC\u81F4\u6BCD\u9E21\u5361\u6B7B \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u8D44\u6E90\u53EA\u662F\u597D\u4E86\u4E00\u70B9\uFF0C\u9700\u8981\u9650\u5236\u66F4\u591A\u4E1C\u897F\u5E76\u9700\u8981\u914D\u7F6EIPV6\u72EC\u7ACB\u5730\u5740\u548C\u9650\u5236\u786C\u76D8\u5927\u5C0F\uFF0C\u53EF\u4F7F\u7528LXD\u6279\u91CF\u5F00LXC\u865A\u62DF\u5316\u7684\u5BB9\u5668 \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u975E\u5E38\u597D\u8D44\u6E90\u5F88\u591A\uFF0C\u53EF\u4F7F\u7528PVE\u6279\u91CF\u5F00KVM\u865A\u62DF\u5316\u7684\u865A\u62DF\u673A \u8DF3\u8F6C

',11),n=[p];function i(s,c,d,_,h,l){return t(),r("div",null,n)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/en_US_guide_docker_precheck.md.a21b3d27.lean.js b/assets/en_US_guide_docker_precheck.md.a21b3d27.lean.js deleted file mode 100644 index 005808e2ce..0000000000 --- a/assets/en_US_guide_docker_precheck.md.a21b3d27.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as a}from"./app.37329957.js";const f='{"title":"\u9879\u76EE\u7279\u70B9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"}],"relativePath":"en_US/guide/docker_precheck.md"}',o={},p=a("",11),n=[p];function i(s,c,d,_,h,l){return t(),r("div",null,n)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/en_US_guide_docker_qa.md.2bc94b80.js b/assets/en_US_guide_docker_qa.md.2bc94b80.js deleted file mode 100644 index 8c10d8ec6c..0000000000 --- a/assets/en_US_guide_docker_qa.md.2bc94b80.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.37329957.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md"}',r={};function o(c,n,s,_,d,i){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/en_US_guide_docker_qa.md.2bc94b80.lean.js b/assets/en_US_guide_docker_qa.md.2bc94b80.lean.js deleted file mode 100644 index 8c10d8ec6c..0000000000 --- a/assets/en_US_guide_docker_qa.md.2bc94b80.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.37329957.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md"}',r={};function o(c,n,s,_,d,i){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/en_US_guide_docker_qa.md.4f0ddcb7.js b/assets/en_US_guide_docker_qa.md.4f0ddcb7.js new file mode 100644 index 0000000000..a36026b286 --- /dev/null +++ b/assets/en_US_guide_docker_qa.md.4f0ddcb7.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.005aa5c6.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687011015000}',r={};function o(c,s,n,_,d,p){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/en_US_guide_docker_qa.md.4f0ddcb7.lean.js b/assets/en_US_guide_docker_qa.md.4f0ddcb7.lean.js new file mode 100644 index 0000000000..a36026b286 --- /dev/null +++ b/assets/en_US_guide_docker_qa.md.4f0ddcb7.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.005aa5c6.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687011015000}',r={};function o(c,s,n,_,d,p){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/en_US_guide_docker_thanks.md.4954e2b0.js b/assets/en_US_guide_docker_thanks.md.4954e2b0.js deleted file mode 100644 index 8c10d8ec6c..0000000000 --- a/assets/en_US_guide_docker_thanks.md.4954e2b0.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.37329957.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md"}',r={};function o(c,n,s,_,d,i){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/en_US_guide_docker_thanks.md.4954e2b0.lean.js b/assets/en_US_guide_docker_thanks.md.4954e2b0.lean.js deleted file mode 100644 index 8c10d8ec6c..0000000000 --- a/assets/en_US_guide_docker_thanks.md.4954e2b0.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.37329957.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md"}',r={};function o(c,n,s,_,d,i){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/en_US_guide_docker_thanks.md.c8514e62.js b/assets/en_US_guide_docker_thanks.md.c8514e62.js new file mode 100644 index 0000000000..c94e8986b2 --- /dev/null +++ b/assets/en_US_guide_docker_thanks.md.c8514e62.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.005aa5c6.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","lastUpdated":1687011015000}',r={};function o(s,c,n,_,d,p){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/en_US_guide_docker_thanks.md.c8514e62.lean.js b/assets/en_US_guide_docker_thanks.md.c8514e62.lean.js new file mode 100644 index 0000000000..c94e8986b2 --- /dev/null +++ b/assets/en_US_guide_docker_thanks.md.c8514e62.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.005aa5c6.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","lastUpdated":1687011015000}',r={};function o(s,c,n,_,d,p){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/en_US_guide_lxd_extra_config.md.ab13be23.js b/assets/en_US_guide_lxd_extra_config.md.9cdfc4bd.js similarity index 82% rename from assets/en_US_guide_lxd_extra_config.md.ab13be23.js rename to assets/en_US_guide_lxd_extra_config.md.9cdfc4bd.js index 1ad9674705..d2694f0508 100644 --- a/assets/en_US_guide_lxd_extra_config.md.ab13be23.js +++ b/assets/en_US_guide_lxd_extra_config.md.9cdfc4bd.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,d as e}from"./app.37329957.js";const k='{"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","slug":"\u81EA\u52A8\u914D\u7F6Eipv6\u5730\u5740"},{"level":2,"title":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305","slug":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305"}],"relativePath":"en_US/guide/lxd_extra_config.md"}',t={},o=e(`

::tip \u4EE5\u4E0B\u7684\u914D\u7F6E\u5B89\u88C5\u4F1A\u52A0\u91CD\u6BCD\u9E21\u7684\u8D1F\u62C5\uFF0C\u975E\u5FC5\u8981\u4E0D\u8981\u5B89\u88C5 \u5982\u679C\u662F\u4E2A\u4EBA\u4F7F\u7528\uFF0C\u53EF\u5FFD\u7565\u9632\u6EE5\u7528\u90E8\u5206\u811A\u672C\u7684\u5B89\u88C5 ::

\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740

  • (\u975E\u5FC5\u987B\uFF0C\u4E0D\u4F7F\u7528\u7684\u4E5F\u6CA1\u95EE\u9898)
  • \u8BE5\u811A\u672C\u4EC5\u9002\u7528\u4E8E\u6BCD\u9E21\u6709\u7ED9IPV6\u5B50\u7F51\u4E14\u662F/64\u7684\uFF0C\u4E14\u6BCD\u9E21\u7ED1\u5B9A\u4E86\u5B50\u7F51\u7684\u7B2C\u4E00\u4E2AIP\u505A\u6BCD\u9E21\u7684IPV6\u5730\u5740\u6216IPV6\u7684gateway
  • \u81EA\u52A8\u4E3ALXD\u521B\u5EFA\u7684LXC\u5BB9\u5668\u914D\u7F6EIPV6\u5730\u5740
  • \u5DF2\u96C6\u6210\u5230buildone.sh\u4E2D\u53EF\u4F7F\u7528\u53D8\u91CF\u63A7\u5236\u4E14\u65E0\u9700\u4E8B\u5148\u4E0B\u8F7D\uFF0C\u8BE5\u811A\u672C\u53EF\u4E0D\u624B\u52A8\u4F7F\u7528\uFF0C\u5728\u4F7F\u7528buildone.sh\u65F6\u914D\u7F6EY\u5F00\u542F\u5373\u53EF

\u4E0B\u8F7D\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
+import{_ as s,c as n,o as a,d as e}from"./app.005aa5c6.js";const k='{"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","slug":"\u81EA\u52A8\u914D\u7F6Eipv6\u5730\u5740"},{"level":2,"title":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305","slug":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305"}],"relativePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1687011015000}',t={},o=e(`

::tip \u4EE5\u4E0B\u7684\u914D\u7F6E\u5B89\u88C5\u4F1A\u52A0\u91CD\u6BCD\u9E21\u7684\u8D1F\u62C5\uFF0C\u975E\u5FC5\u8981\u4E0D\u8981\u5B89\u88C5 \u5982\u679C\u662F\u4E2A\u4EBA\u4F7F\u7528\uFF0C\u53EF\u5FFD\u7565\u9632\u6EE5\u7528\u90E8\u5206\u811A\u672C\u7684\u5B89\u88C5 ::

\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740

  • (\u975E\u5FC5\u987B\uFF0C\u4E0D\u4F7F\u7528\u7684\u4E5F\u6CA1\u95EE\u9898)
  • \u8BE5\u811A\u672C\u4EC5\u9002\u7528\u4E8E\u6BCD\u9E21\u6709\u7ED9IPV6\u5B50\u7F51\u4E14\u662F/64\u7684\uFF0C\u4E14\u6BCD\u9E21\u7ED1\u5B9A\u4E86\u5B50\u7F51\u7684\u7B2C\u4E00\u4E2AIP\u505A\u6BCD\u9E21\u7684IPV6\u5730\u5740\u6216IPV6\u7684gateway
  • \u81EA\u52A8\u4E3ALXD\u521B\u5EFA\u7684LXC\u5BB9\u5668\u914D\u7F6EIPV6\u5730\u5740
  • \u5DF2\u96C6\u6210\u5230buildone.sh\u4E2D\u53EF\u4F7F\u7528\u53D8\u91CF\u63A7\u5236\u4E14\u65E0\u9700\u4E8B\u5148\u4E0B\u8F7D\uFF0C\u8BE5\u811A\u672C\u53EF\u4E0D\u624B\u52A8\u4F7F\u7528\uFF0C\u5728\u4F7F\u7528buildone.sh\u65F6\u914D\u7F6EY\u5F00\u542F\u5373\u53EF

\u4E0B\u8F7D\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
 

\u81EA\u52A8\u4E3A\u5BB9\u5668\u914D\u7F6EIPV6\u6620\u5C04\u5730\u5740

bash build_ipv6_network.sh \u5BB9\u5668\u540D\u79F0
 

\u6620\u5C04\u5B8C\u6BD5\u4F1A\u6253\u5370\u4FE1\u606F

\u793A\u4F8B(\u7ED9test\u5BB9\u5668\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740\uFF0C\u914D\u7F6E\u5B8C\u6210\u4F1A\u5199\u5165\u4E00\u4E2Atest_v6\u7684\u6587\u4EF6\u4FE1\u606F)

bash build_ipv6_network.sh test
diff --git a/assets/en_US_guide_lxd_extra_config.md.ab13be23.lean.js b/assets/en_US_guide_lxd_extra_config.md.9cdfc4bd.lean.js
similarity index 66%
rename from assets/en_US_guide_lxd_extra_config.md.ab13be23.lean.js
rename to assets/en_US_guide_lxd_extra_config.md.9cdfc4bd.lean.js
index 7f9b633cc1..68218bf5dd 100644
--- a/assets/en_US_guide_lxd_extra_config.md.ab13be23.lean.js
+++ b/assets/en_US_guide_lxd_extra_config.md.9cdfc4bd.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,d as e}from"./app.37329957.js";const k='{"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","slug":"\u81EA\u52A8\u914D\u7F6Eipv6\u5730\u5740"},{"level":2,"title":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305","slug":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305"}],"relativePath":"en_US/guide/lxd_extra_config.md"}',t={},o=e("",39),p=[o];function c(i,l,r,d,h,u){return a(),n("div",null,p)}var g=s(t,[["render",c]]);export{k as __pageData,g as default};
+import{_ as s,c as n,o as a,d as e}from"./app.005aa5c6.js";const k='{"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","slug":"\u81EA\u52A8\u914D\u7F6Eipv6\u5730\u5740"},{"level":2,"title":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305","slug":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305"}],"relativePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1687011015000}',t={},o=e("",39),p=[o];function c(i,l,r,d,h,u){return a(),n("div",null,p)}var g=s(t,[["render",c]]);export{k as __pageData,g as default};
diff --git a/assets/en_US_guide_lxd_install.md.3b1437fa.js b/assets/en_US_guide_lxd_install.md.0b435670.js
similarity index 89%
rename from assets/en_US_guide_lxd_install.md.3b1437fa.js
rename to assets/en_US_guide_lxd_install.md.0b435670.js
index 3798d7d0bd..6c86fc1b49 100644
--- a/assets/en_US_guide_lxd_install.md.3b1437fa.js
+++ b/assets/en_US_guide_lxd_install.md.0b435670.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,d as p}from"./app.37329957.js";const g='{"title":"\u624B\u52A8\u5B89\u88C5","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u624B\u52A8\u5B89\u88C5","slug":"\u624B\u52A8\u5B89\u88C5"},{"level":3,"title":"\u5173\u95ED\u9632\u706B\u5899","slug":"\u5173\u95ED\u9632\u706B\u5899"},{"level":3,"title":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP","slug":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58swap"},{"level":3,"title":"\u5B89\u88C5LXD","slug":"\u5B89\u88C5lxd"},{"level":2,"title":"\u4E00\u952E\u5B89\u88C5","slug":"\u4E00\u952E\u5B89\u88C5"}],"relativePath":"en_US/guide/lxd_install.md"}',e={},t=p(`

\u624B\u52A8\u5B89\u88C5

\u65B0\u624B\u63A8\u8350\uFF0C\u907F\u514D\u6709bug\u4E0D\u77E5\u9053\u600E\u4E48\u4FEE\uFF0C\u5F53\u7136\u5982\u679C\u53EA\u662F\u56FE\u65B9\u4FBF\u53C8\u662F\u8001\u624B\u61C2\u6392\u67E5BUG\uFF0C\u7528\u540E\u9762\u7684\u4E00\u952E\u5B89\u88C5\u4E5F\u884C

\u5173\u95ED\u9632\u706B\u5899

apt update
+import{_ as a,c as s,o as n,d as p}from"./app.005aa5c6.js";const g='{"title":"\u624B\u52A8\u5B89\u88C5","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u624B\u52A8\u5B89\u88C5","slug":"\u624B\u52A8\u5B89\u88C5"},{"level":3,"title":"\u5173\u95ED\u9632\u706B\u5899","slug":"\u5173\u95ED\u9632\u706B\u5899"},{"level":3,"title":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP","slug":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58swap"},{"level":3,"title":"\u5B89\u88C5LXD","slug":"\u5B89\u88C5lxd"},{"level":2,"title":"\u4E00\u952E\u5B89\u88C5","slug":"\u4E00\u952E\u5B89\u88C5"}],"relativePath":"en_US/guide/lxd_install.md","lastUpdated":1687011015000}',e={},t=p(`

\u624B\u52A8\u5B89\u88C5

\u65B0\u624B\u63A8\u8350\uFF0C\u907F\u514D\u6709bug\u4E0D\u77E5\u9053\u600E\u4E48\u4FEE\uFF0C\u5F53\u7136\u5982\u679C\u53EA\u662F\u56FE\u65B9\u4FBF\u53C8\u662F\u8001\u624B\u61C2\u6392\u67E5BUG\uFF0C\u7528\u540E\u9762\u7684\u4E00\u952E\u5B89\u88C5\u4E5F\u884C

\u5173\u95ED\u9632\u706B\u5899

apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable
 

\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP

\u5185\u5B58\u770B\u4F60\u5F00\u591A\u5C11\u5C0F\u9E21\uFF0C\u8FD9\u91CC\u5982\u679C\u8981\u5F008\u4E2A\uFF0C\u6362\u7B97\u9700\u89812G\u5185\u5B58\uFF0C\u5B9E\u9645\u5185\u5B58\u5982\u679C\u662F512MB\u5185\u5B58\uFF0C\u8FD8\u9700\u8981\u5F001.5G\uFF0C\u4FDD\u5B88\u70B9\u5F002G\u865A\u62DF\u5185\u5B58\u5373\u53EF

\u6267\u884C\u4E0B\u9762\u547D\u4EE4\uFF0C\u8F93\u51651\uFF0C\u518D\u8F93\u51652048\uFF0C\u4EE3\u8868\u5F002G\u865A\u62DF\u5185\u5B58

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh
@@ -12,4 +12,4 @@ snap install lxd
 export PATH=$PATH:/snap/bin
 

\u8FDE\u63A5\u540E\u518D\u6D4B\u8BD5lxc\u547D\u4EE4\u662F\u5426\u6709\u62A5\u9519\u627E\u4E0D\u5230

\u4E00\u952E\u5B89\u88C5

::tip \u5982\u679C\u662F\u5168\u65B0\u7684\u670D\u52A1\u5668\uFF0C\u52A1\u5FC5\u4FDD\u8BC1apt update\u548Capt install curl\u90FD\u65E0\u95EE\u9898\u518D\u6267\u884C\u672C\u811A\u672C \u4E14\u81EA\u5F00\u673A\u8D77\u6700\u597D\u7B49\u5F855\u5206\u949F\u540E\u518D\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\uFF0C\u907F\u514D\u7CFB\u7EDF\u9ED8\u8BA4\u8BBE\u7F6E\u4E2D\u5C31\u6267\u884C\u4E86\u672C\u811A\u672C\u5BFC\u81F4apt\u6E90\u5361\u6B7B ::

  • \u73AF\u5883\u8981\u6C42\uFF1AUbuntu 18+(\u63A8\u8350)\uFF0CDebian 8+(\u4EC5\u9650x86_64\u67B6\u6784)

\u5982\u679C\u662FDebian\u7CFB\u7684\u5BBF\u4E3B\u673A\uFF0C\u52A1\u5FC5\u5728screen\u4E2D\u6267\u884C\u672C\u811A\u672C\uFF0C\u907F\u514D\u957F\u671F\u8FD0\u884C\u65F6SSH\u4E2D\u65AD\u5BFC\u81F4ZFS\u7F16\u8BD1\u5B89\u88C5\u5931\u8D25

\u8FD9\u91CC\u7684\u865A\u62DF\u5185\u5B58\u662F\u8BF4\u8981\u5F00\u7684SWAP\u5927\u5C0F\uFF0C\u5B58\u50A8\u6C60\u5219\u662F\u4F60\u6240\u6709\u8981\u5F00\u7684\u5C0F\u9E21\u5360\u7684\u76D8\u7684\u5927\u5C0F\u7684\u603B\u548C

\u73AF\u5883\u5B89\u88C5\u8FC7\u7A0B\u4E2D\u53EF\u80FD\u9700\u8981\u91CD\u542F\u670D\u52A1\u5668\u518D\u6B21\u6267\u884C\u4EE5\u52A0\u8F7D\u542Bzfs\u7684\u5185\u6838\uFF0C\u4E00\u5207\u4EE5\u8FD0\u884C\u540E\u547D\u4EE4\u884C\u7684\u63D0\u793A\u4E3A\u51C6

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh
-

\u4F8B\u5B50\uFF1A

\u5982\u679C\u7CFB\u7EDF\u76D8\u9664\u53BB\u5DF2\u5360\u7528\u7A7A\u95F4\u8FD8\u670918G\u786C\u76D8\u7A7A\u4F59\uFF0C\u60F3\u5F002G\u865A\u62DF\u5185\u5B58(2048MB\u7684SWAP)\uFF0C15G\u7684\u5B58\u50A8\u6C60\uFF0C\u6309\u7167\u547D\u4EE4\u884C\u7684\u63D0\u793A\u5219\u4F9D\u6B21\u8F93\u51652048\u548C15

`,40),o=[t];function l(c,r,i,d,h,u){return n(),a("div",null,o)}var x=s(e,[["render",l]]);export{g as __pageData,x as default}; +

\u4F8B\u5B50\uFF1A

\u5982\u679C\u7CFB\u7EDF\u76D8\u9664\u53BB\u5DF2\u5360\u7528\u7A7A\u95F4\u8FD8\u670918G\u786C\u76D8\u7A7A\u4F59\uFF0C\u60F3\u5F002G\u865A\u62DF\u5185\u5B58(2048MB\u7684SWAP)\uFF0C15G\u7684\u5B58\u50A8\u6C60\uFF0C\u6309\u7167\u547D\u4EE4\u884C\u7684\u63D0\u793A\u5219\u4F9D\u6B21\u8F93\u51652048\u548C15

`,40),o=[t];function l(c,r,i,d,h,u){return n(),s("div",null,o)}var x=a(e,[["render",l]]);export{g as __pageData,x as default}; diff --git a/assets/en_US_guide_lxd_install.md.3b1437fa.lean.js b/assets/en_US_guide_lxd_install.md.0b435670.lean.js similarity index 64% rename from assets/en_US_guide_lxd_install.md.3b1437fa.lean.js rename to assets/en_US_guide_lxd_install.md.0b435670.lean.js index df67e9c454..6198673b94 100644 --- a/assets/en_US_guide_lxd_install.md.3b1437fa.lean.js +++ b/assets/en_US_guide_lxd_install.md.0b435670.lean.js @@ -1 +1 @@ -import{_ as s,c as a,o as n,d as p}from"./app.37329957.js";const g='{"title":"\u624B\u52A8\u5B89\u88C5","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u624B\u52A8\u5B89\u88C5","slug":"\u624B\u52A8\u5B89\u88C5"},{"level":3,"title":"\u5173\u95ED\u9632\u706B\u5899","slug":"\u5173\u95ED\u9632\u706B\u5899"},{"level":3,"title":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP","slug":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58swap"},{"level":3,"title":"\u5B89\u88C5LXD","slug":"\u5B89\u88C5lxd"},{"level":2,"title":"\u4E00\u952E\u5B89\u88C5","slug":"\u4E00\u952E\u5B89\u88C5"}],"relativePath":"en_US/guide/lxd_install.md"}',e={},t=p("",40),o=[t];function l(c,r,i,d,h,u){return n(),a("div",null,o)}var x=s(e,[["render",l]]);export{g as __pageData,x as default}; +import{_ as a,c as s,o as n,d as p}from"./app.005aa5c6.js";const g='{"title":"\u624B\u52A8\u5B89\u88C5","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u624B\u52A8\u5B89\u88C5","slug":"\u624B\u52A8\u5B89\u88C5"},{"level":3,"title":"\u5173\u95ED\u9632\u706B\u5899","slug":"\u5173\u95ED\u9632\u706B\u5899"},{"level":3,"title":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP","slug":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58swap"},{"level":3,"title":"\u5B89\u88C5LXD","slug":"\u5B89\u88C5lxd"},{"level":2,"title":"\u4E00\u952E\u5B89\u88C5","slug":"\u4E00\u952E\u5B89\u88C5"}],"relativePath":"en_US/guide/lxd_install.md","lastUpdated":1687011015000}',e={},t=p("",40),o=[t];function l(c,r,i,d,h,u){return n(),s("div",null,o)}var x=a(e,[["render",l]]);export{g as __pageData,x as default}; diff --git a/assets/en_US_guide_lxd_lxc.md.cec1519c.js b/assets/en_US_guide_lxd_lxc.md.571b21ae.js similarity index 90% rename from assets/en_US_guide_lxd_lxc.md.cec1519c.js rename to assets/en_US_guide_lxd_lxc.md.571b21ae.js index 1f28176758..d3f9cb40a3 100644 --- a/assets/en_US_guide_lxd_lxc.md.cec1519c.js +++ b/assets/en_US_guide_lxd_lxc.md.571b21ae.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,d as e}from"./app.37329957.js";const m='{"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","slug":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C"},{"level":3,"title":"\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C","slug":"\u53EA\u6709\u4E00\u4E2Assh\u7AEF\u53E3\u7684\u7248\u672C"},{"level":2,"title":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u90E8\u5206\u5E38\u7528LXD\u547D\u4EE4","slug":"\u90E8\u5206\u5E38\u7528lxd\u547D\u4EE4"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377","slug":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377"},{"level":3,"title":"\u53EA\u5F00\u4E00\u4E2ANAT\u670D\u52A1\u5668","slug":"\u53EA\u5F00\u4E00\u4E2Anat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/lxd_lxc.md"}',p={},t=e(`

\u666E\u901A\u7684\u6279\u91CF\u7248\u672C

\u5F00\u51FA\u7684\u5C0F\u9E21\u914D\u7F6E\uFF1A

  • 1\u6838256MB\u5185\u5B581GB\u786C\u76D8\u9650\u901F250Mbps\u5E26\u5BBD
  • \u5E261\u4E2ASSH\u7AEF\u53E3\uFF0C25\u4E2A\u5916\u7F51\u7AEF\u53E3
  • \u9ED8\u8BA4\u5185\u5B58\u548C\u786C\u76D8\u5927\u5C0F

::tip lxc\u82E5\u547D\u4EE4\u65E0\u95EE\u9898\uFF0C\u6267\u884C\u521D\u59CB\u5316\u5F00\u5C0F\u9E21\uFF0C\u8FD9\u4E00\u6B65\u6700\u597D\u653Escreen\u4E2D\u540E\u53F0\u6302\u8D77\u6267\u884C\uFF0C\u5F00\u5C0F\u9E21\u65F6\u957F\u4E0E\u4F60\u5F00\u51E0\u4E2A\u548C\u6BCD\u9E21\u914D\u7F6E\u76F8\u5173 ::

\u6267\u884C\u4E0B\u9762\u547D\u4EE4\u52A0\u8F7D\u5F00\u673A\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
+import{_ as s,c as a,o as n,d as e}from"./app.005aa5c6.js";const m='{"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","slug":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C"},{"level":3,"title":"\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C","slug":"\u53EA\u6709\u4E00\u4E2Assh\u7AEF\u53E3\u7684\u7248\u672C"},{"level":2,"title":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u90E8\u5206\u5E38\u7528LXD\u547D\u4EE4","slug":"\u90E8\u5206\u5E38\u7528lxd\u547D\u4EE4"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377","slug":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377"},{"level":3,"title":"\u53EA\u5F00\u4E00\u4E2ANAT\u670D\u52A1\u5668","slug":"\u53EA\u5F00\u4E00\u4E2Anat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/lxd_lxc.md","lastUpdated":1687011015000}',p={},t=e(`

\u666E\u901A\u7684\u6279\u91CF\u7248\u672C

\u5F00\u51FA\u7684\u5C0F\u9E21\u914D\u7F6E\uFF1A

  • 1\u6838256MB\u5185\u5B581GB\u786C\u76D8\u9650\u901F250Mbps\u5E26\u5BBD
  • \u5E261\u4E2ASSH\u7AEF\u53E3\uFF0C25\u4E2A\u5916\u7F51\u7AEF\u53E3
  • \u9ED8\u8BA4\u5185\u5B58\u548C\u786C\u76D8\u5927\u5C0F

::tip lxc\u82E5\u547D\u4EE4\u65E0\u95EE\u9898\uFF0C\u6267\u884C\u521D\u59CB\u5316\u5F00\u5C0F\u9E21\uFF0C\u8FD9\u4E00\u6B65\u6700\u597D\u653Escreen\u4E2D\u540E\u53F0\u6302\u8D77\u6267\u884C\uFF0C\u5F00\u5C0F\u9E21\u65F6\u957F\u4E0E\u4F60\u5F00\u51E0\u4E2A\u548C\u6BCD\u9E21\u914D\u7F6E\u76F8\u5173 ::

\u6267\u884C\u4E0B\u9762\u547D\u4EE4\u52A0\u8F7D\u5F00\u673A\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
 

\u4E0B\u9762\u547D\u4EE4\u4E3A\u5F00\u5C0F\u9E21\u540D\u5B57\u524D\u7F00\u4E3Atj\u768410\u4E2A\u5C0F\u9E21

./init.sh tj 10
 

\u6709\u65F6\u5019init.sh\u7684\u8FD0\u884C\u8DEF\u5F84\u6709\u95EE\u9898\uFF0C\u6B64\u65F6\u5EFA\u8BAE\u524D\u9762\u52A0\u4E0Asudo\u5F3A\u5236\u6839\u76EE\u5F55\u6267\u884C

\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C

\u5F00\u51FA\u7684\u5C0F\u9E21\u914D\u7F6E\uFF1A

  • 1\u6838128MB\u5185\u5B58300MB\u786C\u76D8\u9650\u901F200Mbps\u5E26\u5BBD
  • \u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3
  • \u65E0\u6CD5\u6302\u8F7Dwarp

::tip lxc\u82E5\u547D\u4EE4\u65E0\u95EE\u9898\uFF0C\u6267\u884C\u521D\u59CB\u5316\u5F00\u5C0F\u9E21\uFF0C\u8FD9\u4E00\u6B65\u6700\u597D\u653Escreen\u4E2D\u540E\u53F0\u6302\u8D77\u6267\u884C\uFF0C\u5F00\u5C0F\u9E21\u65F6\u957F\u4E0E\u4F60\u5F00\u51E0\u4E2A\u548C\u6BCD\u9E21\u914D\u7F6E\u76F8\u5173 ::

\u52A0\u8F7D\u5F00\u673A\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/least.sh -o least.sh && chmod +x least.sh && dos2unix least.sh
diff --git a/assets/en_US_guide_lxd_lxc.md.cec1519c.lean.js b/assets/en_US_guide_lxd_lxc.md.571b21ae.lean.js
similarity index 79%
rename from assets/en_US_guide_lxd_lxc.md.cec1519c.lean.js
rename to assets/en_US_guide_lxd_lxc.md.571b21ae.lean.js
index ecd483a603..017509ae93 100644
--- a/assets/en_US_guide_lxd_lxc.md.cec1519c.lean.js
+++ b/assets/en_US_guide_lxd_lxc.md.571b21ae.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,d as e}from"./app.37329957.js";const m='{"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","slug":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C"},{"level":3,"title":"\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C","slug":"\u53EA\u6709\u4E00\u4E2Assh\u7AEF\u53E3\u7684\u7248\u672C"},{"level":2,"title":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u90E8\u5206\u5E38\u7528LXD\u547D\u4EE4","slug":"\u90E8\u5206\u5E38\u7528lxd\u547D\u4EE4"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377","slug":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377"},{"level":3,"title":"\u53EA\u5F00\u4E00\u4E2ANAT\u670D\u52A1\u5668","slug":"\u53EA\u5F00\u4E00\u4E2Anat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/lxd_lxc.md"}',p={},t=e("",72),o=[t];function c(l,i,d,r,u,h){return n(),a("div",null,o)}var k=s(p,[["render",c]]);export{m as __pageData,k as default};
+import{_ as s,c as a,o as n,d as e}from"./app.005aa5c6.js";const m='{"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","slug":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C"},{"level":3,"title":"\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C","slug":"\u53EA\u6709\u4E00\u4E2Assh\u7AEF\u53E3\u7684\u7248\u672C"},{"level":2,"title":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u90E8\u5206\u5E38\u7528LXD\u547D\u4EE4","slug":"\u90E8\u5206\u5E38\u7528lxd\u547D\u4EE4"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377","slug":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377"},{"level":3,"title":"\u53EA\u5F00\u4E00\u4E2ANAT\u670D\u52A1\u5668","slug":"\u53EA\u5F00\u4E00\u4E2Anat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/lxd_lxc.md","lastUpdated":1687011015000}',p={},t=e("",72),o=[t];function c(l,i,d,r,u,h){return n(),a("div",null,o)}var k=s(p,[["render",c]]);export{m as __pageData,k as default};
diff --git a/assets/en_US_guide_lxd_precheck.md.514116ed.js b/assets/en_US_guide_lxd_precheck.md.514116ed.js
deleted file mode 100644
index 60756f178e..0000000000
--- a/assets/en_US_guide_lxd_precheck.md.514116ed.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import{_ as e,c as i,o as r,d as t}from"./app.37329957.js";const b='{"title":"\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"},{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/lxd_precheck.md"}',a={},l=t(`

\u914D\u7F6E\u8981\u6C42

\u786C\u4EF6\u8981\u6C42:

  • \u7CFB\u7EDF\uFF1ADebian 8+, Ubuntu 18+(\u63A8\u8350)\uFF0C\u7CFB\u7EDF\u8D8A\u65B0\u8D8A\u597D
  • \u865A\u62DF\u5316\uFF1A\u63A8\u8350KVM\u3001VMWARE\u865A\u62DF\u5316
  • \u5185\u5B58\uFF1A\u5185\u5B58\u81F3\u5C11512MB
  • \u786C\u76D8\uFF1A\u786C\u76D8(\u7CFB\u7EDF\u76D8)\u81F3\u5C1110G
  • \u7F51\u7EDC\uFF1A\u72EC\u7ACB\u7684IPV4\u5730\u5740\uFF0CIPV6\u53EF\u6709\u53EF\u65E0\uFF0C\u5E26\u5BBD\u80FD\u4E0B\u8F7D\u811A\u672C\u5C31\u884C\uFF0C\u7F51\u7EDC\u80FD\u8FDE\u63A5Github\u7684raw\u9875\u9762\u5C31\u884C

PS: \u5982\u679C\u786C\u4EF6\u975E\u5E38\u597D\u8D44\u6E90\u5F88\u591A\uFF0C\u53EF\u4F7F\u7528PVE\u6279\u91CF\u5F00KVM\u865A\u62DF\u5316\u7684\u865A\u62DF\u673A \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u8D44\u6E90\u66F4\u70C2\uFF0C\u865A\u62DF\u5316\u4E0D\u652F\u6301\uFF0C\u53EF\u4F7F\u7528docker\u7248\u672C\u7684\uFF0C\u9002\u914D\u9762\u66F4\u5E7F \u8DF3\u8F6C

\u9879\u76EE\u7279\u70B9

  • \u672C\u5957\u811A\u672C\u5F00\u53D1\u4F7F\u7528\u7684Ubuntu20\uFF0CUbuntu\u522B\u7684\u957F\u671F\u7EF4\u62A4\u7248\u672C\u5E94\u8BE5\u4E5F\u6CA1\u95EE\u9898\uFF0CDebian\u65E0\u6CD5\u4F7F\u7528zfs\u65F6\u81EA\u52A8\u5207\u6362\u522B\u7684\u5B58\u50A8\u7C7B\u578B

  • \u5DF2\u8BBE\u7F6E\u540C\u65F6\u8FDB\u884CTCP\u548CUDP\u8F6C\u53D1\uFF0C\u9664\u4E86SSH\u7AEF\u53E3\u5176\u4ED6\u7684\u6620\u5C04\u5185\u7F51\u5916\u7F51\u7AEF\u53E3\u4E00\u81F4

  • \u5DF2\u8BBE\u7F6E\u652F\u6301\u5F00\u51FA\u7684LXC\u5BB9\u5668\u8FDB\u884Cdocker\u5D4C\u5957\u865A\u62DF\uFF0C\u9ED8\u8BA4\u666E\u901A\u7248\u672C\u548C\u7EAF\u63A2\u9488\u7248\u672C\u4F7F\u7528debian11\u7CFB\u7EDF

  • \u5DF2\u5C4F\u853D\u5BB9\u5668\u5185\u53EF\u80FD\u7528\u4E8E\u6EE5\u7528\u7684\u5DE5\u5177\u5305\u548CIPV4\u7F51\u7EDC\u7684TCP/UDP\u534F\u8BAE\u7684\u7AEF\u53E3( 3389 8888 54321 65432 )\uFF0C\u4EE5\u9632\u6B62\u5BB9\u5668\u88AB\u7528\u4E8E\u626B\u63CF\u548C\u7206\u7834\uFF0C\u4E14\u53EF\u5916\u7F6E\u8FDB\u7A0B\u68C0\u67E5\u6709\u95EE\u9898\u81EA\u52A8\u505C\u673A

  • \u5DF2\u652F\u6301\u4E00\u952E\u4E3ALXC\u5BB9\u5668\u914D\u7F6EIPV6\u5730\u5740(\u524D\u63D0\u662F\u6BCD\u9E21\u6709IPV6\u5B50\u7F51\uFF0C\u65E0IPV6\u5730\u5740\u5219\u4E0D\u914D\u7F6E)

  • \u4E00\u5B9A\u8981\u5728 /root \u7684\u8DEF\u5F84\u4E0B\u8FD0\u884C\u672C\u4ED3\u5E93\u811A\u672C\uFF0C\u4E14\u4F7F\u7528\u4E00\u952E\u811A\u672C\u7684\u4E0D\u8981\u5220\u9664\u8DEF\u5F84\u4E0B\u7684ssh.sh\u548Cconfig.sh\u6587\u4EF6

  • \u4FDD\u8BC1\u4F60\u8981\u5F00\u7684\u76D8\u4E3A\u9ED8\u8BA4\u7684\u7CFB\u7EDF\u76D8(sda\u6216\u8005sda1)\u800C\u4E0D\u662F\u6302\u8F7D\u7684\u76D8(sdb\u4E4B\u7C7B\u7684)\uFF0C\u4E0D\u786E\u5B9A\u7684\u4F7F\u7528fdisk -l\u548Cdf\u67E5\u770B

  • \u6302\u8F7D\u5176\u4ED6\u76D8\u7684\u8BE6\u770B \u5176\u4ED6\u8BF4\u660E

  • \u4E00\u952E\u811A\u672C\u652F\u6301\u81EA\u5B9A\u4E49\u9650\u5236\u6240\u6709\u5185\u5BB9\uFF0C\u666E\u901A\u7248\u672C\u652F\u6301\u591A\u6B21\u8FD0\u884C\u6279\u91CF\u751F\u6210\u4E0D\u8986\u76D6\u5148\u524D\u751F\u6210\u7684\u914D\u7F6E

\u68C0\u6D4B\u73AF\u5883

\u4F7F\u7528\u540E\u7EED\u811A\u672C\u7684\u52A1\u5FC5\u6267\u884C\u672C\u547D\u4EE4\u68C0\u6D4B\u6BCD\u9E21\u662F\u5426\u7B26\u5408\u8981\u6C42

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
-
`,10),o=[l];function c(d,n,s,p,h,_){return r(),i("div",null,o)}var f=e(a,[["render",c]]);export{b as __pageData,f as default}; diff --git a/assets/en_US_guide_lxd_precheck.md.fde7ca82.js b/assets/en_US_guide_lxd_precheck.md.fde7ca82.js new file mode 100644 index 0000000000..af9e83ea9d --- /dev/null +++ b/assets/en_US_guide_lxd_precheck.md.fde7ca82.js @@ -0,0 +1,2 @@ +import{_ as e,c as t,o as i,d as r}from"./app.005aa5c6.js";const b='{"title":"\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"},{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/lxd_precheck.md","lastUpdated":1687011015000}',a={},l=r(`

\u914D\u7F6E\u8981\u6C42

\u786C\u4EF6\u8981\u6C42:

  • \u7CFB\u7EDF\uFF1ADebian 8+, Ubuntu 18+(\u63A8\u8350)\uFF0C\u7CFB\u7EDF\u8D8A\u65B0\u8D8A\u597D
  • \u865A\u62DF\u5316\uFF1A\u63A8\u8350KVM\u3001VMWARE\u865A\u62DF\u5316
  • \u5185\u5B58\uFF1A\u5185\u5B58\u81F3\u5C11512MB
  • \u786C\u76D8\uFF1A\u786C\u76D8(\u7CFB\u7EDF\u76D8)\u81F3\u5C1110G
  • \u7F51\u7EDC\uFF1A\u72EC\u7ACB\u7684IPV4\u5730\u5740\uFF0CIPV6\u53EF\u6709\u53EF\u65E0\uFF0C\u5E26\u5BBD\u80FD\u4E0B\u8F7D\u811A\u672C\u5C31\u884C\uFF0C\u7F51\u7EDC\u80FD\u8FDE\u63A5Github\u7684raw\u9875\u9762\u5C31\u884C

PS: \u5982\u679C\u786C\u4EF6\u975E\u5E38\u597D\u8D44\u6E90\u5F88\u591A\uFF0C\u53EF\u4F7F\u7528PVE\u6279\u91CF\u5F00KVM\u865A\u62DF\u5316\u7684\u865A\u62DF\u673A \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u8D44\u6E90\u66F4\u70C2\uFF0C\u865A\u62DF\u5316\u4E0D\u652F\u6301\uFF0C\u53EF\u4F7F\u7528docker\u7248\u672C\u7684\uFF0C\u9002\u914D\u9762\u66F4\u5E7F \u8DF3\u8F6C

\u9879\u76EE\u7279\u70B9

  • \u672C\u5957\u811A\u672C\u5F00\u53D1\u4F7F\u7528\u7684Ubuntu20\uFF0CUbuntu\u522B\u7684\u957F\u671F\u7EF4\u62A4\u7248\u672C\u5E94\u8BE5\u4E5F\u6CA1\u95EE\u9898\uFF0CDebian\u65E0\u6CD5\u4F7F\u7528zfs\u65F6\u81EA\u52A8\u5207\u6362\u522B\u7684\u5B58\u50A8\u7C7B\u578B

  • \u5DF2\u8BBE\u7F6E\u540C\u65F6\u8FDB\u884CTCP\u548CUDP\u8F6C\u53D1\uFF0C\u9664\u4E86SSH\u7AEF\u53E3\u5176\u4ED6\u7684\u6620\u5C04\u5185\u7F51\u5916\u7F51\u7AEF\u53E3\u4E00\u81F4

  • \u5DF2\u8BBE\u7F6E\u652F\u6301\u5F00\u51FA\u7684LXC\u5BB9\u5668\u8FDB\u884Cdocker\u5D4C\u5957\u865A\u62DF\uFF0C\u9ED8\u8BA4\u666E\u901A\u7248\u672C\u548C\u7EAF\u63A2\u9488\u7248\u672C\u4F7F\u7528debian11\u7CFB\u7EDF

  • \u5DF2\u5C4F\u853D\u5BB9\u5668\u5185\u53EF\u80FD\u7528\u4E8E\u6EE5\u7528\u7684\u5DE5\u5177\u5305\u548CIPV4\u7F51\u7EDC\u7684TCP/UDP\u534F\u8BAE\u7684\u7AEF\u53E3( 3389 8888 54321 65432 )\uFF0C\u4EE5\u9632\u6B62\u5BB9\u5668\u88AB\u7528\u4E8E\u626B\u63CF\u548C\u7206\u7834\uFF0C\u4E14\u53EF\u5916\u7F6E\u8FDB\u7A0B\u68C0\u67E5\u6709\u95EE\u9898\u81EA\u52A8\u505C\u673A

  • \u5DF2\u652F\u6301\u4E00\u952E\u4E3ALXC\u5BB9\u5668\u914D\u7F6EIPV6\u5730\u5740(\u524D\u63D0\u662F\u6BCD\u9E21\u6709IPV6\u5B50\u7F51\uFF0C\u65E0IPV6\u5730\u5740\u5219\u4E0D\u914D\u7F6E)

  • \u4E00\u5B9A\u8981\u5728 /root \u7684\u8DEF\u5F84\u4E0B\u8FD0\u884C\u672C\u4ED3\u5E93\u811A\u672C\uFF0C\u4E14\u4F7F\u7528\u4E00\u952E\u811A\u672C\u7684\u4E0D\u8981\u5220\u9664\u8DEF\u5F84\u4E0B\u7684ssh.sh\u548Cconfig.sh\u6587\u4EF6

  • \u4FDD\u8BC1\u4F60\u8981\u5F00\u7684\u76D8\u4E3A\u9ED8\u8BA4\u7684\u7CFB\u7EDF\u76D8(sda\u6216\u8005sda1)\u800C\u4E0D\u662F\u6302\u8F7D\u7684\u76D8(sdb\u4E4B\u7C7B\u7684)\uFF0C\u4E0D\u786E\u5B9A\u7684\u4F7F\u7528fdisk -l\u548Cdf\u67E5\u770B

  • \u6302\u8F7D\u5176\u4ED6\u76D8\u7684\u8BE6\u770B \u5176\u4ED6\u8BF4\u660E

  • \u4E00\u952E\u811A\u672C\u652F\u6301\u81EA\u5B9A\u4E49\u9650\u5236\u6240\u6709\u5185\u5BB9\uFF0C\u666E\u901A\u7248\u672C\u652F\u6301\u591A\u6B21\u8FD0\u884C\u6279\u91CF\u751F\u6210\u4E0D\u8986\u76D6\u5148\u524D\u751F\u6210\u7684\u914D\u7F6E

\u68C0\u6D4B\u73AF\u5883

\u4F7F\u7528\u540E\u7EED\u811A\u672C\u7684\u52A1\u5FC5\u6267\u884C\u672C\u547D\u4EE4\u68C0\u6D4B\u6BCD\u9E21\u662F\u5426\u7B26\u5408\u8981\u6C42

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
+
`,10),o=[l];function c(d,s,n,p,h,_){return i(),t("div",null,o)}var f=e(a,[["render",c]]);export{b as __pageData,f as default}; diff --git a/assets/en_US_guide_lxd_precheck.md.514116ed.lean.js b/assets/en_US_guide_lxd_precheck.md.fde7ca82.lean.js similarity index 52% rename from assets/en_US_guide_lxd_precheck.md.514116ed.lean.js rename to assets/en_US_guide_lxd_precheck.md.fde7ca82.lean.js index 9293bf6c0a..6428249e9b 100644 --- a/assets/en_US_guide_lxd_precheck.md.514116ed.lean.js +++ b/assets/en_US_guide_lxd_precheck.md.fde7ca82.lean.js @@ -1 +1 @@ -import{_ as e,c as i,o as r,d as t}from"./app.37329957.js";const b='{"title":"\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"},{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/lxd_precheck.md"}',a={},l=t("",10),o=[l];function c(d,n,s,p,h,_){return r(),i("div",null,o)}var f=e(a,[["render",c]]);export{b as __pageData,f as default}; +import{_ as e,c as t,o as i,d as r}from"./app.005aa5c6.js";const b='{"title":"\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"},{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/lxd_precheck.md","lastUpdated":1687011015000}',a={},l=r("",10),o=[l];function c(d,s,n,p,h,_){return i(),t("div",null,o)}var f=e(a,[["render",c]]);export{b as __pageData,f as default}; diff --git a/assets/en_US_guide_lxd_qa.md.f9aceed3.js b/assets/en_US_guide_lxd_qa.md.f9aceed3.js deleted file mode 100644 index bb0678ecf9..0000000000 --- a/assets/en_US_guide_lxd_qa.md.f9aceed3.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as a,d as t}from"./app.37329957.js";const v='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBipv6\u5730\u5740\u5BB9\u5668\u7684vps\u5546\u5BB6"}],"relativePath":"en_US/guide/lxd_qa.md"}',p={},o=t('

\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6

kuroit \u4E2D\u7684 \u7F8E\u56FD\u51E4\u51F0\u57CE regular

datalix \u4E2D\u7684 \u5FB7\u56FDAMD \u4FC3\u9500\u6B3E

luxvps \u4E2D\u7684 \u5FB7\u56FDAMD \u4FC3\u9500\u6B3E

',4),_=[o];function n(s,i,l,f,c,d){return a(),r("div",null,_)}var u=e(p,[["render",n]]);export{v as __pageData,u as default}; diff --git a/assets/en_US_guide_lxd_qa.md.f9d8a0c4.js b/assets/en_US_guide_lxd_qa.md.f9d8a0c4.js new file mode 100644 index 0000000000..7ae6c002af --- /dev/null +++ b/assets/en_US_guide_lxd_qa.md.f9d8a0c4.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as a,d as t}from"./app.005aa5c6.js";const v='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBipv6\u5730\u5740\u5BB9\u5668\u7684vps\u5546\u5BB6"}],"relativePath":"en_US/guide/lxd_qa.md","lastUpdated":1687011015000}',p={},o=t('

\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6

kuroit \u4E2D\u7684 \u7F8E\u56FD\u51E4\u51F0\u57CE regular

datalix \u4E2D\u7684 \u5FB7\u56FDAMD \u4FC3\u9500\u6B3E

luxvps \u4E2D\u7684 \u5FB7\u56FDAMD \u4FC3\u9500\u6B3E

',4),_=[o];function n(s,l,i,d,f,c){return a(),r("div",null,_)}var u=e(p,[["render",n]]);export{v as __pageData,u as default}; diff --git a/assets/en_US_guide_lxd_qa.md.f9aceed3.lean.js b/assets/en_US_guide_lxd_qa.md.f9d8a0c4.lean.js similarity index 64% rename from assets/en_US_guide_lxd_qa.md.f9aceed3.lean.js rename to assets/en_US_guide_lxd_qa.md.f9d8a0c4.lean.js index 24026a65a2..f397ecc37f 100644 --- a/assets/en_US_guide_lxd_qa.md.f9aceed3.lean.js +++ b/assets/en_US_guide_lxd_qa.md.f9d8a0c4.lean.js @@ -1 +1 @@ -import{_ as e,c as r,o as a,d as t}from"./app.37329957.js";const v='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBipv6\u5730\u5740\u5BB9\u5668\u7684vps\u5546\u5BB6"}],"relativePath":"en_US/guide/lxd_qa.md"}',p={},o=t("",4),_=[o];function n(s,i,l,f,c,d){return a(),r("div",null,_)}var u=e(p,[["render",n]]);export{v as __pageData,u as default}; +import{_ as e,c as r,o as a,d as t}from"./app.005aa5c6.js";const v='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBipv6\u5730\u5740\u5BB9\u5668\u7684vps\u5546\u5BB6"}],"relativePath":"en_US/guide/lxd_qa.md","lastUpdated":1687011015000}',p={},o=t("",4),_=[o];function n(s,l,i,d,f,c){return a(),r("div",null,_)}var u=e(p,[["render",n]]);export{v as __pageData,u as default}; diff --git a/assets/en_US_guide_lxd_thanks.md.46354b51.js b/assets/en_US_guide_lxd_thanks.md.46354b51.js new file mode 100644 index 0000000000..277994710e --- /dev/null +++ b/assets/en_US_guide_lxd_thanks.md.46354b51.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as n}from"./app.005aa5c6.js";const f='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/lxd_thanks.md","lastUpdated":1687011015000}',o={},a=n('

\u81F4\u8C22

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

\u611F\u8C22 @Ella-Alinda @fscarmen \u63D0\u4F9B\u7684\u6307\u5BFC

',10),s=[a];function i(p,c,l,d,h,u){return t(),r("div",null,s)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/en_US_guide_lxd_thanks.md.46354b51.lean.js b/assets/en_US_guide_lxd_thanks.md.46354b51.lean.js new file mode 100644 index 0000000000..4b319fb01d --- /dev/null +++ b/assets/en_US_guide_lxd_thanks.md.46354b51.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as n}from"./app.005aa5c6.js";const f='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/lxd_thanks.md","lastUpdated":1687011015000}',o={},a=n("",10),s=[a];function i(p,c,l,d,h,u){return t(),r("div",null,s)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/en_US_guide_lxd_thanks.md.46c3821b.js b/assets/en_US_guide_lxd_thanks.md.46c3821b.js deleted file mode 100644 index 15582518d3..0000000000 --- a/assets/en_US_guide_lxd_thanks.md.46c3821b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as n}from"./app.37329957.js";const f='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/lxd_thanks.md"}',o={},a=n('

\u81F4\u8C22

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

\u611F\u8C22 @Ella-Alinda @fscarmen \u63D0\u4F9B\u7684\u6307\u5BFC

',10),s=[a];function i(c,p,l,h,d,u){return t(),r("div",null,s)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/en_US_guide_lxd_thanks.md.46c3821b.lean.js b/assets/en_US_guide_lxd_thanks.md.46c3821b.lean.js deleted file mode 100644 index 62fea3bef7..0000000000 --- a/assets/en_US_guide_lxd_thanks.md.46c3821b.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as n}from"./app.37329957.js";const f='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/lxd_thanks.md"}',o={},a=n("",10),s=[a];function i(c,p,l,h,d,u){return t(),r("div",null,s)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/guide_pve_install.md.fa3f9115.js b/assets/en_US_guide_pve_install.md.06eaa0b3.js similarity index 68% rename from assets/guide_pve_install.md.fa3f9115.js rename to assets/en_US_guide_pve_install.md.06eaa0b3.js index 12578a621f..2743700292 100644 --- a/assets/guide_pve_install.md.fa3f9115.js +++ b/assets/en_US_guide_pve_install.md.06eaa0b3.js @@ -1,4 +1,4 @@ -import{_ as e,c as s,o as a,d as n}from"./app.37329957.js";const v='{"title":"\u4E00\u952E\u5B89\u88C5PVE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5PVE","slug":"\u4E00\u952E\u5B89\u88C5pve"},{"level":2,"title":"\u9884\u914D\u7F6E\u73AF\u5883","slug":"\u9884\u914D\u7F6E\u73AF\u5883"},{"level":3,"title":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173","slug":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173"}],"relativePath":"en_US/guide/pve_install.md"}',t={},o=n(`

\u4E00\u952E\u5B89\u88C5PVE

  • \u5B89\u88C5\u7684\u662F\u5F53\u4E0Bapt\u6E90\u6700\u65B0\u7684PVE
  • \u6BD4\u5982debian10\u5219\u662Fpve6.4\uFF0Cdebian11\u5219\u662Fpve7.x\uFF0Cdebian12\u5219\u662Fpve8.x ::tip \u5EFA\u8BAEdebian11\u800C\u4E0D\u662Fdebian12\uFF0C\u56E0\u4E3A\u540E\u8005\u662Fbeta\u7248\u672C\uFF0Cdebian11\u5B89\u88C5\u7684\u624D\u662F\u7A33\u5B9A\u7248 ::
  • /etc/hosts\u6587\u4EF6\u4FEE\u6539(\u4FEE\u6B63\u5546\u5BB6hostname\u8BBE\u7F6E\u9519\u8BEF\u4EE5\u53CA\u65B0\u589EPVE\u6240\u9700\u7684\u5185\u5BB9)
  • \u5DF2\u8BBE\u7F6E/etc/hosts\u4E3A\u53EA\u8BFB\u6A21\u5F0F\uFF0C\u907F\u514D\u91CD\u542F\u540E\u6587\u4EF6\u88AB\u8986\u5199\uFF0C\u5982\u9700\u4FEE\u6539\u8BF7\u4F7F\u7528chattr -i /etc/hosts\u53D6\u6D88\u53EA\u8BFB\u9501\u5B9A\uFF0C\u4FEE\u6539\u5B8C\u6BD5\u8BF7\u6267\u884Cchattr +i /etc/hosts\u53EA\u8BFB\u9501\u5B9A
  • \u68C0\u6D4B/etc/cloud/cloud.cfg\u5982\u679C\u53D1\u73B0preserve_hostname\u662Ffalse\uFF0C\u5219\u6539\u4E3Atrue\uFF0C\u540C\u4E0A\uFF0C\u4E5F\u7528chattr\u547D\u4EE4\u8FDB\u884C\u4E86\u6587\u4EF6\u9501\u5B9A\u907F\u514D\u91CD\u542F\u8986\u76D6\u8BBE\u7F6E
  • \u68C0\u6D4B\u662F\u5426\u4E3A\u4E2D\u56FDIP\uFF0C\u5982\u679C\u4E3A\u4E2D\u56FDIP\u4F7F\u7528\u6E05\u534E\u955C\u50CF\u6E90\uFF0C\u5426\u5219\u4F7F\u7528\u5B98\u65B9\u6E90
  • \u5B89\u88C5PVE\u5F00\u865A\u62DF\u673A\u9700\u8981\u7684\u5FC5\u5907\u5DE5\u5177\u5305
  • \u66FF\u6362apt\u6E90\u4E2D\u7684\u4F01\u4E1A\u8BA2\u9605\u4E3A\u793E\u533A\u6E90
  • \u6253\u5370\u67E5\u8BE2Linux\u7CFB\u7EDF\u5185\u6838\u548CPVE\u5185\u6838\u662F\u5426\u5DF2\u5B89\u88C5
  • \u68C0\u6D4B/etc/resolv.conf\u662F\u5426\u4E3A\u7A7A\uFF0C\u4E3A\u7A7A\u5219\u8BBE\u7F6E\u68C0\u6D4B8.8.8.8\u7684\u5F00\u673A\u81EA\u542F\u6DFB\u52A0DNS\u7684systemd\u670D\u52A1
  • \u65B0\u589EPVE\u7684APT\u6E90\u94FE\u63A5\u540E\uFF0C\u4E0B\u8F7DPVE\u5E76\u6253\u5370\u8F93\u51FA\u767B\u9646\u4FE1\u606F

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
+import{_ as e,c as s,o as a,d as n}from"./app.005aa5c6.js";const v='{"title":"\u4E00\u952E\u5B89\u88C5PVE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5PVE","slug":"\u4E00\u952E\u5B89\u88C5pve"},{"level":2,"title":"\u9884\u914D\u7F6E\u73AF\u5883","slug":"\u9884\u914D\u7F6E\u73AF\u5883"},{"level":3,"title":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173","slug":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173"}],"relativePath":"en_US/guide/pve_install.md","lastUpdated":1687011015000}',t={},o=n(`

\u4E00\u952E\u5B89\u88C5PVE

  • \u5B89\u88C5\u7684\u662F\u5F53\u4E0Bapt\u6E90\u6700\u65B0\u7684PVE
  • \u6BD4\u5982debian10\u5219\u662Fpve6.4\uFF0Cdebian11\u5219\u662Fpve7.x\uFF0Cdebian12\u5219\u662Fpve8.x ::tip \u5EFA\u8BAEdebian11\u800C\u4E0D\u662Fdebian12\uFF0C\u56E0\u4E3A\u540E\u8005\u662Fbeta\u7248\u672C\uFF0Cdebian11\u5B89\u88C5\u7684\u624D\u662F\u7A33\u5B9A\u7248 ::
  • /etc/hosts\u6587\u4EF6\u4FEE\u6539(\u4FEE\u6B63\u5546\u5BB6hostname\u8BBE\u7F6E\u9519\u8BEF\u4EE5\u53CA\u65B0\u589EPVE\u6240\u9700\u7684\u5185\u5BB9)
  • \u5DF2\u8BBE\u7F6E/etc/hosts\u4E3A\u53EA\u8BFB\u6A21\u5F0F\uFF0C\u907F\u514D\u91CD\u542F\u540E\u6587\u4EF6\u88AB\u8986\u5199\uFF0C\u5982\u9700\u4FEE\u6539\u8BF7\u4F7F\u7528chattr -i /etc/hosts\u53D6\u6D88\u53EA\u8BFB\u9501\u5B9A\uFF0C\u4FEE\u6539\u5B8C\u6BD5\u8BF7\u6267\u884Cchattr +i /etc/hosts\u53EA\u8BFB\u9501\u5B9A
  • \u68C0\u6D4B/etc/cloud/cloud.cfg\u5982\u679C\u53D1\u73B0preserve_hostname\u662Ffalse\uFF0C\u5219\u6539\u4E3Atrue\uFF0C\u540C\u4E0A\uFF0C\u4E5F\u7528chattr\u547D\u4EE4\u8FDB\u884C\u4E86\u6587\u4EF6\u9501\u5B9A\u907F\u514D\u91CD\u542F\u8986\u76D6\u8BBE\u7F6E
  • \u68C0\u6D4B\u662F\u5426\u4E3A\u4E2D\u56FDIP\uFF0C\u5982\u679C\u4E3A\u4E2D\u56FDIP\u4F7F\u7528\u6E05\u534E\u955C\u50CF\u6E90\uFF0C\u5426\u5219\u4F7F\u7528\u5B98\u65B9\u6E90
  • \u5B89\u88C5PVE\u5F00\u865A\u62DF\u673A\u9700\u8981\u7684\u5FC5\u5907\u5DE5\u5177\u5305
  • \u66FF\u6362apt\u6E90\u4E2D\u7684\u4F01\u4E1A\u8BA2\u9605\u4E3A\u793E\u533A\u6E90
  • \u6253\u5370\u67E5\u8BE2Linux\u7CFB\u7EDF\u5185\u6838\u548CPVE\u5185\u6838\u662F\u5426\u5DF2\u5B89\u88C5
  • \u68C0\u6D4B/etc/resolv.conf\u662F\u5426\u4E3A\u7A7A\uFF0C\u4E3A\u7A7A\u5219\u8BBE\u7F6E\u68C0\u6D4B8.8.8.8\u7684\u5F00\u673A\u81EA\u542F\u6DFB\u52A0DNS\u7684systemd\u670D\u52A1
  • \u65B0\u589EPVE\u7684APT\u6E90\u94FE\u63A5\u540E\uFF0C\u4E0B\u8F7DPVE\u5E76\u6253\u5370\u8F93\u51FA\u767B\u9646\u4FE1\u606F

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
 

\u9884\u914D\u7F6E\u73AF\u5883

  • \u521B\u5EFA\u8D44\u6E90\u6C60mypool
  • \u79FB\u9664\u8BA2\u9605\u5F39\u7A97
  • \u5C1D\u8BD5\u5F00\u542F\u786C\u4EF6\u76F4\u901A
  • \u68C0\u6D4BAppArmor\u6A21\u5757\u5E76\u8BD5\u56FE\u5B89\u88C5
  • \u91CD\u542F\u7CFB\u7EDF\u524D\u63A8\u8350\u6302\u4E0Anezha\u63A2\u9488\u65B9\u4FBF\u5728\u540E\u53F0\u4E0D\u901A\u8FC7SSH\u4F7F\u7528\u547D\u4EE4\u884C\uFF0C\u907F\u514DSSH\u53EF\u80FD\u56E0\u4E3A\u5546\u5BB6\u5947\u8469\u7684\u9884\u8BBE\u5BFC\u81F4\u91CD\u542F\u540Eroot\u5BC6\u7801\u4E22\u5931
  • \u6267\u884C\u5B8C\u6BD5\u5EFA\u8BAE\u7B49\u5F85\u51E0\u5206\u949F\u540E\u518D\u91CD\u542F\u670D\u52A1\u5668\uFF0C\u6267\u884Creboot\u524D\u9700\u8981\u7B49\u5F85\u540E\u53F0\u4EFB\u52A1\u6267\u884C\u5B8C\u6BD5\uFF0C\u4E00\u4E9B\u5BBF\u4E3B\u673A\u7684\u7CFB\u7EDFapt\u547D\u4EE4\u6267\u884C\u5F88\u6162\uFF0C\u5F97\u7B49\u4E00\u4F1A\u624D\u80FD\u6267\u884C\u5B8C\u6BD5

\u56FD\u9645

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)
 

\u56FD\u5185

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)
diff --git a/assets/en_US_guide_pve_install.md.aeb598a3.lean.js b/assets/en_US_guide_pve_install.md.06eaa0b3.lean.js
similarity index 64%
rename from assets/en_US_guide_pve_install.md.aeb598a3.lean.js
rename to assets/en_US_guide_pve_install.md.06eaa0b3.lean.js
index 38cd465e01..c81b40a16a 100644
--- a/assets/en_US_guide_pve_install.md.aeb598a3.lean.js
+++ b/assets/en_US_guide_pve_install.md.06eaa0b3.lean.js
@@ -1 +1 @@
-import{_ as e,c as s,o as a,d as n}from"./app.37329957.js";const v='{"title":"\u4E00\u952E\u5B89\u88C5PVE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5PVE","slug":"\u4E00\u952E\u5B89\u88C5pve"},{"level":2,"title":"\u9884\u914D\u7F6E\u73AF\u5883","slug":"\u9884\u914D\u7F6E\u73AF\u5883"},{"level":3,"title":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173","slug":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173"}],"relativePath":"en_US/guide/pve_install.md"}',t={},o=n("",19),c=[o];function p(i,l,r,d,h,u){return a(),s("div",null,c)}var k=e(t,[["render",p]]);export{v as __pageData,k as default};
+import{_ as e,c as s,o as a,d as n}from"./app.005aa5c6.js";const v='{"title":"\u4E00\u952E\u5B89\u88C5PVE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5PVE","slug":"\u4E00\u952E\u5B89\u88C5pve"},{"level":2,"title":"\u9884\u914D\u7F6E\u73AF\u5883","slug":"\u9884\u914D\u7F6E\u73AF\u5883"},{"level":3,"title":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173","slug":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173"}],"relativePath":"en_US/guide/pve_install.md","lastUpdated":1687011015000}',t={},o=n("",19),c=[o];function p(i,l,r,d,h,u){return a(),s("div",null,c)}var k=e(t,[["render",p]]);export{v as __pageData,k as default};
diff --git a/assets/guide_pve_kvm.md.904469a4.js b/assets/en_US_guide_pve_kvm.md.0ef150c6.js
similarity index 76%
rename from assets/guide_pve_kvm.md.904469a4.js
rename to assets/en_US_guide_pve_kvm.md.0ef150c6.js
index ea6921bc7d..dc66fa86af 100644
--- a/assets/guide_pve_kvm.md.904469a4.js
+++ b/assets/en_US_guide_pve_kvm.md.0ef150c6.js
@@ -1,4 +1,4 @@
-import{_ as a,c as s,o as e,d as n}from"./app.37329957.js";const v='{"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","slug":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879"},{"level":3,"title":"\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM","slug":"\u5355\u72EC\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684KVM\u865A\u62DF\u5316\u7684VM","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684kvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u5F00\u8BBE\u72EC\u7ACBIPV4\u5730\u5740\u7684VM","slug":"\u5F00\u8BBE\u72EC\u7ACBipv4\u5730\u5740\u7684vm"},{"level":3,"title":"\u5220\u9664\u793A\u4F8B","slug":"\u5220\u9664\u793A\u4F8B-1"}],"relativePath":"en_US/guide/pve_kvm.md"}',t={},p=n(`

\u90E8\u5206\u6CE8\u610F\u4E8B\u9879

\u6267\u884C\u672C\u9879\u76EE\u7684\u7B2C\u4E00\u4E2A\u68C0\u6D4B\u73AF\u5883\u7684\u547D\u4EE4\uFF0C\u5C55\u793A\u5982\u4E0B


![coode](/images/pve_kvm/pve_kvm_1.png)

\u67E5\u8BE2\u5982\u4E0A\u7684\u53EA\u9700\u4F7F\u7528\u4E0B\u9762\u7684\u4E00\u952E\u811A\u672C\u81EA\u52A8\u521B\u5EFA\u865A\u62DF\u673A\u5373\u53EF\uFF0C\u65E0\u9700\u624B\u52A8\u518D\u4FEE\u6539WEB\u7AEF\u8BBE\u7F6E


![coode](/images/pve_kvm/pve_kvm_2.png)

\u67E5\u8BE2\u5982\u4E0A\u7684\u5728\u4F7F\u7528\u540E\u7EED\u811A\u672C\u521B\u5EFA\u4E86\u865A\u62DF\u673A\u540E\uFF0C\u53EF\u80FD\u9700\u8981\u624B\u52A8\u4FEE\u6539WEB\u7AEF\u8BBE\u7F6E\uFF0C\u9700\u8981\u5173\u95ED\u5BF9\u5E94\u6BCF\u4E2A\u865A\u62DF\u673A\u7684\u786C\u4EF6\u5D4C\u5957\u865A\u62DF\u5316\uFF0C\u5982\u4E0B\u56FE


![coode](/images/pve_kvm/pve_kvm_3.png)

\u5148\u505C\u6B62\u865A\u62DF\u673A\u518D\u4FEE\u6539\uFF0C\u4FEE\u6539\u5B8C\u540E\u518D\u5F00\u673A\u624D\u80FD\u4F7F\u7528NOVNC\uFF0C\u4E0D\u5173\u95ED\u53EF\u80FD\u5BFC\u81F4\u8FD9\u4E2A\u865A\u62DF\u673A\u6709BUG\u65E0\u6CD5\u4F7F\u7528

\u5982\u679C\u5F3A\u884C\u5B89\u88C5PVE\u5F00KVM\uFF0C\u542F\u52A8\u4E0D\u4E86\u7684\u4E5F\u53EF\u4EE5\u5173\u95ED\u8FD9\u4E2A\u9009\u9879\u8BD5\u8BD5\u80FD\u4E0D\u80FD\u542F\u52A8\u865A\u62DF\u673A

\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM

  • \u81EA\u52A8\u5F00\u8BBENAT\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4F7F\u7528Debian10\u955C\u50CF\uFF0C\u56E0\u4E3A\u8BE5\u955C\u50CF\u5360\u7528\u6700\u5C0F
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u81EA\u5B9A\u4E49\u9700\u8981\u4F7F\u7528\u7684\u955C\u50CF\uFF0C\u8FD9\u91CC\u6709\u7ED9\u51FA\u914D\u7F6E\u597D\u7684\u955C\u50CF\uFF0C\u955C\u50CF\u81EA\u5E26\u7A7A\u95F4\u8BBE\u7F6E\u662F2~10G\u786C\u76D8\uFF0C\u65E5\u5E38\u4F7F\u7528\u81F3\u5C1110G\u4EE5\u4E0A\u5373\u53EF\uFF0C\u9664\u975E\u67D0\u4E9B\u955C\u50CF\u5F00\u4E0D\u8D77\u6765\u518D\u589E\u52A0\u786C\u76D8\u5927\u5C0F
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u6307\u5B9A\u5B58\u50A8\u76D8\u4F4D\u7F6E\uFF0C\u9ED8\u8BA4\u4E0D\u6307\u5B9A\u65F6\u4E3Alocal\u76D8\u5373\u7CFB\u7EDF\u76D8\uFF0C\u53EF\u6307\u5B9A\u4E3APVE\u4E2D\u663E\u793A\u7684\u6302\u8F7D\u76D8
  • \u81EA\u5B9A\u4E49\u5185\u5B58\u5927\u5C0F\u63A8\u8350512MB\u5185\u5B58 ::tip \u9700\u8981\u6CE8\u610F\u7684\u662F\u5BBF\u4E3B\u673A\u5185\u5B58\u8BB0\u5F97\u5F00\u70B9swap\u514D\u5F97\u673A\u5668\u70B8\u4E86\u5F00SWAP\u70B9\u6211\u8DF3\u8F6C ::
  • \u81EA\u52A8\u8FDB\u884C\u5185\u5916\u7F51\u7AEF\u53E3\u6620\u5C04\uFF0C\u542B22\uFF0C80\uFF0C443\u7AEF\u53E3\u4EE5\u53CA\u5176\u4ED625\u4E2A\u5185\u5916\u7F51\u7AEF\u53E3\u53F7\u4E00\u6837\u7684\u7AEF\u53E3
  • \u751F\u6210\u540E\u9700\u8981\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\u865A\u62DF\u673A\u5185\u90E8\u7684cloud-init\u914D\u7F6E\u597D\u7F51\u7EDC\u4EE5\u53CA\u767B\u9646\u4FE1\u606F\uFF0C\u5927\u6982\u9700\u89815\u5206\u949F
  • \u865A\u62DF\u673A\u7684\u76F8\u5173\u4FE1\u606F\u5C06\u4F1A\u5B58\u50A8\u5230WEB\u7AEF\u5BF9\u5E94VM\u7684NOTES\u4E2D\uFF0C\u53EF\u5728WEB\u7AEF\u67E5\u770B

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
+import{_ as a,c as s,o as e,d as n}from"./app.005aa5c6.js";const v='{"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","slug":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879"},{"level":3,"title":"\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM","slug":"\u5355\u72EC\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684KVM\u865A\u62DF\u5316\u7684VM","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684kvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u5F00\u8BBE\u72EC\u7ACBIPV4\u5730\u5740\u7684VM","slug":"\u5F00\u8BBE\u72EC\u7ACBipv4\u5730\u5740\u7684vm"},{"level":3,"title":"\u5220\u9664\u793A\u4F8B","slug":"\u5220\u9664\u793A\u4F8B-1"}],"relativePath":"en_US/guide/pve_kvm.md","lastUpdated":1687011015000}',t={},p=n(`

\u90E8\u5206\u6CE8\u610F\u4E8B\u9879

\u6267\u884C\u672C\u9879\u76EE\u7684\u7B2C\u4E00\u4E2A\u68C0\u6D4B\u73AF\u5883\u7684\u547D\u4EE4\uFF0C\u5C55\u793A\u5982\u4E0B


![coode](/images/pve_kvm/pve_kvm_1.png)

\u67E5\u8BE2\u5982\u4E0A\u7684\u53EA\u9700\u4F7F\u7528\u4E0B\u9762\u7684\u4E00\u952E\u811A\u672C\u81EA\u52A8\u521B\u5EFA\u865A\u62DF\u673A\u5373\u53EF\uFF0C\u65E0\u9700\u624B\u52A8\u518D\u4FEE\u6539WEB\u7AEF\u8BBE\u7F6E


![coode](/images/pve_kvm/pve_kvm_2.png)

\u67E5\u8BE2\u5982\u4E0A\u7684\u5728\u4F7F\u7528\u540E\u7EED\u811A\u672C\u521B\u5EFA\u4E86\u865A\u62DF\u673A\u540E\uFF0C\u53EF\u80FD\u9700\u8981\u624B\u52A8\u4FEE\u6539WEB\u7AEF\u8BBE\u7F6E\uFF0C\u9700\u8981\u5173\u95ED\u5BF9\u5E94\u6BCF\u4E2A\u865A\u62DF\u673A\u7684\u786C\u4EF6\u5D4C\u5957\u865A\u62DF\u5316\uFF0C\u5982\u4E0B\u56FE


![coode](/images/pve_kvm/pve_kvm_3.png)

\u5148\u505C\u6B62\u865A\u62DF\u673A\u518D\u4FEE\u6539\uFF0C\u4FEE\u6539\u5B8C\u540E\u518D\u5F00\u673A\u624D\u80FD\u4F7F\u7528NOVNC\uFF0C\u4E0D\u5173\u95ED\u53EF\u80FD\u5BFC\u81F4\u8FD9\u4E2A\u865A\u62DF\u673A\u6709BUG\u65E0\u6CD5\u4F7F\u7528

\u5982\u679C\u5F3A\u884C\u5B89\u88C5PVE\u5F00KVM\uFF0C\u542F\u52A8\u4E0D\u4E86\u7684\u4E5F\u53EF\u4EE5\u5173\u95ED\u8FD9\u4E2A\u9009\u9879\u8BD5\u8BD5\u80FD\u4E0D\u80FD\u542F\u52A8\u865A\u62DF\u673A

\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM

  • \u81EA\u52A8\u5F00\u8BBENAT\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4F7F\u7528Debian10\u955C\u50CF\uFF0C\u56E0\u4E3A\u8BE5\u955C\u50CF\u5360\u7528\u6700\u5C0F
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u81EA\u5B9A\u4E49\u9700\u8981\u4F7F\u7528\u7684\u955C\u50CF\uFF0C\u8FD9\u91CC\u6709\u7ED9\u51FA\u914D\u7F6E\u597D\u7684\u955C\u50CF\uFF0C\u955C\u50CF\u81EA\u5E26\u7A7A\u95F4\u8BBE\u7F6E\u662F2~10G\u786C\u76D8\uFF0C\u65E5\u5E38\u4F7F\u7528\u81F3\u5C1110G\u4EE5\u4E0A\u5373\u53EF\uFF0C\u9664\u975E\u67D0\u4E9B\u955C\u50CF\u5F00\u4E0D\u8D77\u6765\u518D\u589E\u52A0\u786C\u76D8\u5927\u5C0F
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u6307\u5B9A\u5B58\u50A8\u76D8\u4F4D\u7F6E\uFF0C\u9ED8\u8BA4\u4E0D\u6307\u5B9A\u65F6\u4E3Alocal\u76D8\u5373\u7CFB\u7EDF\u76D8\uFF0C\u53EF\u6307\u5B9A\u4E3APVE\u4E2D\u663E\u793A\u7684\u6302\u8F7D\u76D8
  • \u81EA\u5B9A\u4E49\u5185\u5B58\u5927\u5C0F\u63A8\u8350512MB\u5185\u5B58 ::tip \u9700\u8981\u6CE8\u610F\u7684\u662F\u5BBF\u4E3B\u673A\u5185\u5B58\u8BB0\u5F97\u5F00\u70B9swap\u514D\u5F97\u673A\u5668\u70B8\u4E86\u5F00SWAP\u70B9\u6211\u8DF3\u8F6C ::
  • \u81EA\u52A8\u8FDB\u884C\u5185\u5916\u7F51\u7AEF\u53E3\u6620\u5C04\uFF0C\u542B22\uFF0C80\uFF0C443\u7AEF\u53E3\u4EE5\u53CA\u5176\u4ED625\u4E2A\u5185\u5916\u7F51\u7AEF\u53E3\u53F7\u4E00\u6837\u7684\u7AEF\u53E3
  • \u751F\u6210\u540E\u9700\u8981\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\u865A\u62DF\u673A\u5185\u90E8\u7684cloud-init\u914D\u7F6E\u597D\u7F51\u7EDC\u4EE5\u53CA\u767B\u9646\u4FE1\u606F\uFF0C\u5927\u6982\u9700\u89815\u5206\u949F
  • \u865A\u62DF\u673A\u7684\u76F8\u5173\u4FE1\u606F\u5C06\u4F1A\u5B58\u50A8\u5230WEB\u7AEF\u5BF9\u5E94VM\u7684NOTES\u4E2D\uFF0C\u53EF\u5728WEB\u7AEF\u67E5\u770B

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
 

\u4F7F\u7528\u65B9\u6CD5

  • \u7CFB\u7EDF\u652F\u6301\uFF1A\u8BE6\u89C1 \u8DF3\u8F6C \u4E2D\u5217\u51FA\u7684\u7CFB\u7EDF\uFF0C\u4F7F\u7528\u65F6\u53EA\u9700\u5199\u6587\u4EF6\u540D\u5B57\uFF0C\u4E0D\u9700\u8981.qcow2\u5C3E\u7F00 ::tip \u6CE8\u610F\u8FD9\u91CC\u7684\u7528\u6237\u540D\u4E0D\u80FD\u662F\u7EAF\u6570\u5B57\uFF0C\u4F1A\u9020\u6210cloudinit\u51FA\u95EE\u9898\uFF0C\u6700\u597D\u662F\u7EAF\u82F1\u6587\u6216\u82F1\u6587\u5F00\u5934 ::
./buildvm.sh VMID \u7528\u6237\u540D \u5BC6\u7801 CPU\u6838\u6570 \u5185\u5B58 \u786C\u76D8 SSH\u7AEF\u53E3 80\u7AEF\u53E3 443\u7AEF\u53E3 \u5916\u7F51\u7AEF\u53E3\u8D77 \u5916\u7F51\u7AEF\u53E3\u6B62 \u7CFB\u7EDF \u5B58\u50A8\u76D8
 

\u6D4B\u8BD5\u793A\u4F8B

  • \u4EE5\u4E0B\u4E3A\u5F00\u8BBE\u7684\u793A\u4F8BVM\u7684\u4FE1\u606F\uFF1A
    VMID - 102 SSH\u767B\u5F55\u7684\u7528\u6237\u540D - test1 SSH\u767B\u5F55\u7684\u5BC6\u7801 - 1234567 CPU\u6838\u6570 - 1
    \u5185\u5B58\u5927\u5C0F - 512MB \u78C1\u76D8\u5927\u5C0F - 10G
    SSH\u7AEF\u53E3 - 40001 80\u7AEF\u53E3 - 40002 443\u7AEF\u53E3 - 40003 \u5185\u5916\u7F51\u6620\u5C04\u7AEF\u53E3\u4E00\u81F4\u7684\u533A\u95F4 - 50000\u523050025 \u7CFB\u7EDF - ubuntu20 \u5BBF\u4E3B\u673A\u7684\u5B58\u50A8\u76D8 - local
./buildvm.sh 102 test1 1234567 1 512 10 40001 40002 40003 50000 50025 ubuntu20 local
diff --git a/assets/en_US_guide_pve_kvm.md.95cd4241.lean.js b/assets/en_US_guide_pve_kvm.md.0ef150c6.lean.js
similarity index 71%
rename from assets/en_US_guide_pve_kvm.md.95cd4241.lean.js
rename to assets/en_US_guide_pve_kvm.md.0ef150c6.lean.js
index f9c2a7bb40..20730f4e2c 100644
--- a/assets/en_US_guide_pve_kvm.md.95cd4241.lean.js
+++ b/assets/en_US_guide_pve_kvm.md.0ef150c6.lean.js
@@ -1 +1 @@
-import{_ as a,c as s,o as e,d as n}from"./app.37329957.js";const v='{"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","slug":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879"},{"level":3,"title":"\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM","slug":"\u5355\u72EC\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684KVM\u865A\u62DF\u5316\u7684VM","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684kvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u5F00\u8BBE\u72EC\u7ACBIPV4\u5730\u5740\u7684VM","slug":"\u5F00\u8BBE\u72EC\u7ACBipv4\u5730\u5740\u7684vm"},{"level":3,"title":"\u5220\u9664\u793A\u4F8B","slug":"\u5220\u9664\u793A\u4F8B-1"}],"relativePath":"en_US/guide/pve_kvm.md"}',t={},p=n("",60),l=[p];function i(o,r,c,d,u,m){return e(),s("div",null,l)}var k=a(t,[["render",i]]);export{v as __pageData,k as default};
+import{_ as a,c as s,o as e,d as n}from"./app.005aa5c6.js";const v='{"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","slug":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879"},{"level":3,"title":"\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM","slug":"\u5355\u72EC\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684KVM\u865A\u62DF\u5316\u7684VM","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684kvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u5F00\u8BBE\u72EC\u7ACBIPV4\u5730\u5740\u7684VM","slug":"\u5F00\u8BBE\u72EC\u7ACBipv4\u5730\u5740\u7684vm"},{"level":3,"title":"\u5220\u9664\u793A\u4F8B","slug":"\u5220\u9664\u793A\u4F8B-1"}],"relativePath":"en_US/guide/pve_kvm.md","lastUpdated":1687011015000}',t={},p=n("",60),l=[p];function i(o,r,c,d,u,m){return e(),s("div",null,l)}var k=a(t,[["render",i]]);export{v as __pageData,k as default};
diff --git a/assets/en_US_guide_pve_lxc.md.baede725.js b/assets/en_US_guide_pve_lxc.md.40762011.js
similarity index 74%
rename from assets/en_US_guide_pve_lxc.md.baede725.js
rename to assets/en_US_guide_pve_lxc.md.40762011.js
index 16484a70e5..69563de8ed 100644
--- a/assets/en_US_guide_pve_lxc.md.baede725.js
+++ b/assets/en_US_guide_pve_lxc.md.40762011.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as e,d as n}from"./app.37329957.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","slug":"\u5355\u72EC\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684ct"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684LXC\u865A\u62DF\u5316\u7684CT","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684lxc\u865A\u62DF\u5316\u7684ct"}],"relativePath":"en_US/guide/pve_lxc.md"}',t={},c=n(`

\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT

::warning \u521D\u6B21\u4F7F\u7528\u524D\u9700\u8981\u4FDD\u8BC1\u5F53\u524DPVE\u7EAF\u51C0\u4E14\u5BBF\u4E3B\u673A\u672A\u8FDB\u884C\u8FC7\u4EFB\u4F55\u7AEF\u53E3\u6620\u5C04\uFF0C\u5426\u5219\u8BBE\u7F6E\u51B2\u7A81\u53EF\u80FD\u51FA\u73B0BUG \u5F00\u8BBE\u524D\u8BF7\u4F7F\u7528screen\u6302\u8D77\u6267\u884C\uFF0C\u907F\u514D\u6279\u91CF\u5F00\u8BBE\u65F6\u95F4\u8FC7\u957F\uFF0CSSH\u4E0D\u7A33\u5B9A\u5BFC\u81F4\u4E2D\u95F4\u6267\u884C\u4E2D\u65AD ::

  • \u81EA\u52A8\u5F00\u8BBENAT\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4F7F\u7528Debian11\u955C\u50CF\uFF0C\u4E5F\u53EF\u81EA\u5B9A\u4E49\u7CFB\u7EDF
  • \u81EA\u52A8\u8FDB\u884C\u5185\u5916\u7F51\u7AEF\u53E3\u6620\u5C04\uFF0C\u542B22\uFF0C80\uFF0C443\u7AEF\u53E3\u4EE5\u53CA\u5176\u4ED625\u4E2A\u5185\u5916\u7F51\u7AEF\u53E3\u53F7\u4E00\u6837\u7684\u7AEF\u53E3
  • \u751F\u6210\u540E\u9700\u8981\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\u865A\u62DF\u673A\u5185\u90E8\u914D\u7F6E\u597D\u7F51\u7EDC\u4EE5\u53CA\u767B\u9646\u4FE1\u606F\uFF0C\u5927\u6982\u9700\u89813\u5206\u949F
  • \u9ED8\u8BA4\u5F00\u8BBE\u7684\u7F51\u7EDC\u914D\u7F6E\u4E3A\uFF1A22\uFF0C80\uFF0C443\u7AEF\u53E3\u53CA\u4E00\u4E2A25\u4E2A\u7AEF\u53E3\u533A\u95F4\u7684\u5185\u5916\u7F51\u6620\u5C04
  • \u53EF\u81EA\u5B9A\u4E49\u5F00\u8BBE\u7684\u6838\u5FC3\u6570\uFF0C\u5185\u5B58\u5927\u5C0F\uFF0C\u786C\u76D8\u5927\u5C0F\uFF0C\u4F7F\u7528\u5BBF\u4E3B\u673A\u54EA\u4E2A\u5B58\u50A8\u76D8\uFF0C\u8BB0\u5F97\u81EA\u5DF1\u8BA1\u7B97\u597D\u7A7A\u95F2\u8D44\u6E90\u5F00\u8BBE
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u6307\u5B9A\u5B58\u50A8\u76D8\u4F4D\u7F6E\uFF0C\u9ED8\u8BA4\u4E0D\u6307\u5B9A\u65F6\u4E3Alocal\u76D8\u5373\u7CFB\u7EDF\u76D8\uFF0C\u53EF\u6307\u5B9A\u4E3APVE\u4E2D\u663E\u793A\u7684\u6302\u8F7D\u76D8
  • \u5F00\u8BBE\u7684CT\u9ED8\u8BA4\u5DF2\u542F\u7528SSH\u4E14\u5141\u8BB8root\u767B\u9646\uFF0C\u4E14\u5DF2\u8BBE\u7F6E\u652F\u6301\u4F7F\u7528docker\u7684\u5D4C\u5957\u865A\u62DF\u5316
  • \u5BB9\u5668\u7684\u76F8\u5173\u4FE1\u606F\u5C06\u4F1A\u5B58\u50A8\u5230\u5BF9\u5E94\u7684\u5BB9\u5668\u7684NOTE\u4E2D\uFF0C\u53EF\u5728WEB\u7AEF\u67E5\u770B

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
+import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","slug":"\u5355\u72EC\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684ct"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684LXC\u865A\u62DF\u5316\u7684CT","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684lxc\u865A\u62DF\u5316\u7684ct"}],"relativePath":"en_US/guide/pve_lxc.md","lastUpdated":1687011015000}',t={},c=n(`

\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT

::warning \u521D\u6B21\u4F7F\u7528\u524D\u9700\u8981\u4FDD\u8BC1\u5F53\u524DPVE\u7EAF\u51C0\u4E14\u5BBF\u4E3B\u673A\u672A\u8FDB\u884C\u8FC7\u4EFB\u4F55\u7AEF\u53E3\u6620\u5C04\uFF0C\u5426\u5219\u8BBE\u7F6E\u51B2\u7A81\u53EF\u80FD\u51FA\u73B0BUG \u5F00\u8BBE\u524D\u8BF7\u4F7F\u7528screen\u6302\u8D77\u6267\u884C\uFF0C\u907F\u514D\u6279\u91CF\u5F00\u8BBE\u65F6\u95F4\u8FC7\u957F\uFF0CSSH\u4E0D\u7A33\u5B9A\u5BFC\u81F4\u4E2D\u95F4\u6267\u884C\u4E2D\u65AD ::

  • \u81EA\u52A8\u5F00\u8BBENAT\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4F7F\u7528Debian11\u955C\u50CF\uFF0C\u4E5F\u53EF\u81EA\u5B9A\u4E49\u7CFB\u7EDF
  • \u81EA\u52A8\u8FDB\u884C\u5185\u5916\u7F51\u7AEF\u53E3\u6620\u5C04\uFF0C\u542B22\uFF0C80\uFF0C443\u7AEF\u53E3\u4EE5\u53CA\u5176\u4ED625\u4E2A\u5185\u5916\u7F51\u7AEF\u53E3\u53F7\u4E00\u6837\u7684\u7AEF\u53E3
  • \u751F\u6210\u540E\u9700\u8981\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\u865A\u62DF\u673A\u5185\u90E8\u914D\u7F6E\u597D\u7F51\u7EDC\u4EE5\u53CA\u767B\u9646\u4FE1\u606F\uFF0C\u5927\u6982\u9700\u89813\u5206\u949F
  • \u9ED8\u8BA4\u5F00\u8BBE\u7684\u7F51\u7EDC\u914D\u7F6E\u4E3A\uFF1A22\uFF0C80\uFF0C443\u7AEF\u53E3\u53CA\u4E00\u4E2A25\u4E2A\u7AEF\u53E3\u533A\u95F4\u7684\u5185\u5916\u7F51\u6620\u5C04
  • \u53EF\u81EA\u5B9A\u4E49\u5F00\u8BBE\u7684\u6838\u5FC3\u6570\uFF0C\u5185\u5B58\u5927\u5C0F\uFF0C\u786C\u76D8\u5927\u5C0F\uFF0C\u4F7F\u7528\u5BBF\u4E3B\u673A\u54EA\u4E2A\u5B58\u50A8\u76D8\uFF0C\u8BB0\u5F97\u81EA\u5DF1\u8BA1\u7B97\u597D\u7A7A\u95F2\u8D44\u6E90\u5F00\u8BBE
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u6307\u5B9A\u5B58\u50A8\u76D8\u4F4D\u7F6E\uFF0C\u9ED8\u8BA4\u4E0D\u6307\u5B9A\u65F6\u4E3Alocal\u76D8\u5373\u7CFB\u7EDF\u76D8\uFF0C\u53EF\u6307\u5B9A\u4E3APVE\u4E2D\u663E\u793A\u7684\u6302\u8F7D\u76D8
  • \u5F00\u8BBE\u7684CT\u9ED8\u8BA4\u5DF2\u542F\u7528SSH\u4E14\u5141\u8BB8root\u767B\u9646\uFF0C\u4E14\u5DF2\u8BBE\u7F6E\u652F\u6301\u4F7F\u7528docker\u7684\u5D4C\u5957\u865A\u62DF\u5316
  • \u5BB9\u5668\u7684\u76F8\u5173\u4FE1\u606F\u5C06\u4F1A\u5B58\u50A8\u5230\u5BF9\u5E94\u7684\u5BB9\u5668\u7684NOTE\u4E2D\uFF0C\u53EF\u5728WEB\u7AEF\u67E5\u770B

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
 

\u4F7F\u7528\u65B9\u6CD5

  • \u7CFB\u7EDF\u652F\u6301\uFF1Adebian10\uFF0Cdebian11\uFF0Cubuntu18\uFF0Cubuntu20\uFF0Cubuntu22\uFF0Ccentos8\uFF0Calmalinux9\u7B49
  • \u7CFB\u7EDF\u53C2\u6570\u4E00\u5F8B\u662F\u5C0F\u5199\u7684\u7CFB\u7EDF\u540D\u5B57\u62FC\u63A5\u7248\u672C\u53F7\uFF0C\u5177\u4F53\u53EF\u6267\u884Cpveam available --section system\u67E5\u770B\u53EF\u7528\u7684\u7CFB\u7EDF\u540D\u5B57\u548C\u7248\u672C\u53F7(\u6CE8\u610F\u811A\u672C\u4F7F\u7528\u7684\u53C2\u6570\u53EA\u6709\u5C0F\u5199\u7684\u82F1\u6587\u7CFB\u7EDF\u540D\u5B57\u62FC\u63A5\u7248\u672C\u53F7)
  • \u5176\u4ED6\u7CFB\u7EDF\u53EF\u80FD\u652F\u6301\u53EF\u80FD\u4E0D\u652F\u6301\uFF0C\u81EA\u884C\u6D4B\u8BD5
  • \u9ED8\u8BA4\u7528\u6237\u540D\u662Froot
./buildct.sh CTID \u5BC6\u7801 CPU\u6838\u6570 \u5185\u5B58 \u786C\u76D8 SSH\u7AEF\u53E3 80\u7AEF\u53E3 443\u7AEF\u53E3 \u5916\u7F51\u7AEF\u53E3\u8D77 \u5916\u7F51\u7AEF\u53E3\u6B62 \u7CFB\u7EDF \u5B58\u50A8\u76D8
 

\u6D4B\u8BD5\u793A\u4F8B

  • \u4EE5\u4E0B\u4E3A\u5F00\u8BBE\u7684\u793A\u4F8BCT\u7684\u4FE1\u606F\uFF1A
    VMID - 102 SSH\u767B\u5F55\u7684\u7528\u6237\u540D - root SSH\u767B\u5F55\u7684\u5BC6\u7801 - 1234567 CPU\u6838\u6570 - 1
    \u5185\u5B58\u5927\u5C0F - 512MB \u78C1\u76D8\u5927\u5C0F - 5G
    SSH\u7AEF\u53E3 - 20001 80\u7AEF\u53E3 - 20002 443\u7AEF\u53E3 - 20003 \u5185\u5916\u7F51\u6620\u5C04\u7AEF\u53E3\u4E00\u81F4\u7684\u533A\u95F4 - 30000\u523030025 \u7CFB\u7EDF - debian11 \u5BBF\u4E3B\u673A\u7684\u5B58\u50A8\u76D8 - local
./buildct.sh 102 1234567 1 512 5 20001 20002 20003 30000 30025 debian11 local
diff --git a/assets/en_US_guide_pve_lxc.md.baede725.lean.js b/assets/en_US_guide_pve_lxc.md.40762011.lean.js
similarity index 65%
rename from assets/en_US_guide_pve_lxc.md.baede725.lean.js
rename to assets/en_US_guide_pve_lxc.md.40762011.lean.js
index 1d407dde93..78b4dc8a2a 100644
--- a/assets/en_US_guide_pve_lxc.md.baede725.lean.js
+++ b/assets/en_US_guide_pve_lxc.md.40762011.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as e,d as n}from"./app.37329957.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","slug":"\u5355\u72EC\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684ct"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684LXC\u865A\u62DF\u5316\u7684CT","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684lxc\u865A\u62DF\u5316\u7684ct"}],"relativePath":"en_US/guide/pve_lxc.md"}',t={},c=n("",28),l=[c];function o(p,i,r,d,u,h){return e(),a("div",null,l)}var k=s(t,[["render",o]]);export{m as __pageData,k as default};
+import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","slug":"\u5355\u72EC\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684ct"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684LXC\u865A\u62DF\u5316\u7684CT","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684lxc\u865A\u62DF\u5316\u7684ct"}],"relativePath":"en_US/guide/pve_lxc.md","lastUpdated":1687011015000}',t={},c=n("",28),l=[c];function o(p,i,r,d,u,h){return e(),a("div",null,l)}var k=s(t,[["render",o]]);export{m as __pageData,k as default};
diff --git a/assets/en_US_guide_pve_precheck.md.5a79deef.js b/assets/en_US_guide_pve_precheck.md.5a79deef.js
new file mode 100644
index 0000000000..3671df0ec5
--- /dev/null
+++ b/assets/en_US_guide_pve_precheck.md.5a79deef.js
@@ -0,0 +1,3 @@
+import{_ as e,c as a,o as t,d as i}from"./app.005aa5c6.js";const u='{"title":"\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5404\u79CD\u8981\u6C42","slug":"\u5404\u79CD\u8981\u6C42"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/pve_precheck.md","lastUpdated":1687011015000}',r={},n=i(`

\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E

\u5404\u79CD\u8981\u6C42

\u5EFA\u8BAEdebian\u5728\u4F7F\u7528\u524D\u5C3D\u91CF\u4F7F\u7528\u6700\u65B0\u7684\u7A33\u5B9A\u7248\u672C\u7684\u7CFB\u7EDF

\u975Edebian11\u53EF\u4F7F\u7528 debian\u4E00\u952E\u5347\u7EA7 \u6765\u5347\u7EA7\u7CFB\u7EDF

\u672C\u9879\u76EE\u53EA\u9002\u914DDebian\u7CFB\u7EDF(\u975EDebian\u65E0\u6CD5\u901A\u8FC7APT\u6E90\u5B89\u88C5\uFF0C\u5B98\u65B9\u53EA\u7ED9\u4E86Debian\u7684\u955C\u50CF\uFF0C\u5176\u4ED6\u7CFB\u7EDF\u53EA\u80FD\u4F7F\u7528ISO\u5B89\u88C5)

  • \u7CFB\u7EDF\u8981\u6C42\uFF1ADebian 8+ ::tip \u5EFA\u8BAEdebian11\u800C\u4E0D\u662Fdebian12\uFF0C\u56E0\u4E3A\u540E\u8005\u662Fbeta\u7248\u672C\uFF0Cdebian11\u5B89\u88C5\u7684\u624D\u662F\u7A33\u5B9A\u7248 ::
  • \u786C\u4EF6\u8981\u6C42\uFF1A2\u68382G\u5185\u5B58x86_64\u67B6\u6784\u670D\u52A1\u5668\u786C\u76D8\u81F3\u5C1120G ::warning \u5185\u5B58\u5F00\u70B9swap\u514D\u5F97\u673A\u5668\u70B8\u4E86\u5F00SWAP\u70B9\u6211\u8DF3\u8F6C ::
  • \u53EF\u5F00KVM\u7684\u786C\u4EF6\u8981\u6C42\uFF1AVM-X\u6216AMD-V\u652F\u6301 (\u90E8\u5206VPS\u548C\u5168\u90E8\u72EC\u670D\u652F\u6301)
  • \u5982\u679C\u786C\u4EF6\u6216\u7CFB\u7EDF\u9700\u6C42\u4E0D\u6EE1\u8DB3\uFF0C\u53EF\u4F7F\u7528LXD\u6279\u91CF\u5F00LXC\u5BB9\u5668\u8DF3\u8F6C

\u9047\u5230\u9009\u9879\u4E0D\u4F1A\u9009\u7684\u53EF\u65E0\u8111\u56DE\u8F66\u5B89\u88C5\uFF0C\u672C\u9879\u76EE\u6240\u6709\u811A\u672C\u5185\u7F6E\u56FD\u5185\u5916IP\u81EA\u52A8\u5224\u65AD\uFF0C\u4F7F\u7528\u7684\u662F\u4E0D\u540C\u7684\u5B89\u88C5\u6E90\u4E0E\u914D\u7F6E\u6587\u4EF6\uFF0C\u6709\u4F7F\u7528CDN\u52A0\u901F\u955C\u50CF\u4E0B\u8F7D

\u68C0\u6D4B\u73AF\u5883

  • \u672C\u9879\u76EE\u76F8\u5173\u811A\u672C\u6267\u884C\u524D\u52A1\u5FC5\u6267\u884C\u672C\u811A\u672C\u68C0\u6D4B\u73AF\u5883\uFF0C\u5982\u679C\u4E0D\u7B26\u5408\u5B89\u88C5PVE\u7684\u8981\u6C42\u5219\u65E0\u6CD5\u4F7F\u7528\u540E\u7EED\u7684\u811A\u672C
  • \u68C0\u6D4B\u786C\u4EF6\u914D\u7F6E\u662F\u5426\u6EE1\u8DB3\u6700\u4F4E\u8981\u6C42
  • \u68C0\u6D4B\u786C\u4EF6\u73AF\u5883\u662F\u5426\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668
  • \u68C0\u6D4B\u7CFB\u7EDF\u73AF\u5883\u662F\u5426\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668
  • \u4E0D\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668\u4E5F\u53EF\u4EE5\u5F00LXC\u865A\u62DF\u5316\u7684\u670D\u52A1\u5668\uFF0C\u4F46\u4E0D\u63A8\u8350\u5B89\u88C5PVE\uFF0C\u4E0D\u5982\u4F7F\u7528LXD

\u56FD\u9645

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
+

\u56FD\u5185

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
+
`,13),l=[n];function c(s,p,o,h,d,_){return t(),a("div",null,l)}var g=e(r,[["render",c]]);export{u as __pageData,g as default}; diff --git a/assets/en_US_guide_pve_precheck.md.5a79deef.lean.js b/assets/en_US_guide_pve_precheck.md.5a79deef.lean.js new file mode 100644 index 0000000000..66b453d723 --- /dev/null +++ b/assets/en_US_guide_pve_precheck.md.5a79deef.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,d as i}from"./app.005aa5c6.js";const u='{"title":"\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5404\u79CD\u8981\u6C42","slug":"\u5404\u79CD\u8981\u6C42"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/pve_precheck.md","lastUpdated":1687011015000}',r={},n=i("",13),l=[n];function c(s,p,o,h,d,_){return t(),a("div",null,l)}var g=e(r,[["render",c]]);export{u as __pageData,g as default}; diff --git a/assets/en_US_guide_pve_precheck.md.d95eaa33.js b/assets/en_US_guide_pve_precheck.md.d95eaa33.js deleted file mode 100644 index 9dbdac7511..0000000000 --- a/assets/en_US_guide_pve_precheck.md.d95eaa33.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as e,c as a,o as t,d as i}from"./app.37329957.js";const u='{"title":"\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5404\u79CD\u8981\u6C42","slug":"\u5404\u79CD\u8981\u6C42"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/pve_precheck.md"}',r={},n=i(`

\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E

\u5404\u79CD\u8981\u6C42

\u5EFA\u8BAEdebian\u5728\u4F7F\u7528\u524D\u5C3D\u91CF\u4F7F\u7528\u6700\u65B0\u7684\u7A33\u5B9A\u7248\u672C\u7684\u7CFB\u7EDF

\u975Edebian11\u53EF\u4F7F\u7528 debian\u4E00\u952E\u5347\u7EA7 \u6765\u5347\u7EA7\u7CFB\u7EDF

\u672C\u9879\u76EE\u53EA\u9002\u914DDebian\u7CFB\u7EDF(\u975EDebian\u65E0\u6CD5\u901A\u8FC7APT\u6E90\u5B89\u88C5\uFF0C\u5B98\u65B9\u53EA\u7ED9\u4E86Debian\u7684\u955C\u50CF\uFF0C\u5176\u4ED6\u7CFB\u7EDF\u53EA\u80FD\u4F7F\u7528ISO\u5B89\u88C5)

  • \u7CFB\u7EDF\u8981\u6C42\uFF1ADebian 8+ ::tip \u5EFA\u8BAEdebian11\u800C\u4E0D\u662Fdebian12\uFF0C\u56E0\u4E3A\u540E\u8005\u662Fbeta\u7248\u672C\uFF0Cdebian11\u5B89\u88C5\u7684\u624D\u662F\u7A33\u5B9A\u7248 ::
  • \u786C\u4EF6\u8981\u6C42\uFF1A2\u68382G\u5185\u5B58x86_64\u67B6\u6784\u670D\u52A1\u5668\u786C\u76D8\u81F3\u5C1120G ::warning \u5185\u5B58\u5F00\u70B9swap\u514D\u5F97\u673A\u5668\u70B8\u4E86\u5F00SWAP\u70B9\u6211\u8DF3\u8F6C ::
  • \u53EF\u5F00KVM\u7684\u786C\u4EF6\u8981\u6C42\uFF1AVM-X\u6216AMD-V\u652F\u6301 (\u90E8\u5206VPS\u548C\u5168\u90E8\u72EC\u670D\u652F\u6301)
  • \u5982\u679C\u786C\u4EF6\u6216\u7CFB\u7EDF\u9700\u6C42\u4E0D\u6EE1\u8DB3\uFF0C\u53EF\u4F7F\u7528LXD\u6279\u91CF\u5F00LXC\u5BB9\u5668\u8DF3\u8F6C

\u9047\u5230\u9009\u9879\u4E0D\u4F1A\u9009\u7684\u53EF\u65E0\u8111\u56DE\u8F66\u5B89\u88C5\uFF0C\u672C\u9879\u76EE\u6240\u6709\u811A\u672C\u5185\u7F6E\u56FD\u5185\u5916IP\u81EA\u52A8\u5224\u65AD\uFF0C\u4F7F\u7528\u7684\u662F\u4E0D\u540C\u7684\u5B89\u88C5\u6E90\u4E0E\u914D\u7F6E\u6587\u4EF6\uFF0C\u6709\u4F7F\u7528CDN\u52A0\u901F\u955C\u50CF\u4E0B\u8F7D

\u68C0\u6D4B\u73AF\u5883

  • \u672C\u9879\u76EE\u76F8\u5173\u811A\u672C\u6267\u884C\u524D\u52A1\u5FC5\u6267\u884C\u672C\u811A\u672C\u68C0\u6D4B\u73AF\u5883\uFF0C\u5982\u679C\u4E0D\u7B26\u5408\u5B89\u88C5PVE\u7684\u8981\u6C42\u5219\u65E0\u6CD5\u4F7F\u7528\u540E\u7EED\u7684\u811A\u672C
  • \u68C0\u6D4B\u786C\u4EF6\u914D\u7F6E\u662F\u5426\u6EE1\u8DB3\u6700\u4F4E\u8981\u6C42
  • \u68C0\u6D4B\u786C\u4EF6\u73AF\u5883\u662F\u5426\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668
  • \u68C0\u6D4B\u7CFB\u7EDF\u73AF\u5883\u662F\u5426\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668
  • \u4E0D\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668\u4E5F\u53EF\u4EE5\u5F00LXC\u865A\u62DF\u5316\u7684\u670D\u52A1\u5668\uFF0C\u4F46\u4E0D\u63A8\u8350\u5B89\u88C5PVE\uFF0C\u4E0D\u5982\u4F7F\u7528LXD

\u56FD\u9645

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
-

\u56FD\u5185

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
-
`,13),c=[n];function l(s,o,p,h,d,_){return t(),a("div",null,c)}var g=e(r,[["render",l]]);export{u as __pageData,g as default}; diff --git a/assets/en_US_guide_pve_precheck.md.d95eaa33.lean.js b/assets/en_US_guide_pve_precheck.md.d95eaa33.lean.js deleted file mode 100644 index 31085e4117..0000000000 --- a/assets/en_US_guide_pve_precheck.md.d95eaa33.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as a,o as t,d as i}from"./app.37329957.js";const u='{"title":"\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5404\u79CD\u8981\u6C42","slug":"\u5404\u79CD\u8981\u6C42"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/pve_precheck.md"}',r={},n=i("",13),c=[n];function l(s,o,p,h,d,_){return t(),a("div",null,c)}var g=e(r,[["render",l]]);export{u as __pageData,g as default}; diff --git a/assets/en_US_guide_pve_qa.md.0da83905.js b/assets/en_US_guide_pve_qa.md.0da83905.js deleted file mode 100644 index fc9f24bb1e..0000000000 --- a/assets/en_US_guide_pve_qa.md.0da83905.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as a,d as t}from"./app.37329957.js";const m='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684vps\u5546\u5BB6"},{"level":3,"title":"\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EF\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"},{"level":3,"title":"\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EA\u53EF\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"}],"relativePath":"en_US/guide/pve_qa.md"}',n={},o=t('

\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6

\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6

nocix \u4E2D\u7684\u7279\u4EF7\u6700\u4F4E\u914D15\u7F8E\u5143\u72EC\u670D (IPV6\u4E0D\u81EA\u5E26\uFF0C\u9700\u8981\u627E\u5BA2\u670D\u8981)

amhost \u4E2D\u7684\u6D4B\u8BD5\u6B3E

digitalocean \u4E2D\u7684 Perminu Intel \u548C Regular 4\u6838\u6B3E

skrime \u4E2D\u7684 AMD Ryzen KVM Server \u6700\u4F4E\u914D\u6B3E

webdock \u4E2D\u7684 AMD KVM Server

4vps \u4E2D\u7684 \u4FC4\u7F57\u65AF\u548C\u5E0C\u814A \u6D4B\u8BD5\u6B3E

hostaris \u4E2D\u7684 \u5FB7\u56FD\u6B3E (\u5546\u5BB6\u7684\u7CFB\u7EDF\u6A21\u677F\u6709\u95EE\u9898\uFF0CIPV6\u5DF2\u5931\u6548\u548CGithub\u7684\u8FDE\u901A\u7A33\u5B9A\u6027\u5F88\u5DEE)

\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6

\u817E\u8BAF\u4E91 \u4E2D\u7684\u65E0\u5FE7\u6B3E\u548C\u7279\u60E0\u6B3E(\u5B66\u751F\u673A)

spectraip \u4E2D\u7684KVM\u670D\u52A1\u5668

',12),p=[o];function s(l,h,c,i,_,f){return a(),r("div",null,p)}var k=e(n,[["render",s]]);export{m as __pageData,k as default}; diff --git a/assets/en_US_guide_pve_qa.md.0f20659c.js b/assets/en_US_guide_pve_qa.md.0f20659c.js new file mode 100644 index 0000000000..13c6c05e18 --- /dev/null +++ b/assets/en_US_guide_pve_qa.md.0f20659c.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as a,d as t}from"./app.005aa5c6.js";const m='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684vps\u5546\u5BB6"},{"level":3,"title":"\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EF\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"},{"level":3,"title":"\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EA\u53EF\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"}],"relativePath":"en_US/guide/pve_qa.md","lastUpdated":1687011015000}',n={},o=t('

\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6

\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6

nocix \u4E2D\u7684\u7279\u4EF7\u6700\u4F4E\u914D15\u7F8E\u5143\u72EC\u670D (IPV6\u4E0D\u81EA\u5E26\uFF0C\u9700\u8981\u627E\u5BA2\u670D\u8981)

amhost \u4E2D\u7684\u6D4B\u8BD5\u6B3E

digitalocean \u4E2D\u7684 Perminu Intel \u548C Regular 4\u6838\u6B3E

skrime \u4E2D\u7684 AMD Ryzen KVM Server \u6700\u4F4E\u914D\u6B3E

webdock \u4E2D\u7684 AMD KVM Server

4vps \u4E2D\u7684 \u4FC4\u7F57\u65AF\u548C\u5E0C\u814A \u6D4B\u8BD5\u6B3E

hostaris \u4E2D\u7684 \u5FB7\u56FD\u6B3E (\u5546\u5BB6\u7684\u7CFB\u7EDF\u6A21\u677F\u6709\u95EE\u9898\uFF0CIPV6\u5DF2\u5931\u6548\u548CGithub\u7684\u8FDE\u901A\u7A33\u5B9A\u6027\u5F88\u5DEE)

\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6

\u817E\u8BAF\u4E91 \u4E2D\u7684\u65E0\u5FE7\u6B3E\u548C\u7279\u60E0\u6B3E(\u5B66\u751F\u673A)

spectraip \u4E2D\u7684KVM\u670D\u52A1\u5668

',12),p=[o];function s(l,h,c,i,_,d){return a(),r("div",null,p)}var k=e(n,[["render",s]]);export{m as __pageData,k as default}; diff --git a/assets/en_US_guide_pve_qa.md.0da83905.lean.js b/assets/en_US_guide_pve_qa.md.0f20659c.lean.js similarity index 66% rename from assets/en_US_guide_pve_qa.md.0da83905.lean.js rename to assets/en_US_guide_pve_qa.md.0f20659c.lean.js index a65a08863b..310282255e 100644 --- a/assets/en_US_guide_pve_qa.md.0da83905.lean.js +++ b/assets/en_US_guide_pve_qa.md.0f20659c.lean.js @@ -1 +1 @@ -import{_ as e,c as r,o as a,d as t}from"./app.37329957.js";const m='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684vps\u5546\u5BB6"},{"level":3,"title":"\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EF\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"},{"level":3,"title":"\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EA\u53EF\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"}],"relativePath":"en_US/guide/pve_qa.md"}',n={},o=t("",12),p=[o];function s(l,h,c,i,_,f){return a(),r("div",null,p)}var k=e(n,[["render",s]]);export{m as __pageData,k as default}; +import{_ as e,c as r,o as a,d as t}from"./app.005aa5c6.js";const m='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684vps\u5546\u5BB6"},{"level":3,"title":"\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EF\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"},{"level":3,"title":"\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EA\u53EF\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"}],"relativePath":"en_US/guide/pve_qa.md","lastUpdated":1687011015000}',n={},o=t("",12),p=[o];function s(l,h,c,i,_,d){return a(),r("div",null,p)}var k=e(n,[["render",s]]);export{m as __pageData,k as default}; diff --git a/assets/en_US_guide_pve_thanks.md.336148e9.js b/assets/en_US_guide_pve_thanks.md.336148e9.js new file mode 100644 index 0000000000..dcf15c9857 --- /dev/null +++ b/assets/en_US_guide_pve_thanks.md.336148e9.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as a}from"./app.005aa5c6.js";const b='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/pve_thanks.md","lastUpdated":1687011015000}',o={},n=a('

\u81F4\u8C22

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

\u611F\u8C22 @Ella-Alinda \u63D0\u4F9B\u7684PVE\u6307\u5BFC

',9),p=[n];function l(s,i,h,c,_,m){return t(),r("div",null,p)}var f=e(o,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/en_US_guide_pve_thanks.md.336148e9.lean.js b/assets/en_US_guide_pve_thanks.md.336148e9.lean.js new file mode 100644 index 0000000000..882552d22b --- /dev/null +++ b/assets/en_US_guide_pve_thanks.md.336148e9.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as a}from"./app.005aa5c6.js";const b='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/pve_thanks.md","lastUpdated":1687011015000}',o={},n=a("",9),p=[n];function l(s,i,h,c,_,m){return t(),r("div",null,p)}var f=e(o,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/en_US_guide_pve_thanks.md.a5accea1.js b/assets/en_US_guide_pve_thanks.md.a5accea1.js deleted file mode 100644 index d6f6818682..0000000000 --- a/assets/en_US_guide_pve_thanks.md.a5accea1.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as a}from"./app.37329957.js";const b='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/pve_thanks.md"}',o={},n=a('

\u81F4\u8C22

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

\u611F\u8C22 @Ella-Alinda \u63D0\u4F9B\u7684PVE\u6307\u5BFC

',9),p=[n];function l(s,i,h,c,_,m){return t(),r("div",null,p)}var f=e(o,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/en_US_guide_pve_thanks.md.a5accea1.lean.js b/assets/en_US_guide_pve_thanks.md.a5accea1.lean.js deleted file mode 100644 index e41d00803e..0000000000 --- a/assets/en_US_guide_pve_thanks.md.a5accea1.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as a}from"./app.37329957.js";const b='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/pve_thanks.md"}',o={},n=a("",9),p=[n];function l(s,i,h,c,_,m){return t(),r("div",null,p)}var f=e(o,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/en_US_index.md.2c2b8399.js b/assets/en_US_index.md.c8b31714.js similarity index 65% rename from assets/en_US_index.md.2c2b8399.js rename to assets/en_US_index.md.c8b31714.js index f6fe18cdc4..52639d2d73 100644 --- a/assets/en_US_index.md.2c2b8399.js +++ b/assets/en_US_index.md.c8b31714.js @@ -1 +1 @@ -import{_ as n,c as a,o,a as e,b as t}from"./app.37329957.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"One Click Virtualization Project","tagline":"Open source, easy to use server virtualization project","actionText":"Learn More \u2192","actionLink":"/en_US/guide/dashboard","features":[{"title":"One-Click Installation","details":"Support one-click script installation, easy to use; based on Debian, Ubuntu long-term maintenance version development, try to ensure that the host system and development environment consistent"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines (containers)"},{"title":"Self-limiting abuse","details":"Partially virtualized containers/VMs have been masked and loaded with restrictions to avoid being used for abuse"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/index.md"}',i={},r=e("p",null,"Documentation has not been translated yet, waiting for translation.",-1),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),l=[r,s];function c(d,u,p,h,m,_){return o(),a("div",null,l)}var v=n(i,[["render",c]]);export{f as __pageData,v as default}; +import{_ as n,c as a,o,a as e,b as t}from"./app.005aa5c6.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"One Click Virtualization Project","tagline":"Open source, easy to use server virtualization project","actionText":"Learn More \u2192","actionLink":"/en_US/guide/dashboard","features":[{"title":"One-Click Installation","details":"Support one-click script installation, easy to use; based on Debian, Ubuntu long-term maintenance version development, try to ensure that the host system and development environment consistent"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines (containers)"},{"title":"Self-limiting abuse","details":"Partially virtualized containers/VMs have been masked and loaded with restrictions to avoid being used for abuse"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/index.md","lastUpdated":1687011015000}',i={},r=e("p",null,"Documentation has not been translated yet, waiting for translation.",-1),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),l=[r,s];function c(d,p,u,h,m,_){return o(),a("div",null,l)}var v=n(i,[["render",c]]);export{f as __pageData,v as default}; diff --git a/assets/en_US_index.md.2c2b8399.lean.js b/assets/en_US_index.md.c8b31714.lean.js similarity index 65% rename from assets/en_US_index.md.2c2b8399.lean.js rename to assets/en_US_index.md.c8b31714.lean.js index f6fe18cdc4..52639d2d73 100644 --- a/assets/en_US_index.md.2c2b8399.lean.js +++ b/assets/en_US_index.md.c8b31714.lean.js @@ -1 +1 @@ -import{_ as n,c as a,o,a as e,b as t}from"./app.37329957.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"One Click Virtualization Project","tagline":"Open source, easy to use server virtualization project","actionText":"Learn More \u2192","actionLink":"/en_US/guide/dashboard","features":[{"title":"One-Click Installation","details":"Support one-click script installation, easy to use; based on Debian, Ubuntu long-term maintenance version development, try to ensure that the host system and development environment consistent"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines (containers)"},{"title":"Self-limiting abuse","details":"Partially virtualized containers/VMs have been masked and loaded with restrictions to avoid being used for abuse"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/index.md"}',i={},r=e("p",null,"Documentation has not been translated yet, waiting for translation.",-1),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),l=[r,s];function c(d,u,p,h,m,_){return o(),a("div",null,l)}var v=n(i,[["render",c]]);export{f as __pageData,v as default}; +import{_ as n,c as a,o,a as e,b as t}from"./app.005aa5c6.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"One Click Virtualization Project","tagline":"Open source, easy to use server virtualization project","actionText":"Learn More \u2192","actionLink":"/en_US/guide/dashboard","features":[{"title":"One-Click Installation","details":"Support one-click script installation, easy to use; based on Debian, Ubuntu long-term maintenance version development, try to ensure that the host system and development environment consistent"},{"title":"Comes with internal and external port forwarding","details":"Support automatic intranet port forwarding, including TCP and UDP protocols"},{"title":"Batch Virtualization","details":"Support for KVM, LXC, Docker virtualization batch opening of virtual machines (containers)"},{"title":"Self-limiting abuse","details":"Partially virtualized containers/VMs have been masked and loaded with restrictions to avoid being used for abuse"}],"footer":"Copyright \xA9 2022-present Nezhahq"},"headers":[],"relativePath":"en_US/index.md","lastUpdated":1687011015000}',i={},r=e("p",null,"Documentation has not been translated yet, waiting for translation.",-1),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),l=[r,s];function c(d,p,u,h,m,_){return o(),a("div",null,l)}var v=n(i,[["render",c]]);export{f as __pageData,v as default}; diff --git a/assets/guide_dashboard.md.5304a727.js b/assets/guide_dashboard.md.5304a727.js deleted file mode 100644 index 14ea45974b..0000000000 --- a/assets/guide_dashboard.md.5304a727.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as r,d as a}from"./app.37329957.js";const b='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u9879\u76EE\u4ED3\u5E93","slug":"\u9879\u76EE\u4ED3\u5E93"},{"level":3,"title":"PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C","slug":"pve\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C"},{"level":3,"title":"\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4","slug":"\u901A\u8FC7lxd-lxc\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4"},{"level":3,"title":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668","slug":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/dashboard.md"}',i={},l=a('

\u51C6\u5907\u5DE5\u4F5C

\u9700\u8981\u865A\u62DF\u5316\u51FA\u670D\u52A1\u5668\uFF0C\u4F60\u9700\u8981\uFF1A

  1. \u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684\u670D\u52A1\u5668( VPS \u6216 Dedicated Server)\uFF0C\u6700\u597D\u80FD\u5B8C\u7F8E\u8BBF\u95EE Github \u7684 RAW \u9875\u9762\uFF0C\u90E8\u5206\u9879\u76EE\u90E8\u5206\u7EC4\u4EF6\u53EF\u80FD\u672A\u4F7F\u7528 CDN \u52A0\u901F

TIP

\u5982\u679C\u60A8\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u8BBF\u95EE Github \u6709\u56F0\u96BE\uFF0C\u8BF7\u6CE8\u610F\u914D\u5957\u811A\u672C\u548C\u9879\u76EE\u662F\u5426\u6709\u8BF4\u660E\u5DF2\u4F7F\u7528 CDN \u52A0\u901F

  1. \u672C\u5730\u53EF\u4EE5\u7A33\u5B9A\u8FDE\u63A5SSH\uFF0C\u5982\u679C\u4E0D\u80FD\u7A33\u5B9A\u8FDE\u63A5\uFF0C\u8BF7\u4F7F\u7528screen\u547D\u4EE4\u521B\u5EFA\u7A97\u53E3\u540E\uFF0C\u5728\u7A97\u53E3\u5185\u6267\u884C\u547D\u4EE4

TIP

\u4E0D\u4F1A\u7528screen\u547D\u4EE4\u7684\uFF0C\u81EA\u884C\u67E5\u627E\u76F8\u5173\u6559\u7A0B\u5B66\u4E60

  1. \u786E\u4FDD\u670D\u52A1\u5668\u7684\u7CFB\u7EDF\u548C\u786C\u4EF6\u6EE1\u8DB3\u5BF9\u5E94\u9879\u76EE\u7684\u8981\u6C42\uFF0C\u8BE6\u89C1\u5BF9\u5E94\u9879\u76EE\u8BF4\u660E

\u672C\u6587\u6863\u5C06\u4EE5VPS\u4F5C\u4E3A\u8303\u4F8B\uFF0C\u4E14\u8BE5VPS\u7EAF\u51C0\uFF0C\u65E0\u539F\u751F\u73AF\u5883\u95EE\u9898\uFF0C\u5982\u6709\u5FC5\u8981\u8BF7\u91CD\u88C5\u7CFB\u7EDF\u4FDD\u8BC1\u521D\u59CB\u73AF\u5883\u7684\u7EAF\u51C0

WARNING

PVE\u9879\u76EE\u53EF\u80FD\u9020\u6210\u5BBF\u4E3B\u673A\u51FA\u73B0\u95EE\u9898\uFF0C\u5982\u679C\u4F60\u4E0D\u4F1A\u770BBug\u548C\u4FEE\u590D\u7CFB\u7EDF\uFF0C\u90A3\u4E48\u4E0D\u5EFA\u8BAE\u4F60\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u4F7F\u7528\uFF0C\u4F7F\u7528PVE\u76F8\u5173\u811A\u672C\u8BF7\u786E\u4FDD\u5BBF\u4E3B\u673A\u968F\u65F6\u53EF\u91CD\u88C5\u7CFB\u7EDF



\u9879\u76EE\u4ED3\u5E93

\u6B22\u8FCEStar\u548CFork

PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C

https://github.com/spiritLHLS/pve

\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4

https://github.com/spiritLHLS/lxc

\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668

https://github.com/spiritLHLS/docker

',19),o=[l];function s(c,d,n,p,h,u){return r(),t("div",null,o)}var g=e(i,[["render",s]]);export{b as __pageData,g as default}; diff --git a/assets/guide_dashboard.md.58884d4e.js b/assets/guide_dashboard.md.58884d4e.js new file mode 100644 index 0000000000..8ea455c160 --- /dev/null +++ b/assets/guide_dashboard.md.58884d4e.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a,d as r}from"./app.005aa5c6.js";const b='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u9879\u76EE\u4ED3\u5E93","slug":"\u9879\u76EE\u4ED3\u5E93"},{"level":3,"title":"PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C","slug":"pve\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C"},{"level":3,"title":"\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4","slug":"\u901A\u8FC7lxd-lxc\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4"},{"level":3,"title":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668","slug":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/dashboard.md","lastUpdated":1687011015000}',i={},l=r('

\u51C6\u5907\u5DE5\u4F5C

\u9700\u8981\u865A\u62DF\u5316\u51FA\u670D\u52A1\u5668\uFF0C\u4F60\u9700\u8981\uFF1A

  1. \u4E00\u53F0\u53EF\u4EE5\u8FDE\u63A5\u516C\u7F51\u7684\u670D\u52A1\u5668( VPS \u6216 Dedicated Server)\uFF0C\u6700\u597D\u80FD\u5B8C\u7F8E\u8BBF\u95EE Github \u7684 RAW \u9875\u9762\uFF0C\u90E8\u5206\u9879\u76EE\u90E8\u5206\u7EC4\u4EF6\u53EF\u80FD\u672A\u4F7F\u7528 CDN \u52A0\u901F

TIP

\u5982\u679C\u60A8\u4F4D\u4E8E\u4E2D\u56FD\u5927\u9646\uFF0C\u8BBF\u95EE Github \u6709\u56F0\u96BE\uFF0C\u8BF7\u6CE8\u610F\u914D\u5957\u811A\u672C\u548C\u9879\u76EE\u662F\u5426\u6709\u8BF4\u660E\u5DF2\u4F7F\u7528 CDN \u52A0\u901F

  1. \u672C\u5730\u53EF\u4EE5\u7A33\u5B9A\u8FDE\u63A5SSH\uFF0C\u5982\u679C\u4E0D\u80FD\u7A33\u5B9A\u8FDE\u63A5\uFF0C\u8BF7\u4F7F\u7528screen\u547D\u4EE4\u521B\u5EFA\u7A97\u53E3\u540E\uFF0C\u5728\u7A97\u53E3\u5185\u6267\u884C\u547D\u4EE4

TIP

\u4E0D\u4F1A\u7528screen\u547D\u4EE4\u7684\uFF0C\u81EA\u884C\u67E5\u627E\u76F8\u5173\u6559\u7A0B\u5B66\u4E60

  1. \u786E\u4FDD\u670D\u52A1\u5668\u7684\u7CFB\u7EDF\u548C\u786C\u4EF6\u6EE1\u8DB3\u5BF9\u5E94\u9879\u76EE\u7684\u8981\u6C42\uFF0C\u8BE6\u89C1\u5BF9\u5E94\u9879\u76EE\u8BF4\u660E

\u672C\u6587\u6863\u5C06\u4EE5VPS\u4F5C\u4E3A\u8303\u4F8B\uFF0C\u4E14\u8BE5VPS\u7EAF\u51C0\uFF0C\u65E0\u539F\u751F\u73AF\u5883\u95EE\u9898\uFF0C\u5982\u6709\u5FC5\u8981\u8BF7\u91CD\u88C5\u7CFB\u7EDF\u4FDD\u8BC1\u521D\u59CB\u73AF\u5883\u7684\u7EAF\u51C0

WARNING

PVE\u9879\u76EE\u53EF\u80FD\u9020\u6210\u5BBF\u4E3B\u673A\u51FA\u73B0\u95EE\u9898\uFF0C\u5982\u679C\u4F60\u4E0D\u4F1A\u770BBug\u548C\u4FEE\u590D\u7CFB\u7EDF\uFF0C\u90A3\u4E48\u4E0D\u5EFA\u8BAE\u4F60\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u4F7F\u7528\uFF0C\u4F7F\u7528PVE\u76F8\u5173\u811A\u672C\u8BF7\u786E\u4FDD\u5BBF\u4E3B\u673A\u968F\u65F6\u53EF\u91CD\u88C5\u7CFB\u7EDF



\u9879\u76EE\u4ED3\u5E93

\u6B22\u8FCEStar\u548CFork

PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C

https://github.com/spiritLHLS/pve

\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4

https://github.com/spiritLHLS/lxc

\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668

https://github.com/spiritLHLS/docker

',19),o=[l];function s(c,d,p,n,h,u){return a(),t("div",null,o)}var g=e(i,[["render",s]]);export{b as __pageData,g as default}; diff --git a/assets/guide_dashboard.md.5304a727.lean.js b/assets/guide_dashboard.md.58884d4e.lean.js similarity index 79% rename from assets/guide_dashboard.md.5304a727.lean.js rename to assets/guide_dashboard.md.58884d4e.lean.js index f92473a925..b3ae2f41fd 100644 --- a/assets/guide_dashboard.md.5304a727.lean.js +++ b/assets/guide_dashboard.md.58884d4e.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as r,d as a}from"./app.37329957.js";const b='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u9879\u76EE\u4ED3\u5E93","slug":"\u9879\u76EE\u4ED3\u5E93"},{"level":3,"title":"PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C","slug":"pve\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C"},{"level":3,"title":"\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4","slug":"\u901A\u8FC7lxd-lxc\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4"},{"level":3,"title":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668","slug":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/dashboard.md"}',i={},l=a("",19),o=[l];function s(c,d,n,p,h,u){return r(),t("div",null,o)}var g=e(i,[["render",s]]);export{b as __pageData,g as default}; +import{_ as e,c as t,o as a,d as r}from"./app.005aa5c6.js";const b='{"title":"\u51C6\u5907\u5DE5\u4F5C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u51C6\u5907\u5DE5\u4F5C","slug":"\u51C6\u5907\u5DE5\u4F5C"},{"level":2,"title":"\u9879\u76EE\u4ED3\u5E93","slug":"\u9879\u76EE\u4ED3\u5E93"},{"level":3,"title":"PVE\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C","slug":"pve\u76F8\u5173\u7684\u5404\u79CD\u4E00\u952E\u811A\u672C"},{"level":3,"title":"\u901A\u8FC7LXD/LXC\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4","slug":"\u901A\u8FC7lxd-lxc\u547D\u4EE4\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668\u4EE5\u53CA\u7EF4\u62A4"},{"level":3,"title":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668","slug":"\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBEnat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/dashboard.md","lastUpdated":1687011015000}',i={},l=r("",19),o=[l];function s(c,d,p,n,h,u){return a(),t("div",null,o)}var g=e(i,[["render",s]]);export{b as __pageData,g as default}; diff --git a/assets/guide_dashboardq.md.b22ef5f7.js b/assets/guide_dashboardq.md.b22ef5f7.js deleted file mode 100644 index 4e713ad71f..0000000000 --- a/assets/guide_dashboardq.md.b22ef5f7.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as t,c as o,o as a,a as e}from"./app.37329957.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md"}',s={},n=e("p",null,"Give me a cup of coffee.",-1),r=e("p",null,[e("a",{href:"https://ko-fi.com/spiritlhl",target:"_blank",rel:"noopener noreferrer"},"https://ko-fi.com/spiritlhl")],-1),c=e("p",null,"USDT-TRC20",-1),l=e("div",{class:"language-bash"},[e("pre",null,[e("code",null,`TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd -`)])],-1),d=[n,r,c,l];function i(_,p,f,h,u,m){return a(),o("div",null,d)}var v=t(s,[["render",i]]);export{k as __pageData,v as default}; diff --git a/assets/guide_dashboardq.md.b22ef5f7.lean.js b/assets/guide_dashboardq.md.b22ef5f7.lean.js deleted file mode 100644 index 4e713ad71f..0000000000 --- a/assets/guide_dashboardq.md.b22ef5f7.lean.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as t,c as o,o as a,a as e}from"./app.37329957.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md"}',s={},n=e("p",null,"Give me a cup of coffee.",-1),r=e("p",null,[e("a",{href:"https://ko-fi.com/spiritlhl",target:"_blank",rel:"noopener noreferrer"},"https://ko-fi.com/spiritlhl")],-1),c=e("p",null,"USDT-TRC20",-1),l=e("div",{class:"language-bash"},[e("pre",null,[e("code",null,`TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd -`)])],-1),d=[n,r,c,l];function i(_,p,f,h,u,m){return a(),o("div",null,d)}var v=t(s,[["render",i]]);export{k as __pageData,v as default}; diff --git a/assets/guide_dashboardq.md.edb9148f.js b/assets/guide_dashboardq.md.edb9148f.js new file mode 100644 index 0000000000..469be4b444 --- /dev/null +++ b/assets/guide_dashboardq.md.edb9148f.js @@ -0,0 +1,2 @@ +import{_ as t,c as o,o as a,a as e}from"./app.005aa5c6.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1687011015000}',s={},n=e("p",null,"Give me a cup of coffee.",-1),r=e("p",null,[e("a",{href:"https://ko-fi.com/spiritlhl",target:"_blank",rel:"noopener noreferrer"},"https://ko-fi.com/spiritlhl")],-1),c=e("p",null,"USDT-TRC20",-1),l=e("div",{class:"language-bash"},[e("pre",null,[e("code",null,`TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd +`)])],-1),d=[n,r,c,l];function i(_,p,f,h,u,m){return a(),o("div",null,d)}var v=t(s,[["render",i]]);export{k as __pageData,v as default}; diff --git a/assets/guide_dashboardq.md.edb9148f.lean.js b/assets/guide_dashboardq.md.edb9148f.lean.js new file mode 100644 index 0000000000..469be4b444 --- /dev/null +++ b/assets/guide_dashboardq.md.edb9148f.lean.js @@ -0,0 +1,2 @@ +import{_ as t,c as o,o as a,a as e}from"./app.005aa5c6.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1687011015000}',s={},n=e("p",null,"Give me a cup of coffee.",-1),r=e("p",null,[e("a",{href:"https://ko-fi.com/spiritlhl",target:"_blank",rel:"noopener noreferrer"},"https://ko-fi.com/spiritlhl")],-1),c=e("p",null,"USDT-TRC20",-1),l=e("div",{class:"language-bash"},[e("pre",null,[e("code",null,`TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd +`)])],-1),d=[n,r,c,l];function i(_,p,f,h,u,m){return a(),o("div",null,d)}var v=t(s,[["render",i]]);export{k as __pageData,v as default}; diff --git a/assets/guide_docker_build.md.67e775c7.js b/assets/guide_docker_build.md.e4f909d3.js similarity index 91% rename from assets/guide_docker_build.md.67e775c7.js rename to assets/guide_docker_build.md.e4f909d3.js index da204c7a93..13eda15cd4 100644 --- a/assets/guide_docker_build.md.67e775c7.js +++ b/assets/guide_docker_build.md.e4f909d3.js @@ -1,4 +1,4 @@ -import{_ as s,c as e,o as a,d as n}from"./app.37329957.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBE","slug":"\u5355\u72EC\u5F00\u8BBE"},{"level":3,"title":"\u793A\u4F8B","slug":"\u793A\u4F8B"},{"level":3,"title":"\u67E5\u8BE2\u4FE1\u606F","slug":"\u67E5\u8BE2\u4FE1\u606F"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBE","slug":"\u6279\u91CF\u5F00\u8BBE"},{"level":2,"title":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF","slug":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF"}],"relativePath":"en_US/guide/docker_build.md"}',o={},c=n(`

\u5355\u72EC\u5F00\u8BBE

\u4E0B\u8F7D\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
+import{_ as s,c as e,o as a,d as n}from"./app.005aa5c6.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBE","slug":"\u5355\u72EC\u5F00\u8BBE"},{"level":3,"title":"\u793A\u4F8B","slug":"\u793A\u4F8B"},{"level":3,"title":"\u67E5\u8BE2\u4FE1\u606F","slug":"\u67E5\u8BE2\u4FE1\u606F"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBE","slug":"\u6279\u91CF\u5F00\u8BBE"},{"level":2,"title":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF","slug":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF"}],"relativePath":"en_US/guide/docker_build.md","lastUpdated":1687011015000}',o={},c=n(`

\u5355\u72EC\u5F00\u8BBE

\u4E0B\u8F7D\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
 

\u8FD0\u884C

./onedocker.sh name cpu memory password sshport startport endport system
 

\u76EE\u524Dsystem\u4EC5\u652F\u6301\u9009\u62E9alpine\u6216debian\uFF0C\u9ED8\u8BA4\u662Fdebian

\u793A\u4F8B

  • \u4EE5\u4E0B\u4E3A\u5F00\u8BBE\u7684\u793A\u4F8B\u5BB9\u5668\u7684\u4FE1\u606F\uFF1A
    \u5BB9\u5668\u540D\u5B57 - test SSH\u767B\u5F55\u7684\u7528\u6237\u540D - root SSH\u767B\u5F55\u7684\u5BC6\u7801 - 123456 CPU\u6838\u6570 - 1
    \u5185\u5B58\u5927\u5C0F - 512MB SSH\u7AEF\u53E3 - 25000 \u5185\u5916\u7F51\u6620\u5C04\u7AEF\u53E3\u4E00\u81F4\u7684\u533A\u95F4 - 34975\u523035000 \u7CFB\u7EDF - debian
./onedocker.sh test 1 512 123456 25000 34975 35000 debian
diff --git a/assets/guide_docker_build.md.67e775c7.lean.js b/assets/guide_docker_build.md.e4f909d3.lean.js
similarity index 73%
rename from assets/guide_docker_build.md.67e775c7.lean.js
rename to assets/guide_docker_build.md.e4f909d3.lean.js
index e83673a7fa..97a6961456 100644
--- a/assets/guide_docker_build.md.67e775c7.lean.js
+++ b/assets/guide_docker_build.md.e4f909d3.lean.js
@@ -1 +1 @@
-import{_ as s,c as e,o as a,d as n}from"./app.37329957.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBE","slug":"\u5355\u72EC\u5F00\u8BBE"},{"level":3,"title":"\u793A\u4F8B","slug":"\u793A\u4F8B"},{"level":3,"title":"\u67E5\u8BE2\u4FE1\u606F","slug":"\u67E5\u8BE2\u4FE1\u606F"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBE","slug":"\u6279\u91CF\u5F00\u8BBE"},{"level":2,"title":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF","slug":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF"}],"relativePath":"en_US/guide/docker_build.md"}',o={},c=n("",34),p=[c];function t(r,l,d,i,u,h){return a(),e("div",null,p)}var g=s(o,[["render",t]]);export{m as __pageData,g as default};
+import{_ as s,c as e,o as a,d as n}from"./app.005aa5c6.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBE","slug":"\u5355\u72EC\u5F00\u8BBE"},{"level":3,"title":"\u793A\u4F8B","slug":"\u793A\u4F8B"},{"level":3,"title":"\u67E5\u8BE2\u4FE1\u606F","slug":"\u67E5\u8BE2\u4FE1\u606F"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBE","slug":"\u6279\u91CF\u5F00\u8BBE"},{"level":2,"title":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u8BE2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF","slug":"\u5378\u8F7D\u6240\u6709docker\u5BB9\u5668\u548C\u955C\u50CF"}],"relativePath":"en_US/guide/docker_build.md","lastUpdated":1687011015000}',o={},c=n("",34),p=[c];function t(r,l,d,i,u,h){return a(),e("div",null,p)}var g=s(o,[["render",t]]);export{m as __pageData,g as default};
diff --git a/assets/guide_docker_install.md.2224f066.js b/assets/guide_docker_install.md.2224f066.js
deleted file mode 100644
index 5b0a73d1e4..0000000000
--- a/assets/guide_docker_install.md.2224f066.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{_ as s,c as a,o as e,d as n}from"./app.37329957.js";const m='{"title":"\u73AF\u5883\u9884\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u73AF\u5883\u9884\u8BBE","slug":"\u73AF\u5883\u9884\u8BBE"}],"relativePath":"en_US/guide/docker_install.md"}',t={},p=n(`

\u73AF\u5883\u9884\u8BBE

  • \u68C0\u6D4B\u73AF\u5883
  • \u5B89\u88C5docker
  • \u4E0B\u8F7D\u9884\u5236\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
-

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
-
`,6),o=[p];function r(c,i,l,d,_,u){return e(),a("div",null,o)}var k=s(t,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/guide_docker_install.md.2224f066.lean.js b/assets/guide_docker_install.md.2224f066.lean.js deleted file mode 100644 index 76d9bc0af5..0000000000 --- a/assets/guide_docker_install.md.2224f066.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,c as a,o as e,d as n}from"./app.37329957.js";const m='{"title":"\u73AF\u5883\u9884\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u73AF\u5883\u9884\u8BBE","slug":"\u73AF\u5883\u9884\u8BBE"}],"relativePath":"en_US/guide/docker_install.md"}',t={},p=n("",6),o=[p];function r(c,i,l,d,_,u){return e(),a("div",null,o)}var k=s(t,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/guide_docker_install.md.f78c3810.js b/assets/guide_docker_install.md.f78c3810.js new file mode 100644 index 0000000000..517acc15be --- /dev/null +++ b/assets/guide_docker_install.md.f78c3810.js @@ -0,0 +1,3 @@ +import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"\u73AF\u5883\u9884\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u73AF\u5883\u9884\u8BBE","slug":"\u73AF\u5883\u9884\u8BBE"}],"relativePath":"en_US/guide/docker_install.md","lastUpdated":1687011015000}',t={},p=n(`

\u73AF\u5883\u9884\u8BBE

  • \u68C0\u6D4B\u73AF\u5883
  • \u5B89\u88C5docker
  • \u4E0B\u8F7D\u9884\u5236\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
+

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
+
`,6),o=[p];function r(c,i,l,d,_,u){return e(),a("div",null,o)}var k=s(t,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/guide_docker_install.md.f78c3810.lean.js b/assets/guide_docker_install.md.f78c3810.lean.js new file mode 100644 index 0000000000..f65fe1d188 --- /dev/null +++ b/assets/guide_docker_install.md.f78c3810.lean.js @@ -0,0 +1 @@ +import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"\u73AF\u5883\u9884\u8BBE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u73AF\u5883\u9884\u8BBE","slug":"\u73AF\u5883\u9884\u8BBE"}],"relativePath":"en_US/guide/docker_install.md","lastUpdated":1687011015000}',t={},p=n("",6),o=[p];function r(c,i,l,d,_,u){return e(),a("div",null,o)}var k=s(t,[["render",r]]);export{m as __pageData,k as default}; diff --git a/assets/guide_docker_precheck.md.2e8c5191.js b/assets/guide_docker_precheck.md.2e8c5191.js new file mode 100644 index 0000000000..c0c2a5ad1c --- /dev/null +++ b/assets/guide_docker_precheck.md.2e8c5191.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as a}from"./app.005aa5c6.js";const f='{"title":"\u9879\u76EE\u7279\u70B9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"}],"relativePath":"en_US/guide/docker_precheck.md","lastUpdated":1687011015000}',o={},p=a('

\u9879\u76EE\u7279\u70B9

\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668(Bulk or individual NAT server provisioning via docker)

\u9ED8\u8BA4\u4F7F\u7528debian\u7CFB\u7EDF\uFF0C\u6BCF\u4E2A\u5BB9\u5668\u81EA\u5E261\u4E2A\u5916\u7F51ssh\u7AEF\u53E3\uFF0C25\u4E2A\u5185\u5916\u7F51\u4E00\u81F4\u7AEF\u53E3

\u9ED8\u8BA4\u521B\u5EFA\u7684\u662F\u975E\u7279\u6743\u5BB9\u5668\uFF0C\u4E14\u4E0D\u6302\u8F7D\u4E0E\u5BBF\u4E3B\u673A\u7684docker\u7684\u5B88\u62A4\u8FDB\u7A0B\u4E4B\u95F4\u7684\u901A\u4FE1\uFF0C\u6240\u4EE5\u5BBF\u4E3B\u673A\u521B\u5EFA\u7684docker\u865A\u62DF\u5316\u7684NAT\u670D\u52A1\u5668\u5185\u65E0\u6CD5\u518D\u5D4C\u5957\u865A\u62DF\u5316docker

\u7531\u4E8E\u53EA\u662F\u5728\u5BBF\u4E3B\u673A\u8FDB\u884C\u4E86CPU\u548C\u5185\u5B58\u7684\u9650\u5236\u672A\u5728\u5BB9\u5668\u5185\u4F7F\u7528cgroup\u9A71\u52A8\uFF0C\u6240\u4EE5\u5728\u5BB9\u5668\u5185\u4F7F\u7528\u670D\u52A1\u5668\u6D4B\u8BD5\u811A\u672C\u68C0\u6D4B\u5BB9\u5668\u7684\u53EF\u7528\u8D44\u6E90\u662F\u65E0\u6548\u7684\uFF0C\u663E\u793A\u7684\u4F1A\u662F\u5BBF\u4E3B\u673A\u7684\u8D44\u6E90

\u7531\u4E8E\u5927\u90E8\u5206\u4E91\u670D\u52A1\u5668xfs\u6587\u4EF6\u7CFB\u7EDF\u4E0D\u542F\u7528pquota\u9009\u9879\uFF0C\u6240\u4EE5\u9ED8\u8BA4\u5171\u4EAB\u5BBF\u4E3B\u673A\u786C\u76D8\uFF0C\u65E0\u6CD5\u9650\u5236\u6BCF\u4E2A\u5BB9\u5668\u7684\u78C1\u76D8\u5927\u5C0F

\u914D\u7F6E\u8981\u6C42

\u7CFB\u7EDF\u53EF\u5B89\u88C5docker\u5373\u53EF\u7528\uFF0C\u7F51\u7EDC\u80FD\u8FDE\u63A5Github\u7684raw\u754C\u9762\u5C31\u80FD\u7528\uFF0C\u786C\u4EF6\u914D\u7F6E\u53EA\u8981\u4E0D\u62C9\u8DE8\u5C31\u884C\uFF0C\u7A7A\u95F2\u786C\u76D8\u67093G\u5C31\u884C

\u63A8\u8350\u5728\u5F00\u8BBENAT\u670D\u52A1\u5668\u524D\u5148\u589E\u52A0\u90E8\u5206SWAP\u865A\u62DF\u5185\u5B58\uFF0C\u907F\u514D\u7A81\u53D1\u7684\u5185\u5B58\u5360\u7528\u5BFC\u81F4\u6BCD\u9E21\u5361\u6B7B \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u8D44\u6E90\u53EA\u662F\u597D\u4E86\u4E00\u70B9\uFF0C\u9700\u8981\u9650\u5236\u66F4\u591A\u4E1C\u897F\u5E76\u9700\u8981\u914D\u7F6EIPV6\u72EC\u7ACB\u5730\u5740\u548C\u9650\u5236\u786C\u76D8\u5927\u5C0F\uFF0C\u53EF\u4F7F\u7528LXD\u6279\u91CF\u5F00LXC\u865A\u62DF\u5316\u7684\u5BB9\u5668 \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u975E\u5E38\u597D\u8D44\u6E90\u5F88\u591A\uFF0C\u53EF\u4F7F\u7528PVE\u6279\u91CF\u5F00KVM\u865A\u62DF\u5316\u7684\u865A\u62DF\u673A \u8DF3\u8F6C

',11),n=[p];function s(i,c,d,_,h,l){return t(),r("div",null,n)}var g=e(o,[["render",s]]);export{f as __pageData,g as default}; diff --git a/assets/guide_docker_precheck.md.2e8c5191.lean.js b/assets/guide_docker_precheck.md.2e8c5191.lean.js new file mode 100644 index 0000000000..b6ec8a036e --- /dev/null +++ b/assets/guide_docker_precheck.md.2e8c5191.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as a}from"./app.005aa5c6.js";const f='{"title":"\u9879\u76EE\u7279\u70B9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"}],"relativePath":"en_US/guide/docker_precheck.md","lastUpdated":1687011015000}',o={},p=a("",11),n=[p];function s(i,c,d,_,h,l){return t(),r("div",null,n)}var g=e(o,[["render",s]]);export{f as __pageData,g as default}; diff --git a/assets/guide_docker_precheck.md.8f742c0d.js b/assets/guide_docker_precheck.md.8f742c0d.js deleted file mode 100644 index 751738054e..0000000000 --- a/assets/guide_docker_precheck.md.8f742c0d.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as a}from"./app.37329957.js";const f='{"title":"\u9879\u76EE\u7279\u70B9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"}],"relativePath":"en_US/guide/docker_precheck.md"}',o={},p=a('

\u9879\u76EE\u7279\u70B9

\u901A\u8FC7docker\u6279\u91CF\u6216\u5355\u72EC\u5F00\u8BBENAT\u670D\u52A1\u5668(Bulk or individual NAT server provisioning via docker)

\u9ED8\u8BA4\u4F7F\u7528debian\u7CFB\u7EDF\uFF0C\u6BCF\u4E2A\u5BB9\u5668\u81EA\u5E261\u4E2A\u5916\u7F51ssh\u7AEF\u53E3\uFF0C25\u4E2A\u5185\u5916\u7F51\u4E00\u81F4\u7AEF\u53E3

\u9ED8\u8BA4\u521B\u5EFA\u7684\u662F\u975E\u7279\u6743\u5BB9\u5668\uFF0C\u4E14\u4E0D\u6302\u8F7D\u4E0E\u5BBF\u4E3B\u673A\u7684docker\u7684\u5B88\u62A4\u8FDB\u7A0B\u4E4B\u95F4\u7684\u901A\u4FE1\uFF0C\u6240\u4EE5\u5BBF\u4E3B\u673A\u521B\u5EFA\u7684docker\u865A\u62DF\u5316\u7684NAT\u670D\u52A1\u5668\u5185\u65E0\u6CD5\u518D\u5D4C\u5957\u865A\u62DF\u5316docker

\u7531\u4E8E\u53EA\u662F\u5728\u5BBF\u4E3B\u673A\u8FDB\u884C\u4E86CPU\u548C\u5185\u5B58\u7684\u9650\u5236\u672A\u5728\u5BB9\u5668\u5185\u4F7F\u7528cgroup\u9A71\u52A8\uFF0C\u6240\u4EE5\u5728\u5BB9\u5668\u5185\u4F7F\u7528\u670D\u52A1\u5668\u6D4B\u8BD5\u811A\u672C\u68C0\u6D4B\u5BB9\u5668\u7684\u53EF\u7528\u8D44\u6E90\u662F\u65E0\u6548\u7684\uFF0C\u663E\u793A\u7684\u4F1A\u662F\u5BBF\u4E3B\u673A\u7684\u8D44\u6E90

\u7531\u4E8E\u5927\u90E8\u5206\u4E91\u670D\u52A1\u5668xfs\u6587\u4EF6\u7CFB\u7EDF\u4E0D\u542F\u7528pquota\u9009\u9879\uFF0C\u6240\u4EE5\u9ED8\u8BA4\u5171\u4EAB\u5BBF\u4E3B\u673A\u786C\u76D8\uFF0C\u65E0\u6CD5\u9650\u5236\u6BCF\u4E2A\u5BB9\u5668\u7684\u78C1\u76D8\u5927\u5C0F

\u914D\u7F6E\u8981\u6C42

\u7CFB\u7EDF\u53EF\u5B89\u88C5docker\u5373\u53EF\u7528\uFF0C\u7F51\u7EDC\u80FD\u8FDE\u63A5Github\u7684raw\u754C\u9762\u5C31\u80FD\u7528\uFF0C\u786C\u4EF6\u914D\u7F6E\u53EA\u8981\u4E0D\u62C9\u8DE8\u5C31\u884C\uFF0C\u7A7A\u95F2\u786C\u76D8\u67093G\u5C31\u884C

\u63A8\u8350\u5728\u5F00\u8BBENAT\u670D\u52A1\u5668\u524D\u5148\u589E\u52A0\u90E8\u5206SWAP\u865A\u62DF\u5185\u5B58\uFF0C\u907F\u514D\u7A81\u53D1\u7684\u5185\u5B58\u5360\u7528\u5BFC\u81F4\u6BCD\u9E21\u5361\u6B7B \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u8D44\u6E90\u53EA\u662F\u597D\u4E86\u4E00\u70B9\uFF0C\u9700\u8981\u9650\u5236\u66F4\u591A\u4E1C\u897F\u5E76\u9700\u8981\u914D\u7F6EIPV6\u72EC\u7ACB\u5730\u5740\u548C\u9650\u5236\u786C\u76D8\u5927\u5C0F\uFF0C\u53EF\u4F7F\u7528LXD\u6279\u91CF\u5F00LXC\u865A\u62DF\u5316\u7684\u5BB9\u5668 \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u975E\u5E38\u597D\u8D44\u6E90\u5F88\u591A\uFF0C\u53EF\u4F7F\u7528PVE\u6279\u91CF\u5F00KVM\u865A\u62DF\u5316\u7684\u865A\u62DF\u673A \u8DF3\u8F6C

',11),n=[p];function i(s,c,d,_,h,l){return t(),r("div",null,n)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/guide_docker_precheck.md.8f742c0d.lean.js b/assets/guide_docker_precheck.md.8f742c0d.lean.js deleted file mode 100644 index 005808e2ce..0000000000 --- a/assets/guide_docker_precheck.md.8f742c0d.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as a}from"./app.37329957.js";const f='{"title":"\u9879\u76EE\u7279\u70B9","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"}],"relativePath":"en_US/guide/docker_precheck.md"}',o={},p=a("",11),n=[p];function i(s,c,d,_,h,l){return t(),r("div",null,n)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/guide_docker_qa.md.98b4d841.js b/assets/guide_docker_qa.md.98b4d841.js new file mode 100644 index 0000000000..a36026b286 --- /dev/null +++ b/assets/guide_docker_qa.md.98b4d841.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.005aa5c6.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687011015000}',r={};function o(c,s,n,_,d,p){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/guide_docker_qa.md.98b4d841.lean.js b/assets/guide_docker_qa.md.98b4d841.lean.js new file mode 100644 index 0000000000..a36026b286 --- /dev/null +++ b/assets/guide_docker_qa.md.98b4d841.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.005aa5c6.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687011015000}',r={};function o(c,s,n,_,d,p){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/guide_docker_qa.md.e8440369.js b/assets/guide_docker_qa.md.e8440369.js deleted file mode 100644 index 8c10d8ec6c..0000000000 --- a/assets/guide_docker_qa.md.e8440369.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.37329957.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md"}',r={};function o(c,n,s,_,d,i){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/guide_docker_qa.md.e8440369.lean.js b/assets/guide_docker_qa.md.e8440369.lean.js deleted file mode 100644 index 8c10d8ec6c..0000000000 --- a/assets/guide_docker_qa.md.e8440369.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.37329957.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md"}',r={};function o(c,n,s,_,d,i){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/guide_docker_thanks.md.98c9ec17.js b/assets/guide_docker_thanks.md.98c9ec17.js new file mode 100644 index 0000000000..a36026b286 --- /dev/null +++ b/assets/guide_docker_thanks.md.98c9ec17.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.005aa5c6.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687011015000}',r={};function o(c,s,n,_,d,p){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/guide_docker_thanks.md.98c9ec17.lean.js b/assets/guide_docker_thanks.md.98c9ec17.lean.js new file mode 100644 index 0000000000..a36026b286 --- /dev/null +++ b/assets/guide_docker_thanks.md.98c9ec17.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.005aa5c6.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687011015000}',r={};function o(c,s,n,_,d,p){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/guide_docker_thanks.md.b2b48697.js b/assets/guide_docker_thanks.md.b2b48697.js deleted file mode 100644 index 8c10d8ec6c..0000000000 --- a/assets/guide_docker_thanks.md.b2b48697.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.37329957.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md"}',r={};function o(c,n,s,_,d,i){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/guide_docker_thanks.md.b2b48697.lean.js b/assets/guide_docker_thanks.md.b2b48697.lean.js deleted file mode 100644 index 8c10d8ec6c..0000000000 --- a/assets/guide_docker_thanks.md.b2b48697.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as t,o as a}from"./app.37329957.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md"}',r={};function o(c,n,s,_,d,i){return a(),t("div")}var l=e(r,[["render",o]]);export{f as __pageData,l as default}; diff --git a/assets/guide_lxd_extra_config.md.0a55dae0.js b/assets/guide_lxd_extra_config.md.fe5556ff.js similarity index 82% rename from assets/guide_lxd_extra_config.md.0a55dae0.js rename to assets/guide_lxd_extra_config.md.fe5556ff.js index 1ad9674705..d2694f0508 100644 --- a/assets/guide_lxd_extra_config.md.0a55dae0.js +++ b/assets/guide_lxd_extra_config.md.fe5556ff.js @@ -1,4 +1,4 @@ -import{_ as s,c as n,o as a,d as e}from"./app.37329957.js";const k='{"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","slug":"\u81EA\u52A8\u914D\u7F6Eipv6\u5730\u5740"},{"level":2,"title":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305","slug":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305"}],"relativePath":"en_US/guide/lxd_extra_config.md"}',t={},o=e(`

::tip \u4EE5\u4E0B\u7684\u914D\u7F6E\u5B89\u88C5\u4F1A\u52A0\u91CD\u6BCD\u9E21\u7684\u8D1F\u62C5\uFF0C\u975E\u5FC5\u8981\u4E0D\u8981\u5B89\u88C5 \u5982\u679C\u662F\u4E2A\u4EBA\u4F7F\u7528\uFF0C\u53EF\u5FFD\u7565\u9632\u6EE5\u7528\u90E8\u5206\u811A\u672C\u7684\u5B89\u88C5 ::

\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740

  • (\u975E\u5FC5\u987B\uFF0C\u4E0D\u4F7F\u7528\u7684\u4E5F\u6CA1\u95EE\u9898)
  • \u8BE5\u811A\u672C\u4EC5\u9002\u7528\u4E8E\u6BCD\u9E21\u6709\u7ED9IPV6\u5B50\u7F51\u4E14\u662F/64\u7684\uFF0C\u4E14\u6BCD\u9E21\u7ED1\u5B9A\u4E86\u5B50\u7F51\u7684\u7B2C\u4E00\u4E2AIP\u505A\u6BCD\u9E21\u7684IPV6\u5730\u5740\u6216IPV6\u7684gateway
  • \u81EA\u52A8\u4E3ALXD\u521B\u5EFA\u7684LXC\u5BB9\u5668\u914D\u7F6EIPV6\u5730\u5740
  • \u5DF2\u96C6\u6210\u5230buildone.sh\u4E2D\u53EF\u4F7F\u7528\u53D8\u91CF\u63A7\u5236\u4E14\u65E0\u9700\u4E8B\u5148\u4E0B\u8F7D\uFF0C\u8BE5\u811A\u672C\u53EF\u4E0D\u624B\u52A8\u4F7F\u7528\uFF0C\u5728\u4F7F\u7528buildone.sh\u65F6\u914D\u7F6EY\u5F00\u542F\u5373\u53EF

\u4E0B\u8F7D\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
+import{_ as s,c as n,o as a,d as e}from"./app.005aa5c6.js";const k='{"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","slug":"\u81EA\u52A8\u914D\u7F6Eipv6\u5730\u5740"},{"level":2,"title":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305","slug":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305"}],"relativePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1687011015000}',t={},o=e(`

::tip \u4EE5\u4E0B\u7684\u914D\u7F6E\u5B89\u88C5\u4F1A\u52A0\u91CD\u6BCD\u9E21\u7684\u8D1F\u62C5\uFF0C\u975E\u5FC5\u8981\u4E0D\u8981\u5B89\u88C5 \u5982\u679C\u662F\u4E2A\u4EBA\u4F7F\u7528\uFF0C\u53EF\u5FFD\u7565\u9632\u6EE5\u7528\u90E8\u5206\u811A\u672C\u7684\u5B89\u88C5 ::

\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740

  • (\u975E\u5FC5\u987B\uFF0C\u4E0D\u4F7F\u7528\u7684\u4E5F\u6CA1\u95EE\u9898)
  • \u8BE5\u811A\u672C\u4EC5\u9002\u7528\u4E8E\u6BCD\u9E21\u6709\u7ED9IPV6\u5B50\u7F51\u4E14\u662F/64\u7684\uFF0C\u4E14\u6BCD\u9E21\u7ED1\u5B9A\u4E86\u5B50\u7F51\u7684\u7B2C\u4E00\u4E2AIP\u505A\u6BCD\u9E21\u7684IPV6\u5730\u5740\u6216IPV6\u7684gateway
  • \u81EA\u52A8\u4E3ALXD\u521B\u5EFA\u7684LXC\u5BB9\u5668\u914D\u7F6EIPV6\u5730\u5740
  • \u5DF2\u96C6\u6210\u5230buildone.sh\u4E2D\u53EF\u4F7F\u7528\u53D8\u91CF\u63A7\u5236\u4E14\u65E0\u9700\u4E8B\u5148\u4E0B\u8F7D\uFF0C\u8BE5\u811A\u672C\u53EF\u4E0D\u624B\u52A8\u4F7F\u7528\uFF0C\u5728\u4F7F\u7528buildone.sh\u65F6\u914D\u7F6EY\u5F00\u542F\u5373\u53EF

\u4E0B\u8F7D\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
 

\u81EA\u52A8\u4E3A\u5BB9\u5668\u914D\u7F6EIPV6\u6620\u5C04\u5730\u5740

bash build_ipv6_network.sh \u5BB9\u5668\u540D\u79F0
 

\u6620\u5C04\u5B8C\u6BD5\u4F1A\u6253\u5370\u4FE1\u606F

\u793A\u4F8B(\u7ED9test\u5BB9\u5668\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740\uFF0C\u914D\u7F6E\u5B8C\u6210\u4F1A\u5199\u5165\u4E00\u4E2Atest_v6\u7684\u6587\u4EF6\u4FE1\u606F)

bash build_ipv6_network.sh test
diff --git a/assets/guide_lxd_extra_config.md.0a55dae0.lean.js b/assets/guide_lxd_extra_config.md.fe5556ff.lean.js
similarity index 66%
rename from assets/guide_lxd_extra_config.md.0a55dae0.lean.js
rename to assets/guide_lxd_extra_config.md.fe5556ff.lean.js
index 7f9b633cc1..68218bf5dd 100644
--- a/assets/guide_lxd_extra_config.md.0a55dae0.lean.js
+++ b/assets/guide_lxd_extra_config.md.fe5556ff.lean.js
@@ -1 +1 @@
-import{_ as s,c as n,o as a,d as e}from"./app.37329957.js";const k='{"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","slug":"\u81EA\u52A8\u914D\u7F6Eipv6\u5730\u5740"},{"level":2,"title":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305","slug":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305"}],"relativePath":"en_US/guide/lxd_extra_config.md"}',t={},o=e("",39),p=[o];function c(i,l,r,d,h,u){return a(),n("div",null,p)}var g=s(t,[["render",c]]);export{k as __pageData,g as default};
+import{_ as s,c as n,o as a,d as e}from"./app.005aa5c6.js";const k='{"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81EA\u52A8\u914D\u7F6EIPV6\u5730\u5740","slug":"\u81EA\u52A8\u914D\u7F6Eipv6\u5730\u5740"},{"level":2,"title":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305","slug":"\u5C4F\u853D\u5BB9\u6613\u88AB\u6EE5\u7528\u7684\u7AEF\u53E3\u7684\u51FA\u5165\u6D41\u91CF\u4EE5\u5C4F\u853D\u7AEF\u53E3\u548C\u5C4F\u853D\u6EE5\u7528\u5DE5\u5177\u5305"}],"relativePath":"en_US/guide/lxd_extra_config.md","lastUpdated":1687011015000}',t={},o=e("",39),p=[o];function c(i,l,r,d,h,u){return a(),n("div",null,p)}var g=s(t,[["render",c]]);export{k as __pageData,g as default};
diff --git a/assets/guide_lxd_install.md.45d5e313.js b/assets/guide_lxd_install.md.1e819d14.js
similarity index 89%
rename from assets/guide_lxd_install.md.45d5e313.js
rename to assets/guide_lxd_install.md.1e819d14.js
index 3798d7d0bd..6c86fc1b49 100644
--- a/assets/guide_lxd_install.md.45d5e313.js
+++ b/assets/guide_lxd_install.md.1e819d14.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,d as p}from"./app.37329957.js";const g='{"title":"\u624B\u52A8\u5B89\u88C5","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u624B\u52A8\u5B89\u88C5","slug":"\u624B\u52A8\u5B89\u88C5"},{"level":3,"title":"\u5173\u95ED\u9632\u706B\u5899","slug":"\u5173\u95ED\u9632\u706B\u5899"},{"level":3,"title":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP","slug":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58swap"},{"level":3,"title":"\u5B89\u88C5LXD","slug":"\u5B89\u88C5lxd"},{"level":2,"title":"\u4E00\u952E\u5B89\u88C5","slug":"\u4E00\u952E\u5B89\u88C5"}],"relativePath":"en_US/guide/lxd_install.md"}',e={},t=p(`

\u624B\u52A8\u5B89\u88C5

\u65B0\u624B\u63A8\u8350\uFF0C\u907F\u514D\u6709bug\u4E0D\u77E5\u9053\u600E\u4E48\u4FEE\uFF0C\u5F53\u7136\u5982\u679C\u53EA\u662F\u56FE\u65B9\u4FBF\u53C8\u662F\u8001\u624B\u61C2\u6392\u67E5BUG\uFF0C\u7528\u540E\u9762\u7684\u4E00\u952E\u5B89\u88C5\u4E5F\u884C

\u5173\u95ED\u9632\u706B\u5899

apt update
+import{_ as a,c as s,o as n,d as p}from"./app.005aa5c6.js";const g='{"title":"\u624B\u52A8\u5B89\u88C5","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u624B\u52A8\u5B89\u88C5","slug":"\u624B\u52A8\u5B89\u88C5"},{"level":3,"title":"\u5173\u95ED\u9632\u706B\u5899","slug":"\u5173\u95ED\u9632\u706B\u5899"},{"level":3,"title":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP","slug":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58swap"},{"level":3,"title":"\u5B89\u88C5LXD","slug":"\u5B89\u88C5lxd"},{"level":2,"title":"\u4E00\u952E\u5B89\u88C5","slug":"\u4E00\u952E\u5B89\u88C5"}],"relativePath":"en_US/guide/lxd_install.md","lastUpdated":1687011015000}',e={},t=p(`

\u624B\u52A8\u5B89\u88C5

\u65B0\u624B\u63A8\u8350\uFF0C\u907F\u514D\u6709bug\u4E0D\u77E5\u9053\u600E\u4E48\u4FEE\uFF0C\u5F53\u7136\u5982\u679C\u53EA\u662F\u56FE\u65B9\u4FBF\u53C8\u662F\u8001\u624B\u61C2\u6392\u67E5BUG\uFF0C\u7528\u540E\u9762\u7684\u4E00\u952E\u5B89\u88C5\u4E5F\u884C

\u5173\u95ED\u9632\u706B\u5899

apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable
 

\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP

\u5185\u5B58\u770B\u4F60\u5F00\u591A\u5C11\u5C0F\u9E21\uFF0C\u8FD9\u91CC\u5982\u679C\u8981\u5F008\u4E2A\uFF0C\u6362\u7B97\u9700\u89812G\u5185\u5B58\uFF0C\u5B9E\u9645\u5185\u5B58\u5982\u679C\u662F512MB\u5185\u5B58\uFF0C\u8FD8\u9700\u8981\u5F001.5G\uFF0C\u4FDD\u5B88\u70B9\u5F002G\u865A\u62DF\u5185\u5B58\u5373\u53EF

\u6267\u884C\u4E0B\u9762\u547D\u4EE4\uFF0C\u8F93\u51651\uFF0C\u518D\u8F93\u51652048\uFF0C\u4EE3\u8868\u5F002G\u865A\u62DF\u5185\u5B58

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh
@@ -12,4 +12,4 @@ snap install lxd
 export PATH=$PATH:/snap/bin
 

\u8FDE\u63A5\u540E\u518D\u6D4B\u8BD5lxc\u547D\u4EE4\u662F\u5426\u6709\u62A5\u9519\u627E\u4E0D\u5230

\u4E00\u952E\u5B89\u88C5

::tip \u5982\u679C\u662F\u5168\u65B0\u7684\u670D\u52A1\u5668\uFF0C\u52A1\u5FC5\u4FDD\u8BC1apt update\u548Capt install curl\u90FD\u65E0\u95EE\u9898\u518D\u6267\u884C\u672C\u811A\u672C \u4E14\u81EA\u5F00\u673A\u8D77\u6700\u597D\u7B49\u5F855\u5206\u949F\u540E\u518D\u6267\u884C\u4EE5\u4E0B\u547D\u4EE4\uFF0C\u907F\u514D\u7CFB\u7EDF\u9ED8\u8BA4\u8BBE\u7F6E\u4E2D\u5C31\u6267\u884C\u4E86\u672C\u811A\u672C\u5BFC\u81F4apt\u6E90\u5361\u6B7B ::

  • \u73AF\u5883\u8981\u6C42\uFF1AUbuntu 18+(\u63A8\u8350)\uFF0CDebian 8+(\u4EC5\u9650x86_64\u67B6\u6784)

\u5982\u679C\u662FDebian\u7CFB\u7684\u5BBF\u4E3B\u673A\uFF0C\u52A1\u5FC5\u5728screen\u4E2D\u6267\u884C\u672C\u811A\u672C\uFF0C\u907F\u514D\u957F\u671F\u8FD0\u884C\u65F6SSH\u4E2D\u65AD\u5BFC\u81F4ZFS\u7F16\u8BD1\u5B89\u88C5\u5931\u8D25

\u8FD9\u91CC\u7684\u865A\u62DF\u5185\u5B58\u662F\u8BF4\u8981\u5F00\u7684SWAP\u5927\u5C0F\uFF0C\u5B58\u50A8\u6C60\u5219\u662F\u4F60\u6240\u6709\u8981\u5F00\u7684\u5C0F\u9E21\u5360\u7684\u76D8\u7684\u5927\u5C0F\u7684\u603B\u548C

\u73AF\u5883\u5B89\u88C5\u8FC7\u7A0B\u4E2D\u53EF\u80FD\u9700\u8981\u91CD\u542F\u670D\u52A1\u5668\u518D\u6B21\u6267\u884C\u4EE5\u52A0\u8F7D\u542Bzfs\u7684\u5185\u6838\uFF0C\u4E00\u5207\u4EE5\u8FD0\u884C\u540E\u547D\u4EE4\u884C\u7684\u63D0\u793A\u4E3A\u51C6

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh
-

\u4F8B\u5B50\uFF1A

\u5982\u679C\u7CFB\u7EDF\u76D8\u9664\u53BB\u5DF2\u5360\u7528\u7A7A\u95F4\u8FD8\u670918G\u786C\u76D8\u7A7A\u4F59\uFF0C\u60F3\u5F002G\u865A\u62DF\u5185\u5B58(2048MB\u7684SWAP)\uFF0C15G\u7684\u5B58\u50A8\u6C60\uFF0C\u6309\u7167\u547D\u4EE4\u884C\u7684\u63D0\u793A\u5219\u4F9D\u6B21\u8F93\u51652048\u548C15

`,40),o=[t];function l(c,r,i,d,h,u){return n(),a("div",null,o)}var x=s(e,[["render",l]]);export{g as __pageData,x as default}; +

\u4F8B\u5B50\uFF1A

\u5982\u679C\u7CFB\u7EDF\u76D8\u9664\u53BB\u5DF2\u5360\u7528\u7A7A\u95F4\u8FD8\u670918G\u786C\u76D8\u7A7A\u4F59\uFF0C\u60F3\u5F002G\u865A\u62DF\u5185\u5B58(2048MB\u7684SWAP)\uFF0C15G\u7684\u5B58\u50A8\u6C60\uFF0C\u6309\u7167\u547D\u4EE4\u884C\u7684\u63D0\u793A\u5219\u4F9D\u6B21\u8F93\u51652048\u548C15

`,40),o=[t];function l(c,r,i,d,h,u){return n(),s("div",null,o)}var x=a(e,[["render",l]]);export{g as __pageData,x as default}; diff --git a/assets/guide_lxd_install.md.45d5e313.lean.js b/assets/guide_lxd_install.md.1e819d14.lean.js similarity index 64% rename from assets/guide_lxd_install.md.45d5e313.lean.js rename to assets/guide_lxd_install.md.1e819d14.lean.js index df67e9c454..6198673b94 100644 --- a/assets/guide_lxd_install.md.45d5e313.lean.js +++ b/assets/guide_lxd_install.md.1e819d14.lean.js @@ -1 +1 @@ -import{_ as s,c as a,o as n,d as p}from"./app.37329957.js";const g='{"title":"\u624B\u52A8\u5B89\u88C5","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u624B\u52A8\u5B89\u88C5","slug":"\u624B\u52A8\u5B89\u88C5"},{"level":3,"title":"\u5173\u95ED\u9632\u706B\u5899","slug":"\u5173\u95ED\u9632\u706B\u5899"},{"level":3,"title":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP","slug":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58swap"},{"level":3,"title":"\u5B89\u88C5LXD","slug":"\u5B89\u88C5lxd"},{"level":2,"title":"\u4E00\u952E\u5B89\u88C5","slug":"\u4E00\u952E\u5B89\u88C5"}],"relativePath":"en_US/guide/lxd_install.md"}',e={},t=p("",40),o=[t];function l(c,r,i,d,h,u){return n(),a("div",null,o)}var x=s(e,[["render",l]]);export{g as __pageData,x as default}; +import{_ as a,c as s,o as n,d as p}from"./app.005aa5c6.js";const g='{"title":"\u624B\u52A8\u5B89\u88C5","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u624B\u52A8\u5B89\u88C5","slug":"\u624B\u52A8\u5B89\u88C5"},{"level":3,"title":"\u5173\u95ED\u9632\u706B\u5899","slug":"\u5173\u95ED\u9632\u706B\u5899"},{"level":3,"title":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58SWAP","slug":"\u5F00\u8BBE\u865A\u62DF\u5185\u5B58swap"},{"level":3,"title":"\u5B89\u88C5LXD","slug":"\u5B89\u88C5lxd"},{"level":2,"title":"\u4E00\u952E\u5B89\u88C5","slug":"\u4E00\u952E\u5B89\u88C5"}],"relativePath":"en_US/guide/lxd_install.md","lastUpdated":1687011015000}',e={},t=p("",40),o=[t];function l(c,r,i,d,h,u){return n(),s("div",null,o)}var x=a(e,[["render",l]]);export{g as __pageData,x as default}; diff --git a/assets/guide_lxd_lxc.md.892b1b02.js b/assets/guide_lxd_lxc.md.6a1e7015.js similarity index 90% rename from assets/guide_lxd_lxc.md.892b1b02.js rename to assets/guide_lxd_lxc.md.6a1e7015.js index 1f28176758..d3f9cb40a3 100644 --- a/assets/guide_lxd_lxc.md.892b1b02.js +++ b/assets/guide_lxd_lxc.md.6a1e7015.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,d as e}from"./app.37329957.js";const m='{"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","slug":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C"},{"level":3,"title":"\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C","slug":"\u53EA\u6709\u4E00\u4E2Assh\u7AEF\u53E3\u7684\u7248\u672C"},{"level":2,"title":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u90E8\u5206\u5E38\u7528LXD\u547D\u4EE4","slug":"\u90E8\u5206\u5E38\u7528lxd\u547D\u4EE4"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377","slug":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377"},{"level":3,"title":"\u53EA\u5F00\u4E00\u4E2ANAT\u670D\u52A1\u5668","slug":"\u53EA\u5F00\u4E00\u4E2Anat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/lxd_lxc.md"}',p={},t=e(`

\u666E\u901A\u7684\u6279\u91CF\u7248\u672C

\u5F00\u51FA\u7684\u5C0F\u9E21\u914D\u7F6E\uFF1A

  • 1\u6838256MB\u5185\u5B581GB\u786C\u76D8\u9650\u901F250Mbps\u5E26\u5BBD
  • \u5E261\u4E2ASSH\u7AEF\u53E3\uFF0C25\u4E2A\u5916\u7F51\u7AEF\u53E3
  • \u9ED8\u8BA4\u5185\u5B58\u548C\u786C\u76D8\u5927\u5C0F

::tip lxc\u82E5\u547D\u4EE4\u65E0\u95EE\u9898\uFF0C\u6267\u884C\u521D\u59CB\u5316\u5F00\u5C0F\u9E21\uFF0C\u8FD9\u4E00\u6B65\u6700\u597D\u653Escreen\u4E2D\u540E\u53F0\u6302\u8D77\u6267\u884C\uFF0C\u5F00\u5C0F\u9E21\u65F6\u957F\u4E0E\u4F60\u5F00\u51E0\u4E2A\u548C\u6BCD\u9E21\u914D\u7F6E\u76F8\u5173 ::

\u6267\u884C\u4E0B\u9762\u547D\u4EE4\u52A0\u8F7D\u5F00\u673A\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
+import{_ as s,c as a,o as n,d as e}from"./app.005aa5c6.js";const m='{"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","slug":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C"},{"level":3,"title":"\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C","slug":"\u53EA\u6709\u4E00\u4E2Assh\u7AEF\u53E3\u7684\u7248\u672C"},{"level":2,"title":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u90E8\u5206\u5E38\u7528LXD\u547D\u4EE4","slug":"\u90E8\u5206\u5E38\u7528lxd\u547D\u4EE4"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377","slug":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377"},{"level":3,"title":"\u53EA\u5F00\u4E00\u4E2ANAT\u670D\u52A1\u5668","slug":"\u53EA\u5F00\u4E00\u4E2Anat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/lxd_lxc.md","lastUpdated":1687011015000}',p={},t=e(`

\u666E\u901A\u7684\u6279\u91CF\u7248\u672C

\u5F00\u51FA\u7684\u5C0F\u9E21\u914D\u7F6E\uFF1A

  • 1\u6838256MB\u5185\u5B581GB\u786C\u76D8\u9650\u901F250Mbps\u5E26\u5BBD
  • \u5E261\u4E2ASSH\u7AEF\u53E3\uFF0C25\u4E2A\u5916\u7F51\u7AEF\u53E3
  • \u9ED8\u8BA4\u5185\u5B58\u548C\u786C\u76D8\u5927\u5C0F

::tip lxc\u82E5\u547D\u4EE4\u65E0\u95EE\u9898\uFF0C\u6267\u884C\u521D\u59CB\u5316\u5F00\u5C0F\u9E21\uFF0C\u8FD9\u4E00\u6B65\u6700\u597D\u653Escreen\u4E2D\u540E\u53F0\u6302\u8D77\u6267\u884C\uFF0C\u5F00\u5C0F\u9E21\u65F6\u957F\u4E0E\u4F60\u5F00\u51E0\u4E2A\u548C\u6BCD\u9E21\u914D\u7F6E\u76F8\u5173 ::

\u6267\u884C\u4E0B\u9762\u547D\u4EE4\u52A0\u8F7D\u5F00\u673A\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
 

\u4E0B\u9762\u547D\u4EE4\u4E3A\u5F00\u5C0F\u9E21\u540D\u5B57\u524D\u7F00\u4E3Atj\u768410\u4E2A\u5C0F\u9E21

./init.sh tj 10
 

\u6709\u65F6\u5019init.sh\u7684\u8FD0\u884C\u8DEF\u5F84\u6709\u95EE\u9898\uFF0C\u6B64\u65F6\u5EFA\u8BAE\u524D\u9762\u52A0\u4E0Asudo\u5F3A\u5236\u6839\u76EE\u5F55\u6267\u884C

\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C

\u5F00\u51FA\u7684\u5C0F\u9E21\u914D\u7F6E\uFF1A

  • 1\u6838128MB\u5185\u5B58300MB\u786C\u76D8\u9650\u901F200Mbps\u5E26\u5BBD
  • \u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3
  • \u65E0\u6CD5\u6302\u8F7Dwarp

::tip lxc\u82E5\u547D\u4EE4\u65E0\u95EE\u9898\uFF0C\u6267\u884C\u521D\u59CB\u5316\u5F00\u5C0F\u9E21\uFF0C\u8FD9\u4E00\u6B65\u6700\u597D\u653Escreen\u4E2D\u540E\u53F0\u6302\u8D77\u6267\u884C\uFF0C\u5F00\u5C0F\u9E21\u65F6\u957F\u4E0E\u4F60\u5F00\u51E0\u4E2A\u548C\u6BCD\u9E21\u914D\u7F6E\u76F8\u5173 ::

\u52A0\u8F7D\u5F00\u673A\u811A\u672C

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/least.sh -o least.sh && chmod +x least.sh && dos2unix least.sh
diff --git a/assets/guide_lxd_lxc.md.892b1b02.lean.js b/assets/guide_lxd_lxc.md.6a1e7015.lean.js
similarity index 79%
rename from assets/guide_lxd_lxc.md.892b1b02.lean.js
rename to assets/guide_lxd_lxc.md.6a1e7015.lean.js
index ecd483a603..017509ae93 100644
--- a/assets/guide_lxd_lxc.md.892b1b02.lean.js
+++ b/assets/guide_lxd_lxc.md.6a1e7015.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,d as e}from"./app.37329957.js";const m='{"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","slug":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C"},{"level":3,"title":"\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C","slug":"\u53EA\u6709\u4E00\u4E2Assh\u7AEF\u53E3\u7684\u7248\u672C"},{"level":2,"title":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u90E8\u5206\u5E38\u7528LXD\u547D\u4EE4","slug":"\u90E8\u5206\u5E38\u7528lxd\u547D\u4EE4"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377","slug":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377"},{"level":3,"title":"\u53EA\u5F00\u4E00\u4E2ANAT\u670D\u52A1\u5668","slug":"\u53EA\u5F00\u4E00\u4E2Anat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/lxd_lxc.md"}',p={},t=e("",72),o=[t];function c(l,i,d,r,u,h){return n(),a("div",null,o)}var k=s(p,[["render",c]]);export{m as __pageData,k as default};
+import{_ as s,c as a,o as n,d as e}from"./app.005aa5c6.js";const m='{"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C","slug":"\u666E\u901A\u7684\u6279\u91CF\u7248\u672C"},{"level":3,"title":"\u53EA\u6709\u4E00\u4E2ASSH\u7AEF\u53E3\u7684\u7248\u672C","slug":"\u53EA\u6709\u4E00\u4E2Assh\u7AEF\u53E3\u7684\u7248\u672C"},{"level":2,"title":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F","slug":"\u67E5\u770B\u5DF2\u6279\u91CF\u5F00\u8BBE\u7684\u4FE1\u606F"},{"level":2,"title":"\u90E8\u5206\u5E38\u7528LXD\u547D\u4EE4","slug":"\u90E8\u5206\u5E38\u7528lxd\u547D\u4EE4"},{"level":2,"title":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377","slug":"\u4E00\u952E\u811A\u672C\u8001\u624B\u63A8\u8350\u65B9\u4FBF\u5FEB\u6377"},{"level":3,"title":"\u53EA\u5F00\u4E00\u4E2ANAT\u670D\u52A1\u5668","slug":"\u53EA\u5F00\u4E00\u4E2Anat\u670D\u52A1\u5668"}],"relativePath":"en_US/guide/lxd_lxc.md","lastUpdated":1687011015000}',p={},t=e("",72),o=[t];function c(l,i,d,r,u,h){return n(),a("div",null,o)}var k=s(p,[["render",c]]);export{m as __pageData,k as default};
diff --git a/assets/guide_lxd_precheck.md.4c9693fc.js b/assets/guide_lxd_precheck.md.4c9693fc.js
new file mode 100644
index 0000000000..af9e83ea9d
--- /dev/null
+++ b/assets/guide_lxd_precheck.md.4c9693fc.js
@@ -0,0 +1,2 @@
+import{_ as e,c as t,o as i,d as r}from"./app.005aa5c6.js";const b='{"title":"\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"},{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/lxd_precheck.md","lastUpdated":1687011015000}',a={},l=r(`

\u914D\u7F6E\u8981\u6C42

\u786C\u4EF6\u8981\u6C42:

  • \u7CFB\u7EDF\uFF1ADebian 8+, Ubuntu 18+(\u63A8\u8350)\uFF0C\u7CFB\u7EDF\u8D8A\u65B0\u8D8A\u597D
  • \u865A\u62DF\u5316\uFF1A\u63A8\u8350KVM\u3001VMWARE\u865A\u62DF\u5316
  • \u5185\u5B58\uFF1A\u5185\u5B58\u81F3\u5C11512MB
  • \u786C\u76D8\uFF1A\u786C\u76D8(\u7CFB\u7EDF\u76D8)\u81F3\u5C1110G
  • \u7F51\u7EDC\uFF1A\u72EC\u7ACB\u7684IPV4\u5730\u5740\uFF0CIPV6\u53EF\u6709\u53EF\u65E0\uFF0C\u5E26\u5BBD\u80FD\u4E0B\u8F7D\u811A\u672C\u5C31\u884C\uFF0C\u7F51\u7EDC\u80FD\u8FDE\u63A5Github\u7684raw\u9875\u9762\u5C31\u884C

PS: \u5982\u679C\u786C\u4EF6\u975E\u5E38\u597D\u8D44\u6E90\u5F88\u591A\uFF0C\u53EF\u4F7F\u7528PVE\u6279\u91CF\u5F00KVM\u865A\u62DF\u5316\u7684\u865A\u62DF\u673A \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u8D44\u6E90\u66F4\u70C2\uFF0C\u865A\u62DF\u5316\u4E0D\u652F\u6301\uFF0C\u53EF\u4F7F\u7528docker\u7248\u672C\u7684\uFF0C\u9002\u914D\u9762\u66F4\u5E7F \u8DF3\u8F6C

\u9879\u76EE\u7279\u70B9

  • \u672C\u5957\u811A\u672C\u5F00\u53D1\u4F7F\u7528\u7684Ubuntu20\uFF0CUbuntu\u522B\u7684\u957F\u671F\u7EF4\u62A4\u7248\u672C\u5E94\u8BE5\u4E5F\u6CA1\u95EE\u9898\uFF0CDebian\u65E0\u6CD5\u4F7F\u7528zfs\u65F6\u81EA\u52A8\u5207\u6362\u522B\u7684\u5B58\u50A8\u7C7B\u578B

  • \u5DF2\u8BBE\u7F6E\u540C\u65F6\u8FDB\u884CTCP\u548CUDP\u8F6C\u53D1\uFF0C\u9664\u4E86SSH\u7AEF\u53E3\u5176\u4ED6\u7684\u6620\u5C04\u5185\u7F51\u5916\u7F51\u7AEF\u53E3\u4E00\u81F4

  • \u5DF2\u8BBE\u7F6E\u652F\u6301\u5F00\u51FA\u7684LXC\u5BB9\u5668\u8FDB\u884Cdocker\u5D4C\u5957\u865A\u62DF\uFF0C\u9ED8\u8BA4\u666E\u901A\u7248\u672C\u548C\u7EAF\u63A2\u9488\u7248\u672C\u4F7F\u7528debian11\u7CFB\u7EDF

  • \u5DF2\u5C4F\u853D\u5BB9\u5668\u5185\u53EF\u80FD\u7528\u4E8E\u6EE5\u7528\u7684\u5DE5\u5177\u5305\u548CIPV4\u7F51\u7EDC\u7684TCP/UDP\u534F\u8BAE\u7684\u7AEF\u53E3( 3389 8888 54321 65432 )\uFF0C\u4EE5\u9632\u6B62\u5BB9\u5668\u88AB\u7528\u4E8E\u626B\u63CF\u548C\u7206\u7834\uFF0C\u4E14\u53EF\u5916\u7F6E\u8FDB\u7A0B\u68C0\u67E5\u6709\u95EE\u9898\u81EA\u52A8\u505C\u673A

  • \u5DF2\u652F\u6301\u4E00\u952E\u4E3ALXC\u5BB9\u5668\u914D\u7F6EIPV6\u5730\u5740(\u524D\u63D0\u662F\u6BCD\u9E21\u6709IPV6\u5B50\u7F51\uFF0C\u65E0IPV6\u5730\u5740\u5219\u4E0D\u914D\u7F6E)

  • \u4E00\u5B9A\u8981\u5728 /root \u7684\u8DEF\u5F84\u4E0B\u8FD0\u884C\u672C\u4ED3\u5E93\u811A\u672C\uFF0C\u4E14\u4F7F\u7528\u4E00\u952E\u811A\u672C\u7684\u4E0D\u8981\u5220\u9664\u8DEF\u5F84\u4E0B\u7684ssh.sh\u548Cconfig.sh\u6587\u4EF6

  • \u4FDD\u8BC1\u4F60\u8981\u5F00\u7684\u76D8\u4E3A\u9ED8\u8BA4\u7684\u7CFB\u7EDF\u76D8(sda\u6216\u8005sda1)\u800C\u4E0D\u662F\u6302\u8F7D\u7684\u76D8(sdb\u4E4B\u7C7B\u7684)\uFF0C\u4E0D\u786E\u5B9A\u7684\u4F7F\u7528fdisk -l\u548Cdf\u67E5\u770B

  • \u6302\u8F7D\u5176\u4ED6\u76D8\u7684\u8BE6\u770B \u5176\u4ED6\u8BF4\u660E

  • \u4E00\u952E\u811A\u672C\u652F\u6301\u81EA\u5B9A\u4E49\u9650\u5236\u6240\u6709\u5185\u5BB9\uFF0C\u666E\u901A\u7248\u672C\u652F\u6301\u591A\u6B21\u8FD0\u884C\u6279\u91CF\u751F\u6210\u4E0D\u8986\u76D6\u5148\u524D\u751F\u6210\u7684\u914D\u7F6E

\u68C0\u6D4B\u73AF\u5883

\u4F7F\u7528\u540E\u7EED\u811A\u672C\u7684\u52A1\u5FC5\u6267\u884C\u672C\u547D\u4EE4\u68C0\u6D4B\u6BCD\u9E21\u662F\u5426\u7B26\u5408\u8981\u6C42

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
+
`,10),o=[l];function c(d,s,n,p,h,_){return i(),t("div",null,o)}var f=e(a,[["render",c]]);export{b as __pageData,f as default}; diff --git a/assets/guide_lxd_precheck.md.bfec8cf7.lean.js b/assets/guide_lxd_precheck.md.4c9693fc.lean.js similarity index 52% rename from assets/guide_lxd_precheck.md.bfec8cf7.lean.js rename to assets/guide_lxd_precheck.md.4c9693fc.lean.js index 9293bf6c0a..6428249e9b 100644 --- a/assets/guide_lxd_precheck.md.bfec8cf7.lean.js +++ b/assets/guide_lxd_precheck.md.4c9693fc.lean.js @@ -1 +1 @@ -import{_ as e,c as i,o as r,d as t}from"./app.37329957.js";const b='{"title":"\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"},{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/lxd_precheck.md"}',a={},l=t("",10),o=[l];function c(d,n,s,p,h,_){return r(),i("div",null,o)}var f=e(a,[["render",c]]);export{b as __pageData,f as default}; +import{_ as e,c as t,o as i,d as r}from"./app.005aa5c6.js";const b='{"title":"\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"},{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/lxd_precheck.md","lastUpdated":1687011015000}',a={},l=r("",10),o=[l];function c(d,s,n,p,h,_){return i(),t("div",null,o)}var f=e(a,[["render",c]]);export{b as __pageData,f as default}; diff --git a/assets/guide_lxd_precheck.md.bfec8cf7.js b/assets/guide_lxd_precheck.md.bfec8cf7.js deleted file mode 100644 index 60756f178e..0000000000 --- a/assets/guide_lxd_precheck.md.bfec8cf7.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as e,c as i,o as r,d as t}from"./app.37329957.js";const b='{"title":"\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u914D\u7F6E\u8981\u6C42","slug":"\u914D\u7F6E\u8981\u6C42"},{"level":2,"title":"\u9879\u76EE\u7279\u70B9","slug":"\u9879\u76EE\u7279\u70B9"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/lxd_precheck.md"}',a={},l=t(`

\u914D\u7F6E\u8981\u6C42

\u786C\u4EF6\u8981\u6C42:

  • \u7CFB\u7EDF\uFF1ADebian 8+, Ubuntu 18+(\u63A8\u8350)\uFF0C\u7CFB\u7EDF\u8D8A\u65B0\u8D8A\u597D
  • \u865A\u62DF\u5316\uFF1A\u63A8\u8350KVM\u3001VMWARE\u865A\u62DF\u5316
  • \u5185\u5B58\uFF1A\u5185\u5B58\u81F3\u5C11512MB
  • \u786C\u76D8\uFF1A\u786C\u76D8(\u7CFB\u7EDF\u76D8)\u81F3\u5C1110G
  • \u7F51\u7EDC\uFF1A\u72EC\u7ACB\u7684IPV4\u5730\u5740\uFF0CIPV6\u53EF\u6709\u53EF\u65E0\uFF0C\u5E26\u5BBD\u80FD\u4E0B\u8F7D\u811A\u672C\u5C31\u884C\uFF0C\u7F51\u7EDC\u80FD\u8FDE\u63A5Github\u7684raw\u9875\u9762\u5C31\u884C

PS: \u5982\u679C\u786C\u4EF6\u975E\u5E38\u597D\u8D44\u6E90\u5F88\u591A\uFF0C\u53EF\u4F7F\u7528PVE\u6279\u91CF\u5F00KVM\u865A\u62DF\u5316\u7684\u865A\u62DF\u673A \u8DF3\u8F6C

PS: \u5982\u679C\u786C\u4EF6\u8D44\u6E90\u66F4\u70C2\uFF0C\u865A\u62DF\u5316\u4E0D\u652F\u6301\uFF0C\u53EF\u4F7F\u7528docker\u7248\u672C\u7684\uFF0C\u9002\u914D\u9762\u66F4\u5E7F \u8DF3\u8F6C

\u9879\u76EE\u7279\u70B9

  • \u672C\u5957\u811A\u672C\u5F00\u53D1\u4F7F\u7528\u7684Ubuntu20\uFF0CUbuntu\u522B\u7684\u957F\u671F\u7EF4\u62A4\u7248\u672C\u5E94\u8BE5\u4E5F\u6CA1\u95EE\u9898\uFF0CDebian\u65E0\u6CD5\u4F7F\u7528zfs\u65F6\u81EA\u52A8\u5207\u6362\u522B\u7684\u5B58\u50A8\u7C7B\u578B

  • \u5DF2\u8BBE\u7F6E\u540C\u65F6\u8FDB\u884CTCP\u548CUDP\u8F6C\u53D1\uFF0C\u9664\u4E86SSH\u7AEF\u53E3\u5176\u4ED6\u7684\u6620\u5C04\u5185\u7F51\u5916\u7F51\u7AEF\u53E3\u4E00\u81F4

  • \u5DF2\u8BBE\u7F6E\u652F\u6301\u5F00\u51FA\u7684LXC\u5BB9\u5668\u8FDB\u884Cdocker\u5D4C\u5957\u865A\u62DF\uFF0C\u9ED8\u8BA4\u666E\u901A\u7248\u672C\u548C\u7EAF\u63A2\u9488\u7248\u672C\u4F7F\u7528debian11\u7CFB\u7EDF

  • \u5DF2\u5C4F\u853D\u5BB9\u5668\u5185\u53EF\u80FD\u7528\u4E8E\u6EE5\u7528\u7684\u5DE5\u5177\u5305\u548CIPV4\u7F51\u7EDC\u7684TCP/UDP\u534F\u8BAE\u7684\u7AEF\u53E3( 3389 8888 54321 65432 )\uFF0C\u4EE5\u9632\u6B62\u5BB9\u5668\u88AB\u7528\u4E8E\u626B\u63CF\u548C\u7206\u7834\uFF0C\u4E14\u53EF\u5916\u7F6E\u8FDB\u7A0B\u68C0\u67E5\u6709\u95EE\u9898\u81EA\u52A8\u505C\u673A

  • \u5DF2\u652F\u6301\u4E00\u952E\u4E3ALXC\u5BB9\u5668\u914D\u7F6EIPV6\u5730\u5740(\u524D\u63D0\u662F\u6BCD\u9E21\u6709IPV6\u5B50\u7F51\uFF0C\u65E0IPV6\u5730\u5740\u5219\u4E0D\u914D\u7F6E)

  • \u4E00\u5B9A\u8981\u5728 /root \u7684\u8DEF\u5F84\u4E0B\u8FD0\u884C\u672C\u4ED3\u5E93\u811A\u672C\uFF0C\u4E14\u4F7F\u7528\u4E00\u952E\u811A\u672C\u7684\u4E0D\u8981\u5220\u9664\u8DEF\u5F84\u4E0B\u7684ssh.sh\u548Cconfig.sh\u6587\u4EF6

  • \u4FDD\u8BC1\u4F60\u8981\u5F00\u7684\u76D8\u4E3A\u9ED8\u8BA4\u7684\u7CFB\u7EDF\u76D8(sda\u6216\u8005sda1)\u800C\u4E0D\u662F\u6302\u8F7D\u7684\u76D8(sdb\u4E4B\u7C7B\u7684)\uFF0C\u4E0D\u786E\u5B9A\u7684\u4F7F\u7528fdisk -l\u548Cdf\u67E5\u770B

  • \u6302\u8F7D\u5176\u4ED6\u76D8\u7684\u8BE6\u770B \u5176\u4ED6\u8BF4\u660E

  • \u4E00\u952E\u811A\u672C\u652F\u6301\u81EA\u5B9A\u4E49\u9650\u5236\u6240\u6709\u5185\u5BB9\uFF0C\u666E\u901A\u7248\u672C\u652F\u6301\u591A\u6B21\u8FD0\u884C\u6279\u91CF\u751F\u6210\u4E0D\u8986\u76D6\u5148\u524D\u751F\u6210\u7684\u914D\u7F6E

\u68C0\u6D4B\u73AF\u5883

\u4F7F\u7528\u540E\u7EED\u811A\u672C\u7684\u52A1\u5FC5\u6267\u884C\u672C\u547D\u4EE4\u68C0\u6D4B\u6BCD\u9E21\u662F\u5426\u7B26\u5408\u8981\u6C42

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
-
`,10),o=[l];function c(d,n,s,p,h,_){return r(),i("div",null,o)}var f=e(a,[["render",c]]);export{b as __pageData,f as default}; diff --git a/assets/guide_lxd_qa.md.b73b8998.js b/assets/guide_lxd_qa.md.b73b8998.js new file mode 100644 index 0000000000..7ae6c002af --- /dev/null +++ b/assets/guide_lxd_qa.md.b73b8998.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as a,d as t}from"./app.005aa5c6.js";const v='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBipv6\u5730\u5740\u5BB9\u5668\u7684vps\u5546\u5BB6"}],"relativePath":"en_US/guide/lxd_qa.md","lastUpdated":1687011015000}',p={},o=t('

\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6

kuroit \u4E2D\u7684 \u7F8E\u56FD\u51E4\u51F0\u57CE regular

datalix \u4E2D\u7684 \u5FB7\u56FDAMD \u4FC3\u9500\u6B3E

luxvps \u4E2D\u7684 \u5FB7\u56FDAMD \u4FC3\u9500\u6B3E

',4),_=[o];function n(s,l,i,d,f,c){return a(),r("div",null,_)}var u=e(p,[["render",n]]);export{v as __pageData,u as default}; diff --git a/assets/guide_lxd_qa.md.f169dc04.lean.js b/assets/guide_lxd_qa.md.b73b8998.lean.js similarity index 64% rename from assets/guide_lxd_qa.md.f169dc04.lean.js rename to assets/guide_lxd_qa.md.b73b8998.lean.js index 24026a65a2..f397ecc37f 100644 --- a/assets/guide_lxd_qa.md.f169dc04.lean.js +++ b/assets/guide_lxd_qa.md.b73b8998.lean.js @@ -1 +1 @@ -import{_ as e,c as r,o as a,d as t}from"./app.37329957.js";const v='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBipv6\u5730\u5740\u5BB9\u5668\u7684vps\u5546\u5BB6"}],"relativePath":"en_US/guide/lxd_qa.md"}',p={},o=t("",4),_=[o];function n(s,i,l,f,c,d){return a(),r("div",null,_)}var u=e(p,[["render",n]]);export{v as __pageData,u as default}; +import{_ as e,c as r,o as a,d as t}from"./app.005aa5c6.js";const v='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBipv6\u5730\u5740\u5BB9\u5668\u7684vps\u5546\u5BB6"}],"relativePath":"en_US/guide/lxd_qa.md","lastUpdated":1687011015000}',p={},o=t("",4),_=[o];function n(s,l,i,d,f,c){return a(),r("div",null,_)}var u=e(p,[["render",n]]);export{v as __pageData,u as default}; diff --git a/assets/guide_lxd_qa.md.f169dc04.js b/assets/guide_lxd_qa.md.f169dc04.js deleted file mode 100644 index bb0678ecf9..0000000000 --- a/assets/guide_lxd_qa.md.f169dc04.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as a,d as t}from"./app.37329957.js";const v='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBipv6\u5730\u5740\u5BB9\u5668\u7684vps\u5546\u5BB6"}],"relativePath":"en_US/guide/lxd_qa.md"}',p={},o=t('

\u76EE\u524D\u5DF2\u9A8C\u8BC1\u53EF\u5F00\u5E26\u72EC\u7ACBIPV6\u5730\u5740\u5BB9\u5668\u7684VPS\u5546\u5BB6

kuroit \u4E2D\u7684 \u7F8E\u56FD\u51E4\u51F0\u57CE regular

datalix \u4E2D\u7684 \u5FB7\u56FDAMD \u4FC3\u9500\u6B3E

luxvps \u4E2D\u7684 \u5FB7\u56FDAMD \u4FC3\u9500\u6B3E

',4),_=[o];function n(s,i,l,f,c,d){return a(),r("div",null,_)}var u=e(p,[["render",n]]);export{v as __pageData,u as default}; diff --git a/assets/guide_lxd_thanks.md.09f84f58.js b/assets/guide_lxd_thanks.md.09f84f58.js new file mode 100644 index 0000000000..277994710e --- /dev/null +++ b/assets/guide_lxd_thanks.md.09f84f58.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as n}from"./app.005aa5c6.js";const f='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/lxd_thanks.md","lastUpdated":1687011015000}',o={},a=n('

\u81F4\u8C22

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

\u611F\u8C22 @Ella-Alinda @fscarmen \u63D0\u4F9B\u7684\u6307\u5BFC

',10),s=[a];function i(p,c,l,d,h,u){return t(),r("div",null,s)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/guide_lxd_thanks.md.09f84f58.lean.js b/assets/guide_lxd_thanks.md.09f84f58.lean.js new file mode 100644 index 0000000000..4b319fb01d --- /dev/null +++ b/assets/guide_lxd_thanks.md.09f84f58.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as n}from"./app.005aa5c6.js";const f='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/lxd_thanks.md","lastUpdated":1687011015000}',o={},a=n("",10),s=[a];function i(p,c,l,d,h,u){return t(),r("div",null,s)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/guide_lxd_thanks.md.b1122287.js b/assets/guide_lxd_thanks.md.b1122287.js deleted file mode 100644 index 15582518d3..0000000000 --- a/assets/guide_lxd_thanks.md.b1122287.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as n}from"./app.37329957.js";const f='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/lxd_thanks.md"}',o={},a=n('

\u81F4\u8C22

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

\u611F\u8C22 @Ella-Alinda @fscarmen \u63D0\u4F9B\u7684\u6307\u5BFC

',10),s=[a];function i(c,p,l,h,d,u){return t(),r("div",null,s)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/guide_lxd_thanks.md.b1122287.lean.js b/assets/guide_lxd_thanks.md.b1122287.lean.js deleted file mode 100644 index 62fea3bef7..0000000000 --- a/assets/guide_lxd_thanks.md.b1122287.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as n}from"./app.37329957.js";const f='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/lxd_thanks.md"}',o={},a=n("",10),s=[a];function i(c,p,l,h,d,u){return t(),r("div",null,s)}var g=e(o,[["render",i]]);export{f as __pageData,g as default}; diff --git a/assets/en_US_guide_pve_install.md.aeb598a3.js b/assets/guide_pve_install.md.5ade25ff.js similarity index 68% rename from assets/en_US_guide_pve_install.md.aeb598a3.js rename to assets/guide_pve_install.md.5ade25ff.js index 12578a621f..2743700292 100644 --- a/assets/en_US_guide_pve_install.md.aeb598a3.js +++ b/assets/guide_pve_install.md.5ade25ff.js @@ -1,4 +1,4 @@ -import{_ as e,c as s,o as a,d as n}from"./app.37329957.js";const v='{"title":"\u4E00\u952E\u5B89\u88C5PVE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5PVE","slug":"\u4E00\u952E\u5B89\u88C5pve"},{"level":2,"title":"\u9884\u914D\u7F6E\u73AF\u5883","slug":"\u9884\u914D\u7F6E\u73AF\u5883"},{"level":3,"title":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173","slug":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173"}],"relativePath":"en_US/guide/pve_install.md"}',t={},o=n(`

\u4E00\u952E\u5B89\u88C5PVE

  • \u5B89\u88C5\u7684\u662F\u5F53\u4E0Bapt\u6E90\u6700\u65B0\u7684PVE
  • \u6BD4\u5982debian10\u5219\u662Fpve6.4\uFF0Cdebian11\u5219\u662Fpve7.x\uFF0Cdebian12\u5219\u662Fpve8.x ::tip \u5EFA\u8BAEdebian11\u800C\u4E0D\u662Fdebian12\uFF0C\u56E0\u4E3A\u540E\u8005\u662Fbeta\u7248\u672C\uFF0Cdebian11\u5B89\u88C5\u7684\u624D\u662F\u7A33\u5B9A\u7248 ::
  • /etc/hosts\u6587\u4EF6\u4FEE\u6539(\u4FEE\u6B63\u5546\u5BB6hostname\u8BBE\u7F6E\u9519\u8BEF\u4EE5\u53CA\u65B0\u589EPVE\u6240\u9700\u7684\u5185\u5BB9)
  • \u5DF2\u8BBE\u7F6E/etc/hosts\u4E3A\u53EA\u8BFB\u6A21\u5F0F\uFF0C\u907F\u514D\u91CD\u542F\u540E\u6587\u4EF6\u88AB\u8986\u5199\uFF0C\u5982\u9700\u4FEE\u6539\u8BF7\u4F7F\u7528chattr -i /etc/hosts\u53D6\u6D88\u53EA\u8BFB\u9501\u5B9A\uFF0C\u4FEE\u6539\u5B8C\u6BD5\u8BF7\u6267\u884Cchattr +i /etc/hosts\u53EA\u8BFB\u9501\u5B9A
  • \u68C0\u6D4B/etc/cloud/cloud.cfg\u5982\u679C\u53D1\u73B0preserve_hostname\u662Ffalse\uFF0C\u5219\u6539\u4E3Atrue\uFF0C\u540C\u4E0A\uFF0C\u4E5F\u7528chattr\u547D\u4EE4\u8FDB\u884C\u4E86\u6587\u4EF6\u9501\u5B9A\u907F\u514D\u91CD\u542F\u8986\u76D6\u8BBE\u7F6E
  • \u68C0\u6D4B\u662F\u5426\u4E3A\u4E2D\u56FDIP\uFF0C\u5982\u679C\u4E3A\u4E2D\u56FDIP\u4F7F\u7528\u6E05\u534E\u955C\u50CF\u6E90\uFF0C\u5426\u5219\u4F7F\u7528\u5B98\u65B9\u6E90
  • \u5B89\u88C5PVE\u5F00\u865A\u62DF\u673A\u9700\u8981\u7684\u5FC5\u5907\u5DE5\u5177\u5305
  • \u66FF\u6362apt\u6E90\u4E2D\u7684\u4F01\u4E1A\u8BA2\u9605\u4E3A\u793E\u533A\u6E90
  • \u6253\u5370\u67E5\u8BE2Linux\u7CFB\u7EDF\u5185\u6838\u548CPVE\u5185\u6838\u662F\u5426\u5DF2\u5B89\u88C5
  • \u68C0\u6D4B/etc/resolv.conf\u662F\u5426\u4E3A\u7A7A\uFF0C\u4E3A\u7A7A\u5219\u8BBE\u7F6E\u68C0\u6D4B8.8.8.8\u7684\u5F00\u673A\u81EA\u542F\u6DFB\u52A0DNS\u7684systemd\u670D\u52A1
  • \u65B0\u589EPVE\u7684APT\u6E90\u94FE\u63A5\u540E\uFF0C\u4E0B\u8F7DPVE\u5E76\u6253\u5370\u8F93\u51FA\u767B\u9646\u4FE1\u606F

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
+import{_ as e,c as s,o as a,d as n}from"./app.005aa5c6.js";const v='{"title":"\u4E00\u952E\u5B89\u88C5PVE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5PVE","slug":"\u4E00\u952E\u5B89\u88C5pve"},{"level":2,"title":"\u9884\u914D\u7F6E\u73AF\u5883","slug":"\u9884\u914D\u7F6E\u73AF\u5883"},{"level":3,"title":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173","slug":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173"}],"relativePath":"en_US/guide/pve_install.md","lastUpdated":1687011015000}',t={},o=n(`

\u4E00\u952E\u5B89\u88C5PVE

  • \u5B89\u88C5\u7684\u662F\u5F53\u4E0Bapt\u6E90\u6700\u65B0\u7684PVE
  • \u6BD4\u5982debian10\u5219\u662Fpve6.4\uFF0Cdebian11\u5219\u662Fpve7.x\uFF0Cdebian12\u5219\u662Fpve8.x ::tip \u5EFA\u8BAEdebian11\u800C\u4E0D\u662Fdebian12\uFF0C\u56E0\u4E3A\u540E\u8005\u662Fbeta\u7248\u672C\uFF0Cdebian11\u5B89\u88C5\u7684\u624D\u662F\u7A33\u5B9A\u7248 ::
  • /etc/hosts\u6587\u4EF6\u4FEE\u6539(\u4FEE\u6B63\u5546\u5BB6hostname\u8BBE\u7F6E\u9519\u8BEF\u4EE5\u53CA\u65B0\u589EPVE\u6240\u9700\u7684\u5185\u5BB9)
  • \u5DF2\u8BBE\u7F6E/etc/hosts\u4E3A\u53EA\u8BFB\u6A21\u5F0F\uFF0C\u907F\u514D\u91CD\u542F\u540E\u6587\u4EF6\u88AB\u8986\u5199\uFF0C\u5982\u9700\u4FEE\u6539\u8BF7\u4F7F\u7528chattr -i /etc/hosts\u53D6\u6D88\u53EA\u8BFB\u9501\u5B9A\uFF0C\u4FEE\u6539\u5B8C\u6BD5\u8BF7\u6267\u884Cchattr +i /etc/hosts\u53EA\u8BFB\u9501\u5B9A
  • \u68C0\u6D4B/etc/cloud/cloud.cfg\u5982\u679C\u53D1\u73B0preserve_hostname\u662Ffalse\uFF0C\u5219\u6539\u4E3Atrue\uFF0C\u540C\u4E0A\uFF0C\u4E5F\u7528chattr\u547D\u4EE4\u8FDB\u884C\u4E86\u6587\u4EF6\u9501\u5B9A\u907F\u514D\u91CD\u542F\u8986\u76D6\u8BBE\u7F6E
  • \u68C0\u6D4B\u662F\u5426\u4E3A\u4E2D\u56FDIP\uFF0C\u5982\u679C\u4E3A\u4E2D\u56FDIP\u4F7F\u7528\u6E05\u534E\u955C\u50CF\u6E90\uFF0C\u5426\u5219\u4F7F\u7528\u5B98\u65B9\u6E90
  • \u5B89\u88C5PVE\u5F00\u865A\u62DF\u673A\u9700\u8981\u7684\u5FC5\u5907\u5DE5\u5177\u5305
  • \u66FF\u6362apt\u6E90\u4E2D\u7684\u4F01\u4E1A\u8BA2\u9605\u4E3A\u793E\u533A\u6E90
  • \u6253\u5370\u67E5\u8BE2Linux\u7CFB\u7EDF\u5185\u6838\u548CPVE\u5185\u6838\u662F\u5426\u5DF2\u5B89\u88C5
  • \u68C0\u6D4B/etc/resolv.conf\u662F\u5426\u4E3A\u7A7A\uFF0C\u4E3A\u7A7A\u5219\u8BBE\u7F6E\u68C0\u6D4B8.8.8.8\u7684\u5F00\u673A\u81EA\u542F\u6DFB\u52A0DNS\u7684systemd\u670D\u52A1
  • \u65B0\u589EPVE\u7684APT\u6E90\u94FE\u63A5\u540E\uFF0C\u4E0B\u8F7DPVE\u5E76\u6253\u5370\u8F93\u51FA\u767B\u9646\u4FE1\u606F

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
 

\u9884\u914D\u7F6E\u73AF\u5883

  • \u521B\u5EFA\u8D44\u6E90\u6C60mypool
  • \u79FB\u9664\u8BA2\u9605\u5F39\u7A97
  • \u5C1D\u8BD5\u5F00\u542F\u786C\u4EF6\u76F4\u901A
  • \u68C0\u6D4BAppArmor\u6A21\u5757\u5E76\u8BD5\u56FE\u5B89\u88C5
  • \u91CD\u542F\u7CFB\u7EDF\u524D\u63A8\u8350\u6302\u4E0Anezha\u63A2\u9488\u65B9\u4FBF\u5728\u540E\u53F0\u4E0D\u901A\u8FC7SSH\u4F7F\u7528\u547D\u4EE4\u884C\uFF0C\u907F\u514DSSH\u53EF\u80FD\u56E0\u4E3A\u5546\u5BB6\u5947\u8469\u7684\u9884\u8BBE\u5BFC\u81F4\u91CD\u542F\u540Eroot\u5BC6\u7801\u4E22\u5931
  • \u6267\u884C\u5B8C\u6BD5\u5EFA\u8BAE\u7B49\u5F85\u51E0\u5206\u949F\u540E\u518D\u91CD\u542F\u670D\u52A1\u5668\uFF0C\u6267\u884Creboot\u524D\u9700\u8981\u7B49\u5F85\u540E\u53F0\u4EFB\u52A1\u6267\u884C\u5B8C\u6BD5\uFF0C\u4E00\u4E9B\u5BBF\u4E3B\u673A\u7684\u7CFB\u7EDFapt\u547D\u4EE4\u6267\u884C\u5F88\u6162\uFF0C\u5F97\u7B49\u4E00\u4F1A\u624D\u80FD\u6267\u884C\u5B8C\u6BD5

\u56FD\u9645

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)
 

\u56FD\u5185

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)
diff --git a/assets/guide_pve_install.md.fa3f9115.lean.js b/assets/guide_pve_install.md.5ade25ff.lean.js
similarity index 64%
rename from assets/guide_pve_install.md.fa3f9115.lean.js
rename to assets/guide_pve_install.md.5ade25ff.lean.js
index 38cd465e01..c81b40a16a 100644
--- a/assets/guide_pve_install.md.fa3f9115.lean.js
+++ b/assets/guide_pve_install.md.5ade25ff.lean.js
@@ -1 +1 @@
-import{_ as e,c as s,o as a,d as n}from"./app.37329957.js";const v='{"title":"\u4E00\u952E\u5B89\u88C5PVE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5PVE","slug":"\u4E00\u952E\u5B89\u88C5pve"},{"level":2,"title":"\u9884\u914D\u7F6E\u73AF\u5883","slug":"\u9884\u914D\u7F6E\u73AF\u5883"},{"level":3,"title":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173","slug":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173"}],"relativePath":"en_US/guide/pve_install.md"}',t={},o=n("",19),c=[o];function p(i,l,r,d,h,u){return a(),s("div",null,c)}var k=e(t,[["render",p]]);export{v as __pageData,k as default};
+import{_ as e,c as s,o as a,d as n}from"./app.005aa5c6.js";const v='{"title":"\u4E00\u952E\u5B89\u88C5PVE","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u4E00\u952E\u5B89\u88C5PVE","slug":"\u4E00\u952E\u5B89\u88C5pve"},{"level":2,"title":"\u9884\u914D\u7F6E\u73AF\u5883","slug":"\u9884\u914D\u7F6E\u73AF\u5883"},{"level":3,"title":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173","slug":"\u81EA\u52A8\u914D\u7F6E\u5BBF\u4E3B\u673A\u7684\u7F51\u5173"}],"relativePath":"en_US/guide/pve_install.md","lastUpdated":1687011015000}',t={},o=n("",19),c=[o];function p(i,l,r,d,h,u){return a(),s("div",null,c)}var k=e(t,[["render",p]]);export{v as __pageData,k as default};
diff --git a/assets/en_US_guide_pve_kvm.md.95cd4241.js b/assets/guide_pve_kvm.md.c0040096.js
similarity index 76%
rename from assets/en_US_guide_pve_kvm.md.95cd4241.js
rename to assets/guide_pve_kvm.md.c0040096.js
index ea6921bc7d..dc66fa86af 100644
--- a/assets/en_US_guide_pve_kvm.md.95cd4241.js
+++ b/assets/guide_pve_kvm.md.c0040096.js
@@ -1,4 +1,4 @@
-import{_ as a,c as s,o as e,d as n}from"./app.37329957.js";const v='{"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","slug":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879"},{"level":3,"title":"\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM","slug":"\u5355\u72EC\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684KVM\u865A\u62DF\u5316\u7684VM","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684kvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u5F00\u8BBE\u72EC\u7ACBIPV4\u5730\u5740\u7684VM","slug":"\u5F00\u8BBE\u72EC\u7ACBipv4\u5730\u5740\u7684vm"},{"level":3,"title":"\u5220\u9664\u793A\u4F8B","slug":"\u5220\u9664\u793A\u4F8B-1"}],"relativePath":"en_US/guide/pve_kvm.md"}',t={},p=n(`

\u90E8\u5206\u6CE8\u610F\u4E8B\u9879

\u6267\u884C\u672C\u9879\u76EE\u7684\u7B2C\u4E00\u4E2A\u68C0\u6D4B\u73AF\u5883\u7684\u547D\u4EE4\uFF0C\u5C55\u793A\u5982\u4E0B


![coode](/images/pve_kvm/pve_kvm_1.png)

\u67E5\u8BE2\u5982\u4E0A\u7684\u53EA\u9700\u4F7F\u7528\u4E0B\u9762\u7684\u4E00\u952E\u811A\u672C\u81EA\u52A8\u521B\u5EFA\u865A\u62DF\u673A\u5373\u53EF\uFF0C\u65E0\u9700\u624B\u52A8\u518D\u4FEE\u6539WEB\u7AEF\u8BBE\u7F6E


![coode](/images/pve_kvm/pve_kvm_2.png)

\u67E5\u8BE2\u5982\u4E0A\u7684\u5728\u4F7F\u7528\u540E\u7EED\u811A\u672C\u521B\u5EFA\u4E86\u865A\u62DF\u673A\u540E\uFF0C\u53EF\u80FD\u9700\u8981\u624B\u52A8\u4FEE\u6539WEB\u7AEF\u8BBE\u7F6E\uFF0C\u9700\u8981\u5173\u95ED\u5BF9\u5E94\u6BCF\u4E2A\u865A\u62DF\u673A\u7684\u786C\u4EF6\u5D4C\u5957\u865A\u62DF\u5316\uFF0C\u5982\u4E0B\u56FE


![coode](/images/pve_kvm/pve_kvm_3.png)

\u5148\u505C\u6B62\u865A\u62DF\u673A\u518D\u4FEE\u6539\uFF0C\u4FEE\u6539\u5B8C\u540E\u518D\u5F00\u673A\u624D\u80FD\u4F7F\u7528NOVNC\uFF0C\u4E0D\u5173\u95ED\u53EF\u80FD\u5BFC\u81F4\u8FD9\u4E2A\u865A\u62DF\u673A\u6709BUG\u65E0\u6CD5\u4F7F\u7528

\u5982\u679C\u5F3A\u884C\u5B89\u88C5PVE\u5F00KVM\uFF0C\u542F\u52A8\u4E0D\u4E86\u7684\u4E5F\u53EF\u4EE5\u5173\u95ED\u8FD9\u4E2A\u9009\u9879\u8BD5\u8BD5\u80FD\u4E0D\u80FD\u542F\u52A8\u865A\u62DF\u673A

\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM

  • \u81EA\u52A8\u5F00\u8BBENAT\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4F7F\u7528Debian10\u955C\u50CF\uFF0C\u56E0\u4E3A\u8BE5\u955C\u50CF\u5360\u7528\u6700\u5C0F
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u81EA\u5B9A\u4E49\u9700\u8981\u4F7F\u7528\u7684\u955C\u50CF\uFF0C\u8FD9\u91CC\u6709\u7ED9\u51FA\u914D\u7F6E\u597D\u7684\u955C\u50CF\uFF0C\u955C\u50CF\u81EA\u5E26\u7A7A\u95F4\u8BBE\u7F6E\u662F2~10G\u786C\u76D8\uFF0C\u65E5\u5E38\u4F7F\u7528\u81F3\u5C1110G\u4EE5\u4E0A\u5373\u53EF\uFF0C\u9664\u975E\u67D0\u4E9B\u955C\u50CF\u5F00\u4E0D\u8D77\u6765\u518D\u589E\u52A0\u786C\u76D8\u5927\u5C0F
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u6307\u5B9A\u5B58\u50A8\u76D8\u4F4D\u7F6E\uFF0C\u9ED8\u8BA4\u4E0D\u6307\u5B9A\u65F6\u4E3Alocal\u76D8\u5373\u7CFB\u7EDF\u76D8\uFF0C\u53EF\u6307\u5B9A\u4E3APVE\u4E2D\u663E\u793A\u7684\u6302\u8F7D\u76D8
  • \u81EA\u5B9A\u4E49\u5185\u5B58\u5927\u5C0F\u63A8\u8350512MB\u5185\u5B58 ::tip \u9700\u8981\u6CE8\u610F\u7684\u662F\u5BBF\u4E3B\u673A\u5185\u5B58\u8BB0\u5F97\u5F00\u70B9swap\u514D\u5F97\u673A\u5668\u70B8\u4E86\u5F00SWAP\u70B9\u6211\u8DF3\u8F6C ::
  • \u81EA\u52A8\u8FDB\u884C\u5185\u5916\u7F51\u7AEF\u53E3\u6620\u5C04\uFF0C\u542B22\uFF0C80\uFF0C443\u7AEF\u53E3\u4EE5\u53CA\u5176\u4ED625\u4E2A\u5185\u5916\u7F51\u7AEF\u53E3\u53F7\u4E00\u6837\u7684\u7AEF\u53E3
  • \u751F\u6210\u540E\u9700\u8981\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\u865A\u62DF\u673A\u5185\u90E8\u7684cloud-init\u914D\u7F6E\u597D\u7F51\u7EDC\u4EE5\u53CA\u767B\u9646\u4FE1\u606F\uFF0C\u5927\u6982\u9700\u89815\u5206\u949F
  • \u865A\u62DF\u673A\u7684\u76F8\u5173\u4FE1\u606F\u5C06\u4F1A\u5B58\u50A8\u5230WEB\u7AEF\u5BF9\u5E94VM\u7684NOTES\u4E2D\uFF0C\u53EF\u5728WEB\u7AEF\u67E5\u770B

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
+import{_ as a,c as s,o as e,d as n}from"./app.005aa5c6.js";const v='{"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","slug":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879"},{"level":3,"title":"\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM","slug":"\u5355\u72EC\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684KVM\u865A\u62DF\u5316\u7684VM","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684kvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u5F00\u8BBE\u72EC\u7ACBIPV4\u5730\u5740\u7684VM","slug":"\u5F00\u8BBE\u72EC\u7ACBipv4\u5730\u5740\u7684vm"},{"level":3,"title":"\u5220\u9664\u793A\u4F8B","slug":"\u5220\u9664\u793A\u4F8B-1"}],"relativePath":"en_US/guide/pve_kvm.md","lastUpdated":1687011015000}',t={},p=n(`

\u90E8\u5206\u6CE8\u610F\u4E8B\u9879

\u6267\u884C\u672C\u9879\u76EE\u7684\u7B2C\u4E00\u4E2A\u68C0\u6D4B\u73AF\u5883\u7684\u547D\u4EE4\uFF0C\u5C55\u793A\u5982\u4E0B


![coode](/images/pve_kvm/pve_kvm_1.png)

\u67E5\u8BE2\u5982\u4E0A\u7684\u53EA\u9700\u4F7F\u7528\u4E0B\u9762\u7684\u4E00\u952E\u811A\u672C\u81EA\u52A8\u521B\u5EFA\u865A\u62DF\u673A\u5373\u53EF\uFF0C\u65E0\u9700\u624B\u52A8\u518D\u4FEE\u6539WEB\u7AEF\u8BBE\u7F6E


![coode](/images/pve_kvm/pve_kvm_2.png)

\u67E5\u8BE2\u5982\u4E0A\u7684\u5728\u4F7F\u7528\u540E\u7EED\u811A\u672C\u521B\u5EFA\u4E86\u865A\u62DF\u673A\u540E\uFF0C\u53EF\u80FD\u9700\u8981\u624B\u52A8\u4FEE\u6539WEB\u7AEF\u8BBE\u7F6E\uFF0C\u9700\u8981\u5173\u95ED\u5BF9\u5E94\u6BCF\u4E2A\u865A\u62DF\u673A\u7684\u786C\u4EF6\u5D4C\u5957\u865A\u62DF\u5316\uFF0C\u5982\u4E0B\u56FE


![coode](/images/pve_kvm/pve_kvm_3.png)

\u5148\u505C\u6B62\u865A\u62DF\u673A\u518D\u4FEE\u6539\uFF0C\u4FEE\u6539\u5B8C\u540E\u518D\u5F00\u673A\u624D\u80FD\u4F7F\u7528NOVNC\uFF0C\u4E0D\u5173\u95ED\u53EF\u80FD\u5BFC\u81F4\u8FD9\u4E2A\u865A\u62DF\u673A\u6709BUG\u65E0\u6CD5\u4F7F\u7528

\u5982\u679C\u5F3A\u884C\u5B89\u88C5PVE\u5F00KVM\uFF0C\u542F\u52A8\u4E0D\u4E86\u7684\u4E5F\u53EF\u4EE5\u5173\u95ED\u8FD9\u4E2A\u9009\u9879\u8BD5\u8BD5\u80FD\u4E0D\u80FD\u542F\u52A8\u865A\u62DF\u673A

\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM

  • \u81EA\u52A8\u5F00\u8BBENAT\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4F7F\u7528Debian10\u955C\u50CF\uFF0C\u56E0\u4E3A\u8BE5\u955C\u50CF\u5360\u7528\u6700\u5C0F
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u81EA\u5B9A\u4E49\u9700\u8981\u4F7F\u7528\u7684\u955C\u50CF\uFF0C\u8FD9\u91CC\u6709\u7ED9\u51FA\u914D\u7F6E\u597D\u7684\u955C\u50CF\uFF0C\u955C\u50CF\u81EA\u5E26\u7A7A\u95F4\u8BBE\u7F6E\u662F2~10G\u786C\u76D8\uFF0C\u65E5\u5E38\u4F7F\u7528\u81F3\u5C1110G\u4EE5\u4E0A\u5373\u53EF\uFF0C\u9664\u975E\u67D0\u4E9B\u955C\u50CF\u5F00\u4E0D\u8D77\u6765\u518D\u589E\u52A0\u786C\u76D8\u5927\u5C0F
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u6307\u5B9A\u5B58\u50A8\u76D8\u4F4D\u7F6E\uFF0C\u9ED8\u8BA4\u4E0D\u6307\u5B9A\u65F6\u4E3Alocal\u76D8\u5373\u7CFB\u7EDF\u76D8\uFF0C\u53EF\u6307\u5B9A\u4E3APVE\u4E2D\u663E\u793A\u7684\u6302\u8F7D\u76D8
  • \u81EA\u5B9A\u4E49\u5185\u5B58\u5927\u5C0F\u63A8\u8350512MB\u5185\u5B58 ::tip \u9700\u8981\u6CE8\u610F\u7684\u662F\u5BBF\u4E3B\u673A\u5185\u5B58\u8BB0\u5F97\u5F00\u70B9swap\u514D\u5F97\u673A\u5668\u70B8\u4E86\u5F00SWAP\u70B9\u6211\u8DF3\u8F6C ::
  • \u81EA\u52A8\u8FDB\u884C\u5185\u5916\u7F51\u7AEF\u53E3\u6620\u5C04\uFF0C\u542B22\uFF0C80\uFF0C443\u7AEF\u53E3\u4EE5\u53CA\u5176\u4ED625\u4E2A\u5185\u5916\u7F51\u7AEF\u53E3\u53F7\u4E00\u6837\u7684\u7AEF\u53E3
  • \u751F\u6210\u540E\u9700\u8981\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\u865A\u62DF\u673A\u5185\u90E8\u7684cloud-init\u914D\u7F6E\u597D\u7F51\u7EDC\u4EE5\u53CA\u767B\u9646\u4FE1\u606F\uFF0C\u5927\u6982\u9700\u89815\u5206\u949F
  • \u865A\u62DF\u673A\u7684\u76F8\u5173\u4FE1\u606F\u5C06\u4F1A\u5B58\u50A8\u5230WEB\u7AEF\u5BF9\u5E94VM\u7684NOTES\u4E2D\uFF0C\u53EF\u5728WEB\u7AEF\u67E5\u770B

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
 

\u4F7F\u7528\u65B9\u6CD5

  • \u7CFB\u7EDF\u652F\u6301\uFF1A\u8BE6\u89C1 \u8DF3\u8F6C \u4E2D\u5217\u51FA\u7684\u7CFB\u7EDF\uFF0C\u4F7F\u7528\u65F6\u53EA\u9700\u5199\u6587\u4EF6\u540D\u5B57\uFF0C\u4E0D\u9700\u8981.qcow2\u5C3E\u7F00 ::tip \u6CE8\u610F\u8FD9\u91CC\u7684\u7528\u6237\u540D\u4E0D\u80FD\u662F\u7EAF\u6570\u5B57\uFF0C\u4F1A\u9020\u6210cloudinit\u51FA\u95EE\u9898\uFF0C\u6700\u597D\u662F\u7EAF\u82F1\u6587\u6216\u82F1\u6587\u5F00\u5934 ::
./buildvm.sh VMID \u7528\u6237\u540D \u5BC6\u7801 CPU\u6838\u6570 \u5185\u5B58 \u786C\u76D8 SSH\u7AEF\u53E3 80\u7AEF\u53E3 443\u7AEF\u53E3 \u5916\u7F51\u7AEF\u53E3\u8D77 \u5916\u7F51\u7AEF\u53E3\u6B62 \u7CFB\u7EDF \u5B58\u50A8\u76D8
 

\u6D4B\u8BD5\u793A\u4F8B

  • \u4EE5\u4E0B\u4E3A\u5F00\u8BBE\u7684\u793A\u4F8BVM\u7684\u4FE1\u606F\uFF1A
    VMID - 102 SSH\u767B\u5F55\u7684\u7528\u6237\u540D - test1 SSH\u767B\u5F55\u7684\u5BC6\u7801 - 1234567 CPU\u6838\u6570 - 1
    \u5185\u5B58\u5927\u5C0F - 512MB \u78C1\u76D8\u5927\u5C0F - 10G
    SSH\u7AEF\u53E3 - 40001 80\u7AEF\u53E3 - 40002 443\u7AEF\u53E3 - 40003 \u5185\u5916\u7F51\u6620\u5C04\u7AEF\u53E3\u4E00\u81F4\u7684\u533A\u95F4 - 50000\u523050025 \u7CFB\u7EDF - ubuntu20 \u5BBF\u4E3B\u673A\u7684\u5B58\u50A8\u76D8 - local
./buildvm.sh 102 test1 1234567 1 512 10 40001 40002 40003 50000 50025 ubuntu20 local
diff --git a/assets/guide_pve_kvm.md.904469a4.lean.js b/assets/guide_pve_kvm.md.c0040096.lean.js
similarity index 71%
rename from assets/guide_pve_kvm.md.904469a4.lean.js
rename to assets/guide_pve_kvm.md.c0040096.lean.js
index f9c2a7bb40..20730f4e2c 100644
--- a/assets/guide_pve_kvm.md.904469a4.lean.js
+++ b/assets/guide_pve_kvm.md.c0040096.lean.js
@@ -1 +1 @@
-import{_ as a,c as s,o as e,d as n}from"./app.37329957.js";const v='{"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","slug":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879"},{"level":3,"title":"\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM","slug":"\u5355\u72EC\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684KVM\u865A\u62DF\u5316\u7684VM","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684kvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u5F00\u8BBE\u72EC\u7ACBIPV4\u5730\u5740\u7684VM","slug":"\u5F00\u8BBE\u72EC\u7ACBipv4\u5730\u5740\u7684vm"},{"level":3,"title":"\u5220\u9664\u793A\u4F8B","slug":"\u5220\u9664\u793A\u4F8B-1"}],"relativePath":"en_US/guide/pve_kvm.md"}',t={},p=n("",60),l=[p];function i(o,r,c,d,u,m){return e(),s("div",null,l)}var k=a(t,[["render",i]]);export{v as __pageData,k as default};
+import{_ as a,c as s,o as e,d as n}from"./app.005aa5c6.js";const v='{"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879","slug":"\u90E8\u5206\u6CE8\u610F\u4E8B\u9879"},{"level":3,"title":"\u5355\u72EC\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684VM","slug":"\u5355\u72EC\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684KVM\u865A\u62DF\u5316\u7684VM","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684kvm\u865A\u62DF\u5316\u7684vm"},{"level":3,"title":"\u5F00\u8BBE\u72EC\u7ACBIPV4\u5730\u5740\u7684VM","slug":"\u5F00\u8BBE\u72EC\u7ACBipv4\u5730\u5740\u7684vm"},{"level":3,"title":"\u5220\u9664\u793A\u4F8B","slug":"\u5220\u9664\u793A\u4F8B-1"}],"relativePath":"en_US/guide/pve_kvm.md","lastUpdated":1687011015000}',t={},p=n("",60),l=[p];function i(o,r,c,d,u,m){return e(),s("div",null,l)}var k=a(t,[["render",i]]);export{v as __pageData,k as default};
diff --git a/assets/guide_pve_lxc.md.6f7e7612.js b/assets/guide_pve_lxc.md.21f38578.js
similarity index 74%
rename from assets/guide_pve_lxc.md.6f7e7612.js
rename to assets/guide_pve_lxc.md.21f38578.js
index 16484a70e5..69563de8ed 100644
--- a/assets/guide_pve_lxc.md.6f7e7612.js
+++ b/assets/guide_pve_lxc.md.21f38578.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as e,d as n}from"./app.37329957.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","slug":"\u5355\u72EC\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684ct"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684LXC\u865A\u62DF\u5316\u7684CT","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684lxc\u865A\u62DF\u5316\u7684ct"}],"relativePath":"en_US/guide/pve_lxc.md"}',t={},c=n(`

\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT

::warning \u521D\u6B21\u4F7F\u7528\u524D\u9700\u8981\u4FDD\u8BC1\u5F53\u524DPVE\u7EAF\u51C0\u4E14\u5BBF\u4E3B\u673A\u672A\u8FDB\u884C\u8FC7\u4EFB\u4F55\u7AEF\u53E3\u6620\u5C04\uFF0C\u5426\u5219\u8BBE\u7F6E\u51B2\u7A81\u53EF\u80FD\u51FA\u73B0BUG \u5F00\u8BBE\u524D\u8BF7\u4F7F\u7528screen\u6302\u8D77\u6267\u884C\uFF0C\u907F\u514D\u6279\u91CF\u5F00\u8BBE\u65F6\u95F4\u8FC7\u957F\uFF0CSSH\u4E0D\u7A33\u5B9A\u5BFC\u81F4\u4E2D\u95F4\u6267\u884C\u4E2D\u65AD ::

  • \u81EA\u52A8\u5F00\u8BBENAT\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4F7F\u7528Debian11\u955C\u50CF\uFF0C\u4E5F\u53EF\u81EA\u5B9A\u4E49\u7CFB\u7EDF
  • \u81EA\u52A8\u8FDB\u884C\u5185\u5916\u7F51\u7AEF\u53E3\u6620\u5C04\uFF0C\u542B22\uFF0C80\uFF0C443\u7AEF\u53E3\u4EE5\u53CA\u5176\u4ED625\u4E2A\u5185\u5916\u7F51\u7AEF\u53E3\u53F7\u4E00\u6837\u7684\u7AEF\u53E3
  • \u751F\u6210\u540E\u9700\u8981\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\u865A\u62DF\u673A\u5185\u90E8\u914D\u7F6E\u597D\u7F51\u7EDC\u4EE5\u53CA\u767B\u9646\u4FE1\u606F\uFF0C\u5927\u6982\u9700\u89813\u5206\u949F
  • \u9ED8\u8BA4\u5F00\u8BBE\u7684\u7F51\u7EDC\u914D\u7F6E\u4E3A\uFF1A22\uFF0C80\uFF0C443\u7AEF\u53E3\u53CA\u4E00\u4E2A25\u4E2A\u7AEF\u53E3\u533A\u95F4\u7684\u5185\u5916\u7F51\u6620\u5C04
  • \u53EF\u81EA\u5B9A\u4E49\u5F00\u8BBE\u7684\u6838\u5FC3\u6570\uFF0C\u5185\u5B58\u5927\u5C0F\uFF0C\u786C\u76D8\u5927\u5C0F\uFF0C\u4F7F\u7528\u5BBF\u4E3B\u673A\u54EA\u4E2A\u5B58\u50A8\u76D8\uFF0C\u8BB0\u5F97\u81EA\u5DF1\u8BA1\u7B97\u597D\u7A7A\u95F2\u8D44\u6E90\u5F00\u8BBE
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u6307\u5B9A\u5B58\u50A8\u76D8\u4F4D\u7F6E\uFF0C\u9ED8\u8BA4\u4E0D\u6307\u5B9A\u65F6\u4E3Alocal\u76D8\u5373\u7CFB\u7EDF\u76D8\uFF0C\u53EF\u6307\u5B9A\u4E3APVE\u4E2D\u663E\u793A\u7684\u6302\u8F7D\u76D8
  • \u5F00\u8BBE\u7684CT\u9ED8\u8BA4\u5DF2\u542F\u7528SSH\u4E14\u5141\u8BB8root\u767B\u9646\uFF0C\u4E14\u5DF2\u8BBE\u7F6E\u652F\u6301\u4F7F\u7528docker\u7684\u5D4C\u5957\u865A\u62DF\u5316
  • \u5BB9\u5668\u7684\u76F8\u5173\u4FE1\u606F\u5C06\u4F1A\u5B58\u50A8\u5230\u5BF9\u5E94\u7684\u5BB9\u5668\u7684NOTE\u4E2D\uFF0C\u53EF\u5728WEB\u7AEF\u67E5\u770B

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
+import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","slug":"\u5355\u72EC\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684ct"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684LXC\u865A\u62DF\u5316\u7684CT","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684lxc\u865A\u62DF\u5316\u7684ct"}],"relativePath":"en_US/guide/pve_lxc.md","lastUpdated":1687011015000}',t={},c=n(`

\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT

::warning \u521D\u6B21\u4F7F\u7528\u524D\u9700\u8981\u4FDD\u8BC1\u5F53\u524DPVE\u7EAF\u51C0\u4E14\u5BBF\u4E3B\u673A\u672A\u8FDB\u884C\u8FC7\u4EFB\u4F55\u7AEF\u53E3\u6620\u5C04\uFF0C\u5426\u5219\u8BBE\u7F6E\u51B2\u7A81\u53EF\u80FD\u51FA\u73B0BUG \u5F00\u8BBE\u524D\u8BF7\u4F7F\u7528screen\u6302\u8D77\u6267\u884C\uFF0C\u907F\u514D\u6279\u91CF\u5F00\u8BBE\u65F6\u95F4\u8FC7\u957F\uFF0CSSH\u4E0D\u7A33\u5B9A\u5BFC\u81F4\u4E2D\u95F4\u6267\u884C\u4E2D\u65AD ::

  • \u81EA\u52A8\u5F00\u8BBENAT\u670D\u52A1\u5668\uFF0C\u9ED8\u8BA4\u4F7F\u7528Debian11\u955C\u50CF\uFF0C\u4E5F\u53EF\u81EA\u5B9A\u4E49\u7CFB\u7EDF
  • \u81EA\u52A8\u8FDB\u884C\u5185\u5916\u7F51\u7AEF\u53E3\u6620\u5C04\uFF0C\u542B22\uFF0C80\uFF0C443\u7AEF\u53E3\u4EE5\u53CA\u5176\u4ED625\u4E2A\u5185\u5916\u7F51\u7AEF\u53E3\u53F7\u4E00\u6837\u7684\u7AEF\u53E3
  • \u751F\u6210\u540E\u9700\u8981\u7B49\u5F85\u4E00\u6BB5\u65F6\u95F4\u865A\u62DF\u673A\u5185\u90E8\u914D\u7F6E\u597D\u7F51\u7EDC\u4EE5\u53CA\u767B\u9646\u4FE1\u606F\uFF0C\u5927\u6982\u9700\u89813\u5206\u949F
  • \u9ED8\u8BA4\u5F00\u8BBE\u7684\u7F51\u7EDC\u914D\u7F6E\u4E3A\uFF1A22\uFF0C80\uFF0C443\u7AEF\u53E3\u53CA\u4E00\u4E2A25\u4E2A\u7AEF\u53E3\u533A\u95F4\u7684\u5185\u5916\u7F51\u6620\u5C04
  • \u53EF\u81EA\u5B9A\u4E49\u5F00\u8BBE\u7684\u6838\u5FC3\u6570\uFF0C\u5185\u5B58\u5927\u5C0F\uFF0C\u786C\u76D8\u5927\u5C0F\uFF0C\u4F7F\u7528\u5BBF\u4E3B\u673A\u54EA\u4E2A\u5B58\u50A8\u76D8\uFF0C\u8BB0\u5F97\u81EA\u5DF1\u8BA1\u7B97\u597D\u7A7A\u95F2\u8D44\u6E90\u5F00\u8BBE
  • \u53EF\u5728\u547D\u4EE4\u4E2D\u6307\u5B9A\u5B58\u50A8\u76D8\u4F4D\u7F6E\uFF0C\u9ED8\u8BA4\u4E0D\u6307\u5B9A\u65F6\u4E3Alocal\u76D8\u5373\u7CFB\u7EDF\u76D8\uFF0C\u53EF\u6307\u5B9A\u4E3APVE\u4E2D\u663E\u793A\u7684\u6302\u8F7D\u76D8
  • \u5F00\u8BBE\u7684CT\u9ED8\u8BA4\u5DF2\u542F\u7528SSH\u4E14\u5141\u8BB8root\u767B\u9646\uFF0C\u4E14\u5DF2\u8BBE\u7F6E\u652F\u6301\u4F7F\u7528docker\u7684\u5D4C\u5957\u865A\u62DF\u5316
  • \u5BB9\u5668\u7684\u76F8\u5173\u4FE1\u606F\u5C06\u4F1A\u5B58\u50A8\u5230\u5BF9\u5E94\u7684\u5BB9\u5668\u7684NOTE\u4E2D\uFF0C\u53EF\u5728WEB\u7AEF\u67E5\u770B

\u56FD\u9645

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
 

\u56FD\u5185

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
 

\u4F7F\u7528\u65B9\u6CD5

  • \u7CFB\u7EDF\u652F\u6301\uFF1Adebian10\uFF0Cdebian11\uFF0Cubuntu18\uFF0Cubuntu20\uFF0Cubuntu22\uFF0Ccentos8\uFF0Calmalinux9\u7B49
  • \u7CFB\u7EDF\u53C2\u6570\u4E00\u5F8B\u662F\u5C0F\u5199\u7684\u7CFB\u7EDF\u540D\u5B57\u62FC\u63A5\u7248\u672C\u53F7\uFF0C\u5177\u4F53\u53EF\u6267\u884Cpveam available --section system\u67E5\u770B\u53EF\u7528\u7684\u7CFB\u7EDF\u540D\u5B57\u548C\u7248\u672C\u53F7(\u6CE8\u610F\u811A\u672C\u4F7F\u7528\u7684\u53C2\u6570\u53EA\u6709\u5C0F\u5199\u7684\u82F1\u6587\u7CFB\u7EDF\u540D\u5B57\u62FC\u63A5\u7248\u672C\u53F7)
  • \u5176\u4ED6\u7CFB\u7EDF\u53EF\u80FD\u652F\u6301\u53EF\u80FD\u4E0D\u652F\u6301\uFF0C\u81EA\u884C\u6D4B\u8BD5
  • \u9ED8\u8BA4\u7528\u6237\u540D\u662Froot
./buildct.sh CTID \u5BC6\u7801 CPU\u6838\u6570 \u5185\u5B58 \u786C\u76D8 SSH\u7AEF\u53E3 80\u7AEF\u53E3 443\u7AEF\u53E3 \u5916\u7F51\u7AEF\u53E3\u8D77 \u5916\u7F51\u7AEF\u53E3\u6B62 \u7CFB\u7EDF \u5B58\u50A8\u76D8
 

\u6D4B\u8BD5\u793A\u4F8B

  • \u4EE5\u4E0B\u4E3A\u5F00\u8BBE\u7684\u793A\u4F8BCT\u7684\u4FE1\u606F\uFF1A
    VMID - 102 SSH\u767B\u5F55\u7684\u7528\u6237\u540D - root SSH\u767B\u5F55\u7684\u5BC6\u7801 - 1234567 CPU\u6838\u6570 - 1
    \u5185\u5B58\u5927\u5C0F - 512MB \u78C1\u76D8\u5927\u5C0F - 5G
    SSH\u7AEF\u53E3 - 20001 80\u7AEF\u53E3 - 20002 443\u7AEF\u53E3 - 20003 \u5185\u5916\u7F51\u6620\u5C04\u7AEF\u53E3\u4E00\u81F4\u7684\u533A\u95F4 - 30000\u523030025 \u7CFB\u7EDF - debian11 \u5BBF\u4E3B\u673A\u7684\u5B58\u50A8\u76D8 - local
./buildct.sh 102 1234567 1 512 5 20001 20002 20003 30000 30025 debian11 local
diff --git a/assets/guide_pve_lxc.md.6f7e7612.lean.js b/assets/guide_pve_lxc.md.21f38578.lean.js
similarity index 65%
rename from assets/guide_pve_lxc.md.6f7e7612.lean.js
rename to assets/guide_pve_lxc.md.21f38578.lean.js
index 1d407dde93..78b4dc8a2a 100644
--- a/assets/guide_pve_lxc.md.6f7e7612.lean.js
+++ b/assets/guide_pve_lxc.md.21f38578.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as e,d as n}from"./app.37329957.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","slug":"\u5355\u72EC\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684ct"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684LXC\u865A\u62DF\u5316\u7684CT","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684lxc\u865A\u62DF\u5316\u7684ct"}],"relativePath":"en_US/guide/pve_lxc.md"}',t={},c=n("",28),l=[c];function o(p,i,r,d,u,h){return e(),a("div",null,l)}var k=s(t,[["render",o]]);export{m as __pageData,k as default};
+import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5355\u72EC\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684CT","slug":"\u5355\u72EC\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684ct"},{"level":2,"title":"\u6279\u91CF\u5F00\u8BBENAT\u7684LXC\u865A\u62DF\u5316\u7684CT","slug":"\u6279\u91CF\u5F00\u8BBEnat\u7684lxc\u865A\u62DF\u5316\u7684ct"}],"relativePath":"en_US/guide/pve_lxc.md","lastUpdated":1687011015000}',t={},c=n("",28),l=[c];function o(p,i,r,d,u,h){return e(),a("div",null,l)}var k=s(t,[["render",o]]);export{m as __pageData,k as default};
diff --git a/assets/guide_pve_precheck.md.14adbdf0.js b/assets/guide_pve_precheck.md.14adbdf0.js
deleted file mode 100644
index 9dbdac7511..0000000000
--- a/assets/guide_pve_precheck.md.14adbdf0.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import{_ as e,c as a,o as t,d as i}from"./app.37329957.js";const u='{"title":"\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5404\u79CD\u8981\u6C42","slug":"\u5404\u79CD\u8981\u6C42"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/pve_precheck.md"}',r={},n=i(`

\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E

\u5404\u79CD\u8981\u6C42

\u5EFA\u8BAEdebian\u5728\u4F7F\u7528\u524D\u5C3D\u91CF\u4F7F\u7528\u6700\u65B0\u7684\u7A33\u5B9A\u7248\u672C\u7684\u7CFB\u7EDF

\u975Edebian11\u53EF\u4F7F\u7528 debian\u4E00\u952E\u5347\u7EA7 \u6765\u5347\u7EA7\u7CFB\u7EDF

\u672C\u9879\u76EE\u53EA\u9002\u914DDebian\u7CFB\u7EDF(\u975EDebian\u65E0\u6CD5\u901A\u8FC7APT\u6E90\u5B89\u88C5\uFF0C\u5B98\u65B9\u53EA\u7ED9\u4E86Debian\u7684\u955C\u50CF\uFF0C\u5176\u4ED6\u7CFB\u7EDF\u53EA\u80FD\u4F7F\u7528ISO\u5B89\u88C5)

  • \u7CFB\u7EDF\u8981\u6C42\uFF1ADebian 8+ ::tip \u5EFA\u8BAEdebian11\u800C\u4E0D\u662Fdebian12\uFF0C\u56E0\u4E3A\u540E\u8005\u662Fbeta\u7248\u672C\uFF0Cdebian11\u5B89\u88C5\u7684\u624D\u662F\u7A33\u5B9A\u7248 ::
  • \u786C\u4EF6\u8981\u6C42\uFF1A2\u68382G\u5185\u5B58x86_64\u67B6\u6784\u670D\u52A1\u5668\u786C\u76D8\u81F3\u5C1120G ::warning \u5185\u5B58\u5F00\u70B9swap\u514D\u5F97\u673A\u5668\u70B8\u4E86\u5F00SWAP\u70B9\u6211\u8DF3\u8F6C ::
  • \u53EF\u5F00KVM\u7684\u786C\u4EF6\u8981\u6C42\uFF1AVM-X\u6216AMD-V\u652F\u6301 (\u90E8\u5206VPS\u548C\u5168\u90E8\u72EC\u670D\u652F\u6301)
  • \u5982\u679C\u786C\u4EF6\u6216\u7CFB\u7EDF\u9700\u6C42\u4E0D\u6EE1\u8DB3\uFF0C\u53EF\u4F7F\u7528LXD\u6279\u91CF\u5F00LXC\u5BB9\u5668\u8DF3\u8F6C

\u9047\u5230\u9009\u9879\u4E0D\u4F1A\u9009\u7684\u53EF\u65E0\u8111\u56DE\u8F66\u5B89\u88C5\uFF0C\u672C\u9879\u76EE\u6240\u6709\u811A\u672C\u5185\u7F6E\u56FD\u5185\u5916IP\u81EA\u52A8\u5224\u65AD\uFF0C\u4F7F\u7528\u7684\u662F\u4E0D\u540C\u7684\u5B89\u88C5\u6E90\u4E0E\u914D\u7F6E\u6587\u4EF6\uFF0C\u6709\u4F7F\u7528CDN\u52A0\u901F\u955C\u50CF\u4E0B\u8F7D

\u68C0\u6D4B\u73AF\u5883

  • \u672C\u9879\u76EE\u76F8\u5173\u811A\u672C\u6267\u884C\u524D\u52A1\u5FC5\u6267\u884C\u672C\u811A\u672C\u68C0\u6D4B\u73AF\u5883\uFF0C\u5982\u679C\u4E0D\u7B26\u5408\u5B89\u88C5PVE\u7684\u8981\u6C42\u5219\u65E0\u6CD5\u4F7F\u7528\u540E\u7EED\u7684\u811A\u672C
  • \u68C0\u6D4B\u786C\u4EF6\u914D\u7F6E\u662F\u5426\u6EE1\u8DB3\u6700\u4F4E\u8981\u6C42
  • \u68C0\u6D4B\u786C\u4EF6\u73AF\u5883\u662F\u5426\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668
  • \u68C0\u6D4B\u7CFB\u7EDF\u73AF\u5883\u662F\u5426\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668
  • \u4E0D\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668\u4E5F\u53EF\u4EE5\u5F00LXC\u865A\u62DF\u5316\u7684\u670D\u52A1\u5668\uFF0C\u4F46\u4E0D\u63A8\u8350\u5B89\u88C5PVE\uFF0C\u4E0D\u5982\u4F7F\u7528LXD

\u56FD\u9645

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
-

\u56FD\u5185

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
-
`,13),c=[n];function l(s,o,p,h,d,_){return t(),a("div",null,c)}var g=e(r,[["render",l]]);export{u as __pageData,g as default}; diff --git a/assets/guide_pve_precheck.md.14adbdf0.lean.js b/assets/guide_pve_precheck.md.14adbdf0.lean.js deleted file mode 100644 index 31085e4117..0000000000 --- a/assets/guide_pve_precheck.md.14adbdf0.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as a,o as t,d as i}from"./app.37329957.js";const u='{"title":"\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5404\u79CD\u8981\u6C42","slug":"\u5404\u79CD\u8981\u6C42"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/pve_precheck.md"}',r={},n=i("",13),c=[n];function l(s,o,p,h,d,_){return t(),a("div",null,c)}var g=e(r,[["render",l]]);export{u as __pageData,g as default}; diff --git a/assets/guide_pve_precheck.md.b3d96962.js b/assets/guide_pve_precheck.md.b3d96962.js new file mode 100644 index 0000000000..3671df0ec5 --- /dev/null +++ b/assets/guide_pve_precheck.md.b3d96962.js @@ -0,0 +1,3 @@ +import{_ as e,c as a,o as t,d as i}from"./app.005aa5c6.js";const u='{"title":"\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5404\u79CD\u8981\u6C42","slug":"\u5404\u79CD\u8981\u6C42"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/pve_precheck.md","lastUpdated":1687011015000}',r={},n=i(`

\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E

\u5404\u79CD\u8981\u6C42

\u5EFA\u8BAEdebian\u5728\u4F7F\u7528\u524D\u5C3D\u91CF\u4F7F\u7528\u6700\u65B0\u7684\u7A33\u5B9A\u7248\u672C\u7684\u7CFB\u7EDF

\u975Edebian11\u53EF\u4F7F\u7528 debian\u4E00\u952E\u5347\u7EA7 \u6765\u5347\u7EA7\u7CFB\u7EDF

\u672C\u9879\u76EE\u53EA\u9002\u914DDebian\u7CFB\u7EDF(\u975EDebian\u65E0\u6CD5\u901A\u8FC7APT\u6E90\u5B89\u88C5\uFF0C\u5B98\u65B9\u53EA\u7ED9\u4E86Debian\u7684\u955C\u50CF\uFF0C\u5176\u4ED6\u7CFB\u7EDF\u53EA\u80FD\u4F7F\u7528ISO\u5B89\u88C5)

  • \u7CFB\u7EDF\u8981\u6C42\uFF1ADebian 8+ ::tip \u5EFA\u8BAEdebian11\u800C\u4E0D\u662Fdebian12\uFF0C\u56E0\u4E3A\u540E\u8005\u662Fbeta\u7248\u672C\uFF0Cdebian11\u5B89\u88C5\u7684\u624D\u662F\u7A33\u5B9A\u7248 ::
  • \u786C\u4EF6\u8981\u6C42\uFF1A2\u68382G\u5185\u5B58x86_64\u67B6\u6784\u670D\u52A1\u5668\u786C\u76D8\u81F3\u5C1120G ::warning \u5185\u5B58\u5F00\u70B9swap\u514D\u5F97\u673A\u5668\u70B8\u4E86\u5F00SWAP\u70B9\u6211\u8DF3\u8F6C ::
  • \u53EF\u5F00KVM\u7684\u786C\u4EF6\u8981\u6C42\uFF1AVM-X\u6216AMD-V\u652F\u6301 (\u90E8\u5206VPS\u548C\u5168\u90E8\u72EC\u670D\u652F\u6301)
  • \u5982\u679C\u786C\u4EF6\u6216\u7CFB\u7EDF\u9700\u6C42\u4E0D\u6EE1\u8DB3\uFF0C\u53EF\u4F7F\u7528LXD\u6279\u91CF\u5F00LXC\u5BB9\u5668\u8DF3\u8F6C

\u9047\u5230\u9009\u9879\u4E0D\u4F1A\u9009\u7684\u53EF\u65E0\u8111\u56DE\u8F66\u5B89\u88C5\uFF0C\u672C\u9879\u76EE\u6240\u6709\u811A\u672C\u5185\u7F6E\u56FD\u5185\u5916IP\u81EA\u52A8\u5224\u65AD\uFF0C\u4F7F\u7528\u7684\u662F\u4E0D\u540C\u7684\u5B89\u88C5\u6E90\u4E0E\u914D\u7F6E\u6587\u4EF6\uFF0C\u6709\u4F7F\u7528CDN\u52A0\u901F\u955C\u50CF\u4E0B\u8F7D

\u68C0\u6D4B\u73AF\u5883

  • \u672C\u9879\u76EE\u76F8\u5173\u811A\u672C\u6267\u884C\u524D\u52A1\u5FC5\u6267\u884C\u672C\u811A\u672C\u68C0\u6D4B\u73AF\u5883\uFF0C\u5982\u679C\u4E0D\u7B26\u5408\u5B89\u88C5PVE\u7684\u8981\u6C42\u5219\u65E0\u6CD5\u4F7F\u7528\u540E\u7EED\u7684\u811A\u672C
  • \u68C0\u6D4B\u786C\u4EF6\u914D\u7F6E\u662F\u5426\u6EE1\u8DB3\u6700\u4F4E\u8981\u6C42
  • \u68C0\u6D4B\u786C\u4EF6\u73AF\u5883\u662F\u5426\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668
  • \u68C0\u6D4B\u7CFB\u7EDF\u73AF\u5883\u662F\u5426\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668
  • \u4E0D\u53EF\u5D4C\u5957\u865A\u62DF\u5316KVM\u7C7B\u578B\u7684\u670D\u52A1\u5668\u4E5F\u53EF\u4EE5\u5F00LXC\u865A\u62DF\u5316\u7684\u670D\u52A1\u5668\uFF0C\u4F46\u4E0D\u63A8\u8350\u5B89\u88C5PVE\uFF0C\u4E0D\u5982\u4F7F\u7528LXD

\u56FD\u9645

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
+

\u56FD\u5185

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
+
`,13),l=[n];function c(s,p,o,h,d,_){return t(),a("div",null,l)}var g=e(r,[["render",c]]);export{u as __pageData,g as default}; diff --git a/assets/guide_pve_precheck.md.b3d96962.lean.js b/assets/guide_pve_precheck.md.b3d96962.lean.js new file mode 100644 index 0000000000..66b453d723 --- /dev/null +++ b/assets/guide_pve_precheck.md.b3d96962.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,o as t,d as i}from"./app.005aa5c6.js";const u='{"title":"\u7CFB\u7EDF\u8981\u6C42\u4E0E\u914D\u7F6E","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u5404\u79CD\u8981\u6C42","slug":"\u5404\u79CD\u8981\u6C42"},{"level":2,"title":"\u68C0\u6D4B\u73AF\u5883","slug":"\u68C0\u6D4B\u73AF\u5883"}],"relativePath":"en_US/guide/pve_precheck.md","lastUpdated":1687011015000}',r={},n=i("",13),l=[n];function c(s,p,o,h,d,_){return t(),a("div",null,l)}var g=e(r,[["render",c]]);export{u as __pageData,g as default}; diff --git a/assets/guide_pve_qa.md.5d2cb157.js b/assets/guide_pve_qa.md.5d2cb157.js deleted file mode 100644 index fc9f24bb1e..0000000000 --- a/assets/guide_pve_qa.md.5d2cb157.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as a,d as t}from"./app.37329957.js";const m='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684vps\u5546\u5BB6"},{"level":3,"title":"\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EF\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"},{"level":3,"title":"\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EA\u53EF\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"}],"relativePath":"en_US/guide/pve_qa.md"}',n={},o=t('

\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6

\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6

nocix \u4E2D\u7684\u7279\u4EF7\u6700\u4F4E\u914D15\u7F8E\u5143\u72EC\u670D (IPV6\u4E0D\u81EA\u5E26\uFF0C\u9700\u8981\u627E\u5BA2\u670D\u8981)

amhost \u4E2D\u7684\u6D4B\u8BD5\u6B3E

digitalocean \u4E2D\u7684 Perminu Intel \u548C Regular 4\u6838\u6B3E

skrime \u4E2D\u7684 AMD Ryzen KVM Server \u6700\u4F4E\u914D\u6B3E

webdock \u4E2D\u7684 AMD KVM Server

4vps \u4E2D\u7684 \u4FC4\u7F57\u65AF\u548C\u5E0C\u814A \u6D4B\u8BD5\u6B3E

hostaris \u4E2D\u7684 \u5FB7\u56FD\u6B3E (\u5546\u5BB6\u7684\u7CFB\u7EDF\u6A21\u677F\u6709\u95EE\u9898\uFF0CIPV6\u5DF2\u5931\u6548\u548CGithub\u7684\u8FDE\u901A\u7A33\u5B9A\u6027\u5F88\u5DEE)

\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6

\u817E\u8BAF\u4E91 \u4E2D\u7684\u65E0\u5FE7\u6B3E\u548C\u7279\u60E0\u6B3E(\u5B66\u751F\u673A)

spectraip \u4E2D\u7684KVM\u670D\u52A1\u5668

',12),p=[o];function s(l,h,c,i,_,f){return a(),r("div",null,p)}var k=e(n,[["render",s]]);export{m as __pageData,k as default}; diff --git a/assets/guide_pve_qa.md.5d62d879.js b/assets/guide_pve_qa.md.5d62d879.js new file mode 100644 index 0000000000..13c6c05e18 --- /dev/null +++ b/assets/guide_pve_qa.md.5d62d879.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as a,d as t}from"./app.005aa5c6.js";const m='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684vps\u5546\u5BB6"},{"level":3,"title":"\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EF\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"},{"level":3,"title":"\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EA\u53EF\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"}],"relativePath":"en_US/guide/pve_qa.md","lastUpdated":1687011015000}',n={},o=t('

\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6

\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6

nocix \u4E2D\u7684\u7279\u4EF7\u6700\u4F4E\u914D15\u7F8E\u5143\u72EC\u670D (IPV6\u4E0D\u81EA\u5E26\uFF0C\u9700\u8981\u627E\u5BA2\u670D\u8981)

amhost \u4E2D\u7684\u6D4B\u8BD5\u6B3E

digitalocean \u4E2D\u7684 Perminu Intel \u548C Regular 4\u6838\u6B3E

skrime \u4E2D\u7684 AMD Ryzen KVM Server \u6700\u4F4E\u914D\u6B3E

webdock \u4E2D\u7684 AMD KVM Server

4vps \u4E2D\u7684 \u4FC4\u7F57\u65AF\u548C\u5E0C\u814A \u6D4B\u8BD5\u6B3E

hostaris \u4E2D\u7684 \u5FB7\u56FD\u6B3E (\u5546\u5BB6\u7684\u7CFB\u7EDF\u6A21\u677F\u6709\u95EE\u9898\uFF0CIPV6\u5DF2\u5931\u6548\u548CGithub\u7684\u8FDE\u901A\u7A33\u5B9A\u6027\u5F88\u5DEE)

\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6

\u817E\u8BAF\u4E91 \u4E2D\u7684\u65E0\u5FE7\u6B3E\u548C\u7279\u60E0\u6B3E(\u5B66\u751F\u673A)

spectraip \u4E2D\u7684KVM\u670D\u52A1\u5668

',12),p=[o];function s(l,h,c,i,_,d){return a(),r("div",null,p)}var k=e(n,[["render",s]]);export{m as __pageData,k as default}; diff --git a/assets/guide_pve_qa.md.5d2cb157.lean.js b/assets/guide_pve_qa.md.5d62d879.lean.js similarity index 66% rename from assets/guide_pve_qa.md.5d2cb157.lean.js rename to assets/guide_pve_qa.md.5d62d879.lean.js index a65a08863b..310282255e 100644 --- a/assets/guide_pve_qa.md.5d2cb157.lean.js +++ b/assets/guide_pve_qa.md.5d62d879.lean.js @@ -1 +1 @@ -import{_ as e,c as r,o as a,d as t}from"./app.37329957.js";const m='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684vps\u5546\u5BB6"},{"level":3,"title":"\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EF\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"},{"level":3,"title":"\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EA\u53EF\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"}],"relativePath":"en_US/guide/pve_qa.md"}',n={},o=t("",12),p=[o];function s(l,h,c,i,_,f){return a(),r("div",null,p)}var k=e(n,[["render",s]]);export{m as __pageData,k as default}; +import{_ as e,c as r,o as a,d as t}from"./app.005aa5c6.js";const m='{"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684VPS\u5546\u5BB6","slug":"\u76EE\u524D\u5DF2\u9A8C\u8BC1\u7684vps\u5546\u5BB6"},{"level":3,"title":"\u53EF\u5F00\u8BBEKVM\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EF\u5F00\u8BBEkvm\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"},{"level":3,"title":"\u53EA\u53EF\u5F00\u8BBELXC\u865A\u62DF\u5316\u7684NAT\u7684\u5546\u5BB6","slug":"\u53EA\u53EF\u5F00\u8BBElxc\u865A\u62DF\u5316\u7684nat\u7684\u5546\u5BB6"}],"relativePath":"en_US/guide/pve_qa.md","lastUpdated":1687011015000}',n={},o=t("",12),p=[o];function s(l,h,c,i,_,d){return a(),r("div",null,p)}var k=e(n,[["render",s]]);export{m as __pageData,k as default}; diff --git a/assets/guide_pve_thanks.md.4e26afdf.js b/assets/guide_pve_thanks.md.4e26afdf.js deleted file mode 100644 index d6f6818682..0000000000 --- a/assets/guide_pve_thanks.md.4e26afdf.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as a}from"./app.37329957.js";const b='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/pve_thanks.md"}',o={},n=a('

\u81F4\u8C22

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

\u611F\u8C22 @Ella-Alinda \u63D0\u4F9B\u7684PVE\u6307\u5BFC

',9),p=[n];function l(s,i,h,c,_,m){return t(),r("div",null,p)}var f=e(o,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/guide_pve_thanks.md.4e26afdf.lean.js b/assets/guide_pve_thanks.md.4e26afdf.lean.js deleted file mode 100644 index e41d00803e..0000000000 --- a/assets/guide_pve_thanks.md.4e26afdf.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,c as r,o as t,d as a}from"./app.37329957.js";const b='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/pve_thanks.md"}',o={},n=a("",9),p=[n];function l(s,i,h,c,_,m){return t(),r("div",null,p)}var f=e(o,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/guide_pve_thanks.md.f9ee17ac.js b/assets/guide_pve_thanks.md.f9ee17ac.js new file mode 100644 index 0000000000..dcf15c9857 --- /dev/null +++ b/assets/guide_pve_thanks.md.f9ee17ac.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as a}from"./app.005aa5c6.js";const b='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/pve_thanks.md","lastUpdated":1687011015000}',o={},n=a('

\u81F4\u8C22

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

\u611F\u8C22 @Ella-Alinda \u63D0\u4F9B\u7684PVE\u6307\u5BFC

',9),p=[n];function l(s,i,h,c,_,m){return t(),r("div",null,p)}var f=e(o,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/guide_pve_thanks.md.f9ee17ac.lean.js b/assets/guide_pve_thanks.md.f9ee17ac.lean.js new file mode 100644 index 0000000000..882552d22b --- /dev/null +++ b/assets/guide_pve_thanks.md.f9ee17ac.lean.js @@ -0,0 +1 @@ +import{_ as e,c as r,o as t,d as a}from"./app.005aa5c6.js";const b='{"title":"\u81F4\u8C22","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u81F4\u8C22","slug":"\u81F4\u8C22"}],"relativePath":"en_US/guide/pve_thanks.md","lastUpdated":1687011015000}',o={},n=a("",9),p=[n];function l(s,i,h,c,_,m){return t(),r("div",null,p)}var f=e(o,[["render",l]]);export{b as __pageData,f as default}; diff --git a/assets/index.md.7d39893c.js b/assets/index.md.b861ea38.js similarity index 68% rename from assets/index.md.7d39893c.js rename to assets/index.md.b861ea38.js index e409f8b5d4..af7d19152d 100644 --- a/assets/index.md.7d39893c.js +++ b/assets/index.md.b861ea38.js @@ -1 +1 @@ -import{_ as a,c as o,o as r,a as e,b as t}from"./app.37329957.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE","tagline":"\u5F00\u6E90\u3001\u6613\u4E8E\u4F7F\u7528\u7684\u670D\u52A1\u5668\u865A\u62DF\u5316\u9879\u76EE","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/guide/dashboard","features":[{"title":"\u4E00\u952E\u5B89\u88C5","details":"\u652F\u6301\u4E00\u952E\u811A\u672C\u5B89\u88C5\uFF0C\u8F7B\u677E\u4F7F\u7528\uFF1B\u57FA\u4E8E Debian\u3001Ubuntu \u7684\u957F\u671F\u7EF4\u62A4\u7248\u672C\u5F00\u53D1\uFF0C\u5C3D\u91CF\u4FDD\u8BC1\u5BBF\u4E3B\u673A\u7CFB\u7EDF\u4E0E\u5F00\u53D1\u73AF\u5883\u4E00\u81F4"},{"title":"\u81EA\u5E26\u5185\u5916\u7F51\u7AEF\u53E3\u8F6C\u53D1","details":"\u652F\u6301\u81EA\u52A8\u7684\u5185\u7F51\u7AEF\u53E3\u8F6C\u53D1\uFF0C\u542BTCP\u3001UDP\u534F\u8BAE"},{"title":"\u6279\u91CF\u865A\u62DF\u5316","details":"\u652F\u6301 KVM\u3001LXC\u3001Docker \u865A\u62DF\u5316\u6279\u91CF\u5F00\u8BBE\u865A\u62DF\u673A(\u5BB9\u5668)"},{"title":"\u81EA\u9650\u5236\u6EE5\u7528","details":"\u90E8\u5206\u865A\u62DF\u5316\u5F00\u8BBE\u7684\u5BB9\u5668/\u865A\u62DF\u673A\u5DF2\u5C4F\u853D\u548C\u88C5\u8F7D\u9650\u5236\uFF0C\u907F\u514D\u88AB\u7528\u4E8E\u6EE5\u7528"}],"footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"index.md"}',s={},i=e("p",null,[e("br"),t("\u672C\u9879\u76EE\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=[i];function c(l,d,p,h,_,m){return r(),o("div",null,n)}var g=a(s,[["render",c]]);export{f as __pageData,g as default}; +import{_ as a,c as o,o as s,a as e,b as t}from"./app.005aa5c6.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE","tagline":"\u5F00\u6E90\u3001\u6613\u4E8E\u4F7F\u7528\u7684\u670D\u52A1\u5668\u865A\u62DF\u5316\u9879\u76EE","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/guide/dashboard","features":[{"title":"\u4E00\u952E\u5B89\u88C5","details":"\u652F\u6301\u4E00\u952E\u811A\u672C\u5B89\u88C5\uFF0C\u8F7B\u677E\u4F7F\u7528\uFF1B\u57FA\u4E8E Debian\u3001Ubuntu \u7684\u957F\u671F\u7EF4\u62A4\u7248\u672C\u5F00\u53D1\uFF0C\u5C3D\u91CF\u4FDD\u8BC1\u5BBF\u4E3B\u673A\u7CFB\u7EDF\u4E0E\u5F00\u53D1\u73AF\u5883\u4E00\u81F4"},{"title":"\u81EA\u5E26\u5185\u5916\u7F51\u7AEF\u53E3\u8F6C\u53D1","details":"\u652F\u6301\u81EA\u52A8\u7684\u5185\u7F51\u7AEF\u53E3\u8F6C\u53D1\uFF0C\u542BTCP\u3001UDP\u534F\u8BAE"},{"title":"\u6279\u91CF\u865A\u62DF\u5316","details":"\u652F\u6301 KVM\u3001LXC\u3001Docker \u865A\u62DF\u5316\u6279\u91CF\u5F00\u8BBE\u865A\u62DF\u673A(\u5BB9\u5668)"},{"title":"\u81EA\u9650\u5236\u6EE5\u7528","details":"\u90E8\u5206\u865A\u62DF\u5316\u5F00\u8BBE\u7684\u5BB9\u5668/\u865A\u62DF\u673A\u5DF2\u5C4F\u853D\u548C\u88C5\u8F7D\u9650\u5236\uFF0C\u907F\u514D\u88AB\u7528\u4E8E\u6EE5\u7528"}],"footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"index.md","lastUpdated":1687011015000}',r={},i=e("p",null,[e("br"),t("\u672C\u9879\u76EE\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=[i];function c(l,d,p,h,_,m){return s(),o("div",null,n)}var g=a(r,[["render",c]]);export{f as __pageData,g as default}; diff --git a/assets/index.md.7d39893c.lean.js b/assets/index.md.b861ea38.lean.js similarity index 68% rename from assets/index.md.7d39893c.lean.js rename to assets/index.md.b861ea38.lean.js index e409f8b5d4..af7d19152d 100644 --- a/assets/index.md.7d39893c.lean.js +++ b/assets/index.md.b861ea38.lean.js @@ -1 +1 @@ -import{_ as a,c as o,o as r,a as e,b as t}from"./app.37329957.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE","tagline":"\u5F00\u6E90\u3001\u6613\u4E8E\u4F7F\u7528\u7684\u670D\u52A1\u5668\u865A\u62DF\u5316\u9879\u76EE","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/guide/dashboard","features":[{"title":"\u4E00\u952E\u5B89\u88C5","details":"\u652F\u6301\u4E00\u952E\u811A\u672C\u5B89\u88C5\uFF0C\u8F7B\u677E\u4F7F\u7528\uFF1B\u57FA\u4E8E Debian\u3001Ubuntu \u7684\u957F\u671F\u7EF4\u62A4\u7248\u672C\u5F00\u53D1\uFF0C\u5C3D\u91CF\u4FDD\u8BC1\u5BBF\u4E3B\u673A\u7CFB\u7EDF\u4E0E\u5F00\u53D1\u73AF\u5883\u4E00\u81F4"},{"title":"\u81EA\u5E26\u5185\u5916\u7F51\u7AEF\u53E3\u8F6C\u53D1","details":"\u652F\u6301\u81EA\u52A8\u7684\u5185\u7F51\u7AEF\u53E3\u8F6C\u53D1\uFF0C\u542BTCP\u3001UDP\u534F\u8BAE"},{"title":"\u6279\u91CF\u865A\u62DF\u5316","details":"\u652F\u6301 KVM\u3001LXC\u3001Docker \u865A\u62DF\u5316\u6279\u91CF\u5F00\u8BBE\u865A\u62DF\u673A(\u5BB9\u5668)"},{"title":"\u81EA\u9650\u5236\u6EE5\u7528","details":"\u90E8\u5206\u865A\u62DF\u5316\u5F00\u8BBE\u7684\u5BB9\u5668/\u865A\u62DF\u673A\u5DF2\u5C4F\u853D\u548C\u88C5\u8F7D\u9650\u5236\uFF0C\u907F\u514D\u88AB\u7528\u4E8E\u6EE5\u7528"}],"footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"index.md"}',s={},i=e("p",null,[e("br"),t("\u672C\u9879\u76EE\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=[i];function c(l,d,p,h,_,m){return r(),o("div",null,n)}var g=a(s,[["render",c]]);export{f as __pageData,g as default}; +import{_ as a,c as o,o as s,a as e,b as t}from"./app.005aa5c6.js";const f='{"title":"Home","description":"","frontmatter":{"home":true,"heroImage":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.jpg","heroText":"\u4E00\u952E\u865A\u62DF\u5316\u9879\u76EE","tagline":"\u5F00\u6E90\u3001\u6613\u4E8E\u4F7F\u7528\u7684\u670D\u52A1\u5668\u865A\u62DF\u5316\u9879\u76EE","actionText":"\u5F00\u59CB\u4F7F\u7528 \u2192","actionLink":"/guide/dashboard","features":[{"title":"\u4E00\u952E\u5B89\u88C5","details":"\u652F\u6301\u4E00\u952E\u811A\u672C\u5B89\u88C5\uFF0C\u8F7B\u677E\u4F7F\u7528\uFF1B\u57FA\u4E8E Debian\u3001Ubuntu \u7684\u957F\u671F\u7EF4\u62A4\u7248\u672C\u5F00\u53D1\uFF0C\u5C3D\u91CF\u4FDD\u8BC1\u5BBF\u4E3B\u673A\u7CFB\u7EDF\u4E0E\u5F00\u53D1\u73AF\u5883\u4E00\u81F4"},{"title":"\u81EA\u5E26\u5185\u5916\u7F51\u7AEF\u53E3\u8F6C\u53D1","details":"\u652F\u6301\u81EA\u52A8\u7684\u5185\u7F51\u7AEF\u53E3\u8F6C\u53D1\uFF0C\u542BTCP\u3001UDP\u534F\u8BAE"},{"title":"\u6279\u91CF\u865A\u62DF\u5316","details":"\u652F\u6301 KVM\u3001LXC\u3001Docker \u865A\u62DF\u5316\u6279\u91CF\u5F00\u8BBE\u865A\u62DF\u673A(\u5BB9\u5668)"},{"title":"\u81EA\u9650\u5236\u6EE5\u7528","details":"\u90E8\u5206\u865A\u62DF\u5316\u5F00\u8BBE\u7684\u5BB9\u5668/\u865A\u62DF\u673A\u5DF2\u5C4F\u853D\u548C\u88C5\u8F7D\u9650\u5236\uFF0C\u907F\u514D\u88AB\u7528\u4E8E\u6EE5\u7528"}],"footer":"Copyright \xA9 2023-present oneclickvirt"},"headers":[],"relativePath":"index.md","lastUpdated":1687011015000}',r={},i=e("p",null,[e("br"),t("\u672C\u9879\u76EE\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=[i];function c(l,d,p,h,_,m){return s(),o("div",null,n)}var g=a(r,[["render",c]]);export{f as __pageData,g as default}; diff --git a/assets/style.c3210e46.css b/assets/style.0b9f658b.css similarity index 56% rename from assets/style.c3210e46.css rename to assets/style.0b9f658b.css index 4a96fa6707..4c0853917b 100644 --- a/assets/style.c3210e46.css +++ b/assets/style.0b9f658b.css @@ -1 +1 @@ -:root{--c-white: #ffffff;--c-white-dark: #f8f8f8;--c-black: #000000;--c-divider-light: rgba(60, 60, 67, .12);--c-divider-dark: rgba(84, 84, 88, .48);--c-text-light-1: #2c3e50;--c-text-light-2: #476582;--c-text-light-3: #90a4b7;--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--z-index-navbar: 10;--z-index-sidebar: 6;--shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16);--header-height: 3.6rem}:root{--c-divider: var(--c-divider-light);--c-text: var(--c-text-light-1);--c-text-light: var(--c-text-light-2);--c-text-lighter: var(--c-text-light-3);--c-bg: var(--c-white);--c-bg-accent: var(--c-white-dark);--code-line-height: 24px;--code-font-family: var(--font-family-mono);--code-font-size: 14px;--code-inline-bg-color: rgba(27, 31, 35, .05);--code-bg-color: #282c34}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:1.4;font-family:var(--font-family-base);font-size:16px;font-weight:400;color:var(--c-text);background-color:var(--c-bg);direction:ltr;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.25}h1,h2,h3,h4,h5,h6,strong,b{font-weight:600}h1:hover .header-anchor,h1:focus .header-anchor,h2:hover .header-anchor,h2:focus .header-anchor,h3:hover .header-anchor,h3:focus .header-anchor,h4:hover .header-anchor,h4:focus .header-anchor,h5:hover .header-anchor,h5:focus .header-anchor,h6:hover .header-anchor,h6:focus .header-anchor{opacity:1}h1{margin-top:1.5rem;font-size:1.9rem}@media screen and (min-width: 420px){h1{font-size:2.2rem}}h2{margin-top:2.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--c-divider);padding-bottom:.3rem;line-height:1.25;font-size:1.65rem}h2+h3{margin-top:1.5rem}h3{margin-top:2rem;font-size:1.35rem}h4{font-size:1.15rem}p,ol,ul{margin:1rem 0;line-height:1.7}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{text-decoration:none;color:var(--c-brand)}a:hover{text-decoration:underline}a.header-anchor{float:left;margin-top:.125em;margin-left:-.87em;padding-right:.23em;font-size:.85em;opacity:0}a.header-anchor:hover,a.header-anchor:focus{text-decoration:none}figure{margin:0}img{max-width:100%}ul,ol{padding-left:1.25em}li>ul,li>ol{margin:0}table{display:block;border-collapse:collapse;margin:1rem 0;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}th,td{border:1px solid #dfe2e5;padding:.6em 1em}blockquote{margin:1rem 0;border-left:.2rem solid #dfe2e5;padding:.25rem 0 .25rem 1rem;font-size:1rem;color:#999}blockquote>p{margin:0}form{margin:0}.theme.sidebar-open .sidebar-mask{display:block}.theme.no-navbar>h1,.theme.no-navbar>h2,.theme.no-navbar>h3,.theme.no-navbar>h4,.theme.no-navbar>h5,.theme.no-navbar>h6{margin-top:1.5rem;padding-top:0}.theme.no-navbar aside{top:0}@media screen and (min-width: 720px){.theme.no-sidebar aside{display:none}.theme.no-sidebar main{margin-left:0}}.sidebar-mask{position:fixed;z-index:2;display:none;width:100vw;height:100vh}code{margin:0;border-radius:3px;padding:.25rem .5rem;font-family:var(--code-font-family);font-size:.85em;color:var(--c-text-light);background-color:var(--code-inline-bg-color)}code .token.deleted{color:#ec5975}code .token.inserted{color:var(--c-brand)}div[class*=language-]{position:relative;margin:1rem -1.5rem;background-color:var(--code-bg-color);overflow-x:auto}li>div[class*=language-]{border-radius:6px 0 0 6px;margin:1rem -1.5rem 1rem -1.25rem;line-height:initial}@media (min-width: 420px){div[class*=language-]{margin:1rem 0;border-radius:6px}li>div[class*=language-]{margin:1rem 0 1rem 0rem;border-radius:6px}}[class*=language-] pre,[class*=language-] code{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;background:transparent}[class*=language-] pre{position:relative;z-index:1;margin:0;padding:1.25rem 1.5rem;overflow-x:auto}[class*=language-] code{padding:0;line-height:var(--code-line-height);font-size:var(--code-font-size);color:#eee}.highlight-lines{position:absolute;top:0;bottom:0;left:0;padding:1.25rem 0;width:100%;line-height:var(--code-line-height);font-family:var(--code-font-family);font-size:var(--code-font-size);user-select:none;overflow:hidden}.highlight-lines .highlighted{background-color:#000000a8}div[class*=language-].line-numbers-mode{padding-left:3.5rem}.line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid rgba(0,0,0,.5);padding:1.25rem 0;width:3.5rem;text-align:center;line-height:var(--code-line-height);font-family:var(--code-font-family);font-size:var(--code-font-size);color:#888}div[class*=language-]:before{position:absolute;top:.6em;right:1em;z-index:2;font-size:.8rem;color:#888}div[class~=language-html]:before,div[class~=language-markup]:before{content:"html"}div[class~=language-md]:before,div[class~=language-markdown]:before{content:"md"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"styl"}div[class~=language-js]:before,div[class~=language-javascript]:before{content:"js"}div[class~=language-ts]:before,div[class~=language-typescript]:before{content:"ts"}div[class~=language-json]:before{content:"json"}div[class~=language-rb]:before,div[class~=language-ruby]:before{content:"rb"}div[class~=language-py]:before,div[class~=language-python]:before{content:"py"}div[class~=language-sh]:before,div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}div[class~=language-go]:before{content:"go"}div[class~=language-rust]:before{content:"rust"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-vue]:before{content:"vue"}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.custom-block.tip,.custom-block.info,.custom-block.warning,.custom-block.danger{margin:1rem 0;border-left:.5rem solid;padding:.1rem 1.5rem;overflow-x:auto}.custom-block.tip{background-color:#f3f5f7;border-color:var(--c-brand)}.custom-block.info{background-color:#f3f5f7;border-color:var(--c-text-light-2)}.custom-block.warning{border-color:#e7c000;color:#6b5900;background-color:#ffe5644d}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:var(--c-text)}.custom-block.danger{border-color:#c00;color:#4d0000;background-color:#ffe6e6}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:var(--c-text)}.custom-block.details{position:relative;display:block;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.custom-block-title{margin-bottom:-.4rem;font-weight:600}.sidebar-links{margin:0;padding:0;list-style:none}.sidebar-link-item{display:block;margin:0;border-left:.25rem solid transparent;color:var(--c-text)}a.sidebar-link-item:hover{text-decoration:none;color:var(--c-brand)}a.sidebar-link-item.active{color:var(--c-brand)}.sidebar>.sidebar-links{padding:.75rem 0 5rem}@media (min-width: 720px){.sidebar>.sidebar-links{padding:1.5rem 0}}.sidebar>.sidebar-links>.sidebar-link+.sidebar-link{padding-top:.5rem}@media (min-width: 720px){.sidebar>.sidebar-links>.sidebar-link+.sidebar-link{padding-top:1.25rem}}.sidebar>.sidebar-links>.sidebar-link>.sidebar-link-item{padding:.35rem 1.5rem .35rem 1.25rem;font-size:1.1rem;font-weight:700}.sidebar>.sidebar-links>.sidebar-link>a.sidebar-link-item.active{border-left-color:var(--c-brand);font-weight:600}.sidebar>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-link-item{display:block;padding:.35rem 1.5rem .35rem 2rem;line-height:1.4;font-size:1rem;font-weight:400}.sidebar>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>a.sidebar-link-item.active{border-left-color:var(--c-brand);font-weight:600}.sidebar>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-link-item{display:block;padding:.3rem 1.5rem .3rem 3rem;line-height:1.4;font-size:.9rem;font-weight:400}.sidebar>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-link-item{display:block;padding:.3rem 1.5rem .3rem 4rem;line-height:1.4;font-size:.9rem;font-weight:400}.debug[data-v-bf835584]{box-sizing:border-box;position:fixed;right:8px;bottom:8px;z-index:9999;border-radius:4px;width:74px;height:32px;color:#eee;overflow:hidden;cursor:pointer;background-color:#000000d9;transition:all .15s ease}.debug[data-v-bf835584]:hover{background-color:#000000bf}.debug.open[data-v-bf835584]{right:0;bottom:0;width:100%;height:100%;margin-top:0;border-radius:0;padding:0;overflow:scroll}@media (min-width: 512px){.debug.open[data-v-bf835584]{width:512px}}.debug.open[data-v-bf835584]:hover{background-color:#000000d9}.title[data-v-bf835584]{margin:0;padding:6px 16px;line-height:20px;font-size:13px}.block[data-v-bf835584]{margin:2px 0 0;border-top:1px solid rgba(255,255,255,.16);padding:8px 16px;font-family:Hack,monospace;font-size:13px}.block+.block[data-v-bf835584]{margin-top:8px}.icon.outbound{position:relative;top:-1px;display:inline-block;vertical-align:middle;color:var(--c-text-lighter)}.item[data-v-b8818f8c]{display:block;padding:0 1.5rem;line-height:36px;font-size:1rem;font-weight:600;color:var(--c-text);white-space:nowrap}.item[data-v-b8818f8c]:hover,.item.active[data-v-b8818f8c]{text-decoration:none;color:var(--c-brand)}.item.external[data-v-b8818f8c]:hover{border-bottom-color:transparent;color:var(--c-text)}@media (min-width: 720px){.item[data-v-b8818f8c]{border-bottom:2px solid transparent;padding:0;line-height:24px;font-size:.9rem;font-weight:500}.item[data-v-b8818f8c]:hover,.item.active[data-v-b8818f8c]{border-bottom-color:var(--c-brand);color:var(--c-text)}}.home-hero[data-v-370f18c0]{margin:2.5rem 0 2.75rem;padding:0 1.5rem;text-align:center}@media (min-width: 420px){.home-hero[data-v-370f18c0]{margin:3.5rem 0}}@media (min-width: 720px){.home-hero[data-v-370f18c0]{margin:4rem 0 4.25rem}}.figure[data-v-370f18c0]{padding:0 1.5rem}.image[data-v-370f18c0]{display:block;margin:0 auto;width:auto;max-width:100%;max-height:280px}.title[data-v-370f18c0]{margin-top:1.5rem;font-size:2rem}@media (min-width: 420px){.title[data-v-370f18c0]{font-size:3rem}}@media (min-width: 720px){.title[data-v-370f18c0]{margin-top:2rem}}.tagline[data-v-370f18c0]{margin:0;margin-top:.25rem;line-height:1.3;font-size:1.2rem;color:var(--c-text-light)}@media (min-width: 420px){.tagline[data-v-370f18c0]{line-height:1.2;font-size:1.6rem}}.action[data-v-370f18c0]{margin-top:1.5rem;display:inline-block}.action.alt[data-v-370f18c0]{margin-left:1.5rem}@media (min-width: 420px){.action[data-v-370f18c0]{margin-top:2rem;display:inline-block}}.action[data-v-370f18c0] .item{display:inline-block;border-radius:6px;padding:0 20px;line-height:44px;font-size:1rem;font-weight:500;color:var(--c-bg);background-color:var(--c-brand);border:2px solid var(--c-brand);transition:background-color .1s ease}.action.alt[data-v-370f18c0] .item{background-color:var(--c-bg);color:var(--c-brand)}.action[data-v-370f18c0] .item:hover{text-decoration:none;color:var(--c-bg);background-color:var(--c-brand-light)}@media (min-width: 420px){.action[data-v-370f18c0] .item{padding:0 24px;line-height:52px;font-size:1.2rem;font-weight:500}}.home-features[data-v-e39c13e0]{margin:0 auto;padding:2.5rem 0 2.75rem;max-width:960px}.home-hero+.home-features[data-v-e39c13e0]{padding-top:0}@media (min-width: 420px){.home-features[data-v-e39c13e0]{padding:3.25rem 0 3.5rem}.home-hero+.home-features[data-v-e39c13e0]{padding-top:0}}@media (min-width: 720px){.home-features[data-v-e39c13e0]{padding-right:1.5rem;padding-left:1.5rem}}.wrapper[data-v-e39c13e0]{padding:0 1.5rem}.home-hero+.home-features .wrapper[data-v-e39c13e0]{border-top:1px solid var(--c-divider);padding-top:2.5rem}@media (min-width: 420px){.home-hero+.home-features .wrapper[data-v-e39c13e0]{padding-top:3.25rem}}@media (min-width: 720px){.wrapper[data-v-e39c13e0]{padding-right:0;padding-left:0}}.container[data-v-e39c13e0]{margin:0 auto;max-width:392px}@media (min-width: 720px){.container[data-v-e39c13e0]{max-width:960px}}.features[data-v-e39c13e0]{display:flex;flex-wrap:wrap;margin:-20px -24px}.feature[data-v-e39c13e0]{flex-shrink:0;padding:20px 24px;width:100%}@media (min-width: 720px){.feature[data-v-e39c13e0]{width:calc(100% / 3)}}.title[data-v-e39c13e0]{margin:0;border-bottom:0;line-height:1.4;font-size:1.25rem;font-weight:500}@media (min-width: 420px){.title[data-v-e39c13e0]{font-size:1.4rem}}.details[data-v-e39c13e0]{margin:0;line-height:1.6;font-size:1rem;color:var(--c-text-light)}.title+.details[data-v-e39c13e0]{padding-top:.25rem}.footer[data-v-30918238]{margin:0 auto;max-width:960px}@media (min-width: 720px){.footer[data-v-30918238]{padding:0 1.5rem}}.container[data-v-30918238]{padding:2rem 1.5rem 2.25rem}.home-hero+.footer .container[data-v-30918238],.home-features+.footer .container[data-v-30918238],.home-content+.footer .container[data-v-30918238]{border-top:1px solid var(--c-divider)}@media (min-width: 420px){.container[data-v-30918238]{padding:3rem 1.5rem 3.25rem}}.text[data-v-30918238]{margin:0;text-align:center;line-height:1.4;font-size:.9rem;color:var(--c-text-light)}.home[data-v-10122c92]{padding-top:var(--header-height)}.home-content[data-v-10122c92]{max-width:960px;margin:0 auto;padding:0 1.5rem}.nav-bar-title[data-v-cc01ef16]{font-size:1.3rem;font-weight:600;color:var(--c-text);display:flex;justify-content:center;align-items:center}.nav-bar-title[data-v-cc01ef16]:hover{text-decoration:none}.logo[data-v-cc01ef16]{margin-right:.75rem;height:1.3rem;vertical-align:bottom}.item[data-v-bbc27490]{display:block;padding:0 1.5rem 0 2.5rem;line-height:32px;font-size:.9rem;font-weight:500;color:var(--c-text);white-space:nowrap}@media (min-width: 720px){.item[data-v-bbc27490]{padding:0 24px 0 12px;line-height:32px;font-size:.85rem;font-weight:500;color:var(--c-text);white-space:nowrap}.item.active .arrow[data-v-bbc27490]{opacity:1}}.item[data-v-bbc27490]:hover,.item.active[data-v-bbc27490]{text-decoration:none;color:var(--c-brand)}.item.external[data-v-bbc27490]:hover{border-bottom-color:transparent;color:var(--c-text)}@media (min-width: 720px){.arrow[data-v-bbc27490]{display:inline-block;margin-right:8px;border-top:6px solid #ccc;border-right:4px solid transparent;border-bottom:0;border-left:4px solid transparent;vertical-align:middle;opacity:0;transform:translateY(-2px) rotate(-90deg)}}.nav-dropdown-link[data-v-56bf3a3f]{position:relative;height:36px;overflow:hidden;cursor:pointer}@media (min-width: 720px){.nav-dropdown-link[data-v-56bf3a3f]{height:auto;overflow:visible}.nav-dropdown-link:hover .dialog[data-v-56bf3a3f]{display:block}}.nav-dropdown-link.open[data-v-56bf3a3f]{height:auto}.button[data-v-56bf3a3f]{display:block;border:0;padding:0 1.5rem;width:100%;text-align:left;line-height:36px;font-family:var(--font-family-base);font-size:1rem;font-weight:600;color:var(--c-text);white-space:nowrap;background-color:transparent;cursor:pointer}.button[data-v-56bf3a3f]:focus{outline:0}@media (min-width: 720px){.button[data-v-56bf3a3f]{border-bottom:2px solid transparent;padding:0;line-height:24px;font-size:.9rem;font-weight:500}}.button-arrow[data-v-56bf3a3f]{display:inline-block;margin-top:-1px;margin-left:8px;border-top:6px solid #ccc;border-right:4px solid transparent;border-bottom:0;border-left:4px solid transparent;vertical-align:middle}.button-arrow.right[data-v-56bf3a3f]{transform:rotate(-90deg)}@media (min-width: 720px){.button-arrow.right[data-v-56bf3a3f]{transform:rotate(0)}}.dialog[data-v-56bf3a3f]{margin:0;padding:0;list-style:none}@media (min-width: 720px){.dialog[data-v-56bf3a3f]{display:none;position:absolute;top:26px;right:-8px;border-radius:6px;padding:12px 0;min-width:128px;background-color:var(--c-bg);box-shadow:var(--shadow-3)}}.nav-links[data-v-eab3edfe]{padding:.75rem 0;border-bottom:1px solid var(--c-divider)}@media (min-width: 720px){.nav-links[data-v-eab3edfe]{display:flex;padding:6px 0 0;align-items:center;border-bottom:0}.item+.item[data-v-eab3edfe]{padding-left:24px}}.sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media screen and (max-width: 719px){.sidebar-button{display:block}}.nav-bar[data-v-675d8756]{position:fixed;top:0;right:0;left:0;z-index:var(--z-index-navbar);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--c-divider);padding:.7rem 1.5rem .7rem 4rem;height:var(--header-height);background-color:var(--c-bg)}@media (min-width: 720px){.nav-bar[data-v-675d8756]{padding:.7rem 1.5rem}}.flex-grow[data-v-675d8756]{flex-grow:1}.nav[data-v-675d8756]{display:none}@media (min-width: 720px){.nav[data-v-675d8756]{display:block}}.sidebar[data-v-83e92a68]{position:fixed;top:var(--header-height);bottom:0;left:0;z-index:var(--z-index-sidebar);border-right:1px solid var(--c-divider);width:16.4rem;background-color:var(--c-bg);overflow-y:auto;transform:translate(-100%);transition:transform .25s ease}@media (min-width: 720px){.sidebar[data-v-83e92a68]{transform:translate(0)}}@media (min-width: 960px){.sidebar[data-v-83e92a68]{width:20rem}}.sidebar.open[data-v-83e92a68]{transform:translate(0)}.nav[data-v-83e92a68]{display:block}@media (min-width: 720px){.nav[data-v-83e92a68]{display:none}}.link[data-v-1ed99556]{display:inline-block;font-size:1rem;font-weight:500;color:var(--c-text-light)}.link[data-v-1ed99556]:hover{text-decoration:none;color:var(--c-brand)}.icon[data-v-1ed99556]{margin-left:4px}.last-updated[data-v-abce3432]{display:inline-block;margin:0;line-height:1.4;font-size:.9rem;color:var(--c-text-light)}@media (min-width: 960px){.last-updated[data-v-abce3432]{font-size:1rem}}.prefix[data-v-abce3432]{display:inline-block;font-weight:500}.datetime[data-v-abce3432]{display:inline-block;margin-left:6px;font-weight:400}.page-footer[data-v-07c132fc]{padding-top:1rem;padding-bottom:1rem;overflow:auto}@media (min-width: 960px){.page-footer[data-v-07c132fc]{display:flex;justify-content:space-between;align-items:center}}.updated[data-v-07c132fc]{padding-top:4px}@media (min-width: 960px){.updated[data-v-07c132fc]{padding-top:0}}.next-and-prev-link[data-v-38ede35f]{padding-top:1rem}.container[data-v-38ede35f]{display:flex;justify-content:space-between;border-top:1px solid var(--c-divider);padding-top:1rem}.prev[data-v-38ede35f],.next[data-v-38ede35f]{display:flex;flex-shrink:0;width:50%}.prev[data-v-38ede35f]{justify-content:flex-start;padding-right:12px}.next[data-v-38ede35f]{justify-content:flex-end;padding-left:12px}.link[data-v-38ede35f]{display:inline-flex;align-items:center;max-width:100%;font-size:1rem;font-weight:500}.text[data-v-38ede35f]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon[data-v-38ede35f]{display:block;flex-shrink:0;width:16px;height:16px;fill:var(--c-text);transform:translateY(1px)}.icon-prev[data-v-38ede35f]{margin-right:8px}.icon-next[data-v-38ede35f]{margin-left:8px}.page[data-v-7eddb2c4]{padding-top:var(--header-height)}@media (min-width: 720px){.page[data-v-7eddb2c4]{margin-left:16.4rem}}@media (min-width: 960px){.page[data-v-7eddb2c4]{margin-left:20rem}}.container[data-v-7eddb2c4]{margin:0 auto;padding:0 1.5rem 4rem;max-width:48rem}.content[data-v-7eddb2c4]{padding-bottom:1.5rem}@media (max-width: 420px){.content[data-v-7eddb2c4]{clear:both}}#ads-container{margin:0 auto}@media (min-width: 420px){#ads-container{position:relative;right:0;float:right;margin:-8px -8px 24px 24px;width:146px}}@media (max-width: 420px){#ads-container{height:105px;margin:1.75rem 0}}@media (min-width: 1400px){#ads-container{position:fixed;right:8px;bottom:8px}} +:root{--c-white: #ffffff;--c-white-dark: #f8f8f8;--c-black: #000000;--c-divider-light: rgba(60, 60, 67, .12);--c-divider-dark: rgba(84, 84, 88, .48);--c-text-light-1: #2c3e50;--c-text-light-2: #476582;--c-text-light-3: #90a4b7;--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-family-mono: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--z-index-navbar: 10;--z-index-sidebar: 6;--shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16);--header-height: 3.6rem}:root{--c-divider: var(--c-divider-light);--c-text: var(--c-text-light-1);--c-text-light: var(--c-text-light-2);--c-text-lighter: var(--c-text-light-3);--c-bg: var(--c-white);--c-bg-accent: var(--c-white-dark);--code-line-height: 24px;--code-font-family: var(--font-family-mono);--code-font-size: 14px;--code-inline-bg-color: rgba(27, 31, 35, .05);--code-bg-color: #282c34}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:1.4;font-family:var(--font-family-base);font-size:16px;font-weight:400;color:var(--c-text);background-color:var(--c-bg);direction:ltr;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:1.25}h1,h2,h3,h4,h5,h6,strong,b{font-weight:600}h1:hover .header-anchor,h1:focus .header-anchor,h2:hover .header-anchor,h2:focus .header-anchor,h3:hover .header-anchor,h3:focus .header-anchor,h4:hover .header-anchor,h4:focus .header-anchor,h5:hover .header-anchor,h5:focus .header-anchor,h6:hover .header-anchor,h6:focus .header-anchor{opacity:1}h1{margin-top:1.5rem;font-size:1.9rem}@media screen and (min-width: 420px){h1{font-size:2.2rem}}h2{margin-top:2.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--c-divider);padding-bottom:.3rem;line-height:1.25;font-size:1.65rem}h2+h3{margin-top:1.5rem}h3{margin-top:2rem;font-size:1.35rem}h4{font-size:1.15rem}p,ol,ul{margin:1rem 0;line-height:1.7}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{text-decoration:none;color:var(--c-brand)}a:hover{text-decoration:underline}a.header-anchor{float:left;margin-top:.125em;margin-left:-.87em;padding-right:.23em;font-size:.85em;opacity:0}a.header-anchor:hover,a.header-anchor:focus{text-decoration:none}figure{margin:0}img{max-width:100%}ul,ol{padding-left:1.25em}li>ul,li>ol{margin:0}table{display:block;border-collapse:collapse;margin:1rem 0;overflow-x:auto}tr{border-top:1px solid #dfe2e5}tr:nth-child(2n){background-color:#f6f8fa}th,td{border:1px solid #dfe2e5;padding:.6em 1em}blockquote{margin:1rem 0;border-left:.2rem solid #dfe2e5;padding:.25rem 0 .25rem 1rem;font-size:1rem;color:#999}blockquote>p{margin:0}form{margin:0}.theme.sidebar-open .sidebar-mask{display:block}.theme.no-navbar>h1,.theme.no-navbar>h2,.theme.no-navbar>h3,.theme.no-navbar>h4,.theme.no-navbar>h5,.theme.no-navbar>h6{margin-top:1.5rem;padding-top:0}.theme.no-navbar aside{top:0}@media screen and (min-width: 720px){.theme.no-sidebar aside{display:none}.theme.no-sidebar main{margin-left:0}}.sidebar-mask{position:fixed;z-index:2;display:none;width:100vw;height:100vh}code{margin:0;border-radius:3px;padding:.25rem .5rem;font-family:var(--code-font-family);font-size:.85em;color:var(--c-text-light);background-color:var(--code-inline-bg-color)}code .token.deleted{color:#ec5975}code .token.inserted{color:var(--c-brand)}div[class*=language-]{position:relative;margin:1rem -1.5rem;background-color:var(--code-bg-color);overflow-x:auto}li>div[class*=language-]{border-radius:6px 0 0 6px;margin:1rem -1.5rem 1rem -1.25rem;line-height:initial}@media (min-width: 420px){div[class*=language-]{margin:1rem 0;border-radius:6px}li>div[class*=language-]{margin:1rem 0 1rem 0rem;border-radius:6px}}[class*=language-] pre,[class*=language-] code{text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none;background:transparent}[class*=language-] pre{position:relative;z-index:1;margin:0;padding:1.25rem 1.5rem;overflow-x:auto}[class*=language-] code{padding:0;line-height:var(--code-line-height);font-size:var(--code-font-size);color:#eee}.highlight-lines{position:absolute;top:0;bottom:0;left:0;padding:1.25rem 0;width:100%;line-height:var(--code-line-height);font-family:var(--code-font-family);font-size:var(--code-font-size);user-select:none;overflow:hidden}.highlight-lines .highlighted{background-color:#000000a8}div[class*=language-].line-numbers-mode{padding-left:3.5rem}.line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid rgba(0,0,0,.5);padding:1.25rem 0;width:3.5rem;text-align:center;line-height:var(--code-line-height);font-family:var(--code-font-family);font-size:var(--code-font-size);color:#888}div[class*=language-]:before{position:absolute;top:.6em;right:1em;z-index:2;font-size:.8rem;color:#888}div[class~=language-html]:before,div[class~=language-markup]:before{content:"html"}div[class~=language-md]:before,div[class~=language-markdown]:before{content:"md"}div[class~=language-css]:before{content:"css"}div[class~=language-sass]:before{content:"sass"}div[class~=language-scss]:before{content:"scss"}div[class~=language-less]:before{content:"less"}div[class~=language-stylus]:before{content:"styl"}div[class~=language-js]:before,div[class~=language-javascript]:before{content:"js"}div[class~=language-ts]:before,div[class~=language-typescript]:before{content:"ts"}div[class~=language-json]:before{content:"json"}div[class~=language-rb]:before,div[class~=language-ruby]:before{content:"rb"}div[class~=language-py]:before,div[class~=language-python]:before{content:"py"}div[class~=language-sh]:before,div[class~=language-bash]:before{content:"sh"}div[class~=language-php]:before{content:"php"}div[class~=language-go]:before{content:"go"}div[class~=language-rust]:before{content:"rust"}div[class~=language-java]:before{content:"java"}div[class~=language-c]:before{content:"c"}div[class~=language-yaml]:before{content:"yaml"}div[class~=language-dockerfile]:before{content:"dockerfile"}div[class~=language-vue]:before{content:"vue"}.token.comment,.token.block-comment,.token.prolog,.token.doctype,.token.cdata{color:#999}.token.punctuation{color:#ccc}.token.tag,.token.attr-name,.token.namespace,.token.deleted{color:#e2777a}.token.function-name{color:#6196cc}.token.boolean,.token.number,.token.function{color:#f08d49}.token.property,.token.class-name,.token.constant,.token.symbol{color:#f8c555}.token.selector,.token.important,.token.atrule,.token.keyword,.token.builtin{color:#cc99cd}.token.string,.token.char,.token.attr-value,.token.regex,.token.variable{color:#7ec699}.token.operator,.token.entity,.token.url{color:#67cdcc}.token.important,.token.bold{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.token.inserted{color:green}.custom-block.tip,.custom-block.info,.custom-block.warning,.custom-block.danger{margin:1rem 0;border-left:.5rem solid;padding:.1rem 1.5rem;overflow-x:auto}.custom-block.tip{background-color:#f3f5f7;border-color:var(--c-brand)}.custom-block.info{background-color:#f3f5f7;border-color:var(--c-text-light-2)}.custom-block.warning{border-color:#e7c000;color:#6b5900;background-color:#ffe5644d}.custom-block.warning .custom-block-title{color:#b29400}.custom-block.warning a{color:var(--c-text)}.custom-block.danger{border-color:#c00;color:#4d0000;background-color:#ffe6e6}.custom-block.danger .custom-block-title{color:#900}.custom-block.danger a{color:var(--c-text)}.custom-block.details{position:relative;display:block;border-radius:2px;margin:1.6em 0;padding:1.6em;background-color:#eee}.custom-block.details h4{margin-top:0}.custom-block.details figure:last-child,.custom-block.details p:last-child{margin-bottom:0;padding-bottom:0}.custom-block.details summary{outline:none;cursor:pointer}.custom-block-title{margin-bottom:-.4rem;font-weight:600}.sidebar-links{margin:0;padding:0;list-style:none}.sidebar-link-item{display:block;margin:0;border-left:.25rem solid transparent;color:var(--c-text)}a.sidebar-link-item:hover{text-decoration:none;color:var(--c-brand)}a.sidebar-link-item.active{color:var(--c-brand)}.sidebar>.sidebar-links{padding:.75rem 0 5rem}@media (min-width: 720px){.sidebar>.sidebar-links{padding:1.5rem 0}}.sidebar>.sidebar-links>.sidebar-link+.sidebar-link{padding-top:.5rem}@media (min-width: 720px){.sidebar>.sidebar-links>.sidebar-link+.sidebar-link{padding-top:1.25rem}}.sidebar>.sidebar-links>.sidebar-link>.sidebar-link-item{padding:.35rem 1.5rem .35rem 1.25rem;font-size:1.1rem;font-weight:700}.sidebar>.sidebar-links>.sidebar-link>a.sidebar-link-item.active{border-left-color:var(--c-brand);font-weight:600}.sidebar>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-link-item{display:block;padding:.35rem 1.5rem .35rem 2rem;line-height:1.4;font-size:1rem;font-weight:400}.sidebar>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>a.sidebar-link-item.active{border-left-color:var(--c-brand);font-weight:600}.sidebar>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-link-item{display:block;padding:.3rem 1.5rem .3rem 3rem;line-height:1.4;font-size:.9rem;font-weight:400}.sidebar>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-links>.sidebar-link>.sidebar-link-item{display:block;padding:.3rem 1.5rem .3rem 4rem;line-height:1.4;font-size:.9rem;font-weight:400}.debug[data-v-bf835584]{box-sizing:border-box;position:fixed;right:8px;bottom:8px;z-index:9999;border-radius:4px;width:74px;height:32px;color:#eee;overflow:hidden;cursor:pointer;background-color:#000000d9;transition:all .15s ease}.debug[data-v-bf835584]:hover{background-color:#000000bf}.debug.open[data-v-bf835584]{right:0;bottom:0;width:100%;height:100%;margin-top:0;border-radius:0;padding:0;overflow:scroll}@media (min-width: 512px){.debug.open[data-v-bf835584]{width:512px}}.debug.open[data-v-bf835584]:hover{background-color:#000000d9}.title[data-v-bf835584]{margin:0;padding:6px 16px;line-height:20px;font-size:13px}.block[data-v-bf835584]{margin:2px 0 0;border-top:1px solid rgba(255,255,255,.16);padding:8px 16px;font-family:Hack,monospace;font-size:13px}.block+.block[data-v-bf835584]{margin-top:8px}.icon.outbound{position:relative;top:-1px;display:inline-block;vertical-align:middle;color:var(--c-text-lighter)}.item[data-v-b8818f8c]{display:block;padding:0 1.5rem;line-height:36px;font-size:1rem;font-weight:600;color:var(--c-text);white-space:nowrap}.item[data-v-b8818f8c]:hover,.item.active[data-v-b8818f8c]{text-decoration:none;color:var(--c-brand)}.item.external[data-v-b8818f8c]:hover{border-bottom-color:transparent;color:var(--c-text)}@media (min-width: 720px){.item[data-v-b8818f8c]{border-bottom:2px solid transparent;padding:0;line-height:24px;font-size:.9rem;font-weight:500}.item[data-v-b8818f8c]:hover,.item.active[data-v-b8818f8c]{border-bottom-color:var(--c-brand);color:var(--c-text)}}.home-hero[data-v-370f18c0]{margin:2.5rem 0 2.75rem;padding:0 1.5rem;text-align:center}@media (min-width: 420px){.home-hero[data-v-370f18c0]{margin:3.5rem 0}}@media (min-width: 720px){.home-hero[data-v-370f18c0]{margin:4rem 0 4.25rem}}.figure[data-v-370f18c0]{padding:0 1.5rem}.image[data-v-370f18c0]{display:block;margin:0 auto;width:auto;max-width:100%;max-height:280px}.title[data-v-370f18c0]{margin-top:1.5rem;font-size:2rem}@media (min-width: 420px){.title[data-v-370f18c0]{font-size:3rem}}@media (min-width: 720px){.title[data-v-370f18c0]{margin-top:2rem}}.tagline[data-v-370f18c0]{margin:0;margin-top:.25rem;line-height:1.3;font-size:1.2rem;color:var(--c-text-light)}@media (min-width: 420px){.tagline[data-v-370f18c0]{line-height:1.2;font-size:1.6rem}}.action[data-v-370f18c0]{margin-top:1.5rem;display:inline-block}.action.alt[data-v-370f18c0]{margin-left:1.5rem}@media (min-width: 420px){.action[data-v-370f18c0]{margin-top:2rem;display:inline-block}}.action[data-v-370f18c0] .item{display:inline-block;border-radius:6px;padding:0 20px;line-height:44px;font-size:1rem;font-weight:500;color:var(--c-bg);background-color:var(--c-brand);border:2px solid var(--c-brand);transition:background-color .1s ease}.action.alt[data-v-370f18c0] .item{background-color:var(--c-bg);color:var(--c-brand)}.action[data-v-370f18c0] .item:hover{text-decoration:none;color:var(--c-bg);background-color:var(--c-brand-light)}@media (min-width: 420px){.action[data-v-370f18c0] .item{padding:0 24px;line-height:52px;font-size:1.2rem;font-weight:500}}.home-features[data-v-e39c13e0]{margin:0 auto;padding:2.5rem 0 2.75rem;max-width:960px}.home-hero+.home-features[data-v-e39c13e0]{padding-top:0}@media (min-width: 420px){.home-features[data-v-e39c13e0]{padding:3.25rem 0 3.5rem}.home-hero+.home-features[data-v-e39c13e0]{padding-top:0}}@media (min-width: 720px){.home-features[data-v-e39c13e0]{padding-right:1.5rem;padding-left:1.5rem}}.wrapper[data-v-e39c13e0]{padding:0 1.5rem}.home-hero+.home-features .wrapper[data-v-e39c13e0]{border-top:1px solid var(--c-divider);padding-top:2.5rem}@media (min-width: 420px){.home-hero+.home-features .wrapper[data-v-e39c13e0]{padding-top:3.25rem}}@media (min-width: 720px){.wrapper[data-v-e39c13e0]{padding-right:0;padding-left:0}}.container[data-v-e39c13e0]{margin:0 auto;max-width:392px}@media (min-width: 720px){.container[data-v-e39c13e0]{max-width:960px}}.features[data-v-e39c13e0]{display:flex;flex-wrap:wrap;margin:-20px -24px}.feature[data-v-e39c13e0]{flex-shrink:0;padding:20px 24px;width:100%}@media (min-width: 720px){.feature[data-v-e39c13e0]{width:calc(100% / 3)}}.title[data-v-e39c13e0]{margin:0;border-bottom:0;line-height:1.4;font-size:1.25rem;font-weight:500}@media (min-width: 420px){.title[data-v-e39c13e0]{font-size:1.4rem}}.details[data-v-e39c13e0]{margin:0;line-height:1.6;font-size:1rem;color:var(--c-text-light)}.title+.details[data-v-e39c13e0]{padding-top:.25rem}.footer[data-v-30918238]{margin:0 auto;max-width:960px}@media (min-width: 720px){.footer[data-v-30918238]{padding:0 1.5rem}}.container[data-v-30918238]{padding:2rem 1.5rem 2.25rem}.home-hero+.footer .container[data-v-30918238],.home-features+.footer .container[data-v-30918238],.home-content+.footer .container[data-v-30918238]{border-top:1px solid var(--c-divider)}@media (min-width: 420px){.container[data-v-30918238]{padding:3rem 1.5rem 3.25rem}}.text[data-v-30918238]{margin:0;text-align:center;line-height:1.4;font-size:.9rem;color:var(--c-text-light)}.home[data-v-10122c92]{padding-top:var(--header-height)}.home-content[data-v-10122c92]{max-width:960px;margin:0 auto;padding:0 1.5rem}.nav-bar-title[data-v-cc01ef16]{font-size:1.3rem;font-weight:600;color:var(--c-text);display:flex;justify-content:center;align-items:center}.nav-bar-title[data-v-cc01ef16]:hover{text-decoration:none}.logo[data-v-cc01ef16]{margin-right:.75rem;height:1.3rem;vertical-align:bottom}.item[data-v-bbc27490]{display:block;padding:0 1.5rem 0 2.5rem;line-height:32px;font-size:.9rem;font-weight:500;color:var(--c-text);white-space:nowrap}@media (min-width: 720px){.item[data-v-bbc27490]{padding:0 24px 0 12px;line-height:32px;font-size:.85rem;font-weight:500;color:var(--c-text);white-space:nowrap}.item.active .arrow[data-v-bbc27490]{opacity:1}}.item[data-v-bbc27490]:hover,.item.active[data-v-bbc27490]{text-decoration:none;color:var(--c-brand)}.item.external[data-v-bbc27490]:hover{border-bottom-color:transparent;color:var(--c-text)}@media (min-width: 720px){.arrow[data-v-bbc27490]{display:inline-block;margin-right:8px;border-top:6px solid #ccc;border-right:4px solid transparent;border-bottom:0;border-left:4px solid transparent;vertical-align:middle;opacity:0;transform:translateY(-2px) rotate(-90deg)}}.nav-dropdown-link[data-v-56bf3a3f]{position:relative;height:36px;overflow:hidden;cursor:pointer}@media (min-width: 720px){.nav-dropdown-link[data-v-56bf3a3f]{height:auto;overflow:visible}.nav-dropdown-link:hover .dialog[data-v-56bf3a3f]{display:block}}.nav-dropdown-link.open[data-v-56bf3a3f]{height:auto}.button[data-v-56bf3a3f]{display:block;border:0;padding:0 1.5rem;width:100%;text-align:left;line-height:36px;font-family:var(--font-family-base);font-size:1rem;font-weight:600;color:var(--c-text);white-space:nowrap;background-color:transparent;cursor:pointer}.button[data-v-56bf3a3f]:focus{outline:0}@media (min-width: 720px){.button[data-v-56bf3a3f]{border-bottom:2px solid transparent;padding:0;line-height:24px;font-size:.9rem;font-weight:500}}.button-arrow[data-v-56bf3a3f]{display:inline-block;margin-top:-1px;margin-left:8px;border-top:6px solid #ccc;border-right:4px solid transparent;border-bottom:0;border-left:4px solid transparent;vertical-align:middle}.button-arrow.right[data-v-56bf3a3f]{transform:rotate(-90deg)}@media (min-width: 720px){.button-arrow.right[data-v-56bf3a3f]{transform:rotate(0)}}.dialog[data-v-56bf3a3f]{margin:0;padding:0;list-style:none}@media (min-width: 720px){.dialog[data-v-56bf3a3f]{display:none;position:absolute;top:26px;right:-8px;border-radius:6px;padding:12px 0;min-width:128px;background-color:var(--c-bg);box-shadow:var(--shadow-3)}}.nav-links[data-v-eab3edfe]{padding:.75rem 0;border-bottom:1px solid var(--c-divider)}@media (min-width: 720px){.nav-links[data-v-eab3edfe]{display:flex;padding:6px 0 0;align-items:center;border-bottom:0}.item+.item[data-v-eab3edfe]{padding-left:24px}}.sidebar-button{position:absolute;top:.6rem;left:1rem;display:none;padding:.6rem;cursor:pointer}.sidebar-button .icon{display:block;width:1.25rem;height:1.25rem}@media screen and (max-width: 719px){.sidebar-button{display:block}}.nav-bar[data-v-675d8756]{position:fixed;top:0;right:0;left:0;z-index:var(--z-index-navbar);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--c-divider);padding:.7rem 1.5rem .7rem 4rem;height:var(--header-height);background-color:var(--c-bg)}@media (min-width: 720px){.nav-bar[data-v-675d8756]{padding:.7rem 1.5rem}}.flex-grow[data-v-675d8756]{flex-grow:1}.nav[data-v-675d8756]{display:none}@media (min-width: 720px){.nav[data-v-675d8756]{display:block}}.sidebar[data-v-83e92a68]{position:fixed;top:var(--header-height);bottom:0;left:0;z-index:var(--z-index-sidebar);border-right:1px solid var(--c-divider);width:16.4rem;background-color:var(--c-bg);overflow-y:auto;transform:translate(-100%);transition:transform .25s ease}@media (min-width: 720px){.sidebar[data-v-83e92a68]{transform:translate(0)}}@media (min-width: 960px){.sidebar[data-v-83e92a68]{width:20rem}}.sidebar.open[data-v-83e92a68]{transform:translate(0)}.nav[data-v-83e92a68]{display:block}@media (min-width: 720px){.nav[data-v-83e92a68]{display:none}}.link[data-v-1ed99556]{display:inline-block;font-size:1rem;font-weight:500;color:var(--c-text-light)}.link[data-v-1ed99556]:hover{text-decoration:none;color:var(--c-brand)}.icon[data-v-1ed99556]{margin-left:4px}.last-updated[data-v-abce3432]{display:inline-block;margin:0;line-height:1.4;font-size:.9rem;color:var(--c-text-light)}@media (min-width: 960px){.last-updated[data-v-abce3432]{font-size:1rem}}.prefix[data-v-abce3432]{display:inline-block;font-weight:500}.datetime[data-v-abce3432]{display:inline-block;margin-left:6px;font-weight:400}.page-footer[data-v-07c132fc]{padding-top:1rem;padding-bottom:1rem;overflow:auto}@media (min-width: 960px){.page-footer[data-v-07c132fc]{display:flex;justify-content:space-between;align-items:center}}.updated[data-v-07c132fc]{padding-top:4px}@media (min-width: 960px){.updated[data-v-07c132fc]{padding-top:0}}.next-and-prev-link[data-v-38ede35f]{padding-top:1rem}.container[data-v-38ede35f]{display:flex;justify-content:space-between;border-top:1px solid var(--c-divider);padding-top:1rem}.prev[data-v-38ede35f],.next[data-v-38ede35f]{display:flex;flex-shrink:0;width:50%}.prev[data-v-38ede35f]{justify-content:flex-start;padding-right:12px}.next[data-v-38ede35f]{justify-content:flex-end;padding-left:12px}.link[data-v-38ede35f]{display:inline-flex;align-items:center;max-width:100%;font-size:1rem;font-weight:500}.text[data-v-38ede35f]{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon[data-v-38ede35f]{display:block;flex-shrink:0;width:16px;height:16px;fill:var(--c-text);transform:translateY(1px)}.icon-prev[data-v-38ede35f]{margin-right:8px}.icon-next[data-v-38ede35f]{margin-left:8px}.page[data-v-7eddb2c4]{padding-top:var(--header-height)}@media (min-width: 720px){.page[data-v-7eddb2c4]{margin-left:16.4rem}}@media (min-width: 960px){.page[data-v-7eddb2c4]{margin-left:20rem}}.container[data-v-7eddb2c4]{margin:0 auto;padding:0 1.5rem 4rem;max-width:48rem}.content[data-v-7eddb2c4]{padding-bottom:1.5rem}@media (max-width: 420px){.content[data-v-7eddb2c4]{clear:both}}#ads-container{margin:0 auto}@media (min-width: 420px){#ads-container{position:relative;right:0;float:right;margin:-8px -8px 24px 24px;width:146px}}@media (max-width: 420px){#ads-container{height:105px;margin:1.75rem 0}}@media (min-width: 1400px){#ads-container{position:fixed;right:8px;bottom:8px}}body.dark{--c-divider: var(--c-divider-dark);--c-text: var(--c-text-dark-1);--c-text-light: var(--c-text-dark-2);--c-text-lighter: var(--c-text-dark-3);--c-bg: var(--c-white);--c-bg-accent: var(--c-white-light);--code-font-family: var(--font-family-mono);--code-inline-bg-color: rgba(27, 31, 35, .05);--code-bg-color: #282c34;--c-white: var(--c-black);--c-white-dark: #f8f8f8;--c-black: #1a1a1a;--c-divider-light: rgba(60, 60, 67, .12);--c-divider-dark: rgba(84, 84, 88, .48);--c-text-light-1: #2c3e50;--c-text-light-2: #476582;--c-text-light-3: #90a4b7;--c-text-dark-1: #fff;--c-text-dark-2: #607385;--c-text-dark-3: #445666;--c-brand: #3eaf7c;--c-brand-light: #4abf8a;--shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16);--header-height: 3.6rem;--docsearch-searchbox-focus-background: #242424;--docsearch-container-background: rgba(101, 108, 133, .8);--docsearch-modal-background: #242424;--docsearch-modal-shadow: inset 1px 1px 0 0 hsla(0, 0%, 100%, .5), 0 3px 8px 0 #555a64;--docsearch-searchbox-background: #ebedf0;--docsearch-searchbox-shadow: inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-color: #444950;--docsearch-hit-active-color: #333;--docsearch-hit-background: #333;--docsearch-hit-shadow: 0 1px 3px 0 #d4d9e1;--docsearch-key-gradient: linear-gradient(-225deg, #d5dbe4, #f8f8f8);--docsearch-key-shadow: inset 0 -2px 0 0 #cdcde6, inset 0 0 1px 1px #333, 0 1px 2px 1px rgba(30, 35, 90, .4);--docsearch-footer-background: #333;--docsearch-footer-shadow: 0 -1px 0 0 #e0e3e8, 0 -3px 6px 0 rgba(69, 98, 155, .12)}body.dark tr:nth-child(2n){background-color:#2a2a2a}body.dark .DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-text-color: var(--c-text-light);--docsearch-muted-color: var(--c-text-lighter);--docsearch-searchbox-background: #333}body.dark .DocSearch-Button:hover{box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}body.dark .custom-block.details,body.dark .custom-block.info,body.dark .custom-block.tip{background-color:#2f2f2f}body.dark .custom-block.warning{background-color:#ffe56436;color:#ccc18c}body.dark .custom-block.danger{background-color:#6e4f4fd2;color:#f5d3d3}body.dark .custom-block.danger .custom-block-title{color:#f6b9b9}/*! @docsearch/css 3.0.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding-bottom:2px;position:relative;top:-1px;width:20px}@media (max-width:750px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:focus{outline:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"\bb "}.DocSearch-Prefill{appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding-bottom:1px;width:20px}@media (max-width:750px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.algolia-search-box{padding-top:1px}@media (min-width: 720px){.algolia-search-box{padding-left:8px}}@media (min-width: 751px){.algolia-search-box{min-width:176.3px}.algolia-search-box .DocSearch-Button-Placeholder{padding-left:8px;font-size:.9rem;font-weight:500}}.DocSearch{--docsearch-primary-color: var(--c-brand);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-searchbox-shadow: inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-text-color: var(--c-text-light);--docsearch-muted-color: var(--c-text-lighter);--docsearch-searchbox-background: #f2f2f2} diff --git a/case/case1.html b/case/case1.html index f68040f213..c7da716316 100644 --- a/case/case1.html +++ b/case/case1.html @@ -1,21 +1,22 @@ - + - 说明与用例稍后补充 | VitePress - - - - + 说明与用例稍后补充 | 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/case/case2.html b/case/case2.html index 4fd34da076..edd4cdb11a 100644 --- a/case/case2.html +++ b/case/case2.html @@ -1,21 +1,22 @@ - + - 说明与用例稍后补充 | VitePress - - - - + 说明与用例稍后补充 | 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/case/case3.html b/case/case3.html index 4a39e748dd..7fe61cfe6c 100644 --- a/case/case3.html +++ b/case/case3.html @@ -1,21 +1,22 @@ - + - 说明与用例稍后补充 | VitePress - - - - + 说明与用例稍后补充 | 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/case/case4.html b/case/case4.html index 3b5f6a9f1b..fbe9f3b6fe 100644 --- a/case/case4.html +++ b/case/case4.html @@ -1,21 +1,22 @@ - + - 说明与用例稍后补充 | VitePress - - - - + 说明与用例稍后补充 | 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/case/case5.html b/case/case5.html index 4758153010..a1fe1198d2 100644 --- a/case/case5.html +++ b/case/case5.html @@ -1,21 +1,22 @@ - + - 说明与用例稍后补充 | VitePress - - - - + 说明与用例稍后补充 | 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/case/index.html b/case/index.html index cdf2bb0bda..a3819c2ce2 100644 --- a/case/index.html +++ b/case/index.html @@ -1,21 +1,22 @@ - + - VitePress - - - - + 一键虚拟化项目 + + + + + - - + + -

Linux相关项目

与Linux相关的一些项目

注意事项

注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明

- - + + + \ No newline at end of file diff --git a/developer/index.html b/developer/index.html index 29bbbd063f..23281aaeba 100644 --- a/developer/index.html +++ b/developer/index.html @@ -1,21 +1,22 @@ - + - VitePress - - - - + 一键虚拟化项目 + + + + + - - + + -

开发手册

欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!

Copyright © 2023-present oneclickvirt

- - +

开发手册

欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!

Copyright © 2023-present oneclickvirt

+ + \ No newline at end of file diff --git a/developer/l10n.html b/developer/l10n.html index 49c6004203..4592d10173 100644 --- a/developer/l10n.html +++ b/developer/l10n.html @@ -1,21 +1,22 @@ - + - 介绍 | VitePress - - - - + 介绍 | 一键虚拟化项目 + + + + + - - + + -

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
- - +

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
+ + \ No newline at end of file diff --git a/en_US/developer/index.html b/en_US/developer/index.html index f2a31d4e20..3cf13a8abe 100644 --- a/en_US/developer/index.html +++ b/en_US/developer/index.html @@ -3,19 +3,20 @@ - VitePress - - - - + One Click Virtualization Project + + + + + - - + + -

Development Manual

Welcome to the Nezha Monitoring Development Manual.

Copyright © 2023-present oneclickvirt

- - + + + \ No newline at end of file diff --git a/en_US/developer/l10n.html b/en_US/developer/l10n.html index e6f489ce02..5e68d19839 100644 --- a/en_US/developer/l10n.html +++ b/en_US/developer/l10n.html @@ -3,19 +3,20 @@ - Introduction | VitePress - - - - + Introduction | One Click Virtualization Project + + + + + - - + + -

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
- - +

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
+ + \ No newline at end of file diff --git a/en_US/guide/dashboard.html b/en_US/guide/dashboard.html index 18888bcc0b..f553a8e0c5 100644 --- a/en_US/guide/dashboard.html +++ b/en_US/guide/dashboard.html @@ -3,19 +3,20 @@ - 准备工作 | VitePress - - - - + 准备工作 | One Click Virtualization Project + + + + + - - + + -

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统



项目仓库

欢迎Star和Fork

PVE相关的各种一键脚本

https://github.com/spiritLHLS/pve

通过LXD/LXC命令批量或单独开设NAT服务器以及维护

https://github.com/spiritLHLS/lxc

通过docker批量或单独开设NAT服务器

https://github.com/spiritLHLS/docker

- - +

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统



项目仓库

欢迎Star和Fork

PVE相关的各种一键脚本

https://github.com/spiritLHLS/pve

通过LXD/LXC命令批量或单独开设NAT服务器以及维护

https://github.com/spiritLHLS/lxc

通过docker批量或单独开设NAT服务器

https://github.com/spiritLHLS/docker

+ + \ No newline at end of file diff --git a/en_US/guide/dashboardq.html b/en_US/guide/dashboardq.html index 2ed858b24c..4aa1cc992f 100644 --- a/en_US/guide/dashboardq.html +++ b/en_US/guide/dashboardq.html @@ -3,20 +3,21 @@ - VitePress - - - - + One Click Virtualization Project + + + + + - - + + -

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
-
- - + + + \ No newline at end of file diff --git a/en_US/guide/docker_build.html b/en_US/guide/docker_build.html index b4e733e76e..81cbbaaf0f 100644 --- a/en_US/guide/docker_build.html +++ b/en_US/guide/docker_build.html @@ -3,17 +3,18 @@ - 单独开设 | VitePress - - - - + 单独开设 | One Click Virtualization Project + + + + + - - + + -

单独开设

下载脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
+    

单独开设

下载脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
 

运行

./onedocker.sh name cpu memory password sshport startport endport system
 

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
./onedocker.sh test 1 512 123456 25000 34975 35000 debian
@@ -30,9 +31,9 @@
 

一行一个容器对应的信息

卸载所有docker容器和镜像

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
 rm -rf dclog
 ls
-
- - +
+ + \ No newline at end of file diff --git a/en_US/guide/docker_install.html b/en_US/guide/docker_install.html index 13ca4ccfa2..e21c77a9f3 100644 --- a/en_US/guide/docker_install.html +++ b/en_US/guide/docker_install.html @@ -3,21 +3,22 @@ - 环境预设 | VitePress - - - - + 环境预设 | One Click Virtualization Project + + + + + - - + + -

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
+    

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
-
- - +
+ + \ No newline at end of file diff --git a/en_US/guide/docker_precheck.html b/en_US/guide/docker_precheck.html index bb1f490004..c64366a51e 100644 --- a/en_US/guide/docker_precheck.html +++ b/en_US/guide/docker_precheck.html @@ -3,19 +3,20 @@ - 项目特点 | VitePress - - - - + 项目特点 | One Click Virtualization Project + + + + + - - + + -

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

- - +

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

+ + \ No newline at end of file diff --git a/en_US/guide/docker_qa.html b/en_US/guide/docker_qa.html index 61df8bdb21..f63e048d39 100644 --- a/en_US/guide/docker_qa.html +++ b/en_US/guide/docker_qa.html @@ -3,19 +3,20 @@ - VitePress - - - - + One Click Virtualization Project + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/en_US/guide/docker_thanks.html b/en_US/guide/docker_thanks.html index 6635c2b0dc..9c6bb29fa6 100644 --- a/en_US/guide/docker_thanks.html +++ b/en_US/guide/docker_thanks.html @@ -3,19 +3,20 @@ - VitePress - - - - + One Click Virtualization Project + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/en_US/guide/lxd_extra_config.html b/en_US/guide/lxd_extra_config.html index b9fa02b8aa..cddbf257da 100644 --- a/en_US/guide/lxd_extra_config.html +++ b/en_US/guide/lxd_extra_config.html @@ -3,17 +3,18 @@ - 自动配置IPV6地址 | VitePress - - - - + 自动配置IPV6地址 | One Click Virtualization Project + + + + + - - + + -

::tip 以下的配置安装会加重母鸡的负担,非必要不要安装 如果是个人使用,可忽略防滥用部分脚本的安装 ::

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
+    

::tip 以下的配置安装会加重母鸡的负担,非必要不要安装 如果是个人使用,可忽略防滥用部分脚本的安装 ::

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
 

自动为容器配置IPV6映射地址

bash build_ipv6_network.sh 容器名称
 

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash build_ipv6_network.sh test
@@ -37,9 +38,9 @@ systemctl daemon-reload
 
一键安装母鸡可视化操作的面板
  • (非必须,该面板只是为了方便可视化操作,没有也没问题)
  • 原作者仓库:跳转
lxc config set core.https_address [::]
 lxc config set core.trust_password some-secret-string
 snap install lxdmosaic
-

安装完毕后打开母鸡IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

- - +

安装完毕后打开母鸡IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

+ + \ No newline at end of file diff --git a/en_US/guide/lxd_install.html b/en_US/guide/lxd_install.html index 2532b89f2a..0897ca39a7 100644 --- a/en_US/guide/lxd_install.html +++ b/en_US/guide/lxd_install.html @@ -3,17 +3,18 @@ - 手动安装 | VitePress - - - - + 手动安装 | One Click Virtualization Project + + + + + - - + + -

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

apt update
+    

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable
 

开设虚拟内存SWAP

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh
@@ -27,9 +28,9 @@ snap install lxd
 export PATH=$PATH:/snap/bin
 

连接后再测试lxc命令是否有报错找不到

一键安装

::tip 如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本 且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死 ::

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器再次执行以加载含zfs的内核,一切以运行后命令行的提示为准

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh
-

例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

- - +

例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

+ + \ No newline at end of file diff --git a/en_US/guide/lxd_lxc.html b/en_US/guide/lxd_lxc.html index 39f774e40f..a0eaec0b4c 100644 --- a/en_US/guide/lxd_lxc.html +++ b/en_US/guide/lxd_lxc.html @@ -3,17 +3,18 @@ - 普通的批量版本 | VitePress - - - - + 普通的批量版本 | One Click Virtualization Project + + + + + - - + + -

普通的批量版本

开出的小鸡配置:

  • 1核256MB内存1GB硬盘限速250Mbps带宽
  • 带1个SSH端口,25个外网端口
  • 默认内存和硬盘大小

::tip lxc若命令无问题,执行初始化开小鸡,这一步最好放screen中后台挂起执行,开小鸡时长与你开几个和母鸡配置相关 ::

执行下面命令加载开机脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
+    

普通的批量版本

开出的小鸡配置:

  • 1核256MB内存1GB硬盘限速250Mbps带宽
  • 带1个SSH端口,25个外网端口
  • 默认内存和硬盘大小

::tip lxc若命令无问题,执行初始化开小鸡,这一步最好放screen中后台挂起执行,开小鸡时长与你开几个和母鸡配置相关 ::

执行下面命令加载开机脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
 

下面命令为开小鸡名字前缀为tj10个小鸡

./init.sh tj 10
 

有时候init.sh的运行路径有问题,此时建议前面加上sudo强制根目录执行

只有一个SSH端口的版本

开出的小鸡配置:

  • 1核128MB内存300MB硬盘限速200Mbps带宽
  • 只有一个SSH端口
  • 无法挂载warp

::tip lxc若命令无问题,执行初始化开小鸡,这一步最好放screen中后台挂起执行,开小鸡时长与你开几个和母鸡配置相关 ::

加载开机脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/least.sh -o least.sh && chmod +x least.sh && dos2unix least.sh
@@ -44,9 +45,9 @@
 

如果已通过以上方法生成过小鸡,还需要批量生成小鸡,可使用手动安装部分的脚本,但注意先删除测试小鸡再进行批量生成小鸡

删除测试小鸡

lxc delete -f test
 rm -rf test
 ls
-
- - +
+ + \ No newline at end of file diff --git a/en_US/guide/lxd_precheck.html b/en_US/guide/lxd_precheck.html index bbcc58b846..10b170a8b3 100644 --- a/en_US/guide/lxd_precheck.html +++ b/en_US/guide/lxd_precheck.html @@ -3,20 +3,21 @@ - 配置要求 | VitePress - - - - + 配置要求 | One Click Virtualization Project + + + + + - - + + -

配置要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐),系统越新越好
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置)

  • 一定要在 /root 的路径下运行本仓库脚本,且使用一键脚本不要删除路径下的ssh.shconfig.sh文件

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
-
- - +

配置要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐),系统越新越好
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置)

  • 一定要在 /root 的路径下运行本仓库脚本,且使用一键脚本不要删除路径下的ssh.shconfig.sh文件

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
+
+ + \ No newline at end of file diff --git a/en_US/guide/lxd_qa.html b/en_US/guide/lxd_qa.html index e5ee8ed2d4..045b93c06c 100644 --- a/en_US/guide/lxd_qa.html +++ b/en_US/guide/lxd_qa.html @@ -3,19 +3,20 @@ - 目前已验证可开带独立IPV6地址容器的VPS商家 | VitePress - - - - + 目前已验证可开带独立IPV6地址容器的VPS商家 | One Click Virtualization Project + + + + + - - + + -

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

- - + + + \ No newline at end of file diff --git a/en_US/guide/lxd_thanks.html b/en_US/guide/lxd_thanks.html index 7f2b99fa14..bb770228bc 100644 --- a/en_US/guide/lxd_thanks.html +++ b/en_US/guide/lxd_thanks.html @@ -3,19 +3,20 @@ - 致谢 | VitePress - - - - + 致谢 | One Click Virtualization Project + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/en_US/guide/pve_install.html b/en_US/guide/pve_install.html index 3907261d69..cb2653b0bc 100644 --- a/en_US/guide/pve_install.html +++ b/en_US/guide/pve_install.html @@ -3,25 +3,26 @@ - 一键安装PVE | VitePress - - - - + 一键安装PVE | One Click Virtualization Project + + + + + - - + + -

一键安装PVE

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x ::tip 建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版 ::
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • 已设置/etc/hosts为只读模式,避免重启后文件被覆写,如需修改请使用chattr -i /etc/hosts取消只读锁定,修改完毕请执行chattr +i /etc/hosts只读锁定
  • 检测/etc/cloud/cloud.cfg如果发现preserve_hostnamefalse,则改为true,同上,也用chattr命令进行了文件锁定避免重启覆盖设置
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源
  • 安装PVE开虚拟机需要的必备工具包
  • 替换apt源中的企业订阅为社区源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 检测/etc/resolv.conf是否为空,为空则设置检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
+    

一键安装PVE

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x ::tip 建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版 ::
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • 已设置/etc/hosts为只读模式,避免重启后文件被覆写,如需修改请使用chattr -i /etc/hosts取消只读锁定,修改完毕请执行chattr +i /etc/hosts只读锁定
  • 检测/etc/cloud/cloud.cfg如果发现preserve_hostnamefalse,则改为true,同上,也用chattr命令进行了文件锁定避免重启覆盖设置
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源
  • 安装PVE开虚拟机需要的必备工具包
  • 替换apt源中的企业订阅为社区源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 检测/etc/resolv.conf是否为空,为空则设置检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
 

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 检测AppArmor模块并试图安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设导致重启后root密码丢失
  • 执行完毕建议等待几分钟后再重启服务器,执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)
 

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)
 

自动配置宿主机的网关

::warning 使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等5分钟再执行本命令 这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行 ::

  • 创建vmbr0,母鸡允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持纯IPV4或双栈服务器,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 创建vmbr1(NAT网关)
  • 开NAT虚拟机时网关(IPV4)使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西
  • 想查看完整设置可以执行cat /etc/network/interfaces查看
  • 加载iptables并设置回源且允许NAT端口转发

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)
 

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)
-
- - +
+ + \ No newline at end of file diff --git a/en_US/guide/pve_kvm.html b/en_US/guide/pve_kvm.html index 82bb584827..967013e716 100644 --- a/en_US/guide/pve_kvm.html +++ b/en_US/guide/pve_kvm.html @@ -3,17 +3,18 @@ - 部分注意事项 | VitePress - - - - + 部分注意事项 | One Click Virtualization Project + + + + + - - + + -

部分注意事项

执行本项目的第一个检测环境的命令,展示如下


![coode](/images/pve_kvm/pve_kvm_1.png)

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置


![coode](/images/pve_kvm/pve_kvm_2.png)

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图


![coode](/images/pve_kvm/pve_kvm_3.png)

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

单独开设KVM虚拟化的VM

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存 ::tip 需要注意的是宿主机内存记得开点swap免得机器炸了开SWAP点我跳转 ::
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
+    

部分注意事项

执行本项目的第一个检测环境的命令,展示如下


![coode](/images/pve_kvm/pve_kvm_1.png)

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置


![coode](/images/pve_kvm/pve_kvm_2.png)

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图


![coode](/images/pve_kvm/pve_kvm_3.png)

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

单独开设KVM虚拟化的VM

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存 ::tip 需要注意的是宿主机内存记得开点swap免得机器炸了开SWAP点我跳转 ::
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
 

使用方法

  • 系统支持:详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀 ::tip 注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头 ::
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘
 

测试示例

  • 以下为开设的示例VM的信息:
    VMID - 102 SSH登录的用户名 - test1 SSH登录的密码 - 1234567 CPU核数 - 1
    内存大小 - 512MB 磁盘大小 - 10G
    SSH端口 - 40001 80端口 - 40002 443端口 - 40003 内外网映射端口一致的区间 - 50000到50025 系统 - ubuntu20 宿主机的存储盘 - local
./buildvm.sh 102 test1 1234567 1 512 10 40001 40002 40003 50000 50025 ubuntu20 local
@@ -39,9 +40,9 @@ systemctl restart networking.service
 

上述命令意义为开设一个带独立IPV4地址的虚拟机,VMID是152,用户名是test1,密码是1234567,CPU是1核,内存是1024MB,硬盘是10G,系统是Ubuntu20,存储盘是local盘也就是系统盘

删除示例

qm stop 152
 qm destroy 152
 rm -rf vm152
-
- - +
+ + \ No newline at end of file diff --git a/en_US/guide/pve_lxc.html b/en_US/guide/pve_lxc.html index 8989c4ea91..07a93d53ae 100644 --- a/en_US/guide/pve_lxc.html +++ b/en_US/guide/pve_lxc.html @@ -3,17 +3,18 @@ - 单独开设LXC虚拟化的CT | VitePress - - - - + 单独开设LXC虚拟化的CT | One Click Virtualization Project + + + + + - - + + -

单独开设LXC虚拟化的CT

::warning 初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG 开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断 ::

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
+    

单独开设LXC虚拟化的CT

::warning 初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG 开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断 ::

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
 

使用方法

  • 系统支持:debian10,debian11,ubuntu18,ubuntu20,ubuntu22,centos8,almalinux9等
  • 系统参数一律是小写的系统名字拼接版本号,具体可执行pveam available --section system查看可用的系统名字和版本号(注意脚本使用的参数只有小写的英文系统名字拼接版本号)
  • 其他系统可能支持可能不支持,自行测试
  • 默认用户名是root
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘
 

测试示例

  • 以下为开设的示例CT的信息:
    VMID - 102 SSH登录的用户名 - root SSH登录的密码 - 1234567 CPU核数 - 1
    内存大小 - 512MB 磁盘大小 - 5G
    SSH端口 - 20001 80端口 - 20002 443端口 - 20003 内外网映射端口一致的区间 - 30000到30025 系统 - debian11 宿主机的存储盘 - local
./buildct.sh 102 1234567 1 512 5 20001 20002 20003 30000 30025 debian11 local
@@ -32,9 +33,9 @@ iptables -t nat -F
 iptables -t filter -F
 service networking restart
 systemctl restart networking.service
-
- - +
+ + \ No newline at end of file diff --git a/en_US/guide/pve_precheck.html b/en_US/guide/pve_precheck.html index bb06f4343c..5880f5d081 100644 --- a/en_US/guide/pve_precheck.html +++ b/en_US/guide/pve_precheck.html @@ -3,21 +3,22 @@ - 系统要求与配置 | VitePress - - - - + 系统要求与配置 | One Click Virtualization Project + + + + + - - + + -

系统要求与配置

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+ ::tip 建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版 ::
  • 硬件要求:2核2G内存x86_64架构服务器硬盘至少20G ::warning 内存开点swap免得机器炸了开SWAP点我跳转 ::
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

遇到选项不会选的可无脑回车安装,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
+    

系统要求与配置

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+ ::tip 建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版 ::
  • 硬件要求:2核2G内存x86_64架构服务器硬盘至少20G ::warning 内存开点swap免得机器炸了开SWAP点我跳转 ::
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

遇到选项不会选的可无脑回车安装,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
 

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
-
- - +
+ + \ No newline at end of file diff --git a/en_US/guide/pve_qa.html b/en_US/guide/pve_qa.html index 75f9a99618..72fc1b77a6 100644 --- a/en_US/guide/pve_qa.html +++ b/en_US/guide/pve_qa.html @@ -3,19 +3,20 @@ - 目前已验证的VPS商家 | VitePress - - - - + 目前已验证的VPS商家 | One Click Virtualization Project + + + + + - - + + -

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

nocix 中的特价最低配15美元独服 (IPV6不自带,需要找客服要)

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

- - +

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

nocix 中的特价最低配15美元独服 (IPV6不自带,需要找客服要)

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

+ + \ No newline at end of file diff --git a/en_US/guide/pve_thanks.html b/en_US/guide/pve_thanks.html index 56f63b2fa6..cbb99fc772 100644 --- a/en_US/guide/pve_thanks.html +++ b/en_US/guide/pve_thanks.html @@ -3,19 +3,20 @@ - 致谢 | VitePress - - - - + 致谢 | One Click Virtualization Project + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/en_US/index.html b/en_US/index.html index 583a7ac63a..84eab28452 100644 --- a/en_US/index.html +++ b/en_US/index.html @@ -3,19 +3,20 @@ - VitePress - - - - + One Click Virtualization Project + + + + + - - + + -

One Click Virtualization Project

Open source, easy to use server virtualization project

One-Click Installation

Support one-click script installation, easy to use; based on Debian, Ubuntu long-term maintenance version development, try to ensure that the host system and development environment consistent

Comes with internal and external port forwarding

Support automatic intranet port forwarding, including TCP and UDP protocols

Batch Virtualization

Support for KVM, LXC, Docker virtualization batch opening of virtual machines (containers)

Self-limiting abuse

Partially virtualized containers/VMs have been masked and loaded with restrictions to avoid being used for abuse

Documentation has not been translated yet, waiting for translation.


This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Copyright © 2022-present Nezhahq

- - +

One Click Virtualization Project

Open source, easy to use server virtualization project

One-Click Installation

Support one-click script installation, easy to use; based on Debian, Ubuntu long-term maintenance version development, try to ensure that the host system and development environment consistent

Comes with internal and external port forwarding

Support automatic intranet port forwarding, including TCP and UDP protocols

Batch Virtualization

Support for KVM, LXC, Docker virtualization batch opening of virtual machines (containers)

Self-limiting abuse

Partially virtualized containers/VMs have been masked and loaded with restrictions to avoid being used for abuse

Documentation has not been translated yet, waiting for translation.


This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Copyright © 2022-present Nezhahq

+ + \ No newline at end of file diff --git a/guide/dashboard.html b/guide/dashboard.html index 42e854e1b5..225f5f571b 100644 --- a/guide/dashboard.html +++ b/guide/dashboard.html @@ -1,21 +1,22 @@ - + - 准备工作 | VitePress - - - - + 准备工作 | 一键虚拟化项目 + + + + + - - + + -

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统



项目仓库

欢迎Star和Fork

PVE相关的各种一键脚本

https://github.com/spiritLHLS/pve

通过LXD/LXC命令批量或单独开设NAT服务器以及维护

https://github.com/spiritLHLS/lxc

通过docker批量或单独开设NAT服务器

https://github.com/spiritLHLS/docker

- - +

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统



项目仓库

欢迎Star和Fork

PVE相关的各种一键脚本

https://github.com/spiritLHLS/pve

通过LXD/LXC命令批量或单独开设NAT服务器以及维护

https://github.com/spiritLHLS/lxc

通过docker批量或单独开设NAT服务器

https://github.com/spiritLHLS/docker

+ + \ No newline at end of file diff --git a/guide/dashboardq.html b/guide/dashboardq.html index 8a88829aed..78f48db61e 100644 --- a/guide/dashboardq.html +++ b/guide/dashboardq.html @@ -1,22 +1,23 @@ - + - VitePress - - - - + 一键虚拟化项目 + + + + + - - + + -

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
-
- - + + + \ No newline at end of file diff --git a/guide/docker_build.html b/guide/docker_build.html index 01aea855cf..2ab31d3093 100644 --- a/guide/docker_build.html +++ b/guide/docker_build.html @@ -1,19 +1,20 @@ - + - 单独开设 | VitePress - - - - + 单独开设 | 一键虚拟化项目 + + + + + - - + + -

单独开设

下载脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
+    

单独开设

下载脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
 

运行

./onedocker.sh name cpu memory password sshport startport endport system
 

目前system仅支持选择alpine或debian,默认是debian

示例

  • 以下为开设的示例容器的信息:
    容器名字 - test SSH登录的用户名 - root SSH登录的密码 - 123456 CPU核数 - 1
    内存大小 - 512MB SSH端口 - 25000 内外网映射端口一致的区间 - 34975到35000 系统 - debian
./onedocker.sh test 1 512 123456 25000 34975 35000 debian
@@ -30,9 +31,9 @@
 

一行一个容器对应的信息

卸载所有docker容器和镜像

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
 rm -rf dclog
 ls
-
- - +
+ + \ No newline at end of file diff --git a/guide/docker_install.html b/guide/docker_install.html index a7c6cc225a..397daf4b65 100644 --- a/guide/docker_install.html +++ b/guide/docker_install.html @@ -1,23 +1,24 @@ - + - 环境预设 | VitePress - - - - + 环境预设 | 一键虚拟化项目 + + + + + - - + + -

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
+    

环境预设

  • 检测环境
  • 安装docker
  • 下载预制脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
-
- - +
+ + \ No newline at end of file diff --git a/guide/docker_precheck.html b/guide/docker_precheck.html index 11550d366f..1334fcd6d5 100644 --- a/guide/docker_precheck.html +++ b/guide/docker_precheck.html @@ -1,21 +1,22 @@ - + - 项目特点 | VitePress - - - - + 项目特点 | 一键虚拟化项目 + + + + + - - + + -

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

- - +

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源

由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死 跳转

PS: 如果硬件资源只是好了一点,需要限制更多东西并需要配置IPV6独立地址和限制硬盘大小,可使用LXD批量开LXC虚拟化的容器 跳转

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

+ + \ No newline at end of file diff --git a/guide/docker_qa.html b/guide/docker_qa.html index c5ded6f4b9..d62a5c93a8 100644 --- a/guide/docker_qa.html +++ b/guide/docker_qa.html @@ -1,21 +1,22 @@ - + - VitePress - - - - + 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/guide/docker_thanks.html b/guide/docker_thanks.html index 2a5022745d..9cd423479b 100644 --- a/guide/docker_thanks.html +++ b/guide/docker_thanks.html @@ -1,21 +1,22 @@ - + - VitePress - - - - + 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/guide/lxd_extra_config.html b/guide/lxd_extra_config.html index c0f42ea42c..070ff337be 100644 --- a/guide/lxd_extra_config.html +++ b/guide/lxd_extra_config.html @@ -1,19 +1,20 @@ - + - 自动配置IPV6地址 | VitePress - - - - + 自动配置IPV6地址 | 一键虚拟化项目 + + + + + - - + + -

::tip 以下的配置安装会加重母鸡的负担,非必要不要安装 如果是个人使用,可忽略防滥用部分脚本的安装 ::

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
+    

::tip 以下的配置安装会加重母鸡的负担,非必要不要安装 如果是个人使用,可忽略防滥用部分脚本的安装 ::

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于母鸡有给IPV6子网且是/64的,且母鸡绑定了子网的第一个IP母鸡的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh
 

自动为容器配置IPV6映射地址

bash build_ipv6_network.sh 容器名称
 

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash build_ipv6_network.sh test
@@ -37,9 +38,9 @@ systemctl daemon-reload
 
一键安装母鸡可视化操作的面板
  • (非必须,该面板只是为了方便可视化操作,没有也没问题)
  • 原作者仓库:跳转
lxc config set core.https_address [::]
 lxc config set core.trust_password some-secret-string
 snap install lxdmosaic
-

安装完毕后打开母鸡IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

- - +

安装完毕后打开母鸡IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

+ + \ No newline at end of file diff --git a/guide/lxd_install.html b/guide/lxd_install.html index 7d31506486..092127b1ff 100644 --- a/guide/lxd_install.html +++ b/guide/lxd_install.html @@ -1,19 +1,20 @@ - + - 手动安装 | VitePress - - - - + 手动安装 | 一键虚拟化项目 + + + + + - - + + -

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

apt update
+    

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用后面的一键安装也行

关闭防火墙

apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable
 

开设虚拟内存SWAP

内存看你开多少小鸡,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh
@@ -27,9 +28,9 @@ snap install lxd
 export PATH=$PATH:/snap/bin
 

连接后再测试lxc命令是否有报错找不到

一键安装

::tip 如果是全新的服务器,务必保证apt update和apt install curl都无问题再执行本脚本 且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死 ::

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)

如果是Debian系的宿主机,务必在screen中执行本脚本,避免长期运行时SSH中断导致ZFS编译安装失败

这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的小鸡占的盘的大小的总和

环境安装过程中可能需要重启服务器再次执行以加载含zfs的内核,一切以运行后命令行的提示为准

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh
-

例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

- - +

例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

+ + \ No newline at end of file diff --git a/guide/lxd_lxc.html b/guide/lxd_lxc.html index 52c060e716..24c5d094f8 100644 --- a/guide/lxd_lxc.html +++ b/guide/lxd_lxc.html @@ -1,19 +1,20 @@ - + - 普通的批量版本 | VitePress - - - - + 普通的批量版本 | 一键虚拟化项目 + + + + + - - + + -

普通的批量版本

开出的小鸡配置:

  • 1核256MB内存1GB硬盘限速250Mbps带宽
  • 带1个SSH端口,25个外网端口
  • 默认内存和硬盘大小

::tip lxc若命令无问题,执行初始化开小鸡,这一步最好放screen中后台挂起执行,开小鸡时长与你开几个和母鸡配置相关 ::

执行下面命令加载开机脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
+    

普通的批量版本

开出的小鸡配置:

  • 1核256MB内存1GB硬盘限速250Mbps带宽
  • 带1个SSH端口,25个外网端口
  • 默认内存和硬盘大小

::tip lxc若命令无问题,执行初始化开小鸡,这一步最好放screen中后台挂起执行,开小鸡时长与你开几个和母鸡配置相关 ::

执行下面命令加载开机脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/init.sh -o init.sh && chmod +x init.sh && dos2unix init.sh
 

下面命令为开小鸡名字前缀为tj10个小鸡

./init.sh tj 10
 

有时候init.sh的运行路径有问题,此时建议前面加上sudo强制根目录执行

只有一个SSH端口的版本

开出的小鸡配置:

  • 1核128MB内存300MB硬盘限速200Mbps带宽
  • 只有一个SSH端口
  • 无法挂载warp

::tip lxc若命令无问题,执行初始化开小鸡,这一步最好放screen中后台挂起执行,开小鸡时长与你开几个和母鸡配置相关 ::

加载开机脚本

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/least.sh -o least.sh && chmod +x least.sh && dos2unix least.sh
@@ -44,9 +45,9 @@
 

如果已通过以上方法生成过小鸡,还需要批量生成小鸡,可使用手动安装部分的脚本,但注意先删除测试小鸡再进行批量生成小鸡

删除测试小鸡

lxc delete -f test
 rm -rf test
 ls
-
- - +
+ + \ No newline at end of file diff --git a/guide/lxd_precheck.html b/guide/lxd_precheck.html index 25628aedbd..ea46ca392d 100644 --- a/guide/lxd_precheck.html +++ b/guide/lxd_precheck.html @@ -1,22 +1,23 @@ - + - 配置要求 | VitePress - - - - + 配置要求 | 一键虚拟化项目 + + + + + - - + + -

配置要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐),系统越新越好
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置)

  • 一定要在 /root 的路径下运行本仓库脚本,且使用一键脚本不要删除路径下的ssh.shconfig.sh文件

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
-
- - +

配置要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐),系统越新越好
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,Debian无法使用zfs时自动切换别的存储类型

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是母鸡有IPV6子网,无IPV6地址则不配置)

  • 一定要在 /root 的路径下运行本仓库脚本,且使用一键脚本不要删除路径下的ssh.shconfig.sh文件

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测母鸡是否符合要求

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
+
+ + \ No newline at end of file diff --git a/guide/lxd_qa.html b/guide/lxd_qa.html index fd9067b324..7b5f00c80b 100644 --- a/guide/lxd_qa.html +++ b/guide/lxd_qa.html @@ -1,21 +1,22 @@ - + - 目前已验证可开带独立IPV6地址容器的VPS商家 | VitePress - - - - + 目前已验证可开带独立IPV6地址容器的VPS商家 | 一键虚拟化项目 + + + + + - - + + -

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

luxvps 中的 德国AMD 促销款

- - + + + \ No newline at end of file diff --git a/guide/lxd_thanks.html b/guide/lxd_thanks.html index cf34b866b3..05595aafaa 100644 --- a/guide/lxd_thanks.html +++ b/guide/lxd_thanks.html @@ -1,21 +1,22 @@ - + - 致谢 | VitePress - - - - + 致谢 | 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/guide/pve_install.html b/guide/pve_install.html index b2af503058..0b8dba9f22 100644 --- a/guide/pve_install.html +++ b/guide/pve_install.html @@ -1,27 +1,28 @@ - + - 一键安装PVE | VitePress - - - - + 一键安装PVE | 一键虚拟化项目 + + + + + - - + + -

一键安装PVE

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x ::tip 建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版 ::
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • 已设置/etc/hosts为只读模式,避免重启后文件被覆写,如需修改请使用chattr -i /etc/hosts取消只读锁定,修改完毕请执行chattr +i /etc/hosts只读锁定
  • 检测/etc/cloud/cloud.cfg如果发现preserve_hostnamefalse,则改为true,同上,也用chattr命令进行了文件锁定避免重启覆盖设置
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源
  • 安装PVE开虚拟机需要的必备工具包
  • 替换apt源中的企业订阅为社区源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 检测/etc/resolv.conf是否为空,为空则设置检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
+    

一键安装PVE

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x ::tip 建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版 ::
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • 已设置/etc/hosts为只读模式,避免重启后文件被覆写,如需修改请使用chattr -i /etc/hosts取消只读锁定,修改完毕请执行chattr +i /etc/hosts只读锁定
  • 检测/etc/cloud/cloud.cfg如果发现preserve_hostnamefalse,则改为true,同上,也用chattr命令进行了文件锁定避免重启覆盖设置
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源
  • 安装PVE开虚拟机需要的必备工具包
  • 替换apt源中的企业订阅为社区源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 检测/etc/resolv.conf是否为空,为空则设置检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh
 

预配置环境

  • 创建资源池mypool
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 检测AppArmor模块并试图安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设导致重启后root密码丢失
  • 执行完毕建议等待几分钟后再重启服务器,执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)
 

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_backend.sh)
 

自动配置宿主机的网关

::warning 使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等5分钟再执行本命令 这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行 ::

  • 创建vmbr0,母鸡允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持纯IPV4或双栈服务器,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 创建vmbr1(NAT网关)
  • 开NAT虚拟机时网关(IPV4)使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西
  • 想查看完整设置可以执行cat /etc/network/interfaces查看
  • 加载iptables并设置回源且允许NAT端口转发

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)
 

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/build_nat_network.sh)
-
- - +
+ + \ No newline at end of file diff --git a/guide/pve_kvm.html b/guide/pve_kvm.html index 07f2f67837..dde4189ce0 100644 --- a/guide/pve_kvm.html +++ b/guide/pve_kvm.html @@ -1,19 +1,20 @@ - + - 部分注意事项 | VitePress - - - - + 部分注意事项 | 一键虚拟化项目 + + + + + - - + + -

部分注意事项

执行本项目的第一个检测环境的命令,展示如下


![coode](/images/pve_kvm/pve_kvm_1.png)

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置


![coode](/images/pve_kvm/pve_kvm_2.png)

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图


![coode](/images/pve_kvm/pve_kvm_3.png)

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

单独开设KVM虚拟化的VM

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存 ::tip 需要注意的是宿主机内存记得开点swap免得机器炸了开SWAP点我跳转 ::
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
+    

部分注意事项

执行本项目的第一个检测环境的命令,展示如下


![coode](/images/pve_kvm/pve_kvm_1.png)

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置


![coode](/images/pve_kvm/pve_kvm_2.png)

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图


![coode](/images/pve_kvm/pve_kvm_3.png)

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

单独开设KVM虚拟化的VM

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存 ::tip 需要注意的是宿主机内存记得开点swap免得机器炸了开SWAP点我跳转 ::
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh
 

使用方法

  • 系统支持:详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀 ::tip 注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头 ::
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘
 

测试示例

  • 以下为开设的示例VM的信息:
    VMID - 102 SSH登录的用户名 - test1 SSH登录的密码 - 1234567 CPU核数 - 1
    内存大小 - 512MB 磁盘大小 - 10G
    SSH端口 - 40001 80端口 - 40002 443端口 - 40003 内外网映射端口一致的区间 - 50000到50025 系统 - ubuntu20 宿主机的存储盘 - local
./buildvm.sh 102 test1 1234567 1 512 10 40001 40002 40003 50000 50025 ubuntu20 local
@@ -39,9 +40,9 @@ systemctl restart networking.service
 

上述命令意义为开设一个带独立IPV4地址的虚拟机,VMID是152,用户名是test1,密码是1234567,CPU是1核,内存是1024MB,硬盘是10G,系统是Ubuntu20,存储盘是local盘也就是系统盘

删除示例

qm stop 152
 qm destroy 152
 rm -rf vm152
-
- - +
+ + \ No newline at end of file diff --git a/guide/pve_lxc.html b/guide/pve_lxc.html index 2836750e5a..477bd72dc4 100644 --- a/guide/pve_lxc.html +++ b/guide/pve_lxc.html @@ -1,19 +1,20 @@ - + - 单独开设LXC虚拟化的CT | VitePress - - - - + 单独开设LXC虚拟化的CT | 一键虚拟化项目 + + + + + - - + + -

单独开设LXC虚拟化的CT

::warning 初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG 开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断 ::

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
+    

单独开设LXC虚拟化的CT

::warning 初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG 开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断 ::

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看

国际

curl -L https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
 

国内

curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh
 

使用方法

  • 系统支持:debian10,debian11,ubuntu18,ubuntu20,ubuntu22,centos8,almalinux9等
  • 系统参数一律是小写的系统名字拼接版本号,具体可执行pveam available --section system查看可用的系统名字和版本号(注意脚本使用的参数只有小写的英文系统名字拼接版本号)
  • 其他系统可能支持可能不支持,自行测试
  • 默认用户名是root
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘
 

测试示例

  • 以下为开设的示例CT的信息:
    VMID - 102 SSH登录的用户名 - root SSH登录的密码 - 1234567 CPU核数 - 1
    内存大小 - 512MB 磁盘大小 - 5G
    SSH端口 - 20001 80端口 - 20002 443端口 - 20003 内外网映射端口一致的区间 - 30000到30025 系统 - debian11 宿主机的存储盘 - local
./buildct.sh 102 1234567 1 512 5 20001 20002 20003 30000 30025 debian11 local
@@ -32,9 +33,9 @@ iptables -t nat -F
 iptables -t filter -F
 service networking restart
 systemctl restart networking.service
-
- - +
+ + \ No newline at end of file diff --git a/guide/pve_precheck.html b/guide/pve_precheck.html index 3003ed809f..f3c3bcfdbe 100644 --- a/guide/pve_precheck.html +++ b/guide/pve_precheck.html @@ -1,23 +1,24 @@ - + - 系统要求与配置 | VitePress - - - - + 系统要求与配置 | 一键虚拟化项目 + + + + + - - + + -

系统要求与配置

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+ ::tip 建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版 ::
  • 硬件要求:2核2G内存x86_64架构服务器硬盘至少20G ::warning 内存开点swap免得机器炸了开SWAP点我跳转 ::
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

遇到选项不会选的可无脑回车安装,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
+    

系统要求与配置

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

非debian11可使用 debian一键升级 来升级系统

本项目只适配Debian系统(非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装)

  • 系统要求:Debian 8+ ::tip 建议debian11而不是debian12,因为后者是beta版本,debian11安装的才是稳定版 ::
  • 硬件要求:2核2G内存x86_64架构服务器硬盘至少20G ::warning 内存开点swap免得机器炸了开SWAP点我跳转 ::
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

遇到选项不会选的可无脑回车安装,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用LXD

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
 

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/pve/main/scripts/check_kernal.sh)
-
- - +
+ + \ No newline at end of file diff --git a/guide/pve_qa.html b/guide/pve_qa.html index 5d0696a15b..fee1431272 100644 --- a/guide/pve_qa.html +++ b/guide/pve_qa.html @@ -1,21 +1,22 @@ - + - 目前已验证的VPS商家 | VitePress - - - - + 目前已验证的VPS商家 | 一键虚拟化项目 + + + + + - - + + -

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

nocix 中的特价最低配15美元独服 (IPV6不自带,需要找客服要)

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

- - +

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

nocix 中的特价最低配15美元独服 (IPV6不自带,需要找客服要)

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

+ + \ No newline at end of file diff --git a/guide/pve_thanks.html b/guide/pve_thanks.html index 316ac3d79b..81c35a277a 100644 --- a/guide/pve_thanks.html +++ b/guide/pve_thanks.html @@ -1,21 +1,22 @@ - + - 致谢 | VitePress - - - - + 致谢 | 一键虚拟化项目 + + + + + - - + + - - - + + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index 445feb9ec5..d18c53a8d9 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"case_case1.md":"61133273","case_case2.md":"c284e629","case_case3.md":"c9037ace","case_case4.md":"b97ec17a","case_case5.md":"2482cf7f","case_index.md":"172adcc5","developer_index.md":"b4ded378","developer_l10n.md":"5e64432c","en_us_developer_index.md":"84968d9d","en_us_developer_l10n.md":"1406cb33","en_us_guide_dashboard.md":"776f7521","en_us_guide_dashboardq.md":"9313b6ab","en_us_guide_docker_build.md":"a3958b5b","en_us_guide_docker_install.md":"65657cc1","en_us_guide_docker_precheck.md":"a21b3d27","en_us_guide_docker_qa.md":"2bc94b80","en_us_guide_docker_thanks.md":"4954e2b0","en_us_guide_lxd_extra_config.md":"ab13be23","en_us_guide_lxd_install.md":"3b1437fa","en_us_guide_lxd_lxc.md":"cec1519c","en_us_guide_lxd_precheck.md":"514116ed","en_us_guide_lxd_qa.md":"f9aceed3","en_us_guide_lxd_thanks.md":"46c3821b","en_us_guide_pve_install.md":"aeb598a3","en_us_guide_pve_kvm.md":"95cd4241","en_us_guide_pve_lxc.md":"baede725","en_us_guide_pve_precheck.md":"d95eaa33","en_us_guide_pve_qa.md":"0da83905","en_us_guide_pve_thanks.md":"a5accea1","en_us_index.md":"2c2b8399","guide_dashboard.md":"5304a727","guide_dashboardq.md":"b22ef5f7","guide_docker_build.md":"67e775c7","guide_docker_install.md":"2224f066","guide_docker_precheck.md":"8f742c0d","guide_docker_qa.md":"e8440369","guide_docker_thanks.md":"b2b48697","guide_lxd_extra_config.md":"0a55dae0","guide_lxd_install.md":"45d5e313","guide_lxd_lxc.md":"892b1b02","guide_lxd_precheck.md":"bfec8cf7","guide_lxd_qa.md":"f169dc04","guide_lxd_thanks.md":"b1122287","guide_pve_install.md":"fa3f9115","guide_pve_kvm.md":"904469a4","guide_pve_lxc.md":"6f7e7612","guide_pve_precheck.md":"14adbdf0","guide_pve_qa.md":"5d2cb157","guide_pve_thanks.md":"4e26afdf","index.md":"7d39893c"} +{"case_case1.md":"740de63c","case_case2.md":"0b0ee127","case_case3.md":"e62edb3f","case_case4.md":"5a01526f","case_case5.md":"d1aa4655","case_index.md":"85b85980","developer_index.md":"c66db189","developer_l10n.md":"f0fc6662","en_us_developer_index.md":"a9235836","en_us_developer_l10n.md":"a7deae15","en_us_guide_dashboard.md":"7cfa9509","en_us_guide_dashboardq.md":"b34c11d2","en_us_guide_docker_build.md":"959a945f","en_us_guide_docker_install.md":"ebd72942","en_us_guide_docker_precheck.md":"8aab224e","en_us_guide_docker_qa.md":"4f0ddcb7","en_us_guide_docker_thanks.md":"c8514e62","en_us_guide_lxd_extra_config.md":"9cdfc4bd","en_us_guide_lxd_install.md":"0b435670","en_us_guide_lxd_lxc.md":"571b21ae","en_us_guide_lxd_precheck.md":"fde7ca82","en_us_guide_lxd_qa.md":"f9d8a0c4","en_us_guide_lxd_thanks.md":"46354b51","en_us_guide_pve_install.md":"06eaa0b3","en_us_guide_pve_kvm.md":"0ef150c6","en_us_guide_pve_lxc.md":"40762011","en_us_guide_pve_precheck.md":"5a79deef","en_us_guide_pve_qa.md":"0f20659c","en_us_guide_pve_thanks.md":"336148e9","en_us_index.md":"c8b31714","guide_dashboard.md":"58884d4e","guide_dashboardq.md":"edb9148f","guide_docker_build.md":"e4f909d3","guide_docker_install.md":"f78c3810","guide_docker_precheck.md":"2e8c5191","guide_docker_qa.md":"98b4d841","guide_docker_thanks.md":"98c9ec17","guide_lxd_extra_config.md":"fe5556ff","guide_lxd_install.md":"1e819d14","guide_lxd_lxc.md":"6a1e7015","guide_lxd_precheck.md":"4c9693fc","guide_lxd_qa.md":"b73b8998","guide_lxd_thanks.md":"09f84f58","guide_pve_install.md":"5ade25ff","guide_pve_kvm.md":"c0040096","guide_pve_lxc.md":"21f38578","guide_pve_precheck.md":"b3d96962","guide_pve_qa.md":"5d62d879","guide_pve_thanks.md":"f9ee17ac","index.md":"b861ea38"} diff --git a/index.html b/index.html index b04dcc70a6..803f3f5656 100644 --- a/index.html +++ b/index.html @@ -1,21 +1,22 @@ - + - VitePress - - - - + 一键虚拟化项目 + + + + + - - + + -

一键虚拟化项目

开源、易于使用的服务器虚拟化项目

一键安装

支持一键脚本安装,轻松使用;基于 Debian、Ubuntu 的长期维护版本开发,尽量保证宿主机系统与开发环境一致

自带内外网端口转发

支持自动的内网端口转发,含TCP、UDP协议

批量虚拟化

支持 KVM、LXC、Docker 虚拟化批量开设虚拟机(容器)

自限制滥用

部分虚拟化开设的容器/虚拟机已屏蔽和装载限制,避免被用于滥用

Copyright © 2023-present oneclickvirt

- - +

一键虚拟化项目

开源、易于使用的服务器虚拟化项目

一键安装

支持一键脚本安装,轻松使用;基于 Debian、Ubuntu 的长期维护版本开发,尽量保证宿主机系统与开发环境一致

自带内外网端口转发

支持自动的内网端口转发,含TCP、UDP协议

批量虚拟化

支持 KVM、LXC、Docker 虚拟化批量开设虚拟机(容器)

自限制滥用

部分虚拟化开设的容器/虚拟机已屏蔽和装载限制,避免被用于滥用

Copyright © 2023-present oneclickvirt

+ + \ No newline at end of file