Краткий обзор предистории

Широковещательный характер спутниковой передачи делает возможным прием информации предназначенной и другим (и даже всем) пользователям. То что, практически никто из операторов спутникового ассиметричного доступа в интернет не применяет шифрование передаваемой информации, упрощает эту задачу.

Таким образом, даже не имея подписки ни на одну систему спутникового доступа в интернет, можно получать данные,запрашиваемые другими пользователями. Существуют диаметрально противоположные мнения о целесообразности этого занятия. С одной стороны, на диске компьюера скапливаются завалы хлама - ведь сортировка по имени невозможна - имена файлов не передаются в спутниковом канале. С другой стороны, умелое оперирования параметрами перехвата - адрес приемника (MAC-адрес), тип файла, его размер, позволяет совершенно бесплатно получать большое количество фильмов, дистрибутивов ПО, музыки и прочее... В дополнение существует ряд программ, сортирующих и упрядочивающих уже полученную информацию.

Стоит отметить, что перехват информации из спутникового потока - процесс реального времени, причем перехватчик, в отличии от получателя информации не может воздействовать на процесс - в самом деле, если получатель не получит часть пакетов, он их перезапросит. У перехватчика такой возможности нет. В связи с этим особые требования предъявляются к быстродействию компьютера, объему оперативной памяти.

История программ для перехвата практически повторяет историю программ для просмотра спутникового ТВ, за исключение того, что софта для прехвата ни один из производителей DVB-карт не производит. Первые программы были написаны для SkyStar1, имеющим открытое API. Это программы LiveInet, IP/DVB Streamreader и DVB StreamReader. В последствии, на основе API, созданном польским программистом Marian Ficek (Marfi), в эти программы была добавлена поддержка SkyStar2

Как и с ТВ-программами стремительный рост популярности программ граббинга связан с Россией. Вначале для программы просмотра ТВ-каналов ProgDVB, был написан модуль PidScanner, позволяющий определять активные PID в потоке. Затем UglyAdmin создал модуль FileGraber, служащий для для перехвата потока.

Однако истинный расцвет грабберства, связыватся с появление программы SkyNet созданный программистом под ником S.O.V.A. В начале это был модуль для ProgDVB, впоследствии выделившийся в отдельную программу. У SkyNet много возможностей, стоит отметить поддержку механизма RegEx. В настоящее время S.O.V.A. опубликовал исходники и SkyNet совершенствуется и другими программистами.

 

Сводная таблица программ

  SS1 SS2 TH PCTV BL PV SS3
LiveInet + + - - - - -
IP/DVB Streamreader + + - - - - -
DVB StreamReader + + - - - - -
FileGraber + + - - - - -
SkyNet + + + - - - +

 

 

Программы первого поколения

Первоначально написаны для SkyStar1. Позднее добавлена поддержка SkyStar2 на базе DLL от Marfi

 

LiveINet

DVB StreamReader

Проект временно закрыт.

IP/DVB Streamreader

Проект временно закрыт.

 

 

ProgDVB + плагины

 

Модуль PidScanner

Модуль PidScanner сканирует транспондер для поиска активных PID

 

Модуль FileGraber

Модуль FileGraber служит для перехвата (граббинга) интернет потоков. Модуль написан UglyAdmin и работает с ProgDVB >=4.10.

В настоящее время virt7 продолжает развивать FileGraber.

 

 

SkyNet

Наиболее популярная сейчас программа для перехвата спутникового интернет. Автор - российский программист S.O.V.A.. До версии 0.85 существала и как модуль к ProgDVB и как самостоятельная программа. Впоследствии получила поддержку DVB-карт SkyStar2, а через враппер - Twinhan и Technotrend PCline S1102 (SkyStar3). После опубликования исходников программы, начиная с версии 0.86, началось развитие нескольких модифицированных версий SkyNet

 

SkyNet как самостоятельная программа

Описания

 

Файлы

 

SkyNet как модуль к ProgDVB

 

Решение проблем при перехвате

В отличии от пользователя спутникового интернет, перехватывающий лишен возможности влиять на поток информации. У пользователя при потере пакетов, произойдет автоматический перезапрос, а перехватывающий сделать этого не может. Именно поэтому так важен стабильный прием с большим запасом на погодные условия. Условимся, что диаметр антенны у вас достаточен для стабильного приема выбранного оператора и ошибок вызванных слабым сигналом нет (почти).

Однако, не менее важна и стабильная работа компьютера. Как известно, Windows не является ОС реального времени, любая программа может быть остановлена на неопределенный период, и неизвестно когда продолжится ее выполнение. Ситуация усугубляется тем, что у вас в системе есть еще устройства или программы которые требуют к себе пристального внимания со стороны ЦПУ (грубо говоря тормозят систему). Малый объем памяти, вызывающий подкачку страниц с диска, тоже не способствует стабильной работе.

Рекомендации автора SkyNet:

  1. Одно устройство - одно прерывание. Для этого вам скорее всего придется отключить APIC, и расставить прерывания вручную. И даже переставлять устройства по слотам.
  2. Никаких лишних устройств (даже отключить лишние порты, чтобы освободить прерывания)
  3. Никаких посторонних процессов.
  4. Патч драйвера на предмет размера буфера. (см ниже).
  5. Возможно поток с самым высоким приоритетом читающий данные. В идеале это realtime priority для SkyNet и 10 - 20 мегабайт под буфер.
  6. или линукс.
  7. Большой объем оперативной памяти
  8. Незамусоренный, дефрагментированный жесткий диск

 

Увеличение буфера в драйверах SkyStar2

Если при приеме у вас увеличивается значение discontinuity, то возможная причина - маленький буфер для потока в драйвере карты. Размер по умолчанию очень мал (940K), так что при приеме скоростного потока буфер переполняется даже от совсем небольших задержек.

Автор программы SkyNet, s.o.v.a. создал патч предназначенный для увеличения размера буфера транспортного потока в драйвере Skystar2. Обратите внимание, что увеличивая размер буфера вы уменьшаете размер оперативной памяти доступной приложениям. Большие значения стоит устанавливать только при избытке оперативной памяти.

Поддерживаются версии драйвера 4.2.8, 4.3.0, 4.3.2, 4.3.2 AMD 64

 

Увеличение буфера DMA в драйверах SkyStar2

  1. Патчим драйвер карты (см выше.) - увеличиваем буфер приема - до 4 - 8Мб
  2. открываем skynet.inf и находим строку:
    HKR, UserHwParams, nSizeOfBufDMA1, 0, "481280"
    Значение 481280 меняется, к примеру - у SkyStar USB буфер всего 120320, т.е. в 4 раза меньше.
  3. Если в компьютере есть COM-порты и LPT-порты, а устройств использующих их нет, - то отключите порты через BIOS - это даст вам 2 свободных IRQ от COM1/COM2 и 1 IRQ от LPT. Чем меньше устройств будут висеть на общих (shared) прерываниях (IRQ) тем стабильнее все будет работать, будет меньше конфликтов и т.п.
  4. Также LPT-порт и флоппи-дисковод используют каналы DMA. Если устройства неиспользуются, лучше их отключить

 

Увеличение приоритета прерывания (IRQ) dvb-карты.

Рецепт актуален для всех моделей DVB-карт. В реестре можно изменить приоритет прерывания (IRQ) dvb-карты. Выглядит это примерно так:

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPriorityControl]
"Win32PrioritySeparation"=dword:00000002
"IRQ11Priority"=dword:00000002 - SkyStar -->

Естественно, номер прерывания у вас может быть другим (не IRQ11)

Увеличение частоты шины PCI

Неоднократно поступали сообщение, что поднятие тактовой частоты шины PCI до 40 МГц снимает многие проблемы.

Поддержка разных dvb-карт

 

 

Поддержка SkyStar1

Поддержка SkyStar2

 

Альтернативный софт для SKYNET

Исправленная и настроенная версия SkyNet 089b6 для работы со streamreader.dll, основанном на использовании нестандартного интерфейса взаимодействия со SkyStar2. Эта связка (skynet.exe+stremreader.dll) тестировалась с драйверами 4.2.11 и 4.3.0.9999 и по отзывам тестеров показала хорошие результаты в плане безошибочной работы. Автор - S0RRY

Далее был разработан алгоритм, еще болле упрощающий взаимодейстие граббера и dvb-карты. В программе используется прямое подключения алгоритма сниффера, разработанного s.o.v.a, к стандартному интерфейсу SkyStar2 без использования дополнительных библиотек (streamreader.dll от Marfi).

Текущие ограничения: работает только с драйвером не старше 4.3.0 и нет поддержки DiSEqC

 

Поддержка TwinHan

Библиотека StreamReader от JoshyFun, добавляет поддержку DVB-карт TwinHan в программы написанные для SkyStar2 использующих Streamreader.dll от Marfi. Замените оригинальный Streamreader.dll и конфигурируйте программу, так как если-бы у вас был SkyStar2.

 

 

Поддержка TT PCline S1102 (SkyStar3)

Библиотека StreamReader добавляет поддержку DVB-карты TT PCline S1102 в программы написанные для SkyStar2 использующих Streamreader.dll от Marfi, такие SkyNet. Замените оригинальный Streamreader.dll и конфигурируйте программу, так как если-бы у вас был SkyStar2.

 

 

Поддержка Nokia Dbox1

 

Модификации.

После опубликования исходников SkyNet, ряд программистов начали разработку собственных ветвей программы. Естественно, автор тоже продолжает развитие основной версии.

SKYNETIX

После опубликования исходников Schematic Terrorist продолжил развитие SkyNet. Впоследствии проект был назван SKYNETIX. С этого момента продолжено развитие SkyNet и как плагина к ProgDVB.

 

Проект Manna

Еще одна модификация SkyNet. Подробностей пока нет. Тут же находится и Skynet Bi 0.36i.

 

Автоматизация и конфигурация SkyNet

 

RegEx - Регулярные выражения

Regex - регулярные выражения стандарта POSIX 1003.2. Regex позволяют в perl сопоставлять текст с указанным шаблоном, разбивать текст в массив по шаблону, производить замену текста по шаблону и многое многое другое. Так-же иногда регекспами называются операторы поиска и замены.

 

 

Обработка и сортировка перехваченной информации

Программы и скрипты сортирующие и упрядочивающие уже полученную информацию.

 

 

Софт для Linux

 

Программы первого поколения

Вначале под Linux, в отличие от Windows, не было специализированного ПО для перехвата. Можно было использовать:

 

SkyNet

Однако в конце 2004 г S.O.V.A. выпустить легендарный SkyNet и под Linux.

 

 

Использование ресивера DreamBox

Если вы попали в этот пункт, то объяснять, что такое DreamBox вам не нужно. :)))

Вариант 1.

Использование программы SkyNet. Подробнее - см Азбуку SkyNet

Вариант 2.

Качнул что-то с HB записал в файл stream.bin а как и чем из этого файла вытащить чего нибудь? Используйте программу IP/DVB Sreamreader, например, версии 3.3. После первого запуска она выругается, чтобы больше этого не было, в закладке "Options" указываете InputDevice - DBox1, после чего сохраняете параметры (Ctrl+S) и выходите из программы.

Далее запускаете ее снова и в закладке "Directories" указываете путь к вашему файлу stream.bin и папку, в которую складывать распакованные файлы.

Все, можно нажимать на кнопку "Filedecoding" Фильтры будут использоваться при обработке файла, т.е. извлекаться будут только те файлы, тип и ограничение размера которых вы укажете. Они (фильтры), в основном, нужны, когда используется SkyStar и декодирование в реальном времени.

Вариант 3.

  1. Download Opera for the PC and installed it.
  2. Download DreamEdit 1.61.
  3. Use DreamEdit 1.61 to download the channel list from the dreambox
  4. Clicked on SkyData to tune into the correct transponder using the "Zap to service" option in Dreamboxedit
  5. Open Opera and type http://IPaddressofdreambox:31338/0x0c13 (0x0c13 - PID)
  6. Choose to save the file to c:stream.bin
  7. Wait for a bit until it has captured some data, then stop the download
  8. Unzipped IPStreamreader. Double clicked the .reg file and run the program.
  9. In the provider tab click Netsystem then click the "Set Provider" Button. Или создайте свой профиль
  10. In the Filefilter tab choose the files to decode
  11. In the Options tab, untick "IP Checksum" and "analyser - activate". Tick Dbox1 as the input device
  12. In the directories tab set input to be C:stream.bin and output to be C:out (I had to create the folder C:out myself). Untick the box "split files into part 1Gb"
  13. In the statistic tab click "filedecoding" button