diff --git a/assets/app.005aa5c6.js b/assets/app.5076e825.js similarity index 99% rename from assets/app.005aa5c6.js rename to assets/app.5076e825.js index b217c810f9..5f712fc869 100644 --- a/assets/app.005aa5c6.js +++ b/assets/app.5076e825.js @@ -1 +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}; +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.23cf8254.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/case_case1.md.b35a9d0b.js b/assets/case_case1.md.464c9b67.js similarity index 84% rename from assets/case_case1.md.b35a9d0b.js rename to assets/case_case1.md.464c9b67.js index c295d5302e..6cb92f51dd 100644 --- a/assets/case_case1.md.b35a9d0b.js +++ b/assets/case_case1.md.464c9b67.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as r,a as e,b as s}from"./app.5076e825.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","lastUpdated":1687065224000}',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.b35a9d0b.lean.js b/assets/case_case1.md.464c9b67.lean.js similarity index 84% rename from assets/case_case1.md.b35a9d0b.lean.js rename to assets/case_case1.md.464c9b67.lean.js index c295d5302e..6cb92f51dd 100644 --- a/assets/case_case1.md.b35a9d0b.lean.js +++ b/assets/case_case1.md.464c9b67.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as r,a as e,b as s}from"./app.5076e825.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case1.md","lastUpdated":1687065224000}',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.ccf2d8ba.lean.js b/assets/case_case2.md.f659267b.js similarity index 83% rename from assets/case_case2.md.ccf2d8ba.lean.js rename to assets/case_case2.md.f659267b.js index 6ecbd70631..ec52cd1fdb 100644 --- a/assets/case_case2.md.ccf2d8ba.lean.js +++ b/assets/case_case2.md.f659267b.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as r,a as e,b as s}from"./app.5076e825.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md","lastUpdated":1687065224000}',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.ccf2d8ba.js b/assets/case_case2.md.f659267b.lean.js similarity index 83% rename from assets/case_case2.md.ccf2d8ba.js rename to assets/case_case2.md.f659267b.lean.js index 6ecbd70631..ec52cd1fdb 100644 --- a/assets/case_case2.md.ccf2d8ba.js +++ b/assets/case_case2.md.f659267b.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as r,a as e,b as s}from"./app.5076e825.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case2.md","lastUpdated":1687065224000}',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_case3.md.9615e4f8.js b/assets/case_case3.md.a5ed63fc.js similarity index 84% rename from assets/case_case3.md.9615e4f8.js rename to assets/case_case3.md.a5ed63fc.js index 0f595a0abb..5bbb8ebf7d 100644 --- a/assets/case_case3.md.9615e4f8.js +++ b/assets/case_case3.md.a5ed63fc.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as s,a as e,b as r}from"./app.5076e825.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case3.md","lastUpdated":1687065224000}',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.9615e4f8.lean.js b/assets/case_case3.md.a5ed63fc.lean.js similarity index 84% rename from assets/case_case3.md.9615e4f8.lean.js rename to assets/case_case3.md.a5ed63fc.lean.js index 0f595a0abb..5bbb8ebf7d 100644 --- a/assets/case_case3.md.9615e4f8.lean.js +++ b/assets/case_case3.md.a5ed63fc.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as s,a as e,b as r}from"./app.5076e825.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case3.md","lastUpdated":1687065224000}',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.fc4c67a4.js b/assets/case_case4.md.17dcdc4a.js similarity index 84% rename from assets/case_case4.md.fc4c67a4.js rename to assets/case_case4.md.17dcdc4a.js index 4e27846505..1b0bde9d3d 100644 --- a/assets/case_case4.md.fc4c67a4.js +++ b/assets/case_case4.md.17dcdc4a.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as r,a as e,b as s}from"./app.5076e825.js";const v='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","lastUpdated":1687065224000}',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.fc4c67a4.lean.js b/assets/case_case4.md.17dcdc4a.lean.js similarity index 84% rename from assets/case_case4.md.fc4c67a4.lean.js rename to assets/case_case4.md.17dcdc4a.lean.js index 4e27846505..1b0bde9d3d 100644 --- a/assets/case_case4.md.fc4c67a4.lean.js +++ b/assets/case_case4.md.17dcdc4a.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as r,a as e,b as s}from"./app.5076e825.js";const v='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case4.md","lastUpdated":1687065224000}',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_case5.md.d6ca5a15.js b/assets/case_case5.md.e84eae11.js similarity index 84% rename from assets/case_case5.md.d6ca5a15.js rename to assets/case_case5.md.e84eae11.js index fd2c95a77d..b710c45c46 100644 --- a/assets/case_case5.md.d6ca5a15.js +++ b/assets/case_case5.md.e84eae11.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as r,a as e,b as s}from"./app.5076e825.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md","lastUpdated":1687065224000}',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.d6ca5a15.lean.js b/assets/case_case5.md.e84eae11.lean.js similarity index 84% rename from assets/case_case5.md.d6ca5a15.lean.js rename to assets/case_case5.md.e84eae11.lean.js index fd2c95a77d..b710c45c46 100644 --- a/assets/case_case5.md.d6ca5a15.lean.js +++ b/assets/case_case5.md.e84eae11.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as t,c as a,o as r,a as e,b as s}from"./app.5076e825.js";const b='{"title":"\u8BF4\u660E\u4E0E\u7528\u4F8B\u7A0D\u540E\u8865\u5145","description":"","frontmatter":{},"headers":[],"relativePath":"case/case5.md","lastUpdated":1687065224000}',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.9681a8bc.js b/assets/case_index.md.595db8bf.js similarity index 89% rename from assets/case_index.md.9681a8bc.js rename to assets/case_index.md.595db8bf.js index 48d1bf731b..9a71887f2e 100644 --- a/assets/case_index.md.9681a8bc.js +++ b/assets/case_index.md.595db8bf.js @@ -1 +1 @@ -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":1687065150000}',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}; +import{_ as a,c as s,o,a as e,b as t}from"./app.5076e825.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":1687065224000}',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.9681a8bc.lean.js b/assets/case_index.md.595db8bf.lean.js similarity index 89% rename from assets/case_index.md.9681a8bc.lean.js rename to assets/case_index.md.595db8bf.lean.js index 48d1bf731b..9a71887f2e 100644 --- a/assets/case_index.md.9681a8bc.lean.js +++ b/assets/case_index.md.595db8bf.lean.js @@ -1 +1 @@ -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":1687065150000}',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}; +import{_ as a,c as s,o,a as e,b as t}from"./app.5076e825.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":1687065224000}',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.23cf8254.js similarity index 99% rename from assets/chunks/AlgoliaSearchBox.c9a4bba4.js rename to assets/chunks/AlgoliaSearchBox.23cf8254.js index 5c294125fe..a4d8a32c47 100644 --- a/assets/chunks/AlgoliaSearchBox.c9a4bba4.js +++ b/assets/chunks/AlgoliaSearchBox.23cf8254.js @@ -1,4 +1,4 @@ -import{e as Sr,u as Er,f as wr,w as Ct,g as jr,h as Pr,o as Ir,c as kr,i as Cr}from"../app.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. +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.5076e825.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);n\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}; +import{_ as e,c as t,o,d as l}from"./app.5076e825.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":1687065224000}',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.f87dba7a.lean.js b/assets/developer_l10n.md.d72f407b.lean.js similarity index 75% rename from assets/developer_l10n.md.f87dba7a.lean.js rename to assets/developer_l10n.md.d72f407b.lean.js index e7866b00ae..149c4eb239 100644 --- a/assets/developer_l10n.md.f87dba7a.lean.js +++ b/assets/developer_l10n.md.d72f407b.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o,d as l}from"./app.5076e825.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":1687065224000}',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.9f088b13.js b/assets/en_US_developer_index.md.cd7f2bd3.js similarity index 85% rename from assets/en_US_developer_index.md.9f088b13.js rename to assets/en_US_developer_index.md.cd7f2bd3.js index c4f1748249..5dcc2a1061 100644 --- a/assets/en_US_developer_index.md.9f088b13.js +++ b/assets/en_US_developer_index.md.cd7f2bd3.js @@ -1 +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":1687065150000}',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}; +import{_ as o,c as n,o as a,a as e,b as t}from"./app.5076e825.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":1687065224000}',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.9f088b13.lean.js b/assets/en_US_developer_index.md.cd7f2bd3.lean.js similarity index 85% rename from assets/en_US_developer_index.md.9f088b13.lean.js rename to assets/en_US_developer_index.md.cd7f2bd3.lean.js index c4f1748249..5dcc2a1061 100644 --- a/assets/en_US_developer_index.md.9f088b13.lean.js +++ b/assets/en_US_developer_index.md.cd7f2bd3.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as o,c as n,o as a,a as e,b as t}from"./app.5076e825.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":1687065224000}',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.8778432d.js b/assets/en_US_developer_l10n.md.0e0532b0.js similarity index 91% rename from assets/en_US_developer_l10n.md.8778432d.js rename to assets/en_US_developer_l10n.md.0e0532b0.js index 6d4b48610b..8aed5e53ba 100644 --- a/assets/en_US_developer_l10n.md.8778432d.js +++ b/assets/en_US_developer_l10n.md.0e0532b0.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as n,d as o}from"./app.5076e825.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":1687065224000}',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.8778432d.lean.js b/assets/en_US_developer_l10n.md.0e0532b0.lean.js similarity index 74% rename from assets/en_US_developer_l10n.md.8778432d.lean.js rename to assets/en_US_developer_l10n.md.0e0532b0.lean.js index 4844054841..5cceff79c6 100644 --- a/assets/en_US_developer_l10n.md.8778432d.lean.js +++ b/assets/en_US_developer_l10n.md.0e0532b0.lean.js @@ -1 +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":1687065150000}',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.5076e825.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":1687065224000}',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.80786e60.js b/assets/en_US_guide_dashboard.md.b1f519e5.js similarity index 97% rename from assets/en_US_guide_dashboard.md.80786e60.js rename to assets/en_US_guide_dashboard.md.b1f519e5.js index 6e9836f104..bab6dc1d01 100644 --- a/assets/en_US_guide_dashboard.md.80786e60.js +++ b/assets/en_US_guide_dashboard.md.b1f519e5.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a,d as r}from"./app.5076e825.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":1687065224000}',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.80786e60.lean.js b/assets/en_US_guide_dashboard.md.b1f519e5.lean.js similarity index 88% rename from assets/en_US_guide_dashboard.md.80786e60.lean.js rename to assets/en_US_guide_dashboard.md.b1f519e5.lean.js index 44912e51a1..002c2207f5 100644 --- a/assets/en_US_guide_dashboard.md.80786e60.lean.js +++ b/assets/en_US_guide_dashboard.md.b1f519e5.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a,d as r}from"./app.5076e825.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":1687065224000}',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.c319162a.js b/assets/en_US_guide_dashboardq.md.bc47f945.js similarity index 70% rename from assets/en_US_guide_dashboardq.md.c319162a.js rename to assets/en_US_guide_dashboardq.md.bc47f945.js index a58dab8702..a483c8c8f6 100644 --- a/assets/en_US_guide_dashboardq.md.c319162a.js +++ b/assets/en_US_guide_dashboardq.md.bc47f945.js @@ -1,2 +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":1687065150000}',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 +import{_ as t,c as o,o as a,a as e}from"./app.5076e825.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1687065224000}',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.c319162a.lean.js b/assets/en_US_guide_dashboardq.md.bc47f945.lean.js similarity index 70% rename from assets/en_US_guide_dashboardq.md.c319162a.lean.js rename to assets/en_US_guide_dashboardq.md.bc47f945.lean.js index a58dab8702..a483c8c8f6 100644 --- a/assets/en_US_guide_dashboardq.md.c319162a.lean.js +++ b/assets/en_US_guide_dashboardq.md.bc47f945.lean.js @@ -1,2 +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":1687065150000}',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 +import{_ as t,c as o,o as a,a as e}from"./app.5076e825.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1687065224000}',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.cfd07182.js b/assets/en_US_guide_docker_build.md.15314b80.js similarity index 98% rename from assets/en_US_guide_docker_build.md.cfd07182.js rename to assets/en_US_guide_docker_build.md.15314b80.js index 788e1864b2..2b27ecf308 100644 --- a/assets/en_US_guide_docker_build.md.cfd07182.js +++ b/assets/en_US_guide_docker_build.md.15314b80.js @@ -1,4 +1,4 @@ -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":1687065150000}',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.5076e825.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":1687065224000}',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.cfd07182.lean.js b/assets/en_US_guide_docker_build.md.15314b80.lean.js
similarity index 86%
rename from assets/en_US_guide_docker_build.md.cfd07182.lean.js
rename to assets/en_US_guide_docker_build.md.15314b80.lean.js
index 9532a8f9e4..cd1ce155f4 100644
--- a/assets/en_US_guide_docker_build.md.cfd07182.lean.js
+++ b/assets/en_US_guide_docker_build.md.15314b80.lean.js
@@ -1 +1 @@
-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":1687065150000}',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.5076e825.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":1687065224000}',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.3d2b5094.js b/assets/en_US_guide_docker_install.md.1a814121.js
similarity index 91%
rename from assets/en_US_guide_docker_install.md.3d2b5094.js
rename to assets/en_US_guide_docker_install.md.1a814121.js
index 63d75db3fe..625b4b9f2f 100644
--- a/assets/en_US_guide_docker_install.md.3d2b5094.js
+++ b/assets/en_US_guide_docker_install.md.1a814121.js
@@ -1,3 +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":1687065150000}',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
+import{_ as s,c as a,o as e,d as n}from"./app.5076e825.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":1687065224000}',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.3d2b5094.lean.js b/assets/en_US_guide_docker_install.md.1a814121.lean.js similarity index 71% rename from assets/en_US_guide_docker_install.md.3d2b5094.lean.js rename to assets/en_US_guide_docker_install.md.1a814121.lean.js index 821913daff..eb6d8cd26a 100644 --- a/assets/en_US_guide_docker_install.md.3d2b5094.lean.js +++ b/assets/en_US_guide_docker_install.md.1a814121.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as s,c as a,o as e,d as n}from"./app.5076e825.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":1687065224000}',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.c79dc2ba.js b/assets/en_US_guide_docker_precheck.md.cb410444.js similarity index 96% rename from assets/en_US_guide_docker_precheck.md.c79dc2ba.js rename to assets/en_US_guide_docker_precheck.md.cb410444.js index 74efc19b0e..153afbf16d 100644 --- a/assets/en_US_guide_docker_precheck.md.c79dc2ba.js +++ b/assets/en_US_guide_docker_precheck.md.cb410444.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as a}from"./app.5076e825.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":1687065224000}',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.c79dc2ba.lean.js b/assets/en_US_guide_docker_precheck.md.cb410444.lean.js similarity index 75% rename from assets/en_US_guide_docker_precheck.md.c79dc2ba.lean.js rename to assets/en_US_guide_docker_precheck.md.cb410444.lean.js index 2bed8073e8..0f98d36263 100644 --- a/assets/en_US_guide_docker_precheck.md.c79dc2ba.lean.js +++ b/assets/en_US_guide_docker_precheck.md.cb410444.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as a}from"./app.5076e825.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":1687065224000}',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_qa.md.efc111fb.js b/assets/en_US_guide_docker_qa.md.aa5215d7.js similarity index 58% rename from assets/en_US_guide_docker_qa.md.efc111fb.js rename to assets/en_US_guide_docker_qa.md.aa5215d7.js index aa28e3dd98..762637733d 100644 --- a/assets/en_US_guide_docker_qa.md.efc111fb.js +++ b/assets/en_US_guide_docker_qa.md.aa5215d7.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a}from"./app.5076e825.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687065224000}',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.efc111fb.lean.js b/assets/en_US_guide_docker_qa.md.aa5215d7.lean.js similarity index 58% rename from assets/en_US_guide_docker_qa.md.efc111fb.lean.js rename to assets/en_US_guide_docker_qa.md.aa5215d7.lean.js index aa28e3dd98..762637733d 100644 --- a/assets/en_US_guide_docker_qa.md.efc111fb.lean.js +++ b/assets/en_US_guide_docker_qa.md.aa5215d7.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a}from"./app.5076e825.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687065224000}',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.304ae33e.js b/assets/en_US_guide_docker_thanks.md.8d283bb5.js similarity index 58% rename from assets/en_US_guide_docker_thanks.md.304ae33e.js rename to assets/en_US_guide_docker_thanks.md.8d283bb5.js index 1f88559b08..d30b7d6a71 100644 --- a/assets/en_US_guide_docker_thanks.md.304ae33e.js +++ b/assets/en_US_guide_docker_thanks.md.8d283bb5.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a}from"./app.5076e825.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","lastUpdated":1687065224000}',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.304ae33e.lean.js b/assets/en_US_guide_docker_thanks.md.8d283bb5.lean.js similarity index 58% rename from assets/en_US_guide_docker_thanks.md.304ae33e.lean.js rename to assets/en_US_guide_docker_thanks.md.8d283bb5.lean.js index 1f88559b08..d30b7d6a71 100644 --- a/assets/en_US_guide_docker_thanks.md.304ae33e.lean.js +++ b/assets/en_US_guide_docker_thanks.md.8d283bb5.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a}from"./app.5076e825.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_thanks.md","lastUpdated":1687065224000}',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.255b9fea.js b/assets/en_US_guide_lxd_extra_config.md.cf1a936b.js similarity index 98% rename from assets/en_US_guide_lxd_extra_config.md.255b9fea.js rename to assets/en_US_guide_lxd_extra_config.md.cf1a936b.js index cec3cea945..b5eaa95205 100644 --- a/assets/en_US_guide_lxd_extra_config.md.255b9fea.js +++ b/assets/en_US_guide_lxd_extra_config.md.cf1a936b.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,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":1687065150000}',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 a,o as n,d as e}from"./app.5076e825.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":1687065224000}',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.255b9fea.lean.js b/assets/en_US_guide_lxd_extra_config.md.cf1a936b.lean.js
similarity index 85%
rename from assets/en_US_guide_lxd_extra_config.md.255b9fea.lean.js
rename to assets/en_US_guide_lxd_extra_config.md.cf1a936b.lean.js
index 8c5f8928e4..2911e6bc48 100644
--- a/assets/en_US_guide_lxd_extra_config.md.255b9fea.lean.js
+++ b/assets/en_US_guide_lxd_extra_config.md.cf1a936b.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,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":1687065150000}',t={},o=e("",39),p=[o];function c(i,l,r,d,u,h){return n(),a("div",null,p)}var b=s(t,[["render",c]]);export{k as __pageData,b as default};
+import{_ as s,c as a,o as n,d as e}from"./app.5076e825.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":1687065224000}',t={},o=e("",39),p=[o];function c(i,l,r,d,u,h){return n(),a("div",null,p)}var b=s(t,[["render",c]]);export{k as __pageData,b as default};
diff --git a/assets/en_US_guide_lxd_install.md.74c4aa36.js b/assets/en_US_guide_lxd_install.md.9169786d.js
similarity index 98%
rename from assets/en_US_guide_lxd_install.md.74c4aa36.js
rename to assets/en_US_guide_lxd_install.md.9169786d.js
index ded3bff596..4b8fa1d4d0 100644
--- a/assets/en_US_guide_lxd_install.md.74c4aa36.js
+++ b/assets/en_US_guide_lxd_install.md.9169786d.js
@@ -1,4 +1,4 @@
-import{_ as a,c as s,o as n,d as p}from"./app.005aa5c6.js";const x='{"title":"LXD\u4E3B\u4F53\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":1687065150000}',e={},t=p(`

LXD\u4E3B\u4F53\u5B89\u88C5

\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.5076e825.js";const x='{"title":"LXD\u4E3B\u4F53\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":1687065224000}',e={},t=p(`

LXD\u4E3B\u4F53\u5B89\u88C5

\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
diff --git a/assets/en_US_guide_lxd_install.md.74c4aa36.lean.js b/assets/en_US_guide_lxd_install.md.9169786d.lean.js
similarity index 83%
rename from assets/en_US_guide_lxd_install.md.74c4aa36.lean.js
rename to assets/en_US_guide_lxd_install.md.9169786d.lean.js
index f147422953..6b38154780 100644
--- a/assets/en_US_guide_lxd_install.md.74c4aa36.lean.js
+++ b/assets/en_US_guide_lxd_install.md.9169786d.lean.js
@@ -1 +1 @@
-import{_ as a,c as s,o as n,d as p}from"./app.005aa5c6.js";const x='{"title":"LXD\u4E3B\u4F53\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":1687065150000}',e={},t=p("",41),o=[t];function l(c,i,r,d,h,u){return n(),s("div",null,o)}var g=a(e,[["render",l]]);export{x as __pageData,g as default};
+import{_ as a,c as s,o as n,d as p}from"./app.5076e825.js";const x='{"title":"LXD\u4E3B\u4F53\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":1687065224000}',e={},t=p("",41),o=[t];function l(c,i,r,d,h,u){return n(),s("div",null,o)}var g=a(e,[["render",l]]);export{x as __pageData,g as default};
diff --git a/assets/en_US_guide_lxd_lxc.md.35cf96ed.js b/assets/en_US_guide_lxd_lxc.md.06c3af1a.js
similarity index 99%
rename from assets/en_US_guide_lxd_lxc.md.35cf96ed.js
rename to assets/en_US_guide_lxd_lxc.md.06c3af1a.js
index ac953245fc..3c6a12891a 100644
--- a/assets/en_US_guide_lxd_lxc.md.35cf96ed.js
+++ b/assets/en_US_guide_lxd_lxc.md.06c3af1a.js
@@ -1,4 +1,4 @@
-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":1687065150000}',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.5076e825.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":1687065224000}',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.35cf96ed.lean.js b/assets/en_US_guide_lxd_lxc.md.06c3af1a.lean.js
similarity index 89%
rename from assets/en_US_guide_lxd_lxc.md.35cf96ed.lean.js
rename to assets/en_US_guide_lxd_lxc.md.06c3af1a.lean.js
index a5f12d8882..18b82c0fbd 100644
--- a/assets/en_US_guide_lxd_lxc.md.35cf96ed.lean.js
+++ b/assets/en_US_guide_lxd_lxc.md.06c3af1a.lean.js
@@ -1 +1 @@
-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":1687065150000}',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.5076e825.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":1687065224000}',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.fed3a2c3.js b/assets/en_US_guide_lxd_precheck.md.b4143f20.js
similarity index 97%
rename from assets/en_US_guide_lxd_precheck.md.fed3a2c3.js
rename to assets/en_US_guide_lxd_precheck.md.b4143f20.js
index f706be0c14..1139ae8228 100644
--- a/assets/en_US_guide_lxd_precheck.md.fed3a2c3.js
+++ b/assets/en_US_guide_lxd_precheck.md.b4143f20.js
@@ -1,2 +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":1687065150000}',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)
+import{_ as e,c as t,o as i,d as r}from"./app.5076e825.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":1687065224000}',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.fed3a2c3.lean.js b/assets/en_US_guide_lxd_precheck.md.b4143f20.lean.js similarity index 78% rename from assets/en_US_guide_lxd_precheck.md.fed3a2c3.lean.js rename to assets/en_US_guide_lxd_precheck.md.b4143f20.lean.js index 0ee74b8525..6a3c5b394e 100644 --- a/assets/en_US_guide_lxd_precheck.md.fed3a2c3.lean.js +++ b/assets/en_US_guide_lxd_precheck.md.b4143f20.lean.js @@ -1 +1 @@ -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":1687065150000}',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}; +import{_ as e,c as t,o as i,d as r}from"./app.5076e825.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":1687065224000}',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.faf6f802.js b/assets/en_US_guide_lxd_qa.md.39eb1b08.js similarity index 91% rename from assets/en_US_guide_lxd_qa.md.faf6f802.js rename to assets/en_US_guide_lxd_qa.md.39eb1b08.js index 120eff53b8..dec989377c 100644 --- a/assets/en_US_guide_lxd_qa.md.faf6f802.js +++ b/assets/en_US_guide_lxd_qa.md.39eb1b08.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as a,d as t}from"./app.5076e825.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":1687065224000}',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.faf6f802.lean.js b/assets/en_US_guide_lxd_qa.md.39eb1b08.lean.js similarity index 81% rename from assets/en_US_guide_lxd_qa.md.faf6f802.lean.js rename to assets/en_US_guide_lxd_qa.md.39eb1b08.lean.js index 970952df76..ba5ab9c03a 100644 --- a/assets/en_US_guide_lxd_qa.md.faf6f802.lean.js +++ b/assets/en_US_guide_lxd_qa.md.39eb1b08.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as a,d as t}from"./app.5076e825.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":1687065224000}',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.d6b56e9c.js b/assets/en_US_guide_lxd_thanks.md.d1dc07d9.js similarity index 94% rename from assets/en_US_guide_lxd_thanks.md.d6b56e9c.js rename to assets/en_US_guide_lxd_thanks.md.d1dc07d9.js index 795f1b501e..b2b3db7ca0 100644 --- a/assets/en_US_guide_lxd_thanks.md.d6b56e9c.js +++ b/assets/en_US_guide_lxd_thanks.md.d1dc07d9.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as n}from"./app.5076e825.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":1687065224000}',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.d6b56e9c.lean.js b/assets/en_US_guide_lxd_thanks.md.d1dc07d9.lean.js similarity index 68% rename from assets/en_US_guide_lxd_thanks.md.d6b56e9c.lean.js rename to assets/en_US_guide_lxd_thanks.md.d1dc07d9.lean.js index 8a11277742..0e62f88bba 100644 --- a/assets/en_US_guide_lxd_thanks.md.d6b56e9c.lean.js +++ b/assets/en_US_guide_lxd_thanks.md.d1dc07d9.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as n}from"./app.5076e825.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":1687065224000}',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_pve_install.md.f2cd16e7.js b/assets/en_US_guide_pve_install.md.a6e0856d.js similarity index 98% rename from assets/en_US_guide_pve_install.md.f2cd16e7.js rename to assets/en_US_guide_pve_install.md.a6e0856d.js index a6d1d21074..44a99d9854 100644 --- a/assets/en_US_guide_pve_install.md.f2cd16e7.js +++ b/assets/en_US_guide_pve_install.md.a6e0856d.js @@ -1,4 +1,4 @@ -import{_ as s,c as e,o as a,d as t}from"./app.005aa5c6.js";const k='{"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":1687065150000}',n={},c=t(`

\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 s,c as e,o as a,d as t}from"./app.5076e825.js";const k='{"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":1687065224000}',n={},c=t(`

\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.f2cd16e7.lean.js b/assets/en_US_guide_pve_install.md.a6e0856d.lean.js
similarity index 81%
rename from assets/en_US_guide_pve_install.md.f2cd16e7.lean.js
rename to assets/en_US_guide_pve_install.md.a6e0856d.lean.js
index 81ff82bb90..d23deaabcb 100644
--- a/assets/en_US_guide_pve_install.md.f2cd16e7.lean.js
+++ b/assets/en_US_guide_pve_install.md.a6e0856d.lean.js
@@ -1 +1 @@
-import{_ as s,c as e,o as a,d as t}from"./app.005aa5c6.js";const k='{"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":1687065150000}',n={},c=t("",22),o=[c];function p(i,l,r,d,h,u){return a(),e("div",null,o)}var m=s(n,[["render",p]]);export{k as __pageData,m as default};
+import{_ as s,c as e,o as a,d as t}from"./app.5076e825.js";const k='{"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":1687065224000}',n={},c=t("",22),o=[c];function p(i,l,r,d,h,u){return a(),e("div",null,o)}var m=s(n,[["render",p]]);export{k as __pageData,m as default};
diff --git a/assets/en_US_guide_pve_kvm.md.58716a98.js b/assets/en_US_guide_pve_kvm.md.d809b967.js
similarity index 99%
rename from assets/en_US_guide_pve_kvm.md.58716a98.js
rename to assets/en_US_guide_pve_kvm.md.d809b967.js
index 6d882330de..72a0c490b0 100644
--- a/assets/en_US_guide_pve_kvm.md.58716a98.js
+++ b/assets/en_US_guide_pve_kvm.md.d809b967.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,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":1687065150000}',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 s,c as a,o as e,d as n}from"./app.5076e825.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":1687065224000}',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.58716a98.lean.js b/assets/en_US_guide_pve_kvm.md.d809b967.lean.js
similarity index 86%
rename from assets/en_US_guide_pve_kvm.md.58716a98.lean.js
rename to assets/en_US_guide_pve_kvm.md.d809b967.lean.js
index 280ff5e078..925872cf37 100644
--- a/assets/en_US_guide_pve_kvm.md.58716a98.lean.js
+++ b/assets/en_US_guide_pve_kvm.md.d809b967.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,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":1687065150000}',t={},p=n("",63),l=[p];function o(i,c,r,d,u,m){return e(),a("div",null,l)}var k=s(t,[["render",o]]);export{v as __pageData,k as default};
+import{_ as s,c as a,o as e,d as n}from"./app.5076e825.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":1687065224000}',t={},p=n("",63),l=[p];function o(i,c,r,d,u,m){return e(),a("div",null,l)}var k=s(t,[["render",o]]);export{v as __pageData,k as default};
diff --git a/assets/en_US_guide_pve_lxc.md.412faf88.js b/assets/en_US_guide_pve_lxc.md.52f34863.js
similarity index 98%
rename from assets/en_US_guide_pve_lxc.md.412faf88.js
rename to assets/en_US_guide_pve_lxc.md.52f34863.js
index 8c74beb2c7..3991517c4a 100644
--- a/assets/en_US_guide_pve_lxc.md.412faf88.js
+++ b/assets/en_US_guide_pve_lxc.md.52f34863.js
@@ -1,4 +1,4 @@
-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":1687065150000}',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.5076e825.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":1687065224000}',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.412faf88.lean.js b/assets/en_US_guide_pve_lxc.md.52f34863.lean.js
similarity index 81%
rename from assets/en_US_guide_pve_lxc.md.412faf88.lean.js
rename to assets/en_US_guide_pve_lxc.md.52f34863.lean.js
index 8d357cadbe..c0b719288d 100644
--- a/assets/en_US_guide_pve_lxc.md.412faf88.lean.js
+++ b/assets/en_US_guide_pve_lxc.md.52f34863.lean.js
@@ -1 +1 @@
-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":1687065150000}',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.5076e825.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":1687065224000}',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.ded9d4bc.js b/assets/en_US_guide_pve_precheck.md.eb56bc09.js
similarity index 97%
rename from assets/en_US_guide_pve_precheck.md.ded9d4bc.js
rename to assets/en_US_guide_pve_precheck.md.eb56bc09.js
index d158fa5c48..8f825624a5 100644
--- a/assets/en_US_guide_pve_precheck.md.ded9d4bc.js
+++ b/assets/en_US_guide_pve_precheck.md.eb56bc09.js
@@ -1,3 +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":1687065150000}',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)
+import{_ as e,c as a,o as t,d as i}from"./app.5076e825.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":1687065224000}',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.ded9d4bc.lean.js b/assets/en_US_guide_pve_precheck.md.eb56bc09.lean.js similarity index 76% rename from assets/en_US_guide_pve_precheck.md.ded9d4bc.lean.js rename to assets/en_US_guide_pve_precheck.md.eb56bc09.lean.js index 8ac5d55e90..83f886e755 100644 --- a/assets/en_US_guide_pve_precheck.md.ded9d4bc.lean.js +++ b/assets/en_US_guide_pve_precheck.md.eb56bc09.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as a,o as t,d as i}from"./app.5076e825.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":1687065224000}',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_qa.md.433de163.js b/assets/en_US_guide_pve_qa.md.f449755b.js similarity index 96% rename from assets/en_US_guide_pve_qa.md.433de163.js rename to assets/en_US_guide_pve_qa.md.f449755b.js index e729eba5de..3f74c46147 100644 --- a/assets/en_US_guide_pve_qa.md.433de163.js +++ b/assets/en_US_guide_pve_qa.md.f449755b.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as a,d as t}from"./app.5076e825.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":1687065224000}',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.433de163.lean.js b/assets/en_US_guide_pve_qa.md.f449755b.lean.js similarity index 85% rename from assets/en_US_guide_pve_qa.md.433de163.lean.js rename to assets/en_US_guide_pve_qa.md.f449755b.lean.js index 8948095b2c..6458eefec4 100644 --- a/assets/en_US_guide_pve_qa.md.433de163.lean.js +++ b/assets/en_US_guide_pve_qa.md.f449755b.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as a,d as t}from"./app.5076e825.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":1687065224000}',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.eb40b4be.js b/assets/en_US_guide_pve_thanks.md.be5b0f57.js similarity index 92% rename from assets/en_US_guide_pve_thanks.md.eb40b4be.js rename to assets/en_US_guide_pve_thanks.md.be5b0f57.js index 3a3c10f237..ffdbd1db79 100644 --- a/assets/en_US_guide_pve_thanks.md.eb40b4be.js +++ b/assets/en_US_guide_pve_thanks.md.be5b0f57.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as a}from"./app.5076e825.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":1687065224000}',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.eb40b4be.lean.js b/assets/en_US_guide_pve_thanks.md.be5b0f57.lean.js similarity index 68% rename from assets/en_US_guide_pve_thanks.md.eb40b4be.lean.js rename to assets/en_US_guide_pve_thanks.md.be5b0f57.lean.js index 848c909e6b..a0e4c73aca 100644 --- a/assets/en_US_guide_pve_thanks.md.eb40b4be.lean.js +++ b/assets/en_US_guide_pve_thanks.md.be5b0f57.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as a}from"./app.5076e825.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":1687065224000}',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.bd58b003.js b/assets/en_US_index.md.dc147ac6.js similarity index 92% rename from assets/en_US_index.md.bd58b003.js rename to assets/en_US_index.md.dc147ac6.js index a75e877a74..5ac7d7272e 100644 --- a/assets/en_US_index.md.bd58b003.js +++ b/assets/en_US_index.md.dc147ac6.js @@ -1 +1 @@ -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":1687065150000}',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}; +import{_ as n,c as a,o,a as e,b as t}from"./app.5076e825.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":1687065224000}',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.bd58b003.lean.js b/assets/en_US_index.md.dc147ac6.lean.js similarity index 92% rename from assets/en_US_index.md.bd58b003.lean.js rename to assets/en_US_index.md.dc147ac6.lean.js index a75e877a74..5ac7d7272e 100644 --- a/assets/en_US_index.md.bd58b003.lean.js +++ b/assets/en_US_index.md.dc147ac6.lean.js @@ -1 +1 @@ -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":1687065150000}',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}; +import{_ as n,c as a,o,a as e,b as t}from"./app.5076e825.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":1687065224000}',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.239f4661.js b/assets/guide_dashboard.md.4c0d3ee5.js similarity index 97% rename from assets/guide_dashboard.md.239f4661.js rename to assets/guide_dashboard.md.4c0d3ee5.js index 6e9836f104..bab6dc1d01 100644 --- a/assets/guide_dashboard.md.239f4661.js +++ b/assets/guide_dashboard.md.4c0d3ee5.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a,d as r}from"./app.5076e825.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":1687065224000}',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.239f4661.lean.js b/assets/guide_dashboard.md.4c0d3ee5.lean.js similarity index 88% rename from assets/guide_dashboard.md.239f4661.lean.js rename to assets/guide_dashboard.md.4c0d3ee5.lean.js index 44912e51a1..002c2207f5 100644 --- a/assets/guide_dashboard.md.239f4661.lean.js +++ b/assets/guide_dashboard.md.4c0d3ee5.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a,d as r}from"./app.5076e825.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":1687065224000}',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.3e7b4bc2.js b/assets/guide_dashboardq.md.c9b22ee2.js similarity index 70% rename from assets/guide_dashboardq.md.3e7b4bc2.js rename to assets/guide_dashboardq.md.c9b22ee2.js index a58dab8702..a483c8c8f6 100644 --- a/assets/guide_dashboardq.md.3e7b4bc2.js +++ b/assets/guide_dashboardq.md.c9b22ee2.js @@ -1,2 +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":1687065150000}',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 +import{_ as t,c as o,o as a,a as e}from"./app.5076e825.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1687065224000}',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.3e7b4bc2.lean.js b/assets/guide_dashboardq.md.c9b22ee2.lean.js similarity index 70% rename from assets/guide_dashboardq.md.3e7b4bc2.lean.js rename to assets/guide_dashboardq.md.c9b22ee2.lean.js index a58dab8702..a483c8c8f6 100644 --- a/assets/guide_dashboardq.md.3e7b4bc2.lean.js +++ b/assets/guide_dashboardq.md.c9b22ee2.lean.js @@ -1,2 +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":1687065150000}',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 +import{_ as t,c as o,o as a,a as e}from"./app.5076e825.js";const k='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/dashboardq.md","lastUpdated":1687065224000}',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.85c51ac2.js b/assets/guide_docker_build.md.106c54b4.js similarity index 98% rename from assets/guide_docker_build.md.85c51ac2.js rename to assets/guide_docker_build.md.106c54b4.js index 788e1864b2..2b27ecf308 100644 --- a/assets/guide_docker_build.md.85c51ac2.js +++ b/assets/guide_docker_build.md.106c54b4.js @@ -1,4 +1,4 @@ -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":1687065150000}',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.5076e825.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":1687065224000}',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.85c51ac2.lean.js b/assets/guide_docker_build.md.106c54b4.lean.js
similarity index 86%
rename from assets/guide_docker_build.md.85c51ac2.lean.js
rename to assets/guide_docker_build.md.106c54b4.lean.js
index 9532a8f9e4..cd1ce155f4 100644
--- a/assets/guide_docker_build.md.85c51ac2.lean.js
+++ b/assets/guide_docker_build.md.106c54b4.lean.js
@@ -1 +1 @@
-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":1687065150000}',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.5076e825.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":1687065224000}',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.ef2e9070.js b/assets/guide_docker_install.md.8992ef86.js
similarity index 91%
rename from assets/guide_docker_install.md.ef2e9070.js
rename to assets/guide_docker_install.md.8992ef86.js
index 63d75db3fe..625b4b9f2f 100644
--- a/assets/guide_docker_install.md.ef2e9070.js
+++ b/assets/guide_docker_install.md.8992ef86.js
@@ -1,3 +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":1687065150000}',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
+import{_ as s,c as a,o as e,d as n}from"./app.5076e825.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":1687065224000}',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.ef2e9070.lean.js b/assets/guide_docker_install.md.8992ef86.lean.js similarity index 71% rename from assets/guide_docker_install.md.ef2e9070.lean.js rename to assets/guide_docker_install.md.8992ef86.lean.js index 821913daff..eb6d8cd26a 100644 --- a/assets/guide_docker_install.md.ef2e9070.lean.js +++ b/assets/guide_docker_install.md.8992ef86.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as s,c as a,o as e,d as n}from"./app.5076e825.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":1687065224000}',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.287ad5a3.js b/assets/guide_docker_precheck.md.5c4c8c21.js similarity index 96% rename from assets/guide_docker_precheck.md.287ad5a3.js rename to assets/guide_docker_precheck.md.5c4c8c21.js index 74efc19b0e..153afbf16d 100644 --- a/assets/guide_docker_precheck.md.287ad5a3.js +++ b/assets/guide_docker_precheck.md.5c4c8c21.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as a}from"./app.5076e825.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":1687065224000}',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.287ad5a3.lean.js b/assets/guide_docker_precheck.md.5c4c8c21.lean.js similarity index 75% rename from assets/guide_docker_precheck.md.287ad5a3.lean.js rename to assets/guide_docker_precheck.md.5c4c8c21.lean.js index 2bed8073e8..0f98d36263 100644 --- a/assets/guide_docker_precheck.md.287ad5a3.lean.js +++ b/assets/guide_docker_precheck.md.5c4c8c21.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as a}from"./app.5076e825.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":1687065224000}',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_qa.md.40742d7f.js b/assets/guide_docker_qa.md.2d48a79b.js similarity index 58% rename from assets/guide_docker_qa.md.40742d7f.js rename to assets/guide_docker_qa.md.2d48a79b.js index aa28e3dd98..762637733d 100644 --- a/assets/guide_docker_qa.md.40742d7f.js +++ b/assets/guide_docker_qa.md.2d48a79b.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a}from"./app.5076e825.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687065224000}',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.40742d7f.lean.js b/assets/guide_docker_qa.md.2d48a79b.lean.js similarity index 58% rename from assets/guide_docker_qa.md.40742d7f.lean.js rename to assets/guide_docker_qa.md.2d48a79b.lean.js index aa28e3dd98..762637733d 100644 --- a/assets/guide_docker_qa.md.40742d7f.lean.js +++ b/assets/guide_docker_qa.md.2d48a79b.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as t,o as a}from"./app.5076e825.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687065224000}',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.3ee23829.js b/assets/guide_docker_thanks.md.3ee23829.js deleted file mode 100644 index aa28e3dd98..0000000000 --- a/assets/guide_docker_thanks.md.3ee23829.js +++ /dev/null @@ -1 +0,0 @@ -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":1687065150000}',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.3ee23829.lean.js b/assets/guide_docker_thanks.md.3ee23829.lean.js deleted file mode 100644 index aa28e3dd98..0000000000 --- a/assets/guide_docker_thanks.md.3ee23829.lean.js +++ /dev/null @@ -1 +0,0 @@ -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":1687065150000}',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.88710ea9.js b/assets/guide_docker_thanks.md.88710ea9.js new file mode 100644 index 0000000000..762637733d --- /dev/null +++ b/assets/guide_docker_thanks.md.88710ea9.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.5076e825.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687065224000}',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.88710ea9.lean.js b/assets/guide_docker_thanks.md.88710ea9.lean.js new file mode 100644 index 0000000000..762637733d --- /dev/null +++ b/assets/guide_docker_thanks.md.88710ea9.lean.js @@ -0,0 +1 @@ +import{_ as e,c as t,o as a}from"./app.5076e825.js";const f='{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en_US/guide/docker_qa.md","lastUpdated":1687065224000}',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_lxd_extra_config.md.091b64fb.js b/assets/guide_lxd_extra_config.md.6c158f65.js similarity index 98% rename from assets/guide_lxd_extra_config.md.091b64fb.js rename to assets/guide_lxd_extra_config.md.6c158f65.js index d7654c424c..13b9dcd85f 100644 --- a/assets/guide_lxd_extra_config.md.091b64fb.js +++ b/assets/guide_lxd_extra_config.md.6c158f65.js @@ -1,4 +1,4 @@ -import{_ as s,c as a,o as n,d as e}from"./app.005aa5c6.js";const k='{"title":"\u5176\u4ED6\u81EA\u5B9A\u4E49\u914D\u7F6E","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":"guide/lxd_extra_config.md","lastUpdated":1687065150000}',t={},o=e(`

\u5176\u4ED6\u81EA\u5B9A\u4E49\u914D\u7F6E

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 a,o as n,d as e}from"./app.5076e825.js";const k='{"title":"\u5176\u4ED6\u81EA\u5B9A\u4E49\u914D\u7F6E","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":"guide/lxd_extra_config.md","lastUpdated":1687065224000}',t={},o=e(`

\u5176\u4ED6\u81EA\u5B9A\u4E49\u914D\u7F6E

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.091b64fb.lean.js b/assets/guide_lxd_extra_config.md.6c158f65.lean.js
similarity index 85%
rename from assets/guide_lxd_extra_config.md.091b64fb.lean.js
rename to assets/guide_lxd_extra_config.md.6c158f65.lean.js
index 3fa5a93d86..344db9d87d 100644
--- a/assets/guide_lxd_extra_config.md.091b64fb.lean.js
+++ b/assets/guide_lxd_extra_config.md.6c158f65.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,d as e}from"./app.005aa5c6.js";const k='{"title":"\u5176\u4ED6\u81EA\u5B9A\u4E49\u914D\u7F6E","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":"guide/lxd_extra_config.md","lastUpdated":1687065150000}',t={},o=e("",40),p=[o];function c(i,l,r,d,h,u){return n(),a("div",null,p)}var b=s(t,[["render",c]]);export{k as __pageData,b as default};
+import{_ as s,c as a,o as n,d as e}from"./app.5076e825.js";const k='{"title":"\u5176\u4ED6\u81EA\u5B9A\u4E49\u914D\u7F6E","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":"guide/lxd_extra_config.md","lastUpdated":1687065224000}',t={},o=e("",40),p=[o];function c(i,l,r,d,h,u){return n(),a("div",null,p)}var b=s(t,[["render",c]]);export{k as __pageData,b as default};
diff --git a/assets/guide_lxd_install.md.ea9931b2.js b/assets/guide_lxd_install.md.ec8da39d.js
similarity index 98%
rename from assets/guide_lxd_install.md.ea9931b2.js
rename to assets/guide_lxd_install.md.ec8da39d.js
index 9a0420b95a..7204accf8f 100644
--- a/assets/guide_lxd_install.md.ea9931b2.js
+++ b/assets/guide_lxd_install.md.ec8da39d.js
@@ -1,4 +1,4 @@
-import{_ as a,c as s,o as n,d as p}from"./app.005aa5c6.js";const x='{"title":"LXD\u4E3B\u4F53\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":"guide/lxd_install.md","lastUpdated":1687065150000}',e={},t=p(`

LXD\u4E3B\u4F53\u5B89\u88C5

\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.5076e825.js";const x='{"title":"LXD\u4E3B\u4F53\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":"guide/lxd_install.md","lastUpdated":1687065224000}',e={},t=p(`

LXD\u4E3B\u4F53\u5B89\u88C5

\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
diff --git a/assets/guide_lxd_install.md.ea9931b2.lean.js b/assets/guide_lxd_install.md.ec8da39d.lean.js
similarity index 83%
rename from assets/guide_lxd_install.md.ea9931b2.lean.js
rename to assets/guide_lxd_install.md.ec8da39d.lean.js
index 558af6efcd..463dceed33 100644
--- a/assets/guide_lxd_install.md.ea9931b2.lean.js
+++ b/assets/guide_lxd_install.md.ec8da39d.lean.js
@@ -1 +1 @@
-import{_ as a,c as s,o as n,d as p}from"./app.005aa5c6.js";const x='{"title":"LXD\u4E3B\u4F53\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":"guide/lxd_install.md","lastUpdated":1687065150000}',e={},t=p("",41),o=[t];function l(c,r,i,d,h,u){return n(),s("div",null,o)}var g=a(e,[["render",l]]);export{x as __pageData,g as default};
+import{_ as a,c as s,o as n,d as p}from"./app.5076e825.js";const x='{"title":"LXD\u4E3B\u4F53\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":"guide/lxd_install.md","lastUpdated":1687065224000}',e={},t=p("",41),o=[t];function l(c,r,i,d,h,u){return n(),s("div",null,o)}var g=a(e,[["render",l]]);export{x as __pageData,g as default};
diff --git a/assets/guide_lxd_lxc.md.31d16a8f.js b/assets/guide_lxd_lxc.md.754f1d2d.js
similarity index 99%
rename from assets/guide_lxd_lxc.md.31d16a8f.js
rename to assets/guide_lxd_lxc.md.754f1d2d.js
index 0831584286..1ebb067199 100644
--- a/assets/guide_lxd_lxc.md.31d16a8f.js
+++ b/assets/guide_lxd_lxc.md.754f1d2d.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as n,d as e}from"./app.005aa5c6.js";const m='{"title":"LXC\u865A\u62DF\u5316","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":"guide/lxd_lxc.md","lastUpdated":1687065150000}',p={},t=e(`

LXC\u865A\u62DF\u5316

\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.5076e825.js";const m='{"title":"LXC\u865A\u62DF\u5316","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":"guide/lxd_lxc.md","lastUpdated":1687065224000}',p={},t=e(`

LXC\u865A\u62DF\u5316

\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.31d16a8f.lean.js b/assets/guide_lxd_lxc.md.754f1d2d.lean.js
similarity index 89%
rename from assets/guide_lxd_lxc.md.31d16a8f.lean.js
rename to assets/guide_lxd_lxc.md.754f1d2d.lean.js
index a0f66c0e27..555af37dd7 100644
--- a/assets/guide_lxd_lxc.md.31d16a8f.lean.js
+++ b/assets/guide_lxd_lxc.md.754f1d2d.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as n,d as e}from"./app.005aa5c6.js";const m='{"title":"LXC\u865A\u62DF\u5316","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":"guide/lxd_lxc.md","lastUpdated":1687065150000}',p={},t=e("",73),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.5076e825.js";const m='{"title":"LXC\u865A\u62DF\u5316","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":"guide/lxd_lxc.md","lastUpdated":1687065224000}',p={},t=e("",73),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.b40edb8d.js b/assets/guide_lxd_precheck.md.3cc67d47.js
similarity index 97%
rename from assets/guide_lxd_precheck.md.b40edb8d.js
rename to assets/guide_lxd_precheck.md.3cc67d47.js
index f960e3547c..5463392138 100644
--- a/assets/guide_lxd_precheck.md.b40edb8d.js
+++ b/assets/guide_lxd_precheck.md.3cc67d47.js
@@ -1,3 +1,3 @@
-import{_ as e,c as t,o as r,d as i}from"./app.005aa5c6.js";const g='{"title":"\u7CFB\u7EDF\u4E0E\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u8981\u6C42","slug":"\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":"guide/lxd_precheck.md","lastUpdated":1687065150000}',a={},c=i(`

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

\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

\u56FD\u9645

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
+import{_ as e,c as t,o as r,d as i}from"./app.5076e825.js";const g='{"title":"\u7CFB\u7EDF\u4E0E\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u8981\u6C42","slug":"\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":"guide/lxd_precheck.md","lastUpdated":1687065224000}',a={},c=i(`

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

\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

\u56FD\u9645

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

\u56FD\u5185

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/lxc/main/scripts/pre_check.sh)
 
`,14),l=[c];function o(s,d,p,n,h,_){return r(),t("div",null,l)}var b=e(a,[["render",o]]);export{g as __pageData,b as default}; diff --git a/assets/guide_lxd_precheck.md.b40edb8d.lean.js b/assets/guide_lxd_precheck.md.3cc67d47.lean.js similarity index 78% rename from assets/guide_lxd_precheck.md.b40edb8d.lean.js rename to assets/guide_lxd_precheck.md.3cc67d47.lean.js index 8c0012220e..9f695ac339 100644 --- a/assets/guide_lxd_precheck.md.b40edb8d.lean.js +++ b/assets/guide_lxd_precheck.md.3cc67d47.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as r,d as i}from"./app.005aa5c6.js";const g='{"title":"\u7CFB\u7EDF\u4E0E\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u8981\u6C42","slug":"\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":"guide/lxd_precheck.md","lastUpdated":1687065150000}',a={},c=i("",14),l=[c];function o(s,d,p,n,h,_){return r(),t("div",null,l)}var b=e(a,[["render",o]]);export{g as __pageData,b as default}; +import{_ as e,c as t,o as r,d as i}from"./app.5076e825.js";const g='{"title":"\u7CFB\u7EDF\u4E0E\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","description":"","frontmatter":{},"headers":[{"level":2,"title":"\u8981\u6C42","slug":"\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":"guide/lxd_precheck.md","lastUpdated":1687065224000}',a={},c=i("",14),l=[c];function o(s,d,p,n,h,_){return r(),t("div",null,l)}var b=e(a,[["render",o]]);export{g as __pageData,b as default}; diff --git a/assets/guide_lxd_qa.md.7358d3a1.js b/assets/guide_lxd_qa.md.423de60e.js similarity index 91% rename from assets/guide_lxd_qa.md.7358d3a1.js rename to assets/guide_lxd_qa.md.423de60e.js index 120eff53b8..dec989377c 100644 --- a/assets/guide_lxd_qa.md.7358d3a1.js +++ b/assets/guide_lxd_qa.md.423de60e.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as a,d as t}from"./app.5076e825.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":1687065224000}',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.7358d3a1.lean.js b/assets/guide_lxd_qa.md.423de60e.lean.js similarity index 81% rename from assets/guide_lxd_qa.md.7358d3a1.lean.js rename to assets/guide_lxd_qa.md.423de60e.lean.js index 970952df76..ba5ab9c03a 100644 --- a/assets/guide_lxd_qa.md.7358d3a1.lean.js +++ b/assets/guide_lxd_qa.md.423de60e.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as a,d as t}from"./app.5076e825.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":1687065224000}',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_thanks.md.17cd6432.js b/assets/guide_lxd_thanks.md.846dd63e.js similarity index 94% rename from assets/guide_lxd_thanks.md.17cd6432.js rename to assets/guide_lxd_thanks.md.846dd63e.js index 795f1b501e..b2b3db7ca0 100644 --- a/assets/guide_lxd_thanks.md.17cd6432.js +++ b/assets/guide_lxd_thanks.md.846dd63e.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as n}from"./app.5076e825.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":1687065224000}',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.17cd6432.lean.js b/assets/guide_lxd_thanks.md.846dd63e.lean.js similarity index 68% rename from assets/guide_lxd_thanks.md.17cd6432.lean.js rename to assets/guide_lxd_thanks.md.846dd63e.lean.js index 8a11277742..0e62f88bba 100644 --- a/assets/guide_lxd_thanks.md.17cd6432.lean.js +++ b/assets/guide_lxd_thanks.md.846dd63e.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as n}from"./app.5076e825.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":1687065224000}',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_pve_install.md.57c99269.js b/assets/guide_pve_install.md.ccd029d2.js similarity index 98% rename from assets/guide_pve_install.md.57c99269.js rename to assets/guide_pve_install.md.ccd029d2.js index 904e59f829..2409c30443 100644 --- a/assets/guide_pve_install.md.57c99269.js +++ b/assets/guide_pve_install.md.ccd029d2.js @@ -1,4 +1,4 @@ -import{_ as s,c as e,o as a,d as t}from"./app.005aa5c6.js";const k='{"title":"PVE\u4E3B\u4F53\u5B89\u88C5","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":"guide/pve_install.md","lastUpdated":1687065150000}',n={},c=t(`

PVE\u4E3B\u4F53\u5B89\u88C5

\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 s,c as e,o as a,d as t}from"./app.5076e825.js";const k='{"title":"PVE\u4E3B\u4F53\u5B89\u88C5","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":"guide/pve_install.md","lastUpdated":1687065224000}',n={},c=t(`

PVE\u4E3B\u4F53\u5B89\u88C5

\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.57c99269.lean.js b/assets/guide_pve_install.md.ccd029d2.lean.js
similarity index 81%
rename from assets/guide_pve_install.md.57c99269.lean.js
rename to assets/guide_pve_install.md.ccd029d2.lean.js
index d097fa494f..bfef46140d 100644
--- a/assets/guide_pve_install.md.57c99269.lean.js
+++ b/assets/guide_pve_install.md.ccd029d2.lean.js
@@ -1 +1 @@
-import{_ as s,c as e,o as a,d as t}from"./app.005aa5c6.js";const k='{"title":"PVE\u4E3B\u4F53\u5B89\u88C5","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":"guide/pve_install.md","lastUpdated":1687065150000}',n={},c=t("",23),o=[c];function p(i,l,r,d,h,u){return a(),e("div",null,o)}var m=s(n,[["render",p]]);export{k as __pageData,m as default};
+import{_ as s,c as e,o as a,d as t}from"./app.5076e825.js";const k='{"title":"PVE\u4E3B\u4F53\u5B89\u88C5","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":"guide/pve_install.md","lastUpdated":1687065224000}',n={},c=t("",23),o=[c];function p(i,l,r,d,h,u){return a(),e("div",null,o)}var m=s(n,[["render",p]]);export{k as __pageData,m as default};
diff --git a/assets/guide_pve_kvm.md.771a6710.js b/assets/guide_pve_kvm.md.e9d9ae10.js
similarity index 99%
rename from assets/guide_pve_kvm.md.771a6710.js
rename to assets/guide_pve_kvm.md.e9d9ae10.js
index 16560995c7..c2a04d3663 100644
--- a/assets/guide_pve_kvm.md.771a6710.js
+++ b/assets/guide_pve_kvm.md.e9d9ae10.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const v='{"title":"KVM\u865A\u62DF\u5316","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":"guide/pve_kvm.md","lastUpdated":1687065150000}',t={},l=n(`

KVM\u865A\u62DF\u5316

\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

\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

\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

\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 s,c as a,o as e,d as n}from"./app.5076e825.js";const v='{"title":"KVM\u865A\u62DF\u5316","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":"guide/pve_kvm.md","lastUpdated":1687065224000}',t={},l=n(`

KVM\u865A\u62DF\u5316

\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

\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

\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

\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.771a6710.lean.js b/assets/guide_pve_kvm.md.e9d9ae10.lean.js
similarity index 86%
rename from assets/guide_pve_kvm.md.771a6710.lean.js
rename to assets/guide_pve_kvm.md.e9d9ae10.lean.js
index 2c468e7a01..bb86c7ed78 100644
--- a/assets/guide_pve_kvm.md.771a6710.lean.js
+++ b/assets/guide_pve_kvm.md.e9d9ae10.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const v='{"title":"KVM\u865A\u62DF\u5316","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":"guide/pve_kvm.md","lastUpdated":1687065150000}',t={},l=n("",59),p=[l];function i(c,o,r,d,u,m){return e(),a("div",null,p)}var k=s(t,[["render",i]]);export{v as __pageData,k as default};
+import{_ as s,c as a,o as e,d as n}from"./app.5076e825.js";const v='{"title":"KVM\u865A\u62DF\u5316","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":"guide/pve_kvm.md","lastUpdated":1687065224000}',t={},l=n("",59),p=[l];function i(c,o,r,d,u,m){return e(),a("div",null,p)}var k=s(t,[["render",i]]);export{v as __pageData,k as default};
diff --git a/assets/guide_pve_lxc.md.3bfcb53e.js b/assets/guide_pve_lxc.md.8404f1df.js
similarity index 98%
rename from assets/guide_pve_lxc.md.3bfcb53e.js
rename to assets/guide_pve_lxc.md.8404f1df.js
index 5aa3815800..4e27978286 100644
--- a/assets/guide_pve_lxc.md.3bfcb53e.js
+++ b/assets/guide_pve_lxc.md.8404f1df.js
@@ -1,4 +1,4 @@
-import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"LXC\u865A\u62DF\u5316","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":"guide/pve_lxc.md","lastUpdated":1687065150000}',t={},c=n(`

LXC\u865A\u62DF\u5316

\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

TIP

\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.5076e825.js";const m='{"title":"LXC\u865A\u62DF\u5316","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":"guide/pve_lxc.md","lastUpdated":1687065224000}',t={},c=n(`

LXC\u865A\u62DF\u5316

\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

TIP

\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.3bfcb53e.lean.js b/assets/guide_pve_lxc.md.8404f1df.lean.js
similarity index 80%
rename from assets/guide_pve_lxc.md.3bfcb53e.lean.js
rename to assets/guide_pve_lxc.md.8404f1df.lean.js
index bb5f77b557..c2ce8337a0 100644
--- a/assets/guide_pve_lxc.md.3bfcb53e.lean.js
+++ b/assets/guide_pve_lxc.md.8404f1df.lean.js
@@ -1 +1 @@
-import{_ as s,c as a,o as e,d as n}from"./app.005aa5c6.js";const m='{"title":"LXC\u865A\u62DF\u5316","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":"guide/pve_lxc.md","lastUpdated":1687065150000}',t={},c=n("",30),l=[c];function o(i,p,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.5076e825.js";const m='{"title":"LXC\u865A\u62DF\u5316","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":"guide/pve_lxc.md","lastUpdated":1687065224000}',t={},c=n("",30),l=[c];function o(i,p,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.d052b83f.js b/assets/guide_pve_precheck.md.3649be81.js
similarity index 97%
rename from assets/guide_pve_precheck.md.d052b83f.js
rename to assets/guide_pve_precheck.md.3649be81.js
index 64abc0335f..327c89df8f 100644
--- a/assets/guide_pve_precheck.md.d052b83f.js
+++ b/assets/guide_pve_precheck.md.3649be81.js
@@ -1,3 +1,3 @@
-import{_ as e,c as t,o as a,d as i}from"./app.005aa5c6.js";const b='{"title":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","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":"guide/pve_precheck.md","lastUpdated":1687065150000}',r={},l=i(`

\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42

\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)
+import{_ as e,c as t,o as a,d as i}from"./app.5076e825.js";const b='{"title":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","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":"guide/pve_precheck.md","lastUpdated":1687065224000}',r={},l=i(`

\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42

\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)
 
`,17),c=[l];function n(s,p,o,d,h,_){return a(),t("div",null,c)}var g=e(r,[["render",n]]);export{b as __pageData,g as default}; diff --git a/assets/guide_pve_precheck.md.d052b83f.lean.js b/assets/guide_pve_precheck.md.3649be81.lean.js similarity index 76% rename from assets/guide_pve_precheck.md.d052b83f.lean.js rename to assets/guide_pve_precheck.md.3649be81.lean.js index f9589e4ebd..d6e276169c 100644 --- a/assets/guide_pve_precheck.md.d052b83f.lean.js +++ b/assets/guide_pve_precheck.md.3649be81.lean.js @@ -1 +1 @@ -import{_ as e,c as t,o as a,d as i}from"./app.005aa5c6.js";const b='{"title":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","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":"guide/pve_precheck.md","lastUpdated":1687065150000}',r={},l=i("",17),c=[l];function n(s,p,o,d,h,_){return a(),t("div",null,c)}var g=e(r,[["render",n]]);export{b as __pageData,g as default}; +import{_ as e,c as t,o as a,d as i}from"./app.5076e825.js";const b='{"title":"\u7CFB\u7EDF\u548C\u786C\u4EF6\u914D\u7F6E\u8981\u6C42","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":"guide/pve_precheck.md","lastUpdated":1687065224000}',r={},l=i("",17),c=[l];function n(s,p,o,d,h,_){return a(),t("div",null,c)}var g=e(r,[["render",n]]);export{b as __pageData,g as default}; diff --git a/assets/guide_pve_qa.md.00601028.js b/assets/guide_pve_qa.md.a7010c33.js similarity index 96% rename from assets/guide_pve_qa.md.00601028.js rename to assets/guide_pve_qa.md.a7010c33.js index e729eba5de..3f74c46147 100644 --- a/assets/guide_pve_qa.md.00601028.js +++ b/assets/guide_pve_qa.md.a7010c33.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as a,d as t}from"./app.5076e825.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":1687065224000}',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.00601028.lean.js b/assets/guide_pve_qa.md.a7010c33.lean.js similarity index 85% rename from assets/guide_pve_qa.md.00601028.lean.js rename to assets/guide_pve_qa.md.a7010c33.lean.js index 8948095b2c..6458eefec4 100644 --- a/assets/guide_pve_qa.md.00601028.lean.js +++ b/assets/guide_pve_qa.md.a7010c33.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as a,d as t}from"./app.5076e825.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":1687065224000}',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.e71edfa6.js b/assets/guide_pve_thanks.md.edc35eec.js similarity index 92% rename from assets/guide_pve_thanks.md.e71edfa6.js rename to assets/guide_pve_thanks.md.edc35eec.js index 3a3c10f237..ffdbd1db79 100644 --- a/assets/guide_pve_thanks.md.e71edfa6.js +++ b/assets/guide_pve_thanks.md.edc35eec.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as a}from"./app.5076e825.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":1687065224000}',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.e71edfa6.lean.js b/assets/guide_pve_thanks.md.edc35eec.lean.js similarity index 68% rename from assets/guide_pve_thanks.md.e71edfa6.lean.js rename to assets/guide_pve_thanks.md.edc35eec.lean.js index 848c909e6b..a0e4c73aca 100644 --- a/assets/guide_pve_thanks.md.e71edfa6.lean.js +++ b/assets/guide_pve_thanks.md.edc35eec.lean.js @@ -1 +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":1687065150000}',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}; +import{_ as e,c as r,o as t,d as a}from"./app.5076e825.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":1687065224000}',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.25709e5b.js b/assets/index.md.0c8813be.js similarity index 93% rename from assets/index.md.25709e5b.js rename to assets/index.md.0c8813be.js index 9d722ac3de..e91c9c0ee8 100644 --- a/assets/index.md.25709e5b.js +++ b/assets/index.md.0c8813be.js @@ -1 +1 @@ -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\u8BF7\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":1687065150000}',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}; +import{_ as a,c as o,o as s,a as e,b as t}from"./app.5076e825.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\u8BF7\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":1687065224000}',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.25709e5b.lean.js b/assets/index.md.0c8813be.lean.js similarity index 93% rename from assets/index.md.25709e5b.lean.js rename to assets/index.md.0c8813be.lean.js index 9d722ac3de..e91c9c0ee8 100644 --- a/assets/index.md.25709e5b.lean.js +++ b/assets/index.md.0c8813be.lean.js @@ -1 +1 @@ -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\u8BF7\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":1687065150000}',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}; +import{_ as a,c as o,o as s,a as e,b as t}from"./app.5076e825.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\u8BF7\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":1687065224000}',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/case/case1.html b/case/case1.html index 09edff4f8e..48c3e90729 100644 --- a/case/case1.html +++ b/case/case1.html @@ -6,17 +6,17 @@ 说明与用例稍后补充 | 一键虚拟化项目 - - - + + + - - + + \ No newline at end of file diff --git a/case/case2.html b/case/case2.html index 435d3e0046..5fe0c4efeb 100644 --- a/case/case2.html +++ b/case/case2.html @@ -6,17 +6,17 @@ 说明与用例稍后补充 | 一键虚拟化项目 - - - + + + - - + + \ No newline at end of file diff --git a/case/case3.html b/case/case3.html index 02696d45c1..205cc257a5 100644 --- a/case/case3.html +++ b/case/case3.html @@ -6,17 +6,17 @@ 说明与用例稍后补充 | 一键虚拟化项目 - - - + + + - - + + \ No newline at end of file diff --git a/case/case4.html b/case/case4.html index 14b773fc65..70c29b18e1 100644 --- a/case/case4.html +++ b/case/case4.html @@ -6,17 +6,17 @@ 说明与用例稍后补充 | 一键虚拟化项目 - - - + + + - - + + \ No newline at end of file diff --git a/case/case5.html b/case/case5.html index ea77298f37..0d051c3d31 100644 --- a/case/case5.html +++ b/case/case5.html @@ -6,17 +6,17 @@ 说明与用例稍后补充 | 一键虚拟化项目 - - - + + + - - + + \ No newline at end of file diff --git a/case/index.html b/case/index.html index 901fadfb88..bc81c08509 100644 --- a/case/index.html +++ b/case/index.html @@ -6,17 +6,17 @@ 一键虚拟化项目 - - - + + + - - + + \ No newline at end of file diff --git a/developer/index.html b/developer/index.html index 65071cfd98..57e2e37587 100644 --- a/developer/index.html +++ b/developer/index.html @@ -6,17 +6,17 @@ 一键虚拟化项目 - - - + + +

开发手册

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

Copyright © 2023-present oneclickvirt

- - + + \ No newline at end of file diff --git a/developer/l10n.html b/developer/l10n.html index bdc0e6f8e8..685076fb76 100644 --- a/developer/l10n.html +++ b/developer/l10n.html @@ -6,17 +6,17 @@ 介绍 | 一键虚拟化项目 - - - + + +

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

介绍

  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 87a8d1ac9c..0b11e2c550 100644 --- a/en_US/developer/index.html +++ b/en_US/developer/index.html @@ -6,17 +6,17 @@ One Click Virtualization Project - - - + + + - - + + \ No newline at end of file diff --git a/en_US/developer/l10n.html b/en_US/developer/l10n.html index c1cbd181a8..1f9cdd967e 100644 --- a/en_US/developer/l10n.html +++ b/en_US/developer/l10n.html @@ -6,17 +6,17 @@ 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.
- - + + \ No newline at end of file diff --git a/en_US/guide/dashboard.html b/en_US/guide/dashboard.html index ec451950b9..5b053d5d1f 100644 --- a/en_US/guide/dashboard.html +++ b/en_US/guide/dashboard.html @@ -6,17 +6,17 @@ 准备工作 | 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 1d6bd41632..d7dc593824 100644 --- a/en_US/guide/dashboardq.html +++ b/en_US/guide/dashboardq.html @@ -6,18 +6,18 @@ 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 faa749ad4b..a211eb0d35 100644
--- a/en_US/guide/docker_build.html
+++ b/en_US/guide/docker_build.html
@@ -6,15 +6,15 @@
     单独开设 | 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
@@ -32,8 +32,8 @@
 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 862f981c6d..5e18196893 100644 --- a/en_US/guide/docker_install.html +++ b/en_US/guide/docker_install.html @@ -6,19 +6,19 @@ 环境预设 | 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 35a08fe741..05c7abe337 100644 --- a/en_US/guide/docker_precheck.html +++ b/en_US/guide/docker_precheck.html @@ -6,17 +6,17 @@ 项目特点 | 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 b0a24014c6..c9422d3909 100644 --- a/en_US/guide/docker_qa.html +++ b/en_US/guide/docker_qa.html @@ -6,17 +6,17 @@ 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 377a92368c..f56a6d1a3f 100644 --- a/en_US/guide/docker_thanks.html +++ b/en_US/guide/docker_thanks.html @@ -6,17 +6,17 @@ 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 479f386a9e..a1ef770778 100644 --- a/en_US/guide/lxd_extra_config.html +++ b/en_US/guide/lxd_extra_config.html @@ -6,15 +6,15 @@ 自动配置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
@@ -39,8 +39,8 @@ systemctl daemon-reload
 lxc config set core.trust_password some-secret-string
 snap install lxdmosaic
 

安装完毕后打开母鸡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 2424ecd60c..94328fd3c8 100644 --- a/en_US/guide/lxd_install.html +++ b/en_US/guide/lxd_install.html @@ -6,15 +6,15 @@ LXD主体安装 | One Click Virtualization Project - - - + + + -

LXD主体安装

手动安装

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

关闭防火墙

apt update
+    

LXD主体安装

手动安装

新手推荐,避免有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
@@ -29,8 +29,8 @@ snap install lxd
 

连接后再测试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

- - + + \ No newline at end of file diff --git a/en_US/guide/lxd_lxc.html b/en_US/guide/lxd_lxc.html index 26502c555b..819e0975ed 100644 --- a/en_US/guide/lxd_lxc.html +++ b/en_US/guide/lxd_lxc.html @@ -6,15 +6,15 @@ 普通的批量版本 | 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
@@ -46,8 +46,8 @@
 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 d16f638852..97d4dc9337 100644 --- a/en_US/guide/lxd_precheck.html +++ b/en_US/guide/lxd_precheck.html @@ -6,18 +6,18 @@ 配置要求 | 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 00e7ecca51..89e177ba2e 100644 --- a/en_US/guide/lxd_qa.html +++ b/en_US/guide/lxd_qa.html @@ -6,17 +6,17 @@ 目前已验证可开带独立IPV6地址容器的VPS商家 | One Click Virtualization Project - - - + + + - - - + + + \ No newline at end of file diff --git a/en_US/guide/lxd_thanks.html b/en_US/guide/lxd_thanks.html index e10e4bec28..ddd1bffc25 100644 --- a/en_US/guide/lxd_thanks.html +++ b/en_US/guide/lxd_thanks.html @@ -6,17 +6,17 @@ 致谢 | 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 7905b09890..07f0481040 100644 --- a/en_US/guide/pve_install.html +++ b/en_US/guide/pve_install.html @@ -6,23 +6,23 @@ 一键安装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分钟再执行本命令

TIP

这一步是最容易造成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 8733389397..d9924c2138 100644 --- a/en_US/guide/pve_kvm.html +++ b/en_US/guide/pve_kvm.html @@ -6,15 +6,15 @@ 部分注意事项 | 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
@@ -41,8 +41,8 @@ systemctl restart networking.service
 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 1ab5ed8e81..d2a90d2242 100644 --- a/en_US/guide/pve_lxc.html +++ b/en_US/guide/pve_lxc.html @@ -6,15 +6,15 @@ 单独开设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
@@ -34,8 +34,8 @@ 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 d34237e2cb..484b461a2b 100644 --- a/en_US/guide/pve_precheck.html +++ b/en_US/guide/pve_precheck.html @@ -6,19 +6,19 @@ 系统要求与配置 | 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 a13bf0f95c..0941c86a03 100644 --- a/en_US/guide/pve_qa.html +++ b/en_US/guide/pve_qa.html @@ -6,17 +6,17 @@ 目前已验证的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 d0c6596dab..6834022fef 100644 --- a/en_US/guide/pve_thanks.html +++ b/en_US/guide/pve_thanks.html @@ -6,17 +6,17 @@ 致谢 | One Click Virtualization Project - - - + + + - - - + + + \ No newline at end of file diff --git a/en_US/index.html b/en_US/index.html index 51ed6fbc8d..b1d0145c65 100644 --- a/en_US/index.html +++ b/en_US/index.html @@ -6,17 +6,17 @@ 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 29e4e5e654..5edef0ef15 100644 --- a/guide/dashboard.html +++ b/guide/dashboard.html @@ -6,17 +6,17 @@ 准备工作 | 一键虚拟化项目 - - - + + + -

准备工作

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

  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 e900de568f..aa137f38ac 100644 --- a/guide/dashboardq.html +++ b/guide/dashboardq.html @@ -6,18 +6,18 @@ 一键虚拟化项目 - - - + + + -

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 2063a99c0c..2189ec6e7c 100644
--- a/guide/docker_build.html
+++ b/guide/docker_build.html
@@ -6,15 +6,15 @@
     单独开设 | 一键虚拟化项目
     
     
-    
-    
-    
+    
+    
+    
     
     
   
   
   
-    

单独开设

下载脚本

国际

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
@@ -32,8 +32,8 @@
 rm -rf dclog
 ls
 
- - + + \ No newline at end of file diff --git a/guide/docker_install.html b/guide/docker_install.html index e4391c5f86..a10707eed0 100644 --- a/guide/docker_install.html +++ b/guide/docker_install.html @@ -6,19 +6,19 @@ 环境预设 | 一键虚拟化项目 - - - + + + -

环境预设

  • 检测环境
  • 安装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 7969a28ad6..3fc44247e5 100644 --- a/guide/docker_precheck.html +++ b/guide/docker_precheck.html @@ -6,17 +6,17 @@ 项目特点 | 一键虚拟化项目 - - - + + + -

项目特点

通过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 020b7dba4c..5f4e0127a9 100644 --- a/guide/docker_qa.html +++ b/guide/docker_qa.html @@ -6,17 +6,17 @@ 一键虚拟化项目 - - - + + + - - - + + + \ No newline at end of file diff --git a/guide/docker_thanks.html b/guide/docker_thanks.html index 719e03a43c..ddef7027a2 100644 --- a/guide/docker_thanks.html +++ b/guide/docker_thanks.html @@ -6,17 +6,17 @@ 一键虚拟化项目 - - - + + + - - - + + + \ No newline at end of file diff --git a/guide/lxd_extra_config.html b/guide/lxd_extra_config.html index beb80a2b97..242cbd01c0 100644 --- a/guide/lxd_extra_config.html +++ b/guide/lxd_extra_config.html @@ -6,15 +6,15 @@ 其他自定义配置 | 一键虚拟化项目 - - - + + + -

其他自定义配置

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
@@ -39,8 +39,8 @@ systemctl daemon-reload
 lxc config set core.trust_password some-secret-string
 snap install lxdmosaic
 

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

- - + + \ No newline at end of file diff --git a/guide/lxd_install.html b/guide/lxd_install.html index 931c8abe8f..23e0ee2a09 100644 --- a/guide/lxd_install.html +++ b/guide/lxd_install.html @@ -6,15 +6,15 @@ LXD主体安装 | 一键虚拟化项目 - - - + + + -

LXD主体安装

手动安装

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

关闭防火墙

apt update
+    

LXD主体安装

手动安装

新手推荐,避免有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
@@ -29,8 +29,8 @@ snap install lxd
 

连接后再测试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

- - + + \ No newline at end of file diff --git a/guide/lxd_lxc.html b/guide/lxd_lxc.html index b12b004d20..d1a246b4f1 100644 --- a/guide/lxd_lxc.html +++ b/guide/lxd_lxc.html @@ -6,15 +6,15 @@ LXC虚拟化 | 一键虚拟化项目 - - - + + + -

LXC虚拟化

普通的批量版本

开出的小鸡配置:

  • 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
+    

LXC虚拟化

普通的批量版本

开出的小鸡配置:

  • 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
@@ -46,8 +46,8 @@
 rm -rf test
 ls
 
- - + + \ No newline at end of file diff --git a/guide/lxd_precheck.html b/guide/lxd_precheck.html index ead46a54d3..73e592e33e 100644 --- a/guide/lxd_precheck.html +++ b/guide/lxd_precheck.html @@ -6,19 +6,19 @@ 系统与硬件配置要求 | 一键虚拟化项目 - - - + + + -

系统与硬件配置要求

要求

硬件要求:

  • 系统: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)
 

国内

bash <(wget -qO- --no-check-certificate https://ghproxy.com/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 42cea3ac35..0fa1e034ca 100644 --- a/guide/lxd_qa.html +++ b/guide/lxd_qa.html @@ -6,17 +6,17 @@ 目前已验证可开带独立IPV6地址容器的VPS商家 | 一键虚拟化项目 - - - + + + - - - + + + \ No newline at end of file diff --git a/guide/lxd_thanks.html b/guide/lxd_thanks.html index c55064fbd2..c28430872a 100644 --- a/guide/lxd_thanks.html +++ b/guide/lxd_thanks.html @@ -6,17 +6,17 @@ 致谢 | 一键虚拟化项目 - - - + + + - - - + + + \ No newline at end of file diff --git a/guide/pve_install.html b/guide/pve_install.html index b96aa5bb1f..056d7eb17c 100644 --- a/guide/pve_install.html +++ b/guide/pve_install.html @@ -6,23 +6,23 @@ PVE主体安装 | 一键虚拟化项目 - - - + + + -

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主体安装

一键安装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分钟再执行本命令

TIP

这一步是最容易造成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 616364f35a..12f55bf937 100644 --- a/guide/pve_kvm.html +++ b/guide/pve_kvm.html @@ -6,15 +6,15 @@ KVM虚拟化 | 一键虚拟化项目 - - - + + + -

KVM虚拟化

部分注意事项

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

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

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

先停止虚拟机再修改,修改完后再开机才能使用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
+    

KVM虚拟化

部分注意事项

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

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

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

先停止虚拟机再修改,修改完后再开机才能使用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
@@ -41,8 +41,8 @@ systemctl restart networking.service
 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 c653c9be59..358b74c6ec 100644 --- a/guide/pve_lxc.html +++ b/guide/pve_lxc.html @@ -6,15 +6,15 @@ LXC虚拟化 | 一键虚拟化项目 - - - + + + -

LXC虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用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虚拟化

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用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
@@ -34,8 +34,8 @@ 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 4824f386b0..a1b7329e2c 100644 --- a/guide/pve_precheck.html +++ b/guide/pve_precheck.html @@ -6,19 +6,19 @@ 系统和硬件配置要求 | 一键虚拟化项目 - - - + + + -

系统和硬件配置要求

各种要求

建议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 f58cebe3ed..3ae0a666e7 100644 --- a/guide/pve_qa.html +++ b/guide/pve_qa.html @@ -6,17 +6,17 @@ 目前已验证的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 e96cd3d62b..a8cd60f744 100644 --- a/guide/pve_thanks.html +++ b/guide/pve_thanks.html @@ -6,17 +6,17 @@ 致谢 | 一键虚拟化项目 - - - + + + - - - + + + \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index a8edbf30be..934430e3f4 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"case_case1.md":"b35a9d0b","case_case2.md":"ccf2d8ba","case_case3.md":"9615e4f8","case_case4.md":"fc4c67a4","case_case5.md":"d6ca5a15","case_index.md":"9681a8bc","developer_index.md":"e0626969","developer_l10n.md":"f87dba7a","en_us_developer_index.md":"9f088b13","en_us_developer_l10n.md":"8778432d","en_us_guide_dashboard.md":"80786e60","en_us_guide_dashboardq.md":"c319162a","en_us_guide_docker_build.md":"cfd07182","en_us_guide_docker_install.md":"3d2b5094","en_us_guide_docker_precheck.md":"c79dc2ba","en_us_guide_docker_qa.md":"efc111fb","en_us_guide_docker_thanks.md":"304ae33e","en_us_guide_lxd_extra_config.md":"255b9fea","en_us_guide_lxd_install.md":"74c4aa36","en_us_guide_lxd_lxc.md":"35cf96ed","en_us_guide_lxd_precheck.md":"fed3a2c3","en_us_guide_lxd_qa.md":"faf6f802","en_us_guide_lxd_thanks.md":"d6b56e9c","en_us_guide_pve_install.md":"f2cd16e7","en_us_guide_pve_kvm.md":"58716a98","en_us_guide_pve_lxc.md":"412faf88","en_us_guide_pve_precheck.md":"ded9d4bc","en_us_guide_pve_qa.md":"433de163","en_us_guide_pve_thanks.md":"eb40b4be","en_us_index.md":"bd58b003","guide_dashboard.md":"239f4661","guide_dashboardq.md":"3e7b4bc2","guide_docker_build.md":"85c51ac2","guide_docker_install.md":"ef2e9070","guide_docker_precheck.md":"287ad5a3","guide_docker_qa.md":"40742d7f","guide_docker_thanks.md":"3ee23829","guide_lxd_extra_config.md":"091b64fb","guide_lxd_install.md":"ea9931b2","guide_lxd_lxc.md":"31d16a8f","guide_lxd_precheck.md":"b40edb8d","guide_lxd_qa.md":"7358d3a1","guide_lxd_thanks.md":"17cd6432","guide_pve_install.md":"57c99269","guide_pve_kvm.md":"771a6710","guide_pve_lxc.md":"3bfcb53e","guide_pve_precheck.md":"d052b83f","guide_pve_qa.md":"00601028","guide_pve_thanks.md":"e71edfa6","index.md":"25709e5b"} +{"case_case1.md":"464c9b67","case_case2.md":"f659267b","case_case3.md":"a5ed63fc","case_case4.md":"17dcdc4a","case_case5.md":"e84eae11","case_index.md":"595db8bf","developer_index.md":"ae0cd8b3","developer_l10n.md":"d72f407b","en_us_developer_index.md":"cd7f2bd3","en_us_developer_l10n.md":"0e0532b0","en_us_guide_dashboard.md":"b1f519e5","en_us_guide_dashboardq.md":"bc47f945","en_us_guide_docker_build.md":"15314b80","en_us_guide_docker_install.md":"1a814121","en_us_guide_docker_precheck.md":"cb410444","en_us_guide_docker_qa.md":"aa5215d7","en_us_guide_docker_thanks.md":"8d283bb5","en_us_guide_lxd_extra_config.md":"cf1a936b","en_us_guide_lxd_install.md":"9169786d","en_us_guide_lxd_lxc.md":"06c3af1a","en_us_guide_lxd_precheck.md":"b4143f20","en_us_guide_lxd_qa.md":"39eb1b08","en_us_guide_lxd_thanks.md":"d1dc07d9","en_us_guide_pve_install.md":"a6e0856d","en_us_guide_pve_kvm.md":"d809b967","en_us_guide_pve_lxc.md":"52f34863","en_us_guide_pve_precheck.md":"eb56bc09","en_us_guide_pve_qa.md":"f449755b","en_us_guide_pve_thanks.md":"be5b0f57","en_us_index.md":"dc147ac6","guide_dashboard.md":"4c0d3ee5","guide_dashboardq.md":"c9b22ee2","guide_docker_build.md":"106c54b4","guide_docker_install.md":"8992ef86","guide_docker_precheck.md":"5c4c8c21","guide_docker_qa.md":"2d48a79b","guide_docker_thanks.md":"88710ea9","guide_lxd_extra_config.md":"6c158f65","guide_lxd_install.md":"ec8da39d","guide_lxd_lxc.md":"754f1d2d","guide_lxd_precheck.md":"3cc67d47","guide_lxd_qa.md":"423de60e","guide_lxd_thanks.md":"846dd63e","guide_pve_install.md":"ccd029d2","guide_pve_kvm.md":"e9d9ae10","guide_pve_lxc.md":"8404f1df","guide_pve_precheck.md":"3649be81","guide_pve_qa.md":"a7010c33","guide_pve_thanks.md":"edc35eec","index.md":"0c8813be"} diff --git a/index.html b/index.html index 9abb3076b7..aee0ed4d07 100644 --- a/index.html +++ b/index.html @@ -6,17 +6,17 @@ 一键虚拟化项目 - - - + + + -

一键虚拟化项目

开源、易于使用的服务器虚拟化项目

一键安装

支持一键脚本安装,轻松使用;基于 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