mrkeyoor.com_
Sun 27 Sept 17:36 UTC
Dev Toolsevaluationupdated 27 Sept 2026

Submarine review

Submarine is a desktop and Android SSH client that combines a terminal, SFTP browser, port forwarding, folder mirroring, server inspection, Docker controls, and encrypted profile sync. It is aimed at people who currently switch among several remote-administration apps to manage the same machines.

Verdict

Our Submarine run installed 155 packages in 6 seconds and built in 18 seconds, but the repository offered no test target, so v0.3.8 is a promising client that still needs a careful local trial. Use it if its combined terminal, SFTP, tunnel, mirror, and Docker workflow replaces several tools for you. Wait if unsigned binaries, hosted-only sync, or ssh-agent integration are hard requirements.

We ran it

Lab card: what happened when we ran SubmarineScreenshot of Submarine (sinaxhpm.com)
Install✓ · 6s155 packages · 129 MB
Build✓ · 18s
Testsn/ano test script
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo197 files~37,533 lines of source · 5.3 MB · 1 CI workflows

Answers from our run

Does Submarine build from source?

Dependencies installed in 6 seconds (155 packages), and the build succeeded in 18 seconds. We cloned commit b621516 into a clean Debian container with 3 CPUs and no project-specific setup.

Does Submarine have tests you can run?

Not through a standard command: the project exposes no test script or target that our harness could run.

Does Submarine have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use Submarine?

Organizations that forbid unsigned desktop software: the README says current builds are unsigned and require bypassing Windows or macOS warnings.

What are the alternatives to Submarine?

Tabby, Electerm, mRemoteNG. Our Submarine run installed 155 packages in 6 seconds and built in 18 seconds, but the repository offered no test target, so v0.

Setup3/5Build passed quickly, but binaries are unsigned and source needs Rust
Docs5/5Detailed platform, security, feature, and source-build guidance
Community3/5358 stars with active issues and pull requests in September 2026
Maturity2/5v0.3.8 has no test target and current installers are unsigned

Who it’s for

Developers and sysadmins who want terminal, SFTP, tunnels, and remote Docker controls in one window.
People moving among Windows, macOS, Linux, and Android who want the same encrypted server profiles.
Users replacing a PuTTY and WinSCP pairing with a single native client.
Small teams willing to evaluate a young v0.x tool and validate it against their own SSH estate.

Who it’s NOT for

Organizations that forbid unsigned desktop software: the README says current builds are unsigned and require bypassing Windows or macOS warnings.
Users whose access depends on .ssh/config, ssh-agent, 1Password's agent, or Teleport-generated configuration: issue 2 reports that these paths cannot yet be reused.
Teams that require a self-hosted profile-sync server: issue 12 requests that option, while the documented sync uses the author's hosted endpoint.
iPhone and iPad users: the release supports Android, while iOS support is still an open request in issue 9.
Buyers who require an automated test suite before adopting an SSH client: our checkout exposed no test script or target and had no tests directory.

Setup reality

Our sandbox installed 155 npm packages in 6 seconds and used 129 MB on disk. The build succeeded in 18 seconds. There was no test script or target, so tests were skipped rather than counted as passing. Npm audit reported 0 known vulnerabilities.

Using Submarine requires SSH credentials for your own hosts. Optional profile sync uses a master password and the hosted api.sinaxhpm.com service; self-hosting that server is currently a feature request. Source builds need Node 20 or newer, stable Rust, and Tauri's platform prerequisites.

Published v0.3.8 desktop builds are unsigned. Windows can show SmartScreen, macOS may need a quarantine command, and Android installation requires sideloading. Android source builds also need an SDK, NDK 27, JDK 17, and a USB-connected device for the documented development flow.

Submarine puts 7 remote-admin jobs in one client

Submarine combines at least 7 jobs around one SSH profile: terminal access, SFTP, port forwarding, folder mirroring, server inspection, Docker control, and encrypted sync. Sessions can be split, pinned into a wall, or receive broadcast input. The appeal is easy to picture if one server currently means a terminal window, a separate file-transfer client, and another place to remember tunnels.

The scope goes beyond a prettier shell. Its SFTP view can edit remote files, the mirror compares both sides by size and content hash, and deleted remote files move into .submarine-trash/. Docker views cover containers, logs, statistics, resources, and interactive shells. That concentration saves context switching, but it also gives one desktop application broad power over production hosts. Trial it with a low-risk machine before importing an entire server list.

Version 0.3.8 installers are unsigned

The README says every current desktop build is unsigned. On Windows, SmartScreen can require the user to choose the extra run option. macOS may need an xattr command to remove quarantine. Android 8.0 and newer uses a release-page APK rather than the Play Store, so the user must allow installation from that source. Those are real adoption hurdles in managed workplaces.

Release v0.3.8 provides packages for Windows, macOS, several Linux formats, and Android. The desktop app uses a Rust and Tauri backend with a React and TypeScript interface. Building it yourself requires Node 20 or newer, stable Rust, and the operating system's Tauri prerequisites. Windows also needs Strawberry Perl for the vendored OpenSSL build, which makes source setup more involved than the downloadable binary path.

What happened when we ran it

Our sandbox installed Submarine at commit b621516 in 6 seconds. Npm added 155 packages and used 129 MB on disk. The checkout held 197 files, roughly 37,533 lines of source, and 5.3 MB before dependencies. The build succeeded in 18 seconds inside an unprivileged container with 3 CPUs and 8 GB of RAM.

There was no test script or target, so we skipped tests. That is different from a passing suite. Npm audit reported 0 known vulnerabilities across all listed severity levels. Our test method covered the Node install and available build command; it did not open an SSH session, exercise the Rust connection layer, validate cryptography, or install the unsigned desktop packages.

The repository had 1 CI workflow file, no Dockerfile, and no tests directory in our checkout. A Dockerfile is not expected for a native desktop client, but the missing automated test target matters because the app handles credentials, remote file writes, tunnels, and container controls. The 18-second build proves that this commit compiles through the available path. It does not prove those operations behave correctly on every supported platform.

Hosted sync is encrypted, while self-hosting is still requested

Submarine says profiles are encrypted locally with Argon2id and AES-256-GCM before optional sync uploads them. The documented service stores the encrypted blob at api.sinaxhpm.com, and the README says there is no registration or password recovery flow. Cloud sync is optional, so a user can keep profiles local and use the client offline.

A company may still care who operates the storage endpoint, even when it receives ciphertext. Issue 12, opened September 26, 2026, asks for a self-hostable sync server so profiles can move between office and home devices without relying on the default service. That option is a request, not a documented feature. Organizations with that rule can leave sync off, but then cross-device profile delivery becomes their own process.

Existing SSH identity workflows can block adoption

Issue 2 gives a concrete incompatibility: one user could not try Submarine because their hosts depend on .ssh/config, 1Password through ssh-agent, and Teleport-generated certificate settings. The open request asks the app to reuse that configuration. If your fleet relies on agents, certificates, proxy rules, or generated host blocks, test one representative connection before moving saved profiles.

Platform gaps are also explicit. Android gets the shared vault, terminal, SFTP, and tunnels, but folder mirroring stays desktop-only. Issue 9 asks about iOS support, and issue 10 requests smartcard access through agents. These requests were open on September 26. Submarine fits password and file-key workflows described in its README better than enterprise identity setups that already depend on external agents or hardware.

September activity is brisk for a young project

GitHub listed 358 stars and 20 open issues and pull requests when fetched. The repository's last code push and v0.3.8 release both landed on August 22, 2026, while issues and pull requests were updated through September 26. That combination shows active users and current maintainer work, although the v0.x version and open integration requests still point to an early product.

Submarine earns a trial when its 7-in-1 workflow replaces real daily friction. Start with a disposable host, verify file transfers and key handling, and decide whether unsigned distribution fits your policy. The missing test target is the reason to stage that trial carefully. If ssh-agent reuse or self-hosted sync is non-negotiable, the open issues already answer the buying question: wait or choose another client.

Alternatives

ProjectWhat it isPick it when
Tabby gh↗A cross-platform terminal with SSH, serial, and plugin support.pick this instead when terminal sessions and extensibility matter more than folder mirroring or Docker controls.
ElectermA cross-platform terminal and SSH/SFTP client with a longer release history.pick this instead when you want an established SSH and file-transfer desktop app without Submarine's hosted profile-sync model.
mRemoteNGA Windows connection manager covering SSH and several remote desktop protocols.pick this instead when Windows is your only desktop and multi-protocol remote access matters more than mobile support.

What people are saying

  1. [github-trending] SinaXhpm/Submarine

Sources

  1. Submarine repository and README
  2. Submarine v0.3.8 release
  3. SSH config and agent support request
  4. Self-hosted sync request
  5. iOS support request
  6. Smartcard support request

More dev tools reviews

navi · exodium · Madeira · mitmproxy · fx · qmk_firmware · the whole board →