Skip to main content

A modern WAN Emulator

Project description

CI codecov A modern WAN Emulator developed by the Institute for Networked Solutions

WEmulate

Have a look at the documentation for detailed information.

Installation

Requirements

  • At least two network interfaces for LAN-A and LAN-B
  • A third management interface if you would like to use the api and frontend module
  • Ubuntu installed
  • Root permissions

Getting Started

To install only the WEmulate cli with bash, simply run this command in your terminal of choice:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/wemulate/wemulate/main/install/install.sh)"

There are different arguments available in order to enhance the installation experience:

-h               Prints the help message
-f               Skip the confirmation prompt during installation
-i <int1,int2>   List of interfaces which should be used as management interfaces
-a               Install the api module
-v               Install the frontend module

You can for example install the cli, api and frontend module together with one management interface with the following command:

curl -fsSL https://raw.githubusercontent.com/wemulate/wemulate/main/install/install.sh | bash -s -- -a -v -i ens2 -f

Usage

WEmulate CLI Commands

# Add a new connection
$ wemulate add connection -n connectionname -i LAN-A LAN-B

# Delete a connection
$ wemulate delete connection -n connectionname

# Add parameters bidirectional
$ wemulate add parameter -n connectionname -j 20 -d 40

# Add parameters in specific direction
$ wemulate add parameter -n connectionname -j 20 -d 40 -src LAN-A -dst LAN-B

Development

Configure poetry to create the environment inside the project path, in order that VSCode can recognize the virtual environment.

$ poetry config virtualenvs.in-project true

Install the virtualenv.

$ poetry install

Testing

In order to test WEmulate and to use an in-memory sqlite database, the following environment variable has to be set:

export WEMULATE_TESTING=true

Install the dev dependencies:

poetry install --with dev

The tests can then be executed with pytest.

poetry run pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wemulate-2.0.5.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wemulate-2.0.5-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file wemulate-2.0.5.tar.gz.

File metadata

  • Download URL: wemulate-2.0.5.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for wemulate-2.0.5.tar.gz
Algorithm Hash digest
SHA256 5e9b4f575fdb2be4eb67af80436a05e84b12a54ff39a0211fcb6d2d70095a1a4
MD5 e5c24dea9db7a6a99b8d8bcf87ff5312
BLAKE2b-256 868faeb76df183168495bb514a8117deaaeb9d1194c34d69100aa29acf0150e1

See more details on using hashes here.

File details

Details for the file wemulate-2.0.5-py3-none-any.whl.

File metadata

  • Download URL: wemulate-2.0.5-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for wemulate-2.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d6ee44842b111d6f8337790795a4eaf565e3bd86b645da5b96f98771fdef7386
MD5 2d1877df7996c8f39b8852bb039c1dce
BLAKE2b-256 b755b45b248e3b28c609f6772031e980e077b1966b07af4c3b4fbde47a464305

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page