[more=Попытка создать свежую документацию для новичков..]Основной материал взят с сайта разработчика S.O.V.A (к сожалению сайт уже не существует)
Введение
Многие спутники кроме трансляции телевидения и радио используются также для передачи интернет трафика. Если вы не знаете как это работает, на сайтах провайдеров спутникового интернета есть подробные разъяснения что нужно для приема и куда платить Здесь речь пойдет о неофициальном спутниковом интернете, о так называемом "граббинге" или "рыбалке".
Не секрет что абсолютное большинство провайдеров не используют шифрование трафика. Вообще говоря, шифрование возможно, и сделать это не так сложно как может показаться. Однако это будет неудобно для пользователя. Ну а если пользоваться чьими-то услугами неудобно - что ж, это может предопределить выбор поставщика этих самых услуг.
Напрашивается резонный вопрос - если поток не зашифрован, можно ли из этого потока (а ведь там сотни или даже тысячи пользователей) достать те файлы, которые они загружают? Да, можно. Но с некоторыми ограничениями.
Первое и пожалуй самое неприятное то, что имена загружаемых файлов неизвестны. В протоколе http имя файла (а точнее полный путь к файлу) передается НА сервер. Обратно с сервера (в нашем случае эта информация как раз и проходит по спутниковому каналу) в http response header'е отправляется его медиа тип, дата модификации и несколько других менее интересных полей.
Второе ограничение состоит в том, что если пользователю, по каким то причинам не придут некоторые пакеты, они будут перезапрошены. Корректнее будет сказать, что они будут заново переданы сервером, если от машины пользователя не придет подтверждение о получении. Если же пакет потеряет ваша машина, никто вам помочь не сможет. Вам возможно потребуется много терпения и настойчивости, чтобы все работало безукоризненно.
И третье: пользователи ведут себя ужасно. Они недогружают файлы, загружают их по нескольку раз, просто проверяют на месте ли их файлы или загружают несколько килобайт из многомегабайтного файла, а потом догружают остаток через неделю... Но что хуже всего: вместо действительно полезных и интересных вещей, они грузят всякий хлам и мусор
Вам наверно интересно как реагируют пользователи на то, что их закачку можно перехватить? По всякому реагируют. Но обычно даже противники сего безобразия хотя бы для интереса на время присоединяются к нему, чтобы посмотреть, что же это такое. Как относятся провайдеры? Как любые коммерческие организации - если это не задевает их интересов, они ничего не предпринимают. Вроде бы убытков они от этого не несут. Вероятно даже наоборот, ведь простые модемщики попробовав спутник на скорость, часто сами подключаются к спутниковому интернету.
Настройка
Прежде всего, убедитесь что штатный софт вашей dvb карты работает. Если кино показывает, уже хорошо. Настройтесь на транспондер провайдера спутникового интернета и убедитесь, что уровень сигнала достаточен для приема без потерь. Лучше всего в этом вопросе ориентироваться по BER, он должен изредка показывать очень малые значения, а лучше полностью стоять на нуле. Если же софт вашей карты не показывает BER, смотрите на уровень сигнала. Как минимум индикатор уровня сигнала должен быть зеленый. А лучше - далеко в зеленом секторе (то есть очень зеленый)
Скайнет может работать под windows и linux. Если есть возможность выбирать, рекомендую linux
Для использования dvb карты под windows программе необходима библиотека streamreader.dll Для карты Skystar2, рекомендую использовать библиотеку marfi
http://www.cait.com.pl/dvb.php?sect=eng Если у вас клон Twinhan, вам сюда:
http://joshyfun.peque.org/ Если же у вас другая карта, попробуйте поискать для нее нужную библиотеку. Возможно ее не существует, тогда проверьте, не поддерживается ли ваша карта драйверами linuxtv, скайнет под linux по умолчанию работает лучше В конце концов, поинтересуйтесь у производителя карты, почему для их устройства до сих пор не написан streamreader.dll?
Библиотеку надо распаковать и положить в директорию с программой. Без нее скайнет не запустится.
Для работы под linux: вам понадобится X-Window и оконный менеджер (KDE, Gnome...) Кроме того, необходимы установленные и работающие драйвера linuxtv
http://linuxtv.org/. Их установка может вызвать много вопросов, поэтому лучше поищите информацию в интернете на эту тему. Начать можно здесь:
http://www.gs.ru/info/si/ss2unix.html Теперь о настройке программы. Вам нужно прописать в .ini файле параметры транспондера провайдера. Замечательная табличка со спутниками и частотами есть здесь:
http://www.gs.ru/info/si/skdtab.html Также можно сходить на
www.flysat.com/satlist.php или
http://lyngsat.com/, каналы с данными там обозначены зеленым/фиолетовым цветом (подойдут конечно не все, но многие - именно спутниковый интернет)
В файле есть несколько примеров настройки на транспондер, думаю все будет понятно.
# tuner=частота,поляризация,символьная скорость,fec
tuner=12015000,V,27282000,A
Кроме настройки тюнера нужно узнать пиды по которым идет интернет трафик. Часто их можно найти на сайте провайдера где-нибудь в разделе технической информации. Если там их нет, можно поискать в интернете. Посмотрите нет ли их здесь:
http://viaccessfree.biz/forum/viewforum.php?f=9 Можно поискать пиды самому с помощью плагина PidScanner для моей любимой программы просмотра спутникового телевидения ProgDVB:
http://progdvb.com/ Когда найдете пиды, запишите их в ini. Ваша запись должна выглядеть примерно так:
tuner=12321000,V,27500000,A
pids=777,820,1360,1548,1579,1581,1584,1598,1940
для перехвата всех пидов можно использовать один универсальный, при условии что ваша карта справится с всем потоком
pids=8192
Напротив остальных строк начинающихся с tuner или pids поставьте # чтобы программа не обращала на них внимания.
Если вы используете карту SkyStar1 под windows раскомментируйте строку "ss1=1"
Если вы используете ресивер DreamBox - ваши настройки dream_ip, dream_port и pids, библиотека streamreader.dll не нужна.
Теперь можно запустить. Признаком успешной настройки будет изменение статистики в верхней части окна программы. Если счетчик in начал отсчитывать мегабайты и tcp threads начало увеличиваться, значит все в порядке - программа видит поток и в потоке tcp/ip протокол. Если нет - значит что-то неправильно.
Нажмите букву G и внимательно рассмотрите появившуюся справа табличку. Тут работают стрелки, плюс/минус на цифровой клавиатуре, delete, и цифры. Вобщем это фильтр для файлов по типам и размерам.
При приеме поглядывайте на счетчик discontinuity, если он меняется - значат у вас проблемы. Вам нужен практически идеальный поток без сбоев, ведь достаточно чтобы в файле отсутствовал всего один пакет чтобы архивы и exe ушли в мусор.
Что делать? Прежде всего, обратите внимание КАК они увеличиваются. Это можно сделать посмотрев файл лога, там записан пид и точное время когда произошла бяка. Когда вы грабите одновременно по нескольким пидам, будет хорошо видно что происходит.
232909.88 ts: discontinuity (pid = 1327, cc = 8, must be 5)
232909.88 ts: discontinuity (pid = 1328, cc = 13, must be 9)
232909.99 ts: discontinuity (pid = 1498, cc = 13, must be 8)
232910.49 ts: discontinuity (pid = 1499, cc = 3, must be 10)
Странные цифры вначале - это время, так сделано для экономии места: 232909.88 -> 23:29:09 + 88 сотых.
Здесь хорошо видно, что несчастье произошло одновременно со всеми элементарными потоками. Попросту говоря, произошел обрыв всего принимаемого потока, что и отразилось на всех (или почти всех) элементарных. Почему это могло произойти? Лично у меня такое всегда происходит при инициализации софтмодема. Его драйвер настолько ужасно написан, что приостанавливает на короткое время работу всей системы. Для потока с dvb карты это смертельно. Устройство не обладает достаточным запасом памяти чтобы на время задержать идущий с огромной скоростью поток данных.
Почему такое происходит у вас, если вы не инициализируете софтмодем? Не знаю. Наиболее вероятная причина - маленький буфер для потока в драйвере карты. Современные карты рассчитаны на прием телевидения и радио, и размер буфера задан исходя из этих потребностей. Ситуация усугубляется если у вас в системе есть еще устройства или программы которые требуют к себе пристального внимания со стороны ЦПУ (грубо говоря тормозят систему) К тому же Windows не является ОС реального времени, любая программа может быть остановлена на неопределенный период, и неизвестно когда продолжится ее выполнение.
Что делать? Во первых, попробуйте увеличить размер буфера в драйвере. Позже я объясню как это сделать с драйвером SkyStar2. Во вторых, уберите все ненужное железо, поотключайте лишние устройства в Bios Setup, в том числе и порты, чтобы освободить прерывания. Посадите каждое устройство на отдельное прерывание. Для этого вам скорее всего придется отключить APIC, и расставить прерывания вручную. И даже переставлять устройства по слотам. Как это сделать - ищите в интернете (никто не говорил что будет легко) Причиной ваших бед может являться любое устройство, в том числе и интегрированное в системную плату. Нет, я не предлагаю ничего выпиливать Просто попробуйте на другой машине с другим железом. В третьих, возможно самый легкий выход - патч драйвера или переход на другую более правильную ОС
Да, еще отключите резидентные антивирусы и другие ненужные для процесса программы, причина может быть и в них.
Если же discontinuity проскакивают по одному, через довольно большие промежутки времени, скорее всего дело в уровне сигнала. Впрочем, это могут быть и ошибки которые уже идут в потоке, в этом случае вы ничего не можете сделать, но и файлы скорее всего не побьются.
Интерфейс
Верхняя часть экрана отображает общую статистику.
in - объем принятых и обработанных данных.
discontinuity - количество разрывов потока. Каждый из них может быть смертельным для одного или более файлов.
tcp threads - количество открытых tcp потоков. Программа следит за всеми потоками.
files - количество файлов загружающихся сейчас.
zoom - размер экрана по горизонтали.
cache - количество операций записи в кэше программы.
written - объем данных сохраненных на диск.
memory - объем памяти занимаемой кэшем.
Большую часть экрана занимают полоски, показывающие какие файлы в данный момент загружаются и прогресс загрузки. Цвет полоски зависит от типа файла. Аудио файлы зеленые, архивы - темно зеленые, видео файлы - салатовые, изображения - красные и т.д. Белым показывает уже загруженные сегменты. В конце каждого сегмента рисуется тоненькая красная вертикальная полосочка, это позволяет видеть мелкие разрывы при любом увеличении.
Горизонтальные красные полосы перечеркивающие файлы - таймауты. Они показывают сколько уже времени не приходило данных относящихся к этому файлу.
В новых версиях файлы бледнеют после 15 секунд неактивности.
Слева от списка файлов находится маленький белый треугольник - курсор. Его можно перемещать по списку файлов стрелками.
Внизу отображается подробная информация по текущему файлу. Слева направо: Пид, мак адрес, ip адрес приемник, ip адрес источник (ip сервера), объем уже загруженных данных, полный размер файла, процент загруженных от полного объема, количество потоков которыми загружается файл. Вторая строка содержит самый лучший уникальный идентификатор файла. Чаще всего - это время модификации. Третья строка - присвоенное файлу имя.
По старой доброй традиции (кому доброй, а кому не очень) программа управляется исключительно с помощью клавиатуры.
Кнопки
G - включает и выключает таблицу для настройки принимаемых типов и размеров файлов.
Разберем таблицу на примере одной строки:
+ - признак того что файлы из данной группы будут загружаться программой.
ARCHIVE - Название группы / расширения. Группы могут включать в себя несколько расширений. Например, ARCHIVE включает в себя zip, rar, ace, 7z. Название группы отображается немного другим цветом и для убедительности пишется большими буквами.
1.M - Минимальный размер файлов которые будут загружаться. В данном случае 1 мегабайт.
1.00G - Максимальный размер файлов.
Курсор перемещается стрелками, есть дополнительный модификатор перемещения по вертикали - клавиша Shift. Значок + устанавливается и сбрасывается плюсом и минусом на цифровой клавиатуре. Те же плюс и минус увеличивают и уменьшают минимальный и максимальный размер. Цифры используются для установки круглых размеров. Delete стирает размер (устанавливает в ноль). Комбинация клавиш Ctrl-S сохраняет настройки в файл на диске.
При отключенной таблице, действуют следующие клавиши:
Плюс/минус на цифровой клавиатуре - изменяют масштаб по горизонтали.
Стрелки влево-вправо - прокручивают полоски в соответствующем направлении.
Стрелки вверх-вниз - перемещают курсор по списку файлов.
Цифры - изменяют масштаб на предустановленный.
E/Shift-E - изменяют ширину полосок в списке файлов.
Delete - удаляет файл под курсором.
M/N - изменяют размер области просомотра содержимого файла. Модфикатор - Shift
Ctrl-I - принудительно отправляет недокачанный файл в incomplete
S - режим "stop download" - новые файлы игнорируются, только догружаются старые.
Ctrl-R - перезагрузка rules.txt и regex.txt
K - метка keep для файла. Файл не удаляется по таймауту и также его нельзя случайно удалить Del.
Numpad 0 - Сортировка списка файлов по id (по порядку добавления в список).
Numpad 1 - pid.
Numpad 2 - mac.
Numpad 3 - IP адрес низначения.
Numpad 4 - IP адрес источника.
Numpad 5 - Размер.
Numpad 6 - Цвет.
Примечание: файлы с одинаковым критерием сортировки выделяются линией слева.
Патч драйвера SkyStar2
Файл драйвера SS2 называется skynet.sys и находится в windows\system32\drivers
Убедитесь что у вас есть копия этого файла, если нет - сделайте ее.
Вся ответственность за патч и его возможные последствия лежит на вас. Если вы что-то сделаете неправильно, ваша операционная система может не загрузиться, выпасть при загрузке в синий экран, или просто зависнуть. В этом случае загрузитесь в safe mode и перезапишите файл драйвера из предварительно сделанной копии.
Вам нужен hex редактор и некоторые навыки навыки обращения с ним. Здесь будет описана процедура патча драйвера версии 4,03,00,9999 размер 462212, но это должно также сработать с любой относительно новой версией.
Для начала снимите с файла атрибут read only, если он установлен. Откройте его в hex редакторе и сделайте поиск 00 B0 0E 00 00 B0 0E 00. Должно быть ровно три вхождения. Изменять нужно последнее. Исправьте эти байты на 00 B0 0E 00 00 E0 92 00. Сохраните изменения и выходите из редактора.
Теперь необходимо исправить контрольную сумму файла. Это можно сделать к примеру с помощью утилиты PE Tools. Загрузите нашего подопытного выбрав в меню PE Editor. Нажмите Optional Header, а затем вопросик напротив поля Checksum. Программа пересчитает контрольную сумму. Жмите OK. Вопроса нужно ли записать изменения вы не дождетесь. И правильно, если уж решились на такое, значит знаете что делаете
Если у вас версия драйвера 4.2.8 или 4.3.0, вы можете пропатчить его маленькой программкой: ss2_driver_patch.7z
После патча перезагрузите машину. Если все прошло успешно, весь софт будет работать как и раньше, однако discontinuity, которые вы наблюдали к примеру при запуске тяжелых программ, исчезнут.
Примечание: оригинальный драйвер SS2 не умеет работать с протоколом DiSEqC 1.2, если вам нужна его поддержка обратите внимание на программу MyTheatre
http://dvbcore.com/, с ней идет откорректированный Saar'ом драйвер.
Вопросы и ответы
Цитата:
Q: У меня что-то не получается, что делать?
A: Пробовать. Думать. Потом снова.
Мне не пишите. Для этого есть форум. Но на форум тоже не пишите, там и так уже сто раз ваша проблема обсуждалась.
Q: ProgDVB не находит канал, что делать?
A: Измените параметры любого ненужного канала.
Q: Есть ли интернет на HotBird?
A: Нет.
Q: Должен ли я иметь официальное подключение к провайдеру спутникового интернета?
A: Нет.
Q: Много файлов со временем перечеркиваются горизонтальной красной полосой и уходят. Можно ли что-то с этим сделать?
A: В основном виноваты пользователи - не докачивают. Можно увеличить таймауты для файлов в ini и оставить программу работать на больший срок.
Q: А можно настоящие имена файлов, а не эти кракозябры?
A: Нет. В потоке они не передаются.
Q: Ловится одна мелочь / На файлах остаются вертикальные красные полоски. Что делать?
A: Читать с начала.
Q: У меня SkyStar1, при потоке выше 1Мб/сек сплошные красные полосы.
A: Это аппаратное ограничение SS1, с этим ничего нельзя сделать. Впрочем, у SS1 есть такие же аппаратные фильтры, которые можно использовать, в ini есть соответствующая опция.
Q: На слабом сигнале или при посторонних помехах SS1 "засыпает", поток перестает идти до рестарта DvbData
A: Или попробовать исправить ситуацию которая вызывает "засыпание", или приобрести карту которая не засыпает.
Q: Пытаюсь грабить с NetSystem, сплошные красные полосы.
A: NetSystem часть трафика отдает по земле. Зависит от времени суток.
Q: Как распаковывать многотомники?
A: Вам понадобится программа UnRarTome. Или оригинальный .svf файл от них и программа svffix
Q: Где / Как ловить большие файлы, фильмы, игры, и прочее.
A: Везде где видите файлы загружающиеся с большой скоростью / Терпеливо.
Q: Как ловить образы дисков?
A: У этих типов файлов слишком длинные сигнатуры, поэтому они не определяются программой. Вам придется ставить +bin 100M * А потом самостоятельно определять что там такое загрузилось.
Q: Я могу поймать то-то? Сколько времени это займет.
A: От нескольких минут до нескольких лет и далее до никогда. Если вам нужно что-то конкретное - много легче достать это обычными путями.
Q: А что полезного там есть?
A: Каждому свое. Кто-то ловит последние новинки софта, кому-то нравится то, что падает много разнообразной музыки, кто-то настроил программу на отлов обновлений антивирусных баз или на реплеи компьютерных игр ...
Q: Почему exe файлы имеют расширение ex_ ?
A: Чтобы случайно не запустить. Если вам больше нравится exe, откройте файл regex.txt и поменяйте.
Q: Как запускать exe файлы и не заразиться вирусом / не порушить windows
A: Вам поможет замечательная утилита WinRollBack:
http://winrollback.com/ И еще установите Flash Bios Protection, если не имеете под рукой программатора, exe'шники разные бывают
Q: Можно ли грабить с двух трансподеров одновременно или грабить и смотреть TV?
A: Нет. У карты всего один тюнер, для того чтобы это делать вам понадобятся две карты. Учтите что два одинаковых устройства не могут работать в windows.
Q: Можно ли грабить спутниковый интернет и одновременно официально им пользоваться?
A: Да, но вам придется удалить из ini pid по которому получаете данные вы.
Примечание: в linux проблем со своим пидом нет, так что этот ответ относится только к windows.
Q: Директория temp не очищается при выходе из программы, так и должно быть?
A: Да.
Q: У меня SATA винчестер, очень много discontinuity.
A:
http://viaccessfree.biz/forum/showthread.php?t=19617 Q: Когда будут добавлены дополнительные протоколы, ftp, edonkey, irc, etc.
A: Вероятно никогда. Скайнет - некоммерческий проект, я не могу уделять ему слишком много времени. Даже http сейчас перехватывается не идеально. Почему? Во первых это вообще невозможно, таковы особенности спутникового перехвата. А во вторых нужно много времени чтобы найти причины по которым алгоритм может ошибаться. Ну и напоследок скажу что в отличие от http, ftp перехватывается далеко не весь. Меньше чем на треть.
Q: Я обновил скайнет, а новый бинарник упал (вариант: съел всю виртуальную память)
A: Новый скайнет может быть не совместим со старыми файлами настроек и сохранениями. Перенесите свои настройки в новую версию.
Q: У меня карта поддерживает FullTS, что лучше использовать универсальный pid 0x2000 или список отсканированных.
A: Второе. Чем меньше поток который приходится обрабатывать вашему компьютеру, тем больше шансов что не будет переполнения буфера.
Q: Мне кажется что новый скайнет ловит больше (меньше) чем старый.
A: Есть способы измерить это точно, поэтому такие наблюдения ценности не имеют.
Q: Послал вам письмо, но ответа не получил, в чем дело?
A: Может оно просто пропало по пути. Может вы хотите от меня слишком многого, или спрашиваете о том чего я не знаю и знать не могу. Есть шанс что вы понадеялись что я телепат или ясновидящий (К сожалению нет, в последнее время я увлекаюсь лишь пляской с бубном и проклятиями.) И наконец самое страшное, вы думаете что я - техсаппорт.
Q: Запустил консольный вариант под Linux, но файлов не перехватывает. Что неправильно?
A: Настройки фильтров по типам и размерам доступны только в GUI версии. Вы можете запустить версию с графическим интерфейсом на любой машине, даже без DVB карты. К примеру xskynet in=fff
Затем вы делаете настройки фильтров и сохраняетесь по Ctrl-S. Осталось перенести файл regex.dat в директорию с консольным вариантом.
[/more]