AetherTerm is a xterm compatible terminal that runs in your browser.
- xterm compatible (support a lot of unused features!)
- Native browser scroll and search
- Theming in css / sass - endless possibilities!
- HTML in your terminal! cat images and use
- Multiple sessions support (à la screen -x) to simultaneously access a terminal from several places on the planet!
- Secure authentication with X509 certificates!
- 16,777,216 colors support!
- Keyboard text selection!
- Desktop notifications on terminal output!
- Geolocation from browser!
- MOTD (Message of the Day) - Customizable welcome message with connection info and branding!
- Cross-browser compatibility!
$ pip install aetherterm
$ pip install aetherterm[themes] # If you want to use themes
$ pip install aetherterm[systemd] # If you want to use systemd
$ aethertermA new tab should appear in your browser. Then type
$ aetherterm helpTo get an overview of AetherTerm features.
$ aetherterm --host=myhost --port=57575Or with login prompt
$ aetherterm --host=myhost --port=57575 --loginOr with PAM authentication (ROOT required)
# aetherterm --host=myhost --port=57575 --login --pam_profile=sshdYou can change sshd to your preferred PAM profile.
Systemd provides a way to automatically activate daemons when needed (socket activation):
$ cd /etc/systemd/system
$ # Create service files for aetherterm
$ systemctl enable aetherterm.socket
$ systemctl start aetherterm.socketDon't forget to update the /etc/aetherterm/aetherterm.conf file with your server options (host, port, shell, ...) and to install aetherterm with the [systemd] flag.
and make the world better (or just AetherTerm).
Don't hesitate to fork the repository and start hacking on it, I am very open to pull requests.
If you don't know what to do go to the github issues and pick one you like.
Client side development use modern web technologies.
The js part is based on term.js which is based on jslinux.
Copyright 2025
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Starting with login and password
docker run --env PASSWORD=password -d aetherterm/aetherterm --loginStarting with no password
docker run -d -p 57575:57575 aetherterm/aethertermStarting with a different port
docker run -d -p 12345:12345 aetherterm/aetherterm --port=12345