пятница, 22 января 2010 г.

Синхронизация паролей между Lin&Win машинами

На работе на win машине имеется ~10 паролей для работы с машинами заказчика.
Все они разные и сложные по требованиям безопасности, те без возможности запомнить. А без них никуда.
Часто приходится работать из дома , а там уже Gentoo linux.
Поэтому задумался , как мне получить все эти пароли дома.
Единственный кроссплатформенный менеджер паролей, который я нашел оказался keepass.
Итак, устанавливаю:

keepass по сути обладает всеми нужными качествами для менеджера паролей:
  • умеет хранить пользователей , пароли, url
  • не светит их в явном виде при копировании, а использует буфер обмена
  • генерирует пароли по шаблону
  • висет в трее и вызывается по горячей клавише
  • Имеет порт на linux/win
Выглядит keepass вот так:

После установки остается минимум - синхронизировать базу паролей между машинами. Обе машины естественно находятся за NAT
Наиболее подходящим сервисом для этого оказался dropbox.
Ставим его на обе машины и задаем директорию в которую он будет синхронизировать данные между машинами
Далее в gentoo я просто сделал симлинку на базу паролей из /etc в дропбокс директорию,
На win же пришлось сохранять базу прямо в директории dropbox

Собственно все - теперь пароли доступны на обоих машинах.Синхронизация выполняется автоматически при обновление файла базы паролей.

Что в этой схеме хорошо:
  • работает на разных платформах
  • синхронизация выполняется автоматически при обновление любой информации в базе

Что не очень:
  • при запущенном keepass на виндовсе создается lock файл для базы данных, который конечно тоже синхронизируется.При открытии синхронизированной базы на другой машине его приходится удалять. Почему было не сделать создание lock файла только в момент записи в базу ??
Update: для решения проблемы с отменой синхронизации лок файла можно сделать следующее.По совету Александр сделал хардлинк на базу данных с паролями на винде следующей командой :
fsutil hardlink create "C:\Program Files\keepass\database.kdb" "C:\My Dropbox\keepass\database.kdb"
Оригинал базы хранится в C:\Program Files\keepass\. На нее создается ссылка в C:\My Dropbox\keepass. Таким образом, при открытии базы лок файл создается в тоже же директории что и база. А "C:\My Dropbox\keepass" продолжает содержать только базу, которую дропбокс и синхронизирует.

В следующей 2.x версии keepass добавлена синхронизация паролей между машинами.Однако эта версия доступна только под win. Поэтому пишем свой велосипед или используем то что есть :)

понедельник, 4 января 2010 г.

Восстановление потерянных пакетов при репликации clearquest

Иногда получается, что из-за проблем сети репликация clearquest проходит как бы наполовину. Иначе говоря, некоторые пакеты теряются. И вот тут начинается самое интересное.
Когда ваше сетевое соединение восстановилось и вы запускаете реплицию (а конкретно импор) повторно,
то она начинает ругаться на отсутствующие пакеты.Вот так:
"Multiutil: The 'MASTER_UPDATE_PACKET' packet was sent from 'DELFT_HUB' at '2010-
01-04 14:16:15'. This packet for 'MASTR' cannot be replayed: This replica has no
t replayed epoch 1834 from replica DELFT_HUB, it has only replayed through 1800."

Лечится это довольно просто.Вспоминаете , когда проблема появилась первый раз и на той стороне откуда вы экспортируете данные, откатывается пакеты на некоторое время назад - когда все было нормально командой:

multiutil recoverpacket -clan tsiem -site delft_hub -family MASTR -user admin -password consulrisk minsk_hub -since 1-november-2009

Далее повторяете репликацию(экспорт, а затем импорт).После этого импорт должен пройти нормально

воскресенье, 27 декабря 2009 г.

Рипание онлайн передач из нета в формате rtmp с помощью rtmpdump

В интернете кроме flv файлов для онлайн вещания и различных теле-передач используется rtmp протокол.
И качнуть понравившееся видео становится в разы сложнее, так как ни одно расширение файрфокс c ним не работает.Чаще всего видна
Мне понадобилось выкачать пачку таких вот rtmp файлов с записями настолько тенниса.
В моем случае исходная флешка содержала плейлист с видео.Чтобы достать из нее видео файлы :
  1. Я сделал анализ http хидеров при запуске этой флешки с помощью firefox расширения live http headers. Это дало ссылку на плейлист с прямыми ссылками на rtmp файлы http://cdn.laola1.tv/ittf/playlist.xml?r=164667. Плейлист содержит нужные ссылки вида rtmp://cp77194.edgefcs.net/ondemand/ittf_toc/091220_liu_guo_neu.flv
  2. Далее я установил полезнейшую программа rtmpdump.Которая и сделала всю работу.В свое время adobe попросил удалить эту программу с sourceforge.net. Сейчас ее можно найти на ланчпаде. Так как программа не скомпилировась с gcc-4.4.2 , я также сделал патч чтобы все работало.Для генту rtmpdump можно установить из моего оверлея, патч можно найти там же.
  3. Далее все просто.Используется команда вида:
    rtmpdump_x86 -r "rtmp://cp77194.edgefcs.net/ondemand/ittf_toc/091220_liu_guo_neu.flv"
    -o "/temp/tennis1.flv"
Если кому надо скрипт, чтобы автоматически выкачать все файлы из плейлиста, обращайтесь.
Update: отличная статья на open как найти rtmp поток и рипнуть его

пятница, 25 декабря 2009 г.

доступен мой gentoo оверлей bt-overlay

накопилось много собственных gentoo ebuild'ов и патчей
Решил все их опубликовать в свой оверлей bt-overlay
Доступен он по адресу http://bt-overlay.googlecode.com/svn/trunk/
Добавляется он командой: layman -o http://bt-overlay.googlecode.com/svn/trunk/layman.xml -f -a bt-overlay

Подробная инструкция по использованию оверлеев в генту тут

Из интересного имеется:
  • последний пропатченный для gcc4 rtmpdump-1.6 - для рипа rtmp файлов из сети
  • smbnetfs - основанный на fuse броузер локальной сети.самое удобное что я находил.Особенно для бездоменной сети
  • fatrat - качалка файлов на qt
  • asoundconf - переключение звука между двумя саунд картами, если их несколько в системе.
  • патченный phonon для смены названия треков в amarok радиостанциях
  • патченные cairo libXft для нормальных шрифтов
  • kim - kde image manager.Весь удобное dolphin меню для работы с изображениями
  • slimevolley - забавная игрушка в воллейбол
  • aqemu - Гуй для kvm и qemu.Довольно удобный
  • goldendict - словарь на qt. На мой взгляд, самый удобный словарь из существующих
  • и еще другой софт :)
Всех этих ебилдов нету в официальном оверлее. Так что welcome использовать :)

воскресенье, 20 декабря 2009 г.

Решение проблемы c обновлением названий песен amarok в ogg радио

Часто слушаю радио через амарок,
полюбившиеся мне радиостанции , такие как myradio mainstream rock вещают в ogg.
Амарок в упор отказывался обновлять название песни. Что зверски мешало, когда песня нравилась и хотелось узнать как она называется или посмотреть ее текст в том же амароке.

Проблема оказалась в phonon, описана тут. Актуальна для phonon-4.3.80 и младше и amarok 2.2.1 и младше
Решается через установку патча для phonon
Скачать ebuild с патчем phonon для генту можно у меня вот отсюда
обновление песен после установки пропатченного phonon работает просто чудесно :)

понедельник, 14 декабря 2009 г.

Два pppoe соединения на adsl модеме Zyxel P660HTW2

Всем привет,
хочу поделится радостью.
В продолжение давнего поста для моего adsl модема Zyxel P660HTW2 вышла прошивка, которая позволяет поднимать два разных vpn pppoe соединения с одинаковым VCI. Это актуально для для белорусского провайдера byfly, который имеем гостевое и основное соединение на одном vci.
Стало это возможно благодаря новой прошивке V3.40(AZC.3)b2 от 18 сентября 2009.
Прошивку скачать можно у меня
Также на сайте zyxel есть подробная инструкция по настройке двух соединений, заточенная кстати именно под byfly
Уже около месяца настроенный модем отлично работает с двумя соединениями.
Теперь не требуется поднимать на трех компах дополнительное гостевое соединение, что супер удобно

понедельник, 7 сентября 2009 г.

Bash скрипт для конвертации lossless m4a в mp3

Понадобилось конвертировать lossless m4a в mp3, ибо плеер тянет только последний формат.
Обычно конверчу любые аудио файлы с помощью perl audio converter(pacpl) .И раньше он справлялся без проблем.
А тут выдал ошибку.Оказывается библиотека faad, которую pacpl использует, не поддерживает данный тип конвертации.Поэтому набросал небольшой скрипт, который перегоняет файл в wav, а затем скармливает уже его pacpl.На вход скрипт принимает директорию где лежат m4a файлы, или один m4a файл.Если есть вложенные поддиректории с m4a,со скрипт их тоже сконвертирует.В результате mp3 файлы будут сложены в директории где лежат оригинальные m4a файлы.
Требует:
1.lame
2.mplayer

#!/bin/bash
IFS=$'\n'
#read parent directory/file to scan the m4a files inside.Possible values are directory/single m4a file
dir="$1"

#set source,temp and destination file extensions
sExt="m4a"
tExt="wav"
dExt="mp3"

echo "scan $dir"
tmp1=`tempfile`

find "$1"|grep $sExt > $tmp1
for i in `cat $tmp1`
do
dir=`dirname "$i"`
filename=`basename "$i" .$sExt`
fullname=$dir"/"$filename"."$tExt
fullmp3name=$dir"/"$filename"."$dExt

#remove the old files and pipe if exist
if [ -e $fullmp3name ] ;then
rm -fr $fullmp3name
fi
if [ -e $fullname ] ;then
rm -fr $fullname
fi
#make pipe for conversation
mkfifo $fullname
echo "converting $i"
lame -b 320 "$fullname" "$fullmp3name"&
mplayer -ao pcm "$i" -ao pcm:file="$fullname"
#pacpl --to MP3 --bitrate 320 --freq 48000 "$fullname"
#remove named pipe
rm -fr "$fullname"
done
rm -fr $tmp1


Ну или можно скачать тут

Update:
По совету ffsdmad изменил скрипт таким образом, чтобы он использовал пайпы. Это избавило от создания временного wav файла большого размера.Также заменил использование pacpl для конвертации в mp3 на lame.Ибо последний корректно поддерживает работу с пайпами.Для mp3 используется битрейт 320.Заменил в посте и в линке старый скрипт на новый.Старый скрипт для сравнения лежит тут

Update 2
По совету arseny попробывал кодирование с помощью ffmpeg.Тоже отлично работает.
Следующая команда перегоняет lossless m4a в mp3 в качестве 320kb/s
ffmpeg -i "/mnt/multi/music/Pop Rock/Brainstorm [ALAC]/2000 - Among the Suns/02 Weekends Are Not My Happy Days.m4a" -ab 320k -ac 2 "/mnt/multi/music/Pop Rock/Brainstorm [ALAC]/2000 - Among the Suns/02 Weekends Are Not My Happy Days.mp3"
Сделаю позже новую версию скрипта, чтобы можно было выбирать чем кодировать