Скрипт для запуска второго natd во FreeBSD

12.03.2012 rrv

Понадобился второй нат, скрипт не шедевр, но для шпаргалки напишу.

/usr/local/etc/rc.d/nat2.sh Прочитать остальную часть записи »

Переносим маршрут или трек SASPlanet (KML) на Garmin (GPX)

24.02.2012 admin

Для преобразования Маршрута в формате KML в GPX воспользуемся скриптом:

#!/bin/sh
# Запускаем скрипт так:
# sh ./convert.sh ./имя_файла.kml
# Где имя_файла.kml – имя с треком из SASPlanet
# На выходе получаем сконвертированный файл convert.gpx который можно загрузить в Garmin
# Время создание маршрута
D=`date ‘+%Y-%m-%dT%H:%M:%SZ’`
# Номер маршрута (Можно поменять на название)
DT=`date ‘+%Y%m%d’`
cat <<EOF > convert.gpx
<?xml version=»1.0″ encoding=»UTF-8″ standalone=»no» ?>
<gpx xmlns=»http://www.topografix.com/GPX/1/1″ xmlns:gpxx=»http://www.garmin.com/xmlschemas/GpxExtensions/v3″ xmlns:wptx1=»http://www.garmin.com/xmlschemas/WaypointExtension/v1″ xmlns:gpxtpx=»http://www.garmin.com/xmlschemas/TrackPointExtension/v1″ creator=»eTrex 20″ version=»1.1″ xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance» xsi:schemaLocation=»http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd»>
<metadata>
<link href=»http://www.garmin.com»>
<text>Garmin International</text>
</link>
<time>${D}</time>
</metadata>
<rte>
<name>Маршрут ${DT}</name>
EOF
cat «${1}» \
| grep «\<coordinates\>» \
| awk ‘BEGIN{FS=»<(/)*coordinates>»}{print $2}’ \
| sed ’s/ /\n/g’ \
| grep -v «^$» \
| awk ‘BEGIN{FS=»,»}{print(» <rtept lat=\»"$2″\» lon=\»"$1″\»></rtept>»)}’ \
>> convert.gpx
cat <<EOF >> convert.gpx
</rte>
</gpx>
EOF
#!/bin/sh
# Конвертирует в маршрут
# Запускаем скрипт так:
# sh ./convert.sh ./имя_файла.kml
# Где имя_файла.kml - имя с треком из SASPlanet
# На выходе получаем сконвертированный файл convert.gpx который можно загрузить в Garmin
# Время создание маршрута
D=`date '+%Y-%m-%dT%H:%M:%SZ'`
# Номер маршрута (Можно поменять на название)
DT=`date '+%Y%m%d'`

cat <<EOF > convert.gpx
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="eTrex 20" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd">
<metadata>
 <link href="http://www.garmin.com">
  <text>Garmin International</text>
 </link>
 <time>${D}</time>
</metadata>
<rte>
 <name>Маршрут ${DT}</name>
EOF

cat "${1}" \
| grep "\<coordinates\>" \
| awk 'BEGIN{FS="<(/)*coordinates>"}{print $2}' \
| sed 's/ /\n/g' \
| grep -v "^$" \
| awk 'BEGIN{FS=","}{print(" <rtept lat=\""$2"\" lon=\""$1"\"></rtept>")}' \
>> convert.gpx
cat <<EOF >> convert.gpx
</rte>
</gpx>
EOF

Для преобразования Трека в формате KML в GPX воспользуемся скриптом:

#!/bin/sh
#Конвертация в трек
# Запускаем скрипт так:
# sh ./convert.sh ./имя_файла.kml
# Где имя_файла.kml - имя с треком из SASPlanet
# На выходе получаем сконвертированный файл convert.gpx который можно загрузить в Garmin

# Время создание трека
D=`date '+%Y-%m-%dT%H:%M:%SZ'`
# Номер трека (Можно поменять на название)
DT=`date '+%Y-%m-%d'`
# Цвет трека
COLOR="Cyan"

cat <<EOF > convert.gpx
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:gpxx="http://www.garmin.com/xmlschemas/GpxExtensions/v3" xmlns:wptx1="http://www.garmin.com/xmlschemas/WaypointExtension/v1" xmlns:gpxtpx="http://www.garmin.com/xmlschemas/TrackPointExtension/v1" creator="eTrex 20" version="1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.garmin.com/xmlschemas/GpxExtensions/v3 http://www8.garmin.com/xmlschemas/GpxExtensionsv3.xsd http://www.garmin.com/xmlschemas/WaypointExtension/v1 http://www8.garmin.com/xmlschemas/WaypointExtensionv1.xsd http://www.garmin.com/xmlschemas/TrackPointExtension/v1 http://www.garmin.com/xmlschemas/TrackPointExtensionv1.xsd">
 <metadata>
  <link href="http://www.garmin.com">
   <text>Garmin International</text>
  </link>
  <time>${D}</time>
 </metadata>
 <trk>
  <name>Track ${DT}</name>
  <extensions>
   <gpxx:TrackExtension>
    <gpxx:DisplayColor>${COLOR}</gpxx:DisplayColor>
    </gpxx:TrackExtension>
  </extensions>
  <trkseg>
EOF

cat "${1}" \
| grep "\<coordinates\>" \
| awk 'BEGIN{FS="<(/)*coordinates>"}{print $2}' \
| sed 's/ /\n/g' \
| grep -v "^$" \
| awk 'BEGIN{FS=","}{print("<trkpt lat=\""$2"\" lon=\""$1"\"></trkpt>")}' \
>> convert.gpx

cat <<EOF >> convert.gpx
  </trkseg>
 </trk>
</gpx>
EOF

Все :)

Смотрим трек Garmin (GPX) на maps.google.ru или SASPlanet (KML)

22.02.2012 rrv

Для того что бы отобразить GPX трек на maps.google.ru требуется конвертация, можно воспользоватся простым скриптом convert.sh: Прочитать остальную часть записи »

Обход ограничения Gmail на отправку определенных файлов, например exe

12.12.2011 rrv

Отправлял архив сайта с хостинга на почту gmail, но google запретил, видимо нашел в архиве запрещенный файл. Решением было использование dd с ключом conv=swab, который меняет старшие и младшие байты в файле, на всякий случай и расширение файла я поменял:

#!/bin/sh

T=`/bin/date +%d_%m_%Y-%H_%M`
tar -czf /home/h1779/data/tmp/${T}.t_ar.g_z /home/h1779/data/www \
&& dd if=/home/h1779/data/tmp/${T}.t_ar.g_z conv=swab | /usr/bin/uuencode ${T}t_ar.g-z \
| /usr/bin/mail -s "Backup rrv.nsk.ru ${T} для распаковки надо пропустить через dd if=t_ar.g-z of=tar.gz conv=swab" test@gmail.com \
&& /bin/rm /home/h1779/data/tmp/${T}.t_ar.g_z

Распаковываем так:

dd if=12_12_2011-09_43t_ar.g-z of=12_12_2011-09_43.tar.gz conv=swab

И получаем обычный архив.

Удачи ;)

udpxy. iptv на android или как смотреть UDP video поток через HTTP

24.11.2011 rrv

Удручало отсутствие плеейров умеющих показывать UDP iptv, зато почти все плееры позволяют смотреть видео поток через http.

Решение оказалось простым, ставим на домашний компьютер/сервер udpxy

И так установка на ubuntu:

Нам потребуется GCC

sudo apt-get install gcc

Теперь скачаем Udpxy

wget http://downloads.sourceforge.net/project/udpxy/udpxy/Chipmunk-1.0/udpxy.1.0-Chipmunk-19.tgz
tar -zxf udpxy.1.0-Chipmunk-19.tgz
cd  udpxy.1.0-Chipmunk-19
make

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

./udpxy -p 8888

Прокси будет готов принимать запросы на порту 8888, запускать можно от обычного пользователя. например если ip компа с запущенным прокси 8.8.8.8 и мы хотим посмотреть канал UDP://@239.1.2.1:1234 тогда в плеере пишем:
http://8.8.8.8:8888/udp/239.1.2.1:1234

Все :) теперь все блага доступны, то есть например можно давать возможность смотреть TV своим друзьям у которых провайдер не предоставляет эту возможность, либо они просто не хотят платить за эту услугу… В общем куча возможностей… ограниченные только фантазией

Отключаем переход на Летнее Зимние время, во FreeBSD

30.10.2011 rrv

Для отключения привязываем пояс относительно GMT

Например для Москвы (Спасибо властям  GMT-4, а не GMT-3)

Так как я из Новосибирска, вот мой пример (GMD-7):

# date
воскресенье, 30 октября 2011 г. 14:31:04 (GMT-7)
#mv /etc/localtime /etc/localtime.orig
#ln -sf /usr/share/zoneinfo/Etc/GMT-7 /etc/localtime
# date
воскресенье, 30 октября 2011 г. 14:32:51 (GMT-7)

Возможно это не единственное решение, но оно работает. Менять в настройках ntpd ничего не требуется.

Настройки Chrome

14.10.2011 rrv

Для более детальных настроек запустим в пустой вкладке: about:about

Редирект в Squid

05.10.2011 rrv

Почему пару дней назад, некоторые пользователи перестали входить в социальную сеть «вконтакте», при этом другие говорили, что не испытывают проблем. В итоге выяснилось, что через URL vkontakte.ru перестало входить, а через vk.com проблем не было. Разбираться мне было лень сделал редирект:

acl vrontakte dstdomain vkontakte.ru
http_access deny vrontakte
deny_info http://vk.com vrontakte

Конвертируем aac в mp3

05.10.2011 rrv

Потребовалось конвертировать, получилось:

Устанавливаем:

sudo apt-get install ffmpeg libavcodec-extra-52

Конвертируем:

ls *.aac | awk 'BEGIN{FS="."}{system ("ffmpeg -y -i "$1".aac -acodec libmp3lame -ac 1 -ar 22050 -ab 24k "$1".mp3")}'

ipfw и keep-state

05.10.2011 rrv

Всегда пользовался keep-state не задумываясь где создаются виртуальные правила, пока один раз не на ступил на грабли….

check-state – проверяет пакет по динамическим правилам; если соответствие обнаружено, поиск прекращается; в противном случае выполняется переход к следующему правилу; eсли check-state правило не обнаружено, динамические правила проверяются по первом правилу с опцией keep-state;

Взято здесь.