GnuPG
Начинаем использовать.. мануал:
http://www.i2r.ru/static/282/out_14445.shtml
http://habrahabr.ru/blogs/ubuntu/50631/
Ожидаем также, когда его к roundcube прикрутят.
Начинаем использовать.. мануал:
http://www.i2r.ru/static/282/out_14445.shtml
http://habrahabr.ru/blogs/ubuntu/50631/
Ожидаем также, когда его к roundcube прикрутят.
Много вкусностей, перечислены они на главной странице проекта. Имеется клевая веб-админка UserManager, работает с mysql.
http://www.pureftpd.org
http://www.lissyara.su/?id=1823
/usr/ports/www/usermanager
/usr/ports/ftp/pure-ftpd
Добавляем поддержку SSL/TLS
Меняем в /usr/local/etc/pure-ftpd.conf параметр:
TLS 1Перезапускаем pure-ftpd.
Кладем сюда наш сертификат:
/etc/ssl/private/pure-ftpd.pem
Как клиент можно использовать lftp собранного с поддержкой openssl.
Тунель: remotehost -> 127.0.0.1:3389 -ssh-> case.net.ru -> 172.16.127.4:3389
remotehost# ssh -f -N -o port=222 -L 127.0.0.1:3389:172.16.127.4:3389 case.net.ru
Тунель: case.net.ru -> 127.0.0.1:8080 -ssh-> remotehost -> yandex.ru 80
remotehost# ssh -f -N -R 127.0.0.1:8080:yandex.ru:80 case.net.ru
Используется для: построения цепей, соединения двух клиентов за натами, шифрования соединения.
Переключения порта xbox’а (что бы в live не ломился):
1 2 3 4 5 6 7 8 9 10 | #!/bin/sh if [ "`snmpget -v 1 -c public des IF-MIB::ifAdminStatus.12 | grep up`" ] then echo "disabling port 12.." snmpset -v 1 -c private des IF-MIB::ifAdminStatus.12 i 2 > /dev/null else echo "enabling port 12.." snmpset -v 1 -c private des IF-MIB::ifAdminStatus.12 i 1 > /dev/null fi |
Взято вот от сюда: http://citforum.ru/programming/shell/
& асинхронное (фоновое) выполнение предшествующей команды;
&& выполнение последующей команды при условии нормального завершения предыдущей, иначе игнорировать;
|| выполнение последующей команды при ненормальном завершении предыдущей, иначе игнорировать.wait [pid] - ожидание завершения процесса
группировка команд:
k1 && {k2; k3}
{k1; k2} &subshell:
(cd ..; ls) ls3.4. Генерация имен файлов.
При генерации имен используют метасимволы: * произвольная (возможно пустая) последовательность символов;
? один произвольный символ;
[...] любой из символов, указанных в скобках перечислением и/или с указанием диапазона;
cat f* выдаст все файлы каталога, начинающиеся с "f";
cat *f* выдаст все файлы, содержащие "f";
cat program.? выдаст файлы данного каталога с однобуквенными расширениями, скажем "program.c" и "program.o", но не выдаст "program.com";
cat [a-d]* выдаст файлы, которые начинаются с "a", "b", "c", "d". Аналогичный эффект дадут и команды "cat [abcd]*" и "cat [bdac]*".cat ${a}prim
c=`expr $a + $b`
c=`expr $x '*' $y`${x-new} в качестве значения "x" будет выдано "new",
${y=new} в качестве значения "у" будет присвоено "new",
${z?new} в качестве значения "z" будет выдано "z: new" и[u@case.net.ru]$ y=${f:=30}; echo "y = $y; f = $f"
y = 30; f = 30
[u@case.net.ru]$ unset f
[u@case.net.ru]$ y=${f-30}; echo "y = $y; f = $f"
y = 30; f =
[u@case.net.ru]$локальные и внешнии переменные:
a=10
set -a a
export a$ set `ifconfig em0|grep inet`
$ echo $2
80.92.110.82echo $0 - имя расчета
echo $? - код завершения
echo $$ - идентификатор последнего процесса
echo $! - идентификатор последнего фонового процесса
echo $* - значения параметров, как строки
echo $@ - значения параметров, как словУСЛОВИЯ ПРОВЕРКИ ФАЙЛОВ: -f file файл "file" является обычным файлом;
-d file файл "file" - каталог;
-с file файл "file" - специальный файл;
-r file имеется разрешение на чтение файла "file";
-w file имеется разрешение на запись в файл "file";
-s file файл "file" не пустой.УСЛОВИЯ ПРОВЕРКИ СТРОК: str1 = str2 строки "str1" и "str2" совпадают;
str1 != str2 строки "str1" и "str2" не совпадают;
-n str1 строка "str1" существует (непустая);
-z str1 строка "str1" не существует (пустая).УСЛОВИЯ СРАВНЕНИЯ ЦЕЛЫХ ЧИСЕЛ: x -eq y "x" равно "y",
x -ne y "x" неравно "y",
x -gt y "x" больше "y",
x -ge y "x" больше или равно "y",
x -lt y "x" меньше "y",
x -le y "x" меньше или равно "y".СЛОЖНЫЕ УСЛОВИЯ:
Реализуются с помощью типовых логических операций: ! (not) инвертирует значение кода завершения.
-o (or) соответствует логическому "ИЛИ".
-a (and) соответствует логическому "И".
Система резервного копирования и восстановления данных.
http://www.lissyara.su/?id=1760
http://www.bog.pp.ru/work/bacula.html
Все достаточно хорошо расписано уже до меня ) Модульная архитектура, кроссплатформенность, инкреметное копирование.
Задача: использовать xbox 360 для просмотра HDTV с сервера.
Проблема: почти все HDTV видео выкладывают в формате h.264, звук в формате aac 6-ch и все это в контейнере mkv. Xbox 360 в свою очередь умеет читать видео h.264, aac 2-ch и контейнер mp4.
Нам понадобится:
Используя mkvinfo узнаем нужные нам дорожки и битрейт видео.
Далее:
1 2 3 4 5 6 | mkvextract tracks input.mkv 1:video.h264 2:audio.ac3 mp4creator -create=video.h264 -rate=29.970 output.mp4 mp4creator -hint=1 output.mp4 ffmpeg -y -i audio.ac3 -vn -acodec libfaac -ac 2 -ab 384kbits audio.aac mp4creator -c audio.aac -interleave -optimize output.mp4 rm audio.aac audio.ac3 video.mp4 |
Так же читаем по следующим ссылкам:
- http://oddmanout.wordpress.com/2008/01/26/converting-an-mkv-h264-file-to-ps3-mp4-without-re-encoding-on-mac-os-x/
- http://torrents.ru/forum/viewtopic.php?t=632076
Небольшой shell:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #!/bin/sh if ! [ -f "$1" ] then echo "usage: $0 filename" exit fi vt=1 at=2 fps=23.976 fps=29.970 audio=ac3 filename=$1 size=`stat "$filename" | awk '{print $8}'` if [ 4314967296 -lt "$size" ] then mkvmerge -o "`echo $filename|sed -e 's/mkv/Part.mkv/'`" --split 4G "$filename" mask="`echo $filename|sed -e 's/mkv/Part-*.mkv/'`" files=`ls $mask` else files=$filename fi for i in $files do mkvextract tracks "$i" $vt:video.h264 $at:audio.$audio mp4creator -create=video.h264 -rate=$fps output.mp4 mp4creator -hint=1 output.mp4 if [ "$audio" = "dts" ] then mplayer -vo null -ao pcm audio.dts ffmpeg -y -i audiodump.wav -vn -acodec libfaac -ac 2 -ab 384kbits audio.aac rm audiodump.wav else ffmpeg -y -i audio.ac3 -vn -acodec libfaac -ac 2 -ab 384kbits audio.aac fi mp4creator -c audio.aac -interleave -optimize output.mp4 rm audio.aac audio.$audio video.h264 outfile=`echo $i|sed -e 's/mkv/mp4/'` mv output.mp4 "$outfile" mp4creator -list $outfile done |
Т.к. xbox не поддерживает профиль кодирования h264 выше чем 4.1 – приходится его менять. Пока что делается так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #!/bin/sh if ! [ -f "$1" ] then echo "usage: $0 filename" exit fi vt=`mp4creator --list $1|grep video|awk '{print $1}'` at=`mp4creator --list $1|grep audio|awk '{print $1}'` fps=`mp4creator --list $1|grep video|awk '{print $11}'` mp4creator --extract=$vt $1 mv $1.t$vt video.h264 mp4creator --extract=$at $1 mv $1.t$at audio.aac echo -n "demuxed? [yes/no]: " while read x do if [ "$x" = "yes" ] then break else echo -n "demuxed? [yes/no]: " fi done mp4creator -create=video.h264 -rate=$fps output.mp4 mp4creator -hint=1 output.mp4 mp4creator -c audio.aac -interleave -optimize output.mp4 mv output.mp4 $1 rm audio.aac video.h264 |
Как только спрашивает demuxed – в hex-редакторе (например bpatch) открываем video.h264 и меняем 8-й байт с 33 на 29.
Вадим написал утилитку для проверки разных каналов сети Интернет. Выкладываю ее переделанный код для моих каналов Зелком и Стрим.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #!/bin/sh usage="usage: $0 hostname [-p pool_number] [-t] [-c ping_count] tpool_number - 0 for real IP address, 1..4 - for NAT pool number t-t - do traceroute instead of just pingn" host=$1 [ "x$host" = "x" ] && echo -e "$usage" && exit shift pingcount=3 poolnumber="" tracemode=0 while [ "x$1" != "x" ] ; do case "$1" in "-p") shift poolnumber="$1" ;; "-c") shift pingcount="$1" ;; "-t") tracemode=1 ;; esac shift done ips="0 213.79.110.123 1 `ifconfig ng0|grep inet|awk '{print $2}'`" set $ips while [ "x$1" != "x" ] ; do if [ "x$poolnumber" = "x" -o "x$1" = "x$poolnumber" ] ; then echo "******************************************************************************" if [ "$1" -eq "0" ] ; then echo "* TESTING TARGET FROM: ZELCOM *" else echo "* TESTING TARGET FROM: STREAM *" fi echo "******************************************************************************" if [ "x$tracemode" = "x1" ] ; then sudo traceroute -I -s $2 $host else sudo ping -S $2 -c $pingcount $host fi fi shift 2 done |
Затарился данной железкой для подключения к Стриму. Сначала настроил ее в режиме роутера – легла через 10 минут после работы торрента. Настроил в режиме моста, а VPN устанавливаю с помощью mp4 – все красиво и стабильно. Переключаюсь между каналами с помощью route change default, для обслуживания доступны оба внешних ip, для динамического dns используется DynDNS. Внутри железки кстати Линукс с busybox и даже есть шелл.