asdsad
This commit is contained in:
@@ -32,8 +32,6 @@
|
|||||||
{ "name": "db.user", "label": "DB User", "type": "text", "required": false },
|
{ "name": "db.user", "label": "DB User", "type": "text", "required": false },
|
||||||
{ "name": "db.password", "label": "DB Passwort", "type": "password", "required": false },
|
{ "name": "db.password", "label": "DB Passwort", "type": "password", "required": false },
|
||||||
{ "name": "ttyd_url", "label": "ttyd URL", "type": "text", "required": false, "help": "z.B. https://staging.nexus.int.kusche.berlin/ttyd" },
|
{ "name": "ttyd_url", "label": "ttyd URL", "type": "text", "required": false, "help": "z.B. https://staging.nexus.int.kusche.berlin/ttyd" },
|
||||||
{ "name": "wetty_url", "label": "WeTTY URL", "type": "text", "required": false, "help": "z.B. https://staging.nexus.int.kusche.berlin/wetty" },
|
|
||||||
{ "name": "terminal_default_provider", "label": "Standard-Konsole", "type": "text", "required": false, "help": "ttyd oder wetty" },
|
|
||||||
{ "name": "terminal_token_ttl", "label": "Token TTL (Minuten)", "type": "number", "required": false, "help": "Gültigkeit der Konsole-Token, z.B. 10" },
|
{ "name": "terminal_token_ttl", "label": "Token TTL (Minuten)", "type": "number", "required": false, "help": "Gültigkeit der Konsole-Token, z.B. 10" },
|
||||||
{ "name": "terminal_shared_secret", "label": "Terminal Shared Secret", "type": "password", "required": false, "help": "Zusätzliche Absicherung für terminal_info (Header X-Terminal-Secret)" }
|
{ "name": "terminal_shared_secret", "label": "Terminal Shared Secret", "type": "password", "required": false, "help": "Zusätzliche Absicherung für terminal_info (Header X-Terminal-Secret)" }
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -11,8 +11,7 @@ $terminalUrl = null;
|
|||||||
|
|
||||||
$settings = modules()->settings('pi_control');
|
$settings = modules()->settings('pi_control');
|
||||||
$ttydUrl = trim((string)($settings['ttyd_url'] ?? '/ttyd'));
|
$ttydUrl = trim((string)($settings['ttyd_url'] ?? '/ttyd'));
|
||||||
$wettyUrl = trim((string)($settings['wetty_url'] ?? '/wetty'));
|
$defaultProvider = 'ttyd';
|
||||||
$defaultProvider = (string)($settings['terminal_default_provider'] ?? 'ttyd');
|
|
||||||
$tokenTtl = (int)($settings['terminal_token_ttl'] ?? 10);
|
$tokenTtl = (int)($settings['terminal_token_ttl'] ?? 10);
|
||||||
$tokenTtl = $tokenTtl > 0 ? $tokenTtl : 10;
|
$tokenTtl = $tokenTtl > 0 ? $tokenTtl : 10;
|
||||||
|
|
||||||
@@ -24,11 +23,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
|
|
||||||
if ($action === 'open_console') {
|
if ($action === 'open_console') {
|
||||||
$hostId = (int)($_POST['terminal_host_id'] ?? 0);
|
$hostId = (int)($_POST['terminal_host_id'] ?? 0);
|
||||||
$provider = (string)($_POST['terminal_provider'] ?? $defaultProvider);
|
$provider = 'ttyd';
|
||||||
$provider = in_array($provider, ['ttyd', 'wetty'], true) ? $provider : 'ttyd';
|
|
||||||
|
|
||||||
if ($hostId <= 0) {
|
if ($hostId <= 0) {
|
||||||
$terminalError = 'Bitte einen Host wählen.';
|
$terminalError = 'Bitte einen Host wählen.';
|
||||||
|
} elseif ($ttydUrl === '') {
|
||||||
|
$terminalError = 'ttyd URL fehlt. Bitte im Setup setzen.';
|
||||||
} else {
|
} else {
|
||||||
$driver = (string)$pdo->getAttribute(PDO::ATTR_DRIVER_NAME);
|
$driver = (string)$pdo->getAttribute(PDO::ATTR_DRIVER_NAME);
|
||||||
$expiresSql = $driver === 'pgsql'
|
$expiresSql = $driver === 'pgsql'
|
||||||
@@ -47,13 +47,8 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
|||||||
'created_by' => auth_display_name() ?: null,
|
'created_by' => auth_display_name() ?: null,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($provider === 'ttyd') {
|
|
||||||
$sep = str_contains($ttydUrl, '?') ? '&' : '?';
|
$sep = str_contains($ttydUrl, '?') ? '&' : '?';
|
||||||
$terminalUrl = rtrim($ttydUrl, '/') . '/' . $sep . 'arg=' . rawurlencode($token);
|
$terminalUrl = rtrim($ttydUrl, '/') . '/' . $sep . 'arg=' . rawurlencode($token);
|
||||||
} else {
|
|
||||||
$terminalUrl = $wettyUrl;
|
|
||||||
$terminalNotice = 'WeTTY nutzt den Standard-Host aus der Container-Konfiguration. Für Host-Auswahl bitte ttyd nutzen.';
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$hostId = (int)($_POST['host_id'] ?? 0);
|
$hostId = (int)($_POST['host_id'] ?? 0);
|
||||||
@@ -140,10 +135,7 @@ $runs = $pdo->query('SELECT * FROM ' . $table('runs') . ' ORDER BY id DESC LIMIT
|
|||||||
</label>
|
</label>
|
||||||
<label class="form-field">
|
<label class="form-field">
|
||||||
<span class="muted">Konsole</span>
|
<span class="muted">Konsole</span>
|
||||||
<select name="terminal_provider" title="Wähle die Terminal-Engine.">
|
<input type="text" value="ttyd" disabled>
|
||||||
<option value="ttyd" <?= $defaultProvider === 'ttyd' ? 'selected' : '' ?>>ttyd (empfohlen)</option>
|
|
||||||
<option value="wetty" <?= $defaultProvider === 'wetty' ? 'selected' : '' ?>>WeTTY</option>
|
|
||||||
</select>
|
|
||||||
</label>
|
</label>
|
||||||
<button class="cta-button" type="submit">Konsole öffnen</button>
|
<button class="cta-button" type="submit">Konsole öffnen</button>
|
||||||
</form>
|
</form>
|
||||||
|
|||||||
Reference in New Issue
Block a user