Граббинг спутникового интеренета (рыбалка) под FreeBSD [2008]
У меня в качестве десктопа используется FreeBSD, специально для рыбалки была куплена разогнанная до 80МГц карта SkyStar2. Из-за отсутствия драйвера под FreeBSD рыбачил под Windows или Ubuntu. Но как-то не хотелось выходить из FreeBSD для рыбалки, и вот после появления драйвера для SkyStar2 от paradox, половина проблемы была решена. Осталась другая, где взять программу для рыбалки. линуксовый skynet не запускался, там у них заточено под свой драйвер. Оставалось только написать свою программу. Ну чем не Unix way :) Забегая вперед скажу, что сейчас рыбачу сразу с двух спутниковых карт Skystar2 (с модифицированным драйвером) и TT budget S-1401 на FreeBSD 7.0, возможно и под 6 тоже заработает. Что необходимо для рыбалки: 1. FreeBSD 7.0 2. DVB-приемник SkyStar-2 или TT budget S-1401 3. Драйвера для карт и программу Skyfish 6. Ну и настроенную антенну на спутник где много рыбы. :)
После того как вы загрузите драйвера карты, вам необходимо добавить пиды по которым идет передача со спутника. Например, на спутнике AM22 53E провайдер PlanetSky пиды для рыбалки с 100 по 107. После добавления нужных пидов надо проверить идет ли поток.
nsand# tcpdump -i dvb0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on dvb0, link-type EN10MB (Ethernet), capture size 96 bytes
01:18:00.154775 IP callisto4.skydsl.de.43132 > 235.49.178.132.4153: UDP, length 102801:18:00.154802 IP callisto4.skydsl.de.43629 > 235.49.192.249.4153: UDP, length 1028
Как видим поток идет, значит можно рыбачить, если ничего не идет, надо убедиться что драйвер загружен и правильно выбраны пиды, есть ли сигнал со спутника и т.д. Идем дальше Устанавливаем пакет Skyfish-0.60, скачать можно с
Для краткого знакомства с программой можно прочитать файл /usr/local/share/doc/skyfish/README. Теперь необходимо настроить параметры рыбалки, что мы хотим ловить и что нет, и куда все это будет закачиваться. Можно поступить двумя способами, либо использовать дефолтный файл настроек /usr/local/etc/skyfish.conf либо скопировать его в папку из которой будет запускать программа. В примере буду использовать дефолтный файл настроек.
nsand# cat /usr/local/etc/skyfish.conf
OK /download/fromsat/ok
TEMP /download/fromsat/temp
INCOMPLETE /download/fromsat/incomplete
LOG ./skyfish.log
MIN_FILE_SIZE 1000000
TIME_LIVE_THREAD 600
TIME_LIVE_BEGIN 3
TIME_END_FILE 1600
V_LINE 20
H_LINE 113
NOCOMPLETE 90
MAXTHREADS 300
type rar 100000010000000000
type jpeg 500000010000000000
type gif 600000010000000000
type html 11
Показан не весь вывод файла, дальше идет только описание типов для фильтрации. Меняйте пути на свои, OK куда будут закачиваться пойманные целые файлы, TEMP директория для сборки файлов и INCOMPLETE для битых или недокачанных файлов, процент докачанности выставляется параметром NOCOMPLETE 90 - означает, что при 90% заполнении помещать файл в INCOMPLETE если меньше то удалять. MIN_FILE_SIZE размер в байтах для всех типов файлов, все файлы меньше этого размера будет программой сразу отбрасываться. V_LINE H_LINE высота и ширина окна, которую можно регулировать из программы с помощью клавиш w,s,a,d MAXTHREADS максимальное количество потоков, слишком большое число будет больше кушать память и проц. В программе смотрите CountPKS - показывает текущее кол-во открытых потоков. type rar 1024 100000000 - закачивать файлы типа rar размером от 1024 байт до 100000000 байт type html 1 1 - игнорировать тип html
Указанные пути должны существовать, иначе программе при запуске выдаст ошибку. Создадим их, вы укажите свой путь.
Осталось загрузить модуль и подключиться к netgraph. Для этого идет в /usr/local/share/examples/skyfish/ и смотрим на примеры скриптов. У нас есть интерфейс dvb0 вот его и добавим запустив скрипт add_node.sh
nsand# ./add_node.sh dvb0
Ну вот и все готово, можно запускать программу.
nsand# skyfish
если не вышло никаких ошибок то появиться окно программы.