diff --git a/assets/js/0c66edb9.31a10535.js b/assets/js/0c66edb9.31a10535.js
new file mode 100644
index 00000000..01125491
--- /dev/null
+++ b/assets/js/0c66edb9.31a10535.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7216],{6844:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>d,contentTitle:()=>t,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>c});const r=JSON.parse('{"id":"guides/permission-modes","title":"Permission Modes","description":"As of v1.0.5 zrok sharing now defaults to the closed permission mode. The --closed flag has been removed and has been replaced with a new --open flag for users who want to retain the open permission model. Otherwise, the closed permission mode works exactly the same.","source":"@site/../docs/guides/permission-modes.md","sourceDirName":"guides","slug":"/guides/permission-modes","permalink":"/docs/guides/permission-modes","draft":false,"unlisted":false,"editUrl":"https://github.com/openziti/zrok/blob/main/docs/../docs/guides/permission-modes.md","tags":[],"version":"current","sidebarPosition":22,"frontMatter":{"sidebar_position":22,"sidebar_label":"Permission Modes"},"sidebar":"tutorialSidebar","previous":{"title":"frontdoor","permalink":"/docs/guides/frontdoor"},"next":{"title":"Getting Started with Docker","permalink":"/docs/guides/docker-share/"}}');var o=n(4848),i=n(8453);const a={sidebar_position:22,sidebar_label:"Permission Modes"},t="Permission Modes",d={},c=[{value:"Creating a Share with Closed Permission Mode",id:"creating-a-share-with-closed-permission-mode",level:2},{value:"Adding and Removing Access Grants for Existing Shares",id:"adding-and-removing-access-grants-for-existing-shares",level:2},{value:"Limitations",id:"limitations",level:2}];function h(e){const s={admonition:"admonition",code:"code",em:"em",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"permission-modes",children:"Permission Modes"})}),"\n",(0,o.jsx)(s.admonition,{type:"note",children:(0,o.jsxs)(s.p,{children:["As of ",(0,o.jsx)(s.code,{children:"v1.0.5"})," zrok sharing now defaults to the ",(0,o.jsx)(s.code,{children:"closed"})," permission mode. The ",(0,o.jsx)(s.code,{children:"--closed"})," flag has been removed and has been replaced with a new ",(0,o.jsx)(s.code,{children:"--open"})," flag for users who want to retain the open permission model. Otherwise, the closed permission mode works exactly the same."]})}),"\n",(0,o.jsxs)(s.p,{children:["Shares created in zrok ",(0,o.jsx)(s.code,{children:"v0.4.26"})," and newer now include a choice of ",(0,o.jsx)(s.em,{children:"permission mode"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["Shares created with zrok ",(0,o.jsx)(s.code,{children:"v0.4.25"})," and older were created using what is now called the ",(0,o.jsx)(s.em,{children:"open permission mode"}),". Whether ",(0,o.jsx)(s.em,{children:"public"})," or ",(0,o.jsx)(s.em,{children:"private"}),", these shares can be accessed by any user of the zrok service instance, as long as they know the ",(0,o.jsx)(s.em,{children:"share token"})," of the share. Effectively shares with the ",(0,o.jsx)(s.em,{children:"open permission mode"})," are accessible by any user of the zrok service instance."]}),"\n",(0,o.jsxs)(s.p,{children:["zrok now supports a ",(0,o.jsx)(s.em,{children:"closed permission mode"}),", which allows for more fine-grained control over which zrok users are allowed to privately access your shares using ",(0,o.jsx)(s.code,{children:"zrok access private"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["zrok defaults to continuing to create shares with the ",(0,o.jsx)(s.em,{children:"open permission mode"}),". This will likely change in a future release. We're leaving the default behavior in place to allow users a period of time to get comfortable with the new permission modes."]}),"\n",(0,o.jsx)(s.h2,{id:"creating-a-share-with-closed-permission-mode",children:"Creating a Share with Closed Permission Mode"}),"\n",(0,o.jsxs)(s.p,{children:["Adding the ",(0,o.jsx)(s.code,{children:"--closed"})," flag to the ",(0,o.jsx)(s.code,{children:"zrok share"})," or ",(0,o.jsx)(s.code,{children:"zrok reserve"})," commands will create shares using the ",(0,o.jsx)(s.em,{children:"closed permission mode"}),":"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok share private --headless --closed -b web .\n[ 0.066] INFO main.(*sharePrivateCommand).run: allow other to access your share with the following command:\nzrok access private 0vzwzodf0c7g\n"})}),"\n",(0,o.jsxs)(s.p,{children:["By default any environment owned by the account that created the share is ",(0,o.jsx)(s.em,{children:"allowed"})," to access the new share. But a user trying to access the share from an environment owned by a different account will enounter the following error message:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok access private 0vzwzodf0c7g\n[ERROR]: unable to access ([POST /access][401] accessUnauthorized)\n"})}),"\n",(0,o.jsxs)(s.p,{children:["The ",(0,o.jsx)(s.code,{children:"zrok share"})," and ",(0,o.jsx)(s.code,{children:"zrok reserve"})," commands now include an ",(0,o.jsx)(s.code,{children:"--access-grant"})," flag, which allows you to specify additional zrok accounts that are allowed to access your shares:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok share private --headless --closed --access-grant anotheruser@test.com -b web .\n[ 0.062] INFO main.(*sharePrivateCommand).run: allow other to access your share with the following command:\nzrok access private y6h4at5xvn6o\n"})}),"\n",(0,o.jsxs)(s.p,{children:["And now ",(0,o.jsx)(s.code,{children:"anotheruser@test.com"})," will be allowed to access the share:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok access private --headless y6h4at5xvn6o\n[ 0.049] INFO main.(*accessPrivateCommand).run: allocated frontend 'VyvrJihAOEHD'\n[ 0.051] INFO main.(*accessPrivateCommand).run: access the zrok share at the following endpoint: http://127.0.0.1:9191\n"})}),"\n",(0,o.jsx)(s.h2,{id:"adding-and-removing-access-grants-for-existing-shares",children:"Adding and Removing Access Grants for Existing Shares"}),"\n",(0,o.jsxs)(s.p,{children:["If you've created a share (either reserved or ephemeral) and you forgot to include an access grant, or want to remove an access grant that was mistakenly added, you can use the ",(0,o.jsx)(s.code,{children:"zrok modify share"})," command to make the adjustments:"]}),"\n",(0,o.jsx)(s.p,{children:"Create a share:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok share private --headless --closed -b web .\n[ 0.064] INFO main.(*sharePrivateCommand).run: allow other to access your share with the following command:\nzrok access private s4czjylwk7wa\n"})}),"\n",(0,o.jsx)(s.p,{children:"In another shell in the same environment you can execute:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok modify share s4czjylwk7wa --add-access-grant anotheruser@test.com\nupdated\n"})}),"\n",(0,o.jsx)(s.p,{children:"And to remove the grant:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok modify share s4czjylwk7wa --remove-access-grant anotheruser@test.com\nupdated\n"})}),"\n",(0,o.jsx)(s.h2,{id:"limitations",children:"Limitations"}),"\n",(0,o.jsxs)(s.p,{children:["As of ",(0,o.jsx)(s.code,{children:"v0.4.26"})," there is currently no way to ",(0,o.jsx)(s.em,{children:"list"})," the current access grants. This will be addressed shortly in a subsequent update."]})]})}function l(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>t});var r=n(6540);const o={},i=r.createContext(o);function a(e){const s=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(i.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/0c66edb9.ea664c8d.js b/assets/js/0c66edb9.ea664c8d.js
deleted file mode 100644
index ee91add3..00000000
--- a/assets/js/0c66edb9.ea664c8d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[7216],{6844:(e,s,n)=>{n.r(s),n.d(s,{assets:()=>c,contentTitle:()=>t,default:()=>l,frontMatter:()=>a,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"guides/permission-modes","title":"Permission Modes","description":"Shares created in zrok v0.4.26 and newer now include a choice of permission mode.","source":"@site/../docs/guides/permission-modes.md","sourceDirName":"guides","slug":"/guides/permission-modes","permalink":"/docs/guides/permission-modes","draft":false,"unlisted":false,"editUrl":"https://github.com/openziti/zrok/blob/main/docs/../docs/guides/permission-modes.md","tags":[],"version":"current","sidebarPosition":22,"frontMatter":{"sidebar_position":22,"sidebar_label":"Permission Modes"},"sidebar":"tutorialSidebar","previous":{"title":"frontdoor","permalink":"/docs/guides/frontdoor"},"next":{"title":"Getting Started with Docker","permalink":"/docs/guides/docker-share/"}}');var o=n(4848),i=n(8453);const a={sidebar_position:22,sidebar_label:"Permission Modes"},t="Permission Modes",c={},d=[{value:"Creating a Share with Closed Permission Mode",id:"creating-a-share-with-closed-permission-mode",level:2},{value:"Adding and Removing Access Grants for Existing Shares",id:"adding-and-removing-access-grants-for-existing-shares",level:2},{value:"Limitations",id:"limitations",level:2}];function h(e){const s={code:"code",em:"em",h1:"h1",h2:"h2",header:"header",p:"p",pre:"pre",...(0,i.R)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.header,{children:(0,o.jsx)(s.h1,{id:"permission-modes",children:"Permission Modes"})}),"\n",(0,o.jsxs)(s.p,{children:["Shares created in zrok ",(0,o.jsx)(s.code,{children:"v0.4.26"})," and newer now include a choice of ",(0,o.jsx)(s.em,{children:"permission mode"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["Shares created with zrok ",(0,o.jsx)(s.code,{children:"v0.4.25"})," and older were created using what is now called the ",(0,o.jsx)(s.em,{children:"open permission mode"}),". Whether ",(0,o.jsx)(s.em,{children:"public"})," or ",(0,o.jsx)(s.em,{children:"private"}),", these shares can be accessed by any user of the zrok service instance, as long as they know the ",(0,o.jsx)(s.em,{children:"share token"})," of the share. Effectively shares with the ",(0,o.jsx)(s.em,{children:"open permission mode"})," are accessible by any user of the zrok service instance."]}),"\n",(0,o.jsxs)(s.p,{children:["zrok now supports a ",(0,o.jsx)(s.em,{children:"closed permission mode"}),", which allows for more fine-grained control over which zrok users are allowed to privately access your shares using ",(0,o.jsx)(s.code,{children:"zrok access private"}),"."]}),"\n",(0,o.jsxs)(s.p,{children:["zrok defaults to continuing to create shares with the ",(0,o.jsx)(s.em,{children:"open permission mode"}),". This will likely change in a future release. We're leaving the default behavior in place to allow users a period of time to get comfortable with the new permission modes."]}),"\n",(0,o.jsx)(s.h2,{id:"creating-a-share-with-closed-permission-mode",children:"Creating a Share with Closed Permission Mode"}),"\n",(0,o.jsxs)(s.p,{children:["Adding the ",(0,o.jsx)(s.code,{children:"--closed"})," flag to the ",(0,o.jsx)(s.code,{children:"zrok share"})," or ",(0,o.jsx)(s.code,{children:"zrok reserve"})," commands will create shares using the ",(0,o.jsx)(s.em,{children:"closed permission mode"}),":"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok share private --headless --closed -b web .\n[ 0.066] INFO main.(*sharePrivateCommand).run: allow other to access your share with the following command:\nzrok access private 0vzwzodf0c7g\n"})}),"\n",(0,o.jsxs)(s.p,{children:["By default any environment owned by the account that created the share is ",(0,o.jsx)(s.em,{children:"allowed"})," to access the new share. But a user trying to access the share from an environment owned by a different account will enounter the following error message:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok access private 0vzwzodf0c7g\n[ERROR]: unable to access ([POST /access][401] accessUnauthorized)\n"})}),"\n",(0,o.jsxs)(s.p,{children:["The ",(0,o.jsx)(s.code,{children:"zrok share"})," and ",(0,o.jsx)(s.code,{children:"zrok reserve"})," commands now include an ",(0,o.jsx)(s.code,{children:"--access-grant"})," flag, which allows you to specify additional zrok accounts that are allowed to access your shares:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok share private --headless --closed --access-grant anotheruser@test.com -b web .\n[ 0.062] INFO main.(*sharePrivateCommand).run: allow other to access your share with the following command:\nzrok access private y6h4at5xvn6o\n"})}),"\n",(0,o.jsxs)(s.p,{children:["And now ",(0,o.jsx)(s.code,{children:"anotheruser@test.com"})," will be allowed to access the share:"]}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok access private --headless y6h4at5xvn6o\n[ 0.049] INFO main.(*accessPrivateCommand).run: allocated frontend 'VyvrJihAOEHD'\n[ 0.051] INFO main.(*accessPrivateCommand).run: access the zrok share at the following endpoint: http://127.0.0.1:9191\n"})}),"\n",(0,o.jsx)(s.h2,{id:"adding-and-removing-access-grants-for-existing-shares",children:"Adding and Removing Access Grants for Existing Shares"}),"\n",(0,o.jsxs)(s.p,{children:["If you've created a share (either reserved or ephemeral) and you forgot to include an access grant, or want to remove an access grant that was mistakenly added, you can use the ",(0,o.jsx)(s.code,{children:"zrok modify share"})," command to make the adjustments:"]}),"\n",(0,o.jsx)(s.p,{children:"Create a share:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok share private --headless --closed -b web .\n[ 0.064] INFO main.(*sharePrivateCommand).run: allow other to access your share with the following command:\nzrok access private s4czjylwk7wa\n"})}),"\n",(0,o.jsx)(s.p,{children:"In another shell in the same environment you can execute:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok modify share s4czjylwk7wa --add-access-grant anotheruser@test.com\nupdated\n"})}),"\n",(0,o.jsx)(s.p,{children:"And to remove the grant:"}),"\n",(0,o.jsx)(s.pre,{children:(0,o.jsx)(s.code,{children:"$ zrok modify share s4czjylwk7wa --remove-access-grant anotheruser@test.com\nupdated\n"})}),"\n",(0,o.jsx)(s.h2,{id:"limitations",children:"Limitations"}),"\n",(0,o.jsxs)(s.p,{children:["As of ",(0,o.jsx)(s.code,{children:"v0.4.26"})," there is currently no way to ",(0,o.jsx)(s.em,{children:"list"})," the current access grants. This will be addressed shortly in a subsequent update."]})]})}function l(e={}){const{wrapper:s}={...(0,i.R)(),...e.components};return s?(0,o.jsx)(s,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},8453:(e,s,n)=>{n.d(s,{R:()=>a,x:()=>t});var r=n(6540);const o={},i=r.createContext(o);function a(e){const s=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(s):{...s,...e}}),[s,e])}function t(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:a(e.components),r.createElement(i.Provider,{value:s},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/11b43341.3fdbb37e.js b/assets/js/11b43341.536959c1.js
similarity index 70%
rename from assets/js/11b43341.3fdbb37e.js
rename to assets/js/11b43341.536959c1.js
index 724277b9..456b3c47 100644
--- a/assets/js/11b43341.3fdbb37e.js
+++ b/assets/js/11b43341.536959c1.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2256],{5293:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"1.0","banner":null,"badge":true,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started","href":"/docs/getting-started","docId":"getting-started","unlisted":false},{"type":"category","label":"Concepts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Private Shares","href":"/docs/concepts/sharing-private","docId":"concepts/sharing-private","unlisted":false},{"type":"link","label":"Public Shares","href":"/docs/concepts/sharing-public","docId":"concepts/sharing-public","unlisted":false},{"type":"link","label":"Reserved Shares","href":"/docs/concepts/sharing-reserved","docId":"concepts/sharing-reserved","unlisted":false},{"type":"link","label":"Sharing HTTP Servers","href":"/docs/concepts/http","docId":"concepts/http","unlisted":false},{"type":"link","label":"Sharing TCP and UDP Servers","href":"/docs/concepts/tunnels","docId":"concepts/tunnels","unlisted":false},{"type":"link","label":"Sharing Websites and Files","href":"/docs/concepts/files","docId":"concepts/files","unlisted":false},{"type":"link","label":"Open Source","href":"/docs/concepts/opensource","docId":"concepts/opensource","unlisted":false},{"type":"link","label":"Hosting","href":"/docs/concepts/hosting","docId":"concepts/hosting","unlisted":false}],"href":"/docs/concepts/"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Install","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Linux","href":"/docs/guides/install/linux","docId":"guides/install/linux","unlisted":false},{"type":"link","label":"macOS","href":"/docs/guides/install/macos","docId":"guides/install/macos","unlisted":false},{"type":"link","label":"Windows","href":"/docs/guides/install/windows","docId":"guides/install/windows","unlisted":false}],"href":"/docs/guides/install/"},{"type":"category","label":"The zrok Agent","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Linux Agent Service","href":"/docs/guides/agent/linux-service","docId":"guides/agent/linux-service","unlisted":false},{"type":"link","label":"Windows Agent Service","href":"/docs/guides/agent/windows-service/","docId":"guides/agent/windows-service/index","unlisted":false}],"href":"/docs/guides/agent/"},{"type":"link","label":"frontdoor","href":"/docs/guides/frontdoor","docId":"guides/frontdoor","unlisted":false},{"type":"link","label":"Permission Modes","href":"/docs/guides/permission-modes","docId":"guides/permission-modes","unlisted":false},{"type":"category","label":"Docker Share","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Public Share","href":"/docs/guides/docker-share/docker_public_share_guide","docId":"guides/docker-share/docker_public_share_guide","unlisted":false},{"type":"link","label":"Private Share","href":"/docs/guides/docker-share/docker_private_share_guide","docId":"guides/docker-share/docker_private_share_guide","unlisted":false}],"href":"/docs/guides/docker-share/"},{"type":"category","label":"Self Hosting","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Linux","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"NGINX TLS","href":"/docs/guides/self-hosting/linux/nginx","docId":"guides/self-hosting/linux/nginx","unlisted":false}],"href":"/docs/guides/self-hosting/linux/"},{"type":"link","label":"Interstitial Pages","href":"/docs/guides/self-hosting/interstitial-page","docId":"guides/self-hosting/interstitial-page","unlisted":false},{"type":"link","label":"Organizations","href":"/docs/guides/self-hosting/organizations","docId":"guides/self-hosting/organizations","unlisted":false},{"type":"link","label":"Personalized Frontend","href":"/docs/guides/self-hosting/personalized-frontend","docId":"guides/self-hosting/personalized-frontend","unlisted":false},{"type":"link","label":"Docker","href":"/docs/guides/self-hosting/docker","docId":"guides/self-hosting/docker","unlisted":false},{"type":"link","label":"Kubernetes","href":"/docs/guides/self-hosting/kubernetes","docId":"guides/self-hosting/kubernetes","unlisted":false},{"type":"category","label":"Metrics and Limits","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuring Metrics","href":"/docs/guides/self-hosting/metrics-and-limits/configuring-metrics","docId":"guides/self-hosting/metrics-and-limits/configuring-metrics","unlisted":false},{"type":"link","label":"Configuring Limits","href":"/docs/guides/self-hosting/metrics-and-limits/configuring-limits","docId":"guides/self-hosting/metrics-and-limits/configuring-limits","unlisted":false}],"href":"/docs/category/metrics-and-limits"},{"type":"category","label":"OAuth","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"OAuth Public Frontend Configuration","href":"/docs/guides/self-hosting/oauth/configuring-oauth","docId":"guides/self-hosting/oauth/configuring-oauth","unlisted":false}],"href":"/docs/category/oauth"},{"type":"link","label":"Instance Config","href":"/docs/guides/self-hosting/instance-configuration","docId":"guides/self-hosting/instance-configuration","unlisted":false},{"type":"link","label":"Invitations","href":"/docs/guides/self-hosting/self-service-invite","docId":"guides/self-hosting/self-service-invite","unlisted":false}],"href":"/docs/category/self-hosting"},{"type":"link","label":"Drives","href":"/docs/guides/drives","docId":"guides/drives","unlisted":false},{"type":"link","label":"VPN","href":"/docs/guides/vpn/","docId":"guides/vpn/vpn","unlisted":false}],"href":"/docs/category/guides"},{"type":"category","label":"myzrok","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Custom Domains","href":"/docs/myzrok/custom-domains/","docId":"myzrok/custom-domains/index","unlisted":false},{"type":"link","label":"Limits","href":"/docs/myzrok/limits","docId":"myzrok/limits","unlisted":false},{"type":"link","label":"Upgrading From 0.4 to 1.0","href":"/docs/myzrok/upgrading","docId":"myzrok/upgrading","unlisted":false}],"href":"/docs/category/myzrok"}]},"docs":{"concepts/files":{"id":"concepts/files","title":"Sharing Websites and Files","description":"With zrok it is possible to share files quickly and easily as well. To share files using zrok use","sidebar":"tutorialSidebar"},"concepts/hosting":{"id":"concepts/hosting","title":"Hosting","description":"Self-Hosted","sidebar":"tutorialSidebar"},"concepts/http":{"id":"concepts/http","title":"Sharing HTTP Servers","description":"zrok can share HTTP and HTTPS resources natively. If you have an existing web server that you want to share with other users, you can use the zrok share command using the --backend-mode proxy flag.","sidebar":"tutorialSidebar"},"concepts/index":{"id":"concepts/index","title":"Concepts","description":"zrok was designed to make sharing local resources both secure and easy. In this section of the zrok documentation, we\'ll tour through all of the most important features.","sidebar":"tutorialSidebar"},"concepts/opensource":{"id":"concepts/opensource","title":"Open Source","description":"It\'s important to the zrok project that it remain free and open source software. The code is available on GitHub","sidebar":"tutorialSidebar"},"concepts/sharing-private":{"id":"concepts/sharing-private","title":"Private Shares","description":"zrok was built to share and access digital resources. A private share allows a resource to be","sidebar":"tutorialSidebar"},"concepts/sharing-public":{"id":"concepts/sharing-public","title":"Public Shares","description":"zrok supports public sharing for web-based (HTTP and HTTPS) resources. These resources are easily shared with the general internet through public access points.","sidebar":"tutorialSidebar"},"concepts/sharing-reserved":{"id":"concepts/sharing-reserved","title":"Reserved Shares","description":"By default, a public or private share is assigned a share token when you create a share using the zrok share command. The zrok share command is the bridge between your local environment and the users you are sharing with. When you terminate the zrok share, the bridge is eliminated and the share token is deleted. If you run zrok share again, you will be allocated a brand new share token.","sidebar":"tutorialSidebar"},"concepts/tunnels":{"id":"concepts/tunnels","title":"Sharing TCP and UDP Servers","description":"zrok includes support for sharing low-level TCP and UDP network resources using the tcpTunnel and udpTunnel backend modes.","sidebar":"tutorialSidebar"},"getting-started":{"id":"getting-started","title":"Getting Started","description":"Your Secure Internet Sharing Perimeter","sidebar":"tutorialSidebar"},"guides/agent/index":{"id":"guides/agent/index","title":"Agent","description":"The zrok Agent centralizes management of your zrok shares and accesses. It provides both web-based and command-line interfaces, and changes how the zrok share and zrok access commands behave.","sidebar":"tutorialSidebar"},"guides/agent/linux-service":{"id":"guides/agent/linux-service","title":"Linux Agent Service","description":"Overview","sidebar":"tutorialSidebar"},"guides/agent/windows-service/index":{"id":"guides/agent/windows-service/index","title":"Configuring a Windows Service","description":"In Windows environments, it can be useful to run the zrok Agent as a service, allowing it to automatically restart with your system.","sidebar":"tutorialSidebar"},"guides/docker-share/docker_private_share_guide":{"id":"guides/docker-share/docker_private_share_guide","title":"Docker Private Share","description":"Goal","sidebar":"tutorialSidebar"},"guides/docker-share/docker_public_share_guide":{"id":"guides/docker-share/docker_public_share_guide","title":"Docker Compose Public Share","description":"Goal","sidebar":"tutorialSidebar"},"guides/docker-share/index":{"id":"guides/docker-share/index","title":"Getting Started with Docker","description":"Overview","sidebar":"tutorialSidebar"},"guides/drives":{"id":"guides/drives","title":"Drives","description":"The zrok drives CLI tools allow for simple, ergonomic management and synchronization of local and remote files.","sidebar":"tutorialSidebar"},"guides/frontdoor":{"id":"guides/frontdoor","title":"zrok frontdoor","description":"zrok frontdoor is the heavy-duty front door to your app or site. It makes your website or app available to your online audience through the shield of zrok.io\'s hardened, managed frontends.","sidebar":"tutorialSidebar"},"guides/install/index":{"id":"guides/install/index","title":"Install","description":"","sidebar":"tutorialSidebar"},"guides/install/linux":{"id":"guides/install/linux","title":"Install zrok in Linux","description":"Package Repository","sidebar":"tutorialSidebar"},"guides/install/macos":{"id":"guides/install/macos","title":"Install zrok in macOS","description":"Homebrew","sidebar":"tutorialSidebar"},"guides/install/windows":{"id":"guides/install/windows","title":"Install zrok in Windows","description":"Windows Binary","sidebar":"tutorialSidebar"},"guides/permission-modes":{"id":"guides/permission-modes","title":"Permission Modes","description":"Shares created in zrok v0.4.26 and newer now include a choice of permission mode.","sidebar":"tutorialSidebar"},"guides/self-hosting/docker":{"id":"guides/self-hosting/docker","title":"Self-hosting guide for Docker","description":"","sidebar":"tutorialSidebar"},"guides/self-hosting/instance-configuration":{"id":"guides/self-hosting/instance-configuration","title":"Use Another zrok Instance","description":"This guide is relevant if you are self-hosting or using a friend\'s zrok instance instead of using zrok-as-a-service from zrok.io.","sidebar":"tutorialSidebar"},"guides/self-hosting/interstitial-page":{"id":"guides/self-hosting/interstitial-page","title":"Interstitial Pages","description":"On large zrok installations that support open registration and shared public frontends, abuse can become an issue. In order to mitigate phishing and other similar forms of abuse, zrok offers an interstitial page that announces to the visiting user that the share is hosted through zrok, and probably isn\'t their financial institution.","sidebar":"tutorialSidebar"},"guides/self-hosting/kubernetes":{"id":"guides/self-hosting/kubernetes","title":"Self-host a zrok Instance in Kubernetes","description":"The Helm chart for zrok is available from the main OpenZiti charts repo.","sidebar":"tutorialSidebar"},"guides/self-hosting/linux/index":{"id":"guides/self-hosting/linux/index","title":"Self-Hosting Guide for Linux","description":"Walkthrough Video","sidebar":"tutorialSidebar"},"guides/self-hosting/linux/nginx":{"id":"guides/self-hosting/linux/nginx","title":"NGINX Reverse Proxy for zrok","description":"Walkthrough Video","sidebar":"tutorialSidebar"},"guides/self-hosting/metrics-and-limits/configuring-limits":{"id":"guides/self-hosting/metrics-and-limits/configuring-limits","title":"Configuring Limits","description":"This guide is current as of zrok version v0.4.31.","sidebar":"tutorialSidebar"},"guides/self-hosting/metrics-and-limits/configuring-metrics":{"id":"guides/self-hosting/metrics-and-limits/configuring-metrics","title":"Configuring Metrics","description":"A fully configured, production-scale zrok service instance looks like this:","sidebar":"tutorialSidebar"},"guides/self-hosting/oauth/configuring-oauth":{"id":"guides/self-hosting/oauth/configuring-oauth","title":"OAuth Public Frontend Configuration","description":"As of v0.4.7, zrok includes OAuth integration for both Google and GitHub for zrok access public public frontends.","sidebar":"tutorialSidebar"},"guides/self-hosting/organizations":{"id":"guides/self-hosting/organizations","title":"Organizations","description":"zrok (starting with v0.4.45) includes support for \\"organizations\\". Organizations are groups of related accounts that are typically centrally managed in some capacity. A zrok account can be a member of multiple organizations. Organization membership can also include an \\"admin\\" permission. As of v0.4.45 organization admins are able to retrieve an \\"overview\\" (zrok overview) from any other account in the organization, allowing the admin to see the details of the environments, shares, and accesses created within that account.","sidebar":"tutorialSidebar"},"guides/self-hosting/personalized-frontend":{"id":"guides/self-hosting/personalized-frontend","title":"Personalized Frontend","description":"This guide describes an approach that enables a zrok user to use a hosted, shared instance (zrok.io) and configure their own personalized frontend, which enables custom DNS and TLS for their shares.","sidebar":"tutorialSidebar"},"guides/self-hosting/self-service-invite":{"id":"guides/self-hosting/self-service-invite","title":"Invitations","description":"This is how to set up self-service invitations for your users to get an account on your self-hosted zrok instance.","sidebar":"tutorialSidebar"},"guides/vpn/vpn":{"id":"guides/vpn/vpn","title":"zrok VPN Guide","description":"zrok VPN backend allows for simple host-to-host VPN setup.","sidebar":"tutorialSidebar"},"myzrok/custom-domains/index":{"id":"myzrok/custom-domains/index","title":"Custom Domains","description":"Overview","sidebar":"tutorialSidebar"},"myzrok/limits":{"id":"myzrok/limits","title":"Limits","description":"NetFoundry\'s public zrok instance implements various limits based on pricing tier,","sidebar":"tutorialSidebar"},"myzrok/upgrading":{"id":"myzrok/upgrading","title":"Upgrading From 0.4 to 1.0","description":"Upgrading an existing 0.4 environment","sidebar":"tutorialSidebar"}}}}')}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[2256],{5293:e=>{e.exports=JSON.parse('{"version":{"pluginId":"default","version":"current","label":"1.0","banner":null,"badge":true,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Getting Started","href":"/docs/getting-started","docId":"getting-started","unlisted":false},{"type":"category","label":"Concepts","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Private Shares","href":"/docs/concepts/sharing-private","docId":"concepts/sharing-private","unlisted":false},{"type":"link","label":"Public Shares","href":"/docs/concepts/sharing-public","docId":"concepts/sharing-public","unlisted":false},{"type":"link","label":"Reserved Shares","href":"/docs/concepts/sharing-reserved","docId":"concepts/sharing-reserved","unlisted":false},{"type":"link","label":"Sharing HTTP Servers","href":"/docs/concepts/http","docId":"concepts/http","unlisted":false},{"type":"link","label":"Sharing TCP and UDP Servers","href":"/docs/concepts/tunnels","docId":"concepts/tunnels","unlisted":false},{"type":"link","label":"Sharing Websites and Files","href":"/docs/concepts/files","docId":"concepts/files","unlisted":false},{"type":"link","label":"Open Source","href":"/docs/concepts/opensource","docId":"concepts/opensource","unlisted":false},{"type":"link","label":"Hosting","href":"/docs/concepts/hosting","docId":"concepts/hosting","unlisted":false}],"href":"/docs/concepts/"},{"type":"category","label":"Guides","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Install","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Linux","href":"/docs/guides/install/linux","docId":"guides/install/linux","unlisted":false},{"type":"link","label":"macOS","href":"/docs/guides/install/macos","docId":"guides/install/macos","unlisted":false},{"type":"link","label":"Windows","href":"/docs/guides/install/windows","docId":"guides/install/windows","unlisted":false}],"href":"/docs/guides/install/"},{"type":"category","label":"The zrok Agent","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Linux Agent Service","href":"/docs/guides/agent/linux-service","docId":"guides/agent/linux-service","unlisted":false},{"type":"link","label":"Windows Agent Service","href":"/docs/guides/agent/windows-service/","docId":"guides/agent/windows-service/index","unlisted":false}],"href":"/docs/guides/agent/"},{"type":"link","label":"frontdoor","href":"/docs/guides/frontdoor","docId":"guides/frontdoor","unlisted":false},{"type":"link","label":"Permission Modes","href":"/docs/guides/permission-modes","docId":"guides/permission-modes","unlisted":false},{"type":"category","label":"Docker Share","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Public Share","href":"/docs/guides/docker-share/docker_public_share_guide","docId":"guides/docker-share/docker_public_share_guide","unlisted":false},{"type":"link","label":"Private Share","href":"/docs/guides/docker-share/docker_private_share_guide","docId":"guides/docker-share/docker_private_share_guide","unlisted":false}],"href":"/docs/guides/docker-share/"},{"type":"category","label":"Self Hosting","collapsible":true,"collapsed":true,"items":[{"type":"category","label":"Linux","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"NGINX TLS","href":"/docs/guides/self-hosting/linux/nginx","docId":"guides/self-hosting/linux/nginx","unlisted":false}],"href":"/docs/guides/self-hosting/linux/"},{"type":"link","label":"Interstitial Pages","href":"/docs/guides/self-hosting/interstitial-page","docId":"guides/self-hosting/interstitial-page","unlisted":false},{"type":"link","label":"Organizations","href":"/docs/guides/self-hosting/organizations","docId":"guides/self-hosting/organizations","unlisted":false},{"type":"link","label":"Personalized Frontend","href":"/docs/guides/self-hosting/personalized-frontend","docId":"guides/self-hosting/personalized-frontend","unlisted":false},{"type":"link","label":"Docker","href":"/docs/guides/self-hosting/docker","docId":"guides/self-hosting/docker","unlisted":false},{"type":"link","label":"Kubernetes","href":"/docs/guides/self-hosting/kubernetes","docId":"guides/self-hosting/kubernetes","unlisted":false},{"type":"category","label":"Metrics and Limits","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Configuring Metrics","href":"/docs/guides/self-hosting/metrics-and-limits/configuring-metrics","docId":"guides/self-hosting/metrics-and-limits/configuring-metrics","unlisted":false},{"type":"link","label":"Configuring Limits","href":"/docs/guides/self-hosting/metrics-and-limits/configuring-limits","docId":"guides/self-hosting/metrics-and-limits/configuring-limits","unlisted":false}],"href":"/docs/category/metrics-and-limits"},{"type":"category","label":"OAuth","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"OAuth Public Frontend Configuration","href":"/docs/guides/self-hosting/oauth/configuring-oauth","docId":"guides/self-hosting/oauth/configuring-oauth","unlisted":false}],"href":"/docs/category/oauth"},{"type":"link","label":"Instance Config","href":"/docs/guides/self-hosting/instance-configuration","docId":"guides/self-hosting/instance-configuration","unlisted":false},{"type":"link","label":"Invitations","href":"/docs/guides/self-hosting/self-service-invite","docId":"guides/self-hosting/self-service-invite","unlisted":false}],"href":"/docs/category/self-hosting"},{"type":"link","label":"Drives","href":"/docs/guides/drives","docId":"guides/drives","unlisted":false},{"type":"link","label":"VPN","href":"/docs/guides/vpn/","docId":"guides/vpn/vpn","unlisted":false}],"href":"/docs/category/guides"},{"type":"category","label":"myzrok","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Custom Domains","href":"/docs/myzrok/custom-domains/","docId":"myzrok/custom-domains/index","unlisted":false},{"type":"link","label":"Limits","href":"/docs/myzrok/limits","docId":"myzrok/limits","unlisted":false},{"type":"link","label":"Upgrading From 0.4 to 1.0","href":"/docs/myzrok/upgrading","docId":"myzrok/upgrading","unlisted":false}],"href":"/docs/category/myzrok"}]},"docs":{"concepts/files":{"id":"concepts/files","title":"Sharing Websites and Files","description":"With zrok it is possible to share files quickly and easily as well. To share files using zrok use","sidebar":"tutorialSidebar"},"concepts/hosting":{"id":"concepts/hosting","title":"Hosting","description":"Self-Hosted","sidebar":"tutorialSidebar"},"concepts/http":{"id":"concepts/http","title":"Sharing HTTP Servers","description":"zrok can share HTTP and HTTPS resources natively. If you have an existing web server that you want to share with other users, you can use the zrok share command using the --backend-mode proxy flag.","sidebar":"tutorialSidebar"},"concepts/index":{"id":"concepts/index","title":"Concepts","description":"zrok was designed to make sharing local resources both secure and easy. In this section of the zrok documentation, we\'ll tour through all of the most important features.","sidebar":"tutorialSidebar"},"concepts/opensource":{"id":"concepts/opensource","title":"Open Source","description":"It\'s important to the zrok project that it remain free and open source software. The code is available on GitHub","sidebar":"tutorialSidebar"},"concepts/sharing-private":{"id":"concepts/sharing-private","title":"Private Shares","description":"zrok was built to share and access digital resources. A private share allows a resource to be","sidebar":"tutorialSidebar"},"concepts/sharing-public":{"id":"concepts/sharing-public","title":"Public Shares","description":"zrok supports public sharing for web-based (HTTP and HTTPS) resources. These resources are easily shared with the general internet through public access points.","sidebar":"tutorialSidebar"},"concepts/sharing-reserved":{"id":"concepts/sharing-reserved","title":"Reserved Shares","description":"By default, a public or private share is assigned a share token when you create a share using the zrok share command. The zrok share command is the bridge between your local environment and the users you are sharing with. When you terminate the zrok share, the bridge is eliminated and the share token is deleted. If you run zrok share again, you will be allocated a brand new share token.","sidebar":"tutorialSidebar"},"concepts/tunnels":{"id":"concepts/tunnels","title":"Sharing TCP and UDP Servers","description":"zrok includes support for sharing low-level TCP and UDP network resources using the tcpTunnel and udpTunnel backend modes.","sidebar":"tutorialSidebar"},"getting-started":{"id":"getting-started","title":"Getting Started","description":"Your Secure Internet Sharing Perimeter","sidebar":"tutorialSidebar"},"guides/agent/index":{"id":"guides/agent/index","title":"Agent","description":"The zrok Agent centralizes management of your zrok shares and accesses. It provides both web-based and command-line interfaces, and changes how the zrok share and zrok access commands behave.","sidebar":"tutorialSidebar"},"guides/agent/linux-service":{"id":"guides/agent/linux-service","title":"Linux Agent Service","description":"Overview","sidebar":"tutorialSidebar"},"guides/agent/windows-service/index":{"id":"guides/agent/windows-service/index","title":"Configuring a Windows Service","description":"In Windows environments, it can be useful to run the zrok Agent as a service, allowing it to automatically restart with your system.","sidebar":"tutorialSidebar"},"guides/docker-share/docker_private_share_guide":{"id":"guides/docker-share/docker_private_share_guide","title":"Docker Private Share","description":"Goal","sidebar":"tutorialSidebar"},"guides/docker-share/docker_public_share_guide":{"id":"guides/docker-share/docker_public_share_guide","title":"Docker Compose Public Share","description":"Goal","sidebar":"tutorialSidebar"},"guides/docker-share/index":{"id":"guides/docker-share/index","title":"Getting Started with Docker","description":"Overview","sidebar":"tutorialSidebar"},"guides/drives":{"id":"guides/drives","title":"Drives","description":"The zrok drives CLI tools allow for simple, ergonomic management and synchronization of local and remote files.","sidebar":"tutorialSidebar"},"guides/frontdoor":{"id":"guides/frontdoor","title":"zrok frontdoor","description":"zrok frontdoor is the heavy-duty front door to your app or site. It makes your website or app available to your online audience through the shield of zrok.io\'s hardened, managed frontends.","sidebar":"tutorialSidebar"},"guides/install/index":{"id":"guides/install/index","title":"Install","description":"","sidebar":"tutorialSidebar"},"guides/install/linux":{"id":"guides/install/linux","title":"Install zrok in Linux","description":"Package Repository","sidebar":"tutorialSidebar"},"guides/install/macos":{"id":"guides/install/macos","title":"Install zrok in macOS","description":"Homebrew","sidebar":"tutorialSidebar"},"guides/install/windows":{"id":"guides/install/windows","title":"Install zrok in Windows","description":"Windows Binary","sidebar":"tutorialSidebar"},"guides/permission-modes":{"id":"guides/permission-modes","title":"Permission Modes","description":"As of v1.0.5 zrok sharing now defaults to the closed permission mode. The --closed flag has been removed and has been replaced with a new --open flag for users who want to retain the open permission model. Otherwise, the closed permission mode works exactly the same.","sidebar":"tutorialSidebar"},"guides/self-hosting/docker":{"id":"guides/self-hosting/docker","title":"Self-hosting guide for Docker","description":"","sidebar":"tutorialSidebar"},"guides/self-hosting/instance-configuration":{"id":"guides/self-hosting/instance-configuration","title":"Use Another zrok Instance","description":"This guide is relevant if you are self-hosting or using a friend\'s zrok instance instead of using zrok-as-a-service from zrok.io.","sidebar":"tutorialSidebar"},"guides/self-hosting/interstitial-page":{"id":"guides/self-hosting/interstitial-page","title":"Interstitial Pages","description":"On large zrok installations that support open registration and shared public frontends, abuse can become an issue. In order to mitigate phishing and other similar forms of abuse, zrok offers an interstitial page that announces to the visiting user that the share is hosted through zrok, and probably isn\'t their financial institution.","sidebar":"tutorialSidebar"},"guides/self-hosting/kubernetes":{"id":"guides/self-hosting/kubernetes","title":"Self-host a zrok Instance in Kubernetes","description":"The Helm chart for zrok is available from the main OpenZiti charts repo.","sidebar":"tutorialSidebar"},"guides/self-hosting/linux/index":{"id":"guides/self-hosting/linux/index","title":"Self-Hosting Guide for Linux","description":"Walkthrough Video","sidebar":"tutorialSidebar"},"guides/self-hosting/linux/nginx":{"id":"guides/self-hosting/linux/nginx","title":"NGINX Reverse Proxy for zrok","description":"Walkthrough Video","sidebar":"tutorialSidebar"},"guides/self-hosting/metrics-and-limits/configuring-limits":{"id":"guides/self-hosting/metrics-and-limits/configuring-limits","title":"Configuring Limits","description":"This guide is current as of zrok version v0.4.31.","sidebar":"tutorialSidebar"},"guides/self-hosting/metrics-and-limits/configuring-metrics":{"id":"guides/self-hosting/metrics-and-limits/configuring-metrics","title":"Configuring Metrics","description":"A fully configured, production-scale zrok service instance looks like this:","sidebar":"tutorialSidebar"},"guides/self-hosting/oauth/configuring-oauth":{"id":"guides/self-hosting/oauth/configuring-oauth","title":"OAuth Public Frontend Configuration","description":"As of v0.4.7, zrok includes OAuth integration for both Google and GitHub for zrok access public public frontends.","sidebar":"tutorialSidebar"},"guides/self-hosting/organizations":{"id":"guides/self-hosting/organizations","title":"Organizations","description":"zrok (starting with v0.4.45) includes support for \\"organizations\\". Organizations are groups of related accounts that are typically centrally managed in some capacity. A zrok account can be a member of multiple organizations. Organization membership can also include an \\"admin\\" permission. As of v0.4.45 organization admins are able to retrieve an \\"overview\\" (zrok overview) from any other account in the organization, allowing the admin to see the details of the environments, shares, and accesses created within that account.","sidebar":"tutorialSidebar"},"guides/self-hosting/personalized-frontend":{"id":"guides/self-hosting/personalized-frontend","title":"Personalized Frontend","description":"This guide describes an approach that enables a zrok user to use a hosted, shared instance (zrok.io) and configure their own personalized frontend, which enables custom DNS and TLS for their shares.","sidebar":"tutorialSidebar"},"guides/self-hosting/self-service-invite":{"id":"guides/self-hosting/self-service-invite","title":"Invitations","description":"This is how to set up self-service invitations for your users to get an account on your self-hosted zrok instance.","sidebar":"tutorialSidebar"},"guides/vpn/vpn":{"id":"guides/vpn/vpn","title":"zrok VPN Guide","description":"zrok VPN backend allows for simple host-to-host VPN setup.","sidebar":"tutorialSidebar"},"myzrok/custom-domains/index":{"id":"myzrok/custom-domains/index","title":"Custom Domains","description":"Overview","sidebar":"tutorialSidebar"},"myzrok/limits":{"id":"myzrok/limits","title":"Limits","description":"NetFoundry\'s public zrok instance implements various limits based on pricing tier,","sidebar":"tutorialSidebar"},"myzrok/upgrading":{"id":"myzrok/upgrading","title":"Upgrading From 0.4 to 1.0","description":"Upgrading an existing 0.4 environment","sidebar":"tutorialSidebar"}}}}')}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.d7762b0c.js b/assets/js/runtime~main.28938ad8.js
similarity index 77%
rename from assets/js/runtime~main.d7762b0c.js
rename to assets/js/runtime~main.28938ad8.js
index f1880f03..1cb2221b 100644
--- a/assets/js/runtime~main.d7762b0c.js
+++ b/assets/js/runtime~main.28938ad8.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,d,c,b,f={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return f[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=f,r.c=t,r.amdO={},e=[],r.O=(a,d,c,b)=>{if(!d){var f=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[d,c,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var f={};a=a||[null,d({}),d([]),d(d)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(b,f),b},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"assets/js/"+({37:"ebc0e2a0",277:"4f1777fd",351:"3fab0acb",429:"50ef9c44",471:"7dd0c8d0",598:"9939c4f4",627:"d087459a",714:"b6569025",749:"21880a4d",826:"bc32cbb6",887:"c015c796",957:"c141421f",1057:"bbbe662c",1087:"395a6105",1235:"a7456010",1346:"d3a54718",1421:"71c8a211",1595:"1ddd36f2",1769:"aad6478e",1831:"80941509",1864:"8a9ffb5d",1939:"7f5ec875",2138:"1a4e3797",2256:"11b43341",2634:"c4f5d8e4",2757:"cda0d2e5",2759:"1ba5bc99",2867:"6a6a5bbc",3165:"c88279fc",3373:"6e881e32",3423:"e1dfe4fe",3434:"bfe99541",3574:"4cb7be2f",3588:"288b1075",3747:"01cb08ea",3786:"c304be44",3921:"36b94792",3979:"2c440c24",4074:"5cd0a723",4247:"d768dc0f",4277:"27b0284c",4466:"7d0a541a",4470:"f888b719",4504:"b36bb0c9",4717:"392083ed",4909:"bc747cac",4927:"47881d5c",5117:"8dbf8f84",5689:"685bed1a",5695:"f8f494be",5742:"aba21aa0",5955:"8b4ddd1a",6063:"6ad1709d",6289:"ce04f2ae",6332:"2da89d45",6381:"1f91e8db",6475:"033e8fc8",6595:"0c1cdb3d",6878:"1dd31738",6946:"2cc2e835",6969:"14eb3368",6974:"bf372175",7098:"a7bd4aaa",7120:"2fede397",7216:"0c66edb9",7242:"6272ba0e",7499:"07d0b302",7599:"f7af5a99",7752:"339d500a",8051:"adf8dca1",8173:"0efac3c3",8240:"28f20845",8301:"81fb89b8",8401:"17896441",8406:"85d55244",8436:"4277b6a0",8471:"2e812224",8528:"43e1c8e4",8582:"20595907",8675:"54fa7005",8746:"25ef1bb8",8875:"17f4c24e",9002:"ecf841c3",9025:"75b20590",9033:"901ef07d",9048:"a94703ab",9148:"35a60099",9253:"e2c4d679",9355:"600b2345",9471:"48341697",9476:"7452427d",9576:"61ea36d9",9631:"9af26a4e",9647:"5e95c892",9851:"e3e0bfdc",9905:"ef8afbfd"}[e]||e)+"."+{37:"2fd8a7d5",277:"8662c934",351:"42090723",382:"a8e40f63",429:"12fc4d19",471:"bff7c1df",598:"269715f4",627:"5b953d23",714:"b77dca15",749:"3fc237ab",826:"9999155a",887:"72c3baed",957:"94fe8bc5",1057:"9639f5d7",1087:"b2cbbe01",1235:"7b4b0a20",1346:"cf229226",1421:"bc7ae09e",1595:"8f4f006e",1769:"3d3869e2",1809:"e9544cab",1831:"76c5af9c",1864:"76a8055d",1939:"930ba73d",2138:"41a00028",2256:"3fdbb37e",2634:"e72ebafa",2757:"2230e891",2759:"f852d55b",2867:"492570ea",2913:"952f279a",3042:"616631a6",3165:"e4590d8c",3373:"d1a95584",3423:"6a8817d7",3434:"ebbc647d",3574:"a83087ce",3588:"d8c0cc34",3747:"086f8ddd",3786:"9bdbc4e1",3921:"4fa1b781",3979:"8ad59b19",4017:"7e97479c",4074:"a9c6bc01",4247:"7e820d0a",4277:"f6ce6473",4466:"60c67a50",4470:"2f5aac25",4504:"40225a52",4717:"3e9024f0",4831:"cc421862",4909:"47cf4617",4927:"9fc06796",5117:"3f2e467f",5689:"805a7a11",5695:"6cdbf166",5742:"9ac6642b",5955:"f19e7085",6063:"68cc20aa",6289:"7967717a",6332:"50a9d468",6381:"2ff8779a",6475:"d38e5d82",6595:"2f3a3b78",6878:"f2361110",6946:"3f7ac032",6969:"77817439",6974:"b4ab81db",7098:"cea47d6c",7120:"cf7aaa58",7216:"ea664c8d",7242:"6f3f0f49",7499:"d3837b27",7599:"8573f403",7752:"f2d81bcd",8051:"2569ff33",8158:"18bfb97f",8173:"ddd75f48",8240:"b3a7ec46",8301:"5431648f",8401:"575d0faf",8406:"90606a88",8436:"0e01d84b",8471:"1a40eb4c",8528:"968e1006",8582:"d363fbd2",8675:"b2d85980",8746:"829f2dbc",8875:"e020a04d",8913:"83bce4ad",9002:"55fddec0",9025:"6e350206",9033:"b8ef613e",9048:"fa816e76",9148:"e9f86877",9253:"dd14fdd8",9355:"9c2e688e",9471:"ee186ebb",9476:"213d2c47",9576:"d29dac57",9631:"b4a6cf60",9647:"6fe04f8c",9851:"c7a4408d",9905:"b48764cd"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},b="website:",r.l=(e,a,d,f)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==d)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var b=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),b&&b.forEach((e=>e(d))),a)return a(d)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401",20595907:"8582",48341697:"9471",80941509:"1831",ebc0e2a0:"37","4f1777fd":"277","3fab0acb":"351","50ef9c44":"429","7dd0c8d0":"471","9939c4f4":"598",d087459a:"627",b6569025:"714","21880a4d":"749",bc32cbb6:"826",c015c796:"887",c141421f:"957",bbbe662c:"1057","395a6105":"1087",a7456010:"1235",d3a54718:"1346","71c8a211":"1421","1ddd36f2":"1595",aad6478e:"1769","8a9ffb5d":"1864","7f5ec875":"1939","1a4e3797":"2138","11b43341":"2256",c4f5d8e4:"2634",cda0d2e5:"2757","1ba5bc99":"2759","6a6a5bbc":"2867",c88279fc:"3165","6e881e32":"3373",e1dfe4fe:"3423",bfe99541:"3434","4cb7be2f":"3574","288b1075":"3588","01cb08ea":"3747",c304be44:"3786","36b94792":"3921","2c440c24":"3979","5cd0a723":"4074",d768dc0f:"4247","27b0284c":"4277","7d0a541a":"4466",f888b719:"4470",b36bb0c9:"4504","392083ed":"4717",bc747cac:"4909","47881d5c":"4927","8dbf8f84":"5117","685bed1a":"5689",f8f494be:"5695",aba21aa0:"5742","8b4ddd1a":"5955","6ad1709d":"6063",ce04f2ae:"6289","2da89d45":"6332","1f91e8db":"6381","033e8fc8":"6475","0c1cdb3d":"6595","1dd31738":"6878","2cc2e835":"6946","14eb3368":"6969",bf372175:"6974",a7bd4aaa:"7098","2fede397":"7120","0c66edb9":"7216","6272ba0e":"7242","07d0b302":"7499",f7af5a99:"7599","339d500a":"7752",adf8dca1:"8051","0efac3c3":"8173","28f20845":"8240","81fb89b8":"8301","85d55244":"8406","4277b6a0":"8436","2e812224":"8471","43e1c8e4":"8528","54fa7005":"8675","25ef1bb8":"8746","17f4c24e":"8875",ecf841c3:"9002","75b20590":"9025","901ef07d":"9033",a94703ab:"9048","35a60099":"9148",e2c4d679:"9253","600b2345":"9355","7452427d":"9476","61ea36d9":"9576","9af26a4e":"9631","5e95c892":"9647",e3e0bfdc:"9851",ef8afbfd:"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,d)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((d,b)=>c=e[a]=[d,b]));d.push(c[2]=b);var f=r.p+r.u(a),t=new Error;r.l(f,(d=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var b=d&&("load"===d.type?"missing":d.type),f=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+b+": "+f+")",t.name="ChunkLoadError",t.type=b,t.request=f,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var c,b,f=d[0],t=d[1],o=d[2],n=0;if(f.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(d);n{"use strict";var e,a,d,c,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var d=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(d.exports,d,d.exports,r),d.loaded=!0,d.exports}r.m=b,r.c=t,r.amdO={},e=[],r.O=(a,d,c,f)=>{if(!d){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](d[o])))?d.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[d,c,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},d=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,d({}),d([]),d(d)];for(var t=2&c&&e;"object"==typeof t&&!~a.indexOf(t);t=d(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var d in a)r.o(a,d)&&!r.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:a[d]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,d)=>(r.f[d](e,a),a)),[])),r.u=e=>"assets/js/"+({37:"ebc0e2a0",277:"4f1777fd",351:"3fab0acb",429:"50ef9c44",471:"7dd0c8d0",598:"9939c4f4",627:"d087459a",714:"b6569025",749:"21880a4d",826:"bc32cbb6",887:"c015c796",957:"c141421f",1057:"bbbe662c",1087:"395a6105",1235:"a7456010",1346:"d3a54718",1421:"71c8a211",1595:"1ddd36f2",1769:"aad6478e",1831:"80941509",1864:"8a9ffb5d",1939:"7f5ec875",2138:"1a4e3797",2256:"11b43341",2634:"c4f5d8e4",2757:"cda0d2e5",2759:"1ba5bc99",2867:"6a6a5bbc",3165:"c88279fc",3373:"6e881e32",3423:"e1dfe4fe",3434:"bfe99541",3574:"4cb7be2f",3588:"288b1075",3747:"01cb08ea",3786:"c304be44",3921:"36b94792",3979:"2c440c24",4074:"5cd0a723",4247:"d768dc0f",4277:"27b0284c",4466:"7d0a541a",4470:"f888b719",4504:"b36bb0c9",4717:"392083ed",4909:"bc747cac",4927:"47881d5c",5117:"8dbf8f84",5689:"685bed1a",5695:"f8f494be",5742:"aba21aa0",5955:"8b4ddd1a",6063:"6ad1709d",6289:"ce04f2ae",6332:"2da89d45",6381:"1f91e8db",6475:"033e8fc8",6595:"0c1cdb3d",6878:"1dd31738",6946:"2cc2e835",6969:"14eb3368",6974:"bf372175",7098:"a7bd4aaa",7120:"2fede397",7216:"0c66edb9",7242:"6272ba0e",7499:"07d0b302",7599:"f7af5a99",7752:"339d500a",8051:"adf8dca1",8173:"0efac3c3",8240:"28f20845",8301:"81fb89b8",8401:"17896441",8406:"85d55244",8436:"4277b6a0",8471:"2e812224",8528:"43e1c8e4",8582:"20595907",8675:"54fa7005",8746:"25ef1bb8",8875:"17f4c24e",9002:"ecf841c3",9025:"75b20590",9033:"901ef07d",9048:"a94703ab",9148:"35a60099",9253:"e2c4d679",9355:"600b2345",9471:"48341697",9476:"7452427d",9576:"61ea36d9",9631:"9af26a4e",9647:"5e95c892",9851:"e3e0bfdc",9905:"ef8afbfd"}[e]||e)+"."+{37:"2fd8a7d5",277:"8662c934",351:"42090723",382:"a8e40f63",429:"12fc4d19",471:"bff7c1df",598:"269715f4",627:"5b953d23",714:"b77dca15",749:"3fc237ab",826:"9999155a",887:"72c3baed",957:"94fe8bc5",1057:"9639f5d7",1087:"b2cbbe01",1235:"7b4b0a20",1346:"cf229226",1421:"bc7ae09e",1595:"8f4f006e",1769:"3d3869e2",1809:"e9544cab",1831:"76c5af9c",1864:"76a8055d",1939:"930ba73d",2138:"41a00028",2256:"536959c1",2634:"e72ebafa",2757:"2230e891",2759:"f852d55b",2867:"492570ea",2913:"952f279a",3042:"616631a6",3165:"e4590d8c",3373:"d1a95584",3423:"6a8817d7",3434:"ebbc647d",3574:"a83087ce",3588:"d8c0cc34",3747:"086f8ddd",3786:"9bdbc4e1",3921:"4fa1b781",3979:"8ad59b19",4017:"7e97479c",4074:"a9c6bc01",4247:"7e820d0a",4277:"f6ce6473",4466:"60c67a50",4470:"2f5aac25",4504:"40225a52",4717:"3e9024f0",4831:"cc421862",4909:"47cf4617",4927:"9fc06796",5117:"3f2e467f",5689:"805a7a11",5695:"6cdbf166",5742:"9ac6642b",5955:"f19e7085",6063:"68cc20aa",6289:"7967717a",6332:"50a9d468",6381:"2ff8779a",6475:"d38e5d82",6595:"2f3a3b78",6878:"f2361110",6946:"3f7ac032",6969:"77817439",6974:"b4ab81db",7098:"cea47d6c",7120:"cf7aaa58",7216:"31a10535",7242:"6f3f0f49",7499:"d3837b27",7599:"8573f403",7752:"f2d81bcd",8051:"2569ff33",8158:"18bfb97f",8173:"ddd75f48",8240:"b3a7ec46",8301:"5431648f",8401:"575d0faf",8406:"90606a88",8436:"0e01d84b",8471:"1a40eb4c",8528:"968e1006",8582:"d363fbd2",8675:"b2d85980",8746:"829f2dbc",8875:"e020a04d",8913:"83bce4ad",9002:"55fddec0",9025:"6e350206",9033:"b8ef613e",9048:"fa816e76",9148:"e9f86877",9253:"dd14fdd8",9355:"9c2e688e",9471:"ee186ebb",9476:"213d2c47",9576:"d29dac57",9631:"b4a6cf60",9647:"6fe04f8c",9851:"c7a4408d",9905:"b48764cd"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},f="website:",r.l=(e,a,d,b)=>{if(c[e])c[e].push(a);else{var t,o;if(void 0!==d)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=c[e];if(delete c[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(d))),a)return a(d)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"8401",20595907:"8582",48341697:"9471",80941509:"1831",ebc0e2a0:"37","4f1777fd":"277","3fab0acb":"351","50ef9c44":"429","7dd0c8d0":"471","9939c4f4":"598",d087459a:"627",b6569025:"714","21880a4d":"749",bc32cbb6:"826",c015c796:"887",c141421f:"957",bbbe662c:"1057","395a6105":"1087",a7456010:"1235",d3a54718:"1346","71c8a211":"1421","1ddd36f2":"1595",aad6478e:"1769","8a9ffb5d":"1864","7f5ec875":"1939","1a4e3797":"2138","11b43341":"2256",c4f5d8e4:"2634",cda0d2e5:"2757","1ba5bc99":"2759","6a6a5bbc":"2867",c88279fc:"3165","6e881e32":"3373",e1dfe4fe:"3423",bfe99541:"3434","4cb7be2f":"3574","288b1075":"3588","01cb08ea":"3747",c304be44:"3786","36b94792":"3921","2c440c24":"3979","5cd0a723":"4074",d768dc0f:"4247","27b0284c":"4277","7d0a541a":"4466",f888b719:"4470",b36bb0c9:"4504","392083ed":"4717",bc747cac:"4909","47881d5c":"4927","8dbf8f84":"5117","685bed1a":"5689",f8f494be:"5695",aba21aa0:"5742","8b4ddd1a":"5955","6ad1709d":"6063",ce04f2ae:"6289","2da89d45":"6332","1f91e8db":"6381","033e8fc8":"6475","0c1cdb3d":"6595","1dd31738":"6878","2cc2e835":"6946","14eb3368":"6969",bf372175:"6974",a7bd4aaa:"7098","2fede397":"7120","0c66edb9":"7216","6272ba0e":"7242","07d0b302":"7499",f7af5a99:"7599","339d500a":"7752",adf8dca1:"8051","0efac3c3":"8173","28f20845":"8240","81fb89b8":"8301","85d55244":"8406","4277b6a0":"8436","2e812224":"8471","43e1c8e4":"8528","54fa7005":"8675","25ef1bb8":"8746","17f4c24e":"8875",ecf841c3:"9002","75b20590":"9025","901ef07d":"9033",a94703ab:"9048","35a60099":"9148",e2c4d679:"9253","600b2345":"9355","7452427d":"9476","61ea36d9":"9576","9af26a4e":"9631","5e95c892":"9647",e3e0bfdc:"9851",ef8afbfd:"9905"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,d)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)d.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((d,f)=>c=e[a]=[d,f]));d.push(c[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(d=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var f=d&&("load"===d.type?"missing":d.type),b=d&&d.target&&d.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,c[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,d)=>{var c,f,b=d[0],t=d[1],o=d[2],n=0;if(b.some((a=>0!==e[a]))){for(c in t)r.o(t,c)&&(r.m[c]=t[c]);if(o)var i=o(r)}for(a&&a(d);n
-
+
diff --git a/docs/0.4/category/metrics-and-limits/index.html b/docs/0.4/category/metrics-and-limits/index.html
index 42d512be..483ea631 100644
--- a/docs/0.4/category/metrics-and-limits/index.html
+++ b/docs/0.4/category/metrics-and-limits/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/category/myzrok/index.html b/docs/0.4/category/myzrok/index.html
index dd07e90d..e96c9bab 100644
--- a/docs/0.4/category/myzrok/index.html
+++ b/docs/0.4/category/myzrok/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/category/oauth/index.html b/docs/0.4/category/oauth/index.html
index 1e2fb5c6..15e0166d 100644
--- a/docs/0.4/category/oauth/index.html
+++ b/docs/0.4/category/oauth/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/category/self-hosting/index.html b/docs/0.4/category/self-hosting/index.html
index 3d3e5f11..9f1fab31 100644
--- a/docs/0.4/category/self-hosting/index.html
+++ b/docs/0.4/category/self-hosting/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/files/index.html b/docs/0.4/concepts/files/index.html
index 9e41e916..6c82c089 100644
--- a/docs/0.4/concepts/files/index.html
+++ b/docs/0.4/concepts/files/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/hosting/index.html b/docs/0.4/concepts/hosting/index.html
index e184b848..0f9ac7c9 100644
--- a/docs/0.4/concepts/hosting/index.html
+++ b/docs/0.4/concepts/hosting/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/http/index.html b/docs/0.4/concepts/http/index.html
index de9ada82..fcc7f426 100644
--- a/docs/0.4/concepts/http/index.html
+++ b/docs/0.4/concepts/http/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/index.html b/docs/0.4/concepts/index.html
index 0cc0fb51..1a40f1e7 100644
--- a/docs/0.4/concepts/index.html
+++ b/docs/0.4/concepts/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/opensource/index.html b/docs/0.4/concepts/opensource/index.html
index adf344ef..bb268195 100644
--- a/docs/0.4/concepts/opensource/index.html
+++ b/docs/0.4/concepts/opensource/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/sharing-private/index.html b/docs/0.4/concepts/sharing-private/index.html
index 1b1db90c..41e3b2df 100644
--- a/docs/0.4/concepts/sharing-private/index.html
+++ b/docs/0.4/concepts/sharing-private/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/sharing-public/index.html b/docs/0.4/concepts/sharing-public/index.html
index abbabe65..6c90dbdb 100644
--- a/docs/0.4/concepts/sharing-public/index.html
+++ b/docs/0.4/concepts/sharing-public/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/sharing-reserved/index.html b/docs/0.4/concepts/sharing-reserved/index.html
index 1d66d45d..ba8a2abe 100644
--- a/docs/0.4/concepts/sharing-reserved/index.html
+++ b/docs/0.4/concepts/sharing-reserved/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/concepts/tunnels/index.html b/docs/0.4/concepts/tunnels/index.html
index 94b1c0c2..dfbb1080 100644
--- a/docs/0.4/concepts/tunnels/index.html
+++ b/docs/0.4/concepts/tunnels/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/getting-started/index.html b/docs/0.4/getting-started/index.html
index a2110ef1..bf82cd11 100644
--- a/docs/0.4/getting-started/index.html
+++ b/docs/0.4/getting-started/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/docker-share/docker_private_share_guide/index.html b/docs/0.4/guides/docker-share/docker_private_share_guide/index.html
index 5cf16590..348c576f 100644
--- a/docs/0.4/guides/docker-share/docker_private_share_guide/index.html
+++ b/docs/0.4/guides/docker-share/docker_private_share_guide/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/docker-share/docker_public_share_guide/index.html b/docs/0.4/guides/docker-share/docker_public_share_guide/index.html
index 289f7f7d..621dac03 100644
--- a/docs/0.4/guides/docker-share/docker_public_share_guide/index.html
+++ b/docs/0.4/guides/docker-share/docker_public_share_guide/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/docker-share/index.html b/docs/0.4/guides/docker-share/index.html
index 31e57dcf..c6d8aa15 100644
--- a/docs/0.4/guides/docker-share/index.html
+++ b/docs/0.4/guides/docker-share/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/drives/index.html b/docs/0.4/guides/drives/index.html
index 032a03d2..b4a6ae29 100644
--- a/docs/0.4/guides/drives/index.html
+++ b/docs/0.4/guides/drives/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/frontdoor/index.html b/docs/0.4/guides/frontdoor/index.html
index 44084d4d..25a79980 100644
--- a/docs/0.4/guides/frontdoor/index.html
+++ b/docs/0.4/guides/frontdoor/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/install/index.html b/docs/0.4/guides/install/index.html
index f441f4fc..8ffc292d 100644
--- a/docs/0.4/guides/install/index.html
+++ b/docs/0.4/guides/install/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/install/linux/index.html b/docs/0.4/guides/install/linux/index.html
index 238b510a..bd305a10 100644
--- a/docs/0.4/guides/install/linux/index.html
+++ b/docs/0.4/guides/install/linux/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/install/macos/index.html b/docs/0.4/guides/install/macos/index.html
index 19fab01a..ba2dc79e 100644
--- a/docs/0.4/guides/install/macos/index.html
+++ b/docs/0.4/guides/install/macos/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/install/windows/index.html b/docs/0.4/guides/install/windows/index.html
index e9be44f8..7f845d13 100644
--- a/docs/0.4/guides/install/windows/index.html
+++ b/docs/0.4/guides/install/windows/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/linux-user-share/index.html b/docs/0.4/guides/linux-user-share/index.html
index 2ba37d55..de06f31a 100644
--- a/docs/0.4/guides/linux-user-share/index.html
+++ b/docs/0.4/guides/linux-user-share/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/permission-modes/index.html b/docs/0.4/guides/permission-modes/index.html
index e56bd780..bdd61270 100644
--- a/docs/0.4/guides/permission-modes/index.html
+++ b/docs/0.4/guides/permission-modes/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/docker/index.html b/docs/0.4/guides/self-hosting/docker/index.html
index a07beeea..ffb3d9c7 100644
--- a/docs/0.4/guides/self-hosting/docker/index.html
+++ b/docs/0.4/guides/self-hosting/docker/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/instance-configuration/index.html b/docs/0.4/guides/self-hosting/instance-configuration/index.html
index b875044d..760993e2 100644
--- a/docs/0.4/guides/self-hosting/instance-configuration/index.html
+++ b/docs/0.4/guides/self-hosting/instance-configuration/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/interstitial-page/index.html b/docs/0.4/guides/self-hosting/interstitial-page/index.html
index 30b0a91e..cf0fe05d 100644
--- a/docs/0.4/guides/self-hosting/interstitial-page/index.html
+++ b/docs/0.4/guides/self-hosting/interstitial-page/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/kubernetes/index.html b/docs/0.4/guides/self-hosting/kubernetes/index.html
index 1d4c5e95..51d20677 100644
--- a/docs/0.4/guides/self-hosting/kubernetes/index.html
+++ b/docs/0.4/guides/self-hosting/kubernetes/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/linux/index.html b/docs/0.4/guides/self-hosting/linux/index.html
index 268b6f25..38d0ea9e 100644
--- a/docs/0.4/guides/self-hosting/linux/index.html
+++ b/docs/0.4/guides/self-hosting/linux/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/linux/nginx/index.html b/docs/0.4/guides/self-hosting/linux/nginx/index.html
index b7180662..015be124 100644
--- a/docs/0.4/guides/self-hosting/linux/nginx/index.html
+++ b/docs/0.4/guides/self-hosting/linux/nginx/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/metrics-and-limits/configuring-limits/index.html b/docs/0.4/guides/self-hosting/metrics-and-limits/configuring-limits/index.html
index 02605e8b..1488c907 100644
--- a/docs/0.4/guides/self-hosting/metrics-and-limits/configuring-limits/index.html
+++ b/docs/0.4/guides/self-hosting/metrics-and-limits/configuring-limits/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/metrics-and-limits/configuring-metrics/index.html b/docs/0.4/guides/self-hosting/metrics-and-limits/configuring-metrics/index.html
index 0a9f0d8c..03eac7cb 100644
--- a/docs/0.4/guides/self-hosting/metrics-and-limits/configuring-metrics/index.html
+++ b/docs/0.4/guides/self-hosting/metrics-and-limits/configuring-metrics/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/oauth/configuring-oauth/index.html b/docs/0.4/guides/self-hosting/oauth/configuring-oauth/index.html
index 1ea56aad..325003d6 100644
--- a/docs/0.4/guides/self-hosting/oauth/configuring-oauth/index.html
+++ b/docs/0.4/guides/self-hosting/oauth/configuring-oauth/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/organizations/index.html b/docs/0.4/guides/self-hosting/organizations/index.html
index 044cad81..545d4467 100644
--- a/docs/0.4/guides/self-hosting/organizations/index.html
+++ b/docs/0.4/guides/self-hosting/organizations/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/personalized-frontend/index.html b/docs/0.4/guides/self-hosting/personalized-frontend/index.html
index 35774527..c7d39a98 100644
--- a/docs/0.4/guides/self-hosting/personalized-frontend/index.html
+++ b/docs/0.4/guides/self-hosting/personalized-frontend/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/self-hosting/self-service-invite/index.html b/docs/0.4/guides/self-hosting/self-service-invite/index.html
index 7232ca70..ae435122 100644
--- a/docs/0.4/guides/self-hosting/self-service-invite/index.html
+++ b/docs/0.4/guides/self-hosting/self-service-invite/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/guides/vpn/index.html b/docs/0.4/guides/vpn/index.html
index b02057fa..7493b9cb 100644
--- a/docs/0.4/guides/vpn/index.html
+++ b/docs/0.4/guides/vpn/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/0.4/myzrok/custom-domains/index.html b/docs/0.4/myzrok/custom-domains/index.html
index 4cb26a54..a0f355a8 100644
--- a/docs/0.4/myzrok/custom-domains/index.html
+++ b/docs/0.4/myzrok/custom-domains/index.html
@@ -10,7 +10,7 @@
-
+
diff --git a/docs/category/guides/index.html b/docs/category/guides/index.html
index f99d1c15..bd2a2959 100644
--- a/docs/category/guides/index.html
+++ b/docs/category/guides/index.html
@@ -10,13 +10,13 @@
-
+
-