шустрый скрипт скрипт зеркала NOD32

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-02-27 12:45:12

EgNk писал(а):
2025-02-27 12:00:59
для обновления
В лс но без гарантий.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2025-02-27 18:10:36

Такое чувство у меня не работают переменные, как можно узнать? Конфиг выкладывал выше.
Такое чувство не видит /data/ep12 а сразу с endpoint что там качать пробывает.

scorp337150
мл. сержант
Сообщения: 116
Зарегистрирован: 2020-02-24 8:40:47

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение scorp337150 » 2025-02-28 1:46:34

to-03 писал(а):
2025-02-27 18:10:36
Такое чувство у меня не работают переменные, как можно узнать?
В конфиге не зря была строчка
error_log /var/log/nginx/error_nod32mirror.log debug;
Последний раз редактировалось scorp337150 2025-02-28 1:49:08, всего редактировалось 1 раз.

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-02-28 9:17:32

to-03 писал(а):
2025-02-27 18:10:36
как можно узнать
Так реально в логах посмотрите.
# Лог файлы
access_log /var/log/nginx/access_nod32mirror.log;
error_log /var/log/nginx/error_nod32mirror.log;

В access будет видно что хочет антивирь. А вот если там не будет видно захода антивиря, то уже режет на моменте подключения. И тут надо смотреть nginx

to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2025-02-28 12:32:59

depositaire, scorp337150, В логах nginx

Код: Выделить всё

"/home/Data/www/1.ru/v3-rel-sta/mod_023_pegasus_39763/em023_32_n13.nup" failed (2: No such file or directory), client: 5.183.29.49, server: 1.ru, request: "GET /v3-rel-sta/mod_023_pegasus_39763/em023_32_n13.nup HTTP/1.1", host: "1.ru"

Про что я выше говорил, переменные не отрабатывает, которые в конфиг прописаны. Должен искать по пути /home/Data/www/1.ru/data/v3/v3-rel-sta/mod_023_pegasus_39763/em023_32_n13.nup
когда я добавляю символную сслыку на /home/Data/www/1.ru/data/v3/v3-rel-sta/ в корень папки /home/Data/www/1.ru/ с названием v3-rel-sta, то все начинает грузить.

про endpoint 12

Код: Выделить всё

"/home/Data/www/1.ru/endpointwindowslatest-rel-sta/mod_002_engine_64631/em002_64_n18.dll.nup" failed (2: No such file or directory), client: 192.168.1.0, server: 1.ru, request: "GET /endpointwindowslatest-rel-sta/mod_002_engine_64631/em002_64_n18.dll.nup HTTP/1.1", host: "1.ru"

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-02-28 13:35:10

to-03 писал(а):
2025-02-28 12:32:59
добавляю символную сслыку
так и сделал для EP11. Выдаёт при обнове что нет файла. В update.ver прописано что обновы искать в endpointwindowslatest-rel-sta, а по факту в папке лежит только папка businesslatest-rel-sta. Сделал симлинк в этой папке и стало прекрасно получать обновления. В сторой версии скрипта была и та и другая папка. В остальных папках тоже наделал симлинков на всяк.

to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2025-02-28 14:21:03

Значит конфиг не считывает логику переменных.
Я не большой спец в логике. Может уважаемый scorp337150, подскажет. А так скрипт отрабатывает на ура, уведомлялки через телегу приходят. Можно добавить логику - сравнение баз на сервере и оф.зеркало. Если новое обновление есть, скрипт работает если нет, то не работает. В крон и расписание на 1 час.
Есть еще скрипт на руборде по получению ключей на месяц, можно его прикрутить. Вообще идеально было. Но это мечты)

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-02-28 14:40:24

to-03 писал(а):
2025-02-28 14:21:03
Можно добавить логику - сравнение баз на сервере и оф.зеркало. Если новое обновление есть, скрипт работает если нет, то не работает.
Тут не понял вашу логику) Разве он и так это не делает? По обновлению он сравнивает Update.ver и качает же разницу. Он так и так должен зайти на офф и скачать этот файл. По сути как и антивирь делает. Ставить на 1 час явно перебор. Даже если вот тут глянуть https://help.eset.com/updates/?utm_sour ... ontent=ees то обновы выходят раз в 3-4 часа. Это зачем то в антивирях стоит каждый час.
to-03 писал(а):
2025-02-28 14:21:03
на руборде по получению ключей на месяц
так он разве не под новый формат делает только?

scorp337150
мл. сержант
Сообщения: 116
Зарегистрирован: 2020-02-24 8:40:47

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение scorp337150 » 2025-02-28 15:15:03

to-03, сейчас в виртуалке старую версию сервера разверну, посмотрю сам что там не работает в nginx 1.20.1 и подумаю что можно поправить

to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2025-02-28 22:47:44

depositaire писал(а):
2025-02-28 14:40:24
Тут не понял вашу логику) Разве он и так это не делает? По обновлению он сравнивает Update.ver и качает же разницу. Он так и так должен зайти на офф и скачать этот файл. По сути как и антивирь делает. Ставить на 1 час явно перебор. Даже если вот тут глянуть https://help.eset.com/updates/?utm_sour ... ontent=ees то обновы выходят раз в 3-4 часа. Это зачем
Все нормально, я со старой версией перепутал. Извиняюсь
depositaire писал(а):
2025-02-28 14:40:24
так он разве не под новый формат делает только?
Летом умел делать ключи в старом формате, сейчас посмотрел eset прикрыли лавочку в личном кабинете. И в новых версиях скрипта тоже убрали эту функцию. Тогда мимо.

to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2025-03-02 17:50:09

scorp337150, еще момент python 3.6.8
не смог отработать скрипт из-за tools.py пришлось комментировать. Но это в самом начале когда пробывал скрипт.

Код: Выделить всё

#total_lines = os.get_terminal_size().lines - 1                          # Определяем высоту консоли


проверил - efsw 10,11,12 скачивают базы соответственно из ep10,11,12. Если нужны user agent, то могу скинуть.

scorp337150 писал(а):
2025-02-28 15:15:03
сейчас в виртуалке старую версию сервера разверну, посмотрю сам что там не работает в nginx 1.20.1 и подумаю что можно поправить
Получилось проверить?

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-03-03 9:29:09

to-03 писал(а):
2025-03-02 17:50:09
скачивают базы соответственно из
Да там уже хз кто чудит, антивири или user agent. У меня тут на выходных зачем-то 12е полезли в базы 9ки. Я прифигел с них. Потом поумнели и норм скачали с 12й.
to-03 писал(а):
2025-02-28 22:47:44
прикрыли лавочку
ага, с лета где-то. Только новая версия делается. Так что остаётся только там же просить ключи старого формата.

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-03-03 13:30:17

scorp337150, а какой файл скрипта отвечает за правку файла update.ver? Почему-то он или правит endpointwindows на businesslatest или наоборот. А ща вообще поправил endpointwindows на ep8-dll-rel-sta хотя даже не используется эта ветка.

scorp337150
мл. сержант
Сообщения: 116
Зарегистрирован: 2020-02-24 8:40:47

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение scorp337150 » 2025-03-03 13:57:51

depositaire,
depositaire писал(а):
2025-03-03 13:30:17
а какой файл скрипта отвечает за правку файла update.ver? Почему-то он или правит endpointwindows на businesslatest или наоборот. А ща вообще поправил endpointwindows на ep8-dll-rel-sta хотя даже не используется эта ветка.
Сейчас файл update.ver не правится скриптом вообще. Т.е. то, что в нем - ссылки на файлы текущей базы и пути к ним - это прилетает от ESET ну или если чей-то другой скрипт на зеркале откуда базы качаются это может делать. По факту, есть текущая версия баз - от них update.ver в котором описаны все файлы, которые используются в данной версии баз. Скрипт лишь качает эти файлы и раскладывает в том виде, в котором они описаны в update.ver чтоб в таком же виде их отдать дальше. Правка update.ver приводит к накоплению путей от зеркала к зеркалу, поэтому я от этого отказался

scorp337150
мл. сержант
Сообщения: 116
Зарегистрирован: 2020-02-24 8:40:47

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение scorp337150 » 2025-03-03 14:57:31

to-03,
to-03 писал(а):
2025-03-02 17:50:09
не смог отработать скрипт из-за tools.py пришлось комментировать. Но это в самом начале когда пробывал скрипт.
КОД: ВЫДЕЛИТЬ ВСЁ

#total_lines = os.get_terminal_size().lines - 1 # Определяем высоту консоли
Да, спасибо, я практически сразу поправил этот момент - это хвосты от одной из версий, которые писались для нормального отображения многопоточной закачки баз :)
to-03 писал(а):
2025-03-02 17:50:09
Получилось проверить?
На данный момент проверить что скачалось можно только по размеру файла. Как проверить валидность по CRC, который есть внутри каждого файла базы пока решения у меня нет. Может кто из форумчан знает какой алгоритм используется и от какой части файла применяется. Так что при серьезных проблемах на линии к интернету всегда есть шанс получить битый файл в закачке хоть его размер и будет совпадать с тем, что на сервере. Обновил версию скрипта на гитхабе - добавил проверку размера, которая где0то в недрах моих локальных версий потерялясь. Попробуйте - должно быть чуть лучше

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-03-03 15:08:11

scorp337150 писал(а):
2025-03-03 13:57:51
Сейчас файл update.ver не правится скриптом вообще.
Эм, тогда где может быть глюк что в папке с ep12 лежит файл от ep8?

p.s. Хм, попробую на самом деле вернуть обратно один файлик скрипта. А то я тут уже я чуть поправил и походу не в ту степь унесло.

scorp337150
мл. сержант
Сообщения: 116
Зарегистрирован: 2020-02-24 8:40:47

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение scorp337150 » 2025-03-03 15:20:34

depositaire писал(а):
2025-03-03 15:08:11
Эм, тогда где может быть глюк что в папке с ep12 лежит файл от ep8?
Скрипт в том виде, в котором лежит на гитхабе, такого делать не должен. Давайте разбираться какие изменения производили. Хотелоь бы логи глянуть, для этого в файле /int/log.py измените строку на log_informativeness = 5

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-03-03 15:45:10

scorp337150 писал(а):
2025-03-03 15:20:34
такого делать не должен
Да вот если бы он постоянно так делал) Ща обновился и всё норм. Всё легло где и должно быть. Пока буду наблюдать.

scorp337150
мл. сержант
Сообщения: 116
Зарегистрирован: 2020-02-24 8:40:47

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение scorp337150 » 2025-03-03 16:14:21

depositaire писал(а):
2025-03-03 15:45:10
Да вот если бы он постоянно так делал) Ща обновился и всё норм. Всё легло где и должно быть. Пока буду наблюдать.
если алгоритм скрипта не меняли, то файлы от одной версии просто не могли появиться в папках другой версии. В этой части алгоритм скрипта
+- в общем такой:
1) Формируется список версий баз, которые надо обновить. (допустим, v3,ep11,ep12)
2) В цикле перебираем эти версии (допустим сейчас обновляются файлы v3)
а) для каждой версии читаются переменные под текущую версию из init.py(или init_official.py если обновляемся с официального сервера)
б) формируется путь сохранения баз - (путь к корню (windows_web_dir|linux_web_dir)+ prefix + текущая обновляемая версия) а далее все файлы из update.ver ложатся относительно этого пути. т.е например для v3 с дефолтным конфигом из гитхаба(nod32ms.conf) под linux этот путь будет формироваться так : /var/www/nod32mirror + /data + /v3/ + файлы с папками из update.ver
Таким образом, надо еще постараться, чтоб файлы от другой версии попали не в ту папку.

to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2025-03-03 17:44:39

scorp337150, В общем нашел виновника, который не хотел работать с переменными - auth basic.

Код: Выделить всё

# Enable checking username/password for updates files access
  location ~* ^.+\.nup$ {
    allow all;
    auth_basic "Enter login:password for getting access";
    auth_basic_user_file /home/Data/www/1.ru/.htpasswd;
  }
Переписал на весь сайт, теперь все работает, кроме web странички заглушки. Может будут идеи как скачивать nup через авторизацию?

scorp337150
мл. сержант
Сообщения: 116
Зарегистрирован: 2020-02-24 8:40:47

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение scorp337150 » 2025-03-03 19:00:11

to-03, а полный конфиг как выглядит?

to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2025-03-03 20:37:40

scorp337150,
сейчас так

Код: Выделить всё

# Virtual server configuration

map $http_user_agent $ver {
        "~^.*(EEA|EES|EFSW|EMSX|ESFW)+\s+Update.*BPC\s+(\d+)\..*$" "ep$2";
        "~^.*Update.*BPC\s+(\d+)\..*$" "v$1";
}


server {

        listen      80;
	server_name 1.ru;
        root /home/Data/www/1.ru;	
        index index.html;
        autoindex   on;
 	access_log  /var/log/nginx/1.ru-access.log;
 	error_log   /var/log/nginx/1.ru-error.log;
	#limit_req   zone=one  burst=1 nodelay;
	
	# Доп. заголовки
	add_header X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";
	add_header Cache-Control "no-cache, public, must-revalidate";
	real_ip_header X-Real-IP;
	real_ip_recursive on;
	
	# Setting directory names
 	set $webface     .webface;
 	set $errorspages errorspages;
	set $root_path   /home/Data/www/1.ru;
	
	# Setting custom error pages
	set $errordocs $document_root/.webface/errorpages;
	error_page 401 /401.html; location = /401.html {root $errordocs;}
	error_page 403 /403.html; location = /403.html {root $errordocs;}
	error_page 404 /404.html; location = /404.html {root $errordocs;}
	error_page 500 /500.html; location = /500.html {root $errordocs;}
	error_page 502 /502.html; location = /502.html {root $errordocs;}
	error_page 503 /503.html; location = /503.html {root $errordocs;}

	try_files $uri /$webface$uri /$webface/$errorspages$uri =404;

	# Deny access for spiders/robots/tools/etc
	if ($http_user_agent ~* ^(wget|aria2|nod32view|perl|php|curl|google|yandex|yahoo|-|mirror|spider|bot|parser|grab)) {
	return 403;
  	}

	# Enable checking username/password for updates files access
	satisfy  any;
	allow 192.168.1.0/24;
	deny all;
	auth_basic "Enter login:password for getting access";
	auth_basic_user_file /home/Data/www/1.ru/.htpasswd;
  	
	location  /$webface/index.html {
  	auth_basic off;
	}
	# Логика для update.ver
        location ~* \.ver$ {
                if ($ver ~ "^ep[6-9]$")  {rewrite ^/(dll/)?update.ver$ /eset_upd/$ver/$1update.ver break;}
                if ($ver ~ "^ep1[0-9]$") {rewrite ^/(dll/)?update.ver$ /eset_upd/$ver/$1update.ver break;}
                if ($ver ~ "^v[3-8]$")   {rewrite ^(.*) /eset_upd/v3/dll/update.ver break;}
                if ($ver ~ "^v1[0-1]$")  {rewrite ^(.*) /eset_upd/v10/dll/update.ver break;}
                if ($ver ~ "^v1[2-9]$")  {rewrite ^(.*) /eset_upd/$ver/dll/update.ver break;}
        }
	
	location = / {          
	try_files /$webface/index.html =404;      
        }

        # Логика для "остальных файлов"
        location / {
                set $ver_path $ver;

                if ($ver ~ "^v[3-8]$") {
                set $ver_path v3;
                }
                if ($ver ~ "^v1[0-1]$") {
                set $ver_path v10;
                }
		
                root $root_path/data/$ver_path;		
                try_files $uri $uri/ =404;
                }

 location ~ /\.ht {
 
  deny all;
  
 }


}

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-03-04 9:44:29

to-03 писал(а):
2025-03-03 20:37:40
user_file /home/Data/www/1.ru/.htpasswd
На всяк случай убрали бы его из директории сайта то, в корень хоме или к файлам nginx поближе.

depositaire
сержант
Сообщения: 165
Зарегистрирован: 2011-10-14 14:04:17

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение depositaire » 2025-03-04 12:00:34

to-03 писал(а):
2025-03-03 17:44:39
кроме web странички заглушки
если при заходе на сайт, после ввода логина и пароля, выдаёт 403. То просто допишите к адресу страницу. Судя по конфигу index.html и будет показывать её содержимое. Но т.к. ща скрипт обновили и вернули генерацию то указывать уже ту страницу что генерирует. Если надо конечно.

to-03
рядовой
Сообщения: 46
Зарегистрирован: 2014-08-20 2:41:55

шустрый скрипт скрипт зеркала NOD32

Непрочитанное сообщение to-03 » 2025-03-04 13:04:32

depositaire писал(а):
2025-03-04 12:00:34
если при заходе на сайт, после ввода логина и пароля, выдаёт 403. То просто допишите к адресу страницу. Судя по конфигу index.html и будет показывать её содержимое. Но т.к. ща скрипт обновили и вернули генерацию то указывать уже ту страницу что генерирует. Если надо конечно.
Все работает после ввода пароля, хочу сделать исключения для нее, чтобы страничка открывалась без авторизации.