Közzétett forrás
Letöltés forrás ZIP
CH-J Server Manager
Könyvtárak és fájlok böngészése egy adott alkalmazás kiadásához.
CH-J / Server Manager
339 fájlok
core-20261014T184258Z-3fbed0b93fdf
Hozzáadva: Nem rögzített dátum · Beépített:
1
"use strict";3
const api = window.chjPlugin;4
const elements = Object.fromEntries(["pluginVersion", "closeButton", "generatorForm", "keyType", "bitsLabel", "keyBits", "keyFormat", "keyComment", "keyPassphrase", "legacyField", "legacyConfirmed", "saveButton", "status", "result", "privateKey", "privateFormat", "publicKey", "publicFormat", "notice"].map((id) => [id, document.querySelector(`#${id}`)]));5
const bits = { rsa: [2048, 3072, 4096], ecdsa: [256, 384, 521], dsa: [1024], rsa1: [1024] };6
let generationId = null;8
function setStatus(message, error = false) {9
elements.status.textContent = message;10
elements.status.classList.toggle("error", error);11
}13
function updateType() {14
const type = elements.keyType.value;15
const choices = bits[type] || [];16
elements.keyBits.replaceChildren(...choices.map((value) => new Option(String(value), String(value), value === (type === "rsa" ? 4096 : choices[0]), value === (type === "rsa" ? 4096 : choices[0]))));17
elements.bitsLabel.hidden = choices.length === 0;18
elements.legacyField.hidden = type !== "dsa" && type !== "rsa1";19
if (elements.legacyField.hidden) elements.legacyConfirmed.checked = false;20
if (type === "rsa1") elements.keyFormat.value = "ppk";21
elements.keyFormat.disabled = type === "rsa1";22
}24
elements.keyType.addEventListener("change", updateType);25
elements.closeButton.addEventListener("click", () => api.close());26
elements.generatorForm.addEventListener("submit", async (event) => {27
event.preventDefault();28
setStatus("Generuji klíčový pár…");29
generationId = null; elements.saveButton.disabled = true;30
try {31
const generated = await api.keys.generate({32
type: elements.keyType.value,33
bits: Number(elements.keyBits.value || 0),34
comment: elements.keyComment.value,35
passphrase: elements.keyPassphrase.value,36
privateKeyFormat: elements.keyFormat.value,37
legacyConfirmed: elements.legacyConfirmed.checked38
});39
generationId = generated.generationId;40
elements.privateKey.value = generated.privateKey;41
elements.privateFormat.textContent = { openssh: "OpenSSH", pem: "PEM / PKCS#8", ppk: "PuTTY PPK v2" }[generated.privateKeyFormat] || generated.privateKeyFormat;42
elements.publicKey.value = generated.publicKey;43
elements.publicFormat.textContent = generated.publicKeyOpenSsh ? "OpenSSH" : "SPKI PEM";44
elements.notice.hidden = !generated.notice;45
elements.notice.textContent = generated.notice;46
elements.result.hidden = false;47
elements.saveButton.disabled = false;48
setStatus(`${generated.type}${generated.bits ? ` / ${generated.bits}` : ""} bylo vygenerováno.`);49
} catch (error) { setStatus(error?.message || String(error), true); }50
});51
elements.saveButton.addEventListener("click", async () => {52
if (!generationId) return;53
try {54
const result = await api.keys.save(generationId);55
if (!result.canceled) setStatus(`Uloženo: ${result.privatePath} a ${result.publicPath}`);56
} catch (error) { setStatus(error?.message || String(error), true); }57
});59
(async () => {60
const info = await api.getInfo();61
elements.pluginVersion.textContent = `${info.name} v${info.version} · ${info.publisher}`;62
updateType();63
})().catch((error) => setStatus(error?.message || String(error), true));SHA-256
b19b0e58b4a9223c0a27920ca3db65d2d0b576954a1fb6881b7576eaaf04df98CH-J Proprietary Software License 1.14 · A forrás a CH-J Proprietary Software License 1.14 alatt található. Rendelkezése nem változtatja meg a licenc feltételeit, és nem ad további jogokat.
Archive SHA-256
3df08cf5e899262a6ce92d7ec2caf5c42b683f1f2b57055662b845ff7dde67a8