|
Внимание! Теперь для входа на форум необходимо вводить единый пароль регистрации сервисов sibnet.ru!
Здравствуйте, гость ( Вход | Регистрация )
Сейчас обсуждают
 
| |
|
|
Скрипты которые облегчают нам жизнь |
|
|
And(R)ey |
15.12.2009, 21:57
|
Куратор темы
Сообщений: 3 989
Регистрация: 10.8.2007
Из: Бийск
Пользователь №: 3 633
|
Предлагаю в этой теме собирать скрипты ежедневно облегчающие нашу жизнь, или просто полезные скрипты.Если скрипты не ваши, то не забывайте указывать откуда их взяли И благодарить авторов за скрипты тоже не забывайте Мини F.A.Q.: » Спойлер (нажмите, чтобы прочесть) « Q: Куда код писать и как запускать скрипты? A: сохраняете в файл (напр script.sh), даете скрипту права на выполнение ($chmod +x script.sh), запускаете как любую программу ($./script.sh)
Q: Как заставить скрипты запускаться по расписанию? A: Cron вам в помощь. Если в man cron непонятно написано, то описание можете прочитать на Википедии или OpenNet Сообщение отредактировал And(R)ey - 14.2.2010, 12:58
|
|
|
|
Maximusprime |
15.12.2009, 22:01
|
suprapenisuatus, grammar nazi
Группа: GNU/Linux
Сообщений: 1 592
Регистрация: 17.12.2007
Из: вращенец
Пользователь №: 13 793
Репутация: 67
|
Наваял небольшой скрипт для стягивания и сборки qutIM из SVN (каждый раз делать это руками муторно): Код #!/bin/bash
cd Загрузки svn co http://qutim.org/svn/qutim cd qutim/trunk cmake . && make && sudo make install cd plugins #скачивание и сборка плагина ICQ-плагина. Если он вам не нужен - закомментировать или удалить следующие 6 строк. svn co http://qutim.org/svn/icq cd icq/trunk qmake && make cp libicq.so ~/.config/qutim/plugins cd .. cd .. #скачивание и сборка Jabber-плагина. svn co http://qutim.org/svn/jabber cd jabber/trunk cmake . && make cp libjabber.so ~/.config/qutim/plugins
У меня лежит в корне домашнего каталога, в нём же создан каталог "Загрузки". Внимание! Этот скрипт не избавляет от необходимости установки зависимостей! (Qt4, qmake и т.д.) Сообщение отредактировал Maximusprime - 15.12.2009, 22:09
» Спасибо сказали: «
|
|
|
|
And(R)ey |
15.12.2009, 22:10
|
Куратор темы
Сообщений: 3 989
Регистрация: 10.8.2007
Из: Бийск
Пользователь №: 3 633
|
Платить за интернет по расписанию получается далеко не всегда (часто забываю) и, в очередной раз зависнув над вопросом «а сколько мне осталось?», я полез на сибнет в поисках программы для отображения количества денежных средств на счету. Не нашел ни программы, ни скрипта. Пришлось накидать самому. Задача: выводить информацию о текущем количестве денег на счету WebStream на рабочих столах компьютеров в домашней сети. один из компьютеров — NFS-файлопомойка. Реализация:- Сохраняем скрипт в укромном месте, т.к. в нем открыто хранятся логин и пароль от stat.gmss.ru
- в output указываем какой-нибудь файл в общедоступном месте
- выводим информацию из этого файла везде, где необходимо. У меня на всех компьютерах установлены коньки, поэтому я просто добавил ${execi 3600 cat </путь/к/файлу>} в .conkyrc
Вот сам скрипт: Код #!/bin/bash # # Зависит от curl, iconv и grep # USERNAME - номер вашего лицевого счета # PASSWORD - пароль на доступ в интерфейс http://stat.gmss.ru/ # OUTPUT - файл в который необходимо выводить информацию #
USERNAME= PASSWORD= OUTPUT=
# stat.gmss.ru проверяет авторизацию по GET переменным logname и chksum. авторизуемся и запоминаем их AUTHKEY=`curl -s -d "p_logname=${USERNAME}&p_pwd=${PASSWORD}" http://stat.gmss.ru/pls/sip_w/www.GetHomePage | grep 'chksum=[0-9]*' -m 1 -o`
#берем кусок страницы с необходимой информацией и распихиваем ее по переменным MONEY=`curl "http://stat.gmss.ru/pls/sip_w/www.PageViewer?page_name=L*ADM_DIALUP_INFO_AVANS&logname=${USERNAME}_1&${AUTHKEY}" -s | iconv -f cp1251 -t utf8 | grep 'Текущее состояние лицевого счета' -m 5 -A 2 | grep '[0-9]*[\.][0-9]*' -o` RUB=`echo ${MONEY} | grep '^[0-9]*' -o` KOP=`echo ${MONEY} | grep '[0-9]*$' -o`
# обновляем файл для последующего отображения echo "Состояние счета WS: $RUB руб., $KOP коп. (по данным на `date +%e-%m-%Y`)" > $OUTPUT Сообщение отредактировал And(R)ey - 16.12.2009, 13:55
» Спасибо сказали: «
|
|
|
|
jnzz |
15.12.2009, 22:38
|
доктор зло
Группа: Активисты soft.sibnet.ru
Сообщений: 3 966
Регистрация: 19.10.2007
Из: Барнаул
Пользователь №: 8 204
Репутация: 166
|
Моя домашняя система (Kubuntu) пережила несколько последовательных апгрейдов - с версии 7.04 и до текущей. Соответственно, накопилось немало удалённых устаревших пакетов, от которых остался мусор в виде файлов конфигурации. В какой-то момент решил это дело почистить, и тут на глаза попалась статья на welinux.ru, один скрипт из которой (с крошечным изменением) я успешно задействовал. Код #!/bin/bash echo "Searching for unwanted configuration files..." purgelist=`sudo dpkg -l | grep ^rc | awk '{print $2}'` sudo aptitude purge $purgelist exit 0;
» Спасибо сказали: «
|
|
|
|
And(R)ey |
15.12.2009, 22:43
|
Куратор темы
Сообщений: 3 989
Регистрация: 10.8.2007
Из: Бийск
Пользователь №: 3 633
|
автоматическое обновление базы MPDЕсли скрипт запущен то вся музыка добавляемая в процессе его работы в каталог с музыкой будет сразу же появляться в базе, изменяемая изменяться, а удаляемая удаляться =) Код #!/bin/bash # Зависит от mpc(куда же без него) и inotify-tools
# наш конфиг MPDCONF="$HOME/.mpdconf" # в домашнеей папке
# вычисляем каталог с музыкой MUSICDIR=`cat $MPDCONF | grep "[^#]*music_directory" |head -n1| awk '{print $2}'` # обрезаем кавычки MUSICDIR=${MUSICDIR:1:$((${#MUSICDIR}-2))} # а можно всё добро выше заменить на MUSICDIR="наша_папка_с_музыкой"
#собственно сама функция обнавления function mpcUpdate() { #путь к файлу file=$* # отрезаем папку с музыкой, оставляя путь в библиотеке file=${file:$((${#MUSICDIR}+1))} mpc update "$file" >/dev/null }
# читаем в цикле события в папке с музыкой и производим нужное обнавления базы inotifywait -mr -e close_write -e move -e create -e delete --format "%w%f" $MUSICDIR | while read line do mpcUpdate "$line" done отсюдаСообщение отредактировал And(R)ey - 4.1.2010, 0:05
» Спасибо сказали: «
|
|
|
|
shouhei |
16.12.2009, 12:19
|
Himmelsstürmer
Группа: Events and facts club
Сообщений: 33 866
Регистрация: 2.4.2008
Из: Caught somewhere in time
Пользователь №: 27 739
Репутация: 1422
|
Скрипт для выкачивания обновлений DrWeb и немного подправил - выкладывает базы на локальную самбу. Откуда клиенты могут их уже собирать. Код #!/bin/sh cd /home/sentinel/bases/zip #Любой каталог, где будут сохраняться zip файлы с базами #дабы не гонять лишний трафик, пусть он и маленький rm -f *.txt wget ftp://ftp.drweb.com/pub/drweb/bases/info.txt #Выкачиваем список баз и парсим его. awk -F\" '{print $2}' info.txt | sort | grep .zip > urls.txt awk -F/ '{print $7}' urls.txt > zips.txt ls | grep .zip > dir.txt #Сравниваем список баз с имеющимися и качаем нужное diff dir.txt zips.txt | awk -F\ '{print $2}' | grep .zip > diff.txt cat diff.txt | while read -s zips do cat urls.txt | grep "$zips" | while read -s urls do wget "$urls" done done; # А те которые обновляются каждый день все равно необходимо качать заново. rm -f *today.zip wget ftp://ftp.drweb.com/pub/drweb/bases/drwtoday.zip wget ftp://ftp.drweb.com/pub/drweb/bases/dwntoday.zip wget ftp://ftp.drweb.com/pub/drweb/bases/dwrtoday.zip #Ну и распаковываем их на самбу. for zip in *.zip do unzip -d /home/samba/vdbs -o $zip done rm -f /home/samba/vdbs/*.txt cd ..
У меня он работает по крону дважды в сутки. В принципе хватает. Клиенты забирают базы тоже скриптами, но уже виндовыми Сейчас подумал, что его можно еще бы допилить, но это для тех, кому это надо. Основное сделано.
|
|
|
|
jnzz |
18.1.2010, 23:59
|
доктор зло
Группа: Активисты soft.sibnet.ru
Сообщений: 3 966
Регистрация: 19.10.2007
Из: Барнаул
Пользователь №: 8 204
Репутация: 166
|
Полезный скрипт для определения ОПСОСа по введённому номеру мобильного телефона. Отсюда, сам скрипт + БД - http://code.google.com/p/phonewizard (залил сюда, чтобы был на сибнете). Для работы нужен sqlite3. Телефон нужно вводить с восьмёркой. Результат работы такой: Код $ python pw.py Введите номер: 89132159876 ОАО "Мобильные Телесистемы" Алтайский край 01.07.2007
|
|
|
|
jnzz |
6.2.2010, 15:01
|
доктор зло
Группа: Активисты soft.sibnet.ru
Сообщений: 3 966
Регистрация: 19.10.2007
Из: Барнаул
Пользователь №: 8 204
Репутация: 166
|
Маленькая программулина на Python / PyQT4 - переводчик, использующий API Google Translate. Описание и опции командной строки - http://welinux.ru/post/2324/, прямая ссылка на файл: http://dl.dropbox.com/u/4502970/translator.tar.gz, залил на сибнет тоже. Работает и как оконное приложение, и как приложение CLI. Код $ ./translator.py 'hello, world!' en ru Здравствуй, Мир!
Перед использованием сделать translator.py исполнимым, запускать его же. Возможные языки перевода: » Спойлер (нажмите, чтобы прочесть) « Код $ ./translator.py --help sq - Albanian ar - Arabic bg - Bulgarian ca - Catalan zh-CN - Chinese (Simplified) zh-TW - Chinese (Traditional) hr - Croatian cs - Czech da - Danish nl - Dutch en - English et - Estonian tl - Filipino fi - Finnish fr - French gl - Galician de - German el - Greek iw - Hebrew hi - Hindi hu - Hungarian id - Indonesian it - Italian ja - Japanese ko - Korean lv - Latvian lt - Lithuanian mt - Maltese no - Norwegian fa - Persian pl - Polish pt - Portuguese ro - Romanian ru - Russian sr - Serbian sk - Slovak sl - Slovenian es - Spanish sv - Swedish th - Thai tr - Turkish uk - Ukrainian vi - Vietnamese
|
|
|
|
Total |
13.2.2010, 22:27
|
Total return
Группа: VIP
Сообщений: 13 356
Регистрация: 14.9.2007
Из: Барнаул
Пользователь №: 5 876
Репутация: 2581
|
Простецкий скрипт для получения погоды с gismeteo.ruВ Барнауле: Код #!/bin/bash
echo "Получение данных..." TEMP="`wget -O - http://www.gismeteo.ru/city/daily/4720/ 2>/dev/null | grep '<div class="deg">' | sed -r 's/<div class="deg">(.[0-9]+).*/\1/g'`"
echo "Текущая температура: "$TEMP
Универсальный: Код #!/bin/bash
echo "*** Погода с gismeteo.ru ***" echo "--- Примеры номеров городов ---" echo "Барнаул 4720" echo "Новосибирск 4690" echo "Москва 4368" echo "" echo "Введите номер города:" && read BB echo "Получение данных..." TEMP="`wget -O - http://www.gismeteo.ru/city/daily/$BB/ 2>/dev/null | grep '<div class="deg">' | sed -r 's/<div class="deg">(.[0-9]+).*/\1/g'`" GOR="`wget -O - http://www.gismeteo.ru/city/daily/$BB/ 2>/dev/null | grep 'class="entry-title">' | sed -r 's/class="entry-title">Gismeteo.Ru: (.[а-я]+).*/\1/g'`"
echo "Выбранный город:" $GOR echo "Текущая температура: "$TEMP
З.Ы.: Правда в последнем скрипте, пришлось пока сделать двойное скачивание страницы... ищу способ заменить это одним.
» Спасибо сказали: «
|
|
|
|
mephisto |
14.2.2010, 0:26
|
ортодоксальный линуксоид
Группа: VIP
Сообщений: 7 724
Регистрация: 17.11.2007
Из: столицы вашей родины
Пользователь №: 10 849
|
Цитата(shouhei @ 13.2.2010, 22:33) Хм. Качать в /tmp и после вывода убивать?
добавлю: man mktemp
|
|
|
|
DreamDragon |
1.4.2010, 20:22
|
6b6565702073696c656e6365
Группа: Sibnet-club
Сообщений: 515
Регистрация: 4.7.2007
Из: Белово
Пользователь №: 1 531
Репутация: 15
|
Конвертер в AAC+ для мобильника/плеераНаписал себе такой скрипт для конвертации музыки в мобильник в формат .m4a (AAC+) (чтобы больше лезло и при этом нормально звучало) используя проприетарный neroAacEncoder, т.к. faac не поддерживает AAC he (AAC+) и говорят энкодер от Nero качественнее жмет. Скрипт проходится по папке и конвертирует все найденные mp3, ogg и m4a сохраняя тэги. В качестве параметра можно задать желаемый битрейт выходного файла, который по умолчанию равен 112000 (112kbps) Следующие программы (помимо самого Nero AAC Encoder-а) должны стоять для того чтобы скрипт работал: Для конвертации из MP3: mpg123, id3v2 Для конвертации из OGG: vorbis-tools (ogg123, ogginfo) Для поддержки перекодирования M4A с сохранением тегов: AtomicParsley » Спойлер (нажмите, чтобы прочесть) « Код #!/bin/bash # mp3/ogg vorbis/m4a(aac) to m4a(aac+) converter script # author: PM2D aka DreamDragon
if [ -z $1 ] then BITRATE=112000 else BITRATE=$1 fi
# Colors c_std="[0;39m" c_h_std="[1;37m" c_pink="[0;35m" c_h_pink="[1;35m" c_red="[0;31m" c_h_red="[1;31m" c_cayan="[0;36m" c_h_cayan="[1;36m" c_yellow="[1;33m" c_green="[0;32m" c_h_green="[1;32m" c_blue="[0;34m" c_h_blue="[1;34m"
for i in *.*; do
if [[ "$i" == *.mp3 ]] then
echo "${c_h_blue}---- ${c_h_green}Converting file ${i} ${c_h_blue}----${c_std}"
FNAME=`basename "$i" .mp3`
echo "Reading id3 tags..." id3v2 -C "$FNAME.mp3" TITLE="`id3v2 -l \"$FNAME.mp3\" | grep TIT2 | awk '{ORS=" "} {for (i = 4; i <= NF; i++) print $i}'`" ARTIST="`id3v2 -l \"$FNAME.mp3\" | grep TPE1 | awk '{ORS=" "} {for (i = 4; i <= NF; i++) print $i}'`" ALBUM="`id3v2 -l \"$FNAME.mp3\" | grep TALB | awk '{ORS=" "} {for (i = 4; i <= NF; i++) print $i}'`" TRACK="`id3v2 -l \"$FNAME.mp3\" | grep TRCK | awk '{ORS=" "} {for (i = 6; i <= NF; i++) print $i}'`" YEAR="`id3v2 -l \"$FNAME.mp3\" | grep TYER | awk '{ORS=" "} {for (i = 3; i <= NF; i++) print $i}'`"
echo "Converting mp3 file to wav..." mpg123 -q -w "$FNAME.wav" "$FNAME.mp3"
echo "Removing mp3 file..." rm "$FNAME.mp3"
echo "Encoding wav file to m4a (aac)..." neroAacEnc -br $BITRATE -he -if "$FNAME.wav" -of "$FNAME.m4a"
#faac -b $BITRATE -w -s -o "$FNAME.m4a" --artist "$ARTIST" --title "$TITLE" --album "$ALBUM" --track "$TRACK" --year "$YEAR" "$FNAME.wav"
echo "Removing wav file..." rm "$FNAME.wav"
echo "Tagging m4a file..." neroAacTag "$FNAME.m4a" -meta:title="$TITLE" -meta:artist="$ARTIST" -meta:track="$TRACK" -meta:album="$ALBUM" -meta:year="$YEAR"
echo -e "${c_green}Done.${c_std}\n\n"
elif [[ "$i" == *.ogg ]] then
echo "${c_h_blue}---- ${c_h_green}Converting file ${i} ${c_h_blue}----${c_std}"
FNAME=`basename "$i" .ogg`
echo "Reading ogg tags..." TITLE="`ogginfo \"$FNAME.ogg\" | grep -i title | awk -F \"=\" '{ORS=" "} {for (i = 2; i <= NF; i++) print $i}'`" ARTIST="`ogginfo \"$FNAME.ogg\" | grep -i artist | awk -F \"=\" '{ORS=" "} {for (i = 2; i <= NF; i++) print $i}'`" ALBUM="`ogginfo \"$FNAME.ogg\" | grep -i album | awk -F \"=\" '{ORS=" "} {for (i = 2; i <= NF; i++) print $i}'`" TRACK="`ogginfo \"$FNAME.ogg\" | grep -i tracknumber | awk -F \"=\" '{ORS=" "} {for (i = 2; i <= NF; i++) print $i}'`" YEAR="`ogginfo \"$FNAME.ogg\" | grep -i date | awk -F \"=\" '{ORS=" "} {for (i = 2; i <= NF; i++) print $i}'`" GENRE="`ogginfo \"$FNAME.ogg\" | grep -i genre | awk -F \"=\" '{ORS=" "} {for (i = 2; i <= NF; i++) print $i}'`"
echo "Converting ogg file to wav..." ogg123 -q -d wav -f "$FNAME.wav" "$FNAME.ogg"
echo "Removing ogg file..." rm "$FNAME.ogg"
echo "Encoding wav file to m4a (aac)..." neroAacEnc -br $BITRATE -he -if "$FNAME.wav" -of "$FNAME.m4a"
#faac -b $BITRATE -w -s -o "$FNAME.m4a" --artist "$ARTIST" --title "$TITLE" --album "$ALBUM" --track "$TRACK" --year "$YEAR" "$FNAME.wav"
echo "Removing wav file..." rm "$FNAME.wav"
echo "Tagging m4a file..." neroAacTag "$FNAME.m4a" -meta:title="$TITLE" -meta:artist="$ARTIST" -meta:track="$TRACK" -meta:album="$ALBUM" -meta:year="$YEAR" -meta:genre="$GENRE"
echo -e "${c_green}Done.${c_std}\n\n"
elif [[ "$i" == *.m4a ]] then
echo "${c_h_blue}---- ${c_h_green}Converting file ${i} ${c_h_blue}----${c_std}"
FNAME=`basename "$i" .m4a`
if [ -f /usr/bin/AtomicParsley ] then TITLE="`AtomicParsley \"$FNAME.m4a\" -t | grep -i nam\\\" | awk -F ":" '{ORS=" "}{for (i = 2; i <= NF; i++) print $i}'`" ARTIST="`AtomicParsley \"$FNAME.m4a\" -t | grep -i art\\\" | awk -F ":" '{ORS=" "}{for (i = 2; i <= NF; i++) print $i}'`" ALBUM="`AtomicParsley \"$FNAME.m4a\" -t | grep -i alb\\\" | awk -F ":" '{ORS=" "}{for (i = 2; i <= NF; i++) print $i}'`" TRACK="`AtomicParsley \"$FNAME.m4a\" -t | grep -i trkn\\\" | awk -F ":" '{ORS=" "}{for (i = 2; i <= NF; i++) print $i}'`" YEAR="`AtomicParsley \"$FNAME.m4a\" -t | grep -i day\\\" | awk -F ":" '{ORS=" "}{for (i = 2; i <= NF; i++) print $i}'`" fi
echo "Converting m4a file to wav..." neroAacDec -if "$FNAME.m4a" -of "$FNAME.wav"
echo "Removing m4a file..." rm "$FNAME.m4a"
echo "Encoding wav file to m4a (aac)..." neroAacEnc -br $BITRATE -he -if "$FNAME.wav" -of "$FNAME.m4a"
#faac -b $BITRATE -w -s -o "$FNAME.m4a" --artist "$ARTIST" --title "$TITLE" --album "$ALBUM" --track "$TRACK" --year "$YEAR" "$FNAME.wav"
echo "Removing wav file..." rm "$FNAME.wav"
if [ -f /usr/bin/AtomicParsley ] then echo "Tagging m4a file..." neroAacTag "$FNAME.m4a" -meta:title="$TITLE" -meta:artist="$ARTIST" -meta:track="$TRACK" -meta:album="$ALBUM" -meta:year="$YEAR" fi
echo -e "${c_green}Done.${c_std}\n\n"
fi
done
echo "${c_yellow}AAC transcode complete!${c_std}"
Если что сильно не пинаем ибо в bash я новичок Сообщение отредактировал DreamDragon - 2.4.2010, 11:53
|
|
|
|
DreamDragon |
2.4.2010, 11:55
|
6b6565702073696c656e6365
Группа: Sibnet-club
Сообщений: 515
Регистрация: 4.7.2007
Из: Белово
Пользователь №: 1 531
Репутация: 15
|
Цитата(vovkkk @ 1.4.2010, 22:45) Если я всё правильно понял, то вам нужен AtomicParsley.
Спасибо! То что надо. Обновил скрипт. А то что neroAacTag, что faad выводят как-то в обход stdout
|
|
|
|
VSL |
2.4.2010, 12:27
|
МЕГА флудер
Группа: Пользователи
Сообщений: 1 067
Регистрация: 24.9.2007
Пользователь №: 6 409
Репутация: 41
|
» Спойлер (нажмите, чтобы прочесть) « cdparanoia -Q for i in `seq 1 10` do cdparanoia $i - | lame --preset extreme - /home/user/Музыка/mp3/$i.mp3 done # --preset medium (режим VBR, 145...185 kbps) # --preset standard (режим VBR, 170...210 kbps) # --preset extreme (режим VBR, 220...260 kbps) # --preset N (режим ABR, где N - значение среднего битрейта) # --abr N (режим ABR, где N - значение среднего битрейта) # --preset cbr N (режим CBR, где N - значение постоянного битрейта) N=32 40 48 56 64 80 # 96 112 128 160 192 224 256 320 # --preset insane (постоянный максимальный битрейт = 320 kbps, получаемые файлы # будут иметь максимальный размер). # --preset -Vx (режим VBR, где x - значение параметра 0...9, смотри таблицу) # --preset x -v (режим VBR, где x - значение параметра качества hifi, cd, studio и т.п., # смотрите таблицу) # # рекомендуются первые 3 режима, в зависимости от требуемого качества и объема # файлов. # вторая строка указывает первый и последний треки CD диска. # для запуска сценария введите в консоли bash skript_mp3 и нажмите на Enter.
Скрипт для создания mp3 файлов с CD-дисков. Должен быть установлен кодер lame и утилита съема информации с CD-диска cdparanoia. Перед использованием нужно прописать правильные пути и подправить количество треков, указанное в скрипте, соответственно их количеству на диске (в данном случае их 10). Хотя вообще в последнее время предпочитаю жать музыку в формат OGG Vorbis.
|
|
|
|
shouhei |
5.4.2010, 8:36
|
Himmelsstürmer
Группа: Events and facts club
Сообщений: 33 866
Регистрация: 2.4.2008
Из: Caught somewhere in time
Пользователь №: 27 739
Репутация: 1422
|
Добавлю сюда одну еще вещь: блокировка рекламы посредством squid Добавляем в squid.conf следующиее строчки: Код ## disable ads ( http://pgl.yoyo.org/adservers/ ) acl ads dstdom_regex "/etc/squid/ad_block.txt" http_access deny ads
Ну и создаем скрипт, который будет качать список, по cron или как еще надо: Код #### Calomel.org ad_servers_newlist.sh # ## get new ad server list /usr/local/bin/wget -O /tmp/temp_ad_file \ http://pgl.yoyo.org/adservers/serverlist.php?hostformat=squid-dstdom-regex;showintro=0
## clean html headers out of list cat /tmp/temp_ad_file | grep "(^|" > /etc/squid/ad_block.txt
## refresh squid /usr/local/sbin/squid -k reconfigure
## rm temp file rm -rf /tmp/temp_ad_file
©Calomel.org
» Спасибо сказали: «
|
|
|
|
igoryu |
24.5.2010, 15:52
|
Поддерживает разговор
Группа: Sibnet-club
Сообщений: 170
Регистрация: 19.2.2008
Из: Барнаул
Пользователь №: 21 314
|
Самый простой и легкий браузер на python'e: » Спойлер (нажмите, чтобы прочесть) « #!/usr/bin/env python import sys import gtk import webkit DEFAULT_URL = 'http://www.google.com' # Change this as you Wish class SimpleBrowser: # needs GTK, Python, Webkit-GTK def __init__(self): self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS) self.window.connect('delete_event', self.close_application) self.window.set_default_size(350, 20) vbox = gtk.VBox(spacing=5) vbox.set_border_width(5) self.txt_url = gtk.Entry() self.txt_url.connect('activate', self._txt_url_activate) self.scrolled_window = gtk.ScrolledWindow() self.webview = webkit.WebView() self.scrolled_window.add(self.webview) vbox.pack_start(self.scrolled_window, fill=True, expand=True) self.window.add(vbox) def _txt_url_activate(self, entry): self._load(entry.get_text()) def _load(self, url): self.webview.open(url) def open(self, url): self.txt_url.set_text(url) self.window.set_title('%s' % url) self._load(url) def show(self): self.window.show_all() def close_application(self, widget, event, data=None): gtk.main_quit() if __name__ == '__main__': if len(sys.argv) > 1: url = sys.argv[1] else: url = DEFAULT_URL gtk.gdk.threads_init() browser = SimpleBrowser() browser.open(url) browser.show() gtk.main()
Весит всего 1.4 Кбайта. Использует < 10 Mb памяти. Проходит Acid3 Test на 100%. ( python browser.py http://acid3.acidtests.org ) Источник ubuntuforums.orgСообщение отредактировал igoryu - 24.5.2010, 16:12
Прикрепленные файлы
browser.py.txt ( 1.42 килобайт )
Кол-во скачиваний: 52
|
|
|
|
vovkkk |
24.5.2010, 18:50
|
Группа: GNU/Linux
Сообщений: 763
Регистрация: 1.5.2008
Из: нск
Пользователь №: 31 440
Репутация: 30
|
Цитата(igoryu @ 24.5.2010, 15:52) Самый простой и легкий браузер на python'e
Что-то он у меня с поисковых сайтов не уходит, хоть с гугла, хоть с яндекса. В смысле, не переходит по ссылкам в результатах поиска. Сообщение отредактировал vovkkk - 24.5.2010, 18:56
|
|
|
|
igoryu |
24.5.2010, 20:19
|
Поддерживает разговор
Группа: Sibnet-club
Сообщений: 170
Регистрация: 19.2.2008
Из: Барнаул
Пользователь №: 21 314
|
Цитата(vovkkk @ 24.5.2010, 18:50) Что-то он у меня с поисковых сайтов не уходит, хоть с гугла, хоть с яндекса. В смысле, не переходит по ссылкам в результатах поиска.
Я думаю, это из-за того, что у этого браузера нет возможности открывать ссылки во вкладках или новом окне. Такой уж веб-дизайн страниц поисковиков. Поисковики не хотят чтобы клиенты уходили с их страниц по ссылкам.
|
|
|
|
|
|
1 чел. просматривают этот форум (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|