Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Terminal for Virtual Machines

This project on Go implements a web-based terminal for interacting with virtual machines (VMs) using WebSockets. It allows users to connect to and control two virtual machines in a session through a web interface.

Key Features:

  • Web Terminal: Uses xterm.js for terminal emulation in the browser.
  • Session Management: Supports creating, managing, and closing sessions.
  • Machine Interaction: Users can connect to two virtual machines (VM1 and VM2) running on the server.
  • WebSocket Communication: Provides real-time, bidirectional communication between the browser and the server, sending and receiving terminal data.
  • Network Configuration: Dynamically creates and manages virtual network interfaces (TAP devices) for each session and VM.

How It Works:

  1. A session is created by calling the /create_session endpoint, generating a unique session ID.
  2. Users can connect to either VM1 or VM2 through WebSocket, with terminal data sent back and forth.
  3. The session is automatically cleaned up after inactivity or when the user navigates away from the page.

About

A web-based terminal platform that enables users to create and manage sessions with multiple QEMU virtual machines. It offers real-time terminal access directly in the browser using WebSockets and xterm.js, while automatically handling network configurations for each session.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages