Поднимаем сервер обновлений Nod32

Как известно, компания ESET до сих пор так и не предоставила средств для организации сервера обновлений, который можно было бы организовать на Linux машине. В интернете есть множество граблей — как можно организовать зеркало на собственном сервере, но я выбрал наиболее простой вариант — забирать обновления с не официальных зеркал. это пожалуй наиболее простой способ организации данного процесса, нам просто нужно забирать файлики и класть на собственный сервер, никаких граблей с авторизацией и прочими плясками. По этому предлагаю простенький скрипт, как получать свежие файлы обновлений со сторонних зеркал. Скрипт написан на python`е.

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2
import urllib
import re
import os

def get(url):
	response = urllib2.urlopen(url, timeout = 1)
	html = response.read()
	p = re.compile('(.*)')
	allWal = p.findall(html)
	return allWal
	
def download(url):
	localPath = 'директория, куда сохраняем файлы'
	path = url.split('/')
	if os.path.isdir(localPath+path[3]):
		file = localPath+path[3]+'/'+path[4]
	else:
		file = localPath+path[3]
	urllib.urlretrieve(url, file)

if __name__ == '__main__':
	mainUrl = 'адрес стороннего сервера обновлений'	
	urls = get(mainUrl)
	for i in urls:
		if i == '../':
			continue
		if '/' in i:
			urlsSub = get(mainUrl+i)
			for x in urlsSub:
				if x == '../':
					continue
				download(mainUrl+i+x)
			continue
		download(mainUrl+i)

Скрипт достаточно универсален, можно под ставлять любой сервер обновлений, который отдаёт простой листинг файлов по http
Screenshot 2013-01-06 00.22.25
а сервера можно всегда нагуглить, в интернете их достаточно много, каждый день одни закрываются, другие открываются, по этому можно достаточно легко поддерживать работу собственного сервера. Всё что нужно поправить в скрипте — директорию куда будут складываться файлы обновлений (с доступом по smb или http) и сервер обновлений, откуда вы будете забирать файлы. Ещё один «подготовительный» момент — в директории куда будут складываться файлы обновлений — необходимо предварительно создать «структуру папок», создать директории

mkdir v{3,4,5,6}

для соответствующих версий антивируса.

Пользуйтесь на здоровье.

Скрипт на github где жду ваших фиксов и дополнений.

Удачи и с наступившим новым годом!

Добавить комментарий