Архивы по Категориям: Scriptz

Очередная качалка торрентов с lostfilm.tv

Предыстория.

Я давно написал bash-скрипт для парсинга и загрузки с лостфильма торрентов нужных мне сериалов. Работал он как часы, и поэтому я был настолько уверен в своём творении, что даже не удивлялся отсутствию новых серий последние пару месяцев. А оказывается как раз пару месяцев назад на сайте поменялся дизайн, вёрстка и многое другое. Об этих изменениях узнал случайно — пришла рассылка, что, мол, мы изменили дизайн сайта и всё такое. Я из интереса зашёл на сайт посмотреть и обнаружил, что есть новые серии сериалов, которые у меня почему-то не скачались. Сел рыть дальше и понял, что надо переделывать скрипт. Поменялось многое.

Результатом хочу поделиться. Может кому ещё сгодится. После тела скрипта будет разбор полётов, что там и к чему. Читать далее »

Простенький скрипт для управления XBMC из консоли

#!/bin/bash

case "$1" in
    on)
        wakeonlan -i 192.168.2.255 00:01:2E:2B:C0:98
    ;;
    off)
        echo '{ "jsonrpc": "2.0", "method": "System.suspend", "id": 1 }' | nc zorg 9090 -w1
    ;;
    check)
        echo '{ "jsonrpc": "2.0", "method": "JSONRPC.Ping", "id": 1 }' | nc zorg 9090 -w1
    ;;
    *)
    echo "Usage: $0 on|off|check"
esac

MRTG без SNMP: скрипты для сбора данных + конфиг

mrtg_cpu.sh
#!/bin/sh
DATA=`vmstat 1 2 | tail -n1`
echo $DATA | awk '{print $14}'
echo $DATA | awk '{print $13}'





mrtg_disk.sh #!/bin/sh DATA=`df -B1 | grep $1` echo $DATA | awk '{print $3}' echo $DATA | awk '{print $2}'
mrtg_la.sh #!/bin/sh DATA=`cat /proc/loadavg` FIRST=`echo $DATA | cut -d" " -f1` SECOND=`echo $DATA | cut -d" " -f3` echo $FIRST*100 | bc echo $SECOND*100 | bc
mrtg_mem.sh #!/bin/sh DATA=`free -b | grep Mem` echo $DATA | awk '{print $3}' echo $DATA | awk '{print $7}'
mrtg_net.sh #!/bin/sh DATA=`grep $1 /proc/net/dev` echo $DATA | awk '{print $2}' echo $DATA | awk '{print $10}'
mrtg_uptime.sh #!/bin/sh DATA=`cat /proc/uptime | awk '{print $1}'` echo $DATA/\(60*60*24\)|bc echo $DATA/\(60*60*24\)|bc
 

Читать далее »

psplinker — воссоздание структуры паков с PSP-играми для раздачи на bitGAMER и PS2PTT

#!/bin/sh

prepare() {
    DIR=/media
    cd $DIR/ext2

    rm -fr psp
    mkdir psp
    for i in $DIR/fat32/psp/*/*; do
      ln -s $i ./psp/`basename $i`
    done
    echo "«psp» catalog was rebuilt"
}

bG() {
    echo "bG packs"
    for PUCK in .bG/*; do
      PACK=`basename $PUCK`
      rm -fr $PACK
      mkdir $PACK
      for RLZ in $(cat $PUCK); do
        find $DIR/ext2/psp -type l -name "$RLZ" -exec ln -s '{}' "$PACK"/$RLZ \;
      done
      echo $PACK
    done
}
PS2PTT() {
    echo "PS2PTT packs"
    for PUCK in .PS2PTT/*; do
      PACK=`basename "$PUCK"`
      rm -fr "$PACK"
      mkdir "$PACK"
      for RLZ in $(cat "$PUCK"); do
        find $DIR/ext2/psp -type l -name "$RLZ" -exec ln -s '{}' "$PACK"/"$RLZ" \;
      done
      echo $PACK
    done
}

case "$1" in
    rebuild)
	prepare
	;;
    bG)
	bG
	;;
    PS2PTT)
	PS2PTT
	;;
    *)
        echo "Usage: psplinker.sh {rebuild|bG|PS2PTT}" >&2
        exit 3
        ;;
esac

Обновление данных для mdk.jack.kiev.ua

mdk.jack.kiev.ua — это мой проект, где собирается и обрабатывается статистика переводов утилит для Mandriva Linux.

Работает эта статистика на скриптах l10n-stats v3.0 из проекта KDE. Однако для правильной работы этих скриптов структуру переводов Mandriva необходимо подогнать под структуру проекта переводов KDE, что и выполняется моим скриптом. Читать далее »

mailcheck.vbs v1.2

Проверка почты в Gmail из командной строки

До недавнего времени я успешно мониторил почтовый ящик с помощью gkrellm for windows, который в отличие от многих других программ проверки почты корректно работал с IMAP-ящиком Google Apps.

Но вот беда, gkrellm окончательно достал меня своими постоянными утечками памяти, приводившими к ежедневным многократным вылетам программы. В итоге я заменил его свежей версией winbar‘а. Но оставаться без монитора почты я не мог…

После перебора всевозможных программ проверки почты и отметания их одной за одной из-за того, что практически ни одна из этих программ не умела общаться с IMAP-сервером по SSL-протоколу, а те что умели, почему-то не могли пройти авторизацию на гугле. В общем начал я тогда гуглить проверку почты из командной строки и наконец наткнулся на хабре на весьма интересное решение, основанное на выгребании rss-ленты ящика по https с последующим разбором полученных данных.

В качестве реализации была выбрана связка из командной строки, curl.exe, grep.exe и VScript. Пришлось основательно попотеть над VB-скриптом, но результат того стоит. В общем конечный скрипт см. в продолжении статьи.

Читать далее »

fakeclicker 1.3

решил наконец-то выложить в паблик РАБОЧУЮ версию скрипта для накручивания кликов в различного рода голосовалках
«рабочая» означает, что в данный момент он отрабатывает каждую ночь по крону

в коде есть закомментированные строки (не комментарии!), об истории появления которых я бы хотел рассказать

Читать далее »

cuetter.sh

cuetter.sh — это скрипт, написанный на bash, и предназначенный для преобразования в cue-формат файлов со списком треков из больших миксов. Cue-файлы позволяют видеть в проигрывателе (например, amaroK’е или foobar’e) какой именно трек в миксе сейчас играет. Более подробную информацию о cue sheet’ах можно найти на википедии.

Чтобы скрипт создал правильный cue-файл, записи в треклистинге должны иметь определённый формат:
ВРЕМЯ — НОМЕР ТРЕКА — ИСПОЛНИТЕЛЬ — НАЗВАНИЕ ТРЕКА

ВРЕМЯ имеет формат ММ:СС, например 05:37
НОМЕР ТРЕКА — двузначное число, типа 01, 02 и т.д.

Название файла так же несёт определённый смысл:
ИСПОЛНИТЕЛЬ — НАЗВАНИЕ МИКСА.txt

запускается и работает скрипт очень просто:

$ cuetter "Arkon - Live @ Showcase.txt"

В результате выполнения скрипта в текущем каталоге появится файл «Arkon — Live @ Showcase.cue»
Если автором всех треков в миксе является один исполнитель, тогда из полученного cue-файла имеет смысл удалить все записи PERFORMER «Arkon» самой первой (в первой строке). Если же исполнители разные, то нужно удалить только самую первую строку PERFORMER «Arkon», иначе foobar будет ругаться на неверный формат файла (amaroK’у все эти заморочки пополам).

Ну и собственно, текст скрипта:

#!/bin/sh

FILENAME=`basename "$1" .txt`

echo $FILENAME | awk \
'BEGIN  { FS = " - " }
        {
#        print "PERFORMER \""$1"\""
        print "TITLE \""$1" - "$2"\""
        print "FILE \""$1" - "$2".mp3\" MP3"
        }' > $FILENAME.cue

awk \
'BEGIN  { FS = " - " }
        {
        print "  TRACK "$2" AUDIO"
        print "    TITLE \""$4"\""
        print "    PERFORMER \""$3"\""
        print "    INDEX 01 "$1":00"
        }' "$1" >> $FILENAME.cue