/electerm

📻Terminal/ssh/serial port/sftp client(linux, mac, win)

Primary LanguageJavaScriptMIT LicenseMIT

electerm

GitHub version GitHub Actions license JavaScript Style Guide Get it from the Snap Store Get it from the Microsoft Store

Terminal/ssh/sftp client(linux, mac, win) based on electron/ssh2/node-pty/xterm/antd/subx and other libs.

Features

  • Works as a terminal/file manager or ssh/sftp client(similar to xshell)
  • Global hotkey to toggle window visibility (similar to guake, default is ctrl + 2)
  • Multi platform(linux, mac, win)
  • 🇺🇸 🇨🇳 🇧🇷 🇷🇺 🇪🇸 🇫🇷 🇹🇷 🇭🇰 🇯🇵 🇸🇦 Multi-language support(electerm-locales, contributions/fixes welcome)
  • Double click to directly edit (small) remote files.
  • Edit (small) local files with built-in editor.
  • Auth with publicKey + password.
  • Support Zmodem(rz, sz).
  • Support Trzsz(trz/tsz), similar to rz/sz, and compatible with tmux.
  • Transparent window(Mac, win).
  • Terminal background image.
  • Global/session proxy.
  • Quick commands
  • Sync bookmarks/themes/quick commands to github/gitee secret gist
  • Support serial Port(version > 1.21.8)
  • Quick input to one or all terminals.
  • Command line usage: check wiki

Download/install

# winget https://github.com/microsoft/winget-cli
winget install electerm

# scoop https://github.com/lukesampson/scoop
scoop bucket add dorado https://github.com/chawyehsu/dorado
scoop install dorado/electerm
  • Install from npm
npm i -g electerm

# after installation, it will immediately open for windows and linux,
# for macOS, it will open the drag to install panel

Upgrade

  • Auto upgrade: When a new version is released, you will get an upgrade notification after you start electerm again. You can then click the upgrade button to upgrade.
  • Download: Just download the latest edition, reinstall.
  • Npm: If you install from npm, just run npm i -g electerm again.
  • If use Snap or some other distribution system, these systems may provide upgrades.

Known issues

https://github.com/electerm/electerm/wiki/Know-issues

Troubleshoot

https://github.com/electerm/electerm/wiki/Troubleshoot

Discussion

Discussion board

Support

Without user feedback/suggestions/pull requests/language files, this project would not get this far.I would love to hear from you, please tell me what you think, submit an issue, send me an email, create/fix language files or create pull requests, all are welcome.

Dev

# tested in ubuntu16.04+/mac os 10.13+ only
# needs nodejs/npm, suggest using nvm to install nodejs/npm
# https://github.com/creationix/nvm
# with node 8.6+

git clone git@github.com:electerm/electerm.git
cd electerm
npm i

# start webpack dev server, requires port 5570
npm start

# in a separate terminal session run app
npm run app

# code format check
npm run lint

# code format fix
npm run fix

Test

npm run pre-test
cp .sample.env .env

# install playwright
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npm i -D playwright --no-save
# then edit .env, fill your test host/username/password
npm run test

Test build

# Tested only in ubuntu 16.04 x64+
# Install yarn first(to do yarn autoclean)
# See https://yarnpkg.com/en/docs/install

# Build linux only with -l
npm i
npm run pre-test
npm run release -l
# visit dist/

Use

Change log

Visit Releases.

License

MIT