# electerm-web
**Repository Path**: lanruo2/electerm-web
## Basic Information
- **Project Name**: electerm-web
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-01-04
- **Last Updated**: 2025-01-04
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## 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)
## 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 18+/npm, recommend use [nvm](https://github.com/nvm-sh/nvm) to install nodejs/npm for Linux and MacOS
- 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.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//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