Bracket QOS - a Quality of Service/Experience server system writtin in Rust. Derived from the excellent LibreQOS Project.

Overview

Bracket QOS - Open Source Edition

This project is based on the excellent LibreQOS project. It is hoped that this can be useful for the upstream project.

Please note that the Open Source port isn't quite ready for production yet. I'm still porting it over from our overly coupled to our network version. You should be able to get it to work, but there's quite a bit of work ahead for me --- documentation, cleaning up hard-coded paths and similar.

What is BracketQOS?

BracketQOS is a Rust implementation of LibreQOS, with a web front-end. It seeks to provide CAKE-based QoS/QoE for WISPs (Wireless Internet Service Providers), with an interface that helps your support team. We run it in production, and have been very happy with the overall results.

This is an Open Source port of our internal version (which is far too tied into how our network is setup). The port still needs quite a bit of work, but I wanted to make it available to the LibreQOS team as soon as possible. As time permits, we'll keep adding documentation, remove UISP as a requirement (and make it an option), improve the BPF side of things, etc.

Components

  • qos_daemon - runs on the shaping server, periodically updating queue trees from UISP and transmitting usage data to the QoS Manager.
  • qos_manager - can (and probably should) be run on a different server, and provides a front-end to BracketQOS.

Shared Library Modules

  • config - stores the shaper configuration and handles serialization.
  • uisp_support - limited UISP API implementation, enough to handle the queries required by BracketQOS. Currently, UISP is required. Removing UISP as a requirement --- and making it into an optional nicety --- is a priority.
  • shared_rest - an API definition for the qos_daemon to talk to the qos_manager.

Full Documentation

Please refer to the docs folder, which contains an mdbook book on how to setup bracket-qos.

License

Because the original project is GPL, so is this one.

You might also like...
A versatile and dynamic music bot designed to elevate the musical experience within Discord servers.

Masayoshi Masayoshi is a discord music bot written in Rust for making a great experience within Discord servers with support to Youtube, SoundCloud, S

SKYULL is a command-line interface (CLI) in development that creates REST API project structure templates with the aim of making it easy and fast to start a new project.

SKYULL is a command-line interface (CLI) in development that creates REST API project structure templates with the aim of making it easy and fast to start a new project. With just a few primary configurations, such as project name, you can get started quickly.

Spoon Radio Echo Project, Lightweight and scalable broadcasting server.

Echo Project https://medium.com/p/3bd1434a163a Echo was initiated by a social network platform, Spoon Radio(https://www.spooncast.net). The main goal

Bruteforce connecting to a specific Sea of Thieves server. Useful if you want to be in the same server as your friends.

SoT Server Finder Find which Sea of Thieves server you're connected to. Useful if you want to be in the same server as your friends. Setup Download so

Leptos server signals synced through Server-Sent-Events (SSE)

Leptos Server Sent Events Server signals are leptos signals kept in sync with the server through server-sent-events (SSE). The signals are read-only o

Infino - Fast and scalable service to store time series and logs - written in Rust

Infino 〽️ 🪵 — 🔍 📊 — ⚖️ 💰 Ingest Metrics and Logs — Query and Insights — Scale and Save $$ Infino is an observability platform for storing metrics

Service-Oriented Design Patterns for Rust

SOD: Service-Oriented Design Overview This crate provides Service, MutService, and AsyncService traits and associated utilities to facilitiate service

Backend service to build customer facing dashboards 10x faster. Written in Rust.
Backend service to build customer facing dashboards 10x faster. Written in Rust.

Frolic is an open source backend service (written in Rust) to build customer facing dashboards 10x faster. You can directly connect your database to t

Authentication and authorization service, written in Rust

auth-rs auth-rs provides a simple authentication and authorization service for use in other services. The service is written in Rust and uses the acti

Owner
Herbert "TheBracket"
Developer of RLTK and Nox Futura open source projects, and consultant on Rust, C++, TypeScript, C#, Java, Mikrotik and anything else you want to hand my way!
Herbert
Structopt derived ethers-rs types, useful for building Ethereum CLIs

ethers-structopt Provides ethers-compatible Structopt derives, useful for building Ethereum CLIs. Contributing Pull requests are welcome. For major ch

Georgios Konstantopoulos 6 Dec 27, 2022
turbocommit is a Rust-based CLI tool that generates high-quality git commit messages in accordance with the Conventional Commits specification, using OpenAI's

turbocommit is a Rust-based CLI tool that generates high-quality git commit messages in accordance with the Conventional Commits specification, using OpenAI's `gpt-3.5-turbo` language model. It is easy to use and a cost-effective way to keep git commit history at a higher quality, helping developers stay on track with their work.

Sett 16 Mar 26, 2023
A validations framework for doing quality control in studios.

Untitled Checks Framework Overview This framework is designed to provide a system to write checks for studio work. This includes validating assets (ri

Scott Wilson 8 Jan 28, 2023
Enhance low quality images and videos using AI technology.

Real ESRGAN GUI Real ESRGAN GUI is a simple and minimal GUI for xinntao's Real-ESRGAN This allows you to enhance low quality images and videos using A

null 20 Dec 21, 2022
Tight Model format is a lossy 3D model format focused on reducing file size as much as posible without decreasing visual quality of the viewed model or read speeds.

What is Tight Model Format The main goal of the tmf project is to provide a way to save 3D game assets compressed in such a way, that there are no not

null 59 Mar 6, 2023
A quality of life package for Anchor.

anchor-cereal A quality of life package for Anchor made to support the Solana ecosystem. Currently, it allows you to serialize a struct containing an

✨ amelia chen ✨ 24 Feb 9, 2023
First project in rust which will be to make an accounts system & Leaderboard/Score system

rust-backend this is my first project in rust which will be to make a backend for compsci project it will include: Accounts, Player Achievements (if I

NaughtyDog6000 2 Jul 13, 2023
Conference Monitoring Project based on Image Recognition that uses Rust Language and AWS Rekognition service to get the level of image similarity.

Conference Monitoring System based on Image Recognition in Rust This is a Conference Monitoring Project based on Image Recognition that uses Rust Lang

Pankaj Chaudhary 6 Dec 18, 2022
An open source artifact manager. Written in Rust back end and an Vue front end to create a fast and modern experience

nitro_repo Nitro Repo is an open source free artifact manager. Written with a Rust back end and a Vue front end to create a fast and modern experience

Wyatt Jacob Herkamp 30 Dec 14, 2022
A command line tool for people of transgender experience to replace their deadname within a Git repo.

chowndn (Change Owner from Dead Name) A command line tool for people of transgender experience to replace their dead name within a Git repo. See chown

Christi Miller 23 Dec 6, 2022