Welcome to Swarmlab!

swarmlab

Intro

An open source work/study-from-home application.

Swarmlab provides you with all the required tools, tools to teach work or try out demos in a completely virtual environment.

Swarmlab is a collection of services that aims to:

  • provide teachers and professors with online remote tools to do their lessons

  • give students the opportunity to study real life examples in their chosen area of expertise

  • allow developers to fully test and debug their applications and provide POC’s

  • or you simply want to use a Application (in a microservices-based architecture)

Swarmlab, up and running since 2020, is already used for teaching purposes in a university and has proven itself as a powerful tool in the post covid remote-based situation.

Source code is available at https://git.swarmlab.io:3000 under the AGPL licence.

Ready to run out-of-the-box

As of now the services provided by swarmlab are:

  • Labrooms(virtual classrooms in the form of model applications to be tweaked at will)

    • linux → base linux system – designed for use as a base to further develop your app

    • MPI → Instances of Ubuntu Linux with MPICH — portable implementation of Message Passing Interface (MPI) standard. Designed for MPI program development and deployment.

    • Node.js

    • sec → a basic linux-based os with security tools – designed as a template for apps

  • Storage to automatically create a cluster of databases.

  • Proof Of Concept (POC) options

    • datacollector → using provided services a fully developed application may collect data from a swarm and use it for further analysis

    • jitsimeet

  • Microservices

    • Jupyter

    • numpy

    • scipy

    • nodejs

    • nginx

    • haproxy

    • gns3

    • wireshark

    • snmpsim

    • xelatexthesis

    • ansible

    • etherpad

    • codeserver (vscode)

    • redisserver

    • mongoserver

    • mongoclient (GUI)

    • dvwa (Damn Vulnerable Web Application)

    • hping3

    • volatilitylinux

    • octave

    • twint

    • R

    • rust

    • julia

    • lua

    • goland

    • node-sqlite3

    • electron-builder

    • ruby

    • mariadb

    • adminer

    • opencv

    • php

    • wordpress

    • gcc

    • oletools

    • dfirntfs

    • peframe

    • libvshadow

    • regripper

    • jsshell

      to be continued…

And all the above using just the Browser of your system!

Anywhere, anytime, from a secure environment and with complete control over your own data.

Your computer!

platform agnostic

Swarmlab is developed with a platform agnostic" container-based application strategy

A platform-agnostic approach offers many choices

  • Can be seamlessly moved from local development machine to production deployment

  • Flexibility, Reliability

    • Avoiding Vendor Lock-In

  • From Code to full-blown systems

    • from a single container on your local machine

    • to a running cloud native - container-based environment

Services

Hybrid VEnus Network Unification Service

We have created an ever-growing database of readilly accessible labrooms you can choose from

Ready to use, on demand virtual labs/microservices
  • Run and manage said rooms and application

  • Create Labrooms/Applications/Microservices

    • create once - scale up or down without rebuilding

  • on-demand

    • sandbox environments

    • Virtual Labrooms

    • Virtual Classrooms

    • Proof-of-Concept (POC)

  • Move Labs between environments

VENUS makes collaboration easier

Build the network you require on demand and without effort.

You can Create and manage

  • on-demand network environments using any cloud over any network

  • Connect multiple computers through a network.

  • Share your Labrooms/Applications/Microservices with your friends

  • Move Labs between networks

  • anything else that might suit your needs in a dynamic and Scalable Distributed Architecture

Swarmlab-Venus provides

  • Secure and state-of-the-art cryptography - integrated across all connections

  • Manage the entire network as a service

  • Architecture/Platform Agnostic

  • Manage user network access

  • Network traffic analysis

Focus on Your project code,

Not in servers and Lab settings

Chose the labroom you need and ... you are ready

Focus on Your lab project,

Not in lab and Network settings

Chose the labroom you need and deploy it to your participants

Write your docs and lab code in your prefered language and share it!.