Skip to content

season-framework/Remote-Management-Tool

Repository files navigation

SEASON Remote Management Tool

Remote Management logo

An Electron desktop app for managing SSH configs, public key rollout, remote terminals, remote files, repeatable operation macros, and Codex Remote connections from one workspace.

Remote Management Tool helps developers and operators manage many SSH servers without constantly hand-editing ~/.ssh/config. It is more than an SSH launcher: it brings together day-to-day remote operations, safer SSH configuration workflows, and project instructions that Codex can use to understand and maintain the codebase.

When To Use It

  • You manage many SSH hosts and want aliases, IPs, users, ports, ProxyJump routes, and tags in one place.
  • You do not want to repeat terminal commands for connection checks, public key registration, remote file access, and SSH sessions.
  • You upload files or folders and then run the same remote shell scripts for deployment, inspection, or maintenance.
  • You want Codex to work with clear architecture, security, release, and development rules already documented in the repository.

Key Features

SSH Host Management

  • Lists, searches, and filters Host blocks from ~/.ssh/config.
  • Adds, edits, deletes, and drag-sorts hosts.
  • Edits HostName, User, Port, IdentityFile, ProxyJump, ForwardAgent, ServerAliveInterval, and StrictHostKeyChecking.
  • Preserves wildcard hosts and complex raw config text where possible.
  • Checks all host connection statuses and provides a fix action for known_hosts conflicts.

Key And Connection Management

  • Shows local id_rsa / id_rsa.pub status.
  • Generates, regenerates, and deletes RSA keys.
  • Registers the local id_rsa.pub in remote ~/.ssh/authorized_keys without duplicating entries.
  • Lists and deletes remote authorized_keys entries.
  • Supports connection tests and macro runs for hosts that require a temporary password.

Remote Operations Workspace

  • Runs host-level connection tests, macros, and stdin input from an execution panel.
  • Provides an xterm-based remote terminal tab.
  • Browses remote files with list, upload, download, delete, and drag-move actions.
  • Opens Markdown previews, Monaco-powered text editing, and image previews.
  • Keeps terminal state and execution logs per host.

Macro Automation

  • Stores global macros and host-specific macros.
  • Uploads files or folders before running a remote shell script.
  • Logs each execution step with command, exit code, stdout, stderr, and duration.
  • Supports default macros and macro import/export.
  • Provides full backup/restore and global-macro-only backup/restore flows.

Codex Integration

This repository is designed so Codex can understand the project quickly and work inside its safety boundaries.

  • The app includes a Codex Remote connections button in Settings. It enables [features] remote_connections = true in the current user's ~/.codex/config.toml.
  • codex-instructions/ contains the first-read project rules for Codex, split by feature and risk area.
  • Security-sensitive areas such as SSH config handling, key material, and remote command execution are documented with clear Electron main/preload/renderer boundaries.
  • Viewer behavior, macro execution, release packaging, and devlog rules are separated so Codex can make focused changes without rediscovering the project shape.

Start with codex-instructions/00-index.md when using Codex on this project.

Tech Stack

  • Electron
  • Angular
  • Tailwind CSS
  • ssh2
  • xterm.js
  • Monaco Editor
  • electron-builder

Getting Started

Install dependencies:

npm install

Run the desktop app in development mode:

npm run electron:dev

Preview the built Angular app in Electron:

npm run electron:preview

Build Angular only:

npm run build

Create installer artifacts:

npm run dist

Platform-specific packaging scripts are also available:

npm run dist:mac
npm run dist:win

Data Locations

  • SSH config: ~/.ssh/config
  • SSH key: ~/.ssh/id_rsa, ~/.ssh/id_rsa.pub
  • Macro data: macros.json under Electron's userData path
  • Codex config: ~/.codex/config.toml

Security Principles

  • The renderer does not access Node.js APIs directly; it only calls limited APIs exposed through preload.
  • SSH config saves preserve comments and raw text as much as possible.
  • Private key contents are never displayed in the UI or logs.
  • Passwords are not stored and are only used for the current request.
  • Remote command output is shown only in the local log panel and is not sent elsewhere.
  • The macro store is not a secret vault. Avoid storing tokens, passwords, private keys, or other sensitive values in macros.

Project Documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors