This commit is contained in:
michaelquigley 2024-07-31 17:39:55 +00:00
parent b39a50d0c8
commit 480f967c61
39 changed files with 43 additions and 42 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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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

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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
@ -26,10 +26,11 @@
<div class="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">create table skip_interstitial_grants (</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> id serial primary key,</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"> account_id integer references accounts (id) not null,</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"> created_at timestamptz not null default(current_timestamp),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> updated_at timestamptz not null default(current_timestamp),</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> deleted boolean not null default(false)</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">);</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>If an account has a row present in this table when creating a share, then the controller will write <code>interstitial: false</code> into the config for the share, which will bypass the interstitial regardless of frontend configuration. The <code>skip_interstitial_grants</code> controls what the zrok controller will store in the share config when creating the share.</p>
<p>The frontend configuration controls what the frontend will do with the share config it finds in OpenZiti. The new stanza looks like this:</p>
<div class="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"># Setting the `interstitial` setting to `true` will allow this frontend </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># to offer interstitial pages if they are configured on the share by the </span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># controller.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">#</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">#interstitial: true</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>Simply setting <code>interstitial: true</code> in the frontend config will allow the configured frontend to offer an interstitial page if the share config enables the interstitial page for that share.</p>
<div class="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"># Configure interstitial pages for this frontend. The interstitial page presents a warning to internet users, alerting</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># them to the fact that they&#x27;re visiting a zrok share.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">#</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">#interstitial:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># # Enable or disable interstitial pages on this frontend.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># #</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># enabled: true</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain">#</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># # Specify a list of User-Agent prefixes that should receive the interstitial page. If interstitial pages are enabled</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># # and this list is not set, all user agents will receive an interstitial page.</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># #</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># user_agent_prefixes:</span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"># - &quot;Mozilla/5.0&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>
<p>Setting <code>enabled: true</code> in the <code>interstitial</code> stanza of the frontend config will allow the configured frontend to offer an interstitial page if the share config enables the interstitial page for that share. The <code>user_agent_prefixes</code> array can be used to specify which specific <code>User-Agent</code> types receive the interstitial. User agents that match a prefix in the list will receive the interstitial, while others will not. If the <code>user_agent_prefixes</code> list is omitted, <em>all</em> user agents will receive the interstitial page.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="bypassing-the-interstitial">Bypassing the Interstitial<a href="#bypassing-the-interstitial" class="hash-link" aria-label="Direct link to Bypassing the Interstitial" title="Direct link to Bypassing the Interstitial"></a></h2>
<p>The interstitial page will be presented unless the client shows up with a <code>zrok_interstitial</code> cookie. When the user is presented with the interstitial page, there is a button they can click which sets the necessary cookie and allows them to visit the site. The cookie is set to expire in one week.</p>
<p>The interstitial page will be presented unless the client shows up with a <code>zrok_interstitial</code> cookie (depending on <code>user_agent_prefixes</code> configuration). When the user is presented with the interstitial page, there is a button they can click which sets the necessary cookie and allows them to visit the site. The cookie is set to expire in one week.</p>
<p>Typically the <code>user_agent_prefixes</code> list contains <code>Mozilla/5.0</code>, which matches all typical interactive mobile and desktop browsers. Setting a non-standard <code>User-Agent</code> in an interactive browser will bypass the interstitial pages for frontends configured with the usual <code>Mozilla/5.0</code> prefix.</p>
<p>End users can offer an HTTP header of <code>skip_zrok_interstitial</code>, set to any value to bypass the interstitial page. Setting this header means that the user most likely understands what a zrok share is and will hopefully not fall for a phishing attack.</p>
<p>The <code>skip_zrok_interstitial</code> header is especially useful for API clients (like <code>curl</code>) and other types of non-interactive clients.</p>
<p>The <code>drive</code> backend mode does not currently support <code>GET</code> requests and cannot be accessed with a conventional web browser, so it bypasses the interstitial page requirement.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col"><a href="https://github.com/openziti/zrok/blob/main/docs/../docs/guides/self-hosting/interstitial-page.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_JAkA"></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/guides/self-hosting/linux/nginx/"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">NGINX TLS</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/docs/guides/self-hosting/personalized-frontend/"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Personalized Frontend</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="#bypassing-the-interstitial" class="table-of-contents__link toc-highlight">Bypassing the Interstitial</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>

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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.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.44f28847.css">
<script src="/assets/js/runtime~main.6f6a9d29.js" defer="defer"></script>
<script src="/assets/js/runtime~main.ad0ba528.js" defer="defer"></script>
<script src="/assets/js/main.919bd9e8.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">