A premium, web-based SSH terminal with ZSH aesthetics and Cloudflare Access support.
IronShell is a modern web terminal designed for those who love the look and feel of a customized ZSH shell but need the flexibility of a web client. It features a stunning glassmorphism UI, robust terminal emulation, and built-in support for connecting to servers behind Cloudflare Access.
- 🎨 Premium Aesthetics: Dracula-inspired theme, Fira Code fonts, and glassmorphism UI.
- ⚡ Real-time Emulation: Powered by
xterm.jsandsocket.iofor a lag-free experience. - ☁️ Cloudflare Access Ready: Automatically detects and tunnels connections via
cloudflaredfor Zero Trust environments. - 🖥️ Responsive Design: Resizes perfectly with your browser window.
- 🔒 Secure: Handles SSH connections securely via the backend.
- Node.js (v18+)
cloudflared(if connecting to Cloudflare Access protected hosts)
-
Clone the repository
git clone https://github.com/yourusername/ironshell.git cd ironshell -
Install Backend Dependencies
cd server npm install -
Install Frontend Dependencies
cd ../client npm install
-
Start with Docker Compose
docker-compose up --build
-
Open
http://localhost:10000
-
Start the Backend (Port 50000)
cd server npm start -
Start the Frontend (Port 10000)
cd client npm run dev -
Open your browser to
http://localhost:10000and connect!
- Frontend: React, Vite, xterm.js
- Backend: Node.js, Express, ssh2, socket.io
- Tunneling: Cloudflare Tunnel (
cloudflared)
This project is licensed under the MIT License.
