Merge pull request #1045 from LibreQoE/develop

Develop
This commit is contained in:
Robert Chacón authored and GitHub committed 2026-04-12 23:08:33 -06:00
commit db47780cc2
9 files changed
+31 -101

No files matched your search

+1
View File
@@ -78,6 +78,7 @@ src/bin/webusers
src/bin/lqusers
src/bin/Rocket.toml
src/bin/lqos_map_perf
src/bin/lqos_netplan_helper
# Ignore project folders for some IDEs
.idea/
+4 -6
View File
@@ -50,13 +50,11 @@ Once set, run `sudo systemctl restart lqos_scheduler`.
### Splynx Overrides
You can also modify the the file `integrationSplynxBandwidths.csv` to override the default bandwidths for each Node (Site, AP).
Use the LibreQoS Web UI override system to change the configured rate for a Site or AP.
A template is available in the `/opt/libreqos/src` folder. To utilize the template, copy the file `integrationSplynxBandwidths.template.csv` (removing the `.template` part of the filename) and set the appropriate information inside each file. For example, if you want to change the set bandwidth for a site, you would do:
```
sudo cp /opt/libreqos/src/integrationSplynxBandwidths.template.csv /opt/libreqos/src/integrationSplynxBandwidths.csv
```
And edit the CSV using LibreOffice or your preferred CSV editor.
Open the relevant node in the tree or topology views and save the desired bandwidth there. LibreQoS will preserve that operator override across future Splynx refreshes.
Do not create or depend on legacy `integrationSplynxBandwidths*.csv` template files for new deployments. The supported workflow is the regular UI-based override system.
## UISP Integration
+4 -6
View File
@@ -128,13 +128,11 @@ Una vez configurado, ejecute `sudo systemctl restart lqos_scheduler`.
### Sobrescrituras de Splynx
También puede modificar el archivo `integrationSplynxBandwidths.csv` para sobrescribir los anchos de banda predeterminados de cada Nodo (Sitio, AP).
Use las sobrescrituras de la interfaz web de LibreQoS para cambiar la velocidad configurada de un Sitio o AP.
Hay una plantilla disponible en la carpeta `/opt/libreqos/src`. Para usarla, copie el archivo `integrationSplynxBandwidths.template.csv` (eliminando la parte `.template` del nombre) y edítelo con la información correspondiente. Por ejemplo, si desea cambiar el bando de ancha de un sitio, ejecutaría:
```
sudo cp /opt/libreqos/src/integrationSplynxBandwidths.template.csv /opt/libreqos/src/integrationSplynxBandwidths.csv
```
Y luego editaría el CSV con LibreOffice o el editor de CSV de su preferencia.
Abra el nodo correspondiente en la vista de árbol o de topología y guarde allí el ancho de banda deseado. LibreQoS conservará esa sobrescritura del operador en futuras actualizaciones de Splynx.
No cree ni dependa de archivos heredados `integrationSplynxBandwidths*.csv` en implementaciones nuevas. El flujo compatible es el sistema normal de sobrescrituras desde la interfaz web.
## Integración con Netzur
+4 -6
View File
@@ -130,13 +130,11 @@ Once set, run `sudo systemctl restart lqos_scheduler`.
### Splynx Overrides
You can also modify the the file `integrationSplynxBandwidths.csv` to override the default bandwidths for each Node (Site, AP).
Use LibreQoS Web UI overrides to change the configured rate for a Site or AP.
A template is available in the `/opt/libreqos/src` folder. To utilize the template, copy the file `integrationSplynxBandwidths.template.csv` (removing the `.template` part of the filename) and set the appropriate information inside each file. For example, if you want to change the set bandwidth for a site, you would do:
```
sudo cp /opt/libreqos/src/integrationSplynxBandwidths.template.csv /opt/libreqos/src/integrationSplynxBandwidths.csv
```
And edit the CSV using LibreOffice or your preferred CSV editor.
Open the relevant node in the tree or topology views and save the desired bandwidth there. LibreQoS will preserve that operator override across future Splynx refreshes.
Do not create or depend on legacy `integrationSplynxBandwidths*.csv` template files for new deployments. The supported workflow is the regular UI-based override system.
## Netzur Integration
+3 -9
View File
@@ -130,17 +130,11 @@ If sync looks successful but data is incomplete, recheck API permissions and str
### Splynx Overrides
You can also modify the the file `integrationSplynxBandwidths.csv` to override the default bandwidths for each Node (Site, AP).
Use LibreQoS Web UI overrides to change the configured rate for a Site or AP.
Rate overrides saved from the tree page are separate from this legacy Splynx CSV workflow. Pick one long-term override method for a given node so your changes stay predictable.
Open the relevant node in the tree or topology views and save the desired bandwidth there. LibreQoS will preserve that operator override across future Splynx refreshes.
A template is available in the `/opt/libreqos/src` folder. To utilize the template, copy the file `integrationSplynxBandwidths.template.csv` (removing the `.template` part of the filename) and set the appropriate information inside each file. For example, if you want to change the set bandwidth for a site, you would do:
```
sudo cp /opt/libreqos/src/integrationSplynxBandwidths.template.csv /opt/libreqos/src/integrationSplynxBandwidths.csv
```
And edit the CSV using LibreOffice or your preferred CSV editor.
To avoid conflicting edits, prefer one long-term override path per node: either the legacy Splynx CSV workflow or WebUI overrides.
Do not create or depend on legacy `integrationSplynxBandwidths*.csv` template files for new deployments. The supported workflow is the regular UI-based override system.
## Related Pages
+7 -3
View File
@@ -43,10 +43,7 @@ LQOS_FILES=(
shaping_skip_report.py
systemd_hotfix.sh
virtual_tree_nodes.py
integrationUISPbandwidths.template.csv
manualNetwork.template.csv
integrationUISProutes.template.csv
integrationSplynxBandwidths.template.csv
../requirements.txt
update_api.sh
)
@@ -186,6 +183,13 @@ chmod a+x postinst postrm
popd > /dev/null || exit
# Copy files into the LibreQoS directory
for file in "${LQOS_FILES[@]}"; do
if [ ! -f "$file" ]; then
echo "Missing packaged file: $file" >&2
exit 1
fi
done
for file in "${LQOS_FILES[@]}"; do
cp "$file" "$LQOS_DIR"
done
@@ -1,66 +0,0 @@
export function inMemoriam() {
if (!localStorage.getItem('displayedDaveMemorial')) {
displayDaveMemorial();
}
}
export function displayDaveMemorial() {
// Create modal elements using Bootstrap classes
const modalHTML = `
<div class="modal fade" id="daveModal" tabindex="-1" aria-labelledby="daveModalLabel" aria-hidden="true">
<div class="modal-dialog modal-fullscreen">
<div class="modal-content bg-dark text-light">
<div class="modal-header border-secondary">
<h2 class="modal-title fs-1" id="daveModalLabel">In Loving Memory of Dave Täht</h2>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body text-center">
<div class="row mb-4">
<div class="col-12">
<p class="lead">We're devastated to announce that Dave Täht has passed away.</p>
<p>Dave was an amazing man, helping the world with FQ-CoDel and CAKE, fighting bufferbloat and trying to make the world a better place. Always willing to help, and without him - LibreQoS (and the other QoE solutions out there) wouldn't exist.</p>
<p>Dave was an inspiration, and we all miss him. We're reaching out to family and close friends to see if there's anything we can do to help.</p>
</div>
</div>
<div class="row row-cols-1 row-cols-md-3 g-4">
<div class="col">
<img src="dave/dave1.jpg"
class="img-fluid rounded"
style="object-fit: cover; width: 75%; height: 75%"
alt="Dave Täht smiling">
</div>
<div class="col">
<img src="dave/dave2.jpg"
class="img-fluid rounded"
style="object-fit: cover; width: 75%; height: 75%"
alt="Dave Täht with Robert and Frank, in Las Vegas.">
</div>
<div class="col">
<img src="dave/dave3.jpg"
class="img-fluid rounded"
style="object-fit: cover; width: 75%; height: 75%"
alt="Dave Täht in a beret, with a guitar, at Wispapalooza">
</div>
</div>
</div>
<div class="modal-footer border-secondary">
<button type="button" class="btn btn-outline-light" data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
`;
// Add modal to DOM
document.body.insertAdjacentHTML('beforeend', modalHTML);
// Initialize and show modal
const daveModal = new bootstrap.Modal(document.getElementById('daveModal'));
daveModal.show();
// Set flag when modal closes
document.getElementById('daveModal').addEventListener('hidden.bs.modal', () => {
localStorage.setItem('displayedDaveMemorial', 'true');
document.getElementById('daveModal').remove();
});
}
@@ -1,4 +1,3 @@
import {displayDaveMemorial} from "./dave";
import {get_ws_client} from "./pubsub/ws";
function escapeHtml(str) {
@@ -307,7 +306,6 @@ function initSupportTickets() {
}
// Perform wireups
$("#btnDave").click(displayDaveMemorial);
$("#btnNewTicket").on("click", openNewTicketModal);
$("#btnSubmitTicket").on("click", submitNewTicket);
$("#btnRefreshTickets").on("click", () => refreshTickets());
@@ -47,10 +47,15 @@
<a href="https://libreqos.io/" class="btn btn-primary d-inline-flex align-items-center gap-2">
<i class="fa fa-globe"></i> Visit LibreQoS.io
</a>
<button class="btn btn-lqos-memorial d-inline-flex align-items-center gap-2" type="button" id="btnDave">
<a
href="https://libreqos.io/2025/04/01/in-loving-memory-of-dave/"
class="btn btn-lqos-memorial d-inline-flex align-items-center gap-2"
target="_blank"
rel="noopener noreferrer"
>
<i class="fa fa-heart"></i>
In Memory of Dave Täht
</button>
In Loving Memory of Dave Täht
</a>
</div>
</div>
</div>