diff --git a/404.html b/404.html index fe87821..b51f70a 100644 --- a/404.html +++ b/404.html @@ -1,4 +1,4 @@ -找不到页面 | Orbien +找不到页面 | Orbien
跳到主要内容

找不到页面

我们找不到您要找的页面。

请联系原始链接来源网站的所有者,并告知他们链接已损坏。

\ No newline at end of file diff --git a/assets/js/6b77a8a0.60d2c789.js b/assets/js/6b77a8a0.d85c4d35.js similarity index 70% rename from assets/js/6b77a8a0.60d2c789.js rename to assets/js/6b77a8a0.d85c4d35.js index db02037..0731482 100644 --- a/assets/js/6b77a8a0.60d2c789.js +++ b/assets/js/6b77a8a0.d85c4d35.js @@ -1,2 +1,2 @@ "use strict";(self.webpackChunkorbien_docs=self.webpackChunkorbien_docs||[]).push([["646"],{1898(e,n,r){r.r(n),r.d(n,{metadata:()=>t,default:()=>A,frontMatter:()=>N,contentTitle:()=>S,toc:()=>I,assets:()=>_});var t=JSON.parse('{"id":"integrations/springboot","title":"Spring Boot \u96C6\u6210","description":"Orbien \u63D0\u4F9B\u53EF\u5185\u5D4C\u5230 Spring Boot \u7684 Java \u5BA2\u6237\u7AEF\uFF0C\u5F53\u524D\u80FD\u529B\uFF1A","source":"@site/docs/integrations/springboot.mdx","sourceDirName":"integrations","slug":"/integrations/springboot","permalink":"/orbien/docs/integrations/springboot","draft":false,"unlisted":false,"editUrl":"https://github.com/orbien-org/orbien/tree/main/docs/docs/integrations/springboot.mdx","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"sidebar_label":"SpringBoot\u96C6\u6210"},"sidebar":"docsSidebar","previous":{"title":"\u70ED\u91CD\u8F7D","permalink":"/orbien/docs/features/hot-reload"},"next":{"title":"\u6027\u80FD\u6D4B\u8BD5","permalink":"/orbien/docs/performance"}}'),o=r(1987),a=r(7008),i=r(1763),l=r(3526),s=r(1009),c=r(6532),u=r(9879),d=r(9327),p=r(8292),h=r(8184);function b({value:e,tabValues:n}){return n.some(n=>n.value===e)}let f=(0,i.createContext)(null);function m(){let e=i.useContext(f);if(!e)throw Error("useTabsContext() must be used within a Tabs component");return e}function x(e){return(0,o.jsx)(f.Provider,{value:e.value,children:e.children})}var g=r(8522),v=r(8261);function j({className:e}){let{selectedValue:n,selectValue:r,tabValues:t,block:a}=m(),i=[],{blockElementScrollPositionUntilNextRender:s}=(0,g.a_)(),c=e=>{let o=e.currentTarget,a=t[i.indexOf(o)].value;a!==n&&(s(o),r(a))},u=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{let r=i.indexOf(e.currentTarget)+1;n=i[r]??i[0];break}case"ArrowLeft":{let r=i.indexOf(e.currentTarget)-1;n=i[r]??i[i.length-1]}}n?.focus()};return(0,o.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.A)("tabs",{"tabs--block":a},e),children:t.map(({value:e,label:r,attributes:t})=>(0,o.jsx)("li",{role:"tab",tabIndex:n===e?0:-1,"aria-selected":n===e,ref:e=>{i.push(e)},onKeyDown:u,onClick:c,...t,className:(0,l.A)("tabs__item","tabItem_Xg_G",t?.className,{"tabs__item--active":n===e}),children:r??e},e))})}function y({children:e}){return(0,o.jsx)("div",{className:"margin-top--md",children:e})}function T({className:e,children:n}){return(0,o.jsxs)("div",{className:(0,l.A)(s.G.tabs.container,"tabs-container","tabList_f3wh"),children:[(0,o.jsx)(j,{className:e}),(0,o.jsx)(y,{children:n})]})}function w(e){var n;let r=(0,v.A)(),t=function(e){let n,{defaultValue:r,queryString:t=!1,groupId:o}=e,a=function(e){let{values:n,children:r}=e;return(0,i.useMemo)(()=>{let e=n??i.Children.toArray(r).flatMap(e=>{if(!e)return[];if((0,i.isValidElement)(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return[e];let n="string"==typeof e.type?e.type:e.type.name;throw Error(`Docusaurus error: Bad child <${n}>: all children of the component should be , and every should have a unique "value" prop. -If you do not want to pass on a "value" prop to the direct children of , you can also pass an explicit prop.`)}).map(({props:{value:e,label:n,attributes:r,default:t}})=>({value:e,label:n,attributes:r,default:t})),t=(0,p.XI)(e,(e,n)=>e.value===n.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>`'${e.value}'`).join(", ")}" found in . Every value needs to be unique.`);return e},[n,r])}(e),[l,s]=(0,i.useState)(()=>(function({defaultValue:e,tabValues:n}){if(0===n.length)throw Error("Docusaurus error: the component requires at least one children component");if(e){if(!b({value:e,tabValues:n}))throw Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:r,tabValues:a})),[f,m]=function({queryString:e=!1,groupId:n}){let r=(0,c.W6)(),t=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,d.aZ)(t),(0,i.useCallback)(e=>{if(!t)return;let n=new URLSearchParams(r.location.search);n.set(t,e),r.replace({...r.location,search:n.toString()})},[t,r])]}({queryString:t,groupId:o}),[x,g]=function({groupId:e}){let n=e?`docusaurus.tab.${e}`:null,[r,t]=(0,h.Dv)(n);return[r,(0,i.useCallback)(e=>{n&&t.set(e)},[n,t])]}({groupId:o}),v=b({value:n=f??x,tabValues:a})?n:null;return(0,u.A)(()=>{v&&s(v)},[v]),{selectedValue:l,selectValue:(0,i.useCallback)(e=>{if(!b({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);s(e),m(e),g(e)},[m,g,a]),tabValues:a,lazy:e.lazy??!1,block:e.block??!1}}(e);return(0,o.jsx)(x,{value:t,children:(0,o.jsx)(T,{className:e.className,children:(n=e.children,i.Children.toArray(n).filter(e=>"\n"!==e))})},String(r))}function k({children:e,className:n,hidden:r}){return(0,o.jsx)("div",{role:"tabpanel",className:(0,l.A)("tabItem_vIHf",n),hidden:r,children:e})}function C({children:e,className:n,value:r}){let{selectedValue:t,lazy:a}=m(),i=r===t;return!i&&a?null:(0,o.jsx)(k,{className:n,hidden:!i,children:e})}let N={sidebar_position:1,sidebar_label:"SpringBoot\u96C6\u6210"},S="Spring Boot \u96C6\u6210",_={},I=[{value:"\u6700\u5C0F\u914D\u7F6E",id:"\u6700\u5C0F\u914D\u7F6E",level:2},{value:"\u5B8C\u6574\u53C2\u8003",id:"\u5B8C\u6574\u53C2\u8003",level:2}];function E(e){let n={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"spring-boot-\u96C6\u6210",children:"Spring Boot \u96C6\u6210"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Orbien"})," \u63D0\u4F9B\u53EF\u5185\u5D4C\u5230 Spring Boot \u7684 Java \u5BA2\u6237\u7AEF\uFF0C\u5F53\u524D\u80FD\u529B\uFF1A"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\u96A7\u9053\u534F\u8BAE\uFF1A\u4EC5 ",(0,o.jsx)(n.strong,{children:"TCP"}),"\u3001",(0,o.jsx)(n.strong,{children:"HTTP"})]}),"\n",(0,o.jsxs)(n.li,{children:["\u4F20\u8F93\u5C42\uFF1A\u4EC5 ",(0,o.jsx)(n.strong,{children:"TCP"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"\u4E0D\u652F\u6301 TCP \u591A\u8DEF\u590D\u7528"}),"\uFF1A",(0,o.jsx)(n.code,{children:"orbien.tcp-mux"})," \u5FC5\u987B\u4E3A ",(0,o.jsx)(n.code,{children:"false"}),"\uFF0C\u670D\u52A1\u7AEF\u4E5F\u9700 ",(0,o.jsx)(n.code,{children:"[transport].tcpMux = false"}),"\uFF08\u670D\u52A1\u7AEF\u9ED8\u8BA4\u5F00\u542F\u591A\u8DEF\u590D\u7528\uFF0C\u4E0E Java \u5BA2\u6237\u7AEF\u8054\u8C03\u65F6\u9700\u663E\u5F0F\u5173\u95ED\uFF09"]}),"\n"]}),"\n",(0,o.jsxs)(w,{children:[(0,o.jsx)(C,{value:"Maven",label:"Maven",default:!0,children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-xml",children:"\n io.github.lxien\n orbien-spring-boot-starter\n 3.3.0-beta.1\n\n"})})}),(0,o.jsx)(C,{value:"Gradle",label:"Gradle",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-groovy",children:'implementation("io.github.lxien:orbien-spring-boot-starter:3.3.0-beta.1")\n'})})})]}),"\n",(0,o.jsx)(n.h2,{id:"\u6700\u5C0F\u914D\u7F6E",children:"\u6700\u5C0F\u914D\u7F6E"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"local-port"})," / ",(0,o.jsx)(n.code,{children:"name"})," \u53EF\u7701\u7565\uFF1A\u672A\u586B\u65F6\u5206\u522B\u4F7F\u7528 Spring Boot Web \u7AEF\u53E3\u4E0E ",(0,o.jsx)(n.code,{children:"spring.application.name"}),"\uFF08\u6216 ",(0,o.jsx)(n.code,{children:"orbien-{protocol}"}),"\uFF09\u3002"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:"# application.yml\norbien:\n enabled: true\n server-addr: 127.0.0.1\n # token: YOUR_TOKEN # \u53EF\u9009\n tunnel:\n protocol: http\n domains:\n - web.domain.com\n"})}),"\n",(0,o.jsx)(n.p,{children:"\u670D\u52A1\u7AEF\u9700\u5173\u95ED\u591A\u8DEF\u590D\u7528\uFF0C\u4F8B\u5982\uFF1A"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-toml",children:'# orbien-server.toml\nlisten = "0.0.0.0:9527"\nhttpGwPort = 80\n\n[transport]\ntcpMux = false # \u5173\u95ED TCP \u591A\u8DEF\u590D\u7528\n'})}),"\n",(0,o.jsx)(n.h2,{id:"\u5B8C\u6574\u53C2\u8003",children:"\u5B8C\u6574\u53C2\u8003"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:'# application.yml\norbien:\n enabled: true\n server-addr: 127.0.0.1\n server-port: 9527\n token: YOUR_TOKEN\n tcp-mux: false # \u5FC5\u987B\u4E3A false\uFF0C\u4E14\u4E0E\u670D\u52A1\u7AEF\u4E00\u81F4\n pool-count: 1 # \u767B\u5F55\u65F6\u9884\u7533\u8BF7\u7684\u6570\u636E\u8FDE\u63A5\u6C60\u5927\u5C0F\n heartbeat-interval-secs: 30\n user: spring-boot-demo # \u53EF\u9009\uFF0C\u5C55\u793A\u5728 Dashboard\n # session-id: "" # \u53EF\u9009\uFF1B\u4E3A\u7A7A\u5219\u4ECE session-id-file \u6062\u590D\uFF0C\u6216\u81EA\u52A8\u751F\u6210\n # session-id-file: "" # \u53EF\u9009\uFF1B\u4E3A\u7A7A\u5219\u4F7F\u7528\u7528\u6237\u76EE\u5F55\u4E0B\u7684\u9ED8\u8BA4\u8DEF\u5F84\n tunnel:\n name: web-demo # \u53EF\u9009\n protocol: http # tcp | http\n local-ip: 127.0.0.1\n # local-port: 8080 # \u53EF\u9009\uFF1B\u672A\u586B\u5219\u4F7F\u7528 Spring Boot \u76D1\u542C\u7AEF\u53E3\n # remote-port: 9000 # \u4EC5 protocol=tcp \u65F6\u9700\u8981\n domains: # protocol=http \u65F6\u5FC5\u586B\n - web.domain.com\n'})})]})}function A(e={}){let{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(E,{...e})}):E(e)}},7008(e,n,r){r.d(n,{R:()=>i,x:()=>l});var t=r(1763);let o={},a=t.createContext(o);function i(e){let n=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +If you do not want to pass on a "value" prop to the direct children of , you can also pass an explicit prop.`)}).map(({props:{value:e,label:n,attributes:r,default:t}})=>({value:e,label:n,attributes:r,default:t})),t=(0,p.XI)(e,(e,n)=>e.value===n.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>`'${e.value}'`).join(", ")}" found in . Every value needs to be unique.`);return e},[n,r])}(e),[l,s]=(0,i.useState)(()=>(function({defaultValue:e,tabValues:n}){if(0===n.length)throw Error("Docusaurus error: the component requires at least one children component");if(e){if(!b({value:e,tabValues:n}))throw Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:r,tabValues:a})),[f,m]=function({queryString:e=!1,groupId:n}){let r=(0,c.W6)(),t=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,d.aZ)(t),(0,i.useCallback)(e=>{if(!t)return;let n=new URLSearchParams(r.location.search);n.set(t,e),r.replace({...r.location,search:n.toString()})},[t,r])]}({queryString:t,groupId:o}),[x,g]=function({groupId:e}){let n=e?`docusaurus.tab.${e}`:null,[r,t]=(0,h.Dv)(n);return[r,(0,i.useCallback)(e=>{n&&t.set(e)},[n,t])]}({groupId:o}),v=b({value:n=f??x,tabValues:a})?n:null;return(0,u.A)(()=>{v&&s(v)},[v]),{selectedValue:l,selectValue:(0,i.useCallback)(e=>{if(!b({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);s(e),m(e),g(e)},[m,g,a]),tabValues:a,lazy:e.lazy??!1,block:e.block??!1}}(e);return(0,o.jsx)(x,{value:t,children:(0,o.jsx)(T,{className:e.className,children:(n=e.children,i.Children.toArray(n).filter(e=>"\n"!==e))})},String(r))}function k({children:e,className:n,hidden:r}){return(0,o.jsx)("div",{role:"tabpanel",className:(0,l.A)("tabItem_vIHf",n),hidden:r,children:e})}function C({children:e,className:n,value:r}){let{selectedValue:t,lazy:a}=m(),i=r===t;return!i&&a?null:(0,o.jsx)(k,{className:n,hidden:!i,children:e})}let N={sidebar_position:1,sidebar_label:"SpringBoot\u96C6\u6210"},S="Spring Boot \u96C6\u6210",_={},I=[{value:"\u6700\u5C0F\u914D\u7F6E",id:"\u6700\u5C0F\u914D\u7F6E",level:2},{value:"\u5B8C\u6574\u53C2\u8003",id:"\u5B8C\u6574\u53C2\u8003",level:2}];function E(e){let n={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"spring-boot-\u96C6\u6210",children:"Spring Boot \u96C6\u6210"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Orbien"})," \u63D0\u4F9B\u53EF\u5185\u5D4C\u5230 Spring Boot \u7684 Java \u5BA2\u6237\u7AEF\uFF0C\u5F53\u524D\u80FD\u529B\uFF1A"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\u96A7\u9053\u534F\u8BAE\uFF1A\u4EC5 ",(0,o.jsx)(n.strong,{children:"TCP"}),"\u3001",(0,o.jsx)(n.strong,{children:"HTTP"})]}),"\n",(0,o.jsxs)(n.li,{children:["\u4F20\u8F93\u5C42\uFF1A\u4EC5 ",(0,o.jsx)(n.strong,{children:"TCP"})]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"\u4E0D\u652F\u6301 TCP \u591A\u8DEF\u590D\u7528"}),"\uFF1A",(0,o.jsx)(n.code,{children:"orbien.tcp-mux"})," \u5FC5\u987B\u4E3A ",(0,o.jsx)(n.code,{children:"false"}),"\uFF0C\u670D\u52A1\u7AEF\u4E5F\u9700 ",(0,o.jsx)(n.code,{children:"[transport].tcpMux = false"}),"\uFF08\u670D\u52A1\u7AEF\u9ED8\u8BA4\u5F00\u542F\u591A\u8DEF\u590D\u7528\uFF0C\u4E0E Java \u5BA2\u6237\u7AEF\u8054\u8C03\u65F6\u9700\u663E\u5F0F\u5173\u95ED\uFF09"]}),"\n"]}),"\n",(0,o.jsxs)(w,{children:[(0,o.jsx)(C,{value:"Maven",label:"Maven",default:!0,children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-xml",children:"\n io.github.lxien\n orbien-spring-boot-starter\n 3.3.0\n\n"})})}),(0,o.jsx)(C,{value:"Gradle",label:"Gradle",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-groovy",children:'implementation("io.github.lxien:orbien-spring-boot-starter:3.3.0")\n'})})})]}),"\n",(0,o.jsx)(n.h2,{id:"\u6700\u5C0F\u914D\u7F6E",children:"\u6700\u5C0F\u914D\u7F6E"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"local-port"})," / ",(0,o.jsx)(n.code,{children:"name"})," \u53EF\u7701\u7565\uFF1A\u672A\u586B\u65F6\u5206\u522B\u4F7F\u7528 Spring Boot Web \u7AEF\u53E3\u4E0E ",(0,o.jsx)(n.code,{children:"spring.application.name"}),"\uFF08\u6216 ",(0,o.jsx)(n.code,{children:"orbien-{protocol}"}),"\uFF09\u3002"]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:"# application.yml\norbien:\n enabled: true\n server-addr: 127.0.0.1\n # token: YOUR_TOKEN # \u53EF\u9009\n tunnel:\n protocol: http\n domains:\n - web.domain.com\n"})}),"\n",(0,o.jsx)(n.p,{children:"\u670D\u52A1\u7AEF\u9700\u5173\u95ED\u591A\u8DEF\u590D\u7528\uFF0C\u4F8B\u5982\uFF1A"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-toml",children:'# orbien-server.toml\nlisten = "0.0.0.0:9527"\nhttpGwPort = 80\n\n[transport]\ntcpMux = false # \u5173\u95ED TCP \u591A\u8DEF\u590D\u7528\n'})}),"\n",(0,o.jsx)(n.h2,{id:"\u5B8C\u6574\u53C2\u8003",children:"\u5B8C\u6574\u53C2\u8003"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:'# application.yml\norbien:\n enabled: true\n server-addr: 127.0.0.1\n server-port: 9527\n token: YOUR_TOKEN\n tcp-mux: false # \u5FC5\u987B\u4E3A false\uFF0C\u4E14\u4E0E\u670D\u52A1\u7AEF\u4E00\u81F4\n pool-count: 1 # \u767B\u5F55\u65F6\u9884\u7533\u8BF7\u7684\u6570\u636E\u8FDE\u63A5\u6C60\u5927\u5C0F\n heartbeat-interval-secs: 30\n user: spring-boot-demo # \u53EF\u9009\uFF0C\u5C55\u793A\u5728 Dashboard\n # session-id: "" # \u53EF\u9009\uFF1B\u4E3A\u7A7A\u5219\u4ECE session-id-file \u6062\u590D\uFF0C\u6216\u81EA\u52A8\u751F\u6210\n # session-id-file: "" # \u53EF\u9009\uFF1B\u4E3A\u7A7A\u5219\u4F7F\u7528\u7528\u6237\u76EE\u5F55\u4E0B\u7684\u9ED8\u8BA4\u8DEF\u5F84\n tunnel:\n name: web-demo # \u53EF\u9009\n protocol: http # tcp | http\n local-ip: 127.0.0.1\n # local-port: 8080 # \u53EF\u9009\uFF1B\u672A\u586B\u5219\u4F7F\u7528 Spring Boot \u76D1\u542C\u7AEF\u53E3\n # remote-port: 9000 # \u4EC5 protocol=tcp \u65F6\u9700\u8981\n domains: # protocol=http \u65F6\u5FC5\u586B\n - web.domain.com\n'})})]})}function A(e={}){let{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(E,{...e})}):E(e)}},7008(e,n,r){r.d(n,{R:()=>i,x:()=>l});var t=r(1763);let o={},a=t.createContext(o);function i(e){let n=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e6f0c936.c062fc93.js b/assets/js/e6f0c936.c062fc93.js deleted file mode 100644 index 2fb38ce..0000000 --- a/assets/js/e6f0c936.c062fc93.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkorbien_docs=self.webpackChunkorbien_docs||[]).push([["440"],{7152(e,r,n){n.r(r),n.d(r,{metadata:()=>s,default:()=>I,frontMatter:()=>v,contentTitle:()=>k,toc:()=>$,assets:()=>_});var s=JSON.parse('{"id":"download","title":"\u4E0B\u8F7D","description":"\u6309\u64CD\u4F5C\u7CFB\u7EDF\u4E0E\u67B6\u6784\u9009\u62E9\u5BF9\u5E94\u5B89\u88C5\u5305","source":"@site/docs/download.mdx","sourceDirName":".","slug":"/download","permalink":"/orbien/docs/download","draft":false,"unlisted":false,"editUrl":"https://github.com/orbien-org/orbien/tree/main/docs/docs/download.mdx","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"sidebar_label":"\u4E0B\u8F7D"},"sidebar":"docsSidebar","previous":{"title":"\u4ECB\u7ECD","permalink":"/orbien/docs/intro"},"next":{"title":"\u5FEB\u901F\u5F00\u59CB","permalink":"/orbien/docs/quickstart"}}'),i=n(1987),o=n(7008),a=n(1763),d=n(3526),l=n(6475);let t="dockerItem_OmD2",c="dockerMeta_so8T",u="dockerTag_NGl6",m="dockerCmd_lfBm",h="orbien-org/orbien",b=new Set(["orbien-server|linux|amd64|gnu","orbien-server|linux|amd64|musl","orbien-server|linux|arm64|gnu","orbien-server|linux|arm64|musl","orbien-server|windows|amd64","orbien-server|windows|arm64","orbien-server|darwin|amd64","orbien-server|darwin|arm64","orbien-server|freebsd|amd64","orbien|linux|amd64|gnu","orbien|linux|amd64|musl","orbien|linux|arm64|gnu","orbien|linux|arm64|musl","orbien|windows|amd64","orbien|windows|arm64","orbien|darwin|amd64","orbien|darwin|arm64","orbien|freebsd|amd64","orbien-desktop|linux|amd64|gnu","orbien-desktop|linux|arm64|gnu","orbien-desktop|windows|amd64","orbien-desktop|windows|arm64","orbien-desktop|darwin|amd64","orbien-desktop|darwin|arm64"]),x=[{os:"linux",arch:"amd64",libc:"gnu",noteId:"glibc"},{os:"linux",arch:"amd64",libc:"musl",noteId:"musl"},{os:"linux",arch:"arm64",libc:"gnu",noteId:"glibc"},{os:"linux",arch:"arm64",libc:"musl",noteId:"musl"},{os:"freebsd",arch:"amd64",noteId:"none"},{os:"windows",arch:"amd64",noteId:"none"},{os:"windows",arch:"arm64",noteId:"none"},{os:"darwin",arch:"amd64",noteId:"macosGatekeeper"},{os:"darwin",arch:"arm64",noteId:"macosGatekeeper"}],p={windows:"Windows",darwin:"macOS",linux:"Linux",freebsd:"FreeBSD"},w={amd64:"amd64",arm64:"arm64"},j=[{id:"server",name:"orbien-server",label:(0,i.jsx)(l.A,{id:"download.product.server",children:"\u670D\u52A1\u7AEF"})},{id:"client",name:"orbien",label:(0,i.jsx)(l.A,{id:"download.product.client",children:"\u547D\u4EE4\u884C\u5BA2\u6237\u7AEF"})},{id:"desktop",name:"orbien-desktop",label:(0,i.jsx)(l.A,{id:"download.product.desktop",children:"\u684C\u9762\u5BA2\u6237\u7AEF"})}];function g(e,r){if("orbien-desktop"!==e)return"tar.gz";switch(r){case"linux":return"deb";case"windows":return"zip";case"darwin":return"dmg";default:return"tar.gz"}}function f(){let[e,r]=(0,a.useState)("3.3.0-beta.1"),[n,s]=(0,a.useState)(null),[o,f]=(0,a.useState)(null);(0,a.useEffect)(()=>{f(function(){if("u"{let e=!1;return(async()=>{try{let n=await fetch(`https://api.github.com/repos/${h}/releases/latest`,{headers:{Accept:"application/vnd.github+json"}});if(!n.ok)return;let i=await n.json();if(e)return;let o=i.tag_name?.replace(/^v/,"");o&&r(o),i.assets&&s(new Set(i.assets.map(e=>e.name)))}catch{}})(),()=>{e=!0}},[]);let v=(0,a.useMemo)(()=>{let e=new Map,r=0;for(;r(0,i.jsx)("th",{children:e.label},e.id)),(0,i.jsx)("th",{children:(0,i.jsx)(l.A,{id:"download.col.note",children:"\u8BF4\u660E"})})]})}),(0,i.jsx)("tbody",{children:x.map((r,s)=>{let a=v.get(s),t=void 0!==a,c="linux"===r.os?r.libc:void 0;return(0,i.jsxs)("tr",{className:(0,d.A)(o===r.os&&"rowHighlight_Rqix"),children:[t?(0,i.jsx)("td",{rowSpan:a,className:"osCell_btT0",children:p[r.os]}):null,(0,i.jsx)("td",{children:(0,i.jsx)("code",{children:w[r.arch]})}),(0,i.jsx)("td",{children:c?(0,i.jsx)("code",{className:"libcTag_lP5V",children:c}):null}),j.map(s=>{var o,a,d,l,t,u,m,x,p,w;let j,f,v="orbien-desktop"===s.name,k=v?"linux"===r.os&&"gnu"===r.libc?"gnu":void 0:c,_=(o=s.name,a=r.os,d=r.arch,b.has(k?`${o}|${a}|${d}|${k}`:`${o}|${a}|${d}`)),$=(l=s.name,t=r.os,u=v?void 0:c,j=g(l,t),"orbien-desktop"!==l&&u?`${u} \xb7 ${j}`:j),N=(m=s.name,x=r.os,p=r.arch,w=v?void 0:c,f=g(m,x),"orbien-desktop"===m?`${m}_${e}_${x}_${p}.${f}`:w?`${m}_${e}_${x}_${p}_${w}.${f}`:`${m}_${e}_${x}_${p}.${f}`),I=!n||n.has(N);return(0,i.jsx)("td",{children:_&&I?(0,i.jsx)("a",{className:"badge_x6zy",href:`https://github.com/${h}/releases/download/v${e}/${N}`,title:N,rel:"noopener noreferrer",children:$}):null},s.id)}),(0,i.jsx)("td",{className:"note_heJW",children:function(e){switch(e){case"glibc":return(0,l.T)({id:"download.note.glibc",message:"\u52A8\u6001\u94FE\u63A5 glibc"});case"musl":return(0,l.T)({id:"download.note.musl",message:"\u9759\u6001\u94FE\u63A5\uFF0C\u517C\u5BB9\u65E7 glibc"});case"macosGatekeeper":return(0,l.T)({id:"download.note.macosGatekeeper",message:"\u5982\u9047\u62E6\u622A\uFF0C\u4E8E\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u5141\u8BB8\u8FD0\u884C"});default:return""}}(r.noteId)})]},`${r.os}-${r.arch}-${r.libc??"default"}`)})})]})}),(0,i.jsxs)("div",{className:"docker_YIhP",children:[(0,i.jsx)("h3",{children:"Docker"}),(0,i.jsxs)("ul",{className:"dockerList_T7jC",children:[(0,i.jsxs)("li",{className:t,children:[(0,i.jsxs)("div",{className:c,children:[(0,i.jsx)("strong",{children:"orbien-server"}),(0,i.jsx)("span",{className:u,children:"server"})]}),(0,i.jsx)("code",{className:m,children:"docker pull ghcr.io/orbien-org/orbien-server:latest"})]}),(0,i.jsxs)("li",{className:t,children:[(0,i.jsxs)("div",{className:c,children:[(0,i.jsx)("strong",{children:"orbien"}),(0,i.jsx)("span",{className:u,children:"client"})]}),(0,i.jsx)("code",{className:m,children:"docker pull ghcr.io/orbien-org/orbien:latest"})]})]})]})]})}let v={sidebar_position:2,sidebar_label:"\u4E0B\u8F7D"},k="\u4E0B\u8F7D",_={},$=[];function N(e){let r={h1:"h1",header:"header",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"\u4E0B\u8F7D",children:"\u4E0B\u8F7D"})}),"\n",(0,i.jsx)(r.p,{children:"\u6309\u64CD\u4F5C\u7CFB\u7EDF\u4E0E\u67B6\u6784\u9009\u62E9\u5BF9\u5E94\u5B89\u88C5\u5305"}),"\n",(0,i.jsx)(f,{})]})}function I(e={}){let{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(N,{...e})}):N(e)}},7008(e,r,n){n.d(r,{R:()=>a,x:()=>d});var s=n(1763);let i={},o=s.createContext(i);function a(e){let r=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/e6f0c936.ecb0bd2f.js b/assets/js/e6f0c936.ecb0bd2f.js new file mode 100644 index 0000000..54b8f1d --- /dev/null +++ b/assets/js/e6f0c936.ecb0bd2f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkorbien_docs=self.webpackChunkorbien_docs||[]).push([["440"],{7152(e,r,n){n.r(r),n.d(r,{metadata:()=>s,default:()=>I,frontMatter:()=>v,contentTitle:()=>k,toc:()=>$,assets:()=>_});var s=JSON.parse('{"id":"download","title":"\u4E0B\u8F7D","description":"\u6309\u64CD\u4F5C\u7CFB\u7EDF\u4E0E\u67B6\u6784\u9009\u62E9\u5BF9\u5E94\u5B89\u88C5\u5305","source":"@site/docs/download.mdx","sourceDirName":".","slug":"/download","permalink":"/orbien/docs/download","draft":false,"unlisted":false,"editUrl":"https://github.com/orbien-org/orbien/tree/main/docs/docs/download.mdx","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"sidebar_label":"\u4E0B\u8F7D"},"sidebar":"docsSidebar","previous":{"title":"\u4ECB\u7ECD","permalink":"/orbien/docs/intro"},"next":{"title":"\u5FEB\u901F\u5F00\u59CB","permalink":"/orbien/docs/quickstart"}}'),i=n(1987),o=n(7008),a=n(1763),d=n(3526),l=n(6475);let t="dockerItem_OmD2",c="dockerMeta_so8T",u="dockerTag_NGl6",m="dockerCmd_lfBm",h="orbien-org/orbien",b=new Set(["orbien-server|linux|amd64|gnu","orbien-server|linux|amd64|musl","orbien-server|linux|arm64|gnu","orbien-server|linux|arm64|musl","orbien-server|windows|amd64","orbien-server|windows|arm64","orbien-server|darwin|amd64","orbien-server|darwin|arm64","orbien-server|freebsd|amd64","orbien|linux|amd64|gnu","orbien|linux|amd64|musl","orbien|linux|arm64|gnu","orbien|linux|arm64|musl","orbien|windows|amd64","orbien|windows|arm64","orbien|darwin|amd64","orbien|darwin|arm64","orbien|freebsd|amd64","orbien-desktop|linux|amd64|gnu","orbien-desktop|linux|arm64|gnu","orbien-desktop|windows|amd64","orbien-desktop|windows|arm64","orbien-desktop|darwin|amd64","orbien-desktop|darwin|arm64"]),x=[{os:"linux",arch:"amd64",libc:"gnu",noteId:"glibc"},{os:"linux",arch:"amd64",libc:"musl",noteId:"musl"},{os:"linux",arch:"arm64",libc:"gnu",noteId:"glibc"},{os:"linux",arch:"arm64",libc:"musl",noteId:"musl"},{os:"freebsd",arch:"amd64",noteId:"none"},{os:"windows",arch:"amd64",noteId:"none"},{os:"windows",arch:"arm64",noteId:"none"},{os:"darwin",arch:"amd64",noteId:"macosGatekeeper"},{os:"darwin",arch:"arm64",noteId:"macosGatekeeper"}],p={windows:"Windows",darwin:"macOS",linux:"Linux",freebsd:"FreeBSD"},w={amd64:"amd64",arm64:"arm64"},j=[{id:"server",name:"orbien-server",label:(0,i.jsx)(l.A,{id:"download.product.server",children:"\u670D\u52A1\u7AEF"})},{id:"client",name:"orbien",label:(0,i.jsx)(l.A,{id:"download.product.client",children:"\u547D\u4EE4\u884C\u5BA2\u6237\u7AEF"})},{id:"desktop",name:"orbien-desktop",label:(0,i.jsx)(l.A,{id:"download.product.desktop",children:"\u684C\u9762\u5BA2\u6237\u7AEF"})}];function g(e,r){if("orbien-desktop"!==e)return"tar.gz";switch(r){case"linux":return"deb";case"windows":return"zip";case"darwin":return"dmg";default:return"tar.gz"}}function f(){let[e,r]=(0,a.useState)("3.3.0"),[n,s]=(0,a.useState)(null),[o,f]=(0,a.useState)(null);(0,a.useEffect)(()=>{f(function(){if("u"{let e=!1;return(async()=>{try{let n=await fetch(`https://api.github.com/repos/${h}/releases/latest`,{headers:{Accept:"application/vnd.github+json"}});if(!n.ok)return;let i=await n.json();if(e)return;let o=i.tag_name?.replace(/^v/,"");o&&r(o),i.assets&&s(new Set(i.assets.map(e=>e.name)))}catch{}})(),()=>{e=!0}},[]);let v=(0,a.useMemo)(()=>{let e=new Map,r=0;for(;r(0,i.jsx)("th",{children:e.label},e.id)),(0,i.jsx)("th",{children:(0,i.jsx)(l.A,{id:"download.col.note",children:"\u8BF4\u660E"})})]})}),(0,i.jsx)("tbody",{children:x.map((r,s)=>{let a=v.get(s),t=void 0!==a,c="linux"===r.os?r.libc:void 0;return(0,i.jsxs)("tr",{className:(0,d.A)(o===r.os&&"rowHighlight_Rqix"),children:[t?(0,i.jsx)("td",{rowSpan:a,className:"osCell_btT0",children:p[r.os]}):null,(0,i.jsx)("td",{children:(0,i.jsx)("code",{children:w[r.arch]})}),(0,i.jsx)("td",{children:c?(0,i.jsx)("code",{className:"libcTag_lP5V",children:c}):null}),j.map(s=>{var o,a,d,l,t,u,m,x,p,w;let j,f,v="orbien-desktop"===s.name,k=v?"linux"===r.os&&"gnu"===r.libc?"gnu":void 0:c,_=(o=s.name,a=r.os,d=r.arch,b.has(k?`${o}|${a}|${d}|${k}`:`${o}|${a}|${d}`)),$=(l=s.name,t=r.os,u=v?void 0:c,j=g(l,t),"orbien-desktop"!==l&&u?`${u} \xb7 ${j}`:j),N=(m=s.name,x=r.os,p=r.arch,w=v?void 0:c,f=g(m,x),"orbien-desktop"===m?`${m}_${e}_${x}_${p}.${f}`:w?`${m}_${e}_${x}_${p}_${w}.${f}`:`${m}_${e}_${x}_${p}.${f}`),I=!n||n.has(N);return(0,i.jsx)("td",{children:_&&I?(0,i.jsx)("a",{className:"badge_x6zy",href:`https://github.com/${h}/releases/download/v${e}/${N}`,title:N,rel:"noopener noreferrer",children:$}):null},s.id)}),(0,i.jsx)("td",{className:"note_heJW",children:function(e){switch(e){case"glibc":return(0,l.T)({id:"download.note.glibc",message:"\u52A8\u6001\u94FE\u63A5 glibc"});case"musl":return(0,l.T)({id:"download.note.musl",message:"\u9759\u6001\u94FE\u63A5\uFF0C\u517C\u5BB9\u65E7 glibc"});case"macosGatekeeper":return(0,l.T)({id:"download.note.macosGatekeeper",message:"\u5982\u9047\u62E6\u622A\uFF0C\u4E8E\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u5141\u8BB8\u8FD0\u884C"});default:return""}}(r.noteId)})]},`${r.os}-${r.arch}-${r.libc??"default"}`)})})]})}),(0,i.jsxs)("div",{className:"docker_YIhP",children:[(0,i.jsx)("h3",{children:"Docker"}),(0,i.jsxs)("ul",{className:"dockerList_T7jC",children:[(0,i.jsxs)("li",{className:t,children:[(0,i.jsxs)("div",{className:c,children:[(0,i.jsx)("strong",{children:"orbien-server"}),(0,i.jsx)("span",{className:u,children:"server"})]}),(0,i.jsx)("code",{className:m,children:"docker pull ghcr.io/orbien-org/orbien-server:latest"})]}),(0,i.jsxs)("li",{className:t,children:[(0,i.jsxs)("div",{className:c,children:[(0,i.jsx)("strong",{children:"orbien"}),(0,i.jsx)("span",{className:u,children:"client"})]}),(0,i.jsx)("code",{className:m,children:"docker pull ghcr.io/orbien-org/orbien:latest"})]})]})]})]})}let v={sidebar_position:2,sidebar_label:"\u4E0B\u8F7D"},k="\u4E0B\u8F7D",_={},$=[];function N(e){let r={h1:"h1",header:"header",p:"p",...(0,o.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.header,{children:(0,i.jsx)(r.h1,{id:"\u4E0B\u8F7D",children:"\u4E0B\u8F7D"})}),"\n",(0,i.jsx)(r.p,{children:"\u6309\u64CD\u4F5C\u7CFB\u7EDF\u4E0E\u67B6\u6784\u9009\u62E9\u5BF9\u5E94\u5B89\u88C5\u5305"}),"\n",(0,i.jsx)(f,{})]})}function I(e={}){let{wrapper:r}={...(0,o.R)(),...e.components};return r?(0,i.jsx)(r,{...e,children:(0,i.jsx)(N,{...e})}):N(e)}},7008(e,r,n){n.d(r,{R:()=>a,x:()=>d});var s=n(1763);let i={},o=s.createContext(i);function a(e){let r=s.useContext(o);return s.useMemo(function(){return"function"==typeof e?e(r):{...r,...e}},[r,e])}function d(e){let r;return r=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(o.Provider,{value:r},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/main.3435e2b4.js b/assets/js/main.295a56d6.js similarity index 97% rename from assets/js/main.3435e2b4.js rename to assets/js/main.295a56d6.js index 3760363..050a105 100644 --- a/assets/js/main.3435e2b4.js +++ b/assets/js/main.295a56d6.js @@ -24,7 +24,7 @@ function insertBanner() { : actualHomePagePath + '/'; suggestionContainer.textContent = suggestedBaseUrl; } -`})})})}function $(){let{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,w.A)(),{pathname:n}=(0,f.zy)();return t&&n===e?(0,r.jsx)(M,{}):null}function B(){let{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,w.A)(),i=(0,k.Ay)(e),{htmlLang:l,direction:s}=o[a];return(0,r.jsxs)(v.A,{children:[(0,r.jsx)("html",{lang:l,dir:s}),(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,r.jsx)("link",{rel:"icon",href:i})]})}var U=n(9047),H=n(8261);function V(){let e=(0,H.A)();return(0,r.jsx)(v.A,{children:(0,r.jsx)("html",{"data-has-hydrated":e})})}let W=(0,p.v)(d.A);function q(){let e=function(e){if(O.has(e.pathname))return{...e,pathname:O.get(e.pathname)};if((0,p.u)(d.A,e.pathname).some(({route:e})=>!0===e.exact))return O.set(e.pathname,e.pathname),e;let t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return O.set(e.pathname,t),{...e,pathname:t}}((0,f.zy)());return(0,r.jsx)(F,{location:e,children:W})}var G=n(4054);let Y=!function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise((t,n)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)})}:function(e){return new Promise((t,n)=>{if("u"t(),r.onerror=()=>n();let a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)})};var K=n(8115);let Q=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J=Object.freeze({prefetch:e=>!(X()||Z.has(e)||Q.has(e))&&(Q.add(e),Promise.all((0,p.u)(d.A,e).flatMap(e=>{let t;return t=e.route.path,Object.entries(G).filter(([e])=>e.replace(/-[^-]+$/,"")===t).flatMap(([,e])=>Object.values((0,K.A)(e)))}).map(e=>{let t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch(()=>{}):Promise.resolve()}))),preload:e=>!(X()||Z.has(e))&&(Z.add(e),D(e))});if(u.A.canUseDOM){window.docusaurus=J;let e=document.getElementById("__docusaurus"),t=(0,r.jsx)(i.vd,{children:(0,r.jsx)(function({children:e}){return"hash"===s.default.future.experimental_router?(0,r.jsx)(l.I9,{children:e}):(0,r.jsx)(l.Kd,{children:e})},{children:(0,r.jsx)(function(){return(0,r.jsx)(U.A,{children:(0,r.jsx)(N.l,{children:(0,r.jsxs)(L.x,{children:[(0,r.jsx)(m,{children:(0,r.jsxs)(y,{children:[(0,r.jsx)(B,{}),(0,r.jsx)(P,{}),(0,r.jsx)($,{}),(0,r.jsx)(q,{})]})}),(0,r.jsx)(V,{})]})})})},{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},u=()=>{window.docusaurusRoot?window.docusaurusRoot.render(t):window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n})};D(window.location.pathname).then(()=>{(0,a.startTransition)(u)})}},3235(e,t,n){"use strict";n.d(t,{l:()=>f,o:()=>d});var r=n(1987),a=n(1763),o=n(4784),i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/orbien/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/orbien/docs","mainDocId":"intro","docs":[{"id":"community","path":"/orbien/docs/community","sidebar":"docsSidebar"},{"id":"desktop","path":"/orbien/docs/desktop","sidebar":"docsSidebar"},{"id":"docker","path":"/orbien/docs/docker","sidebar":"docsSidebar"},{"id":"download","path":"/orbien/docs/download","sidebar":"docsSidebar"},{"id":"features/authentication","path":"/orbien/docs/features/authentication","sidebar":"docsSidebar"},{"id":"features/bandwidth","path":"/orbien/docs/features/bandwidth","sidebar":"docsSidebar"},{"id":"features/dashboard","path":"/orbien/docs/features/dashboard","sidebar":"docsSidebar"},{"id":"features/env","path":"/orbien/docs/features/env","sidebar":"docsSidebar"},{"id":"features/hot-reload","path":"/orbien/docs/features/hot-reload","sidebar":"docsSidebar"},{"id":"features/public-bind","path":"/orbien/docs/features/public-bind","sidebar":"docsSidebar"},{"id":"features/real-ip","path":"/orbien/docs/features/real-ip","sidebar":"docsSidebar"},{"id":"integrations/springboot","path":"/orbien/docs/integrations/springboot","sidebar":"docsSidebar"},{"id":"intro","path":"/orbien/docs/intro","sidebar":"docsSidebar"},{"id":"license","path":"/orbien/docs/license","sidebar":"docsSidebar"},{"id":"performance","path":"/orbien/docs/performance","sidebar":"docsSidebar"},{"id":"quickstart","path":"/orbien/docs/quickstart","sidebar":"docsSidebar"},{"id":"transport/connect-pool","path":"/orbien/docs/transport/connect-pool","sidebar":"docsSidebar"},{"id":"transport/protocol/kcp","path":"/orbien/docs/transport/protocol/kcp","sidebar":"docsSidebar"},{"id":"transport/protocol/quic","path":"/orbien/docs/transport/protocol/quic","sidebar":"docsSidebar"},{"id":"transport/protocol/tcp","path":"/orbien/docs/transport/protocol/tcp","sidebar":"docsSidebar"},{"id":"transport/protocol/websocket","path":"/orbien/docs/transport/protocol/websocket","sidebar":"docsSidebar"},{"id":"transport/tcp-mux","path":"/orbien/docs/transport/tcp-mux","sidebar":"docsSidebar"},{"id":"transport/tls","path":"/orbien/docs/transport/tls","sidebar":"docsSidebar"},{"id":"tunnels/domains","path":"/orbien/docs/tunnels/domains","sidebar":"docsSidebar"},{"id":"tunnels/http","path":"/orbien/docs/tunnels/http","sidebar":"docsSidebar"},{"id":"tunnels/https","path":"/orbien/docs/tunnels/https","sidebar":"docsSidebar"},{"id":"tunnels/socks5","path":"/orbien/docs/tunnels/socks5","sidebar":"docsSidebar"},{"id":"tunnels/tcp","path":"/orbien/docs/tunnels/tcp","sidebar":"docsSidebar"},{"id":"tunnels/udp","path":"/orbien/docs/tunnels/udp","sidebar":"docsSidebar"}],"draftIds":[],"sidebars":{"docsSidebar":{"link":{"path":"/orbien/docs/intro","label":"\u4ECB\u7ECD"}}}}],"breadcrumbs":true}}}'),l=JSON.parse('{"defaultLocale":"zh-Hans","locales":["zh-Hans","en"],"path":"i18n","currentLocale":"zh-Hans","localeConfigs":{"zh-Hans":{"label":"\u4E2D\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-Hans","translate":false,"url":"https://orbien-org.github.io","baseUrl":"/orbien/"},"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en","translate":true,"url":"https://orbien-org.github.io","baseUrl":"/orbien/en/"}}}'),s=n(2654),u=JSON.parse('{"docusaurusVersion":"3.10.2","siteVersion":"3.3.0-beta.1","pluginVersions":{"docusaurus-plugin-css-cascade-layers":{"type":"package","name":"@docusaurus/plugin-css-cascade-layers","version":"3.10.2"},"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.10.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.10.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.10.2"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.10.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.10.2"}}}');let c={siteConfig:o.default,siteMetadata:u,globalData:i,i18n:l,codeTranslations:s},d=a.createContext(c);function f({children:e}){return(0,r.jsx)(d.Provider,{value:c,children:e})}},9047(e,t,n){"use strict";n.d(t,{A:()=>m});var r=n(1987),a=n(1763),o=n(4619),i=n(7634),l=n(2455),s=n(6819),u=n(9648);function c({error:e,tryAgain:t}){return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,r.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,r.jsx)("button",{type:"button",onClick:t,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,r.jsx)(d,{error:e})]})}function d({error:e}){let t=(0,l.getErrorCausalChain)(e).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:t})}function f({children:e}){return(0,r.jsx)(u.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:e})}function p({error:e,tryAgain:t}){return(0,r.jsx)(f,{children:(0,r.jsxs)(m,{fallback:()=>(0,r.jsx)(c,{error:e,tryAgain:t}),children:[(0,r.jsx)(i.A,{children:(0,r.jsx)("title",{children:"Page Error"})}),(0,r.jsx)(s.A,{children:(0,r.jsx)(c,{error:e,tryAgain:t})})]})})}class m extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){let{children:e}=this.props,{error:t}=this.state;return t?(this.props.fallback??(e=>(0,r.jsx)(p,{...e})))({error:t,tryAgain:()=>this.setState({error:null})}):e??null}}},4619(e,t,n){"use strict";n.d(t,{A:()=>a});let r="u">typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},7634(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1987);n(1763);var a=n(9883);function o(e){return(0,r.jsx)(a.mg,{...e})}},7364(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(1987),a=n(1763),o=n(5399),i=n(2455),l=n(5484),s=n(2236),u=n(4619),c=n(4216),d=n(319);let f=a.forwardRef(function({isNavLink:e,to:t,href:n,activeClassName:f,isActive:p,"data-noBrokenLinkCheck":m,autoAddBaseUrl:h=!0,...g},b){var y;let{siteConfig:v}=(0,l.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,d.hH)(),E=(0,c.A)(),_=(0,a.useRef)(null);(0,a.useImperativeHandle)(b,()=>_.current);let A=t||n,C=(0,s.A)(A),T=A?.replace("pathname://",""),P=void 0!==T?(y=T,h&&y.startsWith("/")?S(y):y):void 0;"hash"===x&&P?.startsWith("./")&&(P=P?.slice(1)),P&&C&&(P=(0,i.applyTrailingSlash)(P,{trailingSlash:w,baseUrl:k}));let O=(0,a.useRef)(!1),L=e?o.k2:o.N_,N=u.A.canUseIntersectionObserver,j=(0,a.useRef)(void 0),R=()=>{O.current||null==P||(window.docusaurus.preload(P),O.current=!0)};(0,a.useEffect)(()=>(!N&&C&&u.A.canUseDOM&&null!=P&&window.docusaurus.prefetch(P),()=>{N&&j.current&&j.current.disconnect()}),[j,P,N,C]);let I=P?.startsWith("#")??!1,D=!g.target||"_self"===g.target,F=!P||!C||!D||I&&"hash"!==x;m||!I&&F||E.collectLink(P),g.id&&E.collectAnchor(g.id);let z={};return F?(0,r.jsx)("a",{ref:_,href:P,...A&&!C&&{target:"_blank",rel:"noopener noreferrer"},...g,...z}):(0,r.jsx)(L,{...g,onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,N&&e&&C&&(j.current=new window.IntersectionObserver(t=>{t.forEach(t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(j.current.unobserve(e),j.current.disconnect(),null!=P&&window.docusaurus.prefetch(P))})}),j.current.observe(e))},to:P,...e&&{isActive:p,activeClassName:f},...z})})},116(e,t,n){"use strict";n.d(t,{A:()=>r});let r=()=>null},6475(e,t,n){"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(1987),a=n(1763);function o(e,t){let n=e.split(/(\{\w+\})/).map((e,n)=>{if(n%2==1){let n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e});return n.some(e=>(0,a.isValidElement)(e))?n.map((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e).filter(e=>""!==e):n.join("")}var i=n(2654);function l({id:e,message:t}){if(void 0===e&&void 0===t)throw Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[e??t]??t??e}function s({message:e,id:t},n){return o(l({message:e,id:t}),n)}function u({children:e,id:t,values:n}){if(e&&"string"!=typeof e)throw console.warn("Illegal children",e),Error("The Docusaurus component only accept simple string values");let a=l({message:e,id:t});return(0,r.jsx)(r.Fragment,{children:o(a,n)})}},8595(e,t,n){"use strict";n.d(t,{W:()=>r});let r="default"},2236(e,t,n){"use strict";function r(e){return/^(?:[A-Za-z][A-Za-z\d+.-]*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},319(e,t,n){"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(1763),a=n(5484),o=n(2236);function i(){let{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router;return{withBaseUrl:(0,r.useCallback)((e,r)=>(function({siteUrl:e,baseUrl:t,url:n,options:{forcePrependBaseUrl:r=!1,absolute:a=!1}={},router:i}){if(!n||n.startsWith("#")||(0,o.z)(n))return n;if("hash"===i)return n.startsWith("/")?`.${n}`:`./${n}`;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;let l=n.startsWith(t)?n:t+n.replace(/^\//,"");return a?e+l:l})({siteUrl:n,baseUrl:t,url:e,options:r,router:i}),[n,t,i])}}function l(e,t={}){let{withBaseUrl:n}=i();return n(e,t)}},4216(e,t,n){"use strict";n.d(t,{A:()=>o}),n(1987);var r=n(1763);let a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}});function o(){return(0,r.useContext)(a)}},5484(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(3235);function o(){return(0,r.useContext)(a.o)}},8261(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(4607);function o(){return(0,r.useContext)(a.o)}},9879(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(1763);let a=n(4619).A.canUseDOM?r.useLayoutEffect:r.useEffect},7581(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(9648);function o(){let e=r.useContext(a.o);if(!e)throw Error("Unexpected: no Docusaurus route context found");return e}},8115(e,t,n){"use strict";function r(e){let t={};return!function e(n,r){Object.entries(n).forEach(([n,a])=>{let o=r?`${r}.${n}`:n;"object"==typeof a&&a&&Object.keys(a).length>0?e(a,o):t[o]=a})}(e),t}n.d(t,{A:()=>r})},9648(e,t,n){"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(1987),a=n(1763);let o=a.createContext(null);function i({children:e,value:t}){let n=a.useContext(o),l=(0,a.useMemo)(()=>(function({parent:e,value:t}){if(!e){if(t){if(!("plugin"in t))throw Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute")}else throw Error("Unexpected: no Docusaurus route context found");return t}let n={...e.data,...t?.data};return{plugin:e.plugin,data:n}})({parent:n,value:t}),[n,t]);return(0,r.jsx)(o.Provider,{value:l,children:e})}},4806(e,t,n){"use strict";n.d(t,{VQ:()=>p,g1:()=>m});var r=n(1987),a=n(1763),o=n(9678),i=n(8595),l=n(8168),s=n(8184),u=n(7850);let c=e=>`docs-preferred-version-${e}`,d=a.createContext(null);function f({children:e}){let t=function(){let e=(0,o.Gy)(),t=(0,l.p)().docs.versionPersistence,n=(0,a.useMemo)(()=>Object.keys(e),[e]),[r,i]=(0,a.useState)(()=>Object.fromEntries(n.map(e=>[e,{preferredVersionName:null}])));return(0,a.useEffect)(()=>{i(function({pluginIds:e,versionPersistence:t,allDocsData:n}){return Object.fromEntries(e.map(e=>{var r,a;let o,i,l;return[e,(i=e,l=t,o=(0,s.Wf)(c(i),{persistence:l}).get(),n[e].versions.some(e=>e.name===o)?{preferredVersionName:o}:(r=e,a=t,(0,s.Wf)(c(r),{persistence:a}).del(),{preferredVersionName:null}))]}))}({allDocsData:e,versionPersistence:t,pluginIds:n}))},[e,t,n]),[r,(0,a.useMemo)(()=>({savePreferredVersion:function(e,n){var r,a,o;r=e,a=t,o=n,(0,s.Wf)(c(r),{persistence:a}).set(o),i(t=>({...t,[e]:{preferredVersionName:n}}))}}),[t])]}();return(0,r.jsx)(d.Provider,{value:t,children:e})}function p({children:e}){return(0,r.jsx)(f,{children:e})}function m(e=i.W){let t=(0,o.ht)(e),[n,r]=function(){let e=(0,a.useContext)(d);if(!e)throw new u.dV("DocsPreferredVersionContextProvider");return e}(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find(e=>e.name===l)??null,savePreferredVersionName:(0,a.useCallback)(t=>{r.savePreferredVersion(e,t)},[r,e])}}},345(e,t,n){"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(1987),a=n(1763),o=n(7850);let i=Symbol("EmptyContext"),l=a.createContext(i);function s({children:e,name:t,items:n}){let o=(0,a.useMemo)(()=>t&&n?{name:t,items:n}:null,[t,n]);return(0,r.jsx)(l.Provider,{value:o,children:e})}function u(){let e=(0,a.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},8484(e,t,n){"use strict";n.d(t,{B5:()=>v,Nr:()=>function e(t){if("link"===t.type&&!t.unlisted)return t.href;if("category"===t.type){if(t.href&&!t.linkUnlisted)return t.href;for(let n of t.items){let t=e(n);if(t)return t}return}},OF:()=>h,QB:()=>y,Vd:()=>g,Y:()=>m,fW:()=>b,w8:()=>p});var r=n(1763),a=n(6532),o=n(6345),i=n(9678),l=n(7711),s=n(8292),u=n(4806),c=n(73),d=n(345);let f=(e,t)=>void 0!==e&&(0,l.ys)(e,t);function p(e,t){if("link"===e.type)return f(e.href,t);if("category"===e.type){let n;return f(e.href,t)||(n=e.items,n.some(e=>p(e,t)))}return!1}function m(e,t){return(0,r.useMemo)(()=>e.filter(e=>(function e(t,n){switch(t.type){case"category":return p(t,n)||void 0!==t.href&&!t.linkUnlisted||t.items.some(t=>e(t,n));case"link":return!t.unlisted||p(t,n);default:return!0}})(e,t)),[e,t])}function h(){let e=(0,d.t)(),{pathname:t}=(0,a.zy)();return!1!==(0,i.vT)()?.pluginData.breadcrumbs&&e?function({sidebarItems:e,pathname:t,onlyCategories:n=!1}){let r=[];return!function e(a){for(let o of a)if("category"===o.type){if((0,l.ys)(o.href,t)||e(o.items))return r.unshift(o),!0}else if("link"===o.type&&o.docId&&(0,l.ys)(o.href,t))return n||r.unshift(o),!0;return!1}(e),r}({sidebarItems:e.items,pathname:t}):null}function g(e){let{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,u.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)(()=>(0,s.sb)([t,n,a].filter(Boolean)),[t,n,a])}function b(e,t){let n=g(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.sidebars?Object.entries(e.sidebars):[]),r=t.find(t=>t[0]===e);if(!r)throw Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map(e=>e.name).join(", ")}". +`})})})}function $(){let{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,w.A)(),{pathname:n}=(0,f.zy)();return t&&n===e?(0,r.jsx)(M,{}):null}function B(){let{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,w.A)(),i=(0,k.Ay)(e),{htmlLang:l,direction:s}=o[a];return(0,r.jsxs)(v.A,{children:[(0,r.jsx)("html",{lang:l,dir:s}),(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,r.jsx)("link",{rel:"icon",href:i})]})}var U=n(9047),H=n(8261);function V(){let e=(0,H.A)();return(0,r.jsx)(v.A,{children:(0,r.jsx)("html",{"data-has-hydrated":e})})}let W=(0,p.v)(d.A);function q(){let e=function(e){if(O.has(e.pathname))return{...e,pathname:O.get(e.pathname)};if((0,p.u)(d.A,e.pathname).some(({route:e})=>!0===e.exact))return O.set(e.pathname,e.pathname),e;let t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return O.set(e.pathname,t),{...e,pathname:t}}((0,f.zy)());return(0,r.jsx)(F,{location:e,children:W})}var G=n(4054);let Y=!function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise((t,n)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)})}:function(e){return new Promise((t,n)=>{if("u"t(),r.onerror=()=>n();let a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)})};var K=n(8115);let Q=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J=Object.freeze({prefetch:e=>!(X()||Z.has(e)||Q.has(e))&&(Q.add(e),Promise.all((0,p.u)(d.A,e).flatMap(e=>{let t;return t=e.route.path,Object.entries(G).filter(([e])=>e.replace(/-[^-]+$/,"")===t).flatMap(([,e])=>Object.values((0,K.A)(e)))}).map(e=>{let t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch(()=>{}):Promise.resolve()}))),preload:e=>!(X()||Z.has(e))&&(Z.add(e),D(e))});if(u.A.canUseDOM){window.docusaurus=J;let e=document.getElementById("__docusaurus"),t=(0,r.jsx)(i.vd,{children:(0,r.jsx)(function({children:e}){return"hash"===s.default.future.experimental_router?(0,r.jsx)(l.I9,{children:e}):(0,r.jsx)(l.Kd,{children:e})},{children:(0,r.jsx)(function(){return(0,r.jsx)(U.A,{children:(0,r.jsx)(N.l,{children:(0,r.jsxs)(L.x,{children:[(0,r.jsx)(m,{children:(0,r.jsxs)(y,{children:[(0,r.jsx)(B,{}),(0,r.jsx)(P,{}),(0,r.jsx)($,{}),(0,r.jsx)(q,{})]})}),(0,r.jsx)(V,{})]})})})},{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},u=()=>{window.docusaurusRoot?window.docusaurusRoot.render(t):window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n})};D(window.location.pathname).then(()=>{(0,a.startTransition)(u)})}},3235(e,t,n){"use strict";n.d(t,{l:()=>f,o:()=>d});var r=n(1987),a=n(1763),o=n(4784),i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/orbien/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/orbien/docs","mainDocId":"intro","docs":[{"id":"community","path":"/orbien/docs/community","sidebar":"docsSidebar"},{"id":"desktop","path":"/orbien/docs/desktop","sidebar":"docsSidebar"},{"id":"docker","path":"/orbien/docs/docker","sidebar":"docsSidebar"},{"id":"download","path":"/orbien/docs/download","sidebar":"docsSidebar"},{"id":"features/authentication","path":"/orbien/docs/features/authentication","sidebar":"docsSidebar"},{"id":"features/bandwidth","path":"/orbien/docs/features/bandwidth","sidebar":"docsSidebar"},{"id":"features/dashboard","path":"/orbien/docs/features/dashboard","sidebar":"docsSidebar"},{"id":"features/env","path":"/orbien/docs/features/env","sidebar":"docsSidebar"},{"id":"features/hot-reload","path":"/orbien/docs/features/hot-reload","sidebar":"docsSidebar"},{"id":"features/public-bind","path":"/orbien/docs/features/public-bind","sidebar":"docsSidebar"},{"id":"features/real-ip","path":"/orbien/docs/features/real-ip","sidebar":"docsSidebar"},{"id":"integrations/springboot","path":"/orbien/docs/integrations/springboot","sidebar":"docsSidebar"},{"id":"intro","path":"/orbien/docs/intro","sidebar":"docsSidebar"},{"id":"license","path":"/orbien/docs/license","sidebar":"docsSidebar"},{"id":"performance","path":"/orbien/docs/performance","sidebar":"docsSidebar"},{"id":"quickstart","path":"/orbien/docs/quickstart","sidebar":"docsSidebar"},{"id":"transport/connect-pool","path":"/orbien/docs/transport/connect-pool","sidebar":"docsSidebar"},{"id":"transport/protocol/kcp","path":"/orbien/docs/transport/protocol/kcp","sidebar":"docsSidebar"},{"id":"transport/protocol/quic","path":"/orbien/docs/transport/protocol/quic","sidebar":"docsSidebar"},{"id":"transport/protocol/tcp","path":"/orbien/docs/transport/protocol/tcp","sidebar":"docsSidebar"},{"id":"transport/protocol/websocket","path":"/orbien/docs/transport/protocol/websocket","sidebar":"docsSidebar"},{"id":"transport/tcp-mux","path":"/orbien/docs/transport/tcp-mux","sidebar":"docsSidebar"},{"id":"transport/tls","path":"/orbien/docs/transport/tls","sidebar":"docsSidebar"},{"id":"tunnels/domains","path":"/orbien/docs/tunnels/domains","sidebar":"docsSidebar"},{"id":"tunnels/http","path":"/orbien/docs/tunnels/http","sidebar":"docsSidebar"},{"id":"tunnels/https","path":"/orbien/docs/tunnels/https","sidebar":"docsSidebar"},{"id":"tunnels/socks5","path":"/orbien/docs/tunnels/socks5","sidebar":"docsSidebar"},{"id":"tunnels/tcp","path":"/orbien/docs/tunnels/tcp","sidebar":"docsSidebar"},{"id":"tunnels/udp","path":"/orbien/docs/tunnels/udp","sidebar":"docsSidebar"}],"draftIds":[],"sidebars":{"docsSidebar":{"link":{"path":"/orbien/docs/intro","label":"\u4ECB\u7ECD"}}}}],"breadcrumbs":true}}}'),l=JSON.parse('{"defaultLocale":"zh-Hans","locales":["zh-Hans","en"],"path":"i18n","currentLocale":"zh-Hans","localeConfigs":{"zh-Hans":{"label":"\u4E2D\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-Hans","translate":false,"url":"https://orbien-org.github.io","baseUrl":"/orbien/"},"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en","translate":true,"url":"https://orbien-org.github.io","baseUrl":"/orbien/en/"}}}'),s=n(2654),u=JSON.parse('{"docusaurusVersion":"3.10.2","siteVersion":"3.3.0","pluginVersions":{"docusaurus-plugin-css-cascade-layers":{"type":"package","name":"@docusaurus/plugin-css-cascade-layers","version":"3.10.2"},"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.10.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.10.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.10.2"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.10.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.10.2"}}}');let c={siteConfig:o.default,siteMetadata:u,globalData:i,i18n:l,codeTranslations:s},d=a.createContext(c);function f({children:e}){return(0,r.jsx)(d.Provider,{value:c,children:e})}},9047(e,t,n){"use strict";n.d(t,{A:()=>m});var r=n(1987),a=n(1763),o=n(4619),i=n(7634),l=n(2455),s=n(6819),u=n(9648);function c({error:e,tryAgain:t}){return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,r.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,r.jsx)("button",{type:"button",onClick:t,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,r.jsx)(d,{error:e})]})}function d({error:e}){let t=(0,l.getErrorCausalChain)(e).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:t})}function f({children:e}){return(0,r.jsx)(u.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:e})}function p({error:e,tryAgain:t}){return(0,r.jsx)(f,{children:(0,r.jsxs)(m,{fallback:()=>(0,r.jsx)(c,{error:e,tryAgain:t}),children:[(0,r.jsx)(i.A,{children:(0,r.jsx)("title",{children:"Page Error"})}),(0,r.jsx)(s.A,{children:(0,r.jsx)(c,{error:e,tryAgain:t})})]})})}class m extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){let{children:e}=this.props,{error:t}=this.state;return t?(this.props.fallback??(e=>(0,r.jsx)(p,{...e})))({error:t,tryAgain:()=>this.setState({error:null})}):e??null}}},4619(e,t,n){"use strict";n.d(t,{A:()=>a});let r="u">typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},7634(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1987);n(1763);var a=n(9883);function o(e){return(0,r.jsx)(a.mg,{...e})}},7364(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(1987),a=n(1763),o=n(5399),i=n(2455),l=n(5484),s=n(2236),u=n(4619),c=n(4216),d=n(319);let f=a.forwardRef(function({isNavLink:e,to:t,href:n,activeClassName:f,isActive:p,"data-noBrokenLinkCheck":m,autoAddBaseUrl:h=!0,...g},b){var y;let{siteConfig:v}=(0,l.A)(),{trailingSlash:w,baseUrl:k}=v,x=v.future.experimental_router,{withBaseUrl:S}=(0,d.hH)(),E=(0,c.A)(),_=(0,a.useRef)(null);(0,a.useImperativeHandle)(b,()=>_.current);let A=t||n,C=(0,s.A)(A),T=A?.replace("pathname://",""),P=void 0!==T?(y=T,h&&y.startsWith("/")?S(y):y):void 0;"hash"===x&&P?.startsWith("./")&&(P=P?.slice(1)),P&&C&&(P=(0,i.applyTrailingSlash)(P,{trailingSlash:w,baseUrl:k}));let O=(0,a.useRef)(!1),L=e?o.k2:o.N_,N=u.A.canUseIntersectionObserver,j=(0,a.useRef)(void 0),R=()=>{O.current||null==P||(window.docusaurus.preload(P),O.current=!0)};(0,a.useEffect)(()=>(!N&&C&&u.A.canUseDOM&&null!=P&&window.docusaurus.prefetch(P),()=>{N&&j.current&&j.current.disconnect()}),[j,P,N,C]);let I=P?.startsWith("#")??!1,D=!g.target||"_self"===g.target,F=!P||!C||!D||I&&"hash"!==x;m||!I&&F||E.collectLink(P),g.id&&E.collectAnchor(g.id);let z={};return F?(0,r.jsx)("a",{ref:_,href:P,...A&&!C&&{target:"_blank",rel:"noopener noreferrer"},...g,...z}):(0,r.jsx)(L,{...g,onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,N&&e&&C&&(j.current=new window.IntersectionObserver(t=>{t.forEach(t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(j.current.unobserve(e),j.current.disconnect(),null!=P&&window.docusaurus.prefetch(P))})}),j.current.observe(e))},to:P,...e&&{isActive:p,activeClassName:f},...z})})},116(e,t,n){"use strict";n.d(t,{A:()=>r});let r=()=>null},6475(e,t,n){"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(1987),a=n(1763);function o(e,t){let n=e.split(/(\{\w+\})/).map((e,n)=>{if(n%2==1){let n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e});return n.some(e=>(0,a.isValidElement)(e))?n.map((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e).filter(e=>""!==e):n.join("")}var i=n(2654);function l({id:e,message:t}){if(void 0===e&&void 0===t)throw Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[e??t]??t??e}function s({message:e,id:t},n){return o(l({message:e,id:t}),n)}function u({children:e,id:t,values:n}){if(e&&"string"!=typeof e)throw console.warn("Illegal children",e),Error("The Docusaurus component only accept simple string values");let a=l({message:e,id:t});return(0,r.jsx)(r.Fragment,{children:o(a,n)})}},8595(e,t,n){"use strict";n.d(t,{W:()=>r});let r="default"},2236(e,t,n){"use strict";function r(e){return/^(?:[A-Za-z][A-Za-z\d+.-]*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},319(e,t,n){"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(1763),a=n(5484),o=n(2236);function i(){let{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router;return{withBaseUrl:(0,r.useCallback)((e,r)=>(function({siteUrl:e,baseUrl:t,url:n,options:{forcePrependBaseUrl:r=!1,absolute:a=!1}={},router:i}){if(!n||n.startsWith("#")||(0,o.z)(n))return n;if("hash"===i)return n.startsWith("/")?`.${n}`:`./${n}`;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;let l=n.startsWith(t)?n:t+n.replace(/^\//,"");return a?e+l:l})({siteUrl:n,baseUrl:t,url:e,options:r,router:i}),[n,t,i])}}function l(e,t={}){let{withBaseUrl:n}=i();return n(e,t)}},4216(e,t,n){"use strict";n.d(t,{A:()=>o}),n(1987);var r=n(1763);let a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}});function o(){return(0,r.useContext)(a)}},5484(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(3235);function o(){return(0,r.useContext)(a.o)}},8261(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(4607);function o(){return(0,r.useContext)(a.o)}},9879(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(1763);let a=n(4619).A.canUseDOM?r.useLayoutEffect:r.useEffect},7581(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(9648);function o(){let e=r.useContext(a.o);if(!e)throw Error("Unexpected: no Docusaurus route context found");return e}},8115(e,t,n){"use strict";function r(e){let t={};return!function e(n,r){Object.entries(n).forEach(([n,a])=>{let o=r?`${r}.${n}`:n;"object"==typeof a&&a&&Object.keys(a).length>0?e(a,o):t[o]=a})}(e),t}n.d(t,{A:()=>r})},9648(e,t,n){"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(1987),a=n(1763);let o=a.createContext(null);function i({children:e,value:t}){let n=a.useContext(o),l=(0,a.useMemo)(()=>(function({parent:e,value:t}){if(!e){if(t){if(!("plugin"in t))throw Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute")}else throw Error("Unexpected: no Docusaurus route context found");return t}let n={...e.data,...t?.data};return{plugin:e.plugin,data:n}})({parent:n,value:t}),[n,t]);return(0,r.jsx)(o.Provider,{value:l,children:e})}},4806(e,t,n){"use strict";n.d(t,{VQ:()=>p,g1:()=>m});var r=n(1987),a=n(1763),o=n(9678),i=n(8595),l=n(8168),s=n(8184),u=n(7850);let c=e=>`docs-preferred-version-${e}`,d=a.createContext(null);function f({children:e}){let t=function(){let e=(0,o.Gy)(),t=(0,l.p)().docs.versionPersistence,n=(0,a.useMemo)(()=>Object.keys(e),[e]),[r,i]=(0,a.useState)(()=>Object.fromEntries(n.map(e=>[e,{preferredVersionName:null}])));return(0,a.useEffect)(()=>{i(function({pluginIds:e,versionPersistence:t,allDocsData:n}){return Object.fromEntries(e.map(e=>{var r,a;let o,i,l;return[e,(i=e,l=t,o=(0,s.Wf)(c(i),{persistence:l}).get(),n[e].versions.some(e=>e.name===o)?{preferredVersionName:o}:(r=e,a=t,(0,s.Wf)(c(r),{persistence:a}).del(),{preferredVersionName:null}))]}))}({allDocsData:e,versionPersistence:t,pluginIds:n}))},[e,t,n]),[r,(0,a.useMemo)(()=>({savePreferredVersion:function(e,n){var r,a,o;r=e,a=t,o=n,(0,s.Wf)(c(r),{persistence:a}).set(o),i(t=>({...t,[e]:{preferredVersionName:n}}))}}),[t])]}();return(0,r.jsx)(d.Provider,{value:t,children:e})}function p({children:e}){return(0,r.jsx)(f,{children:e})}function m(e=i.W){let t=(0,o.ht)(e),[n,r]=function(){let e=(0,a.useContext)(d);if(!e)throw new u.dV("DocsPreferredVersionContextProvider");return e}(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find(e=>e.name===l)??null,savePreferredVersionName:(0,a.useCallback)(t=>{r.savePreferredVersion(e,t)},[r,e])}}},345(e,t,n){"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(1987),a=n(1763),o=n(7850);let i=Symbol("EmptyContext"),l=a.createContext(i);function s({children:e,name:t,items:n}){let o=(0,a.useMemo)(()=>t&&n?{name:t,items:n}:null,[t,n]);return(0,r.jsx)(l.Provider,{value:o,children:e})}function u(){let e=(0,a.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},8484(e,t,n){"use strict";n.d(t,{B5:()=>v,Nr:()=>function e(t){if("link"===t.type&&!t.unlisted)return t.href;if("category"===t.type){if(t.href&&!t.linkUnlisted)return t.href;for(let n of t.items){let t=e(n);if(t)return t}return}},OF:()=>h,QB:()=>y,Vd:()=>g,Y:()=>m,fW:()=>b,w8:()=>p});var r=n(1763),a=n(6532),o=n(6345),i=n(9678),l=n(7711),s=n(8292),u=n(4806),c=n(73),d=n(345);let f=(e,t)=>void 0!==e&&(0,l.ys)(e,t);function p(e,t){if("link"===e.type)return f(e.href,t);if("category"===e.type){let n;return f(e.href,t)||(n=e.items,n.some(e=>p(e,t)))}return!1}function m(e,t){return(0,r.useMemo)(()=>e.filter(e=>(function e(t,n){switch(t.type){case"category":return p(t,n)||void 0!==t.href&&!t.linkUnlisted||t.items.some(t=>e(t,n));case"link":return!t.unlisted||p(t,n);default:return!0}})(e,t)),[e,t])}function h(){let e=(0,d.t)(),{pathname:t}=(0,a.zy)();return!1!==(0,i.vT)()?.pluginData.breadcrumbs&&e?function({sidebarItems:e,pathname:t,onlyCategories:n=!1}){let r=[];return!function e(a){for(let o of a)if("category"===o.type){if((0,l.ys)(o.href,t)||e(o.items))return r.unshift(o),!0}else if("link"===o.type&&o.docId&&(0,l.ys)(o.href,t))return n||r.unshift(o),!0;return!1}(e),r}({sidebarItems:e.items,pathname:t}):null}function g(e){let{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,u.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)(()=>(0,s.sb)([t,n,a].filter(Boolean)),[t,n,a])}function b(e,t){let n=g(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.sidebars?Object.entries(e.sidebars):[]),r=t.find(t=>t[0]===e);if(!r)throw Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map(e=>e.name).join(", ")}". Available sidebar ids are: - ${t.map(e=>e[0]).join("\n- ")}`);return r[1]},[e,n])}function y(e,t){let n=g(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.docs),r=t.find(t=>t.id===e);if(!r){if(n.flatMap(e=>e.draftIds).includes(e))return null;throw Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map(e=>e.name).join(", ")}". Available doc ids are: diff --git a/assets/js/runtime~main.87666694.js b/assets/js/runtime~main.31ec3142.js similarity index 97% rename from assets/js/runtime~main.87666694.js rename to assets/js/runtime~main.31ec3142.js index 16bc689..5e2e050 100644 --- a/assets/js/runtime~main.87666694.js +++ b/assets/js/runtime~main.31ec3142.js @@ -1 +1 @@ -(()=>{"use strict";var e,r,t,a,f,o,d,c={},n={};function b(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={exports:{}};return c[e].call(t.exports,t,t.exports,b),t.exports}b.m=c,b.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return b.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(t,a){if(1&a&&(t=this(t)),8&a||"object"==typeof t&&t&&(4&a&&t.__esModule||16&a&&"function"==typeof t.then))return t;var f=Object.create(null);b.r(f);var o={};e=e||[null,r({}),r([]),r(r)];for(var d=2&a&&t;("object"==typeof d||"function"==typeof d)&&!~e.indexOf(d);d=r(d))Object.getOwnPropertyNames(d).forEach(e=>{o[e]=()=>t[e]});return o.default=()=>t,b.d(f,o),f},b.d=(e,r)=>{for(var t in r)b.o(r,t)&&!b.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce((r,t)=>(b.f[t](e,r),r),[])),b.u=e=>"assets/js/"+(({106:"17896441",133:"90358f02",135:"ac5280f2",217:"0e384e19",218:"05d4cacb",229:"cc002db1",267:"ab38dbfe",326:"fe98809a",356:"5ef0e9d6",361:"8c6208d8",364:"fd368041",394:"def3d52a",395:"37f66e80",41:"edefc60b",411:"67e4f9fb",440:"e6f0c936",452:"1df93b7f",475:"f325f636",49:"bbb29017",499:"8070e160",503:"93234bd6",521:"72e9da6a",56:"a7456010",575:"a7bd4aaa",590:"46875d5c",630:"cc0a2bf3",646:"6b77a8a0",668:"5e95c892",688:"cac2e989",69:"97658992",707:"c1cdd282",747:"aba21aa0",785:"a94703ab",795:"9a00739f",817:"b2d27f24",896:"51876da0",960:"80557847"})[e]||e)+"."+({106:"6c48d3c2",133:"32d005bc",135:"e0744c2a",217:"dcfe22a1",218:"7119d8a1",229:"2eec232f",267:"250a4996",326:"94f05a50",356:"bc7a97b0",361:"8e2c2ac2",364:"d1053280",394:"e1de427f",395:"567f6d20",406:"7afbacb1",41:"ec699968",411:"5cd6a9d0",440:"c062fc93",452:"8b0521b5",475:"9c4028b5",49:"455b90d1",499:"c6dc6b27",503:"42888fa3",521:"440f7b3a",56:"b47ace4d",575:"96f1510e",590:"4f76e68a",627:"5a86db8b",630:"8406ff27",646:"60d2c789",668:"61b67e6b",688:"8ebe344a",69:"d0b6799d",707:"3c5ba703",747:"66a74c66",785:"b81930da",795:"59ea1d8d",817:"3be34325",896:"b64acab5",960:"d294fd24"})[e]+".js",b.miniCssF=e=>""+e+".css",b.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),b.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},b.l=function(e,r,a,f){if(t[e])return void t[e].push(r);if(void 0!==a)for(var o,d,c=document.getElementsByTagName("script"),n=0;n{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a=[],b.O=(e,r,t,f)=>{if(r){f=f||0;for(var o=a.length;o>0&&a[o-1][2]>f;o--)a[o]=a[o-1];a[o]=[r,t,f];return}for(var d=1/0,o=0;o=f)&&Object.keys(b.O).every(e=>b.O[e](r[n]))?r.splice(n--,1):(c=!1,f"1.7.12",b.gca=function(e){return e=({0x11113f9:"106",0x4cd3717:"960",0x5d22870:"69",edefc60b:"41",bbb29017:"49",a7456010:"56","90358f02":"133",ac5280f2:"135","0e384e19":"217","05d4cacb":"218",cc002db1:"229",ab38dbfe:"267",fe98809a:"326","5ef0e9d6":"356","8c6208d8":"361",fd368041:"364",def3d52a:"394","37f66e80":"395","67e4f9fb":"411",e6f0c936:"440","1df93b7f":"452",f325f636:"475","8070e160":"499","93234bd6":"503","72e9da6a":"521",a7bd4aaa:"575","46875d5c":"590",cc0a2bf3:"630","6b77a8a0":"646","5e95c892":"668",cac2e989:"688",c1cdd282:"707",aba21aa0:"747",a94703ab:"785","9a00739f":"795",b2d27f24:"817","51876da0":"896"})[e]||e,b.p+b.u(e)},f={14:0,783:0},b.f.j=function(e,r){var t=b.o(f,e)?f[e]:void 0;if(0!==t)if(t)r.push(t[2]);else if(/^(14|783)$/.test(e))f[e]=0;else{var a=new Promise((r,a)=>t=f[e]=[r,a]);r.push(t[2]=a);var o=b.p+b.u(e),d=Error();b.l(o,function(r){if(b.o(f,e)&&(0!==(t=f[e])&&(f[e]=void 0),t)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;d.message="Loading chunk "+e+" failed.\n("+a+": "+o+")",d.name="ChunkLoadError",d.type=a,d.request=o,t[1](d)}},"chunk-"+e,e)}},b.O.j=e=>0===f[e],o=(e,r)=>{var t,a,o=r[0],d=r[1],c=r[2],n=0;if(o.some(e=>0!==f[e])){for(t in d)b.o(d,t)&&(b.m[t]=d[t]);if(c)var i=c(b)}for(e&&e(r);n{"use strict";var e,r,t,a,f,o,d,c={},n={};function b(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={exports:{}};return c[e].call(t.exports,t,t.exports,b),t.exports}b.m=c,b.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return b.d(r,{a:r}),r},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(t,a){if(1&a&&(t=this(t)),8&a||"object"==typeof t&&t&&(4&a&&t.__esModule||16&a&&"function"==typeof t.then))return t;var f=Object.create(null);b.r(f);var o={};e=e||[null,r({}),r([]),r(r)];for(var d=2&a&&t;("object"==typeof d||"function"==typeof d)&&!~e.indexOf(d);d=r(d))Object.getOwnPropertyNames(d).forEach(e=>{o[e]=()=>t[e]});return o.default=()=>t,b.d(f,o),f},b.d=(e,r)=>{for(var t in r)b.o(r,t)&&!b.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce((r,t)=>(b.f[t](e,r),r),[])),b.u=e=>"assets/js/"+(({106:"17896441",133:"90358f02",135:"ac5280f2",217:"0e384e19",218:"05d4cacb",229:"cc002db1",267:"ab38dbfe",326:"fe98809a",356:"5ef0e9d6",361:"8c6208d8",364:"fd368041",394:"def3d52a",395:"37f66e80",41:"edefc60b",411:"67e4f9fb",440:"e6f0c936",452:"1df93b7f",475:"f325f636",49:"bbb29017",499:"8070e160",503:"93234bd6",521:"72e9da6a",56:"a7456010",575:"a7bd4aaa",590:"46875d5c",630:"cc0a2bf3",646:"6b77a8a0",668:"5e95c892",688:"cac2e989",69:"97658992",707:"c1cdd282",747:"aba21aa0",785:"a94703ab",795:"9a00739f",817:"b2d27f24",896:"51876da0",960:"80557847"})[e]||e)+"."+({106:"6c48d3c2",133:"32d005bc",135:"e0744c2a",217:"dcfe22a1",218:"7119d8a1",229:"2eec232f",267:"250a4996",326:"94f05a50",356:"bc7a97b0",361:"8e2c2ac2",364:"d1053280",394:"e1de427f",395:"567f6d20",406:"7afbacb1",41:"ec699968",411:"5cd6a9d0",440:"ecb0bd2f",452:"8b0521b5",475:"9c4028b5",49:"455b90d1",499:"c6dc6b27",503:"42888fa3",521:"440f7b3a",56:"b47ace4d",575:"96f1510e",590:"4f76e68a",627:"5a86db8b",630:"8406ff27",646:"d85c4d35",668:"61b67e6b",688:"8ebe344a",69:"d0b6799d",707:"3c5ba703",747:"66a74c66",785:"b81930da",795:"59ea1d8d",817:"3be34325",896:"b64acab5",960:"d294fd24"})[e]+".js",b.miniCssF=e=>""+e+".css",b.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),b.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t={},b.l=function(e,r,a,f){if(t[e])return void t[e].push(r);if(void 0!==a)for(var o,d,c=document.getElementsByTagName("script"),n=0;n{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a=[],b.O=(e,r,t,f)=>{if(r){f=f||0;for(var o=a.length;o>0&&a[o-1][2]>f;o--)a[o]=a[o-1];a[o]=[r,t,f];return}for(var d=1/0,o=0;o=f)&&Object.keys(b.O).every(e=>b.O[e](r[n]))?r.splice(n--,1):(c=!1,f"1.7.12",b.gca=function(e){return e=({0x11113f9:"106",0x4cd3717:"960",0x5d22870:"69",edefc60b:"41",bbb29017:"49",a7456010:"56","90358f02":"133",ac5280f2:"135","0e384e19":"217","05d4cacb":"218",cc002db1:"229",ab38dbfe:"267",fe98809a:"326","5ef0e9d6":"356","8c6208d8":"361",fd368041:"364",def3d52a:"394","37f66e80":"395","67e4f9fb":"411",e6f0c936:"440","1df93b7f":"452",f325f636:"475","8070e160":"499","93234bd6":"503","72e9da6a":"521",a7bd4aaa:"575","46875d5c":"590",cc0a2bf3:"630","6b77a8a0":"646","5e95c892":"668",cac2e989:"688",c1cdd282:"707",aba21aa0:"747",a94703ab:"785","9a00739f":"795",b2d27f24:"817","51876da0":"896"})[e]||e,b.p+b.u(e)},f={14:0,783:0},b.f.j=function(e,r){var t=b.o(f,e)?f[e]:void 0;if(0!==t)if(t)r.push(t[2]);else if(/^(14|783)$/.test(e))f[e]=0;else{var a=new Promise((r,a)=>t=f[e]=[r,a]);r.push(t[2]=a);var o=b.p+b.u(e),d=Error();b.l(o,function(r){if(b.o(f,e)&&(0!==(t=f[e])&&(f[e]=void 0),t)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;d.message="Loading chunk "+e+" failed.\n("+a+": "+o+")",d.name="ChunkLoadError",d.type=a,d.request=o,t[1](d)}},"chunk-"+e,e)}},b.O.j=e=>0===f[e],o=(e,r)=>{var t,a,o=r[0],d=r[1],c=r[2],n=0;if(o.some(e=>0!==f[e])){for(t in d)b.o(d,t)&&(b.m[t]=d[t]);if(c)var i=c(b)}for(e&&e(r);n社区和贡献 | Orbien +社区和贡献 | Orbien

社区和贡献

diff --git a/docs/desktop.html b/docs/desktop.html index a06d679..722a890 100644 --- a/docs/desktop.html +++ b/docs/desktop.html @@ -1,4 +1,4 @@ -桌面客户端 | Orbien +桌面客户端 | Orbien

桌面客户端

diff --git a/docs/docker.html b/docs/docker.html index 42f68fb..80acc61 100644 --- a/docs/docker.html +++ b/docs/docker.html @@ -1,4 +1,4 @@ -Docker 安装 | Orbien +Docker 安装 | Orbien

Docker 安装

diff --git a/docs/download.html b/docs/download.html index dcd14e0..33024aa 100644 --- a/docs/download.html +++ b/docs/download.html @@ -1,6 +1,6 @@ -下载 | Orbien +下载 | Orbien

下载

按操作系统与架构选择对应安装包

-
v3.3.0-beta.1所有版本
操作系统架构libc服务端命令行客户端桌面客户端说明
Linuxamd64gnugnu · tar.gzgnu · tar.gzdeb动态链接 glibc
amd64muslmusl · tar.gzmusl · tar.gz静态链接,兼容旧 glibc
arm64gnugnu · tar.gzgnu · tar.gzdeb动态链接 glibc
arm64muslmusl · tar.gzmusl · tar.gz静态链接,兼容旧 glibc
FreeBSDamd64tar.gztar.gz
Windowsamd64tar.gztar.gzzip
arm64tar.gztar.gzzip
macOSamd64tar.gztar.gzdmg如遇拦截,于系统设置中允许运行
arm64tar.gztar.gzdmg如遇拦截,于系统设置中允许运行

Docker

  • orbien-serverserver
    docker pull ghcr.io/orbien-org/orbien-server:latest
  • orbienclient
    docker pull ghcr.io/orbien-org/orbien:latest
\ No newline at end of file +
操作系统架构libc服务端命令行客户端桌面客户端说明
Linuxamd64gnugnu · tar.gzgnu · tar.gzdeb动态链接 glibc
amd64muslmusl · tar.gzmusl · tar.gz静态链接,兼容旧 glibc
arm64gnugnu · tar.gzgnu · tar.gzdeb动态链接 glibc
arm64muslmusl · tar.gzmusl · tar.gz静态链接,兼容旧 glibc
FreeBSDamd64tar.gztar.gz
Windowsamd64tar.gztar.gzzip
arm64tar.gztar.gzzip
macOSamd64tar.gztar.gzdmg如遇拦截,于系统设置中允许运行
arm64tar.gztar.gzdmg如遇拦截,于系统设置中允许运行

Docker

  • orbien-serverserver
    docker pull ghcr.io/orbien-org/orbien-server:latest
  • orbienclient
    docker pull ghcr.io/orbien-org/orbien:latest
\ No newline at end of file diff --git a/docs/features/authentication.html b/docs/features/authentication.html index 5553775..84f3127 100644 --- a/docs/features/authentication.html +++ b/docs/features/authentication.html @@ -1,4 +1,4 @@ -身份认证 | Orbien +身份认证 | Orbien

身份认证

diff --git a/docs/features/bandwidth.html b/docs/features/bandwidth.html index 9c53389..445abc6 100644 --- a/docs/features/bandwidth.html +++ b/docs/features/bandwidth.html @@ -1,4 +1,4 @@ -带宽限制 | Orbien +带宽限制 | Orbien

带宽限制

diff --git a/docs/features/dashboard.html b/docs/features/dashboard.html index e9536c7..2e00753 100644 --- a/docs/features/dashboard.html +++ b/docs/features/dashboard.html @@ -1,4 +1,4 @@ -管理界面 | Orbien +管理界面 | Orbien

管理界面

diff --git a/docs/features/env.html b/docs/features/env.html index 127da23..f7b9bf8 100644 --- a/docs/features/env.html +++ b/docs/features/env.html @@ -1,4 +1,4 @@ -环境变量 | Orbien +环境变量 | Orbien

环境变量

diff --git a/docs/features/hot-reload.html b/docs/features/hot-reload.html index 42e54f6..e82548c 100644 --- a/docs/features/hot-reload.html +++ b/docs/features/hot-reload.html @@ -1,4 +1,4 @@ -热重载 | Orbien +热重载 | Orbien

热重载

diff --git a/docs/features/public-bind.html b/docs/features/public-bind.html index 197eec3..3d98cc6 100644 --- a/docs/features/public-bind.html +++ b/docs/features/public-bind.html @@ -1,4 +1,4 @@ -对外监听地址 | Orbien +对外监听地址 | Orbien

对外监听地址

diff --git a/docs/features/real-ip.html b/docs/features/real-ip.html index 863e418..71f34d5 100644 --- a/docs/features/real-ip.html +++ b/docs/features/real-ip.html @@ -1,4 +1,4 @@ -获取真实 IP | Orbien +获取真实 IP | Orbien

获取真实 IP

diff --git a/docs/integrations/springboot.html b/docs/integrations/springboot.html index df5e2e4..bdd9fd9 100644 --- a/docs/integrations/springboot.html +++ b/docs/integrations/springboot.html @@ -1,4 +1,4 @@ -Spring Boot 集成 | Orbien +Spring Boot 集成 | Orbien

Spring Boot 集成

@@ -8,7 +8,7 @@
  • 传输层:仅 TCP
  • 不支持 TCP 多路复用orbien.tcp-mux 必须为 false,服务端也需 [transport].tcpMux = false(服务端默认开启多路复用,与 Java 客户端联调时需显式关闭)
  • -
    <dependency>
    <groupId>io.github.lxien</groupId>
    <artifactId>orbien-spring-boot-starter</artifactId>
    <version>3.3.0-beta.1</version>
    </dependency>
    +
    <dependency>
    <groupId>io.github.lxien</groupId>
    <artifactId>orbien-spring-boot-starter</artifactId>
    <version>3.3.0</version>
    </dependency>

    最小配置

    local-port / name 可省略:未填时分别使用 Spring Boot Web 端口与 spring.application.name(或 orbien-{protocol})。

    # application.yml
    orbien:
    enabled: true
    server-addr: 127.0.0.1
    # token: YOUR_TOKEN # 可选
    tunnel:
    protocol: http
    domains:
    - web.domain.com
    diff --git a/docs/intro.html b/docs/intro.html index 3cb0508..4a4d358 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -1,4 +1,4 @@ -介绍 | Orbien +介绍 | Orbien

    介绍

    diff --git a/docs/license.html b/docs/license.html index 84bd594..d2cc747 100644 --- a/docs/license.html +++ b/docs/license.html @@ -1,4 +1,4 @@ -许可证 | Orbien +许可证 | Orbien

    许可证

    diff --git a/docs/performance.html b/docs/performance.html index fb3c914..fe0ebbf 100644 --- a/docs/performance.html +++ b/docs/performance.html @@ -1,4 +1,4 @@ -性能测试 | Orbien +性能测试 | Orbien

    性能测试

    diff --git a/docs/quickstart.html b/docs/quickstart.html index 1bbe448..d6de59c 100644 --- a/docs/quickstart.html +++ b/docs/quickstart.html @@ -1,4 +1,4 @@ -快速开始 | Orbien +快速开始 | Orbien

    快速开始

    diff --git a/docs/transport/connect-pool.html b/docs/transport/connect-pool.html index b741456..29e5d81 100644 --- a/docs/transport/connect-pool.html +++ b/docs/transport/connect-pool.html @@ -1,4 +1,4 @@ -连接池 | Orbien +连接池 | Orbien

    连接池

    diff --git a/docs/transport/protocol/kcp.html b/docs/transport/protocol/kcp.html index 7bb5582..057ab85 100644 --- a/docs/transport/protocol/kcp.html +++ b/docs/transport/protocol/kcp.html @@ -1,4 +1,4 @@ -KCP | Orbien +KCP | Orbien

    KCP

    diff --git a/docs/transport/protocol/quic.html b/docs/transport/protocol/quic.html index 50b3c3a..30a5a2f 100644 --- a/docs/transport/protocol/quic.html +++ b/docs/transport/protocol/quic.html @@ -1,4 +1,4 @@ -QUIC | Orbien +QUIC | Orbien

    QUIC

    diff --git a/docs/transport/protocol/tcp.html b/docs/transport/protocol/tcp.html index dd4d61b..50c6956 100644 --- a/docs/transport/protocol/tcp.html +++ b/docs/transport/protocol/tcp.html @@ -1,4 +1,4 @@ -TCP | Orbien +TCP | Orbien

    TCP

    diff --git a/docs/transport/protocol/websocket.html b/docs/transport/protocol/websocket.html index 0a2656d..7a33e2f 100644 --- a/docs/transport/protocol/websocket.html +++ b/docs/transport/protocol/websocket.html @@ -1,4 +1,4 @@ -WebSocket | Orbien +WebSocket | Orbien

    WebSocket

    diff --git a/docs/transport/tcp-mux.html b/docs/transport/tcp-mux.html index 3a7944a..5e206dc 100644 --- a/docs/transport/tcp-mux.html +++ b/docs/transport/tcp-mux.html @@ -1,4 +1,4 @@ -TCP 多路复用 | Orbien +TCP 多路复用 | Orbien

    TCP 多路复用

    diff --git a/docs/transport/tls.html b/docs/transport/tls.html index 7f458e3..80d4bfe 100644 --- a/docs/transport/tls.html +++ b/docs/transport/tls.html @@ -1,4 +1,4 @@ -TLS | Orbien +TLS | Orbien

    TLS

    diff --git a/docs/tunnels/domains.html b/docs/tunnels/domains.html index 3843557..7a684a3 100644 --- a/docs/tunnels/domains.html +++ b/docs/tunnels/domains.html @@ -1,4 +1,4 @@ -域名 | Orbien +域名 | Orbien

    域名

    diff --git a/docs/tunnels/http.html b/docs/tunnels/http.html index 4cb8572..e99960d 100644 --- a/docs/tunnels/http.html +++ b/docs/tunnels/http.html @@ -1,4 +1,4 @@ -HTTP | Orbien +HTTP | Orbien

    HTTP

    diff --git a/docs/tunnels/https.html b/docs/tunnels/https.html index 3507a1d..ededcb5 100644 --- a/docs/tunnels/https.html +++ b/docs/tunnels/https.html @@ -1,4 +1,4 @@ -HTTPS | Orbien +HTTPS | Orbien

    HTTPS

    diff --git a/docs/tunnels/socks5.html b/docs/tunnels/socks5.html index daa6994..e582209 100644 --- a/docs/tunnels/socks5.html +++ b/docs/tunnels/socks5.html @@ -1,4 +1,4 @@ -SOCKS5 | Orbien +SOCKS5 | Orbien

    SOCKS5

    diff --git a/docs/tunnels/tcp.html b/docs/tunnels/tcp.html index a8e1574..e046af0 100644 --- a/docs/tunnels/tcp.html +++ b/docs/tunnels/tcp.html @@ -1,4 +1,4 @@ -TCP | Orbien +TCP | Orbien

    TCP

    diff --git a/docs/tunnels/udp.html b/docs/tunnels/udp.html index 3fd4c46..9ac48bd 100644 --- a/docs/tunnels/udp.html +++ b/docs/tunnels/udp.html @@ -1,4 +1,4 @@ -UDP | Orbien +UDP | Orbien

    UDP

    diff --git a/en/404.html b/en/404.html index 4eb049b..2a9d3ba 100644 --- a/en/404.html +++ b/en/404.html @@ -1,4 +1,4 @@ -Page Not Found | Orbien +Page Not Found | Orbien

    Page Not Found

    We could not find what you were looking for.

    Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

    \ No newline at end of file diff --git a/en/assets/js/523c1e1a.4fdd567e.js b/en/assets/js/523c1e1a.03972826.js similarity index 72% rename from en/assets/js/523c1e1a.4fdd567e.js rename to en/assets/js/523c1e1a.03972826.js index ad57761..f1399fa 100644 --- a/en/assets/js/523c1e1a.4fdd567e.js +++ b/en/assets/js/523c1e1a.03972826.js @@ -1,2 +1,2 @@ "use strict";(self.webpackChunkorbien_docs=self.webpackChunkorbien_docs||[]).push([["301"],{790(e,n,r){r.r(n),r.d(n,{metadata:()=>t,default:()=>P,frontMatter:()=>k,contentTitle:()=>I,toc:()=>_,assets:()=>S});var t=JSON.parse('{"id":"integrations/springboot","title":"Spring Boot Integration","description":"Orbien provides an embeddable Java client for Spring Boot. Current scope:","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/integrations/springboot.mdx","sourceDirName":"integrations","slug":"/integrations/springboot","permalink":"/orbien/en/docs/integrations/springboot","draft":false,"unlisted":false,"editUrl":"https://github.com/orbien-org/orbien/tree/main/docs/docs/integrations/springboot.mdx","tags":[],"version":"current","sidebarPosition":1,"frontMatter":{"sidebar_position":1,"sidebar_label":"Spring Boot"},"sidebar":"docsSidebar","previous":{"title":"Hot Reload","permalink":"/orbien/en/docs/features/hot-reload"},"next":{"title":"Performance","permalink":"/orbien/en/docs/performance"}}'),o=r(1987),a=r(7008),i=r(1763),l=r(3526),s=r(1009),c=r(6532),u=r(9879),d=r(9327),p=r(8292),h=r(8184);function f({value:e,tabValues:n}){return n.some(n=>n.value===e)}let m=(0,i.createContext)(null);function b(){let e=i.useContext(m);if(!e)throw Error("useTabsContext() must be used within a Tabs component");return e}function g(e){return(0,o.jsx)(m.Provider,{value:e.value,children:e.children})}var x=r(8522),v=r(8261);function j({className:e}){let{selectedValue:n,selectValue:r,tabValues:t,block:a}=b(),i=[],{blockElementScrollPositionUntilNextRender:s}=(0,x.a_)(),c=e=>{let o=e.currentTarget,a=t[i.indexOf(o)].value;a!==n&&(s(o),r(a))},u=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{let r=i.indexOf(e.currentTarget)+1;n=i[r]??i[0];break}case"ArrowLeft":{let r=i.indexOf(e.currentTarget)-1;n=i[r]??i[i.length-1]}}n?.focus()};return(0,o.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,l.A)("tabs",{"tabs--block":a},e),children:t.map(({value:e,label:r,attributes:t})=>(0,o.jsx)("li",{role:"tab",tabIndex:n===e?0:-1,"aria-selected":n===e,ref:e=>{i.push(e)},onKeyDown:u,onClick:c,...t,className:(0,l.A)("tabs__item","tabItem_Xg_G",t?.className,{"tabs__item--active":n===e}),children:r??e},e))})}function y({children:e}){return(0,o.jsx)("div",{className:"margin-top--md",children:e})}function w({className:e,children:n}){return(0,o.jsxs)("div",{className:(0,l.A)(s.G.tabs.container,"tabs-container","tabList_f3wh"),children:[(0,o.jsx)(j,{className:e}),(0,o.jsx)(y,{children:n})]})}function T(e){var n;let r=(0,v.A)(),t=function(e){let n,{defaultValue:r,queryString:t=!1,groupId:o}=e,a=function(e){let{values:n,children:r}=e;return(0,i.useMemo)(()=>{let e=n??i.Children.toArray(r).flatMap(e=>{if(!e)return[];if((0,i.isValidElement)(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return[e];let n="string"==typeof e.type?e.type:e.type.name;throw Error(`Docusaurus error: Bad child <${n}>: all children of the component should be , and every should have a unique "value" prop. -If you do not want to pass on a "value" prop to the direct children of , you can also pass an explicit prop.`)}).map(({props:{value:e,label:n,attributes:r,default:t}})=>({value:e,label:n,attributes:r,default:t})),t=(0,p.XI)(e,(e,n)=>e.value===n.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>`'${e.value}'`).join(", ")}" found in . Every value needs to be unique.`);return e},[n,r])}(e),[l,s]=(0,i.useState)(()=>(function({defaultValue:e,tabValues:n}){if(0===n.length)throw Error("Docusaurus error: the component requires at least one children component");if(e){if(!f({value:e,tabValues:n}))throw Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:r,tabValues:a})),[m,b]=function({queryString:e=!1,groupId:n}){let r=(0,c.W6)(),t=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,d.aZ)(t),(0,i.useCallback)(e=>{if(!t)return;let n=new URLSearchParams(r.location.search);n.set(t,e),r.replace({...r.location,search:n.toString()})},[t,r])]}({queryString:t,groupId:o}),[g,x]=function({groupId:e}){let n=e?`docusaurus.tab.${e}`:null,[r,t]=(0,h.Dv)(n);return[r,(0,i.useCallback)(e=>{n&&t.set(e)},[n,t])]}({groupId:o}),v=f({value:n=m??g,tabValues:a})?n:null;return(0,u.A)(()=>{v&&s(v)},[v]),{selectedValue:l,selectValue:(0,i.useCallback)(e=>{if(!f({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);s(e),b(e),x(e)},[b,x,a]),tabValues:a,lazy:e.lazy??!1,block:e.block??!1}}(e);return(0,o.jsx)(g,{value:t,children:(0,o.jsx)(w,{className:e.className,children:(n=e.children,i.Children.toArray(n).filter(e=>"\n"!==e))})},String(r))}function C({children:e,className:n,hidden:r}){return(0,o.jsx)("div",{role:"tabpanel",className:(0,l.A)("tabItem_vIHf",n),hidden:r,children:e})}function N({children:e,className:n,value:r}){let{selectedValue:t,lazy:a}=b(),i=r===t;return!i&&a?null:(0,o.jsx)(C,{className:n,hidden:!i,children:e})}let k={sidebar_position:1,sidebar_label:"Spring Boot"},I="Spring Boot Integration",S={},_=[{value:"Minimal configuration",id:"minimal-configuration",level:2},{value:"Full reference",id:"full-reference",level:2}];function E(e){let n={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"spring-boot-integration",children:"Spring Boot Integration"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Orbien"})," provides an embeddable Java client for Spring Boot. Current scope:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Tunnel protocols: ",(0,o.jsx)(n.strong,{children:"TCP"})," and ",(0,o.jsx)(n.strong,{children:"HTTP"})," only"]}),"\n",(0,o.jsxs)(n.li,{children:["Transport: ",(0,o.jsx)(n.strong,{children:"TCP"})," only"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"No TCP multiplexing"}),": set ",(0,o.jsx)(n.code,{children:"orbien.tcp-mux"})," to ",(0,o.jsx)(n.code,{children:"false"}),", and set ",(0,o.jsx)(n.code,{children:"[transport].tcpMux = false"})," on the server (multiplexing is on by default; turn it off when using the Java client)"]}),"\n"]}),"\n",(0,o.jsxs)(T,{children:[(0,o.jsx)(N,{value:"Maven",label:"Maven",default:!0,children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-xml",children:"\n io.github.lxien\n orbien-spring-boot-starter\n 3.3.0-beta.1\n\n"})})}),(0,o.jsx)(N,{value:"Gradle",label:"Gradle",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-groovy",children:'implementation("io.github.lxien:orbien-spring-boot-starter:3.3.0-beta.1")\n'})})})]}),"\n",(0,o.jsx)(n.h2,{id:"minimal-configuration",children:"Minimal configuration"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"local-port"})," and ",(0,o.jsx)(n.code,{children:"name"})," are optional. When omitted, the starter uses the Spring Boot web port and ",(0,o.jsx)(n.code,{children:"spring.application.name"})," (or ",(0,o.jsx)(n.code,{children:"orbien-{protocol}"}),")."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:"# application.yml\norbien:\n enabled: true\n server-addr: 127.0.0.1\n # token: YOUR_TOKEN # optional\n tunnel:\n protocol: http\n domains:\n - web.domain.com\n"})}),"\n",(0,o.jsx)(n.p,{children:"Disable multiplexing on the server, for example:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-toml",children:'# orbien-server.toml\nlisten = "0.0.0.0:9527"\nhttpGwPort = 80\n\n[transport]\ntcpMux = false # disable TCP multiplexing\n'})}),"\n",(0,o.jsx)(n.h2,{id:"full-reference",children:"Full reference"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:'# application.yml\norbien:\n enabled: true\n server-addr: 127.0.0.1\n server-port: 9527\n token: YOUR_TOKEN\n tcp-mux: false # must be false and match the server\n pool-count: 1 # data-connection pool size requested at login\n heartbeat-interval-secs: 30\n user: spring-boot-demo # optional; shown on the dashboard\n # session-id: "" # optional; if empty, restore from session-id-file or generate\n # session-id-file: "" # optional; if empty, use the default path under the user home\n tunnel:\n name: web-demo # optional\n protocol: http # tcp | http\n local-ip: 127.0.0.1\n # local-port: 8080 # optional; defaults to the Spring Boot listen port\n # remote-port: 9000 # required when protocol=tcp\n domains: # required when protocol=http\n - web.domain.com\n'})})]})}function P(e={}){let{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(E,{...e})}):E(e)}},7008(e,n,r){r.d(n,{R:()=>i,x:()=>l});var t=r(1763);let o={},a=t.createContext(o);function i(e){let n=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file +If you do not want to pass on a "value" prop to the direct children of , you can also pass an explicit prop.`)}).map(({props:{value:e,label:n,attributes:r,default:t}})=>({value:e,label:n,attributes:r,default:t})),t=(0,p.XI)(e,(e,n)=>e.value===n.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>`'${e.value}'`).join(", ")}" found in . Every value needs to be unique.`);return e},[n,r])}(e),[l,s]=(0,i.useState)(()=>(function({defaultValue:e,tabValues:n}){if(0===n.length)throw Error("Docusaurus error: the component requires at least one children component");if(e){if(!f({value:e,tabValues:n}))throw Error(`Docusaurus error: The has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}let r=n.find(e=>e.default)??n[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:r,tabValues:a})),[m,b]=function({queryString:e=!1,groupId:n}){let r=(0,c.W6)(),t=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,d.aZ)(t),(0,i.useCallback)(e=>{if(!t)return;let n=new URLSearchParams(r.location.search);n.set(t,e),r.replace({...r.location,search:n.toString()})},[t,r])]}({queryString:t,groupId:o}),[g,x]=function({groupId:e}){let n=e?`docusaurus.tab.${e}`:null,[r,t]=(0,h.Dv)(n);return[r,(0,i.useCallback)(e=>{n&&t.set(e)},[n,t])]}({groupId:o}),v=f({value:n=m??g,tabValues:a})?n:null;return(0,u.A)(()=>{v&&s(v)},[v]),{selectedValue:l,selectValue:(0,i.useCallback)(e=>{if(!f({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);s(e),b(e),x(e)},[b,x,a]),tabValues:a,lazy:e.lazy??!1,block:e.block??!1}}(e);return(0,o.jsx)(g,{value:t,children:(0,o.jsx)(w,{className:e.className,children:(n=e.children,i.Children.toArray(n).filter(e=>"\n"!==e))})},String(r))}function C({children:e,className:n,hidden:r}){return(0,o.jsx)("div",{role:"tabpanel",className:(0,l.A)("tabItem_vIHf",n),hidden:r,children:e})}function N({children:e,className:n,value:r}){let{selectedValue:t,lazy:a}=b(),i=r===t;return!i&&a?null:(0,o.jsx)(C,{className:n,hidden:!i,children:e})}let k={sidebar_position:1,sidebar_label:"Spring Boot"},I="Spring Boot Integration",S={},_=[{value:"Minimal configuration",id:"minimal-configuration",level:2},{value:"Full reference",id:"full-reference",level:2}];function E(e){let n={code:"code",h1:"h1",h2:"h2",header:"header",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"spring-boot-integration",children:"Spring Boot Integration"})}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.strong,{children:"Orbien"})," provides an embeddable Java client for Spring Boot. Current scope:"]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["Tunnel protocols: ",(0,o.jsx)(n.strong,{children:"TCP"})," and ",(0,o.jsx)(n.strong,{children:"HTTP"})," only"]}),"\n",(0,o.jsxs)(n.li,{children:["Transport: ",(0,o.jsx)(n.strong,{children:"TCP"})," only"]}),"\n",(0,o.jsxs)(n.li,{children:[(0,o.jsx)(n.strong,{children:"No TCP multiplexing"}),": set ",(0,o.jsx)(n.code,{children:"orbien.tcp-mux"})," to ",(0,o.jsx)(n.code,{children:"false"}),", and set ",(0,o.jsx)(n.code,{children:"[transport].tcpMux = false"})," on the server (multiplexing is on by default; turn it off when using the Java client)"]}),"\n"]}),"\n",(0,o.jsxs)(T,{children:[(0,o.jsx)(N,{value:"Maven",label:"Maven",default:!0,children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-xml",children:"\n io.github.lxien\n orbien-spring-boot-starter\n 3.3.0\n\n"})})}),(0,o.jsx)(N,{value:"Gradle",label:"Gradle",children:(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-groovy",children:'implementation("io.github.lxien:orbien-spring-boot-starter:3.3.0")\n'})})})]}),"\n",(0,o.jsx)(n.h2,{id:"minimal-configuration",children:"Minimal configuration"}),"\n",(0,o.jsxs)(n.p,{children:[(0,o.jsx)(n.code,{children:"local-port"})," and ",(0,o.jsx)(n.code,{children:"name"})," are optional. When omitted, the starter uses the Spring Boot web port and ",(0,o.jsx)(n.code,{children:"spring.application.name"})," (or ",(0,o.jsx)(n.code,{children:"orbien-{protocol}"}),")."]}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:"# application.yml\norbien:\n enabled: true\n server-addr: 127.0.0.1\n # token: YOUR_TOKEN # optional\n tunnel:\n protocol: http\n domains:\n - web.domain.com\n"})}),"\n",(0,o.jsx)(n.p,{children:"Disable multiplexing on the server, for example:"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-toml",children:'# orbien-server.toml\nlisten = "0.0.0.0:9527"\nhttpGwPort = 80\n\n[transport]\ntcpMux = false # disable TCP multiplexing\n'})}),"\n",(0,o.jsx)(n.h2,{id:"full-reference",children:"Full reference"}),"\n",(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-yaml",children:'# application.yml\norbien:\n enabled: true\n server-addr: 127.0.0.1\n server-port: 9527\n token: YOUR_TOKEN\n tcp-mux: false # must be false and match the server\n pool-count: 1 # data-connection pool size requested at login\n heartbeat-interval-secs: 30\n user: spring-boot-demo # optional; shown on the dashboard\n # session-id: "" # optional; if empty, restore from session-id-file or generate\n # session-id-file: "" # optional; if empty, use the default path under the user home\n tunnel:\n name: web-demo # optional\n protocol: http # tcp | http\n local-ip: 127.0.0.1\n # local-port: 8080 # optional; defaults to the Spring Boot listen port\n # remote-port: 9000 # required when protocol=tcp\n domains: # required when protocol=http\n - web.domain.com\n'})})]})}function P(e={}){let{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(E,{...e})}):E(e)}},7008(e,n,r){r.d(n,{R:()=>i,x:()=>l});var t=r(1763);let o={},a=t.createContext(o);function i(e){let n=t.useContext(a);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:i(e.components),t.createElement(a.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/b3adb838.5d6e1918.js b/en/assets/js/b3adb838.5d6e1918.js new file mode 100644 index 0000000..6deb842 --- /dev/null +++ b/en/assets/js/b3adb838.5d6e1918.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkorbien_docs=self.webpackChunkorbien_docs||[]).push([["431"],{3323(e,n,r){r.r(n),r.d(n,{metadata:()=>s,default:()=>I,frontMatter:()=>k,contentTitle:()=>v,toc:()=>$,assets:()=>_});var s=JSON.parse('{"id":"download","title":"Download","description":"Choose the package for your OS and architecture","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/download.mdx","sourceDirName":".","slug":"/download","permalink":"/orbien/en/docs/download","draft":false,"unlisted":false,"editUrl":"https://github.com/orbien-org/orbien/tree/main/docs/docs/download.mdx","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"sidebar_label":"Download"},"sidebar":"docsSidebar","previous":{"title":"Introduction","permalink":"/orbien/en/docs/intro"},"next":{"title":"Quick Start","permalink":"/orbien/en/docs/quickstart"}}'),o=r(1987),i=r(7008),a=r(1763),d=r(3526),l=r(6475);let t="dockerItem_OmD2",c="dockerMeta_so8T",u="dockerTag_NGl6",m="dockerCmd_lfBm",h="orbien-org/orbien",b=new Set(["orbien-server|linux|amd64|gnu","orbien-server|linux|amd64|musl","orbien-server|linux|arm64|gnu","orbien-server|linux|arm64|musl","orbien-server|windows|amd64","orbien-server|windows|arm64","orbien-server|darwin|amd64","orbien-server|darwin|arm64","orbien-server|freebsd|amd64","orbien|linux|amd64|gnu","orbien|linux|amd64|musl","orbien|linux|arm64|gnu","orbien|linux|arm64|musl","orbien|windows|amd64","orbien|windows|arm64","orbien|darwin|amd64","orbien|darwin|arm64","orbien|freebsd|amd64","orbien-desktop|linux|amd64|gnu","orbien-desktop|linux|arm64|gnu","orbien-desktop|windows|amd64","orbien-desktop|windows|arm64","orbien-desktop|darwin|amd64","orbien-desktop|darwin|arm64"]),x=[{os:"linux",arch:"amd64",libc:"gnu",noteId:"glibc"},{os:"linux",arch:"amd64",libc:"musl",noteId:"musl"},{os:"linux",arch:"arm64",libc:"gnu",noteId:"glibc"},{os:"linux",arch:"arm64",libc:"musl",noteId:"musl"},{os:"freebsd",arch:"amd64",noteId:"none"},{os:"windows",arch:"amd64",noteId:"none"},{os:"windows",arch:"arm64",noteId:"none"},{os:"darwin",arch:"amd64",noteId:"macosGatekeeper"},{os:"darwin",arch:"arm64",noteId:"macosGatekeeper"}],p={windows:"Windows",darwin:"macOS",linux:"Linux",freebsd:"FreeBSD"},w={amd64:"amd64",arm64:"arm64"},g=[{id:"server",name:"orbien-server",label:(0,o.jsx)(l.A,{id:"download.product.server",children:"\u670D\u52A1\u7AEF"})},{id:"client",name:"orbien",label:(0,o.jsx)(l.A,{id:"download.product.client",children:"\u547D\u4EE4\u884C\u5BA2\u6237\u7AEF"})},{id:"desktop",name:"orbien-desktop",label:(0,o.jsx)(l.A,{id:"download.product.desktop",children:"\u684C\u9762\u5BA2\u6237\u7AEF"})}];function j(e,n){if("orbien-desktop"!==e)return"tar.gz";switch(n){case"linux":return"deb";case"windows":return"zip";case"darwin":return"dmg";default:return"tar.gz"}}function f(){let[e,n]=(0,a.useState)("3.3.0"),[r,s]=(0,a.useState)(null),[i,f]=(0,a.useState)(null);(0,a.useEffect)(()=>{f(function(){if("u"{let e=!1;return(async()=>{try{let r=await fetch(`https://api.github.com/repos/${h}/releases/latest`,{headers:{Accept:"application/vnd.github+json"}});if(!r.ok)return;let o=await r.json();if(e)return;let i=o.tag_name?.replace(/^v/,"");i&&n(i),o.assets&&s(new Set(o.assets.map(e=>e.name)))}catch{}})(),()=>{e=!0}},[]);let k=(0,a.useMemo)(()=>{let e=new Map,n=0;for(;n(0,o.jsx)("th",{children:e.label},e.id)),(0,o.jsx)("th",{children:(0,o.jsx)(l.A,{id:"download.col.note",children:"\u8BF4\u660E"})})]})}),(0,o.jsx)("tbody",{children:x.map((n,s)=>{let a=k.get(s),t=void 0!==a,c="linux"===n.os?n.libc:void 0;return(0,o.jsxs)("tr",{className:(0,d.A)(i===n.os&&"rowHighlight_Rqix"),children:[t?(0,o.jsx)("td",{rowSpan:a,className:"osCell_btT0",children:p[n.os]}):null,(0,o.jsx)("td",{children:(0,o.jsx)("code",{children:w[n.arch]})}),(0,o.jsx)("td",{children:c?(0,o.jsx)("code",{className:"libcTag_lP5V",children:c}):null}),g.map(s=>{var i,a,d,l,t,u,m,x,p,w;let g,f,k="orbien-desktop"===s.name,v=k?"linux"===n.os&&"gnu"===n.libc?"gnu":void 0:c,_=(i=s.name,a=n.os,d=n.arch,b.has(v?`${i}|${a}|${d}|${v}`:`${i}|${a}|${d}`)),$=(l=s.name,t=n.os,u=k?void 0:c,g=j(l,t),"orbien-desktop"!==l&&u?`${u} \xb7 ${g}`:g),N=(m=s.name,x=n.os,p=n.arch,w=k?void 0:c,f=j(m,x),"orbien-desktop"===m?`${m}_${e}_${x}_${p}.${f}`:w?`${m}_${e}_${x}_${p}_${w}.${f}`:`${m}_${e}_${x}_${p}.${f}`),I=!r||r.has(N);return(0,o.jsx)("td",{children:_&&I?(0,o.jsx)("a",{className:"badge_x6zy",href:`https://github.com/${h}/releases/download/v${e}/${N}`,title:N,rel:"noopener noreferrer",children:$}):null},s.id)}),(0,o.jsx)("td",{className:"note_heJW",children:function(e){switch(e){case"glibc":return(0,l.T)({id:"download.note.glibc",message:"\u52A8\u6001\u94FE\u63A5 glibc"});case"musl":return(0,l.T)({id:"download.note.musl",message:"\u9759\u6001\u94FE\u63A5\uFF0C\u517C\u5BB9\u65E7 glibc"});case"macosGatekeeper":return(0,l.T)({id:"download.note.macosGatekeeper",message:"\u5982\u9047\u62E6\u622A\uFF0C\u4E8E\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u5141\u8BB8\u8FD0\u884C"});default:return""}}(n.noteId)})]},`${n.os}-${n.arch}-${n.libc??"default"}`)})})]})}),(0,o.jsxs)("div",{className:"docker_YIhP",children:[(0,o.jsx)("h3",{children:"Docker"}),(0,o.jsxs)("ul",{className:"dockerList_T7jC",children:[(0,o.jsxs)("li",{className:t,children:[(0,o.jsxs)("div",{className:c,children:[(0,o.jsx)("strong",{children:"orbien-server"}),(0,o.jsx)("span",{className:u,children:"server"})]}),(0,o.jsx)("code",{className:m,children:"docker pull ghcr.io/orbien-org/orbien-server:latest"})]}),(0,o.jsxs)("li",{className:t,children:[(0,o.jsxs)("div",{className:c,children:[(0,o.jsx)("strong",{children:"orbien"}),(0,o.jsx)("span",{className:u,children:"client"})]}),(0,o.jsx)("code",{className:m,children:"docker pull ghcr.io/orbien-org/orbien:latest"})]})]})]})]})}let k={sidebar_position:2,sidebar_label:"Download"},v="Download",_={},$=[];function N(e){let n={h1:"h1",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"download",children:"Download"})}),"\n",(0,o.jsx)(n.p,{children:"Choose the package for your OS and architecture"}),"\n",(0,o.jsx)(f,{})]})}function I(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(N,{...e})}):N(e)}},7008(e,n,r){r.d(n,{R:()=>a,x:()=>d});var s=r(1763);let o={},i=s.createContext(o);function a(e){let n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/b3adb838.76684727.js b/en/assets/js/b3adb838.76684727.js deleted file mode 100644 index 573ece4..0000000 --- a/en/assets/js/b3adb838.76684727.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkorbien_docs=self.webpackChunkorbien_docs||[]).push([["431"],{3323(e,n,r){r.r(n),r.d(n,{metadata:()=>s,default:()=>I,frontMatter:()=>k,contentTitle:()=>v,toc:()=>$,assets:()=>_});var s=JSON.parse('{"id":"download","title":"Download","description":"Choose the package for your OS and architecture","source":"@site/i18n/en/docusaurus-plugin-content-docs/current/download.mdx","sourceDirName":".","slug":"/download","permalink":"/orbien/en/docs/download","draft":false,"unlisted":false,"editUrl":"https://github.com/orbien-org/orbien/tree/main/docs/docs/download.mdx","tags":[],"version":"current","sidebarPosition":2,"frontMatter":{"sidebar_position":2,"sidebar_label":"Download"},"sidebar":"docsSidebar","previous":{"title":"Introduction","permalink":"/orbien/en/docs/intro"},"next":{"title":"Quick Start","permalink":"/orbien/en/docs/quickstart"}}'),o=r(1987),i=r(7008),a=r(1763),d=r(3526),l=r(6475);let t="dockerItem_OmD2",c="dockerMeta_so8T",u="dockerTag_NGl6",m="dockerCmd_lfBm",h="orbien-org/orbien",b=new Set(["orbien-server|linux|amd64|gnu","orbien-server|linux|amd64|musl","orbien-server|linux|arm64|gnu","orbien-server|linux|arm64|musl","orbien-server|windows|amd64","orbien-server|windows|arm64","orbien-server|darwin|amd64","orbien-server|darwin|arm64","orbien-server|freebsd|amd64","orbien|linux|amd64|gnu","orbien|linux|amd64|musl","orbien|linux|arm64|gnu","orbien|linux|arm64|musl","orbien|windows|amd64","orbien|windows|arm64","orbien|darwin|amd64","orbien|darwin|arm64","orbien|freebsd|amd64","orbien-desktop|linux|amd64|gnu","orbien-desktop|linux|arm64|gnu","orbien-desktop|windows|amd64","orbien-desktop|windows|arm64","orbien-desktop|darwin|amd64","orbien-desktop|darwin|arm64"]),x=[{os:"linux",arch:"amd64",libc:"gnu",noteId:"glibc"},{os:"linux",arch:"amd64",libc:"musl",noteId:"musl"},{os:"linux",arch:"arm64",libc:"gnu",noteId:"glibc"},{os:"linux",arch:"arm64",libc:"musl",noteId:"musl"},{os:"freebsd",arch:"amd64",noteId:"none"},{os:"windows",arch:"amd64",noteId:"none"},{os:"windows",arch:"arm64",noteId:"none"},{os:"darwin",arch:"amd64",noteId:"macosGatekeeper"},{os:"darwin",arch:"arm64",noteId:"macosGatekeeper"}],p={windows:"Windows",darwin:"macOS",linux:"Linux",freebsd:"FreeBSD"},w={amd64:"amd64",arm64:"arm64"},g=[{id:"server",name:"orbien-server",label:(0,o.jsx)(l.A,{id:"download.product.server",children:"\u670D\u52A1\u7AEF"})},{id:"client",name:"orbien",label:(0,o.jsx)(l.A,{id:"download.product.client",children:"\u547D\u4EE4\u884C\u5BA2\u6237\u7AEF"})},{id:"desktop",name:"orbien-desktop",label:(0,o.jsx)(l.A,{id:"download.product.desktop",children:"\u684C\u9762\u5BA2\u6237\u7AEF"})}];function j(e,n){if("orbien-desktop"!==e)return"tar.gz";switch(n){case"linux":return"deb";case"windows":return"zip";case"darwin":return"dmg";default:return"tar.gz"}}function f(){let[e,n]=(0,a.useState)("3.3.0-beta.1"),[r,s]=(0,a.useState)(null),[i,f]=(0,a.useState)(null);(0,a.useEffect)(()=>{f(function(){if("u"{let e=!1;return(async()=>{try{let r=await fetch(`https://api.github.com/repos/${h}/releases/latest`,{headers:{Accept:"application/vnd.github+json"}});if(!r.ok)return;let o=await r.json();if(e)return;let i=o.tag_name?.replace(/^v/,"");i&&n(i),o.assets&&s(new Set(o.assets.map(e=>e.name)))}catch{}})(),()=>{e=!0}},[]);let k=(0,a.useMemo)(()=>{let e=new Map,n=0;for(;n(0,o.jsx)("th",{children:e.label},e.id)),(0,o.jsx)("th",{children:(0,o.jsx)(l.A,{id:"download.col.note",children:"\u8BF4\u660E"})})]})}),(0,o.jsx)("tbody",{children:x.map((n,s)=>{let a=k.get(s),t=void 0!==a,c="linux"===n.os?n.libc:void 0;return(0,o.jsxs)("tr",{className:(0,d.A)(i===n.os&&"rowHighlight_Rqix"),children:[t?(0,o.jsx)("td",{rowSpan:a,className:"osCell_btT0",children:p[n.os]}):null,(0,o.jsx)("td",{children:(0,o.jsx)("code",{children:w[n.arch]})}),(0,o.jsx)("td",{children:c?(0,o.jsx)("code",{className:"libcTag_lP5V",children:c}):null}),g.map(s=>{var i,a,d,l,t,u,m,x,p,w;let g,f,k="orbien-desktop"===s.name,v=k?"linux"===n.os&&"gnu"===n.libc?"gnu":void 0:c,_=(i=s.name,a=n.os,d=n.arch,b.has(v?`${i}|${a}|${d}|${v}`:`${i}|${a}|${d}`)),$=(l=s.name,t=n.os,u=k?void 0:c,g=j(l,t),"orbien-desktop"!==l&&u?`${u} \xb7 ${g}`:g),N=(m=s.name,x=n.os,p=n.arch,w=k?void 0:c,f=j(m,x),"orbien-desktop"===m?`${m}_${e}_${x}_${p}.${f}`:w?`${m}_${e}_${x}_${p}_${w}.${f}`:`${m}_${e}_${x}_${p}.${f}`),I=!r||r.has(N);return(0,o.jsx)("td",{children:_&&I?(0,o.jsx)("a",{className:"badge_x6zy",href:`https://github.com/${h}/releases/download/v${e}/${N}`,title:N,rel:"noopener noreferrer",children:$}):null},s.id)}),(0,o.jsx)("td",{className:"note_heJW",children:function(e){switch(e){case"glibc":return(0,l.T)({id:"download.note.glibc",message:"\u52A8\u6001\u94FE\u63A5 glibc"});case"musl":return(0,l.T)({id:"download.note.musl",message:"\u9759\u6001\u94FE\u63A5\uFF0C\u517C\u5BB9\u65E7 glibc"});case"macosGatekeeper":return(0,l.T)({id:"download.note.macosGatekeeper",message:"\u5982\u9047\u62E6\u622A\uFF0C\u4E8E\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u5141\u8BB8\u8FD0\u884C"});default:return""}}(n.noteId)})]},`${n.os}-${n.arch}-${n.libc??"default"}`)})})]})}),(0,o.jsxs)("div",{className:"docker_YIhP",children:[(0,o.jsx)("h3",{children:"Docker"}),(0,o.jsxs)("ul",{className:"dockerList_T7jC",children:[(0,o.jsxs)("li",{className:t,children:[(0,o.jsxs)("div",{className:c,children:[(0,o.jsx)("strong",{children:"orbien-server"}),(0,o.jsx)("span",{className:u,children:"server"})]}),(0,o.jsx)("code",{className:m,children:"docker pull ghcr.io/orbien-org/orbien-server:latest"})]}),(0,o.jsxs)("li",{className:t,children:[(0,o.jsxs)("div",{className:c,children:[(0,o.jsx)("strong",{children:"orbien"}),(0,o.jsx)("span",{className:u,children:"client"})]}),(0,o.jsx)("code",{className:m,children:"docker pull ghcr.io/orbien-org/orbien:latest"})]})]})]})]})}let k={sidebar_position:2,sidebar_label:"Download"},v="Download",_={},$=[];function N(e){let n={h1:"h1",header:"header",p:"p",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(n.header,{children:(0,o.jsx)(n.h1,{id:"download",children:"Download"})}),"\n",(0,o.jsx)(n.p,{children:"Choose the package for your OS and architecture"}),"\n",(0,o.jsx)(f,{})]})}function I(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(N,{...e})}):N(e)}},7008(e,n,r){r.d(n,{R:()=>a,x:()=>d});var s=r(1763);let o={},i=s.createContext(o);function a(e){let n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/en/assets/js/main.5f704614.js b/en/assets/js/main.4febe928.js similarity index 97% rename from en/assets/js/main.5f704614.js rename to en/assets/js/main.4febe928.js index 40acb39..2649168 100644 --- a/en/assets/js/main.5f704614.js +++ b/en/assets/js/main.4febe928.js @@ -24,7 +24,7 @@ function insertBanner() { : actualHomePagePath + '/'; suggestionContainer.textContent = suggestedBaseUrl; } -`})})})}function $(){let{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,w.A)(),{pathname:n}=(0,f.zy)();return t&&n===e?(0,r.jsx)(M,{}):null}function B(){let{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,w.A)(),i=(0,k.Ay)(e),{htmlLang:l,direction:s}=o[a];return(0,r.jsxs)(v.A,{children:[(0,r.jsx)("html",{lang:l,dir:s}),(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,r.jsx)("link",{rel:"icon",href:i})]})}var U=n(9047),H=n(8261);function V(){let e=(0,H.A)();return(0,r.jsx)(v.A,{children:(0,r.jsx)("html",{"data-has-hydrated":e})})}let W=(0,p.v)(d.A);function q(){let e=function(e){if(O.has(e.pathname))return{...e,pathname:O.get(e.pathname)};if((0,p.u)(d.A,e.pathname).some(({route:e})=>!0===e.exact))return O.set(e.pathname,e.pathname),e;let t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return O.set(e.pathname,t),{...e,pathname:t}}((0,f.zy)());return(0,r.jsx)(F,{location:e,children:W})}var G=n(4054);let Y=!function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise((t,n)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)})}:function(e){return new Promise((t,n)=>{if("u"t(),r.onerror=()=>n();let a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)})};var K=n(8115);let Q=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J=Object.freeze({prefetch:e=>!(X()||Z.has(e)||Q.has(e))&&(Q.add(e),Promise.all((0,p.u)(d.A,e).flatMap(e=>{let t;return t=e.route.path,Object.entries(G).filter(([e])=>e.replace(/-[^-]+$/,"")===t).flatMap(([,e])=>Object.values((0,K.A)(e)))}).map(e=>{let t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch(()=>{}):Promise.resolve()}))),preload:e=>!(X()||Z.has(e))&&(Z.add(e),D(e))});if(u.A.canUseDOM){window.docusaurus=J;let e=document.getElementById("__docusaurus"),t=(0,r.jsx)(i.vd,{children:(0,r.jsx)(function({children:e}){return"hash"===s.default.future.experimental_router?(0,r.jsx)(l.I9,{children:e}):(0,r.jsx)(l.Kd,{children:e})},{children:(0,r.jsx)(function(){return(0,r.jsx)(U.A,{children:(0,r.jsx)(N.l,{children:(0,r.jsxs)(L.x,{children:[(0,r.jsx)(m,{children:(0,r.jsxs)(y,{children:[(0,r.jsx)(B,{}),(0,r.jsx)(P,{}),(0,r.jsx)($,{}),(0,r.jsx)(q,{})]})}),(0,r.jsx)(V,{})]})})})},{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},u=()=>{window.docusaurusRoot?window.docusaurusRoot.render(t):window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n})};D(window.location.pathname).then(()=>{(0,a.startTransition)(u)})}},3235(e,t,n){"use strict";n.d(t,{l:()=>f,o:()=>d});var r=n(1987),a=n(1763),o=n(4784),i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/orbien/en/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/orbien/en/docs","mainDocId":"intro","docs":[{"id":"community","path":"/orbien/en/docs/community","sidebar":"docsSidebar"},{"id":"desktop","path":"/orbien/en/docs/desktop","sidebar":"docsSidebar"},{"id":"docker","path":"/orbien/en/docs/docker","sidebar":"docsSidebar"},{"id":"download","path":"/orbien/en/docs/download","sidebar":"docsSidebar"},{"id":"features/authentication","path":"/orbien/en/docs/features/authentication","sidebar":"docsSidebar"},{"id":"features/bandwidth","path":"/orbien/en/docs/features/bandwidth","sidebar":"docsSidebar"},{"id":"features/dashboard","path":"/orbien/en/docs/features/dashboard","sidebar":"docsSidebar"},{"id":"features/env","path":"/orbien/en/docs/features/env","sidebar":"docsSidebar"},{"id":"features/hot-reload","path":"/orbien/en/docs/features/hot-reload","sidebar":"docsSidebar"},{"id":"features/public-bind","path":"/orbien/en/docs/features/public-bind","sidebar":"docsSidebar"},{"id":"features/real-ip","path":"/orbien/en/docs/features/real-ip","sidebar":"docsSidebar"},{"id":"integrations/springboot","path":"/orbien/en/docs/integrations/springboot","sidebar":"docsSidebar"},{"id":"intro","path":"/orbien/en/docs/intro","sidebar":"docsSidebar"},{"id":"license","path":"/orbien/en/docs/license","sidebar":"docsSidebar"},{"id":"performance","path":"/orbien/en/docs/performance","sidebar":"docsSidebar"},{"id":"quickstart","path":"/orbien/en/docs/quickstart","sidebar":"docsSidebar"},{"id":"transport/connect-pool","path":"/orbien/en/docs/transport/connect-pool","sidebar":"docsSidebar"},{"id":"transport/protocol/kcp","path":"/orbien/en/docs/transport/protocol/kcp","sidebar":"docsSidebar"},{"id":"transport/protocol/quic","path":"/orbien/en/docs/transport/protocol/quic","sidebar":"docsSidebar"},{"id":"transport/protocol/tcp","path":"/orbien/en/docs/transport/protocol/tcp","sidebar":"docsSidebar"},{"id":"transport/protocol/websocket","path":"/orbien/en/docs/transport/protocol/websocket","sidebar":"docsSidebar"},{"id":"transport/tcp-mux","path":"/orbien/en/docs/transport/tcp-mux","sidebar":"docsSidebar"},{"id":"transport/tls","path":"/orbien/en/docs/transport/tls","sidebar":"docsSidebar"},{"id":"tunnels/domains","path":"/orbien/en/docs/tunnels/domains","sidebar":"docsSidebar"},{"id":"tunnels/http","path":"/orbien/en/docs/tunnels/http","sidebar":"docsSidebar"},{"id":"tunnels/https","path":"/orbien/en/docs/tunnels/https","sidebar":"docsSidebar"},{"id":"tunnels/socks5","path":"/orbien/en/docs/tunnels/socks5","sidebar":"docsSidebar"},{"id":"tunnels/tcp","path":"/orbien/en/docs/tunnels/tcp","sidebar":"docsSidebar"},{"id":"tunnels/udp","path":"/orbien/en/docs/tunnels/udp","sidebar":"docsSidebar"}],"draftIds":[],"sidebars":{"docsSidebar":{"link":{"path":"/orbien/en/docs/intro","label":"Introduction"}}}}],"breadcrumbs":true}}}'),l=JSON.parse('{"defaultLocale":"zh-Hans","locales":["zh-Hans","en"],"path":"i18n","currentLocale":"en","localeConfigs":{"zh-Hans":{"label":"\u4E2D\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-Hans","translate":false,"url":"https://orbien-org.github.io","baseUrl":"/orbien/"},"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en","translate":true,"url":"https://orbien-org.github.io","baseUrl":"/orbien/en/"}}}'),s=n(2654),u=JSON.parse('{"docusaurusVersion":"3.10.2","siteVersion":"3.3.0-beta.1","pluginVersions":{"docusaurus-plugin-css-cascade-layers":{"type":"package","name":"@docusaurus/plugin-css-cascade-layers","version":"3.10.2"},"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.10.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.10.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.10.2"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.10.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.10.2"}}}');let c={siteConfig:o.default,siteMetadata:u,globalData:i,i18n:l,codeTranslations:s},d=a.createContext(c);function f({children:e}){return(0,r.jsx)(d.Provider,{value:c,children:e})}},9047(e,t,n){"use strict";n.d(t,{A:()=>m});var r=n(1987),a=n(1763),o=n(4619),i=n(7634),l=n(2455),s=n(6819),u=n(9648);function c({error:e,tryAgain:t}){return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,r.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,r.jsx)("button",{type:"button",onClick:t,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,r.jsx)(d,{error:e})]})}function d({error:e}){let t=(0,l.getErrorCausalChain)(e).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:t})}function f({children:e}){return(0,r.jsx)(u.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:e})}function p({error:e,tryAgain:t}){return(0,r.jsx)(f,{children:(0,r.jsxs)(m,{fallback:()=>(0,r.jsx)(c,{error:e,tryAgain:t}),children:[(0,r.jsx)(i.A,{children:(0,r.jsx)("title",{children:"Page Error"})}),(0,r.jsx)(s.A,{children:(0,r.jsx)(c,{error:e,tryAgain:t})})]})})}class m extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){let{children:e}=this.props,{error:t}=this.state;return t?(this.props.fallback??(e=>(0,r.jsx)(p,{...e})))({error:t,tryAgain:()=>this.setState({error:null})}):e??null}}},4619(e,t,n){"use strict";n.d(t,{A:()=>a});let r="u">typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},7634(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1987);n(1763);var a=n(9883);function o(e){return(0,r.jsx)(a.mg,{...e})}},7364(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(1987),a=n(1763),o=n(5399),i=n(2455),l=n(5484),s=n(2236),u=n(4619),c=n(4216),d=n(319);let f=a.forwardRef(function({isNavLink:e,to:t,href:n,activeClassName:f,isActive:p,"data-noBrokenLinkCheck":m,autoAddBaseUrl:h=!0,...g},b){var y;let{siteConfig:v}=(0,l.A)(),{trailingSlash:w,baseUrl:k}=v,S=v.future.experimental_router,{withBaseUrl:x}=(0,d.hH)(),E=(0,c.A)(),_=(0,a.useRef)(null);(0,a.useImperativeHandle)(b,()=>_.current);let A=t||n,T=(0,s.A)(A),C=A?.replace("pathname://",""),P=void 0!==C?(y=C,h&&y.startsWith("/")?x(y):y):void 0;"hash"===S&&P?.startsWith("./")&&(P=P?.slice(1)),P&&T&&(P=(0,i.applyTrailingSlash)(P,{trailingSlash:w,baseUrl:k}));let O=(0,a.useRef)(!1),L=e?o.k2:o.N_,N=u.A.canUseIntersectionObserver,j=(0,a.useRef)(void 0),R=()=>{O.current||null==P||(window.docusaurus.preload(P),O.current=!0)};(0,a.useEffect)(()=>(!N&&T&&u.A.canUseDOM&&null!=P&&window.docusaurus.prefetch(P),()=>{N&&j.current&&j.current.disconnect()}),[j,P,N,T]);let I=P?.startsWith("#")??!1,D=!g.target||"_self"===g.target,F=!P||!T||!D||I&&"hash"!==S;m||!I&&F||E.collectLink(P),g.id&&E.collectAnchor(g.id);let z={};return F?(0,r.jsx)("a",{ref:_,href:P,...A&&!T&&{target:"_blank",rel:"noopener noreferrer"},...g,...z}):(0,r.jsx)(L,{...g,onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,N&&e&&T&&(j.current=new window.IntersectionObserver(t=>{t.forEach(t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(j.current.unobserve(e),j.current.disconnect(),null!=P&&window.docusaurus.prefetch(P))})}),j.current.observe(e))},to:P,...e&&{isActive:p,activeClassName:f},...z})})},116(e,t,n){"use strict";n.d(t,{A:()=>r});let r=()=>null},6475(e,t,n){"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(1987),a=n(1763);function o(e,t){let n=e.split(/(\{\w+\})/).map((e,n)=>{if(n%2==1){let n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e});return n.some(e=>(0,a.isValidElement)(e))?n.map((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e).filter(e=>""!==e):n.join("")}var i=n(2654);function l({id:e,message:t}){if(void 0===e&&void 0===t)throw Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[e??t]??t??e}function s({message:e,id:t},n){return o(l({message:e,id:t}),n)}function u({children:e,id:t,values:n}){if(e&&"string"!=typeof e)throw console.warn("Illegal children",e),Error("The Docusaurus component only accept simple string values");let a=l({message:e,id:t});return(0,r.jsx)(r.Fragment,{children:o(a,n)})}},8595(e,t,n){"use strict";n.d(t,{W:()=>r});let r="default"},2236(e,t,n){"use strict";function r(e){return/^(?:[A-Za-z][A-Za-z\d+.-]*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},319(e,t,n){"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(1763),a=n(5484),o=n(2236);function i(){let{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router;return{withBaseUrl:(0,r.useCallback)((e,r)=>(function({siteUrl:e,baseUrl:t,url:n,options:{forcePrependBaseUrl:r=!1,absolute:a=!1}={},router:i}){if(!n||n.startsWith("#")||(0,o.z)(n))return n;if("hash"===i)return n.startsWith("/")?`.${n}`:`./${n}`;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;let l=n.startsWith(t)?n:t+n.replace(/^\//,"");return a?e+l:l})({siteUrl:n,baseUrl:t,url:e,options:r,router:i}),[n,t,i])}}function l(e,t={}){let{withBaseUrl:n}=i();return n(e,t)}},4216(e,t,n){"use strict";n.d(t,{A:()=>o}),n(1987);var r=n(1763);let a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}});function o(){return(0,r.useContext)(a)}},5484(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(3235);function o(){return(0,r.useContext)(a.o)}},8261(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(4607);function o(){return(0,r.useContext)(a.o)}},9879(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(1763);let a=n(4619).A.canUseDOM?r.useLayoutEffect:r.useEffect},7581(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(9648);function o(){let e=r.useContext(a.o);if(!e)throw Error("Unexpected: no Docusaurus route context found");return e}},8115(e,t,n){"use strict";function r(e){let t={};return!function e(n,r){Object.entries(n).forEach(([n,a])=>{let o=r?`${r}.${n}`:n;"object"==typeof a&&a&&Object.keys(a).length>0?e(a,o):t[o]=a})}(e),t}n.d(t,{A:()=>r})},9648(e,t,n){"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(1987),a=n(1763);let o=a.createContext(null);function i({children:e,value:t}){let n=a.useContext(o),l=(0,a.useMemo)(()=>(function({parent:e,value:t}){if(!e){if(t){if(!("plugin"in t))throw Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute")}else throw Error("Unexpected: no Docusaurus route context found");return t}let n={...e.data,...t?.data};return{plugin:e.plugin,data:n}})({parent:n,value:t}),[n,t]);return(0,r.jsx)(o.Provider,{value:l,children:e})}},4806(e,t,n){"use strict";n.d(t,{VQ:()=>p,g1:()=>m});var r=n(1987),a=n(1763),o=n(9678),i=n(8595),l=n(8168),s=n(8184),u=n(7850);let c=e=>`docs-preferred-version-${e}`,d=a.createContext(null);function f({children:e}){let t=function(){let e=(0,o.Gy)(),t=(0,l.p)().docs.versionPersistence,n=(0,a.useMemo)(()=>Object.keys(e),[e]),[r,i]=(0,a.useState)(()=>Object.fromEntries(n.map(e=>[e,{preferredVersionName:null}])));return(0,a.useEffect)(()=>{i(function({pluginIds:e,versionPersistence:t,allDocsData:n}){return Object.fromEntries(e.map(e=>{var r,a;let o,i,l;return[e,(i=e,l=t,o=(0,s.Wf)(c(i),{persistence:l}).get(),n[e].versions.some(e=>e.name===o)?{preferredVersionName:o}:(r=e,a=t,(0,s.Wf)(c(r),{persistence:a}).del(),{preferredVersionName:null}))]}))}({allDocsData:e,versionPersistence:t,pluginIds:n}))},[e,t,n]),[r,(0,a.useMemo)(()=>({savePreferredVersion:function(e,n){var r,a,o;r=e,a=t,o=n,(0,s.Wf)(c(r),{persistence:a}).set(o),i(t=>({...t,[e]:{preferredVersionName:n}}))}}),[t])]}();return(0,r.jsx)(d.Provider,{value:t,children:e})}function p({children:e}){return(0,r.jsx)(f,{children:e})}function m(e=i.W){let t=(0,o.ht)(e),[n,r]=function(){let e=(0,a.useContext)(d);if(!e)throw new u.dV("DocsPreferredVersionContextProvider");return e}(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find(e=>e.name===l)??null,savePreferredVersionName:(0,a.useCallback)(t=>{r.savePreferredVersion(e,t)},[r,e])}}},345(e,t,n){"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(1987),a=n(1763),o=n(7850);let i=Symbol("EmptyContext"),l=a.createContext(i);function s({children:e,name:t,items:n}){let o=(0,a.useMemo)(()=>t&&n?{name:t,items:n}:null,[t,n]);return(0,r.jsx)(l.Provider,{value:o,children:e})}function u(){let e=(0,a.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},8484(e,t,n){"use strict";n.d(t,{B5:()=>v,Nr:()=>function e(t){if("link"===t.type&&!t.unlisted)return t.href;if("category"===t.type){if(t.href&&!t.linkUnlisted)return t.href;for(let n of t.items){let t=e(n);if(t)return t}return}},OF:()=>h,QB:()=>y,Vd:()=>g,Y:()=>m,fW:()=>b,w8:()=>p});var r=n(1763),a=n(6532),o=n(6345),i=n(9678),l=n(7711),s=n(8292),u=n(4806),c=n(73),d=n(345);let f=(e,t)=>void 0!==e&&(0,l.ys)(e,t);function p(e,t){if("link"===e.type)return f(e.href,t);if("category"===e.type){let n;return f(e.href,t)||(n=e.items,n.some(e=>p(e,t)))}return!1}function m(e,t){return(0,r.useMemo)(()=>e.filter(e=>(function e(t,n){switch(t.type){case"category":return p(t,n)||void 0!==t.href&&!t.linkUnlisted||t.items.some(t=>e(t,n));case"link":return!t.unlisted||p(t,n);default:return!0}})(e,t)),[e,t])}function h(){let e=(0,d.t)(),{pathname:t}=(0,a.zy)();return!1!==(0,i.vT)()?.pluginData.breadcrumbs&&e?function({sidebarItems:e,pathname:t,onlyCategories:n=!1}){let r=[];return!function e(a){for(let o of a)if("category"===o.type){if((0,l.ys)(o.href,t)||e(o.items))return r.unshift(o),!0}else if("link"===o.type&&o.docId&&(0,l.ys)(o.href,t))return n||r.unshift(o),!0;return!1}(e),r}({sidebarItems:e.items,pathname:t}):null}function g(e){let{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,u.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)(()=>(0,s.sb)([t,n,a].filter(Boolean)),[t,n,a])}function b(e,t){let n=g(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.sidebars?Object.entries(e.sidebars):[]),r=t.find(t=>t[0]===e);if(!r)throw Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map(e=>e.name).join(", ")}". +`})})})}function $(){let{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,w.A)(),{pathname:n}=(0,f.zy)();return t&&n===e?(0,r.jsx)(M,{}):null}function B(){let{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,w.A)(),i=(0,k.Ay)(e),{htmlLang:l,direction:s}=o[a];return(0,r.jsxs)(v.A,{children:[(0,r.jsx)("html",{lang:l,dir:s}),(0,r.jsx)("title",{children:t}),(0,r.jsx)("meta",{property:"og:title",content:t}),(0,r.jsx)("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&(0,r.jsx)("meta",{name:"robots",content:"noindex, nofollow"}),e&&(0,r.jsx)("link",{rel:"icon",href:i})]})}var U=n(9047),H=n(8261);function V(){let e=(0,H.A)();return(0,r.jsx)(v.A,{children:(0,r.jsx)("html",{"data-has-hydrated":e})})}let W=(0,p.v)(d.A);function q(){let e=function(e){if(O.has(e.pathname))return{...e,pathname:O.get(e.pathname)};if((0,p.u)(d.A,e.pathname).some(({route:e})=>!0===e.exact))return O.set(e.pathname,e.pathname),e;let t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return O.set(e.pathname,t),{...e,pathname:t}}((0,f.zy)());return(0,r.jsx)(F,{location:e,children:W})}var G=n(4054);let Y=!function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise((t,n)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)})}:function(e){return new Promise((t,n)=>{if("u"t(),r.onerror=()=>n();let a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)})};var K=n(8115);let Q=new Set,Z=new Set,X=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,J=Object.freeze({prefetch:e=>!(X()||Z.has(e)||Q.has(e))&&(Q.add(e),Promise.all((0,p.u)(d.A,e).flatMap(e=>{let t;return t=e.route.path,Object.entries(G).filter(([e])=>e.replace(/-[^-]+$/,"")===t).flatMap(([,e])=>Object.values((0,K.A)(e)))}).map(e=>{let t=n.gca(e);return t&&!t.includes("undefined")?Y(t).catch(()=>{}):Promise.resolve()}))),preload:e=>!(X()||Z.has(e))&&(Z.add(e),D(e))});if(u.A.canUseDOM){window.docusaurus=J;let e=document.getElementById("__docusaurus"),t=(0,r.jsx)(i.vd,{children:(0,r.jsx)(function({children:e}){return"hash"===s.default.future.experimental_router?(0,r.jsx)(l.I9,{children:e}):(0,r.jsx)(l.Kd,{children:e})},{children:(0,r.jsx)(function(){return(0,r.jsx)(U.A,{children:(0,r.jsx)(N.l,{children:(0,r.jsxs)(L.x,{children:[(0,r.jsx)(m,{children:(0,r.jsxs)(y,{children:[(0,r.jsx)(B,{}),(0,r.jsx)(P,{}),(0,r.jsx)($,{}),(0,r.jsx)(q,{})]})}),(0,r.jsx)(V,{})]})})})},{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},u=()=>{window.docusaurusRoot?window.docusaurusRoot.render(t):window.docusaurusRoot=o.hydrateRoot(e,t,{onRecoverableError:n})};D(window.location.pathname).then(()=>{(0,a.startTransition)(u)})}},3235(e,t,n){"use strict";n.d(t,{l:()=>f,o:()=>d});var r=n(1987),a=n(1763),o=n(4784),i=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/orbien/en/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/orbien/en/docs","mainDocId":"intro","docs":[{"id":"community","path":"/orbien/en/docs/community","sidebar":"docsSidebar"},{"id":"desktop","path":"/orbien/en/docs/desktop","sidebar":"docsSidebar"},{"id":"docker","path":"/orbien/en/docs/docker","sidebar":"docsSidebar"},{"id":"download","path":"/orbien/en/docs/download","sidebar":"docsSidebar"},{"id":"features/authentication","path":"/orbien/en/docs/features/authentication","sidebar":"docsSidebar"},{"id":"features/bandwidth","path":"/orbien/en/docs/features/bandwidth","sidebar":"docsSidebar"},{"id":"features/dashboard","path":"/orbien/en/docs/features/dashboard","sidebar":"docsSidebar"},{"id":"features/env","path":"/orbien/en/docs/features/env","sidebar":"docsSidebar"},{"id":"features/hot-reload","path":"/orbien/en/docs/features/hot-reload","sidebar":"docsSidebar"},{"id":"features/public-bind","path":"/orbien/en/docs/features/public-bind","sidebar":"docsSidebar"},{"id":"features/real-ip","path":"/orbien/en/docs/features/real-ip","sidebar":"docsSidebar"},{"id":"integrations/springboot","path":"/orbien/en/docs/integrations/springboot","sidebar":"docsSidebar"},{"id":"intro","path":"/orbien/en/docs/intro","sidebar":"docsSidebar"},{"id":"license","path":"/orbien/en/docs/license","sidebar":"docsSidebar"},{"id":"performance","path":"/orbien/en/docs/performance","sidebar":"docsSidebar"},{"id":"quickstart","path":"/orbien/en/docs/quickstart","sidebar":"docsSidebar"},{"id":"transport/connect-pool","path":"/orbien/en/docs/transport/connect-pool","sidebar":"docsSidebar"},{"id":"transport/protocol/kcp","path":"/orbien/en/docs/transport/protocol/kcp","sidebar":"docsSidebar"},{"id":"transport/protocol/quic","path":"/orbien/en/docs/transport/protocol/quic","sidebar":"docsSidebar"},{"id":"transport/protocol/tcp","path":"/orbien/en/docs/transport/protocol/tcp","sidebar":"docsSidebar"},{"id":"transport/protocol/websocket","path":"/orbien/en/docs/transport/protocol/websocket","sidebar":"docsSidebar"},{"id":"transport/tcp-mux","path":"/orbien/en/docs/transport/tcp-mux","sidebar":"docsSidebar"},{"id":"transport/tls","path":"/orbien/en/docs/transport/tls","sidebar":"docsSidebar"},{"id":"tunnels/domains","path":"/orbien/en/docs/tunnels/domains","sidebar":"docsSidebar"},{"id":"tunnels/http","path":"/orbien/en/docs/tunnels/http","sidebar":"docsSidebar"},{"id":"tunnels/https","path":"/orbien/en/docs/tunnels/https","sidebar":"docsSidebar"},{"id":"tunnels/socks5","path":"/orbien/en/docs/tunnels/socks5","sidebar":"docsSidebar"},{"id":"tunnels/tcp","path":"/orbien/en/docs/tunnels/tcp","sidebar":"docsSidebar"},{"id":"tunnels/udp","path":"/orbien/en/docs/tunnels/udp","sidebar":"docsSidebar"}],"draftIds":[],"sidebars":{"docsSidebar":{"link":{"path":"/orbien/en/docs/intro","label":"Introduction"}}}}],"breadcrumbs":true}}}'),l=JSON.parse('{"defaultLocale":"zh-Hans","locales":["zh-Hans","en"],"path":"i18n","currentLocale":"en","localeConfigs":{"zh-Hans":{"label":"\u4E2D\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-Hans","translate":false,"url":"https://orbien-org.github.io","baseUrl":"/orbien/"},"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en","translate":true,"url":"https://orbien-org.github.io","baseUrl":"/orbien/en/"}}}'),s=n(2654),u=JSON.parse('{"docusaurusVersion":"3.10.2","siteVersion":"3.3.0","pluginVersions":{"docusaurus-plugin-css-cascade-layers":{"type":"package","name":"@docusaurus/plugin-css-cascade-layers","version":"3.10.2"},"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.10.2"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.10.2"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.10.2"},"docusaurus-plugin-svgr":{"type":"package","name":"@docusaurus/plugin-svgr","version":"3.10.2"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.10.2"}}}');let c={siteConfig:o.default,siteMetadata:u,globalData:i,i18n:l,codeTranslations:s},d=a.createContext(c);function f({children:e}){return(0,r.jsx)(d.Provider,{value:c,children:e})}},9047(e,t,n){"use strict";n.d(t,{A:()=>m});var r=n(1987),a=n(1763),o=n(4619),i=n(7634),l=n(2455),s=n(6819),u=n(9648);function c({error:e,tryAgain:t}){return(0,r.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,r.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,r.jsx)("button",{type:"button",onClick:t,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,r.jsx)(d,{error:e})]})}function d({error:e}){let t=(0,l.getErrorCausalChain)(e).map(e=>e.message).join("\n\nCause:\n");return(0,r.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:t})}function f({children:e}){return(0,r.jsx)(u.W,{value:{plugin:{name:"docusaurus-core-error-boundary",id:"default"}},children:e})}function p({error:e,tryAgain:t}){return(0,r.jsx)(f,{children:(0,r.jsxs)(m,{fallback:()=>(0,r.jsx)(c,{error:e,tryAgain:t}),children:[(0,r.jsx)(i.A,{children:(0,r.jsx)("title",{children:"Page Error"})}),(0,r.jsx)(s.A,{children:(0,r.jsx)(c,{error:e,tryAgain:t})})]})})}class m extends a.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.A.canUseDOM&&this.setState({error:e})}render(){let{children:e}=this.props,{error:t}=this.state;return t?(this.props.fallback??(e=>(0,r.jsx)(p,{...e})))({error:t,tryAgain:()=>this.setState({error:null})}):e??null}}},4619(e,t,n){"use strict";n.d(t,{A:()=>a});let r="u">typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},7634(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1987);n(1763);var a=n(9883);function o(e){return(0,r.jsx)(a.mg,{...e})}},7364(e,t,n){"use strict";n.d(t,{A:()=>f});var r=n(1987),a=n(1763),o=n(5399),i=n(2455),l=n(5484),s=n(2236),u=n(4619),c=n(4216),d=n(319);let f=a.forwardRef(function({isNavLink:e,to:t,href:n,activeClassName:f,isActive:p,"data-noBrokenLinkCheck":m,autoAddBaseUrl:h=!0,...g},b){var y;let{siteConfig:v}=(0,l.A)(),{trailingSlash:w,baseUrl:k}=v,S=v.future.experimental_router,{withBaseUrl:x}=(0,d.hH)(),E=(0,c.A)(),_=(0,a.useRef)(null);(0,a.useImperativeHandle)(b,()=>_.current);let A=t||n,T=(0,s.A)(A),C=A?.replace("pathname://",""),P=void 0!==C?(y=C,h&&y.startsWith("/")?x(y):y):void 0;"hash"===S&&P?.startsWith("./")&&(P=P?.slice(1)),P&&T&&(P=(0,i.applyTrailingSlash)(P,{trailingSlash:w,baseUrl:k}));let O=(0,a.useRef)(!1),L=e?o.k2:o.N_,N=u.A.canUseIntersectionObserver,j=(0,a.useRef)(void 0),R=()=>{O.current||null==P||(window.docusaurus.preload(P),O.current=!0)};(0,a.useEffect)(()=>(!N&&T&&u.A.canUseDOM&&null!=P&&window.docusaurus.prefetch(P),()=>{N&&j.current&&j.current.disconnect()}),[j,P,N,T]);let I=P?.startsWith("#")??!1,D=!g.target||"_self"===g.target,F=!P||!T||!D||I&&"hash"!==S;m||!I&&F||E.collectLink(P),g.id&&E.collectAnchor(g.id);let z={};return F?(0,r.jsx)("a",{ref:_,href:P,...A&&!T&&{target:"_blank",rel:"noopener noreferrer"},...g,...z}):(0,r.jsx)(L,{...g,onMouseEnter:R,onTouchStart:R,innerRef:e=>{_.current=e,N&&e&&T&&(j.current=new window.IntersectionObserver(t=>{t.forEach(t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(j.current.unobserve(e),j.current.disconnect(),null!=P&&window.docusaurus.prefetch(P))})}),j.current.observe(e))},to:P,...e&&{isActive:p,activeClassName:f},...z})})},116(e,t,n){"use strict";n.d(t,{A:()=>r});let r=()=>null},6475(e,t,n){"use strict";n.d(t,{A:()=>u,T:()=>s});var r=n(1987),a=n(1763);function o(e,t){let n=e.split(/(\{\w+\})/).map((e,n)=>{if(n%2==1){let n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e});return n.some(e=>(0,a.isValidElement)(e))?n.map((e,t)=>(0,a.isValidElement)(e)?a.cloneElement(e,{key:t}):e).filter(e=>""!==e):n.join("")}var i=n(2654);function l({id:e,message:t}){if(void 0===e&&void 0===t)throw Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[e??t]??t??e}function s({message:e,id:t},n){return o(l({message:e,id:t}),n)}function u({children:e,id:t,values:n}){if(e&&"string"!=typeof e)throw console.warn("Illegal children",e),Error("The Docusaurus component only accept simple string values");let a=l({message:e,id:t});return(0,r.jsx)(r.Fragment,{children:o(a,n)})}},8595(e,t,n){"use strict";n.d(t,{W:()=>r});let r="default"},2236(e,t,n){"use strict";function r(e){return/^(?:[A-Za-z][A-Za-z\d+.-]*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{A:()=>a,z:()=>r})},319(e,t,n){"use strict";n.d(t,{Ay:()=>l,hH:()=>i});var r=n(1763),a=n(5484),o=n(2236);function i(){let{siteConfig:e}=(0,a.A)(),{baseUrl:t,url:n}=e,i=e.future.experimental_router;return{withBaseUrl:(0,r.useCallback)((e,r)=>(function({siteUrl:e,baseUrl:t,url:n,options:{forcePrependBaseUrl:r=!1,absolute:a=!1}={},router:i}){if(!n||n.startsWith("#")||(0,o.z)(n))return n;if("hash"===i)return n.startsWith("/")?`.${n}`:`./${n}`;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;let l=n.startsWith(t)?n:t+n.replace(/^\//,"");return a?e+l:l})({siteUrl:n,baseUrl:t,url:e,options:r,router:i}),[n,t,i])}}function l(e,t={}){let{withBaseUrl:n}=i();return n(e,t)}},4216(e,t,n){"use strict";n.d(t,{A:()=>o}),n(1987);var r=n(1763);let a=r.createContext({collectAnchor:()=>{},collectLink:()=>{}});function o(){return(0,r.useContext)(a)}},5484(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(3235);function o(){return(0,r.useContext)(a.o)}},8261(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(4607);function o(){return(0,r.useContext)(a.o)}},9879(e,t,n){"use strict";n.d(t,{A:()=>a});var r=n(1763);let a=n(4619).A.canUseDOM?r.useLayoutEffect:r.useEffect},7581(e,t,n){"use strict";n.d(t,{A:()=>o});var r=n(1763),a=n(9648);function o(){let e=r.useContext(a.o);if(!e)throw Error("Unexpected: no Docusaurus route context found");return e}},8115(e,t,n){"use strict";function r(e){let t={};return!function e(n,r){Object.entries(n).forEach(([n,a])=>{let o=r?`${r}.${n}`:n;"object"==typeof a&&a&&Object.keys(a).length>0?e(a,o):t[o]=a})}(e),t}n.d(t,{A:()=>r})},9648(e,t,n){"use strict";n.d(t,{W:()=>i,o:()=>o});var r=n(1987),a=n(1763);let o=a.createContext(null);function i({children:e,value:t}){let n=a.useContext(o),l=(0,a.useMemo)(()=>(function({parent:e,value:t}){if(!e){if(t){if(!("plugin"in t))throw Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute")}else throw Error("Unexpected: no Docusaurus route context found");return t}let n={...e.data,...t?.data};return{plugin:e.plugin,data:n}})({parent:n,value:t}),[n,t]);return(0,r.jsx)(o.Provider,{value:l,children:e})}},4806(e,t,n){"use strict";n.d(t,{VQ:()=>p,g1:()=>m});var r=n(1987),a=n(1763),o=n(9678),i=n(8595),l=n(8168),s=n(8184),u=n(7850);let c=e=>`docs-preferred-version-${e}`,d=a.createContext(null);function f({children:e}){let t=function(){let e=(0,o.Gy)(),t=(0,l.p)().docs.versionPersistence,n=(0,a.useMemo)(()=>Object.keys(e),[e]),[r,i]=(0,a.useState)(()=>Object.fromEntries(n.map(e=>[e,{preferredVersionName:null}])));return(0,a.useEffect)(()=>{i(function({pluginIds:e,versionPersistence:t,allDocsData:n}){return Object.fromEntries(e.map(e=>{var r,a;let o,i,l;return[e,(i=e,l=t,o=(0,s.Wf)(c(i),{persistence:l}).get(),n[e].versions.some(e=>e.name===o)?{preferredVersionName:o}:(r=e,a=t,(0,s.Wf)(c(r),{persistence:a}).del(),{preferredVersionName:null}))]}))}({allDocsData:e,versionPersistence:t,pluginIds:n}))},[e,t,n]),[r,(0,a.useMemo)(()=>({savePreferredVersion:function(e,n){var r,a,o;r=e,a=t,o=n,(0,s.Wf)(c(r),{persistence:a}).set(o),i(t=>({...t,[e]:{preferredVersionName:n}}))}}),[t])]}();return(0,r.jsx)(d.Provider,{value:t,children:e})}function p({children:e}){return(0,r.jsx)(f,{children:e})}function m(e=i.W){let t=(0,o.ht)(e),[n,r]=function(){let e=(0,a.useContext)(d);if(!e)throw new u.dV("DocsPreferredVersionContextProvider");return e}(),{preferredVersionName:l}=n[e];return{preferredVersion:t.versions.find(e=>e.name===l)??null,savePreferredVersionName:(0,a.useCallback)(t=>{r.savePreferredVersion(e,t)},[r,e])}}},345(e,t,n){"use strict";n.d(t,{V:()=>s,t:()=>u});var r=n(1987),a=n(1763),o=n(7850);let i=Symbol("EmptyContext"),l=a.createContext(i);function s({children:e,name:t,items:n}){let o=(0,a.useMemo)(()=>t&&n?{name:t,items:n}:null,[t,n]);return(0,r.jsx)(l.Provider,{value:o,children:e})}function u(){let e=(0,a.useContext)(l);if(e===i)throw new o.dV("DocsSidebarProvider");return e}},8484(e,t,n){"use strict";n.d(t,{B5:()=>v,Nr:()=>function e(t){if("link"===t.type&&!t.unlisted)return t.href;if("category"===t.type){if(t.href&&!t.linkUnlisted)return t.href;for(let n of t.items){let t=e(n);if(t)return t}return}},OF:()=>h,QB:()=>y,Vd:()=>g,Y:()=>m,fW:()=>b,w8:()=>p});var r=n(1763),a=n(6532),o=n(6345),i=n(9678),l=n(7711),s=n(8292),u=n(4806),c=n(73),d=n(345);let f=(e,t)=>void 0!==e&&(0,l.ys)(e,t);function p(e,t){if("link"===e.type)return f(e.href,t);if("category"===e.type){let n;return f(e.href,t)||(n=e.items,n.some(e=>p(e,t)))}return!1}function m(e,t){return(0,r.useMemo)(()=>e.filter(e=>(function e(t,n){switch(t.type){case"category":return p(t,n)||void 0!==t.href&&!t.linkUnlisted||t.items.some(t=>e(t,n));case"link":return!t.unlisted||p(t,n);default:return!0}})(e,t)),[e,t])}function h(){let e=(0,d.t)(),{pathname:t}=(0,a.zy)();return!1!==(0,i.vT)()?.pluginData.breadcrumbs&&e?function({sidebarItems:e,pathname:t,onlyCategories:n=!1}){let r=[];return!function e(a){for(let o of a)if("category"===o.type){if((0,l.ys)(o.href,t)||e(o.items))return r.unshift(o),!0}else if("link"===o.type&&o.docId&&(0,l.ys)(o.href,t))return n||r.unshift(o),!0;return!1}(e),r}({sidebarItems:e.items,pathname:t}):null}function g(e){let{activeVersion:t}=(0,i.zK)(e),{preferredVersion:n}=(0,u.g1)(e),a=(0,i.r7)(e);return(0,r.useMemo)(()=>(0,s.sb)([t,n,a].filter(Boolean)),[t,n,a])}function b(e,t){let n=g(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.sidebars?Object.entries(e.sidebars):[]),r=t.find(t=>t[0]===e);if(!r)throw Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map(e=>e.name).join(", ")}". Available sidebar ids are: - ${t.map(e=>e[0]).join("\n- ")}`);return r[1]},[e,n])}function y(e,t){let n=g(t);return(0,r.useMemo)(()=>{let t=n.flatMap(e=>e.docs),r=t.find(t=>t.id===e);if(!r){if(n.flatMap(e=>e.draftIds).includes(e))return null;throw Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map(e=>e.name).join(", ")}". Available doc ids are: diff --git a/en/assets/js/runtime~main.6d757bd1.js b/en/assets/js/runtime~main.247cedf0.js similarity index 96% rename from en/assets/js/runtime~main.6d757bd1.js rename to en/assets/js/runtime~main.247cedf0.js index 0338188..dba403f 100644 --- a/en/assets/js/runtime~main.6d757bd1.js +++ b/en/assets/js/runtime~main.247cedf0.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,r,t,f,o,c,n={},d={};function b(e){var a=d[e];if(void 0!==a)return a.exports;var r=d[e]={exports:{}};return n[e].call(r.exports,r,r.exports,b),r.exports}b.m=n,b.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return b.d(a,{a:a}),a},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(r,t){if(1&t&&(r=this(r)),8&t||"object"==typeof r&&r&&(4&t&&r.__esModule||16&t&&"function"==typeof r.then))return r;var f=Object.create(null);b.r(f);var o={};e=e||[null,a({}),a([]),a(a)];for(var c=2&t&&r;("object"==typeof c||"function"==typeof c)&&!~e.indexOf(c);c=a(c))Object.getOwnPropertyNames(c).forEach(e=>{o[e]=()=>r[e]});return o.default=()=>r,b.d(f,o),f},b.d=(e,a)=>{for(var r in a)b.o(a,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce((a,r)=>(b.f[r](e,a),a),[])),b.u=e=>"assets/js/"+(({106:"17896441",173:"5fe4f5d2",177:"4be978ea",188:"7abcf739",206:"772f9d94",210:"ff260d60",228:"ab4e331a",283:"7fe95379",301:"523c1e1a",321:"66aed93e",331:"2f2388ac",413:"2506a922",431:"b3adb838",439:"43054f0e",45:"a89a62ae",451:"20ddc183",452:"1df93b7f",46:"7c4e16d0",518:"f2426367",56:"a7456010",568:"b32b4337",569:"cc5cf7e7",572:"2a662f4c",575:"a7bd4aaa",597:"d58d1957",604:"17bb2c49",608:"814847fd",621:"b6948417",637:"5b44acae",668:"5e95c892",669:"4ac686ed",697:"1bc5dae4",731:"956c2ff8",747:"aba21aa0",785:"a94703ab",891:"affd0631",949:"96706368"})[e]||e)+"."+({106:"6c48d3c2",173:"5fd91e3a",177:"dc6372ef",188:"0cabbc3e",206:"4fd05b25",210:"321a91da",228:"d3fbb368",283:"33146854",301:"4fdd567e",321:"70d7565c",331:"edec12c7",406:"7afbacb1",413:"e24c6914",431:"76684727",439:"104a613e",45:"9e6e77cb",451:"d640f03b",452:"8b0521b5",46:"93f05e46",518:"56757d29",56:"b47ace4d",568:"f4af2bbd",569:"94e9fb7c",572:"fa87a28b",575:"96f1510e",597:"6eff27f7",604:"a1d1f8df",608:"ec59cc50",621:"e734b237",627:"5a86db8b",637:"a9488ecc",668:"61b67e6b",669:"eb9285c5",697:"3c44fb1d",731:"7e454dd0",747:"66a74c66",785:"b81930da",891:"b62509a7",949:"b33481e9"})[e]+".js",b.miniCssF=e=>""+e+".css",b.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),b.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},b.l=function(e,a,t,f){if(r[e])return void r[e].push(a);if(void 0!==t)for(var o,c,n=document.getElementsByTagName("script"),d=0;d{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t=[],b.O=(e,a,r,f)=>{if(a){f=f||0;for(var o=t.length;o>0&&t[o-1][2]>f;o--)t[o]=t[o-1];t[o]=[a,r,f];return}for(var c=1/0,o=0;o=f)&&Object.keys(b.O).every(e=>b.O[e](a[d]))?a.splice(d--,1):(n=!1,f"1.7.12",b.gca=function(e){return e=({0x11113f9:"106",0x5c39f40:"949",a89a62ae:"45","7c4e16d0":"46",a7456010:"56","5fe4f5d2":"173","4be978ea":"177","7abcf739":"188","772f9d94":"206",ff260d60:"210",ab4e331a:"228","7fe95379":"283","523c1e1a":"301","66aed93e":"321","2f2388ac":"331","2506a922":"413",b3adb838:"431","43054f0e":"439","20ddc183":"451","1df93b7f":"452",f2426367:"518",b32b4337:"568",cc5cf7e7:"569","2a662f4c":"572",a7bd4aaa:"575",d58d1957:"597","17bb2c49":"604","814847fd":"608",b6948417:"621","5b44acae":"637","5e95c892":"668","4ac686ed":"669","1bc5dae4":"697","956c2ff8":"731",aba21aa0:"747",a94703ab:"785",affd0631:"891"})[e]||e,b.p+b.u(e)},f={14:0,783:0},b.f.j=function(e,a){var r=b.o(f,e)?f[e]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(14|783)$/.test(e))f[e]=0;else{var t=new Promise((a,t)=>r=f[e]=[a,t]);a.push(r[2]=t);var o=b.p+b.u(e),c=Error();b.l(o,function(a){if(b.o(f,e)&&(0!==(r=f[e])&&(f[e]=void 0),r)){var t=a&&("load"===a.type?"missing":a.type),o=a&&a.target&&a.target.src;c.message="Loading chunk "+e+" failed.\n("+t+": "+o+")",c.name="ChunkLoadError",c.type=t,c.request=o,r[1](c)}},"chunk-"+e,e)}},b.O.j=e=>0===f[e],o=(e,a)=>{var r,t,o=a[0],c=a[1],n=a[2],d=0;if(o.some(e=>0!==f[e])){for(r in c)b.o(c,r)&&(b.m[r]=c[r]);if(n)var i=n(b)}for(e&&e(a);d{"use strict";var e,a,r,t,f,o,c,n={},d={};function b(e){var a=d[e];if(void 0!==a)return a.exports;var r=d[e]={exports:{}};return n[e].call(r.exports,r,r.exports,b),r.exports}b.m=n,b.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return b.d(a,{a:a}),a},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(r,t){if(1&t&&(r=this(r)),8&t||"object"==typeof r&&r&&(4&t&&r.__esModule||16&t&&"function"==typeof r.then))return r;var f=Object.create(null);b.r(f);var o={};e=e||[null,a({}),a([]),a(a)];for(var c=2&t&&r;("object"==typeof c||"function"==typeof c)&&!~e.indexOf(c);c=a(c))Object.getOwnPropertyNames(c).forEach(e=>{o[e]=()=>r[e]});return o.default=()=>r,b.d(f,o),f},b.d=(e,a)=>{for(var r in a)b.o(a,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce((a,r)=>(b.f[r](e,a),a),[])),b.u=e=>"assets/js/"+(({106:"17896441",173:"5fe4f5d2",177:"4be978ea",188:"7abcf739",206:"772f9d94",210:"ff260d60",228:"ab4e331a",283:"7fe95379",301:"523c1e1a",321:"66aed93e",331:"2f2388ac",413:"2506a922",431:"b3adb838",439:"43054f0e",45:"a89a62ae",451:"20ddc183",452:"1df93b7f",46:"7c4e16d0",518:"f2426367",56:"a7456010",568:"b32b4337",569:"cc5cf7e7",572:"2a662f4c",575:"a7bd4aaa",597:"d58d1957",604:"17bb2c49",608:"814847fd",621:"b6948417",637:"5b44acae",668:"5e95c892",669:"4ac686ed",697:"1bc5dae4",731:"956c2ff8",747:"aba21aa0",785:"a94703ab",891:"affd0631",949:"96706368"})[e]||e)+"."+({106:"6c48d3c2",173:"5fd91e3a",177:"dc6372ef",188:"0cabbc3e",206:"4fd05b25",210:"321a91da",228:"d3fbb368",283:"33146854",301:"03972826",321:"70d7565c",331:"edec12c7",406:"7afbacb1",413:"e24c6914",431:"5d6e1918",439:"104a613e",45:"9e6e77cb",451:"d640f03b",452:"8b0521b5",46:"93f05e46",518:"56757d29",56:"b47ace4d",568:"f4af2bbd",569:"94e9fb7c",572:"fa87a28b",575:"96f1510e",597:"6eff27f7",604:"a1d1f8df",608:"ec59cc50",621:"e734b237",627:"5a86db8b",637:"a9488ecc",668:"61b67e6b",669:"eb9285c5",697:"3c44fb1d",731:"7e454dd0",747:"66a74c66",785:"b81930da",891:"b62509a7",949:"b33481e9"})[e]+".js",b.miniCssF=e=>""+e+".css",b.g=(()=>{if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}})(),b.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},b.l=function(e,a,t,f){if(r[e])return void r[e].push(a);if(void 0!==t)for(var o,c,n=document.getElementsByTagName("script"),d=0;d{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t=[],b.O=(e,a,r,f)=>{if(a){f=f||0;for(var o=t.length;o>0&&t[o-1][2]>f;o--)t[o]=t[o-1];t[o]=[a,r,f];return}for(var c=1/0,o=0;o=f)&&Object.keys(b.O).every(e=>b.O[e](a[d]))?a.splice(d--,1):(n=!1,f"1.7.12",b.gca=function(e){return e=({0x11113f9:"106",0x5c39f40:"949",a89a62ae:"45","7c4e16d0":"46",a7456010:"56","5fe4f5d2":"173","4be978ea":"177","7abcf739":"188","772f9d94":"206",ff260d60:"210",ab4e331a:"228","7fe95379":"283","523c1e1a":"301","66aed93e":"321","2f2388ac":"331","2506a922":"413",b3adb838:"431","43054f0e":"439","20ddc183":"451","1df93b7f":"452",f2426367:"518",b32b4337:"568",cc5cf7e7:"569","2a662f4c":"572",a7bd4aaa:"575",d58d1957:"597","17bb2c49":"604","814847fd":"608",b6948417:"621","5b44acae":"637","5e95c892":"668","4ac686ed":"669","1bc5dae4":"697","956c2ff8":"731",aba21aa0:"747",a94703ab:"785",affd0631:"891"})[e]||e,b.p+b.u(e)},f={14:0,783:0},b.f.j=function(e,a){var r=b.o(f,e)?f[e]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(14|783)$/.test(e))f[e]=0;else{var t=new Promise((a,t)=>r=f[e]=[a,t]);a.push(r[2]=t);var o=b.p+b.u(e),c=Error();b.l(o,function(a){if(b.o(f,e)&&(0!==(r=f[e])&&(f[e]=void 0),r)){var t=a&&("load"===a.type?"missing":a.type),o=a&&a.target&&a.target.src;c.message="Loading chunk "+e+" failed.\n("+t+": "+o+")",c.name="ChunkLoadError",c.type=t,c.request=o,r[1](c)}},"chunk-"+e,e)}},b.O.j=e=>0===f[e],o=(e,a)=>{var r,t,o=a[0],c=a[1],n=a[2],d=0;if(o.some(e=>0!==f[e])){for(r in c)b.o(c,r)&&(b.m[r]=c[r]);if(n)var i=n(b)}for(e&&e(a);dCommunity & Contributing | Orbien +Community & Contributing | Orbien

    Community & Contributing

    diff --git a/en/docs/desktop.html b/en/docs/desktop.html index 6125c29..0b44236 100644 --- a/en/docs/desktop.html +++ b/en/docs/desktop.html @@ -1,4 +1,4 @@ -Desktop Client | Orbien +Desktop Client | Orbien

    Desktop Client

    diff --git a/en/docs/docker.html b/en/docs/docker.html index 5349ffb..e4fb454 100644 --- a/en/docs/docker.html +++ b/en/docs/docker.html @@ -1,4 +1,4 @@ -Docker | Orbien +Docker | Orbien

    Docker

    diff --git a/en/docs/download.html b/en/docs/download.html index a749a3c..1c43164 100644 --- a/en/docs/download.html +++ b/en/docs/download.html @@ -1,6 +1,6 @@ -Download | Orbien +Download | Orbien

    Download

    Choose the package for your OS and architecture

    -
    v3.3.0-beta.1All releases
    OSArchlibcServerCLI ClientDesktop ClientNotes
    Linuxamd64gnugnu · tar.gzgnu · tar.gzdebDynamically linked glibc
    amd64muslmusl · tar.gzmusl · tar.gzStatically linked; works with older glibc
    arm64gnugnu · tar.gzgnu · tar.gzdebDynamically linked glibc
    arm64muslmusl · tar.gzmusl · tar.gzStatically linked; works with older glibc
    FreeBSDamd64tar.gztar.gz
    Windowsamd64tar.gztar.gzzip
    arm64tar.gztar.gzzip
    macOSamd64tar.gztar.gzdmgIf blocked, allow it in System Settings
    arm64tar.gztar.gzdmgIf blocked, allow it in System Settings

    Docker

    • orbien-serverserver
      docker pull ghcr.io/orbien-org/orbien-server:latest
    • orbienclient
      docker pull ghcr.io/orbien-org/orbien:latest
    \ No newline at end of file +
    OSArchlibcServerCLI ClientDesktop ClientNotes
    Linuxamd64gnugnu · tar.gzgnu · tar.gzdebDynamically linked glibc
    amd64muslmusl · tar.gzmusl · tar.gzStatically linked; works with older glibc
    arm64gnugnu · tar.gzgnu · tar.gzdebDynamically linked glibc
    arm64muslmusl · tar.gzmusl · tar.gzStatically linked; works with older glibc
    FreeBSDamd64tar.gztar.gz
    Windowsamd64tar.gztar.gzzip
    arm64tar.gztar.gzzip
    macOSamd64tar.gztar.gzdmgIf blocked, allow it in System Settings
    arm64tar.gztar.gzdmgIf blocked, allow it in System Settings

    Docker

    • orbien-serverserver
      docker pull ghcr.io/orbien-org/orbien-server:latest
    • orbienclient
      docker pull ghcr.io/orbien-org/orbien:latest
    \ No newline at end of file diff --git a/en/docs/features/authentication.html b/en/docs/features/authentication.html index d5963f9..481ee57 100644 --- a/en/docs/features/authentication.html +++ b/en/docs/features/authentication.html @@ -1,4 +1,4 @@ -Authentication | Orbien +Authentication | Orbien

    Authentication

    diff --git a/en/docs/features/bandwidth.html b/en/docs/features/bandwidth.html index 5e531de..cc01467 100644 --- a/en/docs/features/bandwidth.html +++ b/en/docs/features/bandwidth.html @@ -1,4 +1,4 @@ -Bandwidth Limit | Orbien +Bandwidth Limit | Orbien

    Bandwidth Limit

    diff --git a/en/docs/features/dashboard.html b/en/docs/features/dashboard.html index 64448b7..98da499 100644 --- a/en/docs/features/dashboard.html +++ b/en/docs/features/dashboard.html @@ -1,4 +1,4 @@ -Dashboard | Orbien +Dashboard | Orbien

    Dashboard

    diff --git a/en/docs/features/env.html b/en/docs/features/env.html index e3bfea6..3fbe396 100644 --- a/en/docs/features/env.html +++ b/en/docs/features/env.html @@ -1,4 +1,4 @@ -Environment Variables | Orbien +Environment Variables | Orbien

    Environment Variables

    diff --git a/en/docs/features/hot-reload.html b/en/docs/features/hot-reload.html index 00895e4..f62c7c7 100644 --- a/en/docs/features/hot-reload.html +++ b/en/docs/features/hot-reload.html @@ -1,4 +1,4 @@ -Hot Reload | Orbien +Hot Reload | Orbien

    Hot Reload

    diff --git a/en/docs/features/public-bind.html b/en/docs/features/public-bind.html index d0265d2..161d37b 100644 --- a/en/docs/features/public-bind.html +++ b/en/docs/features/public-bind.html @@ -1,4 +1,4 @@ -Public Bind Address | Orbien +Public Bind Address | Orbien

    Public Bind Address

    diff --git a/en/docs/features/real-ip.html b/en/docs/features/real-ip.html index 348d240..01a7ef8 100644 --- a/en/docs/features/real-ip.html +++ b/en/docs/features/real-ip.html @@ -1,4 +1,4 @@ -Real IP | Orbien +Real IP | Orbien

    Real IP

    diff --git a/en/docs/integrations/springboot.html b/en/docs/integrations/springboot.html index 536a4d4..9346345 100644 --- a/en/docs/integrations/springboot.html +++ b/en/docs/integrations/springboot.html @@ -1,4 +1,4 @@ -Spring Boot Integration | Orbien +Spring Boot Integration | Orbien

    Spring Boot Integration

    @@ -8,7 +8,7 @@
  • Transport: TCP only
  • No TCP multiplexing: set orbien.tcp-mux to false, and set [transport].tcpMux = false on the server (multiplexing is on by default; turn it off when using the Java client)
  • -
    <dependency>
    <groupId>io.github.lxien</groupId>
    <artifactId>orbien-spring-boot-starter</artifactId>
    <version>3.3.0-beta.1</version>
    </dependency>
    +
    <dependency>
    <groupId>io.github.lxien</groupId>
    <artifactId>orbien-spring-boot-starter</artifactId>
    <version>3.3.0</version>
    </dependency>

    Minimal configuration

    local-port and name are optional. When omitted, the starter uses the Spring Boot web port and spring.application.name (or orbien-{protocol}).

    # application.yml
    orbien:
    enabled: true
    server-addr: 127.0.0.1
    # token: YOUR_TOKEN # optional
    tunnel:
    protocol: http
    domains:
    - web.domain.com
    diff --git a/en/docs/intro.html b/en/docs/intro.html index 5082169..15de70a 100644 --- a/en/docs/intro.html +++ b/en/docs/intro.html @@ -1,4 +1,4 @@ -Introduction | Orbien +Introduction | Orbien

    Introduction

    diff --git a/en/docs/license.html b/en/docs/license.html index 2a552b4..7f1b15f 100644 --- a/en/docs/license.html +++ b/en/docs/license.html @@ -1,4 +1,4 @@ -License | Orbien +License | Orbien

    License

    diff --git a/en/docs/performance.html b/en/docs/performance.html index 99171a2..5933e89 100644 --- a/en/docs/performance.html +++ b/en/docs/performance.html @@ -1,4 +1,4 @@ -Performance | Orbien +Performance | Orbien

    Performance

    diff --git a/en/docs/quickstart.html b/en/docs/quickstart.html index 92374fa..2f70b20 100644 --- a/en/docs/quickstart.html +++ b/en/docs/quickstart.html @@ -1,4 +1,4 @@ -Quick Start | Orbien +Quick Start | Orbien

    Quick Start

    diff --git a/en/docs/transport/connect-pool.html b/en/docs/transport/connect-pool.html index 84fe94a..33f9cbd 100644 --- a/en/docs/transport/connect-pool.html +++ b/en/docs/transport/connect-pool.html @@ -1,4 +1,4 @@ -Connection Pool | Orbien +Connection Pool | Orbien

    Connection Pool

    diff --git a/en/docs/transport/protocol/kcp.html b/en/docs/transport/protocol/kcp.html index 9ab31e4..32a2754 100644 --- a/en/docs/transport/protocol/kcp.html +++ b/en/docs/transport/protocol/kcp.html @@ -1,4 +1,4 @@ -KCP | Orbien +KCP | Orbien

    KCP

    diff --git a/en/docs/transport/protocol/quic.html b/en/docs/transport/protocol/quic.html index 032b925..e9a27d4 100644 --- a/en/docs/transport/protocol/quic.html +++ b/en/docs/transport/protocol/quic.html @@ -1,4 +1,4 @@ -QUIC | Orbien +QUIC | Orbien

    QUIC

    diff --git a/en/docs/transport/protocol/tcp.html b/en/docs/transport/protocol/tcp.html index 7da1dc9..47e9fe7 100644 --- a/en/docs/transport/protocol/tcp.html +++ b/en/docs/transport/protocol/tcp.html @@ -1,4 +1,4 @@ -TCP | Orbien +TCP | Orbien

    TCP

    diff --git a/en/docs/transport/protocol/websocket.html b/en/docs/transport/protocol/websocket.html index 8f9c176..76e35da 100644 --- a/en/docs/transport/protocol/websocket.html +++ b/en/docs/transport/protocol/websocket.html @@ -1,4 +1,4 @@ -WebSocket | Orbien +WebSocket | Orbien

    WebSocket

    diff --git a/en/docs/transport/tcp-mux.html b/en/docs/transport/tcp-mux.html index 8a60f47..14bf5cc 100644 --- a/en/docs/transport/tcp-mux.html +++ b/en/docs/transport/tcp-mux.html @@ -1,4 +1,4 @@ -TCP Multiplexing | Orbien +TCP Multiplexing | Orbien

    TCP Multiplexing

    diff --git a/en/docs/transport/tls.html b/en/docs/transport/tls.html index 07ae1af..0cdf16e 100644 --- a/en/docs/transport/tls.html +++ b/en/docs/transport/tls.html @@ -1,4 +1,4 @@ -TLS | Orbien +TLS | Orbien

    TLS

    diff --git a/en/docs/tunnels/domains.html b/en/docs/tunnels/domains.html index 286fa1c..92f7823 100644 --- a/en/docs/tunnels/domains.html +++ b/en/docs/tunnels/domains.html @@ -1,4 +1,4 @@ -Domains | Orbien +Domains | Orbien

    Domains

    diff --git a/en/docs/tunnels/http.html b/en/docs/tunnels/http.html index 19f6619..8c591c1 100644 --- a/en/docs/tunnels/http.html +++ b/en/docs/tunnels/http.html @@ -1,4 +1,4 @@ -HTTP | Orbien +HTTP | Orbien

    HTTP

    diff --git a/en/docs/tunnels/https.html b/en/docs/tunnels/https.html index 1e70670..267e4c8 100644 --- a/en/docs/tunnels/https.html +++ b/en/docs/tunnels/https.html @@ -1,4 +1,4 @@ -HTTPS | Orbien +HTTPS | Orbien

    HTTPS

    diff --git a/en/docs/tunnels/socks5.html b/en/docs/tunnels/socks5.html index f703873..b2b4fe5 100644 --- a/en/docs/tunnels/socks5.html +++ b/en/docs/tunnels/socks5.html @@ -1,4 +1,4 @@ -SOCKS5 | Orbien +SOCKS5 | Orbien

    SOCKS5

    diff --git a/en/docs/tunnels/tcp.html b/en/docs/tunnels/tcp.html index 8afff4f..783134b 100644 --- a/en/docs/tunnels/tcp.html +++ b/en/docs/tunnels/tcp.html @@ -1,4 +1,4 @@ -TCP | Orbien +TCP | Orbien

    TCP

    diff --git a/en/docs/tunnels/udp.html b/en/docs/tunnels/udp.html index 196ccb3..9e74e92 100644 --- a/en/docs/tunnels/udp.html +++ b/en/docs/tunnels/udp.html @@ -1,4 +1,4 @@ -UDP | Orbien +UDP | Orbien

    UDP

    diff --git a/en/index.html b/en/index.html index cf8743a..893dee2 100644 --- a/en/index.html +++ b/en/index.html @@ -1,4 +1,4 @@ -Orbien — NAT Traversal | Orbien +Orbien — NAT Traversal | Orbien

    Orbien

    Powered by Rust and Tokio

    Lightweight, high-performance, and secure NAT traversal — binary size about 5MB

    Orbien project dashboardOrbien project dashboard

    High Performance

    High performance, low latency, packet-loss resilient, low memory footprint, and no GC pauses — built for long-running servers

    Multi-Protocol Tunnels

    Supports TCP, UDP, HTTP, HTTPS, and SOCKS5 tunnels

    Multiple Transports

    Supports TCP, QUIC, KCP, and WebSocket transports, plus TCP multiplexing

    Security & Encryption

    Token authentication with TLS / mTLS; HTTPS transparent forwarding and optional client-side TLS termination

    Visual Ops

    Built-in lightweight server web UI and native desktop client for easier ops, monitoring, and higher productivity

    Cross-Platform

    Supports Windows / macOS / Linux / FreeBSD and more

    Desktop Client

    Native Rust desktop client — manage tunnel configs easily with a visual UI

    Download Desktop
    Orbien Desktop client demo
    \ No newline at end of file diff --git a/index.html b/index.html index ca4f5ac..760d44d 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -Orbien — 内网穿透 | Orbien +Orbien — 内网穿透 | Orbien

    Orbien

    由 Rust 与 Tokio 驱动

    轻量、高性能、安全的内网穿透,二进制体积大约5MB

    Orbien 项目监控面板Orbien 项目监控面板

    高性能

    高性能、低延迟、抗丢包、内存占用低、无GC停顿,适合长期服务器运行

    多协议隧道

    支持 TCP、UDP、HTTP、HTTPS、SOCKS5 协议隧道

    多传输协议

    支持 TCP、QUIC、KCP、WebSocket 多种传输协议,同时支持TCP多路复用

    安全加密

    支持 Token 鉴权与 TLS /mTLS 加密传输;HTTPS采用透明转发和可选客户端TLS终止

    可视化运维

    内置轻量服务端Web管理界面和原生桌面客户端,便于运维监控,提高效率

    跨平台支持

    支持 Windows / macOS / Linux / freeBSD 等平台

    桌面客户端

    纯Rust原生桌面客户端,通过可视化界面轻松管理隧道配置

    下载桌面端
    Orbien Desktop 客户端演示
    \ No newline at end of file