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/VNC/RDP/sftp/ftp client(linux, mac, win).
- Works as a terminal/file manager or ssh/telnet/serialport/RDP/VNC/WEB/sftp/ftp 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
Since electerm-web v3, the application uses SQLite instead of NeDB for better performance and stability. If you're upgrading from v2 and have existing data, you'll need to migrate your data.
-
Install electerm-data-tool:
npm install -g electerm-data-tool
-
Export your data from NeDB:
# data folder should have a nedb-database child folder electerm-data-tool --data-path "/path/to/your/data-folder-which-has-nedb-database-sub-folder" --app-type web migrate
-
Start electerm-web v3 and go to the Data Sync panel
-
Import your data: Upload the
data.jsonfile in the Data Sync panel to restore your data
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/22, 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 studioornpm install --global --production windows-build-tools
for Linux or Mac
curl -o- https://electerm.html5beta.com/scripts/one-line-web.sh | bashor
wget -qO- https://electerm.html5beta.com/scripts/one-line-web.sh | bashfor 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 git@github.com: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 fixnpm 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
# run prod app
./run-electerm-web.sh
# Check examples/nginx.conf examples/nginx-ssl.conf for domain binding nginx conf exampleMIT