A portable desktop simulation overlay that adds a draggable terminal, music player, taskbar, and matrix rain effect to any existing website. All components float above your page content.
Open demo/index.html to see it in action!
Live Site: theblackpacket.com
This overlay adds a complete "hacker desktop" experience on top of any website:
- Floating, draggable windows (terminal + music player)
- A taskbar at the bottom of the screen
- Matrix rain background effect
- All components use fixed positioning and overlay your existing content
- Interactive Terminal - Full Linux-like terminal with 70+ commands
- Music Player - Draggable music player with playlist support
- Taskbar - Windows-style taskbar with window management
- Matrix Rain - Iconic falling green characters background effect
- Overlay Design - Floats above your existing website content
- Mobile Support - Fully responsive with touch-friendly mobile terminal
- Easter Eggs - Hidden hacking challenges and movie references
<link rel="stylesheet" href="terminal-kit/terminal-kit.css"><script type="module">
import { TerminalKit } from './terminal-kit/index.js';
TerminalKit.init();
</script>That's it! You'll have a fully functional terminal with taskbar, music player, and matrix rain.
- Download the
src/folder - Rename it to
terminal-kit/ - Place it in your project root
- Include the CSS and JS as shown above
git clone https://github.com/brainphreak/linux-desktop-simulator-overlay.gitTerminalKit.init({
// Enable/disable features
terminal: true,
musicPlayer: true,
taskbar: true,
matrixRain: true,
// Terminal options
terminalOptions: {
x: 100, // Initial X position
y: 80, // Initial Y position
width: 700, // Window width
height: 450, // Window height
autoShow: true // Show on load
},
// Music player options
musicPlayerOptions: {
x: 150, // Initial X position
y: 150, // Initial Y position
autoShow: false // Hidden by default
},
// Matrix rain options
matrixOptions: {
containerId: 'matrixRain', // Container element ID
autoStart: true // Start automatically
},
// Custom playlist
playlist: [
{ title: "Song 1", src: "/mp3/song1.mp3" },
{ title: "Song 2", src: "/mp3/song2.mp3" }
]
});TerminalKit.init({
terminal: true,
musicPlayer: false,
taskbar: false,
matrixRain: false
});You can also use the data-auto-init attribute:
<script type="module" src="terminal-kit/index.js" data-auto-init></script>Or with custom config:
<script type="module"
src="terminal-kit/index.js"
data-auto-init='{"matrixRain": false}'>
</script>// Initialization
TerminalKit.init(config) // Initialize with optional config
TerminalKit.isInitialized() // Check if initialized
TerminalKit.getConfig() // Get current configuration
// Terminal Controls
TerminalKit.showTerminal() // Show terminal window
TerminalKit.hideTerminal() // Hide terminal window
TerminalKit.toggleTerminal() // Toggle terminal visibility
TerminalKit.isTerminalVisible() // Check if terminal is visible
// Music Player Controls
TerminalKit.showMusicPlayer() // Show music player
TerminalKit.hideMusicPlayer() // Hide music player
TerminalKit.toggleMusicPlayer() // Toggle music player visibility
TerminalKit.isMusicPlayerVisible() // Check if music player is visible
TerminalKit.setPlaylist(songs) // Update playlist
// Taskbar Controls
TerminalKit.showTaskbar() // Show taskbar
TerminalKit.hideTaskbar() // Hide taskbar
// Matrix Rain Controls
TerminalKit.startMatrixRain() // Start matrix effect
TerminalKit.stopMatrixRain() // Stop matrix effect
TerminalKit.toggleMatrixRain() // Toggle matrix effect
TerminalKit.isMatrixRunning() // Check if matrix is runningterminal-kit/
├── index.js # Main entry point and public API
├── terminal.js # Terminal window and command processing
├── commands.js # All command implementations
├── filesystem.js # Virtual filesystem
├── music-player.js # Music player component
├── taskbar.js # Taskbar component
├── matrix-rain.js # Matrix rain effect
└── terminal-kit.css # All styles
Terminal Kit automatically detects the device and provides an optimized experience:
- Draggable, resizable windows
- Keyboard shortcuts
- Multi-window support with z-index management
- Traditional command input
- Full-screen terminal overlay
- Touch-friendly interface
- On-screen Ctrl+C button for interrupting commands
- Responsive layout
- Tab completion support
- Command history with swipe gestures
The taskbar provides quick access to all features:
- Terminal Button - Toggle terminal window
- Music Button - Toggle music player
- Matrix Button - Toggle matrix rain effect
- Clock - Current time display
- Playlist support with multiple tracks
- Play/Pause, Next, Previous controls
- Volume control with slider
- Progress bar with seek functionality
- Track title display
- Draggable window
- Minimize/Close buttons
Terminal Kit automatically saves:
- Window visibility states
- Current directory
- Command history
- User sessions (for SSH simulation)
- Chrome 80+
- Firefox 75+
- Safari 13+
- Edge 80+
- Mobile Safari (iOS 13+)
- Chrome for Android
None! Terminal Kit is completely standalone with no external dependencies.
When initialized, Terminal Kit creates:
- Matrix Rain Canvas - Full-screen canvas behind all content (z-index: 1)
- Terminal Window - Floating, draggable window (z-index: 10000+)
- Music Player - Floating, draggable window (z-index: 10000+)
- Taskbar - Fixed position bar at bottom (z-index: 10000+)
All components use position: fixed so they overlay your existing page content without affecting layout.
Simply include the CSS and JS on any page:
<!-- Your existing website -->
<div class="my-content">
<h1>My Website</h1>
<p>Content here...</p>
</div>
<!-- Add the overlay -->
<link rel="stylesheet" href="terminal-kit/terminal-kit.css">
<script type="module">
import { TerminalKit } from './terminal-kit/index.js';
TerminalKit.init();
</script>The terminal, taskbar, and music player will appear floating above your content.
- Hacking Terminal Simulator - Embedded version that integrates directly into a page (no floating windows)
- COMMANDS.md - Complete command reference
- EASTER-EGGS.md - Hidden features and hacking challenges
This project is licensed under the GPLv3 License - see the LICENSE file for details.
Created by brainphreak
Contributions are welcome! Please feel free to submit a Pull Request.