Fix CSS naming mistake

This commit is contained in:
mueller_minki
2026-10-04 19:28:21 +02:00
parent b7481c2109
commit b8a265a95d

View File

@@ -3,23 +3,23 @@
{% block content %} {% block content %}
<h1>Help</h1> <h1>Help</h1>
<nav class="help-toc" aria-label="Contents"> <nav class="help-toc" aria-label="Contents">
<a href="#overview">Overview</a> <a href="#help-overview">Overview</a>
<a href="#start">Getting started</a> <a href="#help-start">Getting started</a>
<a href="#editor">Patch editor</a> <a href="#help-editor">Patch editor</a>
<a href="#nodes">Node types</a> <a href="#help-nodes">Node types</a>
<a href="#origin">Visitor addresses</a> <a href="#help-origin">Visitor addresses</a>
<a href="#pages">Services and Stats</a> <a href="#help-pages">Services and Stats</a>
<a href="#settings">Settings and login</a> <a href="#help-settings">Settings and login</a>
<a href="#trouble">Status messages</a> <a href="#help-trouble">Status messages</a>
</nav> </nav>
<section class="card help" id="overview"> <section class="card help" id="help-overview">
<h2>Overview</h2> <h2>Overview</h2>
<p>PatchBay forwards ports between Linux machines over SSH. One machine is the <strong>target</strong>: it runs this web UI and is reachable from the internet. Every other machine is a <strong>client</strong>: it keeps an SSH connection open to the target, so it needs no open ports and can sit behind NAT.</p> <p>PatchBay forwards ports between Linux machines over SSH. One machine is the <strong>target</strong>: it runs this web UI and is reachable from the internet. Every other machine is a <strong>client</strong>: it keeps an SSH connection open to the target, so it needs no open ports and can sit behind NAT.</p>
<p>You decide what goes where by wiring nodes on the Patch page, like cables on a patch panel. A <strong>source</strong> is a service you want to reach (for example a web server on a client), a <strong>sink</strong> is where it shows up (for example a public port on the target). All traffic passes through the target, which counts it for the Stats page.</p> <p>You decide what goes where by wiring nodes on the Patch page, like cables on a patch panel. A <strong>source</strong> is a service you want to reach (for example a web server on a client), a <strong>sink</strong> is where it shows up (for example a public port on the target). All traffic passes through the target, which counts it for the Stats page.</p>
</section> </section>
<section class="card help" id="start"> <section class="card help" id="help-start">
<h2>Getting started</h2> <h2>Getting started</h2>
<ol> <ol>
<li>Install a client with <code>./install.sh --role client</code> and set <code>TargetHost</code> (and <code>TargetPort</code>) in <code>/etc/patchbay/patchbay.conf</code>.</li> <li>Install a client with <code>./install.sh --role client</code> and set <code>TargetHost</code> (and <code>TargetPort</code>) in <code>/etc/patchbay/patchbay.conf</code>.</li>
@@ -29,7 +29,7 @@
</ol> </ol>
</section> </section>
<section class="card help" id="editor"> <section class="card help" id="help-editor">
<h2>Patch editor</h2> <h2>Patch editor</h2>
<ul> <ul>
<li><strong>Add</strong> creates a node in the middle of the view. Fill in its fields; changes are saved automatically and applied straight away.</li> <li><strong>Add</strong> creates a node in the middle of the view. Fill in its fields; changes are saved automatically and applied straight away.</li>
@@ -38,11 +38,11 @@
<li><strong>Moving around:</strong> drag empty space to pan, scroll to zoom, <strong>Fit</strong> shows everything.</li> <li><strong>Moving around:</strong> drag empty space to pan, scroll to zoom, <strong>Fit</strong> shows everything.</li>
<li><strong>Selecting:</strong> click a node, or right-drag a box over several nodes (hold Shift to add to the selection). Drag the header of any selected node to move them all. Delete removes the selected nodes.</li> <li><strong>Selecting:</strong> click a node, or right-drag a box over several nodes (hold Shift to add to the selection). Drag the header of any selected node to move them all. Delete removes the selected nodes.</li>
<li><strong>Tidy</strong> snaps all nodes to the grid and keeps them on it while it is switched on.</li> <li><strong>Tidy</strong> snaps all nodes to the grid and keeps them on it while it is switched on.</li>
<li>Each sink shows its state at the bottom: live traffic and open connections, or what is wrong (see <a href="#trouble">Status messages</a>).</li> <li>Each sink shows its state at the bottom: live traffic and open connections, or what is wrong (see <a href="#help-trouble">Status messages</a>).</li>
</ul> </ul>
</section> </section>
<section class="card help" id="nodes"> <section class="card help" id="help-nodes">
<h2>Node types</h2> <h2>Node types</h2>
<table class="help-table"> <table class="help-table">
<tbody> <tbody>
@@ -57,7 +57,7 @@
<p class="muted">Label is a free-text name shown in Stats. Interface suggestions come from the tun interfaces each host reports.</p> <p class="muted">Label is a free-text name shown in Stats. Interface suggestions come from the tun interfaces each host reports.</p>
</section> </section>
<section class="card help" id="origin"> <section class="card help" id="help-origin">
<h2>Visitor addresses</h2> <h2>Visitor addresses</h2>
<p>Normally a service behind PatchBay sees every visitor as coming from PatchBay itself (for example <code>127.0.0.1</code>). Every sink has two optional checkboxes to pass the real address on. Only one can be on at a time.</p> <p>Normally a service behind PatchBay sees every visitor as coming from PatchBay itself (for example <code>127.0.0.1</code>). Every sink has two optional checkboxes to pass the real address on. Only one can be on at a time.</p>
<ul> <ul>
@@ -66,13 +66,13 @@
</ul> </ul>
</section> </section>
<section class="card help" id="pages"> <section class="card help" id="help-pages">
<h2>Services and Stats</h2> <h2>Services and Stats</h2>
<p><a href="{{ url_for('views.services') }}">Services</a> lists the listening ports on every host with the program behind them, which helps to fill in source addresses. Use Refresh now to ask all hosts for a fresh list.</p> <p><a href="{{ url_for('views.services') }}">Services</a> lists the listening ports on every host with the program behind them, which helps to fill in source addresses. Use Refresh now to ask all hosts for a fresh list.</p>
<p><a href="{{ url_for('views.stats') }}">Stats</a> shows traffic per sink: current rates, open connections and history from the last hour up to all time. "In" is traffic towards the service, "out" is traffic back to the visitor. How long history is kept is set under Settings.</p> <p><a href="{{ url_for('views.stats') }}">Stats</a> shows traffic per sink: current rates, open connections and history from the last hour up to all time. "In" is traffic towards the service, "out" is traffic back to the visitor. How long history is kept is set under Settings.</p>
</section> </section>
<section class="card help" id="settings"> <section class="card help" id="help-settings">
<h2>Settings and login</h2> <h2>Settings and login</h2>
<ul> <ul>
<li>Logging in takes your password plus a 6-digit code sent by email. Too many failed attempts block your address for a while.</li> <li>Logging in takes your password plus a 6-digit code sent by email. Too many failed attempts block your address for a while.</li>
@@ -81,7 +81,7 @@
</ul> </ul>
</section> </section>
<section class="card help" id="trouble"> <section class="card help" id="help-trouble">
<h2>Status messages</h2> <h2>Status messages</h2>
<table class="help-table"> <table class="help-table">
<tbody> <tbody>