https://github.com/electerm/electerm-web
Running electerm as web app
https://github.com/electerm/electerm-web
electerm react serialport sftp ssh telnet terminal
Last synced: about 2 months ago
JSON representation
Running electerm as web app
- Host: GitHub
- URL: https://github.com/electerm/electerm-web
- Owner: electerm
- License: mit
- Created: 2023-10-27T03:24:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-20T12:34:00.000Z (2 months ago)
- Last Synced: 2025-03-29T15:03:28.364Z (about 2 months ago)
- Topics: electerm, react, serialport, sftp, ssh, telnet, terminal
- Language: JavaScript
- Homepage: https://electerm.html5beta.com
- Size: 907 KB
- Stars: 120
- Watchers: 2
- Forks: 21
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![]()
[δΈζ](README_cn.md)
# electerm-web [](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-web&hashtags=electerm,ssh,terminal,sftp)
This is web app version of [electerm app](https://github.com/electerm/electerm), running in browser, almost has the same features as the desktop version.
Powered by [manate](https://github.com/tylerlong/manate)
[](https://github.com/electerm/electerm/releases)
[](https://github.com/electerm/electerm-dev/blob/master/LICENSE)
[](https://standardjs.com)
[](https://snapcraft.io/electerm)
[](https://www.microsoft.com/store/apps/9NCN7272GTFF)
[](https://github.com/sponsors/electerm)Open-sourced terminal/ssh/telnet/serialport/sftp client(linux, mac, win).
![]()
## Features
- 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](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.
- Init from url query string [wiki](https://github.com/electerm/electerm-web/wiki/Init-from-url-query-string)
- Support mobile device(responsive design)
- 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## Download
todo
## Upgrade
todo
## Support
Would love to hear from you, please tell me what you think, [submit an issue](https://github.com/electerm/electerm-web/issues/new/choose), [Start a new discussion](https://github.com/electerm/electerm-web/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)
## Prerequisites
- git
- Nodejs 20+/npm, recommend use [fnm](https://github.com/Schniz/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, install `vs studio` or `npm install --global --production windows-build-tools`## One line script to deploy from source code
for Linux or Mac
```sh
curl -o- https://electerm.html5beta.com/scripts/one-line-web.sh | bash
```
or```sh
wget -qO- https://electerm.html5beta.com/scripts/one-line-web.sh | bash
```for Windows
```powershell
Invoke-WebRequest -Uri "https://electerm.html5beta.com/scripts/one-line-web.bat" -OutFile "one-line-web.bat"
cmd.exe /c ".\one-line-web.bat"```
## Deploy from docker image
Check [electerm-web-docker](https://github.com/electerm/electerm-web-docker)
## Dev
```bash
# 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.xgit 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//Library/Application Support/electerm"
# for Linux OS DB_PATH="/home//.config/electerm"
# for Windows OS DB_PATH="C:\\Users\\\\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
```## Build && run in production
```sh
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
```## Run in server
```sh
# 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
```## Test
```bash
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
```## License
MIT