diff --git a/404.html b/404.html index 6542c615..536fd24b 100644 --- a/404.html +++ b/404.html @@ -10,8 +10,8 @@ - - + +
diff --git a/assets/js/01cb08ea.086f8ddd.js b/assets/js/01cb08ea.086f8ddd.js new file mode 100644 index 00000000..72cf266b --- /dev/null +++ b/assets/js/01cb08ea.086f8ddd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3747],{7644:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>d,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"myzrok/custom-domains/index","title":"Custom Domains","description":"Overview","source":"@site/../docs/myzrok/custom-domains/index.mdx","sourceDirName":"myzrok/custom-domains","slug":"/myzrok/custom-domains/","permalink":"/docs/myzrok/custom-domains/","draft":false,"unlisted":false,"editUrl":"https://github.com/openziti/zrok/blob/main/docs/../docs/myzrok/custom-domains/index.mdx","tags":[],"version":"current","frontMatter":{"title":"Custom Domains"},"sidebar":"tutorialSidebar","previous":{"title":"myzrok","permalink":"/docs/category/myzrok"},"next":{"title":"Limits","permalink":"/docs/myzrok/limits"}}');var r=n(4848),i=n(8453);const s={title:"Custom Domains"},a=void 0,d={},c=[{value:"Overview",id:"overview",level:2},{value:"Prerequisites",id:"prerequisites",level:3},{value:"Create Your Custom Domain",id:"create-your-custom-domain",level:3},{value:"Creating DNS Records",id:"creating-dns-records",level:3},{value:"Finalizing Your Custom Domain",id:"finalizing-your-custom-domain",level:3},{value:"Start Sharing!",id:"start-sharing",level:3}];function h(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsxs)(o.p,{children:[(0,r.jsx)(o.a,{href:"https://myzrok.io",children:"myzrok.io"})," is a hosted zrok-as-a-service offering that provides a way for you bring a custom DNS name for zrok shares.\nFor example, let's say you own the domain ",(0,r.jsx)(o.code,{children:"foo.example.io"}),", you can leverage zrok custom domains to\ncreate ephemeral shares such as: ",(0,r.jsx)(o.code,{children:"https://vw8jbg4ijz5g.foo.example.io"}),"\nor ",(0,r.jsx)(o.a,{href:"/docs/concepts/sharing-reserved",children:"reserved shares"})," such as ",(0,r.jsx)(o.code,{children:"https://toaster.foo.example.io"}),"."]}),"\n",(0,r.jsxs)(o.p,{children:["Custom domains require a Pro subscription with ",(0,r.jsx)(o.a,{href:"https://myzrok.io",children:"myzrok.io"}),".\nIf you don't already have an account, you can sign up for one ",(0,r.jsx)(o.a,{href:"https://myzrok.io",children:"here"}),"."]}),"\n",(0,r.jsxs)(o.p,{children:[(0,r.jsx)(o.a,{href:"https://myzrok.io",children:"myzrok.io"})," provides a guided setup with just a few easy steps!"]}),"\n",(0,r.jsxs)(o.ol,{children:["\n",(0,r.jsx)(o.li,{children:"Bring your own custom domain name"}),"\n",(0,r.jsx)(o.li,{children:"Create DNS records for certificate validation and traffic routing"}),"\n",(0,r.jsx)(o.li,{children:"Wait for zrok to validate your records and finalize configuration"}),"\n",(0,r.jsx)(o.li,{children:"Start sharing!"}),"\n"]}),"\n",(0,r.jsx)(o.p,{children:"Detailed setup instructions are documented below."}),"\n",(0,r.jsx)(o.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsx)(o.admonition,{type:"note",children:(0,r.jsxs)(o.p,{children:["In order to create a custom domain in zrok, ",(0,r.jsx)(o.strong,{children:"you must already own the domain you want to use."})]})}),"\n",(0,r.jsx)(o.p,{children:"During the setup process you will need to create DNS records to validate ownership and to allow a certificate to be issued\non behalf of your domain. Once you have your domain registered, you can begin the process of setting up your custom\ndomain with zrok."}),"\n",(0,r.jsx)(o.h3,{id:"create-your-custom-domain",children:"Create Your Custom Domain"}),"\n",(0,r.jsx)(o.p,{children:"Log into the myzrok console and access the domains page by clicking on the globe icon in the left navigation menu."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_domains_page",src:n(2956).A+"",width:"1022",height:"581"})}),"\n",(0,r.jsx)(o.p,{children:"Click the CREATE button on the top right of the page to get started.\nWhen you click the create button you\u2019ll be presented with a form to allow you to enable your custom domain.\nEnter your domain into the form field and click CREATE. This will begin the process for setting up your custom domain.\nA new managed TLS certificate will be created to host traffic on your domain's behalf."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_add_domain",src:n(675).A+"",width:"844",height:"344"})}),"\n",(0,r.jsxs)(o.p,{children:["This may take a few minutes.\nYou may close the form at this time and come back when your domain is ",(0,r.jsx)(o.em,{children:"pending validation."}),"\nOnce your certificate is ready, you\u2019ll be presented with instructions on how to set up your DNS records."]}),"\n",(0,r.jsx)(o.h3,{id:"creating-dns-records",children:"Creating DNS Records"}),"\n",(0,r.jsx)(o.p,{children:"zrok will host and manage a TLS certificate for the custom domain on your behalf.\nThis process requires a DNS validation record to be created in order to prove ownership of the domain.\nFollow the prompts in the UI to create a CNAME DNS record with the name and value specified in the UI."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_add_cname",src:n(8881).A+"",width:"847",height:"402"})}),"\n",(0,r.jsx)(o.p,{children:"Next, create an A record to direct all DNS requests for your domain to a set of static IPs that are hosted by zrok."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_add_a_record",src:n(6212).A+"",width:"830",height:"527"})}),"\n",(0,r.jsx)(o.p,{children:"After you\u2019ve created your records, you can verify that they are configured properly using the instructions provided in the form."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_verify_dns",src:n(1752).A+"",width:"829",height:"528"})}),"\n",(0,r.jsxs)(o.p,{children:["If the ",(0,r.jsx)(o.code,{children:"nslookup"})," command returns the IP addresses supplied for the A-record entry, then DNS for your domain is resolving properly."]}),"\n",(0,r.jsx)(o.pre,{children:(0,r.jsx)(o.code,{children:"nslookup test.foo.example.io\nServer:\t\t192.168.86.194\nAddress:\t192.168.86.194#53\n\nNon-authoritative answer:\nName:\ttest.foo.example.io\nAddress: 99.83.220.186\nName:\ttest.foo.example.io\nAddress: 52.223.6.108\n"})}),"\n",(0,r.jsx)(o.p,{children:"Once you have created your DNS records, it will take zrok a few minutes to validate that they exist.\nYou can safely close the form until your certificate has been issued."}),"\n",(0,r.jsx)(o.h3,{id:"finalizing-your-custom-domain",children:"Finalizing Your Custom Domain"}),"\n",(0,r.jsx)(o.p,{children:"After your records have been validated and your certificate has been issued, click the FINALIZE button within 72 hours to complete your custom domain setup."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_finalize",src:n(5101).A+"",width:"818",height:"224"})}),"\n",(0,r.jsx)(o.p,{children:"From here, myzrok.io will complete the last few steps of creating your custom domain.\nThis should only take a minute, but if you need to close the form you can find the instructions on how to share your frontend when you return."}),"\n",(0,r.jsx)(o.h3,{id:"start-sharing",children:"Start Sharing!"}),"\n",(0,r.jsx)(o.p,{children:"Once the Finalize stage has completed, you can start sharing with your custom DNS."}),"\n",(0,r.jsxs)(o.p,{children:["In order to create shares that utilize your custom DNS, you will need to specify the ",(0,r.jsx)(o.code,{children:"--frontend"})," flag when creating a share,\nor update your environment configuration to use this new frontend by default."]}),"\n",(0,r.jsx)(o.pre,{children:(0,r.jsx)(o.code,{children:"zrok share public --frontend foo-example--goPIhgtJtz\n"})}),"\n",(0,r.jsx)(o.p,{children:"You can set the custom frontend as the environment default by running:"}),"\n",(0,r.jsx)(o.pre,{children:(0,r.jsx)(o.code,{children:"zrok config set defaultFrontend foo-example--goPIhgtJtz\n"})}),"\n",(0,r.jsxs)(o.p,{children:["To validate which frontend is being used, use the ",(0,r.jsx)(o.code,{children:"zrok status"})," command, which will identify the default frontend being used:"]}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"zrok_status",src:n(2679).A+"",width:"404",height:"220"})})]})}function l(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,r.jsx)(o,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},6212:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_add_a_record-550b91f870f6e1df4903220bfa78ae25.png"},8881:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_add_cname-3cbbf4526443142174bab2d22224764a.png"},675:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_add_domain-bcf860ac29b46cfe5981db391bcbc521.png"},2956:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_domains_page-6d92a9076e1bca9640eb301eb6716e5f.png"},5101:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_finalize-71899efbaf429d9be596363607550730.png"},1752:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_verify_dns-2f721e1a96f56f4f09f3b0b16ea8c1c5.png"},2679:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/zrok_status-0ce131c6d8bba0df50b0f2a577707f0a.png"},8453:(e,o,n)=>{n.d(o,{R:()=>s,x:()=>a});var t=n(6540);const r={},i=t.createContext(r);function s(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/01cb08ea.e2a119f7.js b/assets/js/01cb08ea.e2a119f7.js deleted file mode 100644 index 559b678f..00000000 --- a/assets/js/01cb08ea.e2a119f7.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[3747],{7644:(e,o,n)=>{n.r(o),n.d(o,{assets:()=>d,contentTitle:()=>a,default:()=>l,frontMatter:()=>s,metadata:()=>t,toc:()=>c});const t=JSON.parse('{"id":"myzrok/custom-domains/index","title":"Custom Domains","description":"Overview","source":"@site/../docs/myzrok/custom-domains/index.mdx","sourceDirName":"myzrok/custom-domains","slug":"/myzrok/custom-domains/","permalink":"/docs/myzrok/custom-domains/","draft":false,"unlisted":false,"editUrl":"https://github.com/openziti/zrok/blob/main/docs/../docs/myzrok/custom-domains/index.mdx","tags":[],"version":"current","frontMatter":{"title":"Custom Domains"},"sidebar":"tutorialSidebar","previous":{"title":"myzrok","permalink":"/docs/category/myzrok"}}');var r=n(4848),i=n(8453);const s={title:"Custom Domains"},a=void 0,d={},c=[{value:"Overview",id:"overview",level:2},{value:"Prerequisites",id:"prerequisites",level:3},{value:"Create Your Custom Domain",id:"create-your-custom-domain",level:3},{value:"Creating DNS Records",id:"creating-dns-records",level:3},{value:"Finalizing Your Custom Domain",id:"finalizing-your-custom-domain",level:3},{value:"Start Sharing!",id:"start-sharing",level:3}];function h(e){const o={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,i.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o.h2,{id:"overview",children:"Overview"}),"\n",(0,r.jsxs)(o.p,{children:[(0,r.jsx)(o.a,{href:"https://myzrok.io",children:"myzrok.io"})," is a hosted zrok-as-a-service offering that provides a way for you bring a custom DNS name for zrok shares.\nFor example, let's say you own the domain ",(0,r.jsx)(o.code,{children:"foo.example.io"}),", you can leverage zrok custom domains to\ncreate ephemeral shares such as: ",(0,r.jsx)(o.code,{children:"https://vw8jbg4ijz5g.foo.example.io"}),"\nor ",(0,r.jsx)(o.a,{href:"/docs/concepts/sharing-reserved",children:"reserved shares"})," such as ",(0,r.jsx)(o.code,{children:"https://toaster.foo.example.io"}),"."]}),"\n",(0,r.jsxs)(o.p,{children:["Custom domains require a Pro subscription with ",(0,r.jsx)(o.a,{href:"https://myzrok.io",children:"myzrok.io"}),".\nIf you don't already have an account, you can sign up for one ",(0,r.jsx)(o.a,{href:"https://myzrok.io",children:"here"}),"."]}),"\n",(0,r.jsxs)(o.p,{children:[(0,r.jsx)(o.a,{href:"https://myzrok.io",children:"myzrok.io"})," provides a guided setup with just a few easy steps!"]}),"\n",(0,r.jsxs)(o.ol,{children:["\n",(0,r.jsx)(o.li,{children:"Bring your own custom domain name"}),"\n",(0,r.jsx)(o.li,{children:"Create DNS records for certificate validation and traffic routing"}),"\n",(0,r.jsx)(o.li,{children:"Wait for zrok to validate your records and finalize configuration"}),"\n",(0,r.jsx)(o.li,{children:"Start sharing!"}),"\n"]}),"\n",(0,r.jsx)(o.p,{children:"Detailed setup instructions are documented below."}),"\n",(0,r.jsx)(o.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,r.jsx)(o.admonition,{type:"note",children:(0,r.jsxs)(o.p,{children:["In order to create a custom domain in zrok, ",(0,r.jsx)(o.strong,{children:"you must already own the domain you want to use."})]})}),"\n",(0,r.jsx)(o.p,{children:"During the setup process you will need to create DNS records to validate ownership and to allow a certificate to be issued\non behalf of your domain. Once you have your domain registered, you can begin the process of setting up your custom\ndomain with zrok."}),"\n",(0,r.jsx)(o.h3,{id:"create-your-custom-domain",children:"Create Your Custom Domain"}),"\n",(0,r.jsx)(o.p,{children:"Log into the myzrok console and access the domains page by clicking on the globe icon in the left navigation menu."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_domains_page",src:n(2956).A+"",width:"1022",height:"581"})}),"\n",(0,r.jsx)(o.p,{children:"Click the CREATE button on the top right of the page to get started.\nWhen you click the create button you\u2019ll be presented with a form to allow you to enable your custom domain.\nEnter your domain into the form field and click CREATE. This will begin the process for setting up your custom domain.\nA new managed TLS certificate will be created to host traffic on your domain's behalf."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_add_domain",src:n(675).A+"",width:"844",height:"344"})}),"\n",(0,r.jsxs)(o.p,{children:["This may take a few minutes.\nYou may close the form at this time and come back when your domain is ",(0,r.jsx)(o.em,{children:"pending validation."}),"\nOnce your certificate is ready, you\u2019ll be presented with instructions on how to set up your DNS records."]}),"\n",(0,r.jsx)(o.h3,{id:"creating-dns-records",children:"Creating DNS Records"}),"\n",(0,r.jsx)(o.p,{children:"zrok will host and manage a TLS certificate for the custom domain on your behalf.\nThis process requires a DNS validation record to be created in order to prove ownership of the domain.\nFollow the prompts in the UI to create a CNAME DNS record with the name and value specified in the UI."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_add_cname",src:n(8881).A+"",width:"847",height:"402"})}),"\n",(0,r.jsx)(o.p,{children:"Next, create an A record to direct all DNS requests for your domain to a set of static IPs that are hosted by zrok."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_add_a_record",src:n(6212).A+"",width:"830",height:"527"})}),"\n",(0,r.jsx)(o.p,{children:"After you\u2019ve created your records, you can verify that they are configured properly using the instructions provided in the form."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_verify_dns",src:n(1752).A+"",width:"829",height:"528"})}),"\n",(0,r.jsxs)(o.p,{children:["If the ",(0,r.jsx)(o.code,{children:"nslookup"})," command returns the IP addresses supplied for the A-record entry, then DNS for your domain is resolving properly."]}),"\n",(0,r.jsx)(o.pre,{children:(0,r.jsx)(o.code,{children:"nslookup test.foo.example.io\nServer:\t\t192.168.86.194\nAddress:\t192.168.86.194#53\n\nNon-authoritative answer:\nName:\ttest.foo.example.io\nAddress: 99.83.220.186\nName:\ttest.foo.example.io\nAddress: 52.223.6.108\n"})}),"\n",(0,r.jsx)(o.p,{children:"Once you have created your DNS records, it will take zrok a few minutes to validate that they exist.\nYou can safely close the form until your certificate has been issued."}),"\n",(0,r.jsx)(o.h3,{id:"finalizing-your-custom-domain",children:"Finalizing Your Custom Domain"}),"\n",(0,r.jsx)(o.p,{children:"After your records have been validated and your certificate has been issued, click the FINALIZE button within 72 hours to complete your custom domain setup."}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"myzrok_finalize",src:n(5101).A+"",width:"818",height:"224"})}),"\n",(0,r.jsx)(o.p,{children:"From here, myzrok.io will complete the last few steps of creating your custom domain.\nThis should only take a minute, but if you need to close the form you can find the instructions on how to share your frontend when you return."}),"\n",(0,r.jsx)(o.h3,{id:"start-sharing",children:"Start Sharing!"}),"\n",(0,r.jsx)(o.p,{children:"Once the Finalize stage has completed, you can start sharing with your custom DNS."}),"\n",(0,r.jsxs)(o.p,{children:["In order to create shares that utilize your custom DNS, you will need to specify the ",(0,r.jsx)(o.code,{children:"--frontend"})," flag when creating a share,\nor update your environment configuration to use this new frontend by default."]}),"\n",(0,r.jsx)(o.pre,{children:(0,r.jsx)(o.code,{children:"zrok share public --frontend foo-example--goPIhgtJtz\n"})}),"\n",(0,r.jsx)(o.p,{children:"You can set the custom frontend as the environment default by running:"}),"\n",(0,r.jsx)(o.pre,{children:(0,r.jsx)(o.code,{children:"zrok config set defaultFrontend foo-example--goPIhgtJtz\n"})}),"\n",(0,r.jsxs)(o.p,{children:["To validate which frontend is being used, use the ",(0,r.jsx)(o.code,{children:"zrok status"})," command, which will identify the default frontend being used:"]}),"\n",(0,r.jsx)(o.p,{children:(0,r.jsx)(o.img,{alt:"zrok_status",src:n(2679).A+"",width:"404",height:"220"})})]})}function l(e={}){const{wrapper:o}={...(0,i.R)(),...e.components};return o?(0,r.jsx)(o,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},6212:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_add_a_record-550b91f870f6e1df4903220bfa78ae25.png"},8881:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_add_cname-3cbbf4526443142174bab2d22224764a.png"},675:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_add_domain-bcf860ac29b46cfe5981db391bcbc521.png"},2956:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_domains_page-6d92a9076e1bca9640eb301eb6716e5f.png"},5101:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_finalize-71899efbaf429d9be596363607550730.png"},1752:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/myzrok_verify_dns-2f721e1a96f56f4f09f3b0b16ea8c1c5.png"},2679:(e,o,n)=>{n.d(o,{A:()=>t});const t=n.p+"assets/images/zrok_status-0ce131c6d8bba0df50b0f2a577707f0a.png"},8453:(e,o,n)=>{n.d(o,{R:()=>s,x:()=>a});var t=n(6540);const r={},i=t.createContext(r);function s(e){const o=t.useContext(i);return t.useMemo((function(){return"function"==typeof e?e(o):{...o,...e}}),[o,e])}function a(e){let o;return o=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:s(e.components),t.createElement(i.Provider,{value:o},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/11b43341.dab66d7f.js b/assets/js/11b43341.dab66d7f.js new file mode 100644 index 00000000..3d0f1adb --- /dev/null +++ b/assets/js/11b43341.dab66d7f.js @@ -0,0 +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":"If you\'ve upgraded to v1.0.0 from a previous version and you receive an error message like this:","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 diff --git a/assets/js/11b43341.e4ddb3ce.js b/assets/js/11b43341.e4ddb3ce.js deleted file mode 100644 index dabe84c1..00000000 --- a/assets/js/11b43341.e4ddb3ce.js +++ /dev/null @@ -1 +0,0 @@ -"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}],"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":"If you\'ve upgraded to v1.0.0 from a previous version and you receive an error message like this:","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"}}}}')}}]); \ No newline at end of file diff --git a/assets/js/395a6105.b2cbbe01.js b/assets/js/395a6105.b2cbbe01.js new file mode 100644 index 00000000..3dc4084b --- /dev/null +++ b/assets/js/395a6105.b2cbbe01.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[1087],{5857:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"myzrok/limits","title":"Limits","description":"NetFoundry\'s public zrok instance implements various limits based on pricing tier,","source":"@site/../docs/myzrok/limits.md","sourceDirName":"myzrok","slug":"/myzrok/limits","permalink":"/docs/myzrok/limits","draft":false,"unlisted":false,"editUrl":"https://github.com/openziti/zrok/blob/main/docs/../docs/myzrok/limits.md","tags":[],"version":"current","frontMatter":{"title":"Limits"},"sidebar":"tutorialSidebar","previous":{"title":"Custom Domains","permalink":"/docs/myzrok/custom-domains/"},"next":{"title":"Upgrading From 0.4 to 1.0","permalink":"/docs/myzrok/upgrading"}}');var r=i(4848),n=i(8453);const o={title:"Limits"},a=void 0,l={},d=[{value:"Limits on Shares, Environments, or Bandwidth",id:"limits-on-shares-environments-or-bandwidth",level:3},{value:"Rate Limitations For Public Shares",id:"rate-limitations-for-public-shares",level:3},{value:"Per IP Address",id:"per-ip-address",level:4},{value:"Per Share",id:"per-share",level:4}];function c(e){const t={a:"a",em:"em",h3:"h3",h4:"h4",p:"p",...(0,n.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(t.p,{children:"NetFoundry's public zrok instance implements various limits based on pricing tier,\nas well as rate limits in order to protect the service for all users."}),"\n",(0,r.jsx)(t.h3,{id:"limits-on-shares-environments-or-bandwidth",children:"Limits on Shares, Environments, or Bandwidth"}),"\n",(0,r.jsxs)(t.p,{children:["The number of shares, enviroments, or allowed bandwidth is based on the limits outlined within your myzrok subscription.\nThese limits are defined on the ",(0,r.jsx)(t.a,{href:"https://zrok.io/pricing/",children:"zrok pricing"})," page.\nBandwidth limitations are based on a rolling 24 hour window. Note that if you exceed the daily bandwidth of your plan,\nany running shares will be disabled, and the zrok API will prevent any new shares from being created until the bandwidth\nfalls back below the 24 hour limit."]}),"\n",(0,r.jsx)(t.h3,{id:"rate-limitations-for-public-shares",children:"Rate Limitations For Public Shares"}),"\n",(0,r.jsx)(t.p,{children:"Public shares are subject to API rate limiting, both by IP address, as well as the individual share token.\nThese limits exist to protect the zrok service so that one user does not negatively impact the experience for others.\nThe rate limits for public shares are defined below:"}),"\n",(0,r.jsx)(t.h4,{id:"per-ip-address",children:"Per IP Address"}),"\n",(0,r.jsx)(t.p,{children:"2000 requests per 300 seconds (average of 6.66 requests per second)"}),"\n",(0,r.jsx)(t.p,{children:"The rate limiter will allow a burst of requests in a shorter timespan up to 2000 requests, but once the rate limit has been exceeded,\nnew requests will be blocked until the request rate falls below the limit of the 300 second window."}),"\n",(0,r.jsx)(t.h4,{id:"per-share",children:"Per Share"}),"\n",(0,r.jsxs)(t.p,{children:["7500 requests per 300 seconds from ",(0,r.jsx)(t.em,{children:"any number of IP addresses"})," (average of 25 requests per second)"]})]})}function h(e={}){const{wrapper:t}={...(0,n.R)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>a});var s=i(6540);const r={},n=s.createContext(r);function o(e){const t=s.useContext(n);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/85d55244.90606a88.js b/assets/js/85d55244.90606a88.js new file mode 100644 index 00000000..e14fca8c --- /dev/null +++ b/assets/js/85d55244.90606a88.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[8406],{8941:(e,n,r)=>{r.r(n),r.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>s,metadata:()=>o,toc:()=>c});const o=JSON.parse('{"id":"myzrok/upgrading","title":"Upgrading From 0.4 to 1.0","description":"Upgrading an existing 0.4 environment","source":"@site/../docs/myzrok/upgrading.md","sourceDirName":"myzrok","slug":"/myzrok/upgrading","permalink":"/docs/myzrok/upgrading","draft":false,"unlisted":false,"editUrl":"https://github.com/openziti/zrok/blob/main/docs/../docs/myzrok/upgrading.md","tags":[],"version":"current","frontMatter":{"title":"Upgrading From 0.4 to 1.0"},"sidebar":"tutorialSidebar","previous":{"title":"Limits","permalink":"/docs/myzrok/limits"}}');var i=r(4848),t=r(8453);const s={title:"Upgrading From 0.4 to 1.0"},a=void 0,d={},c=[{value:"Upgrading an existing 0.4 environment",id:"upgrading-an-existing-04-environment",level:2},{value:"Trouble after upgrade?",id:"trouble-after-upgrade",level:2}];function l(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",p:"p",pre:"pre",...(0,t.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.h2,{id:"upgrading-an-existing-04-environment",children:"Upgrading an existing 0.4 environment"}),"\n",(0,i.jsxs)(n.p,{children:["If you have not already, ",(0,i.jsx)(n.a,{href:"/docs/guides/install",children:"install the latest 1.x zrok binary"})," into your environment."]}),"\n",(0,i.jsx)(n.admonition,{type:"note",children:(0,i.jsxs)(n.p,{children:["As of zrok ",(0,i.jsx)(n.code,{children:"1.0.2"}),", the zrok rebase is automatic and the configuration will automatically be updated to the v1 API.\nNo action is necessary."]})}),"\n",(0,i.jsxs)(n.p,{children:["If you are running version ",(0,i.jsx)(n.code,{children:"1.0.0"})," or ",(0,i.jsx)(n.code,{children:"1.0.1"}),", you can run the following to rebase your environment to use the new versioned API:"]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:" zrok rebase apiEndpoint https://api-v1.zrok.io\n"})}),"\n",(0,i.jsx)(n.p,{children:"Resume zrok API interactions as normal!"}),"\n",(0,i.jsx)(n.h2,{id:"trouble-after-upgrade",children:"Trouble after upgrade?"}),"\n",(0,i.jsx)(n.p,{children:"If you run into any issues after upgrading your environment, first verify your zrok version and review your current zrok configuration:"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"zrok version\n"})}),"\n",(0,i.jsxs)(n.p,{children:["Review the ",(0,i.jsx)(n.code,{children:"apiEndpoint"})," configuration, if you are running version ",(0,i.jsx)(n.code,{children:"1.0"})," or later, the ",(0,i.jsx)(n.code,{children:"apiEndpoint"})," should be ",(0,i.jsx)(n.code,{children:"https://api-v1.zrok.io"})]}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"zrok status\n"})}),"\n",(0,i.jsxs)(n.p,{children:["If you're still having issues, we recommend you reach out to our community support team at our ",(0,i.jsx)(n.a,{href:"https://openziti.discourse.group/c/zrok/24",children:"zrok discourse"})," forum."]}),"\n",(0,i.jsx)(n.p,{children:"If you prefer to do a hard reset of your environment, you can also run the commands below:"}),"\n",(0,i.jsx)(n.admonition,{type:"warning",children:(0,i.jsxs)(n.p,{children:["Running ",(0,i.jsx)(n.code,{children:"zrok disable"})," will delete any running environments or shares, and will release any reserved shares"]})}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"zrok disable\n"})}),"\n",(0,i.jsx)(n.p,{children:"Reset the config back to the default API endpoint for the binary version"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"zrok config unset apiEndpoint\n"})}),"\n",(0,i.jsx)(n.p,{children:"Create a fresh environment"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{children:"zrok enable.comment
can become .namespace--comment
) or replace them with your defined ones (like .editor__comment
). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll
and highlightAllUnder
methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),o=n(8380),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),a.add(e)}))}i.silent=!1,e.exports=i},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l.comment
can become .namespace--comment
) or replace them with your defined ones (like .editor__comment
). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll
and highlightAllUnder
methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},8722:(e,t,n)=>{const r=n(6969),o=n(8380),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(3157).resolve(t)],delete Prism.languages[e],n(3157)(t),a.add(e)}))}i.silent=!1,e.exports=i},9700:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,s=i.length;-1!==n.code.indexOf(o=t(r,s));)++s;return i[s]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l