2025-02-26 14:33:44 +01:00
2025-02-26 14:33:44 +01:00
2025-02-24 10:19:41 +01:00
2025-02-26 14:29:36 +01:00
2025-02-26 14:29:36 +01:00
2025-02-26 14:29:36 +01:00
2025-02-26 14:29:36 +01:00
2025-02-26 14:29:36 +01:00
2025-02-24 10:18:52 +01:00
2025-02-24 10:18:52 +01:00
2025-02-26 14:29:36 +01:00

RouterOS Update & Changelog Dashboard

RouterOS Update & Changelog Dashboard to aplikacja webowa oparta na Flask, która służy do monitorowania aktualizacji systemu RouterOS dla urządzeń MikroTik. Aplikacja pobiera changelogi z MikroTik Changelogs i prezentuje je w przyjaznym interfejsie z podziałem na wersje (6.x, 7.x) oraz kanały wydania (stable, rc, beta). Dodatkowo dashboard wyświetla statystyki dotyczące urządzeń, logów, historii aktualizacji i ostatnich zdarzeń.

Funkcjonalności

  • Pobieranie i prezentacja changelogów

    • Automatyczne pobieranie changelogów z witryny MikroTik.
    • Filtrowanie i zapisywanie wpisów tylko dla wersji 6.x i 7.x.
    • Podział changelogów według kanałów wydania: stable, rc, beta.
    • Formatowanie wersji (np. „7.182025” jest wyświetlane jako „7.18”) wraz z datą wydania.
    • Prezentacja changelogów z wykorzystaniem Prism.js z obsługą trybu ciemnego/jasnego.
  • Zarządzanie urządzeniami

    • Dodawanie, edycja i monitorowanie urządzeń MikroTik.
    • Sprawdzanie aktualizacji oprogramowania na urządzeniach.
    • Rejestrowanie logów i historii aktualizacji.
  • Dashboard

    • Wyświetlanie liczby urządzeń, logów, urządzeń wymagających aktualizacji oraz wykonanych aktualizacji.
    • Prezentacja najnowszych wersji systemu (RouterOS 7.x i 6.x) z opcją szybkiego przejścia do szczegółowego changeloga.
    • Lista ostatnich zdarzeń z systemu.
  • Powiadomienia

    • Wysyłanie powiadomień za pomocą Pushover i e-mail, gdy dostępne są nowe aktualizacje.
    • Wbudowana detekcja anomalii na podstawie logów.
  • Planowanie zadań

    • Automatyczne sprawdzanie urządzeń, pobieranie changelogów oraz czyszczenie starych logów dzięki APScheduler.

Technologie

  • Flask framework webowy.
  • SQLAlchemy ORM do zarządzania bazą danych.
  • Flask-Login uwierzytelnianie użytkowników.
  • APScheduler planowanie zadań w tle.
  • BeautifulSoup parsowanie HTML do pobierania changelogów.
  • Prism.js prezentacja i podświetlanie składni (z trybem ciemnym/jasnym).
  • Bootstrap 5 responsywny interfejs użytkownika.

Instalacja

  1. Klonowanie repozytorium:

    git clone https://github.com/TwojeRepozytorium/routeros-update.git
    cd routeros-update
    
    
  2. Utworzenie środowiska wirtualnego i instalacja zależności:

source venv/bin/activate   # Na Windows: venv\Scripts\activate
pip install -r requirements.txt

3. Inicjalizacja bazy danych: (nie jest to potrzebne, tylko przy aktualizacji)

Domyślnie aplikacja używa SQLite. Uruchom aplikację lub użyj Flask shell, aby utworzyć bazę:

flask shell

from app import db db.create_all()

Konfiguracja

  1. :Plik konfiguracyjny:: W pliku app.py ustaw odpowiednią wartość dla SECRET_KEY oraz, jeśli potrzebujesz, zmodyfikuj SQLALCHEMY_DATABASE_URI.

  2. :Powiadomienia:: Po rejestracji użytkownika skonfiguruj ustawienia powiadomień (Pushover, SMTP) w sekcji ustawień.

  3. :Tryb ciemny/jasny:: Globalny przełącznik trybu (w menu) umożliwia zmianę wyglądu całej aplikacji, w tym motywu Prism.js wykorzystywanego do prezentacji changelogów.

Instalacja

Lokalnie

  1. Klonowanie repozytorium:
    git clone https://github.com/TwojeRepozytorium/routeros-update.git
    cd routeros-update
    
    

Klonowanie repozytorium:

source venv/bin/activate   # Na Windows: venv\Scripts\activate
pip install -r requirements.txt

3. **Uruchomienie aplikacji:**

```python app.py

Aplikacja będzie dostępna pod adresem: http://0.0.0.0:5582

# Uruchomienie w Dockerze

Aplikację można uruchomić w kontenerze Docker (lub Podman). W repozytorium znajdują się następujące pliki:

1. Dockerfile  definicja obrazu aplikacji.
2. docker-compose.yml  konfiguracja kontenera.
3. start.sh  skrypt uruchamiający kontenery (wybiera podman-compose, jeśli dostępny, lub docker-compose).

Aby uruchomić aplikację w Dockerze, wykonaj:

```./start.sh

Skrypt zatrzyma i usunie poprzednie kontenery, odbuduje obraz i uruchomi aplikację w tle.

## Użytkowanie

1. Dashboard:
Na stronie głównej dashboardu możesz zobaczyć statystyki urządzeń, liczbę logów, urządzeń wymagających aktualizacji, historię aktualizacji oraz najnowsze wersje systemu (dla RouterOS 7.x i 6.x).

2. Zarządzanie urządzeniami:
Dodawaj i edytuj urządzenia, a także sprawdzaj ich aktualizacje i logi.

3. Changelog:
Przeglądaj changelogi z podziałem na kanały wydania (stable, rc, beta) oraz serie wersji (7.x i 6.x). Możesz wybrać konkretny changelog z listy lub wyświetlić najnowszy wpis.

4. Aktualizacja changelogów:
Użyj przycisku "Aktualizuj changelogi" na stronie changelogów, aby ręcznie pobrać wszystkie nowe wpisy (operacja usunie stare wpisy z bazy).

## Wkład i rozwój

Zapraszam do zgłaszania poprawek i propozycji rozwoju. Aby wnieść swój wkład:

1. Forkuj repozytorium.
2. Wprowadź zmiany.
3. Otwórz pull request.

## Licencja
Projekt jest dostępny na licencji MIT.
Description
No description provided
Readme 411 KiB
Languages
HTML 63.7%
Python 35.8%
Shell 0.4%
Dockerfile 0.1%