Хостинг во Франции
Тариф "Магазин" стоимостью от 58 рублей в месяц (2 гб, 5 сайтов)
Счетчики
хостинг timeweb





Rambler's Top100

Открыв его в текстовом редакторе, можно сразу впасть в панику: кругом встречаются кракозябры и вообще ничего не понятно. На самом деле всё гораздо проще, стоит только вникнуть в сам формат этого файла. В каждой записи файла есть 4 поля:

1) означает цвет полоски закачки в skynet

2) метод, по которому определяется принадлежность файла к какому-то виду

3) условие, при котором файл будет к этому виду отнесён

4) тип (группа) файла

1) Цвет полоски записывается в стандартной форме RGB, по одному байту на каждый из 3-х цветов: 1-ый байт относится к красному цвету, 2-ой – к зелёному, 3-ий – к голубому. Комбинация трёх цветов при их смешении обеспечивает широкую гамму.

2) методов три:

-b – определение типа файла по его содержимому. Основной, т.к. применяется намного чаще

-t - по полю content-type

-n - по имени файла

3) пожалуй, является самой сложной в плане понимания и освоения, но в то же время обладает чрезвычайно высокой гибкостью. Записывается на основе стандартных регулярных выражений, с основами которых можно ознакомиться на многочисленных ресурсах:

http://ru.wikipedia.org/wiki/Regex

http://msdn.microsoft.com/ru-ru/library/28hw3sce.aspx

http://www.citforum.ru/internet/perl/regexp/

Если напомнить вкратце, то запись регулярных выражений производится при помощи специальных символов, вот основные из них:

\ - считать следующий метасимвол как обычный символ (используется для указания символов, которые так бы считались управляющими).

^ - в начале строки

. - один произвольный символ.

$ - в конце строки

| - или

() - группировка

[] - класс символов

К специальным символам можно применять так называемые модификаторы, указывающие на их повторение и их количество. Список модификаторов:

* - символ может встретиться (т.е. 0 или больше раз)

+ - хотя бы один повторяющийся символ (не менее 1 раза)

? - 1 или 0 раз

{n} - ровно n раз

{n,} – не менее n раз

{n,m} - от n до m раз включительно

При методе определения –t используется само поле content-type, например

^image/jpeg – означает картинки в формате JPEG, ^application/msword – означает документы, написанные в Word'е

4) последнее поле определяет тип (или группу), к которому будет отнесён файл. Можно указать несколько, разделяя знаком «;» . В качестве типа может присутствовать ключевое слово Block, означающий блокировку ловли указанного файла.

Рассмотрим несколько распространённых примеров:

0E0000 b ^Rar! rar

Определяет файл rar-архива по наличию в самом начале содержимого характерной последовательности байт ^Rar! и относит файл к типу rar.

Условие можно записывать, используя не только символы, но и их кодовое представление:

D00000 b ^\xFF\xD8 jpg;IMAGE;ALL

Чтобы указать, что регистр символов для нас значения не имеет, используется модификатор (?i)

FF0000 b ^(PK|Rar!).*\.(?i)(avi|divx) avi.rar;ARCHIVE;ALL

FF00FF b ^Rar!.{5}\x73[\x01\x05\x09\x11\x0D\x15\x19\x1D\x41\x45\x49\x51\x4D\x55\x59\x5D] part.rar;ARCHIVE;ALL

0F0000 b ^(PK|Rar!).*PAV.SIG Block

В последнем примере не будут ловиться архивы с указанным содержимым.

FF0000 n (?i)\.FLV$ flv;VIDEO;ALL

Указывает на файлы, имена которых заканчиваются на .flv (точнее расширение)

Сам по себе способ –n не так эффективен, как -b, поскольку файл может иметь неверное расширение, например под .jpg быть файл gif, под .flv файл mp4 и т.д.

Важно: при прохождении какого-то файла по regex.txt правила просматриваются сверху вниз. При первом же совпадении, т.е. когда данный файл условию правила удовлетворяет, принимается решение об отнесении к конкретному типу и прохождение файла по регекс завершается.

Особенности формата файла regex.txt граббера Betasky

Вместо трёх способов определения содержимого n,b,t граббера skynet, в betasky используются только два: t и b. При этом метод b означает тот же самый способ определения, что и для skynet, а вот метод t использует определение файла по имени.

При подготовке были использованы материалы форума http://www.sat-fishers.com/


Обновлено (09.02.2010 19:47)

 
регистрация доменов