File size: 1,508 Bytes
f968e40
 
 
 
 
 
 
52dd3c8
f968e40
 
 
52dd3c8
 
 
f968e40
 
 
 
 
52dd3c8
 
 
 
 
 
 
 
f968e40
 
52dd3c8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f968e40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
title: "HF Terminal"
colorFrom: "green"
colorTo: "gray"
sdk: "docker"
pinned: false
---

# HF Terminal

Real Bash shell in your browser via WebSocket + PTY. CRT-style skeuomorphic UI with scanlines, phosphor glow, and screen curvature.

## Features

- Real Bash shell — supports `nano`, `vim`, `htop`, full ANSI colour
- WebSocket transport — zero polling, instant keystrokes
- Skeuomorphic CRT UI — scanlines, glow, curvature, flicker
- Three phosphor modes — Green, Amber, White
- Persistent bash history to `/data`

## Architecture

| Layer     | Technology                              |
|-----------|-----------------------------------------|
| Backend   | Python 3.11 + Tornado (HTTP + WebSocket)|
| PTY       | `pty.fork()` + non-blocking `select()`  |
| Frontend  | xterm.js 5.3 (CDN), vanilla JavaScript  |
| Styling   | Hand-crafted CSS — no frameworks        |
| Container | Docker (Debian slim + common CLI tools) |

## Controls

| Control     | Description                                      |
|-------------|--------------------------------------------------|
| Phosphor    | Switch between Green, Amber, and White phosphor  |
| Scanlines   | Toggle CRT scanline overlay                      |
| Glow        | Toggle text glow and bloom effect                |
| Curvature   | Toggle CRT screen curvature effect               |
| Bell        | Toggle audible bell on `\x07` (default: off)     |

**Keyboard shortcut:** `Ctrl+Shift+K` clears the terminal buffer.

## License

MIT