LAN communication tool for DHIU Computer Resource Center Group chat · Direct messages · Online status board
LabNet is a lightweight LAN-based chat application designed for classroom or lab environments. It allows multiple users to communicate in real-time, manage private messages, and see the online status of peers — all without requiring an internet connection.
- Group chat —
#lab-generalvisible to all users on the LAN - Direct messages — private chats with any user in the sidebar
- Unread badge — red notification on DM tabs for new messages
- Multiple tabs — handle multiple private conversations simultaneously
- Status board — see who is online, busy, or away in real-time
- Offline LAN mode — works entirely on the local network
Clone or copy this folder to a shared location accessible by all lab PCs, for example:
\\chs-1\D$\labnet
⚠️ Note: Running Node.js from a UNC path may not work on some systems. If needed, copy locally to the host PC.
On the PC that will host the server:
cd \\chs-1\D$\labnet
node server.js- The terminal will show the IP addresses for your LAN, for example:
http://192.168.20.14:3000
⚠️ Make sure firewall permissions allow incoming connections on the chosen port (3000by default).
Open the displayed URL in a web browser on any PC connected to the same LAN.
Everyone connected can now chat immediately.
- Backend: Node.js + Express (static file server)
- Realtime: Socket.IO (WebSocket events)
- Frontend: Vanilla HTML/CSS/JS (no build step, no framework)
-
Designed for LAN environments; no internet required
-
Admin rights may be needed to:
- Open firewall ports (default:
3000) - Allow hosting PC to be accessible by others
- Open firewall ports (default:
-
Works best when run on a single hosting PC shared with others
Contributions are welcome! You can:
- Report issues or suggest features
- Fork the repository and submit pull requests
- Improve UI/UX, add new features, or enhance security
MIT — free to use, modify, and distribute.
Built for DHIU. Open to the world.