Git Product home page Git Product logo

server-box's Introduction

Aiming to provide an interactive online Linux VM

image image

Introduction

This project uses v86 to run a debian os in the browser, providing a monaco editor to edit files in linux vm more conveniently (of course you can also use vim/nano in Linux to edit files directly).

The sidebar on the left will show you the files in the /mnt directory. You can use touch to create files and mkdir to create directories in the terminal at the bottom, and the file tree on the left will automatically synchronize with the changes in response.

You can use Ctrl-s save file change to disk.

The system has gcc/python built in, so you can create a .c/.py file and run them.

Plan

Over the next few weeks I will be working on the following in order

  • Implement a basic web proxy that allows some common services to be requested in vm (such as package management services like npm registry/pypi, or some API mock services)
  • Handle the issue of gcc compiled output can not running directly under /mnt
  • Provide a progress bar for os image loading
  • Re-structure the code (the current code implementation is confusing, scalability and maintainability are very poor)

Known issues

  • The default image size is 230M and may take several minutes to load for the first time.
  • gcc compilation results can not work under /mnt (run the .out file will cause system crashes), you need to mv the .out file to /tmp for execution
  • df does not currently work, fs does not currently implement stats correctly (this type of operation also causes system crashes)
  • network current not work (Even though this part is complete, it only provides a proxy for requests from servers that support cors under the http protocol)

About OS image

If you want to add other packages, you can modify the script here to build your own OS image, then upload the image to the server and add the parameter ?disableState=true&hdd=<image url> when accessing server-box web page to boot the system with the new image.

Inspired by

server-box's People

Contributors

muzea avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.