base on ๐ปTerminal/ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice client(linux, mac, win) <h1 align="center" style="padding-top: 60px;padding-bottom: 40px;">
<a href="https://electerm.html5beta.com">
<img src="https://github.com/electerm/electerm-resource/raw/master/static/images/electerm.png", alt="" />
</a>
</h1>
# electerm [](https://twitter.com/intent/tweet?text=Open%20sourced%20terminal%2Fssh%2Fsftp%20client(linux%2C%20mac%2C%20win)&url=https%3A%2F%2Fgithub.com%2Felecterm%2Felecterm&hashtags=electerm,ssh,terminal,sftp)
[](https://github.com/electerm/electerm/releases)
[](https://github.com/electerm/electerm/actions)
[](https://github.com/electerm/electerm/blob/master/LICENSE)
[](https://standardjs.com)
[](https://snapcraft.io/electerm)
[](https://www.microsoft.com/store/apps/9NCN7272GTFF)
[](https://electerm-repos.html5beta.com/deb)
[](https://github.com/sponsors/electerm)
[](https://github.com/tylerlong/manate)
[](README.md) [](README_cn.md)
[](https://www.digitalocean.com/?refcode=c10bcb28b846&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge)
[](https://vercel.com/oss)
Open-sourced terminal/ssh/sftp/telnet/serialport/RDP/VNC/Spice/ftp client(linux, mac, win).
For experienced developers, you may try the web app version running in browser(including mobile device): [electerm-web](https://github.com/electerm/electerm-web) or [docker image for electerm-web](https://github.com/electerm/electerm-web-docker)
Online demo: [https://electerm-demo.html5beta.com](https://electerm-demo.html5beta.com)
<div align="center">
<img src="https://github.com/electerm/electerm-resource/raw/master/static/images/electerm.gif", alt="" />
</div>
## Features
- Works as a terminal/file manager or ssh/sftp/ftp/telnet/serialport/RDP/VNC/Spice client
- Support Window 7+(X64/ARM64), Mac OS 10.15+(x64/arm64), Linux(x64/arm64), even old Linux with glibc 2.17+ like UOS/Kylin/Ubuntu 18.04 etc
- Global hotkey to toggle window visibility (similar to guake, default is `ctrl + 2`)
- Multi platform(linux, mac, win)
- ๐บ๐ธ ๐จ๐ณ ๐ง๐ท ๐ท๐บ ๐ช๐ธ ๐ซ๐ท ๐น๐ท ๐ญ๐ฐ ๐ฏ๐ต ๐ธ๐ฆ ๐ฉ๐ช ๐ฐ๐ท ๐ฎ๐ฉ ๐ต๐ฑ Multi-language support([electerm-locales](https://github.com/electerm/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](https://github.com/trzsz/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.
- AI assistant integration (supporting [DeepSeek](https://www.deepseek.com), OpenAI, and other AI APIs) to help with command suggestions, script writing, and explaining selected terminal content
- MCP (Model Context Protocol) widget for AI assistants and external tools integration - see [MCP Widget Usage Guide](https://github.com/electerm/electerm/wiki/MCP-Widget-Usage-Guide)
- Deep link support: Open connections with URLs like `telnet://192.168.2.31:34554` or `ssh://user@host:22` - see [Deep link support wiki](https://github.com/electerm/electerm/wiki/Deep-link-support)
- Command line usage: check [wiki](https://github.com/electerm/electerm/wiki/Command-line-usage)
## Download
- [Homepage](https://electerm.html5beta.com)
- [sourceforge](https://sourceforge.net/projects/electerm.mirror/files/)
- [github releases](https://github.com/electerm/electerm/releases)
## 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` or `.appImage` release.
- For Windows users, you can install it from [windows store](https://www.microsoft.com/store/apps/9NCN7272GTFF), command-line installer [winget](https://github.com/microsoft/winget-cli) and [scoop](https://github.com/lukesampson/scoop) is also recommended:
```powershell
# winget https://github.com/microsoft/winget-cli
winget install electerm.electerm
# scoop https://github.com/lukesampson/scoop
scoop bucket add dorado https://github.com/chawyehsu/dorado
scoop install dorado/electerm
```
- Install from Debian repository (for Debian/Ubuntu-based systems) with `apt` command
Check [https://electerm-repos.html5beta.com/deb](https://electerm-repos.html5beta.com/deb)
- Install from npm
```bash
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](https://github.com/electerm/electerm/wiki/Know-issues)
## Troubleshoot
[https://github.com/electerm/electerm/wiki/Troubleshoot](https://github.com/electerm/electerm/wiki/Troubleshoot)
## Discussion
[Discussion board](https://github.com/electerm/electerm/discussions)

## Support
Would love to hear from you, please tell me what you think, [submit an issue](https://github.com/electerm/electerm/issues), [Start a new discussion](https://github.com/electerm/electerm/discussions/new), [create/fix language files](https://github.com/electerm/electerm-locales) or create pull requests, all welcome.
## Sponsor this project
github sponsor
[https://github.com/sponsors/electerm](https://github.com/sponsors/electerm)
kofi
[https://ko-fi.com/zhaoxudong](https://ko-fi.com/zhaoxudong)
wechat donate
[](https://github.com/electerm)
## Dev
```bash
# May only works in Linux
# needs nodejs/npm, suggest using nvm to install nodejs/npm
# with nodejs 22.x
git clone
[email protected]:electerm/electerm.git
cd electerm
npm config set legacy-peer-deps true
npm i
# start vite 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
```bash
npm run b
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
```bash
# May only works in Linux
# Install yarn first(to do yarn autoclean)
# See https://yarnpkg.com/en/docs/install
# Build linux only with -l
npm i
npm run b
npm run pb
./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
```
## Video guide
- [https://electerm.html5beta.com/videos](https://electerm.html5beta.com/videos)
## Change log
Visit [Releases](https://github.com/electerm/electerm/releases).
## License
MIT
## Star History
[](https://www.star-history.com/#electerm/electerm&Date)", Assign "at most 3 tags" to the expected json: {"id":"229","tags":[]} "only from the tags list I provide: []" returns me the "expected json"