Add Salamander obfs branch: replace masquerade with packet obfuscation.
- ACME TLS challenge on 443 (no port 80 or nginx decoy) - Auto-generate and persist obfs password per server - Update client export, HTML catalog, and vault examples - Document Salamander vs main and ACME auto-renewal in README
This commit is contained in:
@@ -75,6 +75,15 @@
|
||||
font-size: 0.8rem;
|
||||
font-weight: 600;
|
||||
}
|
||||
.badge-salamander {
|
||||
margin-left: 0.35rem;
|
||||
background: rgba(163, 113, 247, 0.18);
|
||||
color: #a371f7;
|
||||
}
|
||||
.server-obfs {
|
||||
margin-top: 1.25rem;
|
||||
max-width: 100%;
|
||||
}
|
||||
.user-card {
|
||||
background: var(--bg-card);
|
||||
border: 1px solid var(--border);
|
||||
@@ -235,6 +244,17 @@
|
||||
Домен: <strong>{{ hysteria2_domain }}:{{ hysteria2_listen_port }}</strong>
|
||||
</p>
|
||||
<span class="badge">{{ hysteria2_export_users | length }} {{ 'пользователь' if hysteria2_export_users | length == 1 else 'пользователей' }}</span>
|
||||
<span class="badge badge-salamander">Salamander</span>
|
||||
|
||||
<div class="field server-obfs">
|
||||
<label for="obfs-server">Пароль обфускации (Salamander)</label>
|
||||
<div class="input-row">
|
||||
<input type="text" id="obfs-server" value="{{ hysteria2_obfs_password | e }}" readonly>
|
||||
<button type="button" class="btn-copy" onclick="copyField('obfs-server', this)" title="Копировать obfs-password" aria-label="Копировать obfs-password">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{% for user in hysteria2_export_users %}
|
||||
|
||||
Reference in New Issue
Block a user