Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

 ____________________________________________________________
|  OldGenWeb                                    [_] [▫] [X]   |
|============================================================|
|                                                            |
|     W E L C O M E   T O   T H E   W O R L D   W I D E       |
|              W E B  ,   c i r c a   1 9 9 8                 |
|              . . . r u n n i n g   o n   2 0 2 6            |
|                                                            |
|   [ Chat ]   [ Paint ]   [ Who's Online ]   [ About ]      |
|____________________________________________________________|
|  Start  |                                  ☼  12:00 PM      |
|____________________________________________________________|

🖥️ OldGenWeb — Win98 Edition

Tampilan jadul, kemampuan 2026.
A Windows 98 desktop that lives in your browser — wired to a real-time backend so everyone shares the same room.



React Vite Go WebSocket Status

✦ Features

AppWhat it does
💬 ChatMSN/mIRC-style live chat, broadcast to everyone in the room
👥 Who's OnlineLive presence list — see who just walked in
🖱️ Live CursorsOther visitors' mouse pointers glide across your desktop in real time
🎨 Paint (shared)Collaborative MS Paint — every stroke is broadcast to all painters

All windows are draggable, minimizable, and stack with real z-ordering — just like the real thing.


✦ Tech Stack

🪟 Frontend

  • React 19 + Vite + TypeScript
  • react95 — authentic Win98 component kit
  • styled-components
  • Native WebSocket client w/ auto-reconnect

⚙️ Backend

  • Go 1.25 — module oldgenweb/backend
  • gorilla/websocket
  • Single broadcast hub fanning frames to every client

✦ System Requirements

  Pentium II 266 MHz ........ or any browser from this decade
  64 MB RAM ................. a single tab will do
  Go 1.25+ ................. for the server
  Node 18+ ................. for the client dev server
  Sound Blaster 16 ......... optional; dial-up noises sold separately

✦ Getting Started

1. Boot the backend port 8080

cd backend
go run .

Health check: http://localhost:8080/healthz

2. Boot the frontend port 5173

cd frontend
npm install
npm run dev

Open http://localhost:5173, pick a name, and you're on the desktop. Open a second tab (or send a friend the link) to watch chat, cursors, and paint sync live.

📦 Production build
cd frontend && npm run build   # outputs frontend/dist

The Go server serves ./public if you drop the built assets there.


✦ Built for the Public — Safe by Default

This is a public, multi-user toy, so every untrusted input is guarded:

🚧 Per-IP connection limitcaps simultaneous sockets per address
🪣 Token-bucket rate limitingflood guard for all traffic + a stricter bucket just for chat
🧼 Input sanitizationUTF-8 validation, control-char stripping, rune-aware length caps
🎨 Paint validationhex colors allow-listed, coordinates clamped to [0,1], brush size clamped

Abusive clients get silently dropped instead of taking the room down.


✦ Roadmap

[x] Win98 desktop shell (windows, taskbar, Start menu)
[x] Real-time chat + presence + live cursors
[x] Collaborative MS Paint
[ ] Guestbook (persisted server-side)
[ ] Retro atmosphere: boot screen, Web Audio beeps, CRT scanline toggle
[ ] Clippy (canned, rule-based — no paid LLM)
[ ] Minesweeper

© 1998–2026 OldGenWeb  •  Best viewed in Netscape Navigator  •  🚧 This site is under construction 🚧

About

Desktop Windows 98 yang hidup di dalam browser — chat, paint, dan daftar pengguna online, disambungkan ke backend realtime sehingga semua orang berbagi ruang yang sama.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages