You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
zeus 5844b51401 readne 3 years ago
client add search 3 years ago
files venus-client 3 years ago
hybrid/scripts venus-client 3 years ago
install venus-client 3 years ago
llo add alpine 3 years ago
myconfig venus-client 3 years ago
.gitignore venus-client 3 years ago
LICENSE Initial commit 3 years ago
README.md readne 3 years ago
builders-update.sh venus-client 3 years ago
git-update.sh venus-client 3 years ago
install.sh add alpine 3 years ago
package.json add alpine 3 years ago
start venus-client 3 years ago
stop add alpine 3 years ago
update-agent.sh venus-client 3 years ago

README.md

Swarmlab Venus

Welcome to Swarmlab.io

Swarmlab-venus Network Virtualization

on-demand network environments

private - public - hybrid

on-demand sandbox environments

  • Virtual Labroom
  • Virtual Classroom
  • Proof-of-Concept (POC)

Table of contents

  1. Features
  2. System requirements
  3. Prerequisites
  4. Installation
  5. More info

Swarmlab VEnus is Swarmlabs hybrid younger, more -network virtual- tech savvy brother.

Swarmlab venus provides the user with the unique abillity to create Network Virtualization and use them to project as Virtual Classroom, POC expanding you system or the simple swarmlab Labrooms to full-blown system. An all of that using onlly the browser of their system.

Why?

Ever imagined having a network perivallon gia na dokimaseis things me tous simfitites sou etsi just for fun as you ar in a labroom in the University from the comfort of your livingroom?

Ever created a service that you would like to test on a real-world network?

Ever designed an Labroom/application you would like to distribute to your students/applications?

Swarmlab venus comes to bridge the gap between you, you network/computer, the coder/developer of a service and the and user and at the same time meet the needs for a real-world testing environment.

With venus you can now as part of the cloud work independantly but also stay connected.
The venus format allows us to utilize the power of Swarmlab itself but also combine it with the practiaclly unlimited computing of our own machines.

How?

How does Swarmlab Venus differ from Swarmlab Hybrid? Well...den to kanei apla to kanei extend! me to nevus mporeis na dimiourgissis ta save network me tous beteiligte pou theleis kai na diamirasis ta labrooms h apps pou exeis ftiaxei me to hubrid. save kai just with one click, etsi for fun, fir learn or for POC
Easy enough right? But what does that mean in practice?
Well for us it means a couple million more lines of code. For you it means a few more installation steps and the newfound access to YOUR OWN RESOURCES!

You will be connected to the net pou tha dimioyrgissis proskalontas toys summetexontes pou theleis kai na you will be able to use your own storage(move files around, delete/copy etc),your own networking and computational power(cpu/graphics etc) and create a system exactly the way you need it.

This way you will be able to :

  • create images for testing.
  • Run them using docker.
  • Share them for others to use and develop.
  • Finally browse the cloud for shared images to integrate into your project and make it even better.

Venus vs Hybrid in a nutshell

Venus

  • Create Networks (VPN)
  • Connect multiple users through that network.

Hybrid

  • Create Labrooms/Applications
  • Run and manage said rooms and application
  • create once - scale up or down without rebuilding
  • Connect multiple computers through a network.
  • Move Labs between environments
  • Create your own labs
  • open source barebone -> Share them with your friends

In any case students can:

  • join the created labrooms according to their interrests
  • run the evailable labs at will
  • create their own rooms for exercising

System requirements

Before you create and configure a hybrid deployment using the swarmlab-agent client, your Local Machines need to meet certain requirements.

If you don't meet those requirements, you won't be able to complete the steps within the swarmlab-agent client and you won't be able to configure a network deployment between your Local Enviroment and Swarmlab Online Enviroment.

  • A Linux Server (Virtual or Physical)
  • You must have super user privileges (root/sudo)
  • Docker Engine- Community version 18 or later is required.
  • Docker Engine is supported on x86_64 (or amd64), armhf, and arm64 architectures.
  • RAM
  • Absolute minimum to run the daemon and some very light containers - 512MB
  • Minimum for “comfortable” usage – 2GB
  • CPU
  • Minimum: 2
  • Recommended 4+
  • Disk Space
  • 10 GB for internal requirements.
  • The amount of additional disk space soloemnly depends on you intended use.

⚠️ Since Docker uses hypervisor the host NEEDS TO HAVE VIRTUALIZATION ENABLED!

Prerequisites

  • node version >15

    curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash -
    sudo apt-get install -y nodejs
    
  • docker

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    sudo apt update
    sudo apt install -y docker-ce
    sudo usermod -aG docker [USERNAME] # Please replace [USERNAME] with the user you want to run docker on
    

ℹ️ for kali specifically please visit the following link to install docker.

https://linuxhint.com/install_docker_kali_linux/

  • docker-compose

    sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
    
  • pm2

    sudo npm install -g pm2
    
  • wireguard

    sudo apt install wireguard jq
    
    

### **MORE Installation info here**

install docker

Install Wireguard

Install Node


## Installation

for *nix

  • Clone the repo

    git clone --recurse-submodules https://git.swarmlab.io:3000/swarmlab/venus-client.git
    
  • Install it!

    cd venus-client
    ./install.sh  <-- run it without root privileges
    
  • Open URL http://localhost:8085/index.html in browser

  • Get a Swarmlab account.

for windows or if you wish to keep the environment contained

You can find ready to run VM images here.

And instructions on how to use them here.

ℹ️ Default password: swarmlab

PLEASE CHANGE PASSWORD IMEDIATELLY AFTER FIRST LAUNCH!!!