University of Applied Sciences Rapperswil

eprints OST (Ostschweider Fachhochschule)
Not a member yet
    1194 research outputs found

    Segment Routing v6 (SRv6) Network Programming

    Get PDF
    Initial Situation Configuring network devices using the command line interface (CLI) is usually time consuming because all commands have to be written for each function inside devices. These commands must be applied to each device individually. Furthermore, the specific commands have to be known and correct. These reasons make CLI not very user friendly. Objective The goal of this work is to develop a web based SRv6 Network Programming Web App that allows a user to configure a given network. Configuring SR endpoint behaviour, such as L3VPN on a network should be possible. The user selects which configuration he/she wants to have on a specified router of the network, then the app configures the devices as desired. The SRv6 Network Programming Web App only shows the ProviderEdge routers of the provided network topology, as only these routers are required to configure SRv6. Generally speaking, this project is designed to facilitate the configuration of SRv6 network programming on endpoints by providing a web app. Result A web app was developed with ReactJS, which allows L3VPN to be configured. For this purpose, a single source of truth was built, which stores the data in a PostgresDB. The connection to the frontend is done via an API based on GO. To write the data from the single source of truth to the devices, a GO component was developed that uses Gonja-netconf, Gornir and Scrapligo

    OSMyBiz - Company profile editor for OpenStreetMap

    Get PDF
    OpenStreetMap My Business (OSMyBiz) is an editor for the collaborative, open-mapping project OpenStreetMap (OSM). It focuses on enabling users to edit businesses on OSM without requiring knowledge about how OSM organises its data, specifically targeting new or inexperienced users. OSMyBiz got created in 2018 as a bachelor thesis project. Since then, it has only gotten minor updates and needs to catch up regarding technologies. Since its creation, new version changes have been available for nearly all dependencies, and some are not even maintained. There have also been significant changes in the tooling used in modern web applications. OSMyBiz did not get optimised for mobile, and therefore, the usage on mobile devices was suboptimal. One of the external APIs used implemented rate-limiting, which caused constant error messages when moving around on the map. Additionally, the application has a growing list of issues and suggestions. The application was brought up to date by migrating from Vue 2 to Vue 3, replacing Vuex with Pinia, switching from webpack to Vite and introducing TypeScript. The existing application got reworked to be responsive in a "mobile-first" approach. A caching mechanism was added to the application to reduce the load on the public overpass API instances. The implementation reduces unnecessary load on the shared infrastructure and improves user experience by reducing issues due to rate-limiting. There are still multiple open issues, ideas and optimisation potential for OSMyBiz. This project has created a solid foundation to implement those further development options. All while ensuring better maintainability and making it simpler to modify the frontend code base

    Reverse Engineering Labs

    Get PDF
    As it stands today there is no module or learning unit at the OST to teach the concept of reverse engineering software. Because reverse engineering is an important topic in the cyber security space, the goal of this SA is to create challenges in the topic of reverse engineering. These challenges will or can be used by lecturers of the OST in Rapperswil-Jona to teach the basics to the students. To achieve this goal we created challenges in ascending difficulty. At first the students will get information about the software they will use and the overall strategies of reverse engineering. After that they learn about some more advanced concepts. The focus here is creating the challenges in a manner, which should teach the basics in a easy to understand fashion. These challenges will be hosted on the Hacking-Lab platform. To ensure the quality of our challenges we did organise testing participants, who are cyber security students in their fifth semester as well. These tests should be the indicator if the goal was reached. The primary goal was to create a total of up to 10 challenges in this SA. This goal was achieved with a total of 11 created challenges. The testing was also successfully carried out and the feedback overall positive. If there was some common feedback, we adjusted the corresponding challenge based on it. This project was overall very successful, but there has also to be said that the topic of reverse engineering is huge and only a very small portion of it was covered in these challenges. There are many more techniques and tools which have not been covered yet and this could be a future work

    Peer-to-Peer Content Delivery Network

    Get PDF
    Web applications have historically been centralized in their way of distributing data. Peer-to-peer protocols such as BitTorrent have only recently been introduced to the web thanks to the increasing support of WebRTC. This project analyses technologies that already take advantage of this while proposing improvements to increase decentralization. After researching available technologies and proposing a new concept, we built our proposed concept as a prototype. The focus of this prototype is to be as decentralized as possible, while still working with a web application without the need to install any plugins or external software by a user. Our concept, backed by the prototype, shows that it is possible to implement a system for delivering files in a peer-to-peer fashion without centralized services. Arguably, the developed prototype is not suitable for small, latency sensitive data, because of the latency introduced by the complex nature of peer-to-peer connection establishment. With current technologies, a sub-second download of any file is therefore impossible. Latency can still be improved by prioritizing peers for latency, to reach smaller round-trip times and therefore faster connection-establishment. This mechanism remains to be solved by future work

    Smart Knowledge Capture: Filter Editor

    Get PDF
    Boolesche Ausdrücke, welche auf mathematischen Grundlagen, nämlich der booleschen Algebra, basieren, sind in der Informatik allgegenwärtig. Sie können unter anderem genutzt werden, um Filterausdrücke zu definieren, wobei diese beliebig lang werden können. Die dadurch entstehende Komplexität gilt es zu reduzieren. Im Rahmen dieser Arbeit sollen deshalb Konzepte entwickelt werden, welche die Nutzenden bei der Erstellung von Filterausdrücken unterstützen. Um das Ziel der Arbeit zu erreichen, wurden zuerst voneinander unabhängige Konzepte, welche als Teilfunktionen des zu entwerfenden Filter-Editors angesehen werden können, erarbeitet. Diese Konzepte wurden anschliessend in Form eines Figma Prototyps umgesetzt, welcher über mehrere Iterationen verbessert wurde. Dabei wurde zu Beginn jeder Iteration ein Vorschlag erarbeitet, welcher im Anschluss mit diversen Personen getestet wurde. Das erhaltene Feedback konnte jeweils für die nächste Iteration verwendet werden. Basierend auf dem entstandenen Figma Prototyp konnte dann eine Web Component implementiert werden. Dabei kamen TypeScript und Stencil.js zum Einsatz. Um die Benutzungsfreundlichkeit zu validieren, wurden Usability Tests durchgeführt. Die technische Umsetzung wurde zudem mit End-to-End Tests abgesichert. Der am Ende gebaute Filter-Editor, in Form einer Web Component, bietet alle grundlegend notwendigen Funktionen, um einen beliebigen Filterausdruck zu erstellen. Für die Darstellung des Filterausdrucks gibt es zwei Ansichten, eine Baumansicht und eine Zeilenansicht. Die Baumansicht ermöglicht es Filterausdrücke auf einfache Weise per Drag & Drop zusammenzustellen und zu verändern

    Link Management Tool with Internet Archive Integration

    Get PDF
    Hyperlinks, also known as URLs or links, are the foundation of the Internet, they allow seamless navigation between online resources with a single click. They make the Web a web. However, the content behind a link can change, move or be deleted without notice. This, combined with the often short-lived nature of content on the Internet, can lead to problematic situations. The phenomena of disappearing content and unannounced changes are known as link rot and content drift respectively. This thesis addresses the challenges of both link rot and content drift. We develop a command-line tool called Link Management Tool (LMT) to provide an automated approach to detecting and fixing broken links and drifted content. Additionally, we extend an existing free and open source link-checking tool called lychee. In both implementations, we integrate the Wayback Machine, a digital web archive, to provide access to archived snapshots of websites from the past

    Cloud Native Intent Automation

    Get PDF
    Introduction Infrastructure providers, such as mobile providers, heavily rely on Kubernetes to orchestrate containerized applications. More modern and flexible cloud approaches have increased and outpaced the development of flexible infrastructure. Nowadays, additional clusters are often being deployed manually, which is error-prone and leads to non-standardized infrastructure. As running workloads on single clusters is manageable, having hundreds of clusters, each running different applications, depicts new challenges. Deploying and running remote clusters is not only a question of service orchestration, it brings up the need for high-performing, flexible, and private networking. Bringing this challenge further was key to our thesis. We evaluated Nephio as intent-based automation framework for service orchestration utilizing the concept of Single-Source-of-Truth using GitOps. Networks between the source and destination must be as flexible as the clusters to automatically ensure private and secure network routing along newly deployed clusters and workloads. Running a new cluster for a new customer intends to manually deploy Kubernetes, container network interface (CNI), workloads, and network connectivity. This thesis aims to prove possible automation of these challenges with state-of-the-art technologies like SRv6 packet-routing, Cilium networking for Kubernetes, and Nephio service orchestration platform. Methods Multiple IPv4 and IPv6 networks simulating a network infrastructure were set up. The routers were connecting multiple Kubernetes environments. In the first stage, the Kubernetes environments were deployed using a customized Ansible playbook based on Kubespray. The following deployment installed Cilium as CNI on the deployed Kubernetes control-plane node. Eventually, the third deployment integrated the Kubernetes environment into the central Nephio management cluster. Nephio allowed us to deploy not only applications but network configurations as well. A substantial effort was put into network device configuration deployment to ensure networking between Kubernetes containers. An additional optional use case was achieved by scaling Kubernetes clusters to the public cloud, which were connected to our on-premise environment. Results The Kubernetes deployment was executed successfully, enabling low-effort cluster deployments. Cilium networking was deployed, allowing new networking technologies, like source-determined routing called SRv6. Nephio, which is still in a pre-launch condition, implements straightforward and effective workload deployments for multi-cluster environments. As cloud-native infrastructure covers a wide range of topics, we were able to demonstrate the capabilities of further deployments like network devices or public cloud enrollment. Some parts of cloud environments are more challenging than others to deploy, and with new technologies coming up, cloud environment automation will remain a fascinating topic. Our thesis, conducted as a proof-of-concept, demonstrates that many manually configured infrastructures may be automatically deployed. Discussion Nephio is a new product with a lot of potential and numerous features on the roadmap. In the future, enterprises with large fleets of decentralized Kubernetes clusters should keep an eye on Nephio. Single-Source-of-Truth and GitOps are featured by Nephio and will be adapted in networking in a broader spectrum with promising potential. SRv6 is still an emerging and exciting technology, offering flexible routing between containers in extensive networks

    Digitaler Briefversand

    Get PDF
    Introduction Communication in the modern business world is characterized by remarkable complexity. In addition to conventional communication methods, such as postal mail, innovative approaches have emerged that businesses can leverage. Email and messenger services like Microsoft Teams or WhatsApp have become widely adopted communication channels. The clear trend indicates a significant preference for digital communication forms. The trend shows a clear preference for digital forms of communication, which is at the expense of the still important, paper-based postal correspondence. In this work, analogue postal traffic is to be digitally enriched in order to combine the advantages of both worlds. Objective Within the scope of this project, a prototype of an application is being developed with the aim of digitizing postal mail. The primary goal is to create a user-friendly application that makes it easier for the sender to digitally send a letter to a recipient. If the digital route is not feasible, the application will automatically send the letter through traditional means. The prototype is designed to be easily expandable to facilitate the continuous development and implementation of new features. Another crucial aspect of the application is its broad device compatibility to ensure maximum user reach. Conclusion In the creation of the prototype for this project, we utilized the following technologies: Node.js and TypeScript were employed for the backend. Electron, in conjunction with React, also in TypeScript, was used for the desktop application. For the mobile application, we opted for Flutter. The application allows an organization to digitally send a letter to a customer via the desktop application, who then receives it through the mobile app. The application autonomously decides whether the letter should be digitally sent to the recipient after verifying their address or if it should be physically sent if verification is not successful. In further development, the desktop application is planned to be enhanced with automatic address recognition, and the manual handling of physical mail delivery will be improved as needed

    ReSet - Entwicklung einer integrierten Settingsanwendung für Linux

    Get PDF
    In this paper, ReSet, a user-friendly settings application for Linux is developed with the Rust programming language. ReSet aims to run on every distribution and environment, providing a consistent experience for all users. Key features include the configuration of Wi-Fi networks, Bluetooth devices, and audio devices. These features are tied together in a responsive user interface. Future development will focus on new features such as configuring peripherals, as well as a plugin system. This will allow users to extend ReSet with their features. Existing solutions either focus only on one functionality or are tightly coupled into an already existing environment, which brings incompatible features to other environments with it. Users of smaller, niche environments are therefore forced to either use multiple solutions at once or accept a partially incompatible solution. ReSet focuses on more than one functionality while not bundling with any environment, making it an independent application and solving the underlying issue. In order to provide a consistent, functional and appealing design, multiple existing solutions were compared and analyzed in order to develop ReSet. In summary, ReSet represents a significant advancement in Linux settings applications, offering a concise, cross-environment solution that prioritizes user experience through Rust's efficiency and adaptability

    Make Model Driven Network Automation Pythonic

    Get PDF
    YANG is a data modelling language used to define data structures transmitted over either the NETCONF or RESTCONF protocol. Such models can be used to perform so-called Model Driven Network Automation. The goal of this project is to create a proof-of-concept to show how YANG models could be translated to Python data-structures based on pydantic. These data-structures can in turn be initialized with configuration values, serialized into a RESTCONF payload and sent to a network device, applying the configuration. If successful, this would facilitate configuring network devices through Python code, without requiring the user to have prior knowledge of YANG. We started by analysing the Python ecosystem surrounding YANG, including projects such as Pyang, pyangbind, yangson and Pyang-Pydantic, as well as pydantic and datamodel-code-generator. Our analysis revealed that most of the projects in the ecosystem have either been abandoned for years or are nowhere near robust or reliable enough to be used in a productive environment. After some consideration, we settled on Pyang as our YANG parser and used the Pyang-Pydantic plugin as a starting point for our project. We then proceeded to gradually add features designed to make the generated Python models as intuitive and convenient to work with as possible. This resulted in the creation of Pydantify, a tool for translating YANG models into executable Python code which can in turn generate valid RESTCONF payloads. On top of validating the concept as feasible, we successfully managed to implement a large section of the YANG specification, enabling some real-world models to be converted without issue

    1,015

    full texts

    1,194

    metadata records
    Updated in last 30 days.
    eprints OST (Ostschweider Fachhochschule)
    Access Repository Dashboard
    Do you manage Open Research Online? Become a CORE Member to access insider analytics, issue reports and manage access to outputs from your repository in the CORE Repository Dashboard! 👇