beammeup is a local CLI cockpit that SSHes into your server and sets up a browser-usable proxy exit.
live: beammeup.pw
beammeup is install-only. there is no hosted control plane.
you run beammeup on your own machine, and it configures services on your server over SSH.
A ship is a local saved profile in:
~/.beammeup/ships/*.ship
A ship stores:
- target host/IP
- SSH user/port
- default protocol (
httporsocks5) - HTTP mode (
autoorsidecar) - proxy port and firewall preference
A ship never stores SSH passwords.
A hangar is the remote beammeup-managed setup on that ship's server.
A hangar can include:
- SOCKS5 proxy (microsocks)
- HTTP proxy (managed squid or isolated sidecar)
- remote metadata at
/etc/beammeup/hangar.json
wizard terms:
destroy hangar= remove beammeup-managed remote configabandon ship= remove local.shipfile only
curl -fsSL https://beammeup.pw/install.sh | bashthen run:
beammeupbeammeupbeammeup opens a persistent menu loop:
- if you have no ships, onboarding creates one
- select ship -> ship cockpit
- launch/hangar/edit/abandon actions
- all screens support back navigation
password behavior:
- prompted once per ship per app session
- cached in memory only
- never written to disk
- lightweight and reliable
- best when your client supports SOCKS5 auth properly
for browser-extension compatibility.
HTTP modes:
auto(default): beammeup may manage/etc/squid/squid.confwhen safesidecar: isolated HTTP service that does not overwrite existing system squid config
if beammeup detects an existing non-beammeup squid config, it does not overwrite it.
in TUI, you get a conflict wizard with options to:
- switch to SOCKS5 fallback
- create isolated HTTP sidecar
- cancel
beammeup keeps scriptable flags for automation.
beammeup --list-shipsbeammeup \
--host example.invalid \
--ssh-user root \
--protocol socks5 \
--proxy-port 18080 \
--action configurebeammeup \
--host example.invalid \
--ssh-user root \
--protocol http \
--http-mode sidecar \
--proxy-port 18181 \
--action configurebeammeup --ship myship --show-inventorybeammeup --ship myship --action destroy --yesbeammeup --self-updateor auto-update before run:
beammeup --auto-updatecurrently focused on Debian/Ubuntu with:
- root SSH access
apt-getsystemd
beammeup records and verifies SSH host keys in:
~/.beammeup/known_hosts
first connection is TOFU (trust-on-first-use). if a host key changes (rebuild / MITM), beammeup will refuse to connect.
override:
--strict-host-key(do not auto-trust new keys)--insecure-ignore-host-key(unsafe, disables host key verification)--ssh-known-hosts <path>orBEAMMEUP_SSH_KNOWN_HOSTS(custom known_hosts path)
install.sh and beammeup --self-update verify downloaded release archives using the SHA256SUMS file published with each release.
build release archives:
scripts/build-release.shartifacts:
dist/beammeup_darwin_arm64.tar.gzdist/beammeup_darwin_amd64.tar.gzdist/beammeup_linux_amd64.tar.gzdist/beammeup_linux_arm64.tar.gzdist/version.txt
mit