суббота, 12 августа 2006 г.

Играем в The DIG под линуксом

Для этого нам потребуется некая софтина под названием scummvm. Взять ее можно тут. Далее все как обычно :) Распаковать, выполнить ./configure && make && make install и т.п. :)
Запускаем нашу софтинку:
scummvm
Появится окошко. Жмем на "Add Game..." и указываем на диру с игрой. Софтина подхватывает игру и должна написать название игры, если все прошло успешно. У меня она написала: "The Dig". Дальше выбираем игру и жмем start. Далее играем и радуемся жизни :)

А вот так это все выглядит:
Free Image Hosting at www.ImageShack.us

P.S. Игру уже прошел. За 6 часов :) Надо еще пару старых игрушек скачать :)

пятница, 11 августа 2006 г.

ipset - "плагин" для iptables

Предо мной была поставлена задача "прикрыть" юзерам воздух, тобишь отслеживание прохождения пакета от юзера до конечной точки в интернете. Собственно команду traceroute и ее аналоги. Это делается просто:
iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-set 64

Где eth0 - сетевая карта, которая смотрит в локалку.
Но тут же возникла вторая задача. Двум машинам надо было traceroute разрешить. Тут я подумал как было бы хорошо, если бы iptables поддерживал правила в которых можно было бы задать два исходящих ипа, привязку ипов по маку. Что-то типа этого:
iptables -t mangle -A PREROUTING -i eth0 -s $localip1 -s $localip2 -j TTL --ttl-set 64

Оказывается такое очень даже можно осуществить. Идем на http://ipset.netfilter.org/ и качаем оттуда патч для ядра.
Устанавливаем так:
1. Распаковываем содержимое архива с патчем, например в /root/instprog/patches/patch-o-matic-ng
2. Нам потребуются исходники iptables, но перед этим делаем такое:
echo "net-firewall/iptables extensions" >> /etc/portage/package.use

Включаем use-флаг - поддержка iptables'ом расширейний.
3. Распаковываем исходники iptables:
cd /usr/portage/net-firewall/iptables/
ebuild iptables-1.3.5-r1.ebuild unpack

Они распаются в $PORTAGE_TMPDIR/portage/iptables-${version},
$PORTAGE_TMPDIR по дефолту /var/tmp, если вы не меняли эту переменную у себя в /etc/make.conf, а ${version} версия iptables.
4. Идем в директорию с патчем и запускаем скрипт наложения патча на ядро.
cd /root/instprog/patches/patch-o-matic-ng
./runme set

Програма спросит где исходники ядра и iptables. Оно полагается, что ядро находится в /usr/src/linux, а это по федолту так, а вот исходники iptables у нас не там, где думает скрипт. Надо указать следующий путь:
$PORTAGE_TMPDIR/portage/iptables-${version}/work/iptables-${version}

Естественно сменить $PORTAGE_TMPDIR и ${version} на соответствующие им значения.
После того как скрипт пропатчит ядро, оное надо будет пересобрать.
В ядре следует включить следующее:
CONFIG_IP_NF_SET=y
CONFIG_IP_NF_SET_MAX=256
CONFIG_IP_NF_SET_HASHSIZE=1024
CONFIG_IP_NF_SET_IPMAP=y
CONFIG_IP_NF_SET_MACIPMAP=y
CONFIG_IP_NF_SET_PORTMAP=y
CONFIG_IP_NF_SET_IPHASH=y
CONFIG_IP_NF_SET_NETHASH=y
CONFIG_IP_NF_SET_IPPORTHASH=y
CONFIG_IP_NF_SET_IPTREE=y
CONFIG_IP_NF_MATCH_SET=y
CONFIG_IP_NF_TARGET_SET=y

После пересоборки ядра нужно собрать iptables и ipset.
5. iptables мы собирать уже начали, теперь надо его добить :)
cd /usr/portage/net-firewall/iptables/
ebuild iptables-1.3.5-r1.ebuild compile
ebuild iptables-1.3.5-r1.ebuild install
ebuild iptables-1.3.5-r1.ebuild qmerge
emerge ipset

Последней командой собрали ipset :)
6. Ну и само решение проблемы:
ipset -N hosts ipmap --network 192.168.0.0/24
ipset -A hosts $localip1
ipset -A hosts $localip2
iptables -t mangle -A PREROUTING -i eth0 -m set --set ! hosts src -d 0/0 -j TTL --ttl-set 64

Blogger Team

Просил саппорт блоггера законвертить мне комментарии и посты из windows-1251 в utf8. Наконец получил ответ. Вот что написали:
Hi there,

Thanks for writing in. I understand you would like to change you blog's encoding setting. To do this, log in to your dashboard and go to the Settings | Formatting tab and scroll down to "Encoding." Next to "Encoding" is a drop-down menu from which you should select the desired setting.

Sincerely,
Danish
The Blogger Team

Весело, не правда ли? :)

The DIG

Free Image Hosting at www.ImageShack.usПробрала чего-то ностальгия и решил найти и скачать старый добрый квест - The DIG :) Искал долго, но таки нашел. Это космический квест от лукасартс, с сюжетом от Стивена Спилбегра. Год выпуска 1995. :) Более подробно прочитать можно тут. Скачать игру, музыку и слова главных героев можно сдесь.

P.S. Правда если ваш ip не входит в список русских адресов агавы, то качать бесполезно. Нужно будет найти русский прокси.

четверг, 10 августа 2006 г.

trix

Free Image Hosting at www.ImageShack.usНа linuxforum.ru был разговор про аналог виндового вайпрес чата под линукс. Я видел пока две программы: vyqchat и vqcc-gtk, написаны на qt и gtk соответсвенно. В ходе дискуссии была упомянута малоизвестная програмка под названием trix, написанная под qt. Достать ее нелегко. Сайта у этого проекта нет. Програмка очень удобная и юзабильная, есть даже возможность обмениваться файлами с юзерами вайпрес чата. Скачать можно тут.

среда, 9 августа 2006 г.

Переход на utf8

Перевел блог на utf8. Пришлось пожертвовать многими своими постами и всеми комментариями. Если посты еще можно было законвертировать, то комментарии уже нет.
Просил саппорт блоггера сделать это у них в базе или чем они там пользуются, но ответа от них так и не получил.
Постов конечно жалко, но ничего, я еще нафлужу :)

вторник, 8 августа 2006 г.

coComment. Интеграция с Blogger

Прочитав StraNNicK'а, решил сделать блогу интеграцию с coComment. Готового кода для блоггера не оказалось. Порывшись в blogger help'е, в своем темплейте и в исходных кодах страниц сообразил такой код интеграции coComment с Blogger'ом:
‹script type="text/javascript"›
var blogTool = "Blogger";
var blogURL = "‹$BlogURL$›";
var blogTitle = "‹$BlogPageTitle$›";
var postURL = "‹$BlogItemPermalinkUrl$›";
var postTitle = "‹$BlogItemTitle$›";
var commentTextFieldName = "‹$BlogItemBody$›";
var commentButtonName = "post";
var commentAuthorLoggedIn = true;
var commentAuthor = "‹$BlogCommentAuthor$›";
var commentFormName = "‹$BlogCommentNumber$›";
‹/script›
‹script id="cocomment-fetchlet"
src="http://www.cocomment.com/js/enabler.js"›‹/script›

Он находится в режиме тестирования :) Так что если что, тестите и сообщайте что получилось.
Пока интергировали этим кодом один блог, кроме моего. Мне уведомление о новых комментариях во всяком случае пришло :)