Копирование папок desktop и desktop-angular из ветки main
This commit is contained in:
100
desktop/src/renderer/index.html
Normal file
100
desktop/src/renderer/index.html
Normal file
@@ -0,0 +1,100 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ru">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Knocker Desktop</title>
|
||||
<link rel="stylesheet" href="./styles.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="app">
|
||||
<header>
|
||||
<h1 style="font-size: 2.5rem; margin-bottom: 1rem">
|
||||
Port Knocker - Desktop
|
||||
</h1>
|
||||
<div class="modes">
|
||||
<label
|
||||
><input type="radio" name="mode" value="inline" checked />
|
||||
Inline</label
|
||||
>
|
||||
<label><input type="radio" name="mode" value="yaml" /> YAML</label>
|
||||
<label><input type="radio" name="mode" value="form" /> Form</label>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<section id="constant-section" class="constant-mode-section">
|
||||
<div class="row">
|
||||
<label style="min-width: 100px">Api URL</label>
|
||||
<input id="apiUrl" type="text" placeholder="Введите api url" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label style="min-width: 100px">Пароль</label>
|
||||
<input id="password" type="password" placeholder="Введите пароль" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label style="min-width: 100px">Задержка</label>
|
||||
<input id="delay" type="text" value="1s" />
|
||||
</div>
|
||||
</section>
|
||||
<section id="inline-section" class="mode-section">
|
||||
<div class="row">
|
||||
<label style="min-width: 100px">Цели</label>
|
||||
<input id="targets" type="text" value="tcp:127.0.0.1:22" />
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<label style="min-width: 100px">Шлюз: </label>
|
||||
<input id="gateway" type="text" placeholder="опционально" />
|
||||
</div>
|
||||
<div class="row" style="margin-top: 1rem">
|
||||
<label
|
||||
><input id="verbose" type="checkbox" checked /> Подробный
|
||||
вывод</label
|
||||
>
|
||||
<label
|
||||
><input id="waitConnection" type="checkbox" /> Ждать
|
||||
соединение</label
|
||||
>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="yaml-section" class="mode-section hidden">
|
||||
<div class="toolbar">
|
||||
<button id="openFile">Открыть файл…</button>
|
||||
<button id="saveFile">Сохранить как…</button>
|
||||
<input
|
||||
id="serverFilePath"
|
||||
type="text"
|
||||
placeholder="server file path (path в YAML)"
|
||||
/>
|
||||
</div>
|
||||
<textarea
|
||||
id="configYAML"
|
||||
placeholder="Вставьте YAML или откройте файл"
|
||||
></textarea>
|
||||
</section>
|
||||
|
||||
<section id="form-section" class="mode-section hidden">
|
||||
<div id="targetsList"></div>
|
||||
<button id="addTarget">Добавить цель</button>
|
||||
</section>
|
||||
|
||||
<footer>
|
||||
<div class="row" style="width: 100%; margin-top: 1rem">
|
||||
<button style="width: 100%" id="execute">Выполнить</button>
|
||||
</div>
|
||||
<div class="row hidden" id="encrypt-decrypt-row" style="width: 100%; margin-top: 1rem">
|
||||
<button style="width: 50%" id="encrypt">Зашифровать</button>
|
||||
<button style="width: 50%" id="decrypt">Расшифровать</button>
|
||||
</div>
|
||||
<div class="row" style="width: 100%; margin-top: 1rem">
|
||||
<span id="status"></span>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script src="../../node_modules/js-yaml/dist/js-yaml.min.js"></script>
|
||||
<script src="./renderer.js"></script>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user