/electerm

📻Terminal/ssh/telnet/serialport/sftp client(linux, mac, win)

Primary LanguageJavaScriptMIT LicenseMIT

中文

electerm Tweet

GitHub version Build Status license JavaScript Style Guide Get it from the Snap Store Get it from the Microsoft Store GitHub Sponsors

Open-sourced terminal/ssh/telnet/serialport/sftp client(linux, mac, win).

For experienced developers, you may try the web app version running in browser(including mobile device): electerm-web

Online demo: https://electerm-demo.html5beta.com

Features

  • Works as a terminal/file manager or ssh/telnet/serialport/sftp client
  • 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.
  • Auth with publicKey + password.
  • Support Zmodem(rz, sz).
  • Support ssh tunnel.
  • Support Trzsz(trz/tsz), similar to rz/sz, and compatible with tmux.
  • Transparent window(Mac, win).
  • Terminal background image.
  • Global/session proxy.
  • Quick commands
  • UI/terminal theme
  • Sync bookmarks/themes/quick commands to github/gitee secret gist
  • Quick input to one or all terminals.
  • Command line usage: check wiki

Download

Install

  • For Mac user: brew install --cask electerm
  • With snap: sudo snap install electerm --classic
  • For some Linux distribution, you can find it from OS default App store(Ubuntu, Deepin, Mint...).
  • For some linux OS, the rpm, deb, or snap release may not work, you can try the tar.gz release.
  • For Windows users, you can install it from windows store, command-line installer winget and scoop is also recommended:
# 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.

Themes

Known issues

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

Troubleshoot

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

Discussion

Discussion board

Support

Would love to hear from you, please tell me what you think, submit an issue, Start a new discussion, create/fix language files or create pull requests, all welcome.

Sponsor this project

github sponsor

https://github.com/sponsors/electerm

kofi

https://ko-fi.com/zhaoxudong

wechat donate

wechat donate

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 nodejs 18.x

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 prepare-build
npm run prepare-test
cp .sample.env .env

# edit .env, fill your test host/username/password, may only works in mac OS
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 prepare-build
./node_modules/.bin/electron-builder --linux tar.gz
# or replace tar.gz to rpm/deb/AppImage
# check dist/ folder

# build for linux arm/
./node_modules/.bin/electron-builder --linux --arm64

Use

Change log

Visit Releases.

License

MIT