deploy: 362a0faf5f03733f77a97d441d7e21e6890c5581

This commit is contained in:
qrkourier 2024-03-05 12:56:37 +00:00
parent 76fb3e0c7b
commit fee6fbf17b
39 changed files with 43 additions and 43 deletions

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
@ -78,7 +78,7 @@
<p>You can limit access to certain email addresses with OAuth or require a password.</p>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="oauth">OAuth<a href="#oauth" class="hash-link" aria-label="Direct link to OAuth" title="Direct link to OAuth"></a></h3>
<p>You can require that visitors authenticate with an email address that matches at least one of the suffixes you specify. Add the following to the configuration file.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockTitle_Ktv7">/opt/openziti/etc/zrok/zrok-share.env</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_PROVIDER=&quot;github&quot; # or google</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_EMAILS=&quot;bob@example.com @acme.example.com&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockTitle_Ktv7">/opt/openziti/etc/zrok/zrok-share.env</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_PROVIDER=&quot;github&quot; # or google</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_EMAILS=&quot;alice@example.com *@acme.example.com&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_LWe7" id="password">Password<a href="#password" class="hash-link" aria-label="Direct link to Password" title="Direct link to Password"></a></h3>
<p>Enable HTTP basic authentication by adding the following to the configuration file.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockTitle_Ktv7">/opt/openziti/etc/zrok/zrok-share.env</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_BASIC_AUTH=&quot;user:passwd&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
@ -145,7 +145,7 @@ target.</p>
<p>You can allow specific email addresses or an email domain by setting <code>ZROK_OAUTH_PROVIDER</code> to <code>github</code> or <code>google</code> and
<code>ZROK_SHARE_OPTS</code> to specify additional command-line options to <code>zrok reserve public</code>. Read more about the OAuth
features in <a href="https://blog.openziti.io/the-zrok-oauth-public-frontend" target="_blank" rel="noopener noreferrer">this blog post</a>.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockTitle_Ktv7">.env</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_PROVIDER=&quot;github&quot;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_SHARE_OPTS=&quot;--oauth-email-domains @example.com&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockTitle_Ktv7">.env</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_PROVIDER=&quot;github&quot;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_EMAILS=&quot;alice@example.com *@acme.example.com&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="caddy-is-powerful">Caddy is Powerful<a href="#caddy-is-powerful" class="hash-link" aria-label="Direct link to Caddy is Powerful" title="Direct link to Caddy is Powerful"></a></h2>
<p>The reserved public share project uses zrok&#x27;s default backend mode, <code>proxy</code>. Another backend mode, <code>caddy</code>, accepts a path to <a href="https://caddyserver.com/docs/caddyfile" target="_blank" rel="noopener noreferrer">a Caddyfile</a> as the value of <code>ZROK_TARGET</code> (<a href="https://github.com/openziti/zrok/tree/main/etc/caddy" target="_blank" rel="noopener noreferrer">zrok Caddyfile examples</a>).</p>
<p>Caddy is the most powerful and flexible backend mode in zrok. You must reserve a new public subdomain whenever you switch the backend mode, so using <code>caddy</code> reduces the risk that you&#x27;ll have to share a new frontend URL with your users.</p>
@ -224,7 +224,7 @@ target.</p>
<p>You can allow specific email addresses or an email domain by setting <code>ZROK_OAUTH_PROVIDER</code> to <code>github</code> or <code>google</code> and
<code>ZROK_SHARE_OPTS</code> to specify additional command-line options to <code>zrok reserve public</code>. Read more about the OAuth
features in <a href="https://blog.openziti.io/the-zrok-oauth-public-frontend" target="_blank" rel="noopener noreferrer">this blog post</a>.</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockTitle_Ktv7">.env</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_PROVIDER=&quot;github&quot;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_SHARE_OPTS=&quot;--oauth-email-domains @example.com&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockTitle_Ktv7">.env</div><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_PROVIDER=&quot;github&quot;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">ZROK_OAUTH_EMAILS=&quot;alice@example.com *@acme.example.com&quot;</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="caddy-is-powerful">Caddy is Powerful<a href="#caddy-is-powerful" class="hash-link" aria-label="Direct link to Caddy is Powerful" title="Direct link to Caddy is Powerful"></a></h2>
<p>The reserved public share project uses zrok&#x27;s default backend mode, <code>proxy</code>. Another backend mode, <code>caddy</code>, accepts a path to <a href="https://caddyserver.com/docs/caddyfile" target="_blank" rel="noopener noreferrer">a Caddyfile</a> as the value of <code>ZROK_TARGET</code> (<a href="https://github.com/openziti/zrok/tree/main/etc/caddy" target="_blank" rel="noopener noreferrer">zrok Caddyfile examples</a>).</p>
<p>Caddy is the most powerful and flexible backend mode in zrok. You must reserve a new public subdomain whenever you switch the backend mode, so using <code>caddy</code> reduces the risk that you&#x27;ll have to share a new frontend URL with your users.</p>

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
@ -69,11 +69,11 @@
<p>Both the <code>google</code> and <code>github</code> providers accept a <code>client_id</code> and <code>client_secret</code> parameter. These values are provided when you configure the OAuth clients at Google or GitHub.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="enabling-oauth-on-a-public-share">Enabling OAuth on a Public Share<a href="#enabling-oauth-on-a-public-share" class="hash-link" aria-label="Direct link to Enabling OAuth on a Public Share" title="Direct link to Enabling OAuth on a Public Share"></a></h2>
<p>With your public frontend configured to support OAuth, you can test this by creating a public share. There are new command line options to support this:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ zrok share public</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Error: accepts 1 arg(s), received 0</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Usage:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> zrok share public &lt;target&gt; [flags]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Flags:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -b, --backend-mode string The backend mode {proxy, web, caddy, drive} (default &quot;proxy&quot;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --basic-auth stringArray Basic authentication users (&lt;username:password&gt;,...)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --frontends stringArray Selected frontends to use for the share (default [public])</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --headless Disable TUI and run headless</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -h, --help help for public</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --insecure Enable insecure TLS certificate validation for &lt;target&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --oauth-check-interval duration Maximum lifetime for OAuth authentication; reauthenticate after expiry (default 3h0m0s)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --oauth-email-domains stringArray Allow only these email domains to authenticate via OAuth</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --oauth-provider string Enable OAuth provider [google, github]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Global Flags:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -p, --panic Panic instead of showing pretty errors</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -v, --verbose Enable verbose logging</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">$ zrok share public --help</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Share a target resource publicly</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Usage:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> zrok share public &lt;target&gt; [flags]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Flags:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -b, --backend-mode string The backend mode {proxy, web, caddy, drive} (default &quot;proxy&quot;)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --basic-auth stringArray Basic authentication users (&lt;username:password&gt;,...)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --frontends stringArray Selected frontends to use for the share (default [public])</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --headless Disable TUI and run headless</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -h, --help help for public</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --insecure Enable insecure TLS certificate validation for &lt;target&gt;</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --oauth-check-interval duration Maximum lifetime for OAuth authentication; reauthenticate after expiry (default 3h0m0s)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --oauth-email-address-patterns stringArray Allow only these email domain globs to authenticate via OAuth</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --oauth-provider string Enable OAuth provider [google, github]</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">Global Flags:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -p, --panic Panic instead of showing pretty errors</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> -v, --verbose Enable verbose logging</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>The <code>--oauth-provider</code> flag enables OAuth for the share using the specified provider.</p>
<p>The <code>--oauth-email-domains</code> flag accepts a comma-separated list of authenticated email address domains that are allowed to access the share.</p>
<p>The <code>--oauth-email-address-patterns</code> flag accepts a single glob pattern that matches an authenticated email address that is allowed to access the share. Use this flag multiple times to allow different patterns.</p>
<p>The <code>--oauth-check-interval</code> flag specifies how frequently the authentication must be checked.</p>
<p>An example public share:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">zrok share public --backend-mode web --oauth-provider github --oauth-email-domains zrok.io ~/public</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/openziti/zrok/blob/main/docs/../docs/guides/self-hosting/oauth/configuring-oauth.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/category/oauth/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">OAuth</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guides/self-hosting/instance-configuration/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Instance Config</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#planning-for-the-oauth-frontend" class="table-of-contents__link toc-highlight">Planning for the OAuth Frontend</a></li><li><a href="#configuring-a-google-oauth-client-id" class="table-of-contents__link toc-highlight">Configuring a Google OAuth Client ID</a><ul><li><a href="#oauth-content-screen" class="table-of-contents__link toc-highlight">OAuth Content Screen</a></li><li><a href="#create-the-oauth-20-client-id" class="table-of-contents__link toc-highlight">Create the OAuth 2.0 Client ID</a></li></ul></li><li><a href="#configuring-a-github-client-id" class="table-of-contents__link toc-highlight">Configuring a GitHub Client ID</a></li><li><a href="#configuring-your-public-frontend" class="table-of-contents__link toc-highlight">Configuring your Public Frontend</a></li><li><a href="#enabling-oauth-on-a-public-share" class="table-of-contents__link toc-highlight">Enabling OAuth on a Public Share</a></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 NetFoundry Inc. Built with Docusaurus.</div></div></div></footer></div>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_biex"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#F8F8F2"><span class="token plain">zrok share public --backend-mode web --oauth-provider github --oauth-email-address-patterns &#x27;*@zrok.io&#x27; ~/public</span><br></span></code></pre><div class="buttonGroup__atx"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_eSgA" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_y97N"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_LjdS"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/openziti/zrok/blob/main/docs/../docs/guides/self-hosting/oauth/configuring-oauth.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/docs/category/oauth/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">OAuth</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guides/self-hosting/instance-configuration/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Instance Config</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#planning-for-the-oauth-frontend" class="table-of-contents__link toc-highlight">Planning for the OAuth Frontend</a></li><li><a href="#configuring-a-google-oauth-client-id" class="table-of-contents__link toc-highlight">Configuring a Google OAuth Client ID</a><ul><li><a href="#oauth-content-screen" class="table-of-contents__link toc-highlight">OAuth Content Screen</a></li><li><a href="#create-the-oauth-20-client-id" class="table-of-contents__link toc-highlight">Create the OAuth 2.0 Client ID</a></li></ul></li><li><a href="#configuring-a-github-client-id" class="table-of-contents__link toc-highlight">Configuring a GitHub Client ID</a></li><li><a href="#configuring-your-public-frontend" class="table-of-contents__link toc-highlight">Configuring your Public Frontend</a></li><li><a href="#enabling-oauth-on-a-public-share" class="table-of-contents__link toc-highlight">Enabling OAuth on a Public Share</a></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 NetFoundry Inc. Built with Docusaurus.</div></div></div></footer></div>
</body>
</html>

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -9,7 +9,7 @@
<link rel="search" type="application/opensearchdescription+xml" title="Zrok" href="/opensearch.xml"><link rel="stylesheet" href="/assets/css/styles.e053e05e.css">
<script src="/assets/js/runtime~main.c0806695.js" defer="defer"></script>
<script src="/assets/js/runtime~main.32610af2.js" defer="defer"></script>
<script src="/assets/js/main.f04fdd18.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">

View File

@ -43,7 +43,7 @@ services:
ZROK_TARGET: # backend target, is a path in container filesystem unless proxy mode
ZROK_INSECURE: # "--insecure" if proxy target has unverifiable TLS server certificate
ZROK_OAUTH_PROVIDER: # google, github
ZROK_OAUTH_EMAILS: # allow space-separated list of OAuth email addresses or @domain.tld
ZROK_OAUTH_EMAILS: # allow space-separated list of OAuth email address glob patterns
ZROK_BASIC_AUTH: # username:password, mutually-exclusive with ZROK_OAUTH_PROVIDER
# least relevant options

View File

@ -44,7 +44,7 @@ services:
ZROK_TARGET: http://zrok-test:9090 # backend target, is a path in container filesystem unless proxy mode
ZROK_INSECURE: # "--insecure" if proxy target has unverifiable TLS server certificate
ZROK_OAUTH_PROVIDER: # google, github
ZROK_OAUTH_EMAILS: # space-separated list of OAuth email addresses or @domain.tld to allow
ZROK_OAUTH_EMAILS: # allow space-separated list of OAuth email address glob patterns
ZROK_BASIC_AUTH: # username:password, mutually-exclusive with ZROK_OAUTH_PROVIDER
# least relevant options