CH-J Toolsspráva serverů přes SSH
Menu
Vydané zdroje

CH-J Tools

Procházejte adresáře a soubory konkrétního vydání aplikace.

Stáhnout zdroje ZIP
CH-J / Server Manager 872 souborů
core-20261030T220507Z-61e4558d889f Přidáno: · Sestaveno:
README.md Přidáno: Datum není evidováno 36,8 KB · 393 řádků
Kód Stáhnout soubor
1# CH-J Server Manager
3CH-J Server Manager is a desktop SSH and SFTP client for Linux server administration, with Windows server support in selected tools, and a local file hash calculator and checksum verification tool for Windows, macOS, and Linux. It combines server profiles, an interactive terminal, a multi-panel file manager, monitoring, log inspection, user administration, NGINX management, disk management, and 49 hashing algorithms in one application.
5Version `0.1.1` is a new implementation written in **Rust** with **Tauri 2**. The previous version, `0.1.0`, is built on **Electron**. Both versions belong to the same product line and use the same data directory and vault format.
7## Download
9### Beta — current public release
11Version `0.1.0` (Electron).
13| Platform | Architecture | Package |
14| --- | --- | --- |
15| macOS | Apple Silicon (`arm64`) | [Download DMG for macOS](https://sm.ch-j.eu/download.php?channel=beta&platform=mac&arch=arm64&lang=en) |
16| Windows 11 | `x64` | [Download for Windows](https://sm.ch-j.eu/download.php?channel=beta&platform=win&arch=x64&lang=en) |
17| Ubuntu 24.04 | `x64` | [Download for Ubuntu](https://sm.ch-j.eu/download.php?channel=beta&platform=ubuntu&arch=x64&lang=en) |
19### Alpha — newest test version
21Version `0.1.1` (Rust + Tauri 2). These links always point to the newest package published in the alpha channel.
23| Platform | Architecture | Package |
24| --- | --- | --- |
25| macOS | Apple Silicon (`arm64`) | [Download alpha for macOS](https://sm.ch-j.eu/download.php?channel=alpha&platform=mac&arch=arm64&lang=en) |
26| Windows 11 | `x64` | [Download alpha for Windows](https://sm.ch-j.eu/download.php?channel=alpha&platform=win&arch=x64&lang=en) |
27| Ubuntu 24.04 | `x64` | [Download alpha for Ubuntu](https://sm.ch-j.eu/download.php?channel=alpha&platform=ubuntu&arch=x64&lang=en) |
29Back up important data before installation or updates, especially before testing an alpha.
31[Browse source code](https://sm.ch-j.eu/en/source/) · [Releases](https://sm.ch-j.eu/en/releases/) · [Documentation](https://sm.ch-j.eu/en/documentation/)
33**Looking for the mobile app?** SM Mobile for Android, iOS and iPadOS: [website](https://sm.ch-j.cz/cs/?edition=mobile) · [downloads and build details](https://sm.ch-j.cz/cs/releases/?edition=mobile) · [sources](https://sm.ch-j.cz/cs/source/?edition=mobile) · [README on GitHub](https://github.com/ch-j-code/SM-Mobile). See also [CH-J Ecosystem](#ch-j-ecosystem--desktop--mobile).
35## Development status
37| Channel | Version | Technology | Status |
38| --- | --- | --- | --- |
39| Beta | `0.1.0` | Electron | Current public release, build `core-20261024T135205Z-7c487d719de2` |
40| Alpha | `0.1.1` | Rust + Tauri 2 | Newest test release, build `core-20261030T220507Z-61e4558d889f` |
42The project is in **alpha and beta testing**. It is suitable for testing, but some planned features and production distribution requirements are not complete yet. The internal name "Core" refers to the application architecture; the product name remains CH-J Server Manager. Check the [release catalog](https://sm.ch-j.eu/en/releases/) for what is currently published. The features below marked as new belong to `0.1.1` and are not part of the `0.1.0` beta.
44The `0.1.0` installers have detached OpenPGP signatures. The release [SHA512SUMS](https://sm.ch-j.eu/files/apps/builds/core-20261024T135205Z-7c487d719de2/SHA512SUMS) and its [signature](https://sm.ch-j.eu/files/apps/builds/core-20261024T135205Z-7c487d719de2/SHA512SUMS.asc) cover the DMG, EXE and DEB. The `0.1.1` installers are signed the same way: [SHA512SUMS](https://sm.ch-j.eu/files/apps/builds/core-20261030T220507Z-61e4558d889f/SHA512SUMS) and its [signature](https://sm.ch-j.eu/files/apps/builds/core-20261030T220507Z-61e4558d889f/SHA512SUMS.asc).
46## From Electron to Rust and Tauri
48Version `0.1.1` replaces the Electron main process with a Rust Core and the bundled Chromium with the WebView of the operating system: WKWebView on macOS, WebView2 on Windows and WebKitGTK on Linux.
50- **Smaller packages:** the Rust build has no bundled browser engine. Exact sizes are listed with each release.
51- **Same data:** `0.1.1` uses the data directory and vault format of `0.1.0`. Back up your data before you try it.
52- **Same tools:** every Electron feature, IPC channel and module has a counterpart in the Rust Core. The Module API stays compatible at version `1.7.0`.
53- **Same safety rules:** vault encryption, SSH host-key checks, sandboxed module windows, signed updates and the mandatory license flow are carried over.
54- **Different requirements:** Linux needs WebKitGTK 4.1, which the `.deb` package declares as a dependency. Windows needs the WebView2 runtime, which is part of Windows 11.
56### New in 0.1.1
58- **SSH jump hosts:** connect through a saved or manually entered jump host, with chains of up to three saved hosts and a host-key check on every hop.
59- **Manual host:** connect to a server that is not saved. Nothing about it is stored.
60- **Two terminals:** side by side or stacked, on one server or on two different ones, with a draggable divider. Hiding a terminal does not end its session.
61- **Availability monitor:** all saved servers are checked in the background with a TCP connection to the SSH port, without logging in. Results appear in the server list and in the terminal menu. Offline means that the SSH port cannot be reached from this network; the server itself may still be running. A server reached only through a jump host is checked through an open session to that jump host and is otherwise shown as not verified, never as online.
62- **File Manager with one, two or three panels:** each panel shows the local disk or any open SSH session. Copy and move between panels with Cmd/Ctrl+C, X and V, by dragging, or from the context menu. Create a file with any name and extension and edit it in Monaco.
63- **Server-to-server transfers:** data streams from one SFTP session to the other through this computer without being stored on its disk. Transfers use the queue, with pause, resume, cancel and conflict handling.
64- **Safe moves:** a source file is deleted only after its SHA-256 matched and only if it has not changed. Otherwise it stays, and the queue says why.
65- **System Monitor:** every CPU socket and every GPU or accelerator is listed. NVIDIA metrics come from `nvidia-smi` and AMD metrics from sysfs. Emulated GPUs show their name and PCI ID; values a server does not report are shown as unavailable.
66- **Session choice in modules:** with one connection a module uses it automatically; with several it asks which one to use. A module never moves to another server by itself.
67- **42 interface languages**, including right-to-left languages. The license and the safety guidance stay in Czech, German and English.
69### Current limitations
71The following features are planned but not yet available:
73- remote archive extraction;
74- SSH port forwarding;
75- dragging files from Finder or Explorer into a panel; copy them from the Local disk panel instead;
76- direct server-to-server transfers: the data always passes through this computer;
77- server-to-server copies of files readable only with sudo;
78- Safe Mode and additional tools.
80Alpha `0.1.1` is not yet covered by the same range of tests as `0.1.0`, and Windows and Linux clients have had less testing than macOS. This list is not exhaustive. Behavior and data formats may still change during alpha and beta testing.
82## Supported operating systems
84| Operating system | Current target | Package |
85| --- | --- | --- |
86| Windows | Windows 11, `x64` | NSIS `.exe` installer |
87| macOS | Apple Silicon, `arm64` | `.dmg` |
88| Linux | Ubuntu 24.04 LTS, `amd64` | Debian-format `.deb`; `0.1.0` also has a signed APT alpha repository |
90No Intel Mac installer is available. Compatibility with other Linux distributions and older Windows versions is not verified; a Debian package format alone does not establish support for every Debian-based system.
92## Available features
94- encrypted local vault using scrypt and AES-256-GCM;
95- server profiles with password and private-key SSH authentication;
96- profile import/export in desktop JSON/CSV, with shared version 1 JSON for SM Mobile; transferred fields exclude credentials and trusted host keys;
97- mandatory SHA-256 SSH host-key verification and explicit handling of changed host keys;
98- multiple SSH sessions and an interactive terminal;
99- file browsing, editing, upload, download, deletion, and ZIP/TAR/TAR.GZ export through a restricted SFTP interface;
100- user interface in 42 languages in `0.1.1` (Czech, German and English in `0.1.0`);
101- Key Generator: SSH keys (Ed25519, RSA, ECDSA and explicitly confirmed legacy DSA/SSH1 RSA) and a password generator (4–70 characters, A–Z, a–z, 1–9 and `-@)¨§'=+`, optional dash after every four characters), copied through the main process clipboard;
102- bundled first-party tools for System Monitor, Key Generator, Log Viewer, Users, File Manager, NGINX Manager, and Disk Manager, with separately distributed plugin updates;
103- Disk Manager (`chj.disks`, Linux servers only): disk map, partitions, file systems, LVM and LUKS layers, automatic expansion after a disk was enlarged, and a reviewed queue of changes that runs as a server-side job (see the bundled `docs/disks-plugin.md` for supported operations and limits);
104- System Monitor and Users for remote Linux servers and Windows servers reached through Windows OpenSSH (see the platform notes below);
105- integrated Server Diagnostics: ICMP, traceroute, DNS, HTTP/1.1/2/3 capability tests, server timings, compression, TLS, TCP ports, local history and JSON/CSV/TXT exports;
106- a bundled local Hash & Checksum tool in the sidebar for calculation, verification, comparison, and checksum manifests;
107- sandboxed plugin windows with capability-based access to Core services;
108- dark title bars on Windows and Linux, plugin windows kept above the main window, and a bottom bar for collapsed plugins;
109- alpha, beta, and stable update-channel selection;
110- application updates protected by size checks, SHA-512, and mandatory detached OpenPGP signatures.
112### System Monitor and virtual memory
114System Monitor detects the remote operating system from system data (`uname`, or the Windows registry / `Win32_OperatingSystem`) and uses a separate Linux or Windows collector. On Windows, it works with `cmd.exe` and PowerShell as the default SSH shell. It does not show a load average on Windows, because Windows has none, and shows the processor queue length instead. When a network driver reports no byte counters, System Monitor shows packet counts.
116The **Memory and virtual memory** section shows a RAM breakdown in which no value is counted twice. It also shows RAM and swap history and lists every swap area or page file with its type, path, priority, persistence, and swap-in/swap-out activity. Reading metrics never requires sudo.
118- **Linux swap files (root or sudo):** you can create, activate, deactivate, resize, reprioritize, persist, and delete swap files in `/swapfile*`, `/swap/<name>`, or `/var/lib/swap/<name>`, sized from 64 MiB to 64 GiB.
119 - Supported file systems are ext2/3/4, XFS, Btrfs, and F2FS.
120 - A swap area is not deactivated when its contents would not fit into the available memory, which keeps a reserve, plus the free space in other swap areas.
121 - `/etc/fstab` is backed up before every change.
122 - Swap partitions can only be deactivated or reprioritized. zram and zswap are read-only.
123- **Windows page files (elevated administrator SSH session, UAC is never bypassed):** you can switch automatic management, set custom or system-managed sizes, and add or remove page files.
124 - Changes take effect only after a restart. The application shows "restart pending" and **never restarts Windows**.
126The terminal status bar measures **ICMP ping** (local system `ping`, with median, packet loss, and a reason such as timeout or blocked) and **SSH response time** (round trips over the existing SSH transport) separately. A blocked ICMP does not mark a server as offline.
128### Users: root SSH access
130Users protects the root account: you cannot delete it or change its UID/GID, groups, shell, or home directory. You can manage its SSH keys and SSH access through a root session or sudo. This includes `PermitRootLogin` (`no`, `prohibit-password`, which is recommended, `forced-commands-only`, `yes`, or inherited server settings). Enabling password login for root requires an extra typed confirmation.
132### Verified remote server systems
134The following server operating systems were used for `0.1.0` tests on isolated test machines in October 2026. Results from other versions are not verified. For `0.1.1`, the server functions have so far been run against Ubuntu 24.04, Debian 13, Rocky Linux 10.2 and Windows Server 2025; the complete matrix will be repeated before release:
136| Family | Tested versions |
137| --- | --- |
138| Ubuntu | 20.04.6 LTS, 22.04.5 LTS, 24.04.5 LTS, 25.04, 26.04.1 LTS |
139| Debian | 12 (bookworm), 13 (trixie) |
140| Rocky Linux | 10.2 (Red Quartz); Rocky Linux 9 in disposable containers |
141| Alpine Linux | 3.24.2 |
142| Kali Linux | Rolling 2026.1 (cloud image 2026.2) |
143| Proxmox VE | 9.2 (Debian 13 based) |
144| Windows | Windows 11 Pro, Windows 11 Enterprise Evaluation 26H2 |
145| Windows Server | Windows Server 2022 Standard Evaluation 21H2 (Desktop Experience), Windows Server 2025 Standard Evaluation 24H2 (Desktop Experience and Server Core) |
147Which tool was tested on which system:
149| Tool | Verified remote systems |
150| --- | --- |
151| System Monitor metrics, latency and swap files | Test VMs: Debian 13, Ubuntu 24.04 and 26.04, Rocky Linux 10.2 (XFS), Alpine Linux 3.24, Proxmox VE 9.2. Disposable containers: Debian 13, Ubuntu 24.04, Rocky Linux 9 (ext4, XFS, Btrfs) |
152| System Monitor metrics, latency and page file settings | Windows 11 Pro and Windows Server 2025 Core, with no restart performed |
153| Disk Manager (changes only on dedicated loop-device test images) | Test VMs: Ubuntu 20.04, 22.04, 24.04, 25.04 and 26.04, Debian 12 and 13, Rocky Linux 10.2, Alpine Linux 3.24, Kali Linux; Proxmox VE 9.2 read-only. Windows 11 Enterprise and Windows Server 2022/2025 are detected and refused as unsupported |
154| Users, including root SSH access | Test VMs and containers listed above |
156On Proxmox VE, root's `authorized_keys` is a link into the cluster file system, so Users shows it but does not change it. On Alpine Linux, a locked root account cannot log in with SSH, even with a key.
158### Server Diagnostics
160Open **Server Diagnostics** between **Plugins** and **Hash & Checksum**. Enter a hostname, IPv4, IPv6 or HTTP(S)/WS(S) URL, choose Auto / IPv4 / IPv6 / Both, and run the overview or an individual tool. No SSH connection or external plugin is required. Results update while probes run, and individual tools or the entire run can be stopped.
162The module includes per-packet ICMP graphs/statistics (interval 0.05–10 s, total packet count, payload size, TTL and don't-fragment settings, no root required), progressive traceroute, twelve DNS record types with TTL and consistency observations, independently negotiated HTTP versions, request phase timings and independent connections for each HTTP sample, verified gzip/deflate/Brotli (and runtime-supported zstd), TLS 1.2/1.3 certificate inspection, bounded TCP port tests, an SSH host-key handshake without authentication, security-header/redirect checks and an optional WebSocket handshake. It supports Czech, German and English and local light/dark/system themes.
164HTTP/1.1, HTTP/2 and HTTP/3 use the pinned bundled curl client, with strict certificate verification and no system curl dependency. HTTP/3 uses `--http3-only` and requires a completed QUIC transfer on the target HTTPS port; otherwise the UI reports unavailable, unsupported or error with a reason. `Alt-Svc` and HTTP/2 fallback never establish HTTP/3 support. DNSSEC is explicitly **not validated**; DS/DNSKEY records are observations. ICMP failures do not label a server offline.
166History stays in the application's local data directory. JSON/CSV/TXT reports omit bodies, cookies, authentication metadata and URL queries. Import JSON, reopen or compare saved runs from History. OS ping/traceroute tools provide ICMP/route capabilities. The HTTP client and its CA store are bundled; no system curl or first-run download is required. Each HTTP sample starts an independent connection; connection reuse is not measured.
168See [implementation, IPC, limits and verification](https://sm.ch-j.eu/en/documentation/server-diagnostics/). Run `npm test` for the deterministic tests.
170### Hash & Checksum
172Calculate file hashes, verify checksums, and compare local files with 49 algorithms, including SHA-256, SHA-512, SHA-3, BLAKE3, and xxHash. The built-in hashing tool supports HEX and Base64 output and GNU, BSD, and SFV checksum manifests.
174Open **Hash & Checksum** from the left sidebar, directly below **Server Diagnostics**, after unlocking the vault. The tool is bundled with the application, opens in its own window, and does not appear in the installed-plugin list.
176The interface follows the application's saved language setting. Saving a language change updates an already open Hash window, including controls, progress, result statuses, errors, and native file-dialog labels, while preserving selected files, algorithms, parameters, and results.
178Available functions:
180- **Calculate:** hash a single file, multiple files, or a directory, optionally including subdirectories. Use the recommended selection (SHA-256, SHA-512, and BLAKE3), select individual algorithms, or select all 49 at once. Directory symlinks are skipped.
181- **Output and parameters:** display digests as lowercase HEX, uppercase HEX, or Base64. Configure output length for SHAKE and KangarooTwelve, seeds for xxHash and MurmurHash3, and hexadecimal keys for SipHash and HighwayHash. An empty key field uses an all-zero key.
182- **Verify:** compare a file with an expected HEX or Base64 digest using a selected fixed-length algorithm. HEX comparison ignores letter case and surrounding whitespace. Suggested algorithms based on HEX length are hints, not definitive identification.
183- **Compare Files:** compare the calculated digests of two files using one or more fixed-length algorithms.
184- **Manifests:** generate and verify GNU, BSD, and SFV checksum lists with relative paths. Generation requires a fixed-length algorithm without a key or seed; SFV requires CRC32. Verification supports automatic algorithm detection or a manual override when the digest length is ambiguous.
185- **Progress and results:** view processed bytes, percentage, throughput, elapsed time, estimated remaining time, and per-file statuses; cancel a running job; copy an individual digest or all results; export results to a text file.
187#### Supported algorithms
189The complete list of **49 supported algorithms** is shown below. Algorithm IDs match the result table and exported results.
191| Algorithm | ID | Output size (bits) |
192| --- | --- | --- |
193| SHA-224 | `sha224` | 224 |
194| SHA-256 | `sha256` | 256 |
195| SHA-384 | `sha384` | 384 |
196| SHA-512 | `sha512` | 512 |
197| SHA-512/224 | `sha512-224` | 224 |
198| SHA-512/256 | `sha512-256` | 256 |
199| SHA3-224 | `sha3-224` | 224 |
200| SHA3-256 | `sha3-256` | 256 |
201| SHA3-384 | `sha3-384` | 384 |
202| SHA3-512 | `sha3-512` | 512 |
203| SHAKE128 | `shake128` | Variable (default 256) |
204| SHAKE256 | `shake256` | Variable (default 512) |
205| BLAKE2b-512 | `blake2b-512` | 512 |
206| BLAKE2s-256 | `blake2s-256` | 256 |
207| BLAKE3 | `blake3` | 256 |
208| KangarooTwelve | `kangaroo-twelve` | Variable (default 256) |
209| RIPEMD-160 | `ripemd160` | 160 |
210| Whirlpool | `whirlpool` | 512 |
211| Tiger | `tiger` | 192 |
212| Tiger2 | `tiger2` | 192 |
213| MD5 | `md5` | 128 |
214| SHA-1 | `sha1` | 160 |
215| XXH32 | `xxh32` | 32 |
216| XXH64 | `xxh64` | 64 |
217| XXH3-64 | `xxh3-64` | 64 |
218| XXH3-128 | `xxh3-128` | 128 |
219| MurmurHash3 x86 32 | `murmur3-x86-32` | 32 |
220| MurmurHash3 x86 128 | `murmur3-x86-128` | 128 |
221| MurmurHash3 x64 128 | `murmur3-x64-128` | 128 |
222| CityHash32 | `cityhash32` | 32 |
223| CityHash64 | `cityhash64` | 64 |
224| CityHash128 | `cityhash128` | 128 |
225| FarmHash32 | `farmhash32` | 32 |
226| FarmHash64 | `farmhash64` | 64 |
227| FarmHash128 | `farmhash128` | 128 |
228| HighwayHash64 | `highwayhash64` | 64 |
229| HighwayHash128 | `highwayhash128` | 128 |
230| HighwayHash256 | `highwayhash256` | 256 |
231| SipHash-2-4 | `siphash-2-4` | 64 |
232| FNV-1 32 | `fnv1-32` | 32 |
233| FNV-1 64 | `fnv1-64` | 64 |
234| FNV-1a 32 | `fnv1a-32` | 32 |
235| FNV-1a 64 | `fnv1a-64` | 64 |
236| CRC-16/CCITT-FALSE | `crc16-ccitt-false` | 16 |
237| CRC-32/ISO-HDLC | `crc32` | 32 |
238| CRC-32C/Castagnoli | `crc32c` | 32 |
239| CRC-64/ECMA-182 | `crc64-ecma` | 64 |
240| CRC-64/XZ | `crc64-xz` | 64 |
241| Adler-32 | `adler32` | 32 |
243SHAKE128, SHAKE256, and KangarooTwelve allow an output length of **16–1024 bytes**. Their defaults are 32, 64, and 32 bytes respectively. BLAKE3 currently produces a fixed 256-bit digest.
245MD5 and SHA-1 are included only for legacy compatibility. xxHash, MurmurHash3, CityHash, FarmHash, HighwayHash, SipHash, FNV, CRC, and Adler-32 are not offered as cryptographic integrity proofs.
247#### Module API
249The Module API (formerly Plugin API) in the current source tree is `1.7.0`, the same contract as in `0.1.0`. Plugins requiring `^1.0.0` through `^1.6.0` remain compatible. Version 1.6 adds the `disks.read` and `disks.manage` permissions for the bundled Disk Manager; version 1.7 adds the Key Generator password generator (`keys.password`, `keys.copyPassword`) under the existing `keys.generate` permission. Version 1.4 adds the `system.memory.manage` permission for controlled swap and page-file changes. Version 1.5 adds `files.privileges`, optional sudo options for File Manager operations and the resumable `files.transfers.*` Transfer Manager API (existing `files.transfer` permission). Hash & Checksum is a bundled first-party plugin and uses only the narrow `local.hash` permission.
251Core owns every native file, directory, manifest, and export dialog. It gives the sandboxed plugin opaque, plugin-owned selection tokens rather than raw paths, rejects tokens belonging to another plugin, and keeps filesystem access out of the renderer. Hash jobs run in background tasks of the Rust Core, stream bounded chunks, support progress and cancellation, and verify stable file identity before returning results. Directory enumeration skips symlinks. Manifest verification rejects symlink escapes, traversal, absolute paths, drive paths, and UNC paths.
253Hashing is local-only: the plugin has no network, SSH, or SFTP hashing capability and does not upload file contents or digests. It supports individual files, batches, recursive directories, file comparison, and GNU, BSD, and SFV manifests across 49 algorithms. MD5 and SHA-1 are retained only for legacy compatibility; fast hashes and checksums are explicitly non-cryptographic.
255## Download and installation
257Use the [download links at the top of this README](#download) or the official [release catalog](https://sm.ch-j.eu/en/releases/).
259The [CH-J Server Manager release catalog](https://sm.ch-j.eu/en/releases/) lists the packages and channels that are actually available.
261Distribution notes:
263- macOS builds currently target Apple Silicon only. Test builds may be ad hoc signed and can require manual approval in **Privacy & Security** until Developer ID signing and notarization are enabled.
264- Windows builds use an NSIS installer; Windows production code signing is not yet confirmed.
265- Ubuntu/Debian builds use a `.deb` package. For an initial installation, use `sudo apt install ./<downloaded-file>.deb` if the graphical software center rejects the package as coming from an unknown publisher.
266- Back up important connection details before testing an alpha or beta update.
268### Ubuntu APT repository
270Ubuntu amd64 users can install and update through the signed [CH-J APT alpha repository](https://sm.ch-j.cz/apt/). See [key verification, repository setup and installation](https://sm.ch-j.eu/en/documentation/updates-and-gpg/). APT installations display operational guidance and require license acceptance when the application first starts and after updates. Use APT for updates to repository installations and avoid starting the application updater during an APT transaction.
272### First launch
274On first launch, choose the interface language, review the operational guidance, accept the license and acknowledge the data-loss and backup notice, then create a vault master password. Then add a profile under **Servers** and connect from **Terminal**.
276The vault password cannot be recovered. **Forgot password / reset vault** deletes encrypted server profiles, saved SSH passwords, trusted host fingerprints, and other encrypted data. Update settings and installed plugins are preserved.
278Private-key passphrases are intentionally not stored and must be entered for each connection. An SSH account password can optionally be stored in the encrypted vault.
280## Security, encryption, backups and license
282Update verification is performed in the Rust Core (`0.1.0`: the Electron main process) and fails closed. The application downloads the selected artifact and its detached `.asc` signature, checks the expected size and SHA-512 hash, and verifies the signature with the bundled CH-J public key. Immediately before installation, it re-checks the same private-cache files to reduce time-of-check/time-of-use risk. The renderer cannot supply an artifact path, public key, fingerprint, or a forged verification result.
284The long-term update trust anchor is the primary OpenPGP fingerprint:
286```text
2870D92 778A D8EC F85C 80E3 9248 48F2 433A D9CD F453
288```
290To verify a download manually, obtain the bundled [public key](https://sm.ch-j.eu/ch-j-signing-public.asc), check that its primary fingerprint matches the value above, and import it with `gpg --import ch-j-signing-public.asc`. Verify the downloaded manifest with `gpg --verify SHA512SUMS.asc SHA512SUMS`, then check the files with `shasum -a 512 -c SHA512SUMS` (macOS) or `sha512sum -c SHA512SUMS` (Linux). Windows PowerShell provides `Get-FileHash -Algorithm SHA512 <file>`. Each installer also has a detached `.asc` signature that can be checked with `gpg --verify <file>.asc <file>`.
292Valid signing subkeys may be rotated as long as they remain cryptographically bound to this primary key and are valid for signing. Revoked, expired, unknown, malformed, or otherwise invalid keys and signatures block installation.
294The update service is still undergoing distribution hardening. In particular, standard CA verification for the explicitly allowlisted update host is temporarily relaxed in test mode, macOS production signing/notarization is not yet enabled, and Windows production code signing is not yet confirmed. OpenPGP verification remains mandatory for application update artifacts, but alpha builds should not be treated as production releases.
296When connecting to a server for the first time, verify the displayed SSH host-key fingerprint through another trusted channel. If a known host key changes, verify both the old and new fingerprints before accepting the replacement.
298### Vault and platform security
300Optional Touch ID, Windows Hello (including PIN) and Ubuntu fingerprint unlock integrate with the existing encrypted Vault, with master-password fallback, localized settings, inactivity locking and optional focus locking. Windows and Linux provide convenience unlock; macOS seals the Vault key to a Touch ID-gated Secure Enclave key. **Locking disconnects SSH sessions and closes plugins.** Native hardware authentication still needs interactive verification. See [setup, dependencies, platform security differences and verification](https://sm.ch-j.eu/en/documentation/security-and-backups/).
302On macOS, `EHOSTUNREACH` for local SSH servers may require allowing **CH-J Server Manager** under **System Settings → Privacy & Security → Local Network**, then restarting the app. This build declares the usage reason and explains the error. Ubuntu packages include standard icon sizes and a matching desktop/window identity.
304### Backups and data loss
306Create and test appropriate backups of remote data and connection information before risky operations or alpha and beta updates. Verify that restoration works. The application does not guarantee that backups exist or are recoverable. Profile export transfers connection metadata only; it is not a backup of the encrypted Vault, saved credentials or remote files.
308### License and mandatory acceptance
310This edition of CH-J Server Manager is expressly distributed under the **CH-J Proprietary Software License, version 1.14** (October 11, 2026). See the [complete license](https://sm.ch-j.eu/en/license/). Commercial and non-commercial use are free of license fees indefinitely under its terms. Third-party materials retain their separate licenses and notices; this application license does not replace them.
312The license integration described here applies to newly built packages. Existing published downloads retain their original contents and licensing information.
314Website downloads start immediately with the Download button, without a confirmation page. License and operational guidance remain available on the website and in the app. Interactive Windows NSIS installation displays the guidance before the complete license and requires license acceptance. macOS DMG, Debian/Ubuntu and silent installation defer guidance and license acceptance to first launch; the application displays the guidance before license acceptance at first launch. Every platform requires per-user acceptance before using a new or updated build, including updates with the same version number. The required checkbox combines license consent with acknowledgment of data-loss risks, the need for appropriate backups before risky operations, and the fact that the application does not guarantee backup existence or recoverability. Declining exits the application. The acceptance record is local; no activation or reporting is required. See [license acceptance and packaging](https://sm.ch-j.eu/en/license/).
316The application bundles [documentation](https://sm.ch-j.eu/en/documentation/), including [Provozní bezpečnost a zálohování (česky)](https://sm.ch-j.cz/cs/source/?path=docs%2Fprovozni-bezpecnost-a-zalohovani.md), [Operational Safety and Backup Guidance (English)](https://sm.ch-j.eu/en/source/?path=docs%2Foperational-safety-and-backup-guidance.md) and [Betriebssicherheit und Datensicherung (Deutsch)](https://sm.ch-j.de/de/source/?path=docs%2Fbetriebssicherheit-und-datensicherung.md). Displaying these recommendations is mandatory before proceeding; following them remains optional. They are informational and non-binding, are not part of the license and do not require separate acceptance. The application displays them again before license acceptance after every update, or if the bundled guidance changes. They are available in the application under **Settings → Licenses and documentation** and on the [website license page](https://sm.ch-j.eu/en/license/).
318## Documentation and source catalog
320[Browse the application source](https://sm.ch-j.eu/en/source/) on the CH-J website, with directories, file views, line links and a complete source archive. Source availability does not grant rights beyond the [CH-J Proprietary Software License 1.14](https://sm.ch-j.eu/en/license/). The [GitHub repository](https://github.com/ch-j-code/CH-J-Servermanager) contains only this README; the source and release downloads are hosted on the CH-J website.
322- [Getting started and documentation](https://sm.ch-j.eu/en/documentation/)
323- [SSH, SFTP and remote editing](https://sm.ch-j.eu/en/documentation/ssh-and-sftp/)
324- [Server Diagnostics](https://sm.ch-j.eu/en/documentation/server-diagnostics/)
325- [Security and backups](https://sm.ch-j.eu/en/documentation/security-and-backups/)
326- [Updates, signatures and APT setup](https://sm.ch-j.eu/en/documentation/updates-and-gpg/)
327- [Desktop source catalog — Czech](https://sm.ch-j.cz/cs/source/)
328- [Desktop source catalog — English](https://sm.ch-j.eu/en/source/)
330The source browser provides directories, file views, line links and release archives. Development commands below apply to an authorised source archive downloaded from that catalog. This GitHub repository contains only `README.md`; application paths mentioned in this document refer to the downloaded sources.
332## CH-J Ecosystem — Desktop & Mobile
334Two independent applications share the CH-J server-management focus. Each connects directly to servers; neither requires the other application or a CH-J account. SM Mobile is a separate Flutter application for phones and tablets.
336| | CH-J Server Manager | SM Mobile |
337| --- | --- | --- |
338| Environment | Rust + Tauri 2 desktop application (`0.1.1`); Electron (`0.1.0`) | Flutter / Dart mobile application |
339| Platforms | Windows, macOS and Linux; current package targets are listed above | Android 11+ and iOS/iPadOS 15+; phone and tablet layouts |
340| Server access | Multiple SSH sessions, interactive terminals, SFTP and Monaco remote editing | One active SSH session, PTY terminal and SFTP browsing/transfers; no remote text editor |
341| Administration | Diagnostics, local Hash & Checksum and first-party management tools | Foreground Linux monitoring and IPv4/IPv6 DNS/TCP diagnostics; no desktop plugin system or local hashing tool |
342| Profile exchange | JSON version 1 and desktop CSV | Shared JSON version 1; no CSV |
343| Status | Beta `0.1.0`; alpha `0.1.1` | Development alpha `0.0.1`; Android packages and unsigned iOS development artifacts on the official website |
344| Project README | [Desktop on GitHub](https://github.com/ch-j-code/CH-J-Servermanager) | [SM Mobile on GitHub](https://github.com/ch-j-code/SM-Mobile) |
345| Official website | [Desktop](https://sm.ch-j.cz/cs/) | [Mobile](https://sm.ch-j.cz/cs/?edition=mobile) |
346| Source catalog | [Desktop sources](https://sm.ch-j.cz/cs/source/) | [Mobile sources](https://sm.ch-j.cz/cs/source/?edition=mobile) |
348The shared `chj-server-profiles` JSON format, version 1, transfers only profile name, host, username and port. Passwords, private keys, passphrases and host-key fingerprints are excluded. Configure authentication and verify host keys after import. The two Vault formats are separate and cannot be exchanged.
350SM Mobile's tablet layout is implemented, while physical iPad validation remains outstanding. Its diagnostics do not provide ICMP or traceroute, and monitoring stops outside the foreground. The website lists a signed Android APK for installation and an AAB for distribution tooling. The iOS IPA requires your own Apple signing and provisioning; the simulator ZIP cannot be installed on a phone. See the [mobile README](https://github.com/ch-j-code/SM-Mobile#readme) for capabilities, distribution and validation limits.
352## Official websites
354- [CH-J Server Manager — Czech](https://sm.ch-j.cz/cs/)
355- [CH-J Server Manager — German](https://sm.ch-j.de/de/)
356- [CH-J Server Manager — English](https://sm.ch-j.eu/en/)
357- [SM Mobile — official website](https://sm.ch-j.cz/cs/?edition=mobile)
358- [SM Mobile — downloads and build details](https://sm.ch-j.cz/cs/releases/?edition=mobile)
360## Project and development
362The desktop source archive contains a complete, self-contained application source tree. It can be copied into an otherwise empty working directory and used for dependency installation, testing, development startup, and supported platform builds without any sibling source projects.
364The application consists of a Rust Core (`src-tauri/`), a plain JavaScript user interface (`src/ui/`), a typed API layer (`src/api/`) and first-party modules (`src/modules/`). It communicates with an update service through its public HTTPS contract and supports independently distributed module packages through Module API 1.7. External services, module sources, and release tooling are not runtime, test, or build dependencies.
366### Development from the official sources
368Requirements:
370- Rust (stable) and Cargo;
371- Node.js 24 LTS and npm;
372- the [Tauri 2 prerequisites](https://v2.tauri.app/start/prerequisites/) for the host platform: Xcode Command Line Tools on macOS, Visual Studio Build Tools and WebView2 on Windows, WebKitGTK 4.1 development packages on Linux. Verifying a Windows installer also needs 7-Zip.
374Use an authorised copy of the supplied application sources and a separate `node_modules` installation on each operating system:
376```bash
377cd /path/to/supplied/app
378npm ci
379npm test
380npm run dev
381```
383Build on the target operating system with:
385```bash
386npm run build
387```
389The configured outputs are a macOS DMG (`arm64`), a Windows NSIS installer (`x64`), and a Debian package (`x64`), written to `src-tauri/target/release/bundle/`. The sources of the Electron version `0.1.0` remain available in the [source catalog](https://sm.ch-j.eu/en/source/).
391### Topics
393[#ssh](https://github.com/topics/ssh) · [#sftp](https://github.com/topics/sftp) · [#server-management](https://github.com/topics/server-management) · [#hash-calculator](https://github.com/topics/hash-calculator) · [#checksum](https://github.com/topics/checksum) · [#file-integrity](https://github.com/topics/file-integrity) · [#sha256](https://github.com/topics/sha256) · [#sha512](https://github.com/topics/sha512) · [#sha3](https://github.com/topics/sha3) · [#blake3](https://github.com/topics/blake3) · [#xxhash](https://github.com/topics/xxhash) · [#electron](https://github.com/topics/electron) · [#linux](https://github.com/topics/linux) · [#macos](https://github.com/topics/macos) · [#windows](https://github.com/topics/windows)
SHA-256969ab4f879d09fc38d530f8e0fa0d1d0ae7999fe147535954600e29f4962012a

CH-J Proprietary Software License 1.14 · Zdroje jsou zveřejněny pod CH-J Proprietary Software License 1.14. Jejich dostupnost nemění licenční podmínky ani neposkytuje další oprávnění.

SHA-256 archivu77380d4805485ffa4027fbe7858b5836f197a4aa9d52358a43e2d12d018744df
Soubory