Bekijk de volledige versie : Мониторинг загрузки полосы пропускания и процессора
Захотелось сделать просмотр загрузки каналов и процессора в реальном времени как на dd-wrt. Готового ничего не нашел, пришлось переделывать с dd-wrt...
Получилось в таком виде:
http://klim.in.ua/wp/wp-content/uploads/2009/08/bandwith-1.gif
Как сделать: http://klim.in.ua/wp/2009/08/dir-320-monitoring-polosy-propuskaniya
Текущая версия работает под thttpd. Если нужно, могу подправить и под lighttpd.
Может кто-то сделает более приличный faq, преведет на русский язык. Либо же доделать и внедрить в стандартный интерфейс...
UPD 2009-08-16.
Версия 0.2 для lighttpd+php-fcgi. (http://klim.in.ua/wp/wp-content/uploads/2009/08/bandwith_php_0.2.zip)
Распаковать содержимое арихва в /opt/share/www/ (или в другое место, куда смотрит lighttpd)
Версия 0.2 для lighttpd+cgi, либо thttpd+cgi. (http://klim.in.ua/wp/wp-content/uploads/2009/08/bandwith_cgi_0.2.zip)
Распаковать содержимое арихва в /opt/share/www/ (или в другое место, куда смотрит веб-сервер)
Таких инструкций много! реализуется с помощью rrdtool, так что (пардон) не ново.
А вот то что для себя разобрались это +1 :)
Таких инструкций много! реализуется с помощью rrdtool, так что (пардон) не ново.
А вот то что для себя разобрались это +1 :)
Вы с помощью rrdtool можете наблюдать картинку в реальном времени?
В данном случае график рисуется на лету, не требуется перезагрузка страницы, причем с минимальной нагрузкой на проц по сравнению с остальными web-решениями.
rrdtool - и ему подобные - это больше для статистики. Меня вполне устраивает VnStat для этих целей.
AVoyager
10-08-2009, 19:43
Если нужно, могу подправить и под lighttpd.
Было бы здорово...
Просто я
10-08-2009, 20:15
под lighttpd - конечно нужно!
Вы с помощью rrdtool можете наблюдать картинку в реальном времени?
В данном случае график рисуется на лету, не требуется перезагрузка страницы, причем с минимальной нагрузкой на проц по сравнению с остальными web-решениями.
rrdtool - и ему подобные - это больше для статистики. Меня вполне устраивает VnStat для этих целей.
Извините был напуган...:rolleyes:
Напишите подробную инструкцию, пользователи Вам будут благодарны :)
Версия для lighttpd + php-fcgi (http://klim.in.ua/wp/wp-content/uploads/2009/08/bandwith_lighttpd.zip).
Подразумевается, что оба уже настроены и сконфигурированы.
Достаточно распаковать в папку /opt/share/www/
Хм... А у меня - не работает.
Lighthttpd установлен. Под ним даже крутиться rtorrent - нормально работает.
Настроен ли php - не знаю. Как узнать и/или как настроить?
Ну для начала посмотреть установлен ли php :
ipkg list_installed | grep php
Ну для начала посмотреть установлен ли php :
Судя по всему, установлен
ipkg list_installed | grep php
php - 5.2.10-3 - The php scripting language
php-fcgi - 5.2.10-3 - The php scripting language, built as an fcgi module
Хм... А у меня - не работает.
Lighthttpd установлен. Под ним даже крутиться rtorrent - нормально работает.
Настроен ли php - не знаю. Как узнать и/или как настроить?
настройка:
http://wl500g.info/showpost.php?p=128994&postcount=6
что выдает при обращении к /bandwith_lighttpd/cpu.php ?
настройка:
http://wl500g.info/showpost.php?p=128994&postcount=6
что выдает при обращении к /bandwith_lighttpd/cpu.php ?
Посмотрел про настройки - действительно, у меня была закомментирована строка
cgi.assign = ( ".pl" => "/opt/bin/perl",
".cgi" => "/bin/sh" )Однако, даже после раскомментирования и перезагрузки легче не стало.
При обращении к /bandwith_lighttpd/cpu.php получаю строку вида
cpu 4762 0 1480 5605
в логе lighthttpd - вот что
1970-01-01 03:00:26: (log.c.172) server started
1970-01-01 03:00:27: (mod_scgi.c.2261) establishing connection failed: Connection refused
1970-01-01 03:00:27: (mod_scgi.c.2395) fcgi-server disabled: 127.0.0.1 5000
1970-01-01 03:00:27: (mod_scgi.c.2776) all handlers for /RPC2 on /RPC2 are down.
2009-08-11 16:26:50: (mod_scgi.c.2089) fcgi-server re-enabled: 127.0.0.1 5000
2009-08-11 16:52:27: (server.c.1496) server stopped by UID = 0 PID = 951
1970-01-01 03:00:20: (log.c.172) server started
Возможно установка php-gd поможет.
Возможно установка php-gd поможет.
Не требуется php-gd. Отрисовка идет на клиенте.
Что именно не работает ? НЕ видно вообще ничего, либо горит надпись Can't get data about interface ?
Если второе, то возможно поможет банальная чистка кеша браузера.
Не требуется php-gd. Отрисовка идет на клиенте.
Что именно не работает ? НЕ видно вообще ничего, либо горит надпись Can't get data about interface ?
Если второе, то возможно поможет банальная чистка кеша браузера.
Там вот что показывается:
Там вот что показывается:
Что за браузер ?
Необходима поддержка SVG:
http://www.adobe.com/svg/viewer/install/mainframed.html
В Ie картинки не показывает, а в Ff и в Opera нормально.
Судя по скриншоту это Гугле Хроме он тоже не показывает, а может это Ie?
Браузер был - maxthon. это надстройка над IE
а с Firefox действительно работает.
Вот только он не показывает самый важный для меня индикатор - WAN
Точнее, он показывает только 2 индикатора - процессор и wi-fi
Понятно, что он не показывает Internet-beeline - у меня его и нет.
Но почему не показывает ни LAN, ни WAN? Может, где-то надо ручками "доточить"?
AVoyager
11-08-2009, 19:47
У меня в FF тоже всё нормально, а в IE8 - крестики
Serhio_61
11-08-2009, 19:49
Понятно, что он не показывает Internet-beeline - у меня его и нет.
Судя по index.html это просто ppp0
Судя по index.html это просто ppp0
Именно.
Если нужен обычный WAN (при static ip, dinamic ip типах подключения) - то нужно использовать vlan2
FiXXXeR_wl500gP
12-08-2009, 11:47
Версия для lighttpd + php-fcgi (http://klim.in.ua/wp/wp-content/uploads/2009/08/bandwith_lighttpd.zip).
Подразумевается, что оба уже настроены и сконфигурированы.
Достаточно распаковать в папку /opt/share/www/
Огромное спасибо за проделанную работу! Для роутера с ограниченными ресурсами этот вариант вообще идеален. Вот только почему для lighttpd был использован вариант с php? Не будут ли быстрее работать обычные cgi на /bin/sh? Вот скрипты на sh, работающие с lighttpd:
cpu.cgi
#!/bin/sh
/bin/echo -e "Content-type: text/html\n\n";
/usr/bin/head -n 1 /proc/stat
fetchif.cgi
#!/bin/sh
/bin/echo -e "Content-type: text/html\n";
/bin/date
/bin/grep "${QUERY_STRING}" /proc/net/dev
Использовал полные пути для исключения пересечения с одноименными командами из /opt/bin. Для их использования нужно в .svg-файлах заменить имена cpu.php и fetchif.php на cpu.cgi и fetchif.cgi соответственно.
Огромное спасибо за проделанную работу! Для роутера с ограниченными ресурсами этот вариант вообще идеален. Вот только почему для lighttpd был использован вариант с php? Не будут ли быстрее работать обычные cgi на /bin/sh? Вот скрипты на sh, работающие с lighttpd:
<--cut-->
Ну я такие скрипты тож пробовал. Просто как я понял из этого форума, в основном lighttpd ставят вместе с php-fcgi. Так как php все время висит в памяти, то логичнее использовать его. По крайней мере в таком случае сам скрипт меньше грузит проц по сравнению с cgi-вариантом - заметно если поставить скорость обновления 1-2с.
Если же не используется модуль php-fcgi, то, на мой взгляд, лучше использовать thttpd.
FiXXXeR_wl500gP
12-08-2009, 13:12
Ну я такие скрипты тож пробовал. Просто как я понял из этого форума, в основном lighttpd ставят вместе с php-fcgi. Так как php все время висит в памяти, то логичнее использовать его. По крайней мере в таком случае сам скрипт меньше грузит проц по сравнению с cgi-вариантом - заметно если поставить скорость обновления 1-2с.
Если же не используется модуль php-fcgi, то, на мой взгляд, лучше использовать thttpd.
Я, честно говоря, вообще не заметил разницы - что с php, что с cgi. :) Возможно, потому, что у меня роутер со 128 мегабайтами памяти и висящим активно раздающим торрентом. На всякий случай, пусть и cgi-вариант повисит в теме - может, кому пригодится. :)
PS Как время появится - надо попробовать прикрутить это для отрисовки графиков статистики по классам htb - будет совсем красотища... :)
PPS Кстати, нашел одну "неаккуратность" - так как счетчики в /proc/net/dev ограничены 4Гб, то периодически они обнуляются, что вызывает "провал" на графике в отрицательную сторону. Смотрится не очень красиво, вылечил исправлением кода
var diff_ifin = ifin - last_ifin;
var diff_ifout = ifout - last_ifout;
на
if (ifin >= last_ifin) {
var diff_ifin = ifin - last_ifin;
} else {
var diff_ifin = 4294967296 - last_ifin + ifin;
}
if (ifout >= last_ifout) {
var diff_ifout = ifout - last_ifout;
} else {
var diff_ifout = 4294967296 - last_ifout + ifout;
}
Так как в javaScript не особо силен, прошу проверить код на корректность.
igor77777
12-08-2009, 15:32
у меня он вроде что-то рисует, но точно не то, что в данный момент происходит с роутером.
Т.е. rTorrent качает, на графиках сплошной 0 с единичными всплесками. Хотя, по показаниям top процессор загружен процентов на 20-30. А канал загружен так вообще под завязку.
Как исправить?
Так как в javaScript не особо силен, прошу проверить код на корректность.
Дамал тоже на этим. В принципе, правильно, но есть одно но: если происходит перезагрузка/переподключение интерфейса - то в єтом случае произойдет положительный скачек в 4гб...
у меня он вроде что-то рисует, но точно не то, что в данный момент происходит с роутером.
Т.е. rTorrent качает, на графиках сплошной 0 с единичными всплесками. Хотя, по показаниям top процессор загружен процентов на 20-30. А канал загружен так вообще под завязку.
Как исправить?
Какой тип подключения, через какой интерфейс качается ?
igor77777
12-08-2009, 16:13
Какой тип подключения, через какой интерфейс качается ?
ppp0 (на интернет)
и
vlan1 (ресурсы провайдера)
Ещё чисто из любопытсва хотел добавить tap0. Это виртуалка, работающая поверх vlan1. Но для начала хотел запустить, хотя бы стандартные интерфейсы.
Так и график процессора, тоже неверный.
Ещё, когда открывал ваши файл в MC, в конце строк стоял символ ^M
я их все по удалал, но ни чего не поменялось.
igor77777
12-08-2009, 17:13
вот результат /bandwith_lighttpd/cpu.php
cpu 2346723 0 2949351 14592219
Может немного не в тему.
klim, вы не подскажете как можно получить на прошивке Олега информацию Active Clients как в ddwrt (не обязательно в web, можно и в консоле) ?
Может немного не в тему.
klim, вы не подскажете как можно получить на прошивке Олега информацию Active Clients как в ddwrt (не обязательно в web, можно и в консоле) ?
Ну если хотите как на дд-врт, то лучший способ посмотреть, как это делается там.
Скорее всего реализовано через /proc/net/ip_conntrack
igor77777
13-08-2009, 06:31
Какой тип подключения, через какой интерфейс качается ?
А по моей проблеме есть идеи?
Я отвечал вам на предыдущей странице:
http://wl500g.info/showpost.php?p=155890&postcount=29
http://wl500g.info/showpost.php?p=155892&postcount=30
вот результат /bandwith_lighttpd/cpu.php
cpu 2346723 0 2949351 14592219
Если заново открыть страницу cpu.php, то цифры те же остаются ? Обновляются только по F5 ?
Как в других браузерах ?
Попробуйте добавить в cpu.php второй строчкой:
header("Cache-Control: no-cache, must-revalidate");
FiXXXeR_wl500gP
13-08-2009, 08:23
Дамал тоже на этим. В принципе, правильно, но есть одно но: если происходит перезагрузка/переподключение интерфейса - то в єтом случае произойдет положительный скачек в 4гб...
Как вариант возможны два "решения":
1. При ifin < last_ifin присваивать diff_ifin значение ifin. Плюсы - не получаем отрицательных значений и скачков трафика, просто. Минусы - теряем разницу 4294967296 - last_ifin при переполнении счетчиков. Выглядеть будет лучше, так как не портит график и статистику.
2. Анализировать помимо счетчика байт счетчик пакетов. Так как пакетики у нас разные по размеру, вероятность переполнения обоих счетчиков между двумя обновлениями не очень большая, поэтому можно по счетчику пакетов отслеживать поднятие/опускание интерфейса (при этом сбросятся и счетчик пакетов, и счетчик байт) и избежать бросков трафика +4Гб. Если же счетчик один из счетчиков переполнился/сбросился, а второй нет, то считать эту ситуацию именно переполнением счетчика и учитывать разницу 4294967296 - last_ifin. Минусы - невозможно все-таки исключить одновременный переход обоих счетчиков через 0 (например, при большой нагрузке и большом интервале обновления).
igor77777
13-08-2009, 08:32
Если заново открыть страницу cpu.php, то цифры те же остаются ? Обновляются только по F5 ?
Как в других браузерах ?
При каждом открытии cpu.php цифры менялись.
F5 - не давил. Попробую.
С другими браузерами - протормозил. Попробую.
То что я описал - происходит в Опере.
Попробуйте добавить в cpu.php второй строчкой:
header("Cache-Control: no-cache, must-revalidate");
Попробую.
Спасибо, за ответ.
Прийду домой, проверю все Ваши идеи.
igor77777
13-08-2009, 15:38
Все заработало после добавления
header("Cache-Control: no-cache, must-revalidate");
Эту строчку я добавил 2-ой строкой и в cpu.php, и в fetchif.php
Работает в Opera 9.63 и в FireFox 3.0.13
В IE 8.0 - не работает.
Огромное спасибо за разработку.:)
PS: Я даже добавил, интересный мне, интерфейс tap0
AndreyUA
15-08-2009, 18:46
Klim, поправь опечатку в CPU Avereage
И красивее было бы в index.html добавить
<title>Мониторинг полосы пропускания</title>
И чем отличаются показания слева и справа?
...И чем отличаются показания слева и справа?
real average
Как вариант возможны два "решения":
1. При ifin < last_ifin присваивать diff_ifin значение ifin. Плюсы - не получаем отрицательных значений и скачков трафика, просто. Минусы - теряем разницу 4294967296 - last_ifin при переполнении счетчиков. Выглядеть будет лучше, так как не портит график и статистику.
2. Анализировать помимо счетчика байт счетчик пакетов. Так как пакетики у нас разные по размеру, вероятность переполнения обоих счетчиков между двумя обновлениями не очень большая, поэтому можно по счетчику пакетов отслеживать поднятие/опускание интерфейса (при этом сбросятся и счетчик пакетов, и счетчик байт) и избежать бросков трафика +4Гб. Если же счетчик один из счетчиков переполнился/сбросился, а второй нет, то считать эту ситуацию именно переполнением счетчика и учитывать разницу 4294967296 - last_ifin. Минусы - невозможно все-таки исключить одновременный переход обоих счетчиков через 0 (например, при большой нагрузке и большом интервале обновления).Есть третий вариант - всегда расчитывать 2 значения: с учетом перехода границы в 4 Гб и без учета этой границы. А показывать то из них, модуль которого меньше.
Спасибо. Работает.
Для WL500W прописал интерфейсы так:
ppp0 - Интернет
eth0 - LAN
eth1 - WAN
eth2 -Wi-Fi
DarthSemafor
16-08-2009, 03:37
Спасибо! Давно искал простенкий скрипт мониторинга для дохленького селерона:rolleyes:
Просто я
16-08-2009, 09:38
Работает, спасибо. Под Оперой 9.62. Под IE6 - не работает (не стал разбираться почему).
Осталось дизайн отлакировать и сделать чтобы последние настройки запоминались, имхо :)
Klim, поправь опечатку в CPU Avereage
И красивее было бы в index.html добавить
<title>Мониторинг полосы пропускания</title>
И чем отличаются показания слева и справа?
поправил, спасибо.
Слева - мгновенное значение. Справа - среднее за период, который на экране.
Есть третий вариант - всегда расчитывать 2 значения: с учетом перехода границы в 4 Гб и без учета этой границы. А показывать то из них, модуль которого меньше.
Сделал 4й вариант :). Если текущее знасение счетчика меньше предыдущего, то рисуется 0, но в подсчете среднего это значение не учитывается.
Работает, спасибо. Под Оперой 9.62. Под IE6 - не работает (не стал разбираться почему).
Осталось дизайн отлакировать и сделать чтобы последние настройки запоминались, имхо :)
В ИЕ как-то по-другому работает svg-viewer. Также, особого желания коыварять нету.
Про запоминание настроек - в работе. Хочу сделать, чтобы можно добавлять, менять меставми интерфейсы в онлайне.
Обновленная версия в первом сообщении темы.
Просто я
16-08-2009, 19:19
Обновленная версия в первом сообщении темы.
Работает. Не совсем понял, а что обновилось?
Работает. Не совсем понял, а что обновилось?
- надписи
- версия cgi работает как под lighttpd, так и thttpd
- добавил заголовки в .php
- переполнение счетчиков теперь не портит статистику
У WIFI перепутаны in и out.
Зеленым рисует отдачу, красным прием.
У WIFI перепутаны in и out.
Зеленым рисует отдачу, красным прием.
какой интерфейс смотрите ?
Нечем сейчас проверить, но такого быть не должно ибо если перепутано было бы, то для всех интерфейсов.
eth1
я пробую на роутере dir320 с прошивкой от wl500gpv2
может и за это что? вроде eth1 должен быть wifi
Просто я
20-08-2009, 20:32
у меня на wl500gp v1 рисует как положено.
У WIFI перепутаны in и out.
Зеленым рисует отдачу, красным прием.
А подробней почему Вы так решили и скрин!
А подробней почему Вы так решили и скрин!
вот скриншоты
вот скриншоты
Ну, что не так ?
Все правильно.
Вы качаете с WAN и раздаете через Wi-Fi на ноут.
Ну, что не так ?
Все правильно.
Вы качаете с WAN и раздаете через Wi-Fi на ноут.
Всё, понял, ступил немного. Думал наоборот должно быть.
вот скриншоты
*Так и знал!*
То что Вы видите на графиках показывает статистику интерфейсов роутера а не вашего ПК, WiFi говорит вам о том что он (роутер) "отдает" Вам со скоростью N.
У меня версия 0.2 для lighttpd+php-fcgi. Открываю в FF и опере.
Пишет такое: Cannot get data about CPU.
Все графики пустые, ничего не обновляется.
http://my.router:8082/bandwith_lighttpd/cpu.php дает автоматически необновляющиеся цифры (по F5 обновляются).
header("Cache-Control: no-cache, must-revalidate"); не помогает.
lighttpd+php-fcgi работает нормально (по-крайней мере vnstat работает).
Как быть?
Спасибо автору, работает прекрасно через Оперу в варианте php.
отличная штука - под lighttpd работает красиво =))
+1
работает прекрасно через Оперу в варианте php.
есть косяк небольшой - никак не разберусь до конца с интерфейсами для wl500w.
Wi-Fi у меня eth2
к локалке пока подключен один ноут, и активны почти одновременно становятся br0 - 192.168.1.1, eth0, eth1
вобщем просвятите, плиз, кто разбирается
sauron093
10-11-2009, 08:01
есть косяк небольшой - никак не разберусь до конца с интерфейсами для wl500w.
это не поможет?
http://wl500g.info/showpost.php?p=89585&postcount=1
NetSpider
10-11-2009, 08:40
Поставил на Dlink DIR-320. Вебсервер - lighttpd. Работает отлично. Спасибо автору!
это не поможет?
http://wl500g.info/showpost.php?p=89585&postcount=1
большое спасибо, помогло. проверил - все правильно прописал.
Подскажите пож. как и где изменить настройки чтобы WAN и интернет было отображение, все показывает кроме них.
Подключение по выделенной линии.
Подскажите пож. как и где изменить настройки чтобы WAN и интернет было отображение, все показывает кроме них.
Подключение по выделенной линии.
ifconfig - оттуда выдергивай названия интерфейсов
Что за браузер ?
Необходима поддержка SVG:
http://www.adobe.com/svg/viewer/install/mainframed.htmlВ FF 3.5.7. нормально всё было, а в FF 3.6 затребовал установку плагинов, причём непонятно каких. Проверьте, пожалуйста, у Вас тоже в 3.6 не фунциклирует?
В FF 3.5.7. нормально всё было, а в FF 3.6 затребовал установку плагинов, причём непонятно каких. Проверьте, пожалуйста, у Вас тоже в 3.6 не фунциклирует?
Opera RuleZ! Но в осле работать так и не заставил...
Opera RuleZ! Но в осле работать так и не заставил...это всё замечательно, конечно, ничего не имею против, но вот в мои планы отказ от FF как-то пока не входит :), тем более, что разработчиками FF заявлена поддержка SVG. Просто не могу понять с чьей стороны "косяк": то ли FF накосячил, то ли скрипт "барахлит", не отвечая "новым веяниям науки" :D
вы не подскажете как можно получить на прошивке Олега информацию Active Clients?
хмм... думаю, что
1. grep ESTABLISHED /proc/net/ip_conntrack
+ группировка по ip-адресам + суммирование для каждого адреса числа строк => получим столбцы "ip address" и "conn. count"
2. arp => получим MAC для каждого IP
3. "ratio" - даже не представляю как они считают... единственная идея - подсчет траффика для каждого ip... но, ведь должно быть все намного проще!
Opera RuleZ! Но в осле работать так и не заставил...
Почитал на эту тему багзиллу и faq файрфокса - теги должны быть по другому оформлены, если получится найти время - поправлю
работает только в опере :(
ни ие7-8, ни фф3.6-3.7 не кажут графиков..
не хочется держать открытую оперу только заради мониторинга роутера..
Почитал на эту тему багзиллу и faq файрфокса - теги должны быть по другому оформлены, если получится найти время - поправлю
AlexBJ, а не с блюджека ли ты ? =)))
sauron093
20-04-2010, 13:29
Почитал на эту тему багзиллу и faq файрфокса - теги должны быть по другому оформлены, если получится найти время - поправлю
подниму тему. Алекс не получилось найти времени и поправить?
подниму тему. Алекс не получилось найти времени и поправить?
ФФ практически не пользуюсь - стоял 3.5.7. Все работало. За исключением того, что при смене значения времени обновления графики перерисовывались заново.
Обновило автоматом до 3.5.9 - работает также.
Еще раз запустил обновление - теперь 3.6.3 - продолжает работать...
R2D2_RnD
20-04-2010, 14:44
А SVG обязательно использовать если у него есть такие траблы с кроссбраузерностью?
Есть отличный JS, позволяющий рисовать графики на стороне клиента (а данные ему можно отдавать, например, в JSON формате):
примеры использования (http://people.iola.dk/olau/flot/examples/)
А SVG обязательно использовать если у него есть такие траблы с кроссбраузерностью?
Есть отличный JS, позволяющий рисовать графики на стороне клиента (а данные ему можно отдавать, например, в JSON формате):
примеры использования (http://people.iola.dk/olau/flot/examples/)
Так было проще.
P.S. За сслыку спасибо, искал что-то подобное и простое.
По поводу нерабочести свг в ФФ 3.6+. В чейнджлоге к релизу помимо всего прочего есть строчка с таким содержанием: мы больше не намерены фиксить косяки разработчиков на уровне клиента, поэтому свг теперь принимаем только по стандарту. Что нужно ФФ - провильный MIME-type для файла, отдаваемый сервером. Как фиксить (если у вас lighttpd):
добавляем перед, допустим, строчкой:
"" => "application/octet-stream"
строчку
".svg" => "image/svg+xml",, перезапускаем lighttpd и радуемся работе всего как раньше.
З.Ы. Без фикса, собственно, работает, по-моему, только в Опере.
Как фиксить (если у вас lighttpd):
добавляем перед, допустим, строчкой:
"" => "application/octet-stream"
строчку
".svg" => "image/svg+xml",, перезапускаем lighttpd и радуемся работе всего как раньше.
З.Ы. Без фикса, собственно, работает, по-моему, только в Опере.
браво! теперь работает везде, кроме устаревшего шестого осла!
а раньше да, работало только в опере.
Хм, у меня в конфиге lighttpd эта строчка есть, потому все и работало )
Причем, не помню, чтобы руками добавлял...
http://code.google.com/p/wl500g/source/detail?r=1524