This is web app version of electerm app, running in browser, almost has the same features as the desktop version.
Powered by manate
Open-sourced terminal/ssh/telnet/serialport/sftp client(linux, mac, win).
- Works as a terminal/file manager or ssh/telnet/serialport/RDP/VNC/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.
- Init from url query string wiki
- Support mobile device(responsive design)
- AI assistant integration (supporting DeepSeek, OpenAI, and other AI APIs) to help with command suggestions, script writing, and explaining selected terminal content
todo
todo
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.
github sponsor
https://github.com/sponsors/electerm
kofi
wechat donate
- git
- Nodejs 20+/npm, recommend use fnm to install nodejs/npm
- python/make tools, for Linux:
sudo apt install -y make python g++ build-essential
, for MacOS: install Xcode, for Windows, installvs studio
ornpm install --global --production windows-build-tools
for Linux or Mac
curl -o- https://electerm.html5beta.com/scripts/one-line-web.sh | bash
or
wget -qO- https://electerm.html5beta.com/scripts/one-line-web.sh | bash
for Windows
Invoke-WebRequest -Uri "https://electerm.html5beta.com/scripts/one-line-web.bat" -OutFile "one-line-web.bat"
cmd.exe /c ".\one-line-web.bat"
Check electerm-web-docker
# 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 [email protected]:electerm/electerm-web.git
cd electerm-web
cp .sample.env .env
# edit DB_PATH to set db path, default path ./database
# to use same data as desktop electerm
# for Mac OS DB_PATH="/Users/<your-user-name>/Library/Application Support/electerm"
# for Linux OS DB_PATH="/home/<your-user-name>/.config/electerm"
# for Windows OS DB_PATH="C:\\Users\\<your-user-name>\\AppData\\Roaming\\electerm"
npm i
# start webpack dev server
npm start
# in a separate terminal session run app
npm run dev
#then visit http://127.0.0.1:5580 with browser
# code format check
npm run lint
# code format fix
npm run fix
npm run build
# run production server
npm run prod
# or ./build/bin/run-prod.sh
#then visit http://127.0.0.1:5577 with browser
# Edit .env, set
ENABLE_AUTH=1 # if not enabled, everyone can use it without login
SERVER_SECRET=some-server-secret
SERVER_PASS=some-login-pass-word
SERVER=http://xxx.com # if you want to bind domain
CDN=http://xxx.com # if you want to use cdn serve static files
# run prod app
./run-electerm-web.sh
# Check examples/nginx.conf examples/nginx-ssl.conf for domain binding nginx conf example
npx playwright install --with-deps chromium
# or with a proxy if needed
HTTPS_PROXY=http://127.0.0.1:1087 npx playwright install --with-deps chromium
# then edit .env, edit test related env
npm run test
MIT