Commit Graph
100 Commits
Author SHA1 Message Date
redtea 7e4daeda4c feat: file manager on SSH hosts through a machine - open from the plus menu 2026-10-15 21:32:18 +03:00
redtea 2859e69abe feat: agent keeps SSH file sessions and runs file operations on the host by commands 2026-10-15 21:26:11 +03:00
redtea f5d6bd30e8 feat: file manager as a workspace pane, side by side with terminals; zip and delete of the selection as icons 2026-10-15 21:24:10 +03:00
redtea 012c0af7f9 feat: workspace lives in the terminal view and keeps its sessions across pages; terminal panes split out 2026-10-15 20:10:28 +03:00
redtea 113c63fd1b feat: one-page panel - shell with Машины, Терминал and Настройки, pages as fragments, forms sent in place 2026-10-15 20:05:20 +03:00
redtea 7b9daa524e feat: workspace helpers - quoting paths, what a dropped file does, with node tests 2026-10-15 20:00:26 +03:00
redtea 0ada0899cf docs: 0.2.0 workspace implementation plan 2026-10-15 19:58:32 +03:00
redtea 8e2028e7f9 docs: workspace design approved, version 0.2.0 2026-10-15 19:52:43 +03:00
redtea 698bc68f99 docs: 0.1.3 workspace design - one-page shell, tabs with terminal and file panes (machines and SSH hosts), drag and drop, machine dialogs 2026-10-15 19:51:02 +03:00
redtea 0fa3de757c feat: edit SQLite databases in the file manager - the agent opens them through SQLite: values by a click, rows added and deleted, an SQL tab; changes go to the audit log 2026-10-15 16:50:56 +03:00
redtea 0279c1d887 fix: corner plus also slides 6 px left over a split tab 2026-10-15 16:42:27 +03:00
redtea 0ccac0bc82 fix: scrollbars darker 2026-10-15 16:38:23 +03:00
redtea e5a45b872a fix: scrollbars more transparent 2026-10-15 16:35:38 +03:00
redtea 9e684605ef fix: terminal scrollbar centred between the plus and the frame 2026-10-15 16:34:39 +03:00
redtea 13897c7478 fix: terminal scrollbar 2 px further left again 2026-10-15 16:34:01 +03:00
redtea 4d2cfe8244 fix: terminal scrollbar 2 px further left 2026-10-15 16:33:06 +03:00
redtea 25ffa60d09 feat: Mac-like scrollbars - thin, no track, shown while scrolling or at the edge and fading out, none when there is nothing to scroll; a lone terminal's bar sits by the frame, right of the plus 2026-10-15 16:32:51 +03:00
redtea baee90b564 fix: terminal corner plus moves left and down only on Windows, clear of its wide scrollbar 2026-10-15 11:47:34 +03:00
redtea 79828e3f8a feat: installer fetched from the direct address sets it as the agent's own with the main one as fallback (and downloads from it); agents fall back to whichever address is not theirs; (direct) beside the connection status 2026-10-15 11:34:58 +03:00
redtea 021da93229 feat: user roles - admins and users limited to the machines given to them, user editor with machines, password sign-in and its lock; direct address without Cloudflare as the agents' fallback and in the installer; version 0.1.2 2026-10-15 10:56:19 +03:00
redtea 36dc12b69d feat: terminal copy and paste by keys off a Mac - Ctrl+C copies a selection (interrupts without one), Ctrl+Shift+C copies and stays from the browser, Ctrl+V and Ctrl+Shift+V paste 2026-10-15 10:45:58 +03:00
redtea 1297ab36d0 fix: transfer dialog keeps its body and shows a spinner and progress while sending; LPRA in the header leads to the machines; no settings link on the settings page; corner plus clear of the scrollbar 2026-10-15 10:44:10 +03:00
redtea fd382d6313 feat: PIN lock - logout left of zero, erase and logout in a muted red 2026-10-15 10:41:22 +03:00
redtea fc488717d3 feat: login - passkey button under the password form, the sign-in button full width 2026-10-15 10:39:00 +03:00
redtea dbb46173a3 feat: dialogs open and close smoothly, the backdrop fading with them 2026-10-15 10:38:02 +03:00
redtea b47e824692 fix: quick reconnect after sleep or a network outage - the tunnel notices a dead connection, retries every 5 s at most, the WebSocket returns as soon as the server answers; version 0.1.1 2026-10-15 00:07:32 +03:00
redtea 5eca9ca215 fix: agent update runs as root when it can (sudo without a password otherwise), checks the download, restarts reliably and reports its result; one-colour file icons; zip and delete on one line on phones; PIN buttons alike; no key fingerprint in the SSH status; corner plus clears split panes 2026-10-14 23:54:24 +03:00
redtea 467bd3cb4f docs: README - SSH terminal, sending to other machines, PIN, passkeys, WebSocket transport, Cloudflare and nginx notes 2026-10-14 21:30:39 +03:00
redtea 18d6684c55 feat: send or move files and folders to another machine or an SSH host from the move dialog, streamed as tar with progress, speed and cancel; same conflict rules as a local move 2026-10-14 21:29:25 +03:00
redtea 1a38c2ac18 feat: terminal tabs a little wider by default 2026-10-14 21:20:37 +03:00
redtea 5a4dc596d5 feat: SSH terminal - the agent connects by SSH to another host (password, key file or its own keys) and the shell opens in a tab with the connection's progress shown; host keys trusted on first use, a changed one refused 2026-10-14 21:20:18 +03:00
redtea 5a204ae9bb feat: a device can skip the PIN for 5, 15, 30 or 60 minutes after it was entered (off by default, this browser only) 2026-10-14 21:13:50 +03:00
redtea 119b524825 feat: optional 4-digit PIN asked in every new tab (not on reload), on-screen keypad for phones; set, change or remove it in the account; five misses sign out 2026-10-14 21:12:09 +03:00
redtea 29353e5e6a feat: install code of 3 to 24 letters and digits with a button to make a new one; guesses are limited per address 2026-10-14 21:07:36 +03:00
redtea 47f1b2e55b feat: the browser terminal on a WebSocket too, long polls when it does not connect or drops 2026-10-14 21:06:32 +03:00
redtea 73bb720ec6 feat: agents connect by WebSocket, falling back to long polling and trying again each minute; auto, ws or lp per machine (0.1.0) 2026-10-14 21:04:13 +03:00
redtea 6dd1120a41 feat: the password is turned off by hand in the account, with a passkey in place; password change; tabs sized by their titles 2026-10-14 20:46:35 +03:00
redtea 67222e2e05 feat: terminal tabs - several machines at once, up to four terminals split in a tab by drag and drop, resizable, renamable; the top bar keeps its status in sight 2026-10-14 20:42:41 +03:00
redtea e7b5d28470 feat: sign in with passkeys, no password once an account has one; an account button and dialog in place of the sign-out button 2026-10-14 20:33:31 +03:00
redtea d2d6fe0100 fix: the copy menu shows as soon as text is selected, a little higher above the extra keys 2026-10-14 20:27:21 +03:00
redtea e983fc179a feat: move or copy dialog with folder suggestions and a rule for what is already there 2026-10-14 20:25:59 +03:00
redtea 89d5bfd3ab feat: copy buttons for the install commands, icons on the file bar buttons; the path title back on the left, the upload figures sliding, dialogs focused without a ring 2026-10-14 20:12:03 +03:00
redtea 55c37a0097 fix: the spinner by the path takes room only while busy, opening and closing smoothly 2026-10-14 20:03:03 +03:00
redtea cefdae267b fix: the spinner by the path takes only its own width 2026-10-14 19:53:42 +03:00
redtea 44e7137d86 fix: the spinner by the path keeps its place, so the path field does not jump 2026-10-14 19:51:34 +03:00
redtea 10ffa393ca fix: a closed terminal hangs its shell up instead of killing it, so the history is saved; idle shells end with their session, and on agent stop 2026-10-14 19:50:50 +03:00
redtea 114c6fc530 fix: static files linked with their content hash, so a release is never shadowed by a cached copy (Cloudflare kept the old CSS) 2026-10-14 19:40:31 +03:00
redtea 0aa066fd01 fix: a smaller frame for the properties button in the path field 2026-10-14 19:37:37 +03:00
redtea 21436d5c73 feat: the folder properties button sits inside the path field 2026-10-14 19:37:25 +03:00
redtea 65359f5497 feat: file and folder properties - mode, owner and group, applied to a folder's contents too (0.0.8) 2026-10-14 19:31:25 +03:00
redtea 8eb2bbd35d feat: close buttons as a red cross in a square; static files revalidated by content, so a release reaches the browser at once 2026-10-14 19:24:12 +03:00
redtea 55db8f03b3 chore: keep the version at 0.0.7 2026-10-14 19:07:29 +03:00
redtea e9a845a6ea feat: files go in 4 MB pieces, several at once and each retried on its own, so they pass a proxy like Cloudflare and survive a bad link (0.0.8) 2026-10-14 19:06:59 +03:00
redtea 23e382bf7f fix: the terminal opens in the user's home directory, not in / 2026-10-14 18:53:07 +03:00
redtea 438b20dae0 chore: log where and after how many bytes a file transfer breaks 2026-10-14 18:49:07 +03:00
redtea 19f8b5291e fix: no arrow on the sorted column 2026-10-14 18:46:56 +03:00
redtea c911143eb2 feat: SQLite preview read straight from the file, and sorting of the file table by column, kept per folder 2026-10-14 18:46:32 +03:00
redtea 1a90af7800 feat: a spinner on the save button while a file saves 2026-10-14 18:36:48 +03:00
redtea 92c9616826 feat: toasts show over the file viewer; icon buttons in the terminal's copy menu 2026-10-14 18:31:45 +03:00
redtea 2db44e53f7 feat: red text and border on every close button 2026-10-14 16:15:03 +03:00
redtea 68ede6ab25 feat: previews of PDF, Word, spreadsheets, CSV and HTML in the file manager; the find bar's buttons back in one row 2026-10-14 16:09:02 +03:00
redtea d448c1e3a4 fix: find and replace fields of one width, a red close button 2026-10-14 16:01:59 +03:00
redtea 3d6b04e78a fix: binary editing only for binary files and the ones shown as a preview 2026-10-14 16:00:20 +03:00
redtea e1f5595afc feat: files up to 512 MB as streams, a code editor with highlighting and find/replace, media preview, hex editing; touch selection in the terminal (0.0.7) 2026-10-14 15:52:38 +03:00
redtea 3e46116a9b feat: upload progress by the file manager spinner, and a list of the uploads behind it 2026-10-14 15:28:19 +03:00
redtea 10b8995041 feat: rename a file in place from its row in the file manager 2026-10-14 15:25:50 +03:00
redtea 225b7ecfcc fix: terminal input reaches the shell in the order it was typed 2026-10-14 15:18:14 +03:00
redtea cb2673d941 Revert "feat: DEL in place of PGDN among the terminal's extra keys"
This reverts commit cf855fdc23.
2026-10-14 14:59:18 +03:00
redtea cf855fdc23 feat: DEL in place of PGDN among the terminal's extra keys 2026-10-14 14:58:06 +03:00
redtea d456ffe757 feat: phone layout for the panel, and Termux-style extra keys in the terminal 2026-10-14 14:43:06 +03:00
redtea 81a2c96e0b fix: centre the ufw switch under the create button 2026-10-13 23:23:03 +03:00
redtea e0dc15740d feat: the ufw switch of a new forward rule goes under the button 2026-10-13 23:22:07 +03:00
redtea fbd8f30de3 feat: the new forward rule form on one line, with short type names 2026-10-13 23:18:49 +03:00
redtea 67c02ad6b4 chore: keep the version at 0.0.6 2026-10-13 23:13:15 +03:00
redtea 5155bc36cd feat: measure each direction of the speed test for 7 s (0.0.7) 2026-10-13 23:12:30 +03:00
redtea ab8751d436 feat: live reading during the speed test, and a 15 s limit that keeps what was measured 2026-10-13 23:06:56 +03:00
redtea 6441b4329d fix: don't let a slow browser link time out the relayed speed test 2026-10-13 22:49:19 +03:00
redtea 189050b2b6 fix: end the browser speed test feed without a 410 or 502 2026-10-13 22:33:42 +03:00
redtea fd75f324b8 fix: keep the speed results hidden until there is a measurement 2026-10-13 21:02:39 +03:00
redteaandClaude Opus 5.5 789e1da93b feat: open a port in ufw by hand from the panel settings
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:42:09 +03:00
redteaandClaude Opus 5.5 87921a1381 feat: speed test through the browser, client - panel - browser (0.0.6)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:31:41 +03:00
redteaandClaude Opus 5.5 b51363bf72 feat: optional label on a forward rule
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:31:41 +03:00
redteaandClaude Opus 5.5 201d63ee1e feat: open the file manager in the user's home directory
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 20:31:41 +03:00
redtea 5e5718b397 chore: call the machine edit link "Изменить" in page headers 2026-10-13 19:06:49 +03:00
redtea c675bb0ec7 feat: status and settings links in the header of every machine page 2026-10-13 19:06:11 +03:00
redtea a02fdc01b0 feat: show the name of an icon button on hover 2026-10-13 19:04:57 +03:00
redtea 8ba2dd1f1b chore: name the actions column, drop hardcoded tunnel port and 2 KB mentions
The tunnel port default lives only in tunnel.DefaultPort; docs and
comments refer to "the tunnel port". The file manager hint no longer
states an edit limit that was not the real one.
2026-10-13 19:04:22 +03:00
redtea 171e14176a fix: small fixes 2026-10-13 19:00:50 +03:00
redtea 86cb0226ab feat: machine status page, speed test, live presence, forwards without ufw (0.0.5)
Status page per machine: CPU load, RAM and disk of the client, sampled
by the agent only while the page is open and visible (one reading
serves every open tab), plus a button that has the agent measure its
link to the host: ping, down and up.

Online/offline now comes from the control polls the hub holds open, so
a dropped agent shows offline at once instead of 45 s later, and the
dashboard keeps the status column live.

A forward rule can be created "without ufw": the panel opens nothing in
ufw for it and so revokes nothing when it is deleted. The checkbox is
shown only while the ufw integration is on.

Dashboard row actions are icons; a status action is added.
2026-10-13 18:56:15 +03:00
redtea 7f4d645f19 fix: keep the machine row buttons on one line 2026-10-13 16:57:54 +03:00
redtea f3cb7701f2 fix: remove an agent's forward rules with the agent (0.0.4)
Deleting a machine left its forward rules behind: the host ports stayed
bound and "busy" with no page to remove them from. The rules, their
listeners and ufw rules now go with the agent, and rules orphaned by
older versions are dropped on start.

A host port equal to the direct tunnel port gets its own message.
2026-10-13 16:30:53 +03:00
redtea 328ade651c fix: fix ufw 2026-10-13 16:16:31 +03:00
redtea 5e6e0b8a3a chore: run the server unit as root from /opt/lpra
The panel's ufw integration needs root; the database now lives next to
the binary in /opt/lpra.
2026-10-13 14:55:37 +03:00
redtea bcfe909aaa feat: tunnel host and port in the panel settings, ufw kept in sync
The direct tunnel port (8446 by default) and the host agents dial for
it can be set in Settings. The server moves its listeners at once and
agents pick the address up from the panel: on connect and with every
poll, unless TUNNEL_ADDR / TUNNEL_PORT pin it locally.

ufw: run with a C locale (the output is translated), do not adopt rules
that existed before the panel, skip loopback-only listeners, re-open
what saved forwards need on start and when the integration is turned
on, move the shared tunnel rule with the port and drop it when no
direct forward is left. The last ufw error is shown in Settings.

The forwards page shows the real tunnel and panel ports.
2026-10-13 14:50:50 +03:00
redtea 08fc2d79a8 fix: take the file edit limit in the panel from the agent's read cap
The limit was repeated in the page; a file of exactly the cap is read
in full, so it is editable too.
2026-10-13 14:50:49 +03:00
redtea 7cb9da8569 chore: take the version from VERSION.txt only (0.0.3)
VERSION.txt is embedded into the server and the agent, so a plain
go build reports the real version and build.sh no longer injects it.
2026-10-13 14:50:49 +03:00
redtea 93673d3570 style: match the user select to the panel buttons 2026-10-13 01:43:24 +03:00
redtea 3dde07f403 feat: terminal as a chosen OS user, create users from the panel (0.0.2)
- agent reports the OS user it runs as (enroll + poll header)
- per-machine terminal user on the edit page; defaults to the agent's own user (root on Linux)
- create a new user from the panel: name, password, optional sudo group
- show the reason in the terminal when a shell fails to start
- bump version to 0.0.2
2026-10-13 01:28:57 +03:00
redtea 6e10b9f60b chore: Remove .DS_Store files 2026-10-13 00:41:31 +03:00
redtea efb311d447 chore: update gitignore 2026-10-13 00:36:19 +03:00