PDA

Просмотр полной версии : Программа для рыбалки SkyNet


Maniak
19.06.2007, 21:57
SkyNet 0.90

Настройка

Прежде всего, убедитесь что штатный софт вашей dvb карты работает. Если кино показывает, уже хорошо. Настройтесь на транспондер провайдера спутникового интернета и убедитесь, что уровень сигнала достаточен для приема без потерь. Лучше всего в этом вопросе ориентироваться по BER, он должен изредка показывать очень малые значения, а лучше полностью стоять на нуле. Если же софт вашей карты не показывает BER, смотрите на уровень сигнала. Как минимум индикатор уровня сигнала должен быть зеленый. А лучше - далеко в зеленом секторе (то есть очень зеленый)

Скайнет может работать под windows и linux. Если есть возможность выбирать, рекомендую linux

Для использования dvb карты под windows программе необходима библиотека streamreader.dll. В низу странички есть сcылки на streanreader.dll для карт SkyStar 2 и Twinhan

Если же у вас другая карта, попробуйте поискать для нее нужную библиотеку. Возможно ее не существует, тогда проверьте, не поддерживается ли ваша карта драйверами linuxtv, скайнет под linux по умолчанию работает лучше :) В конце концов, поинтересуйтесь у производителя карты, почему для их устройства до сих пор не написан streamreader.dll? ;)

Библиотеку надо распаковать и положить в директорию с программой. Без нее скайнет не запустится.

Для работы под linux: вам понадобится X-Window и оконный менеджер (KDE, Gnome...) Кроме того, необходимы установленные и работающие драйвера linuxtv. Их установка может вызвать много вопросов, поэтому лучше поищите информацию в интернете на эту тему.

Теперь о настройке программы. Вам нужно прописать в .ini файле параметры транспондера провайдера. Замечательная табличка со спутниками и частотами есть здесь: http://lyngsat.com, каналы с данными там обозначены фиолетовым цветом (подойдут конечно не все, но многие - именно спутниковый интернет)

В файле есть несколько примеров настройки на транспондер, думаю все будет понятно.

# tuner=частота,поляризация,символьная скорость,fec
tuner=12015000,V,27282000,A

Кроме настройки тюнера нужно узнать пиды по которым идет интернет трафик. Часто их можно найти на сайте провайдера где-нибудь в разделе технической информации. Если там их нет, можно поискать пиды самому с помощью плагина PidScanner для моей любимой программы просмотра спутникового телевидения ProgDVB.

Когда найдете пиды, запишите их в ini. Ваша запись должна выглядеть примерно так:

tuner=12321000,V,27500000,A
pids=777,820,1360,1548,1579,1581,1584,1598,1940

Напротив остальных строк начинающихся с 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 проскакивают по одному, через довольно большие промежутки времени, скорее всего дело в уровне сигнала. Впрочем, это могут быть и ошибки которые уже идут в потоке, в этом случае вы ничего не можете сделать, но и файлы скорее всего не побьются.

Интерфейс

http://www.egornet.ru/components/com_remository_files/file_image_82/img_82_01.gif

Верхняя часть экрана отображает общую статистику.
in - объем принятых и обработанных данных.
discontinuity - количество разрывов потока. Каждый из них может быть смертельным для одного или более файлов.
tcp threads - количество открытых tcp потоков. Программа следит за всеми потоками.
files - количество файлов загружающихся сейчас.
zoom - размер экрана по горизонтали.
cache - количество операций записи в кэше программы.
written - объем данных сохраненных на диск.
memory - объем памяти занимаемой кэшем.

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

Тонкие горизонтальные красные полосы перечеркивающие файлы - таймауты. Они показывают сколько уже времени не приходило данных относящихся к этому файлу.

В новых версиях файлы бледнеют после 15 секунд неактивности.

Слева от списка файлов находится маленький белый треугольник - курсор. Его можно перемещать по списку файлов стрелками.

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

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

Кнопки

G - включает и выключает таблицу для настройки принимаемых типов и размеров файлов.
http://www.egornet.ru/images/stories/soft/skynet2.gif

Разберем таблицу на примере одной строки:

+ - признак того что файлы из данной группы будут загружаться программой.

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_patch_1.2.zip (http://www.egornet.ru/component/option,com_remository/Itemid,118/func,fileinfo/id,83/)

После патча перезагрузите машину. Если все прошло успешно, весь софт будет работать как и раньше, однако discontinuity, которые вы наблюдали к примеру при запуске тяжелых программ, исчезнут.

Примечание: оригинальный драйвер SS2 не умеет работать с протоколом DiSEqC 1.2, если вам нужна его поддержка, ищите откорректированный Saar'ом драйвер.

Валера
20.06.2007, 22:14
Немного про патч, а то многим непонятно зачем он нужен

Skystar2 universal buffer patch 1.2

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

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

Валера
22.06.2007, 21:08
Настройка и описание skynet.ini - файл с комментариями для всех билдов

# Описание skynet.ini and function keys for skynet0897b6sbf0_20a from borsh от 01.05.07. 53.0°E SkyDSL
# Отдельно огромное спасибо ktod как за помощь так и за отличную программу!
# строки, начинающиеся со знака "#" являются комментариями либо выключенными функциями


################################################## ######################
# общие настройки
################################################## ######################

# Режим сортировки поумолчанию
fl_sm=0
# Отключение проверки контрольной суммы для MPE датаграм, проверка контрольной суммы значительно нагружает ЦП
no_crc32=0
# Работа на первом процессоре в многопроцессорных системах
processor=0
# Использовать механизм обработки сигналов (только для линукс)
# process_signals=0
# Брать траспортный поток из файла
# in=ts_file
# Писать траспортный поток в файл
# out=ts_file

################################################## ######################
# настройки окна программы
################################################## ######################


#Пользовательская строка, выводится в имени окна
user_info_str= @ SkyDSL
# window (позиция окна при запуске)
wx=0
wy=0
# Высота окна программы
ww=600
# Ширина окна программы
wh=450
# Вывод на полный экран(1) или сокращенный (WX,WY)
maximize=1
# Время между обновлениями окна программы в мс
refresh=100
# Масштаб окна по умолчанию (Изменение представления "полос" загрузки файлов)
zoom=512mb
# Включает полоски таймаута
timeout_line=0
# Сворачивание в трэй
tray=1
# Подтверждение закрытия программы
exit_promt=1
# Время автосохранения в мс
autosave_time=60000
# Название шрифта
font=Fixedsys
# Размер шрифта
font_size=16
xfont=-*-*-*-*-*-*-*-*-*-*-*-*-*-cp1251
#Бэкгроунд для окна статисктики в виде битмапа
use_header_bg_bitmap=1

################################################## ######################
# настройки поддерживаемых протоколов
################################################## ######################

# Использовать tcp
use_tcp = 1
# Использовать udp
use_udp = 1
# Поддержка протокола http
http=1
# Поддержка протокола nntp
nntp=0
# Поддержка протокола ftp
ftp=1
# Файлы из пиринговых сетей
p2p_add = 18000

################################################## ######################
# настройки tcp/ip
################################################## ######################

# Не проводить проверку контрольной суммы tcp
ignore_tcp_cs=0
# Включает буферезацию транспортного потока (только для win32),
#ts_cache_len=32M
# Максимальный значение поля размера ip пакета)
mss=1500
# Таймаут tcp сессии
tcp_timeout=600000
# Задает размер TCP окна
tcp_window=8M
# Размер буффера для сборки tcp сегментов
tcp_buffer=32K
# Не производить поиск заголовков http для tcp сессий без SYN
#no_scan=1
#regex.txt=regex.micro
#пишет в файл пакеты по протоколу 6
#write_packet_for_protocol=6
#таймоут для пакетов при дефрагментации IP
ip_timeout=3000
#Размер буффера для сборки фрагментированных пакетов ip
ip_defrag_buf_size=16K

################################################## #####################
# настройки логов
################################################## #####################

# Вывод информации о ошибках потока в log файл
discon_to_log=0
# Включает сообщения в лог от обработчиков
# process_signals=1
# Включает минилог для каждого файла, вставшего на закачку (предназначено для отладки алгоритма)
use_file_log=1
use_file_log_ftp=1
# Лог файл при перезапуске не обнуляется
log_append=1
# Путь к директории для минилогов
logdir=logdir
#перегружать темплейт morda.tmpl каждый раз при запросе
reload_htmpl=1

################################################## ######################
# настройки статистики
################################################## ######################

# Высота полоски уровня сигнала (Сримридер должен потдерживать функцию Statistic)
signal_quality_log_height=25

#Включить показ расширенной статистики при запуске
show_eXtendet_stat=1
#Включить показ статистики потока при запуске
show_signal_info=0
#Настройка параметров отображения статистики потока
stat_speed_mult=120
signal_quality_log_height=25
#stat_speed_window_width=200
#stat_speed60_window_width=800
#stat_speed_normalyzer=10M
#stat_speed60_normalyzer=10M

################################################## ######################
# настройки для закачивающихся файлов
################################################## ######################

# Минимальный размер недокаченных файлов
incomplete_min_size=90M
# Процент целостности недокачанных файлов
incomplete_%=99

# Таймауты для файлов различных размеров
timeout_100k = 100
timeout_500k = 5000
timeout_1m = 1000
timeout_5m = 20000
timeout_10m = 80000
timeout_50m = 160000
timeout_100m = 160000
timeout_500m = 320000

# Таймаут для файлов закаченных на 99% (работает по по SHIFT+Del,еденицы измерения секунды)
ninety_nine_percent_timeout=3600

# таймаут для файлов закаченных менее чем на 1% (работает по по Ctrl+Del,еденицы измерения секунды)
one_percent_timeout=10800

#Захватывать файлы неимеющие начала размером не меньше
hevent_begin_min_size=50M
# Специальный таймоут для таких файлов
timeout_havent_begin=3600

# Время хранения записи о возможном последнем архиве (докачка последнего файла,еденицы измерения секунды)
rar_str_timeout=172800

# Запоминать имена файлов для последующей докачки только если размер файла превышает данное значение
min_file_size_for_real_name_store=5M

# Аналогичен параметру rar_str_timeout. Запоминается реальные имена файлов, прошедших по фильтрам. Все файлы с похожими именами, отличие не более чем в 2 сивола, так-же подхватываются (еденицы измерения секунды)
name_str_timeout=172800

################################################## ######################
# настройки для сохраняемых файлов
################################################## ######################

# Сохранять сегменты
show_segments=1

# Макисмальный размер блока в кеше
cache_max_block=128k
# Размер кеша
cache_scan=2000
# Принудительно сливать на винт содержимое кеша если размер очереди достиг значения cache_flush
cache_flush=10000

# Формирование имени сохраняемых файлов
name_format=*/p_m_s_cR.E
# P - pid hex - пид в шестнадцатиричной системе счисления
# p - pid dec - пид в десятиричной системе счисления
# M - mac - мак адрес карты пользователей в верхнем регистре
# m - lower case mac - мак адрес карты пользователей в нижнем регистре
# D - destination addr hex - ip адрес пользователей в шестнадцатиричной системе счисления
# d - destination addr dec - ip адрес пользователей в десятиричной системе счисления
# S - source addr hex - ip адрес источника в шестнадцатиричной системе счисления
# s - source addr dec - ip адрес источника в десятиричной системе счисления
# C - counter hex - счетчик в шестнадцатиричной системе счисления
# c - counter dec - счетчик в десятиричной системе счисления
# E - extension - расширение файла
# N - size - размер файла
# R - real name (if known) - настоящее имя файла (если известно)
# * - mark (from rules.txt) - информация из rules.txt после значка "*"
# i - инкапсуляция пакетов, дает возможность оценить улов по разным видам соединений

# Имя и путь папки для не полностью закачанных файлов
incomplete=incomplete
# Имя и путь папки дря временных файлов
temp=temp
# Имя и папки для полностью закачанных файлов
ok=ok

#Переименовать файл при переносе в ок если известно его реальное имя (работает криво)
#rename_ok_files_if_real_name_known=1

################################################## ######################
# настройки управления перехватчика глобакс
################################################## ######################

#Управление перехватчиком глобакс
#хранить не более пакетов глобакс для одной сессии
gl_max_blocks_wait=256
#Таймоут для сессии ms
gl_session_timeout=3600000
#таймоут для канала ms
gl_channel_timeout=300000

################################################## ######################
# настройки клиент/сервер часть
################################################## ######################

# Если skynet будет брать поток с карты и отдавать другому скаю
# использовать сервер траспортного потока
# use_ts_server=1
# адрес сервера
# ts_server_addr=127.0.0.1
# любой свободный
# ts_server_port=453
# включить обработку потока на сервере
# process_data_when_ts_server_use = 0

# Если skynet берёт поток с первого ская
# использовать клиента траспорного потока
# use_ts_client=1
# адрес сервера
# ts_server_addr=127.0.0.1
# соответствуют адресу/порту сервера
# ts_server_port=453

# Если не заработает (разкоментировать)
# in=non-existent_file

################################################## ######################
# настройки для одновременного использования с Интернетом
################################################## ######################

# Перенаправления ip пакетов (для маков inet_mac_strX ) на tun драйвер
#use_openvpn_tun=1
#tun_ip=127.0.0.1

# Фильтр пакетов по МАС адресу (до 10)
#inet_mac_str0=00D000000000 #мак адрес вашей карты

# Возможность скидывать пакеты со спутника драверу виртуальной сетевой карты (не оттестировано)
#use_ethernet_drv=1

################################################## ######################
# настройки diseqc
################################################## ######################

# Настройки diseqc. Если используется diseqc, то следующюю строчку надо раскомментировать.
# и указать правитьные настройки diseqc.
# Если diseqc поддерживает два входа, то выбирается "POSITION_B" или "POSITION_A"
# Если diseqc поддерживает четыре входа, то выбирается "POSITION_A" или "POSITION_B" и
# "OPTION_A" или"OPTION_B"
# Возможные варианты:
# LOW_BAND HIGH_BAND
# VERTICAL HORIZONTAL
# POSITION_A POSITION_B
# OPTION_A OPTION_B
# OPTION_A OPTION_B

# У меня diseqc
diseqc=POSITION_B

################################################## ######################
# настройки тюнера
################################################## ######################

# Настройки тюнера
lnb=9750000,10600000,11700000
#Пинать тюнер в случае отсутсвия потока каждые ms
tuner_kick_timeout=2000

################################################## ######################
# настройки провайдера
################################################## ######################

#53.0°E SkyDSL
# Описание настроек частоты, символьной скорости и т.д
tuner=11481000,h,41250000,A
# Перечисление пидов
pids=100,101,102,103,104,105,106,107

################################################## ######################


###__________________Function keys____________________###
#
# F1 - SkyNet Help Screen
# Ctrl+C - СохранЯет в skynet.log текущий стек вызова функций основного алгоритма
# Ctrl+P - Краткая статистика по пидам
# Ctrl+d - Отладочное окно "статистика по стурктурам/памяти
# Ctrl+m - сброс статистики по mac в файл mac_stat.dat
# q - тестовое отображение уровня сигнала
#
###_______________________________________________ ____###