Coder Social home page Coder Social logo

filius's Introduction

Filius - Simple Network Simulation

Filius is a network simulator for educational purpose

License

Filius is provided under the terms of GPLv2 or GPLv3.

Requirements

Filius is a Java application. A Java Runtime Environment 8 or higher is required. Support of Java 8 is deprecated and will end soon.

For most features, JRE will do. The feature to implement and run your own applications (by means of the Software Wizard) requires the Java Development Kit.

OS Support

Windows, Linux

Available Languages

German, French, English

Configuration

The personal configuration, i.e. selected language as well as the UI state when leaving the program, is stored within the personal home directory within a folder named ".filius".

Global configurations can be modified in the install directory within "filius.ini". For more details see the documented parameters in this file.

Installation

The Windows installer is based on nsis. It supports the standard parameter:

  • /S - for silent install/uninstall
  • /D - to set the install directory (e.g. /D=Z:\Filius)

Website

https://www.lernsoftware-filius.de/

Code Signing

This program uses free code signing provided by SignPath.io, and a free code signing certificate by the SignPath Foundation

Contribute / Build Filius

Development Environment

Filius is developed with Eclipse using Maven as build tool.

Currently, the build works with Java up to version 13 since some unit tests cannot be executed with the newest Java versions. In other words: It is possible to develop with a newer version but there will be some tests that fail.

Bundled JRE

Some Filius distributions are shipped with JRE to remove the external dependency on a pre-installed Java Runtime Environment. But since Filius is not built as a Java module, the JRE cannot be built as part of the build process with Maven.

The runtime is created in two steps:

  1. Define required Java modules
  2. Create the runtime

Define Required Modules

Use the jdeps tool that is shipped with OpenJDK:

jdeps -recursive --ignore-missing-deps --multi-release base --print-module-deps filius.jar lib\*

The output contains some warnings and the following required modules:

java.base,java.compiler,java.desktop,java.instrument,java.management,java.naming,java.sql,java.xml.crypto,jdk.unsupported

Additionally, the following runtime dependencies are required in order to use the Software Assistant for application compilation at runtime in Filius:

  • jdk.compiler - This module contains the compiler tool set.
  • jdk.zipfs - This module is required to read dependencies on built-in Filius classes from filius.jar.

Build Runtime

The bundled JRE (if available) is built with the following command:

jlink --no-header-files --no-man-pages --compress=2 --strip-debug --add-modules java.base,java.desktop,java.instrument,java.management,java.naming,java.sql,java.xml.crypto,jdk.unsupported,java.compiler,jdk.compiler,jdk.zipfs --output java-runtime

Generate Documentation

Source code is documented with Javadoc. Generate the API documentation with Maven:

mvn javadoc:javadoc

The documentation will be stored in the default output directory (target) in 'site/apidocs' as HTML pages.

filius's People

Contributors

denuxplays avatar mrletsplay2003 avatar and1bm avatar benabel avatar mb720 avatar ronnystandtke avatar jenda1975 avatar

Watchers

Kozova1 avatar  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.