Bläddra i källkod

latest version install and readme

Roman Dmitriev 3 veckor sedan
förälder
incheckning
addaa1caf0
5 ändrade filer med 894 tillägg och 412 borttagningar
  1. 370 0
      INSTALL.md
  2. 404 0
      INSTALL.ru.md
  3. 39 410
      README.md
  4. 79 0
      README.ru.md
  5. 2 2
      install-eye.sh

+ 370 - 0
INSTALL.md

@@ -0,0 +1,370 @@
+## 🔧 Manual Installation
+
+### Installing Required Packages
+
+#### For ALT Linux:
+
+```bash
+# Update repositories
+apt-get update
+
+# Install Eye packages
+apt-get install git xxd wget fping hwdata
+
+# Database (choose one)
+apt-get install mariadb-server mariadb-client    # For MySQL
+# OR
+apt-get install postgresql postgresql-client     # For PostgreSQL
+
+# Web server and PHP
+apt-get install apache2 php8.2 php8.2-mysqlnd php8.2-pgsql \
+php8.2-intl php8.2-mbstring php8.2-fpm-fcgi apache2-mod_fcgid
+
+# Perl modules
+apt-get install perl-Net-Patricia perl-NetAddr-IP perl-Config-Tiny \
+perl-Net-DNS perl-DateTime perl-Net-Ping \
+perl-Net-Netmask perl-Text-Iconv perl-Net-SNMP \
+perl-Net-Telnet perl-DBI \
+perl-Parallel-ForkManager perl-Proc-Daemon \
+perl-DateTime-Format-DateParse perl-DateTime-Format-Strptime \
+perl-Net-OpenSSH perl-File-Tail perl-Tie-File \
+perl-Crypt-Rijndael perl-Crypt-CBC perl-CryptX perl-Crypt-DES \
+perl-File-Path-Tiny perl-Expect perl-Proc-ProcessTable \
+perl-Text-CSV perl-Log-Log4perl \
+perl-DBD-Pg perl-DBD-mysql
+
+# Additional services
+apt-get install dnsmasq syslog-ng syslog-ng-journal pwgen
+```
+
+#### For Debian / Ubuntu:
+
+```bash
+# Update repositories
+apt-get update
+
+# Install Eye packages
+apt-get install git xxd bsdmainutils pwgen wget fping ieee-data
+
+# Database (choose one)
+apt-get install mariadb-server mariadb-client    # For MySQL
+# OR
+apt-get install postgresql postgresql-client     # For PostgreSQL
+
+# Web server and PHP
+apt-get install apache2 php php-mysql php-pgsql php-bcmath \
+php-intl php-mbstring php-date php-mail php-snmp php-zip \
+php-db php-fpm libapache2-mod-fcgid
+
+# Perl modules
+apt-get install -y perl \
+libnet-patricia-perl libnetaddr-ip-perl libconfig-tiny-perl \
+libnet-dns-perl libdatetime-perl libnet-netmask-perl \
+libtext-iconv-perl libnet-snmp-perl libnet-telnet-perl \
+libdbi-perl libparallel-forkmanager-perl libproc-daemon-perl \
+libdatetime-format-dateparse-perl libnetwork-ipv4addr-perl \
+libnet-openssh-perl libfile-tail-perl libdatetime-format-strptime-perl \
+libcrypt-rijndael-perl libcrypt-cbc-perl libcryptx-perl \
+libcrypt-des-perl libfile-path-tiny-perl libexpect-perl \
+libtext-csv-perl liblog-log4perl-perl \
+libdbd-pg-perl libdbd-mysql-perl
+
+# Additional services
+apt-get install dnsmasq syslog-ng
+```
+
+---
+
+### Creating User and Group
+
+```bash
+# Create group
+groupadd --system eye
+
+# Create user
+adduser --system --disabled-password --disabled-login \
+--ingroup eye --home=/opt/Eye eye
+
+# Create directory
+mkdir -p /opt/Eye
+chown eye:eye /opt/Eye
+chmod 770 /opt/Eye
+
+# Optional: add nagios to eye group
+usermod -a -G eye nagios
+```
+
+---
+
+### Downloading and Installing Source Code
+
+```bash
+# Clone repository
+git clone https://github.com/rajven/Eye
+
+# Create directory structure
+mkdir -p /opt/Eye/scripts/cfg
+mkdir -p /opt/Eye/scripts/log
+mkdir -p /opt/Eye/html/cfg
+mkdir -p /opt/Eye/html/js
+mkdir -p /opt/Eye/docs
+
+# Set permissions
+chmod 750 /opt/Eye
+chmod 770 /opt/Eye/scripts/log
+chmod 750 /opt/Eye/scripts
+
+# Copy files
+cp -R scripts/ /opt/Eye/
+cp -R html/ /opt/Eye/
+cp -R docs/ /opt/Eye/
+
+# Set ownership
+chown -R eye:eye /opt/Eye
+```
+
+---
+
+### Applying SNMP SHA512 Patch (Optional)
+
+```bash
+# Patch for SNMPv3 SHA512 support
+# File: /opt/Eye/docs/patches/sha512.patch
+# For ALT Linux: /opt/Eye/docs/patches/sha512.alt.patch
+
+# You can apply the patch or simply replace the module
+cp /opt/Eye/docs/patches/USM.pm /usr/share/perl5/Net/SNMP/Security/USM.pm
+```
+
+---
+
+### Downloading Additional JavaScript Libraries
+
+```bash
+# Create directories
+mkdir -p /opt/Eye/html/js/jq
+mkdir -p /opt/Eye/html/js/select2
+mkdir -p /opt/Eye/html/js/jstree
+
+# Download jQuery
+wget https://code.jquery.com/jquery-3.7.0.min.js \
+-O /opt/Eye/html/js/jq/jquery.min.js
+
+# Download Select2
+wget https://github.com/select2/select2/archive/4.0.12.tar.gz -O 4.0.12.tar.gz
+tar -xzf 4.0.12.tar.gz -C /opt/Eye/html/js/select2/ \
+--strip-components=2 select2-4.0.12/dist
+rm -f 4.0.12.tar.gz
+
+# Download jsTree
+wget https://github.com/vakata/jstree/archive/3.3.12.tar.gz -O jstree.tar.gz
+tar -xzf jstree.tar.gz -C /opt/Eye/html/js/
+mv /opt/Eye/html/js/jstree-3.3.12/dist/* /opt/Eye/html/js/jstree
+rm -rf /opt/Eye/html/js/jstree-3.3.12
+rm -f jstree.tar.gz
+```
+
+---
+
+### Database Configuration
+
+#### MySQL / MariaDB:
+
+```bash
+systemctl enable mariadb
+systemctl start mariadb
+
+mysql_secure_installation
+
+mysql -u root -p < /opt/Eye/docs/databases/mysql/en/create_db.sql
+mysql -u root -p stat < /opt/Eye/docs/databases/mysql/en/data.sql
+
+mysql -u root -p <<EOF
+CREATE USER 'stat'@'localhost' IDENTIFIED BY 'your_password';
+GRANT ALL PRIVILEGES ON stat.* TO 'stat'@'localhost';
+FLUSH PRIVILEGES;
+EOF
+```
+
+#### PostgreSQL:
+
+```bash
+systemctl enable postgresql
+systemctl start postgresql
+
+sudo -u postgres psql -f /opt/Eye/docs/databases/postgres/en/create_db.sql
+sudo -u postgres psql -d stat -f /opt/Eye/docs/databases/postgres/en/data.sql
+sudo -u postgres psql -c "ALTER USER stat WITH PASSWORD 'your_password';"
+
+# Add this line to pg_hba.conf:
+# local   stat            stat                                    md5
+```
+
+---
+
+### Configuration Files
+
+```bash
+cp /opt/Eye/html/cfg/config.sample.php /opt/Eye/html/cfg/config.php
+cp /opt/Eye/scripts/cfg/config.sample /opt/Eye/scripts/cfg/config
+
+ENCRYPTION_KEY=$(pwgen 16 1)
+ENCRYPTION_IV=$(tr -dc 0-9 </dev/urandom | head -c 16)
+
+chown -R eye:eye /opt/Eye/html/cfg /opt/Eye/scripts/cfg
+chmod 660 /opt/Eye/html/cfg/config.php /opt/Eye/scripts/cfg/config
+```
+
+---
+
+### Apache and PHP Configuration
+
+```bash
+cp /opt/Eye/docs/apache/000-default.conf /etc/apache2/sites-available/
+a2enmod setenvif proxy proxy_fcgi
+cp /opt/Eye/docs/php-fpm/eye.conf /etc/php/8.2/fpm/pool.d/
+
+cp /opt/Eye/docs/sudoers.d/www-data /etc/sudoers.d/eye
+sed -i 's/www-data/eye/g' /etc/sudoers.d/eye
+chmod 440 /etc/sudoers.d/eye
+
+systemctl restart apache2
+systemctl restart php8.2-fpm
+```
+
+---
+
+### Cron and Logrotate
+
+```bash
+cp /opt/Eye/docs/cron/stat /etc/cron.d/eye
+chmod 644 /etc/cron.d/eye
+
+cp /opt/Eye/docs/logrotate/dnsmasq /etc/logrotate.d/dnsmasq-eye
+cp /opt/Eye/docs/logrotate/scripts /etc/logrotate.d/eye-scripts
+```
+
+---
+
+### Additional Services (Optional)
+
+#### DHCP (dnsmasq):
+
+```bash
+cp /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
+cat /opt/Eye/docs/addons/dnsmasq.conf > /etc/dnsmasq.conf
+
+cp /opt/Eye/docs/systemd/dhcp-log.service /etc/systemd/system/
+cp /opt/Eye/docs/systemd/dhcp-log-truncate.service /etc/systemd/system/
+
+systemctl enable dnsmasq dhcp-log dhcp-log-truncate
+systemctl start dnsmasq
+```
+
+#### Syslog-ng:
+
+```bash
+cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.backup
+mkdir -p /etc/syslog-ng/conf.d
+cp /opt/Eye/docs/syslog-ng/eye.conf /etc/syslog-ng/conf.d/
+
+cp /opt/Eye/docs/systemd/syslog-stat.service /etc/systemd/system/
+
+systemctl enable syslog-ng syslog-stat
+systemctl restart syslog-ng
+systemctl start syslog-stat
+```
+
+#### NetFlow:
+
+```bash
+cp /opt/Eye/docs/systemd/eye-statd.service /etc/systemd/system/
+systemctl enable eye-statd
+```
+
+#### Stat-sync:
+
+```bash
+cp /opt/Eye/docs/systemd/stat-sync.service /etc/systemd/system/
+systemctl enable stat-sync.service
+```
+
+---
+
+### MAC Address Database Import
+
+```bash
+cd /opt/Eye/scripts/utils/mac-oids/
+bash download-macs.sh
+perl update-mac-vendors.pl
+```
+
+## 📊 MikroTik Integration
+
+### Firewall:
+
+Fasttrack rules must be DISABLED!!!
+
+```routeros
+/ip firewall filter
+set disabled=yes [ find action =fasttrack-connection ]
+set disabled=yes [ find chain =forward and comment~"established" ]
+add action=drop chain=forward comment="deny unknown ips" out-interface-list=WAN src-address-list=!group_all
+add action=jump chain=forward comment="users set" in-interface-list=WAN jump-target=Users
+add action=jump chain=forward jump-target=Users out-interface-list=WAN
+add action=accept chain=forward comment=related,established connection-state=established,related
+add action=reject chain=forward comment="deny default wan" in-interface-list=WAN reject-with=icmp-network-unreachable
+add action=drop chain=forward out-interface-list=WAN
+```
+
+### Working with DHCP Server
+
+For DHCP server events on MikroTik, you need to attach a script that will notify Eye about IP address leases/releases. Both GET and POST requests are supported.
+Using HTTPS & POST is strongly recommended.
+
+### DHCP Script (RouterOS 6):
+
+```routeros
+/tool fetch mode=http keep-result=no url="http://<EYE_IP>/api.php?login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=\$leaseActMAC&ip=\$leaseActIP&action=\$leaseBound&hostname=\$lease-hostname"
+```
+
+With HTTPS:
+```routeros
+/tool fetch mode=https keep-result=no url="https://<EYE_URL>/api.php?login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=\$leaseActMAC&ip=\$leaseActIP&action=\$leaseBound&hostname=\$lease-hostname"
+```
+
+### DHCP Script (RouterOS 7):
+
+```routeros
+/tool fetch url="http://<EYE_IP>/api.php"  mode=http  http-method=post \
+    http-data="login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=$leaseActMAC&ip=$leaseActIP&action=$leaseBound&hostname=$"lease-hostname"" \
+    keep-result=no
+```
+
+With HTTPS:
+```routeros
+/tool fetch url="https://<EYE_DNS_NAME>/api.php"  mode=https  http-method=post \
+    http-data="login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=$leaseActMAC&ip=$leaseActIP&action=$leaseBound&hostname=$"lease-hostname"" \
+    keep-result=no
+```
+
+The DHCP server name should be derived from the interface name it operates on. E.g., when running on interface `bridge` => `dhcp-bridge`
+
+### NetFlow:
+
+```routeros
+# RouterOS 6
+/ip traffic-flow
+set enabled=yes
+
+# RouterOS 7
+/ip traffic-flow
+set enabled=yes interfaces=WAN
+
+/ip traffic-flow target
+add dst-address=<NETFLOW_SERVER_IP> port=2055
+```
+
+## Important!
+
+Do not modify system scripts! If you need to change something, create a copy of the script and work with that. Otherwise, your changes will be overwritten during use automatic updates.

+ 404 - 0
INSTALL.ru.md

@@ -0,0 +1,404 @@
+# Eye Monitoring System — Руководство по установке
+
+### Системные требования
+
+#### Поддерживаемые дистрибутивы:
+
+* ALT Linux 11.1+
+* Debian 11+
+* Ubuntu 20.04+
+
+## 🔧 Ручная установка
+
+
+### Установка требуемых пакетов
+
+#### Для ALT Linux:
+
+```bash
+# Обновление репозиториев
+apt-get update
+
+# Установка пакетов Eye
+apt-get install git xxd wget fping hwdata
+
+# База данных (выберите одну)
+apt-get install mariadb-server mariadb-client    # Для MySQL
+# ИЛИ
+apt-get install postgresql postgresql-client     # Для PostgreSQL
+
+# Веб-сервер и PHP
+apt-get install apache2 php8.2 php8.2-mysqlnd php8.2-pgsql \
+php8.2-intl php8.2-mbstring php8.2-fpm-fcgi apache2-mod_fcgid
+
+# Perl-модули
+apt-get install perl-Net-Patricia perl-NetAddr-IP perl-Config-Tiny \
+perl-Net-DNS perl-DateTime perl-Net-Ping \
+perl-Net-Netmask perl-Text-Iconv perl-Net-SNMP \
+perl-Net-Telnet perl-DBI \
+perl-Parallel-ForkManager perl-Proc-Daemon \
+perl-DateTime-Format-DateParse perl-DateTime-Format-Strptime \
+perl-Net-OpenSSH perl-File-Tail perl-Tie-File \
+perl-Crypt-Rijndael perl-Crypt-CBC perl-CryptX perl-Crypt-DES \
+perl-File-Path-Tiny perl-Expect perl-Proc-ProcessTable \
+perl-Text-CSV perl-Log-Log4perl \
+perl-DBD-Pg perl-DBD-mysql
+
+# Дополнительные сервисы
+apt-get install dnsmasq syslog-ng syslog-ng-journal pwgen
+```
+
+#### Для Debian / Ubuntu:
+
+```bash
+# Обновление репозиториев
+apt-get update
+
+# Установка пакетов Eye
+apt-get install git xxd bsdmainutils pwgen wget fping ieee-data
+
+# База данных (выберите одну)
+apt-get install mariadb-server mariadb-client    # Для MySQL
+# ИЛИ
+apt-get install postgresql postgresql-client     # Для PostgreSQL
+
+# Веб-сервер и PHP
+apt-get install apache2 php php-mysql php-pgsql php-bcmath \
+php-intl php-mbstring php-date php-mail php-snmp php-zip \
+php-db php-fpm libapache2-mod-fcgid
+
+# Perl-модули
+apt-get install -y perl \
+libnet-patricia-perl libnetaddr-ip-perl libconfig-tiny-perl \
+libnet-dns-perl libdatetime-perl libnet-netmask-perl \
+libtext-iconv-perl libnet-snmp-perl libnet-telnet-perl \
+libdbi-perl libparallel-forkmanager-perl libproc-daemon-perl \
+libdatetime-format-dateparse-perl libnetwork-ipv4addr-perl \
+libnet-openssh-perl libfile-tail-perl libdatetime-format-strptime-perl \
+libcrypt-rijndael-perl libcrypt-cbc-perl libcryptx-perl \
+libcrypt-des-perl libfile-path-tiny-perl libexpect-perl \
+libtext-csv-perl liblog-log4perl-perl \
+libdbd-pg-perl libdbd-mysql-perl
+
+# Дополнительные сервисы
+apt-get install dnsmasq syslog-ng
+```
+
+---
+
+### Создание пользователя и группы
+
+```bash
+# Создание группы
+groupadd --system eye
+
+# Создание пользователя
+adduser --system --disabled-password --disabled-login \
+--ingroup eye --home=/opt/Eye eye
+
+# Создание каталога
+mkdir -p /opt/Eye
+chown eye:eye /opt/Eye
+chmod 770 /opt/Eye
+
+# Опционально: добавить nagios в группу eye
+usermod -a -G eye nagios
+```
+
+---
+
+### Загрузка и установка исходного кода
+
+```bash
+# Клонирование репозитория
+git clone https://github.com/rajven/Eye
+
+# Создание структуры каталогов
+mkdir -p /opt/Eye/scripts/cfg
+mkdir -p /opt/Eye/scripts/log
+mkdir -p /opt/Eye/html/cfg
+mkdir -p /opt/Eye/html/js
+mkdir -p /opt/Eye/docs
+
+# Установка прав
+chmod 750 /opt/Eye
+chmod 770 /opt/Eye/scripts/log
+chmod 750 /opt/Eye/scripts
+
+# Копирование файлов
+cp -R scripts/ /opt/Eye/
+cp -R html/ /opt/Eye/
+cp -R docs/ /opt/Eye/
+
+# Установка прав
+chown -R eye:eye /opt/Eye
+```
+
+---
+
+### Применение патча SNMP SHA512 (опционально)
+
+```bash
+# Патч для поддержки SNMPv3 SHA512
+# Файл: /opt/Eye/docs/patches/sha512.patch
+# Для ALT Linux: /opt/Eye/docs/patches/sha512.alt.patch
+
+# Можете применить патч или просто заменить модуль
+cp /opt/Eye/docs/patches/USM.pm /usr/share/perl5/Net/SNMP/Security/USM.pm
+```
+
+---
+
+### Загрузка дополнительных JavaScript-библиотек
+
+```bash
+# Создание каталогов
+mkdir -p /opt/Eye/html/js/jq
+mkdir -p /opt/Eye/html/js/select2
+mkdir -p /opt/Eye/html/js/jstree
+
+# Загрузка jQuery
+wget https://code.jquery.com/jquery-3.7.0.min.js \
+-O /opt/Eye/html/js/jq/jquery.min.js
+
+# Загрузка Select2
+wget https://github.com/select2/select2/archive/4.0.12.tar.gz -O 4.0.12.tar.gz
+tar -xzf 4.0.12.tar.gz -C /opt/Eye/html/js/select2/ \
+--strip-components=2 select2-4.0.12/dist
+rm -f 4.0.12.tar.gz
+
+# Загрузка jsTree
+wget https://github.com/vakata/jstree/archive/3.3.12.tar.gz -O jstree.tar.gz
+tar -xzf jstree.tar.gz -C /opt/Eye/html/js/
+mv /opt/Eye/html/js/jstree-3.3.12/dist/* /opt/Eye/html/js/jstree
+rm -rf /opt/Eye/html/js/jstree-3.3.12
+rm -f jstree.tar.gz
+```
+
+---
+
+### Настройка базы данных
+
+#### MySQL / MariaDB:
+
+```bash
+systemctl enable mariadb
+systemctl start mariadb
+
+mysql_secure_installation
+
+mysql -u root -p < /opt/Eye/docs/databases/mysql/en/create_db.sql
+mysql -u root -p stat < /opt/Eye/docs/databases/mysql/en/data.sql
+
+mysql -u root -p <<EOF
+CREATE USER 'stat'@'localhost' IDENTIFIED BY 'your_password';
+GRANT ALL PRIVILEGES ON stat.* TO 'stat'@'localhost';
+FLUSH PRIVILEGES;
+EOF
+```
+
+#### PostgreSQL:
+
+```bash
+systemctl enable postgresql
+systemctl start postgresql
+
+sudo -u postgres psql -f /opt/Eye/docs/databases/postgres/en/create_db.sql
+sudo -u postgres psql -d stat -f /opt/Eye/docs/databases/postgres/en/data.sql
+sudo -u postgres psql -c "ALTER USER stat WITH PASSWORD 'your_password';"
+
+# В pg_hba.conf добавить строку:
+# local   stat            stat                                    md5
+```
+
+---
+
+### Конфигурационные файлы
+
+```bash
+cp /opt/Eye/html/cfg/config.sample.php /opt/Eye/html/cfg/config.php
+cp /opt/Eye/scripts/cfg/config.sample /opt/Eye/scripts/cfg/config
+
+ENCRYPTION_KEY=$(pwgen 16 1)
+ENCRYPTION_IV=$(tr -dc 0-9 </dev/urandom | head -c 16)
+
+chown -R eye:eye /opt/Eye/html/cfg /opt/Eye/scripts/cfg
+chmod 660 /opt/Eye/html/cfg/config.php /opt/Eye/scripts/cfg/config
+```
+
+---
+
+### Настройка Apache и PHP
+
+```bash
+cp /opt/Eye/docs/apache/000-default.conf /etc/apache2/sites-available/
+a2enmod setenvif proxy proxy_fcgi
+cp /opt/Eye/docs/php-fpm/eye.conf /etc/php/8.2/fpm/pool.d/
+
+cp /opt/Eye/docs/sudoers.d/www-data /etc/sudoers.d/eye
+sed -i 's/www-data/eye/g' /etc/sudoers.d/eye
+chmod 440 /etc/sudoers.d/eye
+
+systemctl restart apache2
+systemctl restart php8.2-fpm
+```
+
+---
+
+### Cron и Logrotate
+
+```bash
+cp /opt/Eye/docs/cron/stat /etc/cron.d/eye
+chmod 644 /etc/cron.d/eye
+
+cp /opt/Eye/docs/logrotate/dnsmasq /etc/logrotate.d/dnsmasq-eye
+cp /opt/Eye/docs/logrotate/scripts /etc/logrotate.d/eye-scripts
+```
+
+---
+
+### Дополнительные сервисы (опционально)
+
+#### DHCP (dnsmasq):
+
+```bash
+cp /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
+cat /opt/Eye/docs/addons/dnsmasq.conf > /etc/dnsmasq.conf
+
+cp /opt/Eye/docs/systemd/dhcp-log.service /etc/systemd/system/
+cp /opt/Eye/docs/systemd/dhcp-log-truncate.service /etc/systemd/system/
+
+systemctl enable dnsmasq dhcp-log dhcp-log-truncate
+systemctl start dnsmasq
+```
+
+#### Syslog-ng:
+
+```bash
+cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.backup
+mkdir -p /etc/syslog-ng/conf.d
+cp /opt/Eye/docs/syslog-ng/eye.conf /etc/syslog-ng/conf.d/
+
+cp /opt/Eye/docs/systemd/syslog-stat.service /etc/systemd/system/
+
+systemctl enable syslog-ng syslog-stat
+systemctl restart syslog-ng
+systemctl start syslog-stat
+```
+
+#### NetFlow:
+
+```bash
+cp /opt/Eye/docs/systemd/eye-statd.service /etc/systemd/system/
+systemctl enable eye-statd
+```
+
+#### Stat-sync:
+
+```bash
+cp /opt/Eye/docs/systemd/stat-sync.service /etc/systemd/system/
+systemctl enable stat-sync.service
+```
+
+---
+
+### Импорт базы MAC-адресов
+
+```bash
+cd /opt/Eye/scripts/utils/mac-oids/
+bash download-macs.sh
+perl update-mac-vendors.pl
+```
+
+---
+
+## 🌐 Доступ к веб-интерфейсу
+
+* URL: `http://your-server-ip/`
+* Админ-панель: `http://your-server-ip/admin/`
+* Логин: `admin`
+* Пароль: `admin`
+
+---
+
+## 🔐 Рекомендации по безопасности
+
+* **НЕМЕДЛЕННО смените пароль администратора**
+* Сгенерируйте новый API-ключ
+* Ограничьте доступ с помощью firewall
+* Используйте HTTPS
+* Делайте регулярные обновления и резервные копии
+
+---
+
+## 📊 Интеграция с MikroTik
+
+### Firewall:
+
+Правила с fasttrack надо вылкючить!!!
+
+```routeros
+/ip firewall filter
+set disabled=yes [ find action =fasttrack-connection ]
+set disabled=yes [ find chain =forward and comment~"established" ]
+add action=drop chain=forward comment="deny unknown ips" out-interface-list=WAN src-address-list=!group_all
+add action=jump chain=forward comment="users set" in-interface-list=WAN jump-target=Users
+add action=jump chain=forward jump-target=Users out-interface-list=WAN
+add action=accept chain=forward comment=related,established connection-state=established,related
+add action=reject chain=forward comment="deny default wan" in-interface-list=WAN reject-with=icmp-network-unreachable
+add action=drop chain=forward out-interface-list=WAN
+```
+
+### Работа с dhcp-сервером
+
+На события от dhcp-сервера в микротике надо повесить скрипт, который будут сообщать в Eye о аренде/освобождении ip-адресов. Поддерживаются GET и POST запросы. 
+Правильнее всего будет исопльзовать HTTPS & POST.
+
+### DHCP-скрипт (RouterOS 6):
+
+```routeros
+/tool fetch mode=http keep-result=no url="http://<EYE_IP>/api.php?login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=\$leaseActMAC&ip=\$leaseActIP&action=\$leaseBound&hostname=\$lease-hostname"
+```
+
+С https:
+```routeros
+/tool fetch mode=https keep-result=no url="https://<EYE_URL>/api.php?login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=\$leaseActMAC&ip=\$leaseActIP&action=\$leaseBound&hostname=\$lease-hostname"
+```
+
+### DHCP-скрипт (RouterOS 7):
+
+```routeros
+/tool fetch url="http://<EYE_IP>/api.php"  mode=http  http-method=post \
+    http-data="login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=$leaseActMAC&ip=$leaseActIP&action=$leaseBound&hostname=$"lease-hostname"" \
+    keep-result=no
+```
+
+С https:
+```routeros
+/tool fetch url="https://<EYE_DNS_NAME>/api.php"  mode=https  http-method=post \
+    http-data="login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=$leaseActMAC&ip=$leaseActIP&action=$leaseBound&hostname=$"lease-hostname"" \
+    keep-result=no
+```
+
+Имя dhcp-сервера должно быть образовано от имени интерфейса, на котором он работает. Т.е. при работе на интерфейсе bridge => dhcp-bridge
+
+### NetFlow:
+
+```routeros
+# RouterOS 6
+/ip traffic-flow
+set enabled=yes
+
+# RouterOS 7
+/ip traffic-flow
+set enabled=yes interfaces=WAN
+
+/ip traffic-flow target
+add dst-address=<NETFLOW_SERVER_IP> port=2055
+```
+
+## Важно!
+
+Не меняйте системные скрипты! Если надо что-то изменить, создайте копию скрипта и работайте с ней. Иначе при обновлении ваши изменения будут затёрты.
+
+---

+ 39 - 410
README.md

@@ -1,28 +1,28 @@
-# Око
+# Eye
 
-Обычный быдло-кодинг, разросшийся за последние 18 лет. Выкладываю сюда - может кого-то сподвигнет сделать что-то своё нормально).
+A personal project that has grown over the last 18 years. Sharing it here — maybe it will inspire someone to build something of their own, properly).
 
-## 📋 Обзор
+## 📋 Overview
 
-Eye — это комплексная система сетевого мониторинга и управления, обеспечивающая:
+Eye is a comprehensive network monitoring and management system that provides:
 
-- Управление выходом в интернет для IP-адресов через маршрутизаторы MikroTik/Linux (настраивается фильтрация, лимиты трафика в сутки и за месяц).
-- Ограничение скорости доступа (реализовано на MikroTik; функциональность для Linux ранее существовала, но была удалена).
-- Генерация конфигураций для DHCP-серверов  (dnsmasq, MikroTik).
-- Генерация конфигураций для DNS-сервера (BIND).
-- Опрос коммутаторов и маршрутизаторов по SNMP с последующим анализом и определением портов подключения IP-адресов.
-- Мониторинг и управление сетевыми устройствами.
-- Анализ трафика и контроль пропускной способности.
-- Сбор и анализ Syslog-сообщений.
-- Статистика и отчёты в реальном времени.
+- Internet access management for IP addresses via MikroTik/Linux routers (configurable filtering, daily and monthly traffic limits).
+- Access speed limiting (implemented on MikroTik; Linux functionality previously existed but was removed).
+- Configuration generation for DHCP servers (dnsmasq, MikroTik).
+- Configuration generation for DNS servers (BIND).
+- SNMP polling of switches and routers with subsequent analysis and identification of IP address connection ports.
+- Monitoring and management of network devices.
+- Traffic analysis and bandwidth control.
+- Collection and analysis of Syslog messages.
+- Real-time statistics and reporting.
 
 ---
 
-# Eye Monitoring System — Руководство по установке
+# Eye Monitoring System — Installation Guide
 
-### Системные требования
+### System Requirements
 
-#### Поддерживаемые дистрибутивы:
+#### Supported Distributions:
 
 * ALT Linux 11.1+
 * Debian 11+
@@ -30,421 +30,50 @@ Eye — это комплексная система сетевого монит
 
 ---
 
-## 🚀 Быстрая установка с помощью скрипта
+## 🚀 Quick Installation via Script
 
-Для автоматизированной установки/обновления используйте установочный скрипт:
+For automated installation/updates, use the installation script:
 
 ```bash
-# Сделать скрипт исполняемым
+# Make the script executable
 chmod +x install-eye.sh
 
-# Запуск установки/обновления
+# Run installation/update
 sudo ./install-eye.sh
-
-````
-
-### Возможности скрипта
-
-* Поддержка ALT Linux, Debian и Ubuntu
-* Поддержка двух СУБД: MySQL/MariaDB или PostgreSQL (экспериментально, не для production!)
-* Многоязычный интерфейс: английский или русский
-* Автоматическая установка зависимостей
-* Настройка конфигурационных файлов
-* Инициализация базы данных
-
----
-
-## 🔧 Ручная установка
-
-
-### Установка требуемых пакетов
-
-#### Для ALT Linux:
-
-```bash
-# Обновление репозиториев
-apt-get update
-
-# Установка пакетов Eye
-apt-get install git xxd wget fping hwdata
-
-# База данных (выберите одну)
-apt-get install mariadb-server mariadb-client    # Для MySQL
-# ИЛИ
-apt-get install postgresql postgresql-client     # Для PostgreSQL
-
-# Веб-сервер и PHP
-apt-get install apache2 php8.2 php8.2-mysqlnd php8.2-pgsql \
-php8.2-intl php8.2-mbstring php8.2-fpm-fcgi apache2-mod_fcgid
-
-# Perl-модули
-apt-get install perl-Net-Patricia perl-NetAddr-IP perl-Config-Tiny \
-perl-Net-DNS perl-DateTime perl-Net-Ping \
-perl-Net-Netmask perl-Text-Iconv perl-Net-SNMP \
-perl-Net-Telnet perl-DBI \
-perl-Parallel-ForkManager perl-Proc-Daemon \
-perl-DateTime-Format-DateParse perl-DateTime-Format-Strptime \
-perl-Net-OpenSSH perl-File-Tail perl-Tie-File \
-perl-Crypt-Rijndael perl-Crypt-CBC perl-CryptX perl-Crypt-DES \
-perl-File-Path-Tiny perl-Expect perl-Proc-ProcessTable \
-perl-Text-CSV \
-perl-DBD-Pg perl-DBD-mysql
-
-# Дополнительные сервисы
-apt-get install dnsmasq syslog-ng syslog-ng-journal pwgen
-```
-
-#### Для Debian / Ubuntu:
-
-```bash
-# Обновление репозиториев
-apt-get update
-
-# Установка пакетов Eye
-apt-get install git xxd bsdmainutils pwgen wget fping ieee-data
-
-# База данных (выберите одну)
-apt-get install mariadb-server mariadb-client    # Для MySQL
-# ИЛИ
-apt-get install postgresql postgresql-client     # Для PostgreSQL
-
-# Веб-сервер и PHP
-apt-get install apache2 php php-mysql php-pgsql php-bcmath \
-php-intl php-mbstring php-date php-mail php-snmp php-zip \
-php-db php-fpm libapache2-mod-fcgid
-
-# Perl-модули
-apt-get install -y perl \
-libnet-patricia-perl libnetaddr-ip-perl libconfig-tiny-perl \
-libnet-dns-perl libdatetime-perl libnet-netmask-perl \
-libtext-iconv-perl libnet-snmp-perl libnet-telnet-perl \
-libdbi-perl libparallel-forkmanager-perl libproc-daemon-perl \
-libdatetime-format-dateparse-perl libnetwork-ipv4addr-perl \
-libnet-openssh-perl libfile-tail-perl libdatetime-format-strptime-perl \
-libcrypt-rijndael-perl libcrypt-cbc-perl libcryptx-perl \
-libcrypt-des-perl libfile-path-tiny-perl libexpect-perl \
-libtext-csv-perl \
-libdbd-pg-perl libdbd-mysql-perl
-
-# Дополнительные сервисы
-apt-get install dnsmasq syslog-ng
 ```
 
----
-
-### Создание пользователя и группы
-
-```bash
-# Создание группы
-groupadd --system eye
+### Script Features
 
-# Создание пользователя
-adduser --system --disabled-password --disabled-login \
---ingroup eye --home=/opt/Eye eye
-
-# Создание каталога
-mkdir -p /opt/Eye
-chown eye:eye /opt/Eye
-chmod 770 /opt/Eye
-
-# Опционально: добавить nagios в группу eye
-usermod -a -G eye nagios
-```
+* Support for ALT Linux, Debian, and Ubuntu
+* Support for two database systems: MySQL/MariaDB or PostgreSQL (experimental, not for production!)
+* Multilingual interface: English or Russian
+* Automatic dependency installation
+* Configuration file setup
+* Database initialization
 
 ---
 
-### Загрузка и установка исходного кода
-
-```bash
-# Клонирование репозитория
-git clone https://github.com/rajven/Eye
-
-# Создание структуры каталогов
-mkdir -p /opt/Eye/scripts/cfg
-mkdir -p /opt/Eye/scripts/log
-mkdir -p /opt/Eye/html/cfg
-mkdir -p /opt/Eye/html/js
-mkdir -p /opt/Eye/docs
-
-# Установка прав
-chmod 750 /opt/Eye
-chmod 770 /opt/Eye/scripts/log
-chmod 750 /opt/Eye/scripts
-
-# Копирование файлов
-cp -R scripts/ /opt/Eye/
-cp -R html/ /opt/Eye/
-cp -R docs/ /opt/Eye/
-
-# Установка прав
-chown -R eye:eye /opt/Eye
-```
-
----
-
-### Применение патча SNMP SHA512 (опционально)
-
-```bash
-# Патч для поддержки SNMPv3 SHA512
-# Файл: /opt/Eye/docs/patches/sha512.patch
-# Для ALT Linux: /opt/Eye/docs/patches/sha512.alt.patch
-
-# Можете применить патч или просто заменить модуль
-cp /opt/Eye/docs/patches/USM.pm /usr/share/perl5/Net/SNMP/Security/USM.pm
-```
-
----
-
-### Загрузка дополнительных JavaScript-библиотек
-
-```bash
-# Создание каталогов
-mkdir -p /opt/Eye/html/js/jq
-mkdir -p /opt/Eye/html/js/select2
-mkdir -p /opt/Eye/html/js/jstree
-
-# Загрузка jQuery
-wget https://code.jquery.com/jquery-3.7.0.min.js \
--O /opt/Eye/html/js/jq/jquery.min.js
-
-# Загрузка Select2
-wget https://github.com/select2/select2/archive/4.0.12.tar.gz -O 4.0.12.tar.gz
-tar -xzf 4.0.12.tar.gz -C /opt/Eye/html/js/select2/ \
---strip-components=2 select2-4.0.12/dist
-rm -f 4.0.12.tar.gz
-
-# Загрузка jsTree
-wget https://github.com/vakata/jstree/archive/3.3.12.tar.gz -O jstree.tar.gz
-tar -xzf jstree.tar.gz -C /opt/Eye/html/js/
-mv /opt/Eye/html/js/jstree-3.3.12/dist/* /opt/Eye/html/js/jstree
-rm -rf /opt/Eye/html/js/jstree-3.3.12
-rm -f jstree.tar.gz
-```
-
----
-
-### Настройка базы данных
-
-#### MySQL / MariaDB:
-
-```bash
-systemctl enable mariadb
-systemctl start mariadb
-
-mysql_secure_installation
-
-mysql -u root -p < /opt/Eye/docs/databases/mysql/en/create_db.sql
-mysql -u root -p stat < /opt/Eye/docs/databases/mysql/en/data.sql
-
-mysql -u root -p <<EOF
-CREATE USER 'stat'@'localhost' IDENTIFIED BY 'your_password';
-GRANT ALL PRIVILEGES ON stat.* TO 'stat'@'localhost';
-FLUSH PRIVILEGES;
-EOF
-```
-
-#### PostgreSQL:
-
-```bash
-systemctl enable postgresql
-systemctl start postgresql
-
-sudo -u postgres psql -f /opt/Eye/docs/databases/postgres/en/create_db.sql
-sudo -u postgres psql -d stat -f /opt/Eye/docs/databases/postgres/en/data.sql
-sudo -u postgres psql -c "ALTER USER stat WITH PASSWORD 'your_password';"
-
-# В pg_hba.conf добавить строку:
-# local   stat            stat                                    md5
-```
-
----
-
-### Конфигурационные файлы
-
-```bash
-cp /opt/Eye/html/cfg/config.sample.php /opt/Eye/html/cfg/config.php
-cp /opt/Eye/scripts/cfg/config.sample /opt/Eye/scripts/cfg/config
-
-ENCRYPTION_KEY=$(pwgen 16 1)
-ENCRYPTION_IV=$(tr -dc 0-9 </dev/urandom | head -c 16)
-
-chown -R eye:eye /opt/Eye/html/cfg /opt/Eye/scripts/cfg
-chmod 660 /opt/Eye/html/cfg/config.php /opt/Eye/scripts/cfg/config
-```
-
----
-
-### Настройка Apache и PHP
-
-```bash
-cp /opt/Eye/docs/apache/000-default.conf /etc/apache2/sites-available/
-a2enmod setenvif proxy proxy_fcgi
-cp /opt/Eye/docs/php-fpm/eye.conf /etc/php/8.2/fpm/pool.d/
-
-cp /opt/Eye/docs/sudoers.d/www-data /etc/sudoers.d/eye
-sed -i 's/www-data/eye/g' /etc/sudoers.d/eye
-chmod 440 /etc/sudoers.d/eye
-
-systemctl restart apache2
-systemctl restart php8.2-fpm
-```
-
----
-
-### Cron и Logrotate
-
-```bash
-cp /opt/Eye/docs/cron/stat /etc/cron.d/eye
-chmod 644 /etc/cron.d/eye
-
-cp /opt/Eye/docs/logrotate/dnsmasq /etc/logrotate.d/dnsmasq-eye
-cp /opt/Eye/docs/logrotate/scripts /etc/logrotate.d/eye-scripts
-```
-
----
-
-### Дополнительные сервисы (опционально)
-
-#### DHCP (dnsmasq):
-
-```bash
-cp /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
-cat /opt/Eye/docs/addons/dnsmasq.conf > /etc/dnsmasq.conf
-
-cp /opt/Eye/docs/systemd/dhcp-log.service /etc/systemd/system/
-cp /opt/Eye/docs/systemd/dhcp-log-truncate.service /etc/systemd/system/
-
-systemctl enable dnsmasq dhcp-log dhcp-log-truncate
-systemctl start dnsmasq
-```
-
-#### Syslog-ng:
-
-```bash
-cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.backup
-mkdir -p /etc/syslog-ng/conf.d
-cp /opt/Eye/docs/syslog-ng/eye.conf /etc/syslog-ng/conf.d/
-
-cp /opt/Eye/docs/systemd/syslog-stat.service /etc/systemd/system/
-
-systemctl enable syslog-ng syslog-stat
-systemctl restart syslog-ng
-systemctl start syslog-stat
-```
-
-#### NetFlow:
-
-```bash
-cp /opt/Eye/docs/systemd/eye-statd.service /etc/systemd/system/
-systemctl enable eye-statd
-```
-
-#### Stat-sync:
-
-```bash
-cp /opt/Eye/docs/systemd/stat-sync.service /etc/systemd/system/
-systemctl enable stat-sync.service
-```
-
----
-
-### Импорт базы MAC-адресов
-
-```bash
-cd /opt/Eye/scripts/utils/mac-oids/
-bash download-macs.sh
-perl update-mac-vendors.pl
-```
-
----
-
-## 🌐 Доступ к веб-интерфейсу
+## 🌐 Web Interface Access
 
 * URL: `http://your-server-ip/`
-* Админ-панель: `http://your-server-ip/admin/`
-* Логин: `admin`
-* Пароль: `admin`
+* Admin panel: `http://your-server-ip/admin/`
+* Login: `admin`
+* Password: `admin`
 
 ---
 
-## 🔐 Рекомендации по безопасности
+## 🔐 Security Recommendations
 
-* **НЕМЕДЛЕННО смените пароль администратора**
-* Сгенерируйте новый API-ключ
-* Ограничьте доступ с помощью firewall
-* Используйте HTTPS
-* Делайте регулярные обновления и резервные копии
+* **CHANGE the admin password IMMEDIATELY**
+* Generate a new API key
+* Restrict access using a firewall
+* Use HTTPS
+* Perform regular updates and backups
 
 ---
 
-## 📊 Интеграция с MikroTik
-
-### Firewall:
-
-Правила с fasttrack надо вылкючить!!!
-
-```routeros
-/ip firewall filter
-set disabled=yes [ find action =fasttrack-connection ]
-set disabled=yes [ find chain =forward and comment~"established" ]
-add action=drop chain=forward comment="deny unknown ips" out-interface-list=WAN src-address-list=!group_all
-add action=jump chain=forward comment="users set" in-interface-list=WAN jump-target=Users
-add action=jump chain=forward jump-target=Users out-interface-list=WAN
-add action=accept chain=forward comment=related,established connection-state=established,related
-add action=reject chain=forward comment="deny default wan" in-interface-list=WAN reject-with=icmp-network-unreachable
-add action=drop chain=forward out-interface-list=WAN
-```
-
-### Работа с dhcp-сервером
-
-На события от dhcp-сервера в микротике надо повесить скрипт, который будут сообщать в Eye о аренде/освобождении ip-адресов. Поддерживаются GET и POST запросы. 
-Правильнее всего будет исопльзовать HTTPS & POST.
-
-### DHCP-скрипт (RouterOS 6):
-
-```routeros
-/tool fetch mode=http keep-result=no url="http://<EYE_IP>/api.php?login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=\$leaseActMAC&ip=\$leaseActIP&action=\$leaseBound&hostname=\$lease-hostname"
-```
-
-С https:
-```routeros
-/tool fetch mode=https keep-result=no url="https://<EYE_URL>/api.php?login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=\$leaseActMAC&ip=\$leaseActIP&action=\$leaseBound&hostname=\$lease-hostname"
-```
-
-### DHCP-скрипт (RouterOS 7):
-
-```routeros
-/tool fetch url="http://<EYE_IP>/api.php"  mode=http  http-method=post \
-    http-data="login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=$leaseActMAC&ip=$leaseActIP&action=$leaseBound&hostname=$"lease-hostname"" \
-    keep-result=no
-```
-
-С https:
-```routeros
-/tool fetch url="https://<EYE_DNS_NAME>/api.php"  mode=https  http-method=post \
-    http-data="login=<LOGIN>&api_key=<API_KEY>&send=dhcp&mac=$leaseActMAC&ip=$leaseActIP&action=$leaseBound&hostname=$"lease-hostname"" \
-    keep-result=no
-```
-
-Имя dhcp-сервера должно быть образовано от имени интерфейса, на котором он работает. Т.е. при работе на интерфейсе bridge => dhcp-bridge
-
-### NetFlow:
-
-```routeros
-# RouterOS 6
-/ip traffic-flow
-set enabled=yes
-
-# RouterOS 7
-/ip traffic-flow
-set enabled=yes interfaces=WAN
-
-/ip traffic-flow target
-add dst-address=<NETFLOW_SERVER_IP> port=2055
-```
-
-## Важно!
+## Important!
 
-Не меняйте системные скрипты! Если надо что-то изменить, создайте копию скрипта и работайте с ней. Иначе при обновлении ваши изменения будут затёрты.
+Do not modify system scripts! If you need to change something, create a copy of the script and work with that. Otherwise, your changes will be overwritten during updates.
 
 ---

+ 79 - 0
README.ru.md

@@ -0,0 +1,79 @@
+# Око
+
+Обычный быдло-кодинг, разросшийся за последние 18 лет. Выкладываю сюда - может кого-то сподвигнет сделать что-то своё нормально).
+
+## 📋 Обзор
+
+Eye — это комплексная система сетевого мониторинга и управления, обеспечивающая:
+
+- Управление выходом в интернет для IP-адресов через маршрутизаторы MikroTik/Linux (настраивается фильтрация, лимиты трафика в сутки и за месяц).
+- Ограничение скорости доступа (реализовано на MikroTik; функциональность для Linux ранее существовала, но была удалена).
+- Генерация конфигураций для DHCP-серверов  (dnsmasq, MikroTik).
+- Генерация конфигураций для DNS-сервера (BIND).
+- Опрос коммутаторов и маршрутизаторов по SNMP с последующим анализом и определением портов подключения IP-адресов.
+- Мониторинг и управление сетевыми устройствами.
+- Анализ трафика и контроль пропускной способности.
+- Сбор и анализ Syslog-сообщений.
+- Статистика и отчёты в реальном времени.
+
+---
+
+# Eye Monitoring System — Руководство по установке
+
+### Системные требования
+
+#### Поддерживаемые дистрибутивы:
+
+* ALT Linux 11.1+
+* Debian 11+
+* Ubuntu 20.04+
+
+---
+
+## 🚀 Быстрая установка с помощью скрипта
+
+Для автоматизированной установки/обновления используйте установочный скрипт:
+
+```bash
+# Сделать скрипт исполняемым
+chmod +x install-eye.sh
+
+# Запуск установки/обновления
+sudo ./install-eye.sh
+
+````
+
+### Возможности скрипта
+
+* Поддержка ALT Linux, Debian и Ubuntu
+* Поддержка двух СУБД: MySQL/MariaDB или PostgreSQL (экспериментально, не для production!)
+* Многоязычный интерфейс: английский или русский
+* Автоматическая установка зависимостей
+* Настройка конфигурационных файлов
+* Инициализация базы данных
+
+
+## 🌐 Доступ к веб-интерфейсу
+
+* URL: `http://your-server-ip/`
+* Админ-панель: `http://your-server-ip/admin/`
+* Логин: `admin`
+* Пароль: `admin`
+
+---
+
+## 🔐 Рекомендации по безопасности
+
+* **НЕМЕДЛЕННО смените пароль администратора**
+* Сгенерируйте новый API-ключ
+* Ограничьте доступ с помощью firewall
+* Используйте HTTPS
+* Делайте регулярные обновления и резервные копии
+
+---
+
+## Важно!
+
+Не меняйте системные скрипты! Если надо что-то изменить, создайте копию скрипта и работайте с ней. Иначе при обновлении ваши изменения будут затёрты.
+
+---

+ 2 - 2
install-eye.sh

@@ -401,8 +401,8 @@ install_deps_debian() {
             libnet-openssh-perl libfile-tail-perl libdatetime-format-strptime-perl \
             libcrypt-rijndael-perl libcrypt-cbc-perl libcryptx-perl \
             libcrypt-des-perl libfile-path-tiny-perl libexpect-perl \
-            libtext-csv-perl \
-            libdbd-pg-perl libdbd-mysql-perl liblog-log4perl-perl
+            libtext-csv-perl liblog-log4perl-perl \
+            libdbd-pg-perl libdbd-mysql-perl
     fi
 
     # === Дополнительно (если нужно) ===