NetAlertX icon indicating copy to clipboard operation
NetAlertX copied to clipboard

NetAlertX error setting parameter

Open rox-ale opened this issue 9 months ago β€’ 5 comments

Is there an existing issue for this?

  • [X] I have searched the existing open and closed issues and I checked the docs https://github.com/jokob-sk/NetAlertX/tree/main/docs

Current Behavior

Hy I installed netalertx on docker. I configured the network on which it must scan, but then the screens like this appear, without icons and menu names. What causes this anomaly? how can I solve it?

Thanks Alessio

Expected Behavior

this screen does not appear, but its values

OpMolWI12OELaT2r

Steps To Reproduce

No response

app.conf

#-----------------AUTOGENERATED FILE-----------------#
#                                                    #
#         Generated:  2024-04-27_16-58-02            #
#                                                    #
#   Config file for the LAN intruder detection app:  #
#      https://github.com/jokob-sk/NetAlertX          #
#                                                    #
#-----------------AUTOGENERATED FILE-----------------#


# General
#---------------------------
LOG_LEVEL=''
LOG_LEVEL__metadata=
TIMEZONE='Europe/Rome'
TIMEZONE__metadata=
PLUGINS_KEEP_HIST=
PLUGINS_KEEP_HIST__metadata=
PIALERT_WEB_PROTECTION=False
PIALERT_WEB_PROTECTION__metadata=
PIALERT_WEB_PASSWORD=''
PIALERT_WEB_PASSWORD__metadata=
REPORT_DASHBOARD_URL=''
REPORT_DASHBOARD_URL__metadata=
UI_LANG=''
UI_LANG__metadata=
UI_PRESENCE=[]
UI_PRESENCE__metadata=
UI_DEV_SECTIONS=[]
UI_DEV_SECTIONS__metadata=
UI_MY_DEVICES=[]
UI_MY_DEVICES__metadata=
UI_NOT_RANDOM_MAC=[]
UI_NOT_RANDOM_MAC__metadata=
UI_ICONS=[]
UI_ICONS__metadata=
UI_REFRESH=
UI_REFRESH__metadata=
DAYS_TO_KEEP_EVENTS=
DAYS_TO_KEEP_EVENTS__metadata=
HRS_TO_KEEP_NEWDEV=
HRS_TO_KEEP_NEWDEV__metadata=
API_CUSTOM_SQL=''
API_CUSTOM_SQL__metadata=
NETWORK_DEVICE_TYPES=[]
NETWORK_DEVICE_TYPES__metadata=


# ARPSCAN
#---------------------------
SCAN_SUBNETS=[]
SCAN_SUBNETS__metadata=
ARPSCAN_RUN=''
ARPSCAN_RUN__metadata=
ARPSCAN_CMD=''
ARPSCAN_CMD__metadata=
ARPSCAN_RUN_TIMEOUT=
ARPSCAN_RUN_TIMEOUT__metadata=
ARPSCAN_RUN_SCHD=''
ARPSCAN_RUN_SCHD__metadata=
ARPSCAN_WATCH=[]
ARPSCAN_WATCH__metadata=
ARPSCAN_REPORT_ON=[]
ARPSCAN_REPORT_ON__metadata=
ARPSCAN_ARGS=''
ARPSCAN_ARGS__metadata=


# DBCLNP
#---------------------------
DBCLNP_RUN=''
DBCLNP_RUN__metadata=
DBCLNP_CMD=''
DBCLNP_CMD__metadata=
DBCLNP_RUN_SCHD=''
DBCLNP_RUN_SCHD__metadata=
DBCLNP_RUN_TIMEOUT=
DBCLNP_RUN_TIMEOUT__metadata=
DBCLNP_NOTIFI_HIST=
DBCLNP_NOTIFI_HIST__metadata=


# INTRSPD
#---------------------------
INTRSPD_RUN=''
INTRSPD_RUN__metadata=
INTRSPD_CMD=''
INTRSPD_CMD__metadata=
INTRSPD_RUN_SCHD=''
INTRSPD_RUN_SCHD__metadata=
INTRSPD_RUN_TIMEOUT=
INTRSPD_RUN_TIMEOUT__metadata=
INTRSPD_WATCH=[]
INTRSPD_WATCH__metadata=
INTRSPD_REPORT_ON=[]
INTRSPD_REPORT_ON__metadata=


# INTRNT
#---------------------------
INTRNT_RUN=''
INTRNT_RUN__metadata=
INTRNT_CMD=''
INTRNT_CMD__metadata=
INTRNT_DIG_GET_IP_ARG=''
INTRNT_DIG_GET_IP_ARG__metadata=
INTRNT_RUN_SCHD=''
INTRNT_RUN_SCHD__metadata=
INTRNT_RUN_TIMEOUT=
INTRNT_RUN_TIMEOUT__metadata=
INTRNT_WATCH=[]
INTRNT_WATCH__metadata=
INTRNT_REPORT_ON=[]
INTRNT_REPORT_ON__metadata=


# DHCPLSS
#---------------------------
DHCPLSS_RUN=''
DHCPLSS_RUN__metadata=
DHCPLSS_CMD=''
DHCPLSS_CMD__metadata=
DHCPLSS_paths_to_check=[]
DHCPLSS_paths_to_check__metadata=
DHCPLSS_RUN_SCHD=''
DHCPLSS_RUN_SCHD__metadata=
DHCPLSS_RUN_TIMEOUT=
DHCPLSS_RUN_TIMEOUT__metadata=
DHCPLSS_WATCH=[]
DHCPLSS_WATCH__metadata=
DHCPLSS_REPORT_ON=[]
DHCPLSS_REPORT_ON__metadata=


# MAINT
#---------------------------
MAINT_RUN=''
MAINT_RUN__metadata=
MAINT_CMD=''
MAINT_CMD__metadata=
MAINT_RUN_SCHD=''
MAINT_RUN_SCHD__metadata=
MAINT_RUN_TIMEOUT=
MAINT_RUN_TIMEOUT__metadata=
MAINT_LOG_LENGTH=
MAINT_LOG_LENGTH__metadata=


# NTFPRCS
#---------------------------
NTFPRCS_INCLUDED_SECTIONS=[]
NTFPRCS_INCLUDED_SECTIONS__metadata=
NTFPRCS_alert_down_time=
NTFPRCS_alert_down_time__metadata=
NTFPRCS_new_dev_condition=''
NTFPRCS_new_dev_condition__metadata=
NTFPRCS_event_condition=''
NTFPRCS_event_condition__metadata=


# SMTP
#---------------------------
SMTP_RUN=''
SMTP_RUN__metadata=
SMTP_CMD=''
SMTP_CMD__metadata=
SMTP_RUN_TIMEOUT=
SMTP_RUN_TIMEOUT__metadata=
SMTP_SERVER=''
SMTP_SERVER__metadata=
SMTP_PORT=
SMTP_PORT__metadata=
SMTP_SKIP_LOGIN=False
SMTP_SKIP_LOGIN__metadata=
SMTP_USER=''
SMTP_USER__metadata=
SMTP_PASS=''
SMTP_PASS__metadata=
SMTP_SKIP_TLS=False
SMTP_SKIP_TLS__metadata=
SMTP_FORCE_SSL=False
SMTP_FORCE_SSL__metadata=
SMTP_REPORT_TO=''
SMTP_REPORT_TO__metadata=
SMTP_REPORT_FROM=''
SMTP_REPORT_FROM__metadata=


# WEBHOOK
#---------------------------
WEBHOOK_RUN=''
WEBHOOK_RUN__metadata=
WEBHOOK_CMD=''
WEBHOOK_CMD__metadata=
WEBHOOK_RUN_TIMEOUT=
WEBHOOK_RUN_TIMEOUT__metadata=
WEBHOOK_URL=''
WEBHOOK_URL__metadata=
WEBHOOK_PAYLOAD=''
WEBHOOK_PAYLOAD__metadata=
WEBHOOK_REQUEST_METHOD=''
WEBHOOK_REQUEST_METHOD__metadata=
WEBHOOK_SIZE=
WEBHOOK_SIZE__metadata=
WEBHOOK_SECRET=''
WEBHOOK_SECRET__metadata=


# PUSHSAFER
#---------------------------
PUSHSAFER_RUN=''
PUSHSAFER_RUN__metadata=
PUSHSAFER_CMD=''
PUSHSAFER_CMD__metadata=
PUSHSAFER_RUN_TIMEOUT=
PUSHSAFER_RUN_TIMEOUT__metadata=
PUSHSAFER_TOKEN=''
PUSHSAFER_TOKEN__metadata=


# DDNS
#---------------------------
DDNS_RUN=''
DDNS_RUN__metadata=
DDNS_CMD=''
DDNS_CMD__metadata=
DDNS_RUN_SCHD=''
DDNS_RUN_SCHD__metadata=
DDNS_RUN_TIMEOUT=
DDNS_RUN_TIMEOUT__metadata=
DDNS_DOMAIN=''
DDNS_DOMAIN__metadata=
DDNS_USER=''
DDNS_USER__metadata=
DDNS_PASSWORD=''
DDNS_PASSWORD__metadata=
DDNS_UPDATE_URL=''
DDNS_UPDATE_URL__metadata=
DDNS_WATCH=[]
DDNS_WATCH__metadata=
DDNS_REPORT_ON=[]
DDNS_REPORT_ON__metadata=


# PHOLUS
#---------------------------
PHOLUS_RUN=''
PHOLUS_RUN__metadata=
PHOLUS_CMD=''
PHOLUS_CMD__metadata=
PHOLUS_RUN_TIMEOUT=
PHOLUS_RUN_TIMEOUT__metadata=
PHOLUS_RUN_SCHD=''
PHOLUS_RUN_SCHD__metadata=
PHOLUS_DAYS_DATA=
PHOLUS_DAYS_DATA__metadata=
PHOLUS_WATCH=[]
PHOLUS_WATCH__metadata=
PHOLUS_REPORT_ON=[]
PHOLUS_REPORT_ON__metadata=


# CSVBCKP
#---------------------------
CSVBCKP_RUN=''
CSVBCKP_RUN__metadata=
CSVBCKP_CMD=''
CSVBCKP_CMD__metadata=
CSVBCKP_RUN_SCHD=''
CSVBCKP_RUN_SCHD__metadata=
CSVBCKP_RUN_TIMEOUT=
CSVBCKP_RUN_TIMEOUT__metadata=
CSVBCKP_overwrite=False
CSVBCKP_overwrite__metadata=
CSVBCKP_location=''
CSVBCKP_location__metadata=


# MQTT
#---------------------------
MQTT_RUN=''
MQTT_RUN__metadata=
MQTT_CMD=''
MQTT_CMD__metadata=
MQTT_RUN_SCHD=''
MQTT_RUN_SCHD__metadata=
MQTT_RUN_TIMEOUT=
MQTT_RUN_TIMEOUT__metadata=
MQTT_BROKER=''
MQTT_BROKER__metadata=
MQTT_PORT=
MQTT_PORT__metadata=
MQTT_USER=''
MQTT_USER__metadata=
MQTT_PASSWORD=''
MQTT_PASSWORD__metadata=
MQTT_QOS=
MQTT_QOS__metadata=
MQTT_VERSION=
MQTT_VERSION__metadata=
MQTT_DELAY_SEC=
MQTT_DELAY_SEC__metadata=
MQTT_SEND_STATS=False
MQTT_SEND_STATS__metadata=
MQTT_SEND_DEVICES=False
MQTT_SEND_DEVICES__metadata=


# DHCPSRVS
#---------------------------
DHCPSRVS_RUN=''
DHCPSRVS_RUN__metadata=
DHCPSRVS_CMD=''
DHCPSRVS_CMD__metadata=
DHCPSRVS_RUN_SCHD=''
DHCPSRVS_RUN_SCHD__metadata=
DHCPSRVS_RUN_TIMEOUT=
DHCPSRVS_RUN_TIMEOUT__metadata=
DHCPSRVS_WATCH=[]
DHCPSRVS_WATCH__metadata=
DHCPSRVS_REPORT_ON=[]
DHCPSRVS_REPORT_ON__metadata=


# PIHOLE
#---------------------------
PIHOLE_RUN=''
PIHOLE_RUN__metadata=
PIHOLE_CMD_OLD=''
PIHOLE_CMD__metadata=
PIHOLE_DB_PATH=''
PIHOLE_DB_PATH__metadata=
PIHOLE_RUN_SCHD=''
PIHOLE_RUN_SCHD__metadata=
PIHOLE_WATCH=[]
PIHOLE_WATCH__metadata=
PIHOLE_REPORT_ON=[]
PIHOLE_REPORT_ON__metadata=


# UNFIMP
#---------------------------
UNFIMP_RUN=''
UNFIMP_RUN__metadata=
UNFIMP_CMD=''
UNFIMP_CMD__metadata=
UNFIMP_username=''
UNFIMP_username__metadata=
UNFIMP_password=''
UNFIMP_password__metadata=
UNFIMP_host=''
UNFIMP_host__metadata=
UNFIMP_port=''
UNFIMP_port__metadata=
UNFIMP_verifyssl=''
UNFIMP_verifyssl__metadata=
UNFIMP_version=''
UNFIMP_version__metadata=
UNFIMP_sites=[]
UNFIMP_sites__metadata=
UNFIMP_RUN_SCHD=''
UNFIMP_RUN_SCHD__metadata=
UNFIMP_RUN_TIMEOUT=
UNFIMP_RUN_TIMEOUT__metadata=
UNFIMP_WATCH=[]
UNFIMP_WATCH__metadata=
UNFIMP_REPORT_ON=[]
UNFIMP_REPORT_ON__metadata=
UNFIMP_fullimport=''
UNFIMP_fullimport__metadata=


# NEWDEV
#---------------------------
NEWDEV_ignored_MACs=[]
NEWDEV_ignored_MACs__metadata=
NEWDEV_ignored_IPs=[]
NEWDEV_ignored_IPs__metadata=
NEWDEV_dev_MAC=''
NEWDEV_dev_MAC__metadata=
NEWDEV_dev_Name=''
NEWDEV_dev_Name__metadata=
NEWDEV_dev_Owner=''
NEWDEV_dev_Owner__metadata=
NEWDEV_dev_DeviceType=''
NEWDEV_dev_DeviceType__metadata=
NEWDEV_dev_Vendor=''
NEWDEV_dev_Vendor__metadata=
NEWDEV_dev_Favorite=False
NEWDEV_dev_Favorite__metadata=
NEWDEV_dev_Group=''
NEWDEV_dev_Group__metadata=
NEWDEV_dev_Comments__metadata=
NEWDEV_dev_FirstConnection=''
NEWDEV_dev_FirstConnection__metadata=
NEWDEV_dev_LastConnection=''
NEWDEV_dev_LastConnection__metadata=
NEWDEV_dev_LastIP=''
NEWDEV_dev_LastIP__metadata=
NEWDEV_dev_StaticIP=False
NEWDEV_dev_StaticIP__metadata=
NEWDEV_dev_ScanCycle=False
NEWDEV_dev_ScanCycle__metadata=
NEWDEV_dev_LogEvents=False
NEWDEV_dev_LogEvents__metadata=
NEWDEV_dev_AlertEvents=False
NEWDEV_dev_AlertEvents__metadata=
NEWDEV_dev_AlertDeviceDown=False
NEWDEV_dev_AlertDeviceDown__metadata=
NEWDEV_dev_SkipRepeated=''
NEWDEV_dev_SkipRepeated__metadata=
NEWDEV_dev_LastNotification=''
NEWDEV_dev_LastNotification__metadata=
NEWDEV_dev_PresentLastScan=False
NEWDEV_dev_PresentLastScan__metadata=
NEWDEV_dev_NewDevice=False
NEWDEV_dev_NewDevice__metadata=
NEWDEV_dev_Location=''
NEWDEV_dev_Location__metadata=
NEWDEV_dev_Archived=False
NEWDEV_dev_Archived__metadata=
NEWDEV_dev_Network_Node_MAC_ADDR=''
NEWDEV_dev_Network_Node_MAC_ADDR__metadata=
NEWDEV_dev_Network_Node_port=''
NEWDEV_dev_Network_Node_port__metadata=
NEWDEV_dev_Icon=''
NEWDEV_dev_Icon__metadata=


# UNDIS
#---------------------------
UNDIS_RUN=''
UNDIS_RUN__metadata=
UNDIS_CMD=''
UNDIS_CMD__metadata=
UNDIS_RUN_TIMEOUT=
UNDIS_RUN_TIMEOUT__metadata=
UNDIS_WATCH=''
UNDIS_WATCH__metadata=
UNDIS_REPORT_ON=''
UNDIS_REPORT_ON__metadata=
UNDIS_devices_to_import=[]
UNDIS_devices_to_import__metadata=
UNDIS_RUN_SCHD=''
UNDIS_RUN_SCHD__metadata=


# SNMPDSC
#---------------------------
SNMPDSC_RUN=''
SNMPDSC_RUN__metadata=
SNMPDSC_CMD=''
SNMPDSC_CMD__metadata=
SNMPDSC_routers=[]
SNMPDSC_routers__metadata=
SNMPDSC_RUN_SCHD=''
SNMPDSC_RUN_SCHD__metadata=
SNMPDSC_RUN_TIMEOUT=
SNMPDSC_RUN_TIMEOUT__metadata=
SNMPDSC_WATCH=[]
SNMPDSC_WATCH__metadata=
SNMPDSC_REPORT_ON=[]
SNMPDSC_REPORT_ON__metadata=


# WEBMON
#---------------------------
WEBMON_RUN=''
WEBMON_RUN__metadata=
WEBMON_CMD=''
WEBMON_CMD__metadata=
WEBMON_RUN_SCHD=''
WEBMON_RUN_SCHD__metadata=
WEBMON_API_SQL=''
WEBMON_API_SQL__metadata=
WEBMON_RUN_TIMEOUT=
WEBMON_RUN_TIMEOUT__metadata=
WEBMON_WATCH=[]
WEBMON_WATCH__metadata=
WEBMON_REPORT_ON=[]
WEBMON_REPORT_ON__metadata=
WEBMON_urls_to_check=[]
WEBMON_urls_to_check__metadata=
WEBMON_SQL_internet_ip=''
WEBMON_SQL_internet_ip__metadata=


# NMAP
#---------------------------
NMAP_RUN=''
NMAP_RUN__metadata=
NMAP_CMD=''
NMAP_CMD__metadata=
NMAP_ARGS=''
NMAP_ARGS__metadata=
NMAP_RUN_SCHD=''
NMAP_RUN_SCHD__metadata=
NMAP_RUN_TIMEOUT=
NMAP_RUN_TIMEOUT__metadata=
NMAP_WATCH=[]
NMAP_WATCH__metadata=
NMAP_REPORT_ON=[]
NMAP_REPORT_ON__metadata=


# PUSHOVER
#---------------------------
PUSHOVER_RUN=''
PUSHOVER_RUN__metadata=
PUSHOVER_CMD=''
PUSHOVER_CMD__metadata=
PUSHOVER_RUN_TIMEOUT=
PUSHOVER_RUN_TIMEOUT__metadata=
PUSHOVER_USER_KEY=''
PUSHOVER_USER_KEY__metadata=
PUSHOVER_APP_TOKEN=''
PUSHOVER_APP_TOKEN__metadata=
PUSHOVER_DEVICE_NAME=''
PUSHOVER_DEVICE_NAME__metadata=


# VNDRPDT
#---------------------------
VNDRPDT_RUN=''
VNDRPDT_RUN__metadata=
VNDRPDT_CMD=''
VNDRPDT_CMD__metadata=
VNDRPDT_RUN_SCHD=''
VNDRPDT_RUN_SCHD__metadata=
VNDRPDT_RUN_TIMEOUT=
VNDRPDT_RUN_TIMEOUT__metadata=
VNDRPDT_WATCH=[]
VNDRPDT_WATCH__metadata=
VNDRPDT_REPORT_ON=[]
VNDRPDT_REPORT_ON__metadata=


# NSLOOKUP
#---------------------------
NSLOOKUP_RUN=''
NSLOOKUP_RUN__metadata=
NSLOOKUP_CMD=''
NSLOOKUP_CMD__metadata=
NSLOOKUP_RUN_SCHD=''
NSLOOKUP_RUN_SCHD__metadata=
NSLOOKUP_RUN_TIMEOUT=
NSLOOKUP_RUN_TIMEOUT__metadata=


# APPRISE
#---------------------------
APPRISE_RUN=''
APPRISE_RUN__metadata=
APPRISE_CMD=''
APPRISE_CMD__metadata=
APPRISE_RUN_TIMEOUT=
APPRISE_RUN_TIMEOUT__metadata=
APPRISE_HOST=''
APPRISE_HOST__metadata=
APPRISE_URL=''
APPRISE_URL__metadata=
APPRISE_PAYLOAD=''
APPRISE_PAYLOAD__metadata=
APPRISE_SIZE=
APPRISE_SIZE__metadata=


# NTFY
#---------------------------
NTFY_RUN=''
NTFY_RUN__metadata=
NTFY_CMD=''
NTFY_CMD__metadata=
NTFY_RUN_TIMEOUT=
NTFY_RUN_TIMEOUT__metadata=
NTFY_HOST=''
NTFY_HOST__metadata=
NTFY_TOPIC=''
NTFY_TOPIC__metadata=
NTFY_USER=''
NTFY_USER__metadata=
NTFY_PASSWORD=''
NTFY_PASSWORD__metadata=
NTFY_PRIORITY=''
NTFY_PRIORITY__metadata=


# SETPWD
#---------------------------
SETPWD_RUN=''
SETPWD_RUN__metadata=
SETPWD_CMD=''
SETPWD_CMD__metadata=
SETPWD_password=''
SETPWD_password__metadata=


# WORKFLOWS
#---------------------------
WORKFLOWS_AppEvents_hist=
WORKFLOWS_AppEvents_hist__metadata=


#-------------------IMPORTANT INFO-------------------#
#   This file is ingested by a python script, so if  #
#        modified it needs to use python syntax      #
#-------------------IMPORTANT INFO-------------------#

docker-compose.yml

version: "3"
services:
  netalertx:
    container_name: netalertx
    # use the below line if you want to test the latest dev image
    image: "jokobsk/netalertx:latest"
    network_mode: "host"
    restart: unless-stopped
    volumes:
      - /netalertx/config:/app/config
      - /netalertx/db:/app/db
      # (optional) useful for debugging if you have issues setting up the container
      - /netalertx/logs:/app/front/log
    environment:
      - TZ=Europe/Rome
      - PORT=20211

What branch are you running?

Production

app.log

No response

Debug enabled

  • [X] I have read and followed the steps in the wiki link above and provided the required debug logs and the log section covers the time when the issue occurs.

rox-ale avatar Apr 28 '24 09:04 rox-ale

I implemented a sanity check before settings are saved so this shouldn't re-occur.

This should be available in the next release. If you can, please have a look at the netalertx-dev docker image, in about 15 minutes (or after the last action finishes) from now.

It would be great if you could test this (backup everything first or use a new container) on your end by switching to the above image and letting me know if the issue was resolved.

Thanks in advance, j

jokob-sk avatar Apr 30 '24 22:04 jokob-sk

i have use this docker-compose.yml

version: "3"
services:
  netalertx:
    container_name: netalertx
    # use the below line if you want to test the latest dev image
    image: "jokobsk/netalertx-dev"
    network_mode: "host"
    restart: unless-stopped
    volumes:
      - /netalertx/config:/app/config
      - /netalertx/db:/app/db
      # (optional) useful for debugging if you have issues setting up the container
      - /netalertx/logs:/app/front/log
    environment:
      - TZ=Europe/Rome
      - PORT=20211

when I run the command docker-compose up -d the result is this

immagine

rox-ale avatar May 05 '24 16:05 rox-ale

Can you clear the cache and click the refresh button in the top right corner?

jokob-sk avatar May 05 '24 21:05 jokob-sk

immagine done, but after I made a change and saved the values ​​the submenus don't open

rox-ale avatar May 06 '24 17:05 rox-ale

Thanks for that,

Could you please confirm the following?

  1. Have you tried clearing the browser cache - usually Ctrl + F5 or tried an incognito window?
  2. CLearing the cache with the πŸ”„ button?
  3. Could you please post a screenshot of your browser dev console?

jokob-sk avatar May 06 '24 22:05 jokob-sk

if I use ctrl+f5 after saving it works, otherwise the one in the images below comes out

immagine

immagine

rox-ale avatar May 07 '24 09:05 rox-ale

I implemented some changes on the settings page. If you can, please have a look at the netalertx-dev docker image, in about 15 minutes (or after the last action finishes) from now.

Thanks in advance, j

jokob-sk avatar May 07 '24 21:05 jokob-sk

released -> closing for now

jokob-sk avatar May 09 '24 02:05 jokob-sk

Is it also available in the not dev but production version?

rox-ale avatar May 09 '24 08:05 rox-ale

Hi,

yes, this is now released and available in the last production version from today

jokob-sk avatar May 09 '24 08:05 jokob-sk