English | 中文
Remote Browser is an Electron desktop app that provisions Chromium, Weston, and noVNC on a remote Linux server. Enter an SSH server and a target URL, review the installation plan, and open the graphical browser through a secure SSH tunnel. VNC credentials are generated and filled automatically.
- Install or update the remote browser service with one click
- Switch between English and Chinese, with the language preference remembered locally
- Detect the Linux distribution without modifying it, then show packages, repository changes, and system operations for confirmation
- Authenticate with an SSH password, keyboard-interactive login, private key, private-key passphrase, or SSH Agent
- Use a separate sudo password when required
- Generate, encrypt, store, display, and automatically fill VNC credentials
- Remember and verify SSH host fingerprints
- Bind VNC, noVNC, and Chromium debugging ports only to remote
127.0.0.1 - Choose an available local tunnel port automatically by default, with an optional fixed-port mode
- Run managed sessions as the
remote-browsercredential user and stop them automatically with the SSH connection - Build desktop packages for macOS, Windows, and Linux
Automatic installation is selected by distribution and version instead of guessing from the package manager alone. Remote Browser does not require or create a persistent systemd service.
| Distribution | Status | Repository handling |
|---|---|---|
| AlmaLinux and Rocky Linux 8/9/10 | Supported | Enables PowerTools on EL 8 or CRB on EL 9/10, then installs EPEL |
| CentOS Stream 9/10 | Supported | Enables CRB and installs EPEL |
| Fedora | Supported | Uses configured official repositories |
| RHEL 8/9/10 | Conditional | CodeReady Builder and EPEL must be configured beforehand; the app does not modify Red Hat subscriptions |
Debian, Ubuntu, and apt-get derivatives |
Supported | Uses configured apt repositories |
| openSUSE Tumbleweed | Supported | Uses configured repositories |
| CentOS 8, openSUSE Leap, Arch Linux, Amazon Linux, Oracle Linux, and older yum-only systems | Not automatically installed | Detection explains the unsupported version or repository requirement without modifying the system |
Configured repositories must provide Weston, noVNC, websockify, and Chromium. Package availability can change on rolling distributions, so review the confirmation dialog before every installation.
- Enter the server address, SSH user, ports, and target URL.
- Enter an SSH password or choose a private key. If both are empty, the app tries a default private key and SSH Agent.
- For non-root users, enter a sudo password when required.
- Click Apply and open. The app first performs a read-only inspection.
- Review repository changes, packages, system users, services, and port operations.
- Click Install and open to authorize sudo-backed remote changes. If the packages are already present, click Installed — configure and start. This skips only package installation and still configures the managed user, launcher, and VNC credentials. The app remembers managed servers and reuses their stored VNC credentials.
The first run uses root/sudo to install packages, create the remote-browser credential user, and install a passwordless entry point restricted to the fixed session launcher. Choosing Installed skips only the package steps; the remaining managed setup is identical. Every setup generates a new VNC password and replaces both the remote and locally stored credentials. Later runs need no sudo password and automatically fill the managed credentials. Sessions tie their lifetime to SSH stdin EOF, so disconnecting, losing SSH, or quitting the app stops the remote processes. If the remote system is reinstalled, use Reset install to clear the local installed state, old VNC credentials, and saved connection settings, restoring the default form.
- SSH passwords, sudo passwords, and private-key passphrases are held only in memory for the current connection and are not written to the configuration file.
- VNC credentials are encrypted with Electron
safeStorage. If secure storage is unavailable, credentials remain in memory only for the current session. - After accepting a host fingerprint for the first time, subsequent connections verify it.
- VNC and noVNC do not listen on public interfaces; desktop access is available only through the SSH tunnel.
.gitignoreexcludes build artifacts, environment files, and local credential files.
See SECURITY.md for more information.
Node.js 22 or newer is required.
npm ci
npm run check
npm startOpening src/renderer/index.html directly in a regular browser only previews the interface. SSH features require Electron.
npm run dist:mac
npm run dist:win
npm run dist:linuxPackages are written to release/. Building each package on its target operating system is recommended.

