Σελ. 4 από 5 ΠρώτηΠρώτη ... 2345 ΤελευταίαΤελευταία
Εμφάνιση 46-60 από 73
  1. #46
    Εγγραφή
    28-04-2005
    Μηνύματα
    2.637
    Downloads
    12
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    22000/2500
    ISP
    ΟΤΕ Conn-x
    Router
    RB4011iGS+5HacQ2HnD
    Παράθεση Αρχικό μήνυμα από BillyVan Εμφάνιση μηνυμάτων
    Περιεργο γιατι αυτο που εβαλες μετετρεψα και μου επαιξε οκ στο ax3.

    Δες αν στο system health πως την εμφανιζει

    cpu-temperature ή temperature.
    Οι γνωστές μ@#$@# εμένα το έχει temperature, για αυτό δεν δούλευε.
    Τελοσπάντων με το telegram το προτιμώ καλύτερα.
    Γούστα είναι αυτά...
    CPU: Intel Core I7 920@2,66Ghz,GPU: nVidia Asus ENGTS 250/DI/CUBA 512MD3 ,RAM:3x1GΒ Corsair TR3G1333 PC3@1333Mhz, PSU: Thermaltake 650W,Μοtherboard: Asus P6TD DELUXE, CASE: CoolerMaster ENTURION

  2. #47
    Εγγραφή
    28-04-2005
    Μηνύματα
    2.637
    Downloads
    12
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    22000/2500
    ISP
    ΟΤΕ Conn-x
    Router
    RB4011iGS+5HacQ2HnD
    Βρήκα ένα χρήσιμο script για automatic backup and update.
    Όμως επειδή θεωρώ κατά τη γνώμη μου το automatic update λίγο επικίνδυνο και θέλω να είναι ελεγχόμενο
    επέλεξα μόνο την ενημέρωση μέσω email όταν υπάρχει νέα version.

    H συγκεκριμένη version του script έχει 3 επιλογές:

    backup - Θα εκτελείται μόνο αντίγραφο ασφαλείας. (προεπιλεγμένη τιμή, εάν δεν παρέχεται)

    osupdate - Το Script θα εγκαταστήσει ένα νέο RouterOS εάν είναι διαθέσιμο. Θα δημιουργήσει επίσης αντίγραφα ασφαλείας πριν και μετά τη διαδικασία ενημέρωσης (δεν έχει σημασία ποια τιμή έχει οριστεί σε "forceBackup")
    Το email θα σταλεί μόνο εάν είναι διαθέσιμη μια νέα έκδοση RouterOS.
    Αλλάξτε την παράμετρο «forceBackup» εάν χρειάζεστε το σενάριο για τη δημιουργία αντιγράφων ασφαλείας κάθε φορά που εκτελείται (ακόμα και όταν δεν βρέθηκαν ενημερώσεις).

    osnotify - Το σενάριο θα στείλει ειδοποίηση μέσω email μόνο (χωρίς αντίγραφα ασφαλείας) εάν είναι διαθέσιμο ένα νέο RouterOS.

    Επέλεξα να τρέχω την 3η επιλογή, αλλάζοντας το
    :local scriptMode "osnotify";
    Έτσι λαμβάνω μόνο email σε περίπτωση που έχουμε νέα version.

    Οι οδηγίες του script στο παρακάτω link
    https://github.com/beeyev/Mikrotik-R...kup-and-update
    Μην ξεχάσετε να ορίσετε την μεταβλητή για το email σας.
    :local emailAddress "yourmail@example.com";

    Κώδικας:
    # Script name: BackupAndUpdate
    #
    #----------SCRIPT INFORMATION---------------------------------------------------
    #
    # Script:  Mikrotik RouterOS automatic backup & update
    # Version: 22.11.12
    # Created: 07/08/2018
    # Updated: 12/11/2022
    # Author:  Alexander Tebiev
    # Website: https://github.com/beeyev
    # You can contact me by e-mail at tebiev@mail.com
    #
    # IMPORTANT!
    # Minimum supported RouterOS version is v6.43.7
    #
    #----------MODIFY THIS SECTION AS NEEDED----------------------------------------
    ## Notification e-mail
    ## (Make sure you have configurated Email settings in Tools -> Email)
    :local emailAddress "yourmail@example.com";
    
    ## Script mode, possible values: backup, osupdate, osnotify.
    # backup    -   Only backup will be performed. (default value, if none provided)
    #
    # osupdate  -   The Script will install a new RouterOS if it is available.
    #               It will also create backups before and after update process (does not matter what value is set to `forceBackup`)
    #               Email will be sent only if a new RouterOS version is available.
    #               Change parameter `forceBackup` if you need the script to create backups every time when it runs (even when no updates were found).
    #
    # osnotify  -   The script will send email notification only (without backups) if a new RouterOS is available.
    #               Change parameter `forceBackup` if you need the script to create backups every time when it runs.
    :local scriptMode "osupdate";
    
    ## Additional parameter if you set `scriptMode` to `osupdate` or `osnotify`
    # Set `true` if you want the script to perform backup every time it's fired, whatever script mode is set.
    :local forceBackup false;
    
    ## Backup encryption password, no encryption if no password.
    :local backupPassword ""
    
    ## If true, passwords will be included in exported config.
    :local sensetiveDataInConfig true;
    
    ## Update channel. Possible values: stable, long-term, testing, development
    :local updateChannel "stable";
    
    ## Install only patch versions of RouterOS updates.
    ## Works only if you set scriptMode to "osupdate"
    ## Means that new update will be installed only if MAJOR and MINOR version numbers remained the same as currently installed RouterOS.
    ## Example: v6.43.6 => major.minor.PATCH
    ## Script will send information if new version is greater than just patch.
    :local installOnlyPatchUpdates false;
    
    ##------------------------------------------------------------------------------------------##
    #  !!!! DO NOT CHANGE ANYTHING BELOW THIS LINE, IF YOU ARE NOT SURE WHAT YOU ARE DOING !!!!  #
    ##------------------------------------------------------------------------------------------##
    
    #Script messages prefix
    :local SMP "Bkp&Upd:"
    
    :log info "\r\n$SMP script \"Mikrotik RouterOS automatic backup & update\" started.";
    :log info "$SMP Script Mode: $scriptMode, forceBackup: $forceBackup";
    
    #Check proper email config
    :if ([:len $emailAddress] = 0 or [:len [/tool e-mail get address]] = 0 or [:len [/tool e-mail get from]] = 0) do={
        :log error ("$SMP Email configuration is not correct, please check Tools -> Email. Script stopped.");
        :error "$SMP bye!";
    }
    
    #Check if proper identity name is set
    if ([:len [/system identity get name]] = 0 or [/system identity get name] = "MikroTik") do={
        :log warning ("$SMP Please set identity name of your device (System -> Identity), keep it short and informative.");
    };
    
    ############### vvvvvvvvv GLOBALS vvvvvvvvv ###############
    # Function converts standard mikrotik build versions to the number.
    # Possible arguments: paramOsVer
    # Example:
    # :put [$buGlobalFuncGetOsVerNum paramOsVer=[/system routerboard get current-RouterOS]];
    # result will be: 64301, because current RouterOS version is: 6.43.1
    :global buGlobalFuncGetOsVerNum do={
        :local osVer $paramOsVer;
        :local osVerNum;
        :local osVerMicroPart;
        :local zro 0;
        :local tmp;
    
        # Replace word `beta` with dot
        :local isBetaPos [:tonum [:find $osVer "beta" 0]];
        :if ($isBetaPos > 1) do={
            :set osVer ([:pick $osVer 0 $isBetaPos] . "." . [:pick $osVer ($isBetaPos + 4) [:len $osVer]]);
        }
        # Replace word `rc` with dot
        :local isRcPos [:tonum [:find $osVer "rc" 0]];
        :if ($isRcPos > 1) do={
            :set osVer ([:pick $osVer 0 $isRcPos] . "." . [:pick $osVer ($isRcPos + 2) [:len $osVer]]);
        }
    
        :local dotPos1 [:find $osVer "." 0];
    
        :if ($dotPos1 > 0) do={
    
            # AA
            :set osVerNum  [:pick $osVer 0 $dotPos1];
    
            :local dotPos2 [:find $osVer "." $dotPos1];
                    #Taking minor version, everything after first dot
            :if ([:len $dotPos2] = 0) do={:set tmp [:pick $osVer ($dotPos1+1) [:len $osVer]];}
            #Taking minor version, everything between first and second dots
            :if ($dotPos2 > 0) do={:set tmp [:pick $osVer ($dotPos1+1) $dotPos2];}
    
            # AA 0B
            :if ([:len $tmp] = 1) do={:set osVerNum "$osVerNum$zro$tmp";}
            # AA BB
            :if ([:len $tmp] = 2) do={:set osVerNum "$osVerNum$tmp";}
    
            :if ($dotPos2 > 0) do={
                :set tmp [:pick $osVer ($dotPos2+1) [:len $osVer]];
                # AA BB 0C
                :if ([:len $tmp] = 1) do={:set osVerNum "$osVerNum$zro$tmp";}
                # AA BB CC
                :if ([:len $tmp] = 2) do={:set osVerNum "$osVerNum$tmp";}
            } else={
                # AA BB 00
                :set osVerNum "$osVerNum$zro$zro";
            }
        } else={
            # AA 00 00
            :set osVerNum "$osVer$zro$zro$zro$zro";
        }
    
        :return $osVerNum;
    }
    
    
    # Function creates backups (system and config) and returns array with names
    # Possible arguments:
    #    `backupName`               | string    | backup file name, without extension!
    #    `backupPassword`           | string    |
    #    `sensetiveDataInConfig`    | boolean   |
    # Example:
    # :put [$buGlobalFuncCreateBackups name="daily-backup"];
    :global buGlobalFuncCreateBackups do={
        :log info ("$SMP Global function \"buGlobalFuncCreateBackups\" was fired.");
    
        :local backupFileSys "$backupName.backup";
        :local backupFileConfig "$backupName.rsc";
        :local backupNames {$backupFileSys;$backupFileConfig};
    
        ## Make system backup
        :if ([:len $backupPassword] = 0) do={
            /system backup save dont-encrypt=yes name=$backupName;
        } else={
            /system backup save password=$backupPassword name=$backupName;
        }
        :log info ("$SMP System backup created. $backupFileSys");
    
        ## Export config file
        :if ($sensetiveDataInConfig = true) do={
            # since RouterOS v7 it needs to be set precise that we want to export sensitive data
            :if ([:pick [/system package update get installed-version] 0 1] < 7) do={
                :execute "/export compact terse file=$backupName";
            } else={
                :execute "/export compact show-sensitive terse file=$backupName";
            }
        } else={
            /export compact hide-sensitive terse file=$backupName;
        }
        :log info ("$SMP Config file was exported. $backupFileConfig, the script execution will be paused for a moment.");
    
        #Delay after creating backups
        :delay 20s;
        :return $backupNames;
    }
    
    :global buGlobalVarUpdateStep;
    ############### ^^^^^^^^^ GLOBALS ^^^^^^^^^ ###############
    
    :local scriptVersion "22.11.12";
    
    #Current date time in format: 2020jan15-221324
    :local dateTime ([:pick [/system clock get date] 7 11] . [:pick [/system clock get date] 0 3] . [:pick [/system clock get date] 4 6] . "-" . [:pick [/system clock get time] 0 2] . [:pick [/system clock get time] 3 5] . [:pick [/system clock get time] 6 8]);
    
    :local isSoftBased false;
    :if ([/system resource get board-name] = "CHR" or [/system resource get board-name] = "x86") do={
        :set isSoftBased true;
    }
    
    :local deviceOsVerInst          [/system package update get installed-version];
    :local deviceOsVerInstNum       [$buGlobalFuncGetOsVerNum paramOsVer=$deviceOsVerInst];
    :local deviceOsVerAvail         "";
    :local deviceOsVerAvailNum      0;
    :local deviceIdentityName       [/system identity get name];
    :local deviceIdentityNameShort  [:pick $deviceIdentityName 0 18]
    :local deviceUpdateChannel      [/system package update get channel];
    
    
    :local deviceRbModel            "CloudHostedRouter";
    :local deviceRbSerialNumber     "--";
    :local deviceRbCurrentFw        "--";
    :local deviceRbUpgradeFw        "--";
    
    :if ($isSoftBased = false) do={
        :set deviceRbModel          [/system routerboard get model];
        :set deviceRbSerialNumber   [/system routerboard get serial-number];
        :set deviceRbCurrentFw      [/system routerboard get current-firmware];
        :set deviceRbUpgradeFw      [/system routerboard get upgrade-firmware];
    };
    
    :local isOsUpdateAvailable false;
    :local isOsNeedsToBeUpdated false;
    
    :local isSendEmailRequired true;
    
    :local mailSubject  "$SMP Device - $deviceIdentityNameShort.";
    :local mailBody     "";
    
    :local mailBodyDeviceInfo   "\r\n\r\nDevice information: \r\nIdentity: $deviceIdentityName \r\nModel: $deviceRbModel \r\nSerial number: $deviceRbSerialNumber \r\nCurrent RouterOS: $deviceOsVerInst ($[/system package update get channel]) $[/system resource get build-time] \r\nCurrent routerboard FW: $deviceRbCurrentFw \r\nDevice uptime: $[/system resource get uptime]";
    :local mailBodyCopyright    "\r\n\r\nMikrotik RouterOS automatic backup & update (ver. $scriptVersion) \r\nhttps://github.com/beeyev/Mikrotik-RouterOS-automatic-backup-and-update";
    :local changelogUrl         ("Check RouterOS changelog: https://mikrotik.com/download/changelogs/" . $updateChannel . "-release-tree");
    
    :local backupName           "v$deviceOsVerInst_$deviceUpdateChannel_$dateTime";
    :local backupNameBeforeUpd  "backup_before_update_$backupName";
    :local backupNameAfterUpd   "backup_after_update_$backupName";
    
    :local backupNameFinal  $backupName;
    :local mailAttachments  [:toarray ""];
    
    
    :local updateStep $buGlobalVarUpdateStep;
    :do {/system script environment remove buGlobalVarUpdateStep;} on-error={}
    :if ([:len $updateStep] = 0) do={
        :set updateStep 1;
    }
    
    
    ## STEP ONE: Creating backups, checking for new RouterOs version and sending email with backups,
    ## steps 2 and 3 are fired only if script is set to automatically update device and if new RouterOs is available.
    :if ($updateStep = 1) do={
        :log info ("$SMP Performing the first step.");
    
        # Checking for new RouterOS version
        if ($scriptMode = "osupdate" or $scriptMode = "osnotify") do={
            log info ("$SMP Checking for new RouterOS version. Current version is: $deviceOsVerInst");
            /system package update set channel=$updateChannel;
            /system package update check-for-updates;
            :delay 5s;
            :set deviceOsVerAvail [/system package update get latest-version];
    
            # If there is a problem getting information about available RouterOS from server
            :if ([:len $deviceOsVerAvail] = 0) do={
                :log warning ("$SMP There is a problem getting information about new RouterOS from server.");
                :set mailSubject    ($mailSubject . " Error: No data about new RouterOS!")
                :set mailBody         ($mailBody . "Error occured! \r\nMikrotik couldn't get any information about new RouterOS from server! \r\nWatch additional information in device logs.")
            } else={
                #Get numeric version of OS
                :set deviceOsVerAvailNum [$buGlobalFuncGetOsVerNum paramOsVer=$deviceOsVerAvail];
    
                # Checking if OS on server is greater than installed one.
                :if ($deviceOsVerAvailNum > $deviceOsVerInstNum) do={
                    :set isOsUpdateAvailable true;
                    :log info ("$SMP New RouterOS is available! $deviceOsVerAvail");
                } else={
                    :set isSendEmailRequired false;
                    :log info ("$SMP System is already up to date.");
                    :set mailSubject ($mailSubject . " No new OS updates.");
                    :set mailBody      ($mailBody . "Your system is up to date.");
                }
            };
        } else={
            :set scriptMode "backup";
        };
    
        if ($forceBackup = true) do={
            # In this case the script will always send email, because it has to create backups
            :set isSendEmailRequired true;
        }
    
        # if new OS version is available to install
        if ($isOsUpdateAvailable = true and $isSendEmailRequired = true) do={
            # If we only need to notify about new available version
            if ($scriptMode = "osnotify") do={
                :set mailSubject    ($mailSubject . " New RouterOS is available! v.$deviceOsVerAvail.")
                :set mailBody       ($mailBody . "New RouterOS version is available to install: v.$deviceOsVerAvail ($updateChannel) \r\n$changelogUrl")
            }
    
            # if we need to initiate RouterOs update process
            if ($scriptMode = "osupdate") do={
                :set isOsNeedsToBeUpdated true;
                # if we need to install only patch updates
                :if ($installOnlyPatchUpdates = true) do={
                    #Check if Major and Minor builds are the same.
                    :if ([:pick $deviceOsVerInstNum 0 ([:len $deviceOsVerInstNum]-2)] = [:pick $deviceOsVerAvailNum 0 ([:len $deviceOsVerAvailNum]-2)]) do={
                        :log info ("$SMP New patch version of RouterOS firmware is available.");
                    } else={
                        :log info           ("$SMP New major or minor version of RouterOS firmware is available. You need to update it manually.");
                        :set mailSubject    ($mailSubject . " New RouterOS: v.$deviceOsVerAvail needs to be installed manually.");
                        :set mailBody       ($mailBody . "New major or minor RouterOS version is available to install: v.$deviceOsVerAvail ($updateChannel). \r\nYou chose to automatically install only patch updates, so this major update you need to install manually. \r\n$changelogUrl");
                        :set isOsNeedsToBeUpdated false;
                    }
                }
    
                #Check again, because this variable could be changed during checking for installing only patch updats
                if ($isOsNeedsToBeUpdated = true) do={
                    :log info           ("$SMP New RouterOS is going to be installed! v.$deviceOsVerInst -> v.$deviceOsVerAvail");
                    :set mailSubject    ($mailSubject . " New RouterOS is going to be installed! v.$deviceOsVerInst -> v.$deviceOsVerAvail.");
                    :set mailBody       ($mailBody . "Your Mikrotik will be updated to the new RouterOS version from v.$deviceOsVerInst to v.$deviceOsVerAvail (Update channel: $updateChannel) \r\nFinal report with the detailed information will be sent when update process is completed. \r\nIf you have not received second email in the next 10 minutes, then probably something went wrong. (Check your device logs)");
                    #!! There is more code connected to this part and first step at the end of the script.
                }
    
            }
        }
    
        ## Checking If the script needs to create a backup
        :log info ("$SMP Checking If the script needs to create a backup.");
        if ($forceBackup = true or $scriptMode = "backup" or $isOsNeedsToBeUpdated = true) do={
            :log info ("$SMP Creating system backups.");
            if ($isOsNeedsToBeUpdated = true) do={
                :set backupNameFinal $backupNameBeforeUpd;
            };
            if ($scriptMode != "backup") do={
                :set mailBody ($mailBody . "\r\n\r\n");
            };
    
            :set mailSubject    ($mailSubject . " Backup was created.");
            :set mailBody       ($mailBody . "System backups were created and attached to this email.");
    
            :set mailAttachments [$buGlobalFuncCreateBackups backupName=$backupNameFinal backupPassword=$backupPassword sensetiveDataInConfig=$sensetiveDataInConfig];
        } else={
            :log info ("$SMP There is no need to create a backup.");
        }
    
        # Combine fisrst step email
        :set mailBody ($mailBody . $mailBodyDeviceInfo . $mailBodyCopyright);
    }
    
    ## STEP TWO: (after first reboot) routerboard firmware upgrade
    ## steps 2 and 3 are fired only if script is set to automatically update device and if new RouterOs is available.
    :if ($updateStep = 2) do={
        :log info ("$SMP Performing the second step.");
        ## RouterOS is the latest, let's check for upgraded routerboard firmware
        if ($deviceRbCurrentFw != $deviceRbUpgradeFw) do={
            :set isSendEmailRequired false;
            :delay 10s;
            :log info "$SMP Upgrading routerboard firmware from v.$deviceRbCurrentFw to v.$deviceRbUpgradeFw";
            ## Start the upgrading process
            /system routerboard upgrade;
            ## Wait until the upgrade is completed
            :delay 5s;
            :log info "$SMP routerboard upgrade process was completed, going to reboot in a moment!";
            ## Set scheduled task to send final report on the next boot, task will be deleted when is is done. (That is why you should keep original script name)
            /system scheduler add name=BKPUPD-FINAL-REPORT-ON-NEXT-BOOT on-event=":delay 5s; /system scheduler remove BKPUPD-FINAL-REPORT-ON-NEXT-BOOT; :global buGlobalVarUpdateStep 3; :delay 10s; /system script run BackupAndUpdate;" start-time=startup interval=0;
            ## Reboot system to boot with new firmware
            /system reboot;
        } else={
            :log info "$SMP It appers that your routerboard is already up to date, skipping this step.";
            :set updateStep 3;
        };
    }
    
    ## STEP THREE: Last step (after second reboot) sending final report
    ## steps 2 and 3 are fired only if script is set to automatically update device and if new RouterOs is available.
    :if ($updateStep = 3) do={
        :log info ("$SMP Performing the third step.");
        :log info "Bkp&Upd: RouterOS and routerboard upgrade process was completed. New RouterOS version: v.$deviceOsVerInst, routerboard firmware: v.$deviceRbCurrentFw.";
        ## Small delay in case mikrotik needs some time to initialize connections
        :log info "$SMP The final email with report and backups of upgraded system will be sent in a minute.";
        :delay 1m;
        :set mailSubject    ($mailSubject . " RouterOS Upgrade is completed, new version: v.$deviceOsVerInst!");
        :set mailBody       "RouterOS and routerboard upgrade process was completed. \r\nNew RouterOS version: v.$deviceOsVerInst, routerboard firmware: v.$deviceRbCurrentFw. \r\n$changelogUrl \r\n\r\nBackups of the upgraded system are in the attachment of this email.  $mailBodyDeviceInfo $mailBodyCopyright";
        :set mailAttachments [$buGlobalFuncCreateBackups backupName=$backupNameAfterUpd backupPassword=$backupPassword sensetiveDataInConfig=$sensetiveDataInConfig];
    }
    
    # Remove functions from global environment to keep it fresh and clean.
    :do {/system script environment remove buGlobalFuncGetOsVerNum;} on-error={}
    :do {/system script environment remove buGlobalFuncCreateBackups;} on-error={}
    
    ##
    ## SENDING EMAIL
    ##
    # Trying to send email with backups in attachment.
    
    :if ($isSendEmailRequired = true) do={
        :log info "$SMP Sending email message, it will take around half a minute...";
        :do {/tool e-mail send to=$emailAddress subject=$mailSubject body=$mailBody file=$mailAttachments;} on-error={
            :delay 5s;
            :log error "$SMP could not send email message ($[/tool e-mail get last-status]). Going to try it again in a while."
    
            :delay 5m;
    
            :do {/tool e-mail send to=$emailAddress subject=$mailSubject body=$mailBody file=$mailAttachments;} on-error={
                :delay 5s;
                :log error "$SMP could not send email message ($[/tool e-mail get last-status]) for the second time."
    
                if ($isOsNeedsToBeUpdated = true) do={
                    :set isOsNeedsToBeUpdated false;
                    :log warning "$SMP script is not going to initialise update process due to inability to send backups to email."
                }
            }
        }
    
        :delay 30s;
    
        :if ([:len $mailAttachments] > 0 and [/tool e-mail get last-status] = "succeeded") do={
            :log info "$SMP File system cleanup."
            /file remove $mailAttachments;
            :delay 2s;
        }
    
    }
    
    
    # Fire RouterOs update process
    if ($isOsNeedsToBeUpdated = true) do={
    
        :if ($isSoftBased = false) do={
            ## Set scheduled task to upgrade routerboard firmware on the next boot, task will be deleted when upgrade is done. (That is why you should keep original script name)
            /system scheduler add name=BKPUPD-UPGRADE-ON-NEXT-BOOT on-event=":delay 5s; /system scheduler remove BKPUPD-UPGRADE-ON-NEXT-BOOT; :global buGlobalVarUpdateStep 2; :delay 10s; /system script run BackupAndUpdate;" start-time=startup interval=0;
        } else= {
            ## If the scrip is executed on CHR, step 2 will be skipped
            /system scheduler add name=BKPUPD-UPGRADE-ON-NEXT-BOOT on-event=":delay 5s; /system scheduler remove BKPUPD-UPGRADE-ON-NEXT-BOOT; :global buGlobalVarUpdateStep 3; :delay 10s; /system script run BackupAndUpdate;" start-time=startup interval=0;
        };
    
    
        :log info "$SMP everything is ready to install new RouterOS, going to reboot in a moment!"
        ## command is reincarnation of the "upgrade" command - doing exactly the same but under a different name
        /system package update install;
    }
    
    :log info "$SMP script \"Mikrotik RouterOS automatic backup & update\" completed it's job.\r\n";
    CPU: Intel Core I7 920@2,66Ghz,GPU: nVidia Asus ENGTS 250/DI/CUBA 512MD3 ,RAM:3x1GΒ Corsair TR3G1333 PC3@1333Mhz, PSU: Thermaltake 650W,Μοtherboard: Asus P6TD DELUXE, CASE: CoolerMaster ENTURION

  3. #48
    Εγγραφή
    08-11-2004
    Περιοχή
    Θεσσαλονίκη
    Ηλικία
    59
    Μηνύματα
    2.556
    Downloads
    13
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    1G/1G
    ISP
    Inalan
    Router
    Mikrotik 5009
    Ενημέρωση dns για interface πχ vpn.

    Στο wiki η Μικροτικ εχει ενα παραδειγμα που αφορα

    Radius

    Κώδικας:
    :local resolvedIP [:resolve "server.example.com"];
    :local radiusID [/radius find comment="myRad"];
    :local currentIP [/radius get $radiusID address];
     
    :if ($resolvedIP != $currentIP) do={
       /radius set $radiusID address=$resolvedIP;
       /log info "radius ip updated";
    }
    Ετσι το παραπανω σκριπτακι κανει resolve το server.example.com

    και αν βρει comment myRad τοτε παει και βαζει την ip

    Τελος μας πεταει κι ενα μηνυμα οτι radius ip updated.


    Με βαση το παραπανω κι επειδη μου φανηκε χρήσιμο εκανα μια μετατροπη

    για να ενημερωνει σε client sstp vpn.

    Κώδικας:
    :local resolvedIP [:resolve "server.example.com"];
    :local vpn [/interface find comment="vpn"];
    :local currentIP [/interface sstp-client get vpn connect-to];
    
    :if ($resolvedIP != $currentIP) do={
       /interface sstp-client set vpn connect-to=$resolvedIP;
       /log info "SSTP VPN ip updated";
    }
    Καποιος φιλος σε αλλο ποστ ειχε ενα προβλημα οτι δεν μπορουσε να κανει χρηση dns.

    Σε τετοιες περιπτωσεις κατι τετοιο ειναι χρησιμο γιατι πηγαινει και καρφωνει την ip του σερβερ κατευθειαν στο connect to.

    Σε αυτο το σκριπτ το σχολιο στο ονομα του interface ειναι vpn.

    Με προσοχη κανετε τις αντικαταστασεις αν ειναι L2tp ή PPtp κλπ

  4. #49
    Εγγραφή
    28-04-2005
    Μηνύματα
    2.637
    Downloads
    12
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    22000/2500
    ISP
    ΟΤΕ Conn-x
    Router
    RB4011iGS+5HacQ2HnD
    Παράθεση Αρχικό μήνυμα από BillyVan Εμφάνιση μηνυμάτων
    Ενημέρωση dns για interface πχ vpn.

    Στο wiki η Μικροτικ εχει ενα παραδειγμα που αφορα

    Radius

    Κώδικας:
    :local resolvedIP [:resolve "server.example.com"];
    :local radiusID [/radius find comment="myRad"];
    :local currentIP [/radius get $radiusID address];
     
    :if ($resolvedIP != $currentIP) do={
       /radius set $radiusID address=$resolvedIP;
       /log info "radius ip updated";
    }
    Ετσι το παραπανω σκριπτακι κανει resolve το server.example.com

    και αν βρει comment myRad τοτε παει και βαζει την ip

    Τελος μας πεταει κι ενα μηνυμα οτι radius ip updated.


    Με βαση το παραπανω κι επειδη μου φανηκε χρήσιμο εκανα μια μετατροπη

    για να ενημερωνει σε client sstp vpn.

    Κώδικας:
    :local resolvedIP [:resolve "server.example.com"];
    :local vpn [/interface find comment="vpn"];
    :local currentIP [/interface sstp-client get vpn connect-to];
    
    :if ($resolvedIP != $currentIP) do={
       /interface sstp-client set vpn connect-to=$resolvedIP;
       /log info "SSTP VPN ip updated";
    }
    Καποιος φιλος σε αλλο ποστ ειχε ενα προβλημα οτι δεν μπορουσε να κανει χρηση dns.

    Σε τετοιες περιπτωσεις κατι τετοιο ειναι χρησιμο γιατι πηγαινει και καρφωνει την ip του σερβερ κατευθειαν στο connect to.

    Σε αυτο το σκριπτ το σχολιο στο ονομα του interface ειναι vpn.

    Με προσοχη κανετε τις αντικαταστασεις αν ειναι L2tp ή PPtp κλπ
    Εύγε Βασίλη πολύ καλό για κάποιον που το χρειάζεται.
    CPU: Intel Core I7 920@2,66Ghz,GPU: nVidia Asus ENGTS 250/DI/CUBA 512MD3 ,RAM:3x1GΒ Corsair TR3G1333 PC3@1333Mhz, PSU: Thermaltake 650W,Μοtherboard: Asus P6TD DELUXE, CASE: CoolerMaster ENTURION

  5. #50
    Εγγραφή
    17-07-2004
    Περιοχή
    Βόλος
    Μηνύματα
    412
    Downloads
    2
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    4096/1024
    ISP
    Cosmote
    DSLAM
    HOL - ΓΥΜΝΑΣΤΗΡΙΟ
    Router
    Cosmote Speedport Plus 2
    SNR / Attn
    9(dB) / 34(dB)
    Υπάρχει κάποιο script που να στέλνει με email τα εισερχόμενα sms;
    FiLiPPos {
    location: Volos,
    website: lokalize.gr,
    ISP: Cosmote,
    modem: Speedport Plus 2,
    router: ubiquiti amplifi
    }

  6. #51
    Εγγραφή
    08-11-2004
    Περιοχή
    Θεσσαλονίκη
    Ηλικία
    59
    Μηνύματα
    2.556
    Downloads
    13
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    1G/1G
    ISP
    Inalan
    Router
    Mikrotik 5009
    Παράθεση Αρχικό μήνυμα από dsluser1 Εμφάνιση μηνυμάτων
    Υπάρχει κάποιο script που να στέλνει με email τα εισερχόμενα sms;
    Παλαιότερα ειχα δοκιμάσει κάποια αλλα υπήρχε μεγάλο πρόβλημα με τα ελληνικά.

    Αν κανεις μια αναζήτηση στο Mikrotik forum θα βρεις αρκετους τρόπους

    Επισης και αυτος ο τυπος εχει γραψει αρκετα εδω

    Ρίξε μια ματια κι εδω

  7. #52
    Εγγραφή
    28-04-2005
    Μηνύματα
    2.637
    Downloads
    12
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    22000/2500
    ISP
    ΟΤΕ Conn-x
    Router
    RB4011iGS+5HacQ2HnD
    Παράθεση Αρχικό μήνυμα από dsluser1 Εμφάνιση μηνυμάτων
    Υπάρχει κάποιο script που να στέλνει με email τα εισερχόμενα sms;
    Δες εδώ το είχα κάνει κάποτε στην αρχή.
    Βέβαια το παρακάτω είναι με telegram.
    Ακολούθησε τον οδηγό.
    https://www.adslgr.com/forum/threads...ram?highlight=
    CPU: Intel Core I7 920@2,66Ghz,GPU: nVidia Asus ENGTS 250/DI/CUBA 512MD3 ,RAM:3x1GΒ Corsair TR3G1333 PC3@1333Mhz, PSU: Thermaltake 650W,Μοtherboard: Asus P6TD DELUXE, CASE: CoolerMaster ENTURION

  8. #53
    Εγγραφή
    28-03-2006
    Περιοχή
    KV G434
    Ηλικία
    49
    Μηνύματα
    42.336
    Downloads
    23
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    310/31
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΕΡΜΟΥ
    Router
    RB4011iGS+5 ONT: G-010G-R
    Εδώ ένα link με script για load balance που πόσταρε από άλλη σελίδα ο φίλος @jkarabas
    | "Anyone can build a fast CPU.
    | The trick is to build a fast system."
    |____________Seymour Cray...

  9. #54
    Εγγραφή
    28-04-2005
    Μηνύματα
    2.637
    Downloads
    12
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    22000/2500
    ISP
    ΟΤΕ Conn-x
    Router
    RB4011iGS+5HacQ2HnD
    Παράθεση Αρχικό μήνυμα από deniSun Εμφάνιση μηνυμάτων
    Εδώ ένα link με script για load balance που πόσταρε από άλλη σελίδα ο φίλος @jkarabas
    CPU: Intel Core I7 920@2,66Ghz,GPU: nVidia Asus ENGTS 250/DI/CUBA 512MD3 ,RAM:3x1GΒ Corsair TR3G1333 PC3@1333Mhz, PSU: Thermaltake 650W,Μοtherboard: Asus P6TD DELUXE, CASE: CoolerMaster ENTURION

  10. #55
    Εγγραφή
    28-03-2006
    Περιοχή
    KV G434
    Ηλικία
    49
    Μηνύματα
    42.336
    Downloads
    23
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    310/31
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΕΡΜΟΥ
    Router
    RB4011iGS+5 ONT: G-010G-R
    | "Anyone can build a fast CPU.
    | The trick is to build a fast system."
    |____________Seymour Cray...

  11. #56
    Εγγραφή
    08-11-2004
    Περιοχή
    Θεσσαλονίκη
    Ηλικία
    59
    Μηνύματα
    2.556
    Downloads
    13
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    1G/1G
    ISP
    Inalan
    Router
    Mikrotik 5009
    Το παρακατω σκριπτ παιζει σε ρος 7 και κανει ελεγχο στις wan που εχουμε.


    Κώδικας:
    :local emailTo "XXXXXX@gmail.com"
    :local emailSubject "Unreachable Gateway Detected"
    :local emailBody "An unreachable gateway has been detected."
    :local DeviceName [/system identity get name]
    :local commentFilters ("From WAN 1", "From WAN 2", "From WAN 3")
    
    :foreach commentFilter in=$commentFilters do={
      :local unreachableGateways [:toarray [/routing route find where unreachable and comment=$commentFilter]]
      :if ([:len $unreachableGateways] > 0) do={
        :log warning ("An unreachable gateway has been detected " . $commentFilter)
    # START Send Telegram Module
        :local MessageText "\E2\9A\A0 <b>Router $DeviceName:</b>%0AAn unreachable gateway has been detected $commentFilter"
        :local SendTelegramMessage [:parse [/system script get MyTGBotSendMessage source]]
        $SendTelegramMessage MessageText=$MessageText
        # END Send Telegram Module
        /tool e-mail send to="XXXXXX@gmail.com" subject="\E2\9A\A0 [$DeviceName] $emailSubject $commentFilter" body="$emailBody" 
       }
    }
    Στελνει email και Telegram οταν καποια απ τις WAN1, 2 ή 3 πέσει.

    Προσοχη στο σχόλιο της καθεμιας wan που θα πρεπει να ειναι οπως το εχω ή με την αντικατάσταση του comment που εχετε δηλώσει εσεις.

    Ο τροπος λειτουργίας ειναι να εκτελει πχ schedule ανα 3 λεπτα και να κοιταζει για απάντηση unreachable, αν την βρει το επόμενο ειναι να κοιτάξει για

    το σχόλιο που υπάρχει πχ From WAN 3.

    Τοτε εμφανίζει στο Log warning An unreachable gateway has been detected From WAN 3.

    Στο επόμενο βήμα στελνει notification στο Telegram με τα στοιχεία που έχουμε βάλει στο MyTGBotSendMessage (θα εξηγησω παρακατω)*

    Και αμεσως μετα στέλνει και email με το παραπανω μήνυμα στο θεμα του mail.


    *MyTGBotSendMessage

    Φτιαχνουμε ενα script με το όνομα MyTGBotSendMessage και με περιεχομενο

    Κώδικας:
    :local BotToken "to_diko_sas_token";
    :local ChatID "to_diko_sas_ID";
    :local parseMode "HTML";
    :local SendText $MessageText;
    
    /tool fetch url="https://api.telegram.org/bot$BotToken/sendMessage\?chat_id=$ChatID&parse_mode=$parseMode&text=$SendText" keep-result=no;
    
    :log info "==> Send Telegram message";

    Το παραπανω ειναι χρησιμο αν δουλευετε αρκετα το Telegram ωστε να μην γράφετε καθε φορα τα στοιχεια σας σε καθε script.

    Απλα το καλειτε οπως κανω παραπανω με την εντολη /system script get MyTGBotSendMessage source.

    Πιθανο πρόβλημα αν δεν εκτελειτε σωστα και δεν εχετε μηνυματα ειναι το

    :local DeviceName [/system identity get name]

    Σε δοκιμες που έκανα σε διαφορα Μικροτικ μου ετυχε να μην τραβαει το ονομα καθολου με αποτελεσμα να μενει εκει και να μην το εκτελεί.

    Για να το ξεπερασετε μπορειτε να βαλετε :local DeviceName "Main Router failover"

    ή οποιο ονομα έχετε δωσει στο Μικροτικ σας ωστε να ξερετε ποιο Μικροτικ σας στελνει το μηνυμα.

    Αν αντιμετωπισετε προβλημα γραψτε.

    Εχω στηριχθει στο failover

    Κώδικας:
    /ip route add comment="From WAN 1" disabled=no distance=1 dst-address=208.67.220.220/32 gateway=10.30.30.1 pref-src="" routing-table=main scope=10 suppress-hw-offload=no target-scope=10
    /ip route add comment="From WAN 2" disabled=no distance=1 dst-address=208.67.222.222/32 gateway=10.40.40.1 pref-src="" routing-table=main scope=10 suppress-hw-offload=no target-scope=10
    /ip route add comment="From WAN 3" disabled=no distance=1 dst-address=1.1.1.1/32 gateway=192.168.20.1 pref-src="" routing-table=main scope=10 suppress-hw-offload=no target-scope=10
    /ip route add check-gateway=ping comment="From WAN 3" disabled=no distance=3 dst-address=0.0.0.0/0 gateway=1.1.1.1 pref-src="" routing-table=main scope=30 suppress-hw-offload=no target-scope=11
    /ip route add check-gateway=ping comment="From WAN 2" disabled=no distance=2 dst-address=0.0.0.0/0 gateway=208.67.222.222 pref-src="" routing-table=main scope=30 suppress-hw-offload=no target-scope=11
    /ip route add check-gateway=ping comment="From WAN 1" disabled=no distance=1 dst-address=0.0.0.0/0 gateway=208.67.220.220 pref-src="" routing-table=main scope=30 suppress-hw-offload=no target-scope=11
    Το σχόλιο που κοιτάει ειναι των 3 τελευταίων γραμμών και συγκεκριμενα για το gateway που εχουμε στο 0.0.0.0/0.

    Τα σχολια των 3 πρωτων γραμμών δεν μας απασχολουν και θα μπορουσαν να λειπουν.

    Αλλα οπως κι αν το εχετε υλοποιήσει νομιζω θα παιξει.

    Υπάρχει 80% έτοιμο και το υπόλοιπο κομμάτι του Back Online για τη Wan που έπεσε αλλα θα αναζητησω βοήθεια

    στο φορουμ της Μικροτικ για ενα προβλημα που αντιμετωπιζω και οταν και αν το ολοκληρωσω θα συμπληρωσω το υπάρχων.

    Ευχαριστω τον Γιαννη (jkarabas) που με βοήθησε και με προέτρεψε να το ανεβάσω στο φορουμ μας.

    Ελπίζω να σας φανει χρήσιμο.

    υ.γ. 1
    Υπάρχει κι αλλος τροπος ελέγχου αλλα στη συγκεκριμενη υλοποίηση

    δεν γινεται μαρκαρισμα στο mangle καθολου για άλλους λόγους.

    υ.γ. 2
    Οι δοκιμες εγιναν με ros 7.6 και 7.7.

  12. #57
    Εγγραφή
    28-04-2005
    Μηνύματα
    2.637
    Downloads
    12
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    22000/2500
    ISP
    ΟΤΕ Conn-x
    Router
    RB4011iGS+5HacQ2HnD
    Παράθεση Αρχικό μήνυμα από BillyVan Εμφάνιση μηνυμάτων
    Ευχαριστω τον Γιαννη (jkarabas) που με βοήθησε και με προέτρεψε να το ανεβάσω στο φορουμ μας.
    Και εγώ σε ευχαριστώ Βασίλη για πολλά άλλα(ξέρεις εσύ.....)

    - - - Updated - - -

    Συνεχίζουμε με τα scripts, γιατί αυτή την εποχή μας έχει πιάσει μια όρεξη με αυτά.

    Το script δουλεύει άψογα στη ROS7.

    Το βάζουμε στο schedule και τρέχει ανα 1 λεπτό.
    Ελέγχει το interface pppoe-out σε περίπτωση που αλλάξει η public ip του να κάνει
    3 πράγματα.

    1ον Clear Connections. Πολύ σημαντικό σε περιπτώσεις που έχουμε τηλεφωνικά κέντρα και συσκευές.
    2ον Αποστολή στο telegram σε συνεργασία με το MyTGBotSendMessage (έχει εξηγήσει στο παραπάνω Post ο BillyVan)
    3ον Αποστολή στο email που θα δηλώσουμε.

    Λαμβάνουμε ενημέρωση και για το ποιά θα είναι η νέα Public ip.
    Επίσης έχει προστεθεί και το κατάλληλο log warning.

    Καλή επιτυχία.

    Κώδικας:
    :local previousIP
    :local DeviceName [/system identity get name]
    
    :global currentIP
    :if ([:typeof $currentIP] = nil) do={
      :global currentIP [/ip address get [find interface=pppoe-out1] address]
      :set $currentIP [:pick $currentIP 0 [:find $currentIP "/"]]
    }
    
    :local newIP [/ip address get [find interface=pppoe-out1] address]
    :set $newIP [:pick $newIP 0 [:find $newIP "/"]]
    
    :if ($newIP != $currentIP) do={
      :put ("Public IP has changed. Old IP: " . $currentIP . ", New IP: " . $newIP)
      :global currentIP $newIP
       delay 15  
    / ip firewall connection {:foreach r in=[find] do={remove $r}}  
      :log warning ("CONNECTIONS CLEARED AFTER CHANGE PPPOE PUBLIC ADSL IP $currentIP")
     # START Send Telegram Module
        :local MessageText "\E2\9C\85 <b>Router $DeviceName:</b>%0AConnections cleared after change pppoe public ip. New public ip is: $newIP"
        :local SendTelegramMessage [:parse [/system script get MyTGBotSendMessage source]]
        $SendTelegramMessage MessageText=$MessageText
        # END Send Telegram Module
      /tool e-mail send to="XXXXXXX@gmail.com" subject="\E2\9C\85 [$DeviceName] Connections cleared. New public ip is: $currentIP" body="Connections cleared after change pppoe public ip. New public ip is: $currentIP" 
    }
    Υ.Γ Έβαλα στο script να εμφανίζεται στα μηνύματά μας και η νέα public ip, για να έχουμε μια πρώτη ενημέρωση, σε περίπτωση που μας βάλουν πίσω από CGNAT, να το καταλάβουμε άμεσα. Συμβαίνει συχνά.
    Τελευταία επεξεργασία από το μέλος jkarabas : 04-07-23 στις 11:37.
    CPU: Intel Core I7 920@2,66Ghz,GPU: nVidia Asus ENGTS 250/DI/CUBA 512MD3 ,RAM:3x1GΒ Corsair TR3G1333 PC3@1333Mhz, PSU: Thermaltake 650W,Μοtherboard: Asus P6TD DELUXE, CASE: CoolerMaster ENTURION

  13. #58
    Εγγραφή
    28-03-2006
    Περιοχή
    KV G434
    Ηλικία
    49
    Μηνύματα
    42.336
    Downloads
    23
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    310/31
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΕΡΜΟΥ
    Router
    RB4011iGS+5 ONT: G-010G-R
    Παράθεση Αρχικό μήνυμα από jkarabas Εμφάνιση μηνυμάτων
    1ον Clear Connections. Πολύ σημαντικό σε περιπτώσεις που έχουμε τηλεφωνικά κέντρα και συσκευές.
    Γιατί είναι σημαντικό αυτό.
    Κλείνοντας και ανοίγοντας την pppoe σύνδεση μου αλλάζει την public IP.
    Χωρίς να κάνω τίποτε παραπάνω το fritz που έχω πίσω από το ΜΤ για τηλεφωνία παίζει χωρίς κανένα πρόβλημα.
    | "Anyone can build a fast CPU.
    | The trick is to build a fast system."
    |____________Seymour Cray...

  14. #59
    Εγγραφή
    28-04-2005
    Μηνύματα
    2.637
    Downloads
    12
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    22000/2500
    ISP
    ΟΤΕ Conn-x
    Router
    RB4011iGS+5HacQ2HnD
    Deni
    Στην περίπτωση τη δική μου με το setup το δικό μου δεν συμβαίνει αυτό που λες.
    Ίσως γιατί έχω 3 Wan και την adsl την έχω σαν distance=3 και δρομολογώ από εκεί μόνο
    το fritz και το voip που έχω.
    Έχει παρατηρηθεί αυτό το θέμα με τα connections, όταν υπάρχουν παραπάνω από 1 Wan στα configs.
    Και εγώ το fritz πίσω από το Mikrotik το έχω.
    Αν κάποιος παρατηρήσει κάτι τέτοιο το script είναι πολύ χρήσιμο.
    CPU: Intel Core I7 920@2,66Ghz,GPU: nVidia Asus ENGTS 250/DI/CUBA 512MD3 ,RAM:3x1GΒ Corsair TR3G1333 PC3@1333Mhz, PSU: Thermaltake 650W,Μοtherboard: Asus P6TD DELUXE, CASE: CoolerMaster ENTURION

  15. #60
    Εγγραφή
    28-03-2006
    Περιοχή
    KV G434
    Ηλικία
    49
    Μηνύματα
    42.336
    Downloads
    23
    Uploads
    0
    Τύπος
    FTTH
    Ταχύτητα
    310/31
    ISP
    Cosmote
    DSLAM
    ΟΤΕ - ΕΡΜΟΥ
    Router
    RB4011iGS+5 ONT: G-010G-R
    Παράθεση Αρχικό μήνυμα από jkarabas Εμφάνιση μηνυμάτων
    Deni
    Στην περίπτωση τη δική μου με το setup το δικό μου δεν συμβαίνει αυτό που λες.
    Ίσως γιατί έχω 3 Wan και την adsl την έχω σαν distance=3 και δρομολογώ από εκεί μόνο
    το fritz και το voip που έχω.
    Έχει παρατηρηθεί αυτό το θέμα με τα connections, όταν υπάρχουν παραπάνω από 1 Wan στα configs.
    Και εγώ το fritz πίσω από το Mikrotik το έχω.
    Αν κάποιος παρατηρήσει κάτι τέτοιο το script είναι πολύ χρήσιμο.
    Αν είναι κάποια ιδιαιτερότητα στο δικό σου conf... οκ
    | "Anyone can build a fast CPU.
    | The trick is to build a fast system."
    |____________Seymour Cray...

Σελ. 4 από 5 ΠρώτηΠρώτη ... 2345 ΤελευταίαΤελευταία

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας