PDA

Bekijk de volledige versie : Изменения в веб-интерфейсе - Custom Web Interface?



khorus
20-03-2006, 10:20
Поискал по форуму, но ничего похожего не попадалось. Хотелось бы дополнить Web интерфейс роутера своими страничками. Скопировал содержимое /www на диск, поправил что хотел и подмонтировал модифицированную папку обратно как /www. Однако похоже на то, что httpd смотрит на содержимое этой папки только при старте, т.к. мои изменения не отображаются. Соответственно вопросы:
1. Есть ли возможность указать httpd, чтобы перечитать содержимое папки /www ?
2. Если нет, то существует ли какая либо другая возможность изменить Web интерфейс роутера?

VadimVB
20-03-2006, 12:29
Поискал по форуму, но ничего похожего не попадалось. Хотелось бы дополнить Web интерфейс роутера своими страничками. Скопировал содержимое /www на диск, поправил что хотел и подмонтировал модифицированную папку обратно как /www. Однако похоже на то, что httpd смотрит на содержимое этой папки только при старте, т.к. мои изменения не отображаются. Соответственно вопросы:
1. Есть ли возможность указать httpd, чтобы перечитать содержимое папки /www ?
2. Если нет, то существует ли какая либо другая возможность изменить Web интерфейс роутера?

А перезапустить httpd ?

Судя по тому что выдаёт ps оно запускается без параметров ком строки.
Тоесть просто

kill -SIGTERM `pidof httpd`
httpd

Oleg
20-03-2006, 12:39
Он сам перезапустится. Достаточно killall httpd

khorus
20-03-2006, 14:32
Опс, тормозим. Действительно достаточно просто убить httpd. Спасибо всем. Олегу отдельное спасибо за все, что он делает.

Rhyme
07-08-2007, 15:35
Доброго дня!
Проблема такая: хотел бы добавить дополнительную страничку к стандартному http интерфейсу на прошивке Олега. Чтобы выводить туда более детальную статистику.
Но насколько я уже понял, корневая система смонтирована с опцией ro.
Прбовал перемонтировать с rw, но увы - неудачно.
Подскажите, пожалуйста, как можно наиболее корректнее добавить\изменить в корневой /www ?
Или необходимо создавать свой http сервер ? Или прийдется пробовать пересобирать все в ручную ? :(
Пробовал порыскать в поиске, но решения пока не нашел.
Заранее спасибо за помощь.

Mam(O)n
07-08-2007, 19:01
Можно схитрить, чтоб писать в /www:


mkdir /tmp/www
cp -a /www /tmp
mount /tmp/www /www

Только толку от этого мало.

Rhyme
07-08-2007, 19:28
Спасибо, уже пробовал :rolleyes:
Пока ковыряюсь в 3х направлениях:
-пробовал маунтить, байндить и т.п. но пока без успеху.
-думаю, что возможно загрузить в определенном режиме, чтобы можно было писать.. но пока не знаю как, не разобрался еще в архитектуре.
-пробовал прошивку собрать, но пока тоже не получается откомпилировать. :( удалось только оригинальную откомпилить, но на ней не загрузился дэвайс, эх.
Просто интересно разобратся :rolleyes:

-=DGN=-
05-01-2008, 08:44
Как вообще отключить WEBморду и выгрузить HTTPD?

al37919
05-01-2008, 08:45
killall watchdog
killall httpd

FilimoniC
05-01-2008, 09:07
killall watchdog
killall httpd

watchdog только за httpd отвечает?

-=DGN=-
05-01-2008, 09:22
watchdog только за httpd отвечает?

определенно нет!

вот как-бы убрать из конфигов httpd...

FilimoniC
05-01-2008, 09:39
Единственный watchdog, найденый в исходниках:
Чего он делает я не понял :(
wl500g-1.9.2.7-8\busybox-1.1.3\busybox-1.1.3\miscutils

/* vi: set sw=4 ts=4: */
/*
* Mini watchdog implementation for busybox
*
* Copyright (C) 2003 Paul Mundt <lethal@linux-sh.org>
*
* Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
*/

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
#include "busybox.h"

/* Userspace timer duration, in seconds */
static unsigned int timer_duration = 30;

/* Watchdog file descriptor */
static int fd;

static void watchdog_shutdown(int ATTRIBUTE_UNUSED unused)
{
write(fd, "V", 1); /* Magic */
close(fd);
exit(0);
}

int watchdog_main(int argc, char **argv)
{

char *t_arg;
unsigned long flags;
flags = bb_getopt_ulflags(argc, argv, "t:", &t_arg);
if (flags & 1)
timer_duration = bb_xgetlarg(t_arg, 10, 0, INT_MAX);

/* We're only interested in the watchdog device .. */
if (optind < argc - 1 || argc == 1)
bb_show_usage();

if (daemon(0, 1) < 0)
bb_perror_msg_and_die("Failed forking watchdog daemon");

signal(SIGHUP, watchdog_shutdown);
signal(SIGINT, watchdog_shutdown);

fd = bb_xopen(argv[argc - 1], O_WRONLY);

while (1) {
/*
* Make sure we clear the counter before sleeping, as the counter value
* is undefined at this point -- PFM
*/
write(fd, "\0", 1);
sleep(timer_duration);
}

watchdog_shutdown(0);

return EXIT_SUCCESS;
}

al37919
05-01-2008, 09:44
это неправильный wd :) Правильный этот:
А убить только httpd не получится --- только перекомпилировать прошивку. Разве что добаветь еще один watchdog , который его будет прибивать как появится:)

Duke
05-01-2008, 09:54
Начнем с другогоконца - зачем необходимо убить веб-интерфейс?

FilimoniC
05-01-2008, 10:03
Роутер просто коннектится к 127.0.0.1 (самому себе).
al37919: а откуда код?


sprintf(http_cmd, "http://127.0.0.1/");
if (!http_check(http_cmd, buf, sizeof(buf), 0))
{
dprintf("http rerun\n");
kill_pidfile("/var/run/httpd.pid");
//stop_httpd();
start_httpd();
}

Может порт просто блокировать?

Duke
05-01-2008, 10:42
Ну можно на самом деле более злобно попробовать
- киляем демона
- биндим в /www пустой каталог
после чего вачдог автоматом пускает демона на пустом каталоге =)

al37919
05-01-2008, 10:58
причем обратите внимание, что он совершает проверку без указания порта, т.е. насколько я понимаю висит ли что-нибудь на 80-м порту


int
http_check(const char *server, char *buf, size_t count, off_t offset)
{
return wget(METHOD_GET, server, buf, count, offset);
}

Так что не прокатит ли такой вариант?
1. переназначить порт веб-интерфейса
2. запустить на 80-м порту какой-нибудь веб-сервер
3. прибить httpd

ABATAPA
05-01-2008, 11:00
Ну можно на самом деле более злобно попробовать
- киляем демона
- биндим в /www пустой каталог
после чего вачдог автоматом пускает демона на пустом каталоге =)

Не проще ли запретить соединения с сервером средствами iptables?

Duke
05-01-2008, 11:05
Не проще ли запретить соединения с сервером средствами iptables?

Проще но так неинтересно ;)
Дополнительное правило занимает память и занимает процессор при обработке пакетов. А так имеем в памяти демон от которого все равно не избавиться и который гарантированно ничем память занимать не будет, кроме как выдачей HTTP:400 в крайнем случае.

FilimoniC
05-01-2008, 12:11
причем обратите внимание, что он совершает проверку без указания порта, т.е. насколько я понимаю висит ли что-нибудь на 80-м порту


int
http_check(const char *server, char *buf, size_t count, off_t offset)
{
return wget(METHOD_GET, server, buf, count, offset);
}

Так что не прокатит ли такой вариант?
1. переназначить порт веб-интерфейса
2. запустить на 80-м порту какой-нибудь веб-сервер
3. прибить httpd
я так понял что автору нужно как раз таки прибить httpd. а не сам we-интерфейс. Тут встает вопрос - зачем?
Если он хочет просто повесить свой httpd на 80 порт, то просто в post-firewall:


# Даем httpd и watchdog запуститься
sleep 30
# убиваем сторожа
killall watchdog
# убиваем сервер
killall httpd
# запуск сервера
busybox_httpd -params...
# запуск сторожа
watchdog

Но это не есть гут, тк если вдруг busybox_httpd свалится, то watchdog "поднимет" родной httpd. В принципе несложно написать свой watchdog на shell-script.

Если просто надо заблокировать 80 порт, то лучше iptables ИМХО.


Проще но так неинтересно ;)
Дополнительное правило занимает память и занимает процессор при обработке пакетов. А так имеем в памяти демон от которого все равно не избавиться и который гарантированно ничем память занимать не будет, кроме как выдачей HTTP:400 в крайнем случае.

netcat туда повесить... только надо чтобы не 400, а 200 вылезало, иначе wget может чето плохое вернуть.

-=DGN=-
05-01-2008, 14:07
я так понял что автору нужно как раз таки прибить httpd. а не сам we-интерфейс. Тут встает вопрос - зачем?
Если он хочет просто повесить свой httpd на 80 порт, то просто в post-firewall:


# Даем httpd и watchdog запуститься
sleep 30
# убиваем сторожа
killall watchdog
# убиваем сервер
killall httpd
# запуск сервера
busybox_httpd -params...
# запуск сторожа
watchdog

Но это не есть гут, тк если вдруг busybox_httpd свалится, то watchdog "поднимет" родной httpd. В принципе несложно написать свой watchdog на shell-script.

Если просто надо заблокировать 80 порт, то лучше iptables ИМХО.

Во первых мне не надо чтоб снаружи моя машина идентифицировалась как роутер. Во вторых, я пробрасываю через роутер в DMZ 80 порт в том числе. И эта проброска через некоторое время отваливается, и появляется родной вебинтерфейс. Я хочу прибить его нафиг, или сбиндить на конкретный порт конкретного IP адреса.

Duke
05-01-2008, 14:36
Веб-интерфейс стартует только для внутреннего интерфейса, из MAN/WAN его по дефолту не видно.

[@wl500gp root]$ ps | grep http
68 Duke 392 S httpd vlan1

Правильно пробрасываем порты.

-=DGN=-
05-01-2008, 15:42
Веб-интерфейс стартует только для внутреннего интерфейса, из MAN/WAN его по дефолту не видно.

[@wl500gp root]$ ps | grep http
68 Duke 392 S httpd vlan1

Правильно пробрасываем порты.

Я создал второй влан - vlan1:0 на нем и повис httpd

Duke
05-01-2008, 15:52
С этого надо было начинать ;)
Вариант - перекинуть порты так чтоб веб вешался сам на внутренний интерфейс и никому не мешал. Хотя iptables глубоко пофигу кто на каком порту слушает - перенаправить и забыть.

-=DGN=-
05-01-2008, 16:51
С этого надо было начинать ;)
Вариант - перекинуть порты так чтоб веб вешался сам на внутренний интерфейс и никому не мешал. Хотя iptables глубоко пофигу кто на каком порту слушает - перенаправить и забыть.
Так вот мне никто не ответил, в каком файле задается список ip которые слушает httpd

Spacesoft
17-01-2008, 01:25
Перебросить встроеный вебсерв можно на другой порт набрав:

nvram set http_lanport=12345
nvram commit

leniviy
22-03-2008, 14:24
хорошо бы иметь возможность писать конфигураторы для всякого софта на роутере и подключать их к веб морде.
типа скачал пакет, в морде появилась новая страничка с настройками.

я где-то слышал, что этот веб-сервер особый, урезаный и пр. но можно ведь придерживаться опр. правил при написании страниц.

сейчас страницы лежат в /www на readonly filesystem. можно сделать в ней симлинк на /usr/local/www или /opt/www

Oleg
22-03-2008, 14:26
Гораздо проще иметь отдельный веб-сервер для такой настройки. Использовать можно busybox_httpd.

leniviy
22-03-2008, 14:39
тогда надо прикручивать к нему аутентификацию

Oleg
22-03-2008, 14:50
Он её поддерживает. Вот пример запуска (это кусок post-boot):



echo "/cgi-bin:$(nvram get http_username):$(nvram get http_passwd)" > /etc/httpd.conf

busybox_httpd -p 8080 -h /usr/local/www


В данном случае аутентификация требуется для всех cgi скриптов. Стартовая страница такая:

$ cat /usr/local/www/index.html


<HTML>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="1;url=cgi-bin/index.asp">
<BODY>
Нажмите <A href=cgi-bin/index.asp>сюда</A>, если Ваш броузер не поддерживает Redirect.
</BODY>
</HTML>


Дальше лепите /usr/local/www/cgi-bin/index.asp по всем правилам cgi.

Danya0w
31-07-2008, 13:59
русифицирую веб-интерфейс для WL-500W, но не получается удалить/заменить каталог WWW или находящиеся в нем файлы страниц, которые в памяти роутера.
как всетаки заменить?

DemonGloom
31-07-2008, 18:08
http://wl500g.info/showthread.php?t=2391 там поищите по boot_dev - это описание переноса rootfs на внешний носитель

vsu
31-07-2008, 18:44
Ещё можно перекрыть любой существующий каталог другим:

mount --bind /tmp/harddisk/www /www

Danya0w
31-07-2008, 23:34
Ещё можно перекрыть любой существующий каталог другим:

mount --bind /tmp/harddisk/www /www
очень интересный метод, только не пойму почему не хочет работать.
и mount -obind /tmp/harddisk/www /www тоже делал (в чем отличие --bind от -obind ?), в post-mount пробовал добавлять - и после ребута тоже эффекта ноль..
может нужно разрешения выставить или еще чтото!?


http://wl500g.info/showthread.php?t=2391 там поищите по boot_dev - это описание переноса rootfs на внешний носитель
спасибо, поюзаю еще на досуге, правда флешка тупит страшно даже через хаб с питанием, но удалось помоему загрузиться с нее судя по времени загрузки и тупняку с подключением.
а с хардом не шибко охота так колдовать - ибо юзеры пользуют, мало ли файло потеряется.

Danya0w
26-12-2008, 23:52
не получается почему то. отключаю httpd, а если он отключен то можно заменить файл (картинка в данном случае).
заменяю
ребут
удалил кеш оперы - тоже самое
смотрю на размер картинки - замененный
отмнтировал флешку
ребут
не сменилось..
что не так?

оказывается надо быстро "убить httpd/заменить файл/смонтировать папку", прежде чем автозапустится httpd.

Danya0w
03-01-2009, 19:21
не знаю как вам, я попробовал заняться веб-интерфесом своего роутера и результат мне начинает нравиться.
не вгоняет в дрожь блевотно-зеленый с зомби-сиреневым цветом интерфейс, не умеющий "говорить" по русски.
я опущу те моменты что проще заново переписать весь интерфейс и сделать его легче и более удобнее,
но к сожалению я не веб-программист, чтобы это реализовать.
если некоторые базовые знания хтмл я получил по самоучке,
то до управления скриптами и вызовами переменных мне далеко.
но все же некоторый функционал я увеличил в интерфейсе:

http://img266.imageshack.us/img266/9392/24527632uk4.png

http://img266.imageshack.us/img266/730/28042409eu0.png

http://img266.imageshack.us/img266/3605/46112482bx0.png

doky
26-01-2009, 09:24
Danya0w, не дашь ссылку на своё творение? Мне очень понравилось:)

Danya0w
26-01-2009, 11:50
mount /путь/к/новой/вебморде /www
-o bind не забудьте...
не смотря на то что opt у меня через -o bind монтируется, а вебморда без этой опции тоже монтируется,
хотел бы поинтерисоваться, для чего она, эта опция требуется?


Danya0w, не дашь ссылку на своё творение? Мне очень понравилось:)
позже дам, када опять примусь роутер ковырять =)
сейчас пока ковыряю eeepc 901, на которую взгромоздил openSUSE 11.1

doky
28-01-2009, 02:25
Спасибо))) :p

ppcinside
08-02-2009, 02:50
Можно ли узнать сколько осталось места на HDD подсоединенном к роутеру не подключая его к ПК? В последней версии оффициальной прошивки это наглядно отображалось вроде бы, тогда ещё с флешкой экспериментировал...

svk4286
08-02-2009, 04:19
Можно ли узнать сколько осталось места на HDD подсоединенном к роутеру не подключая его к ПК? В последней версии оффициальной прошивки это наглядно отображалось вроде бы, тогда ещё с флешкой экспериментировал...


df -h
Можно через веб-морду
System Setup -> System Command
В чешской прошивке в веб-морде
Status & Log -> Diagnostic Info -> Filesystem info

Danya0w
10-02-2009, 23:25
Ну вот выкладываю руссифицированный наполовину интерфейс.
бОльшая, точнее наиболее используемая часть русифицированна,
также есть изменения в интерфейсе и функциональности, их нужно еще доработать ;).
вобщем оценивайте, дорабатывайте, выкидывайте мусор и т.п. выкладывайте дальше.
постарайтесь в дальнейшем комментировать изменения.
скачать можно здесь (http://danya0.ru/soft/www500w_ru.tar.gz) или в аттаче:

bmenee
15-02-2009, 10:48
Кто-нибудь знает решение? Кроме пересборки прошивки :)

DemonGloom
15-02-2009, 13:13
После замены (монитрования) нового www надо убить httpd. Тогда оно заработает :)

bmenee
15-02-2009, 15:11
спасибо, разобрался, проблема была другая - оказывается файлы не всех разрешений доступный из web

andrey_ds
28-02-2009, 22:43
А как залить его на роутер?

Visionary
01-03-2009, 07:33
А как залить его на роутер?
1 разархивируешь его в папку на внешний носитель (flash/hdd) например в /opt/share/www/www
2 делаешь "mount /opt/share/www/www /www"
3 такую же строку вставляешь в postmount
4 flashfs save && flashfs commit && flashfs enable
5 killall httpd или kill <номер процесса httpd>
6 заходишь на роутер как обычно и видишь новый интерфейс.

Danya0w спасибо за идею. Потихоньку затачиваю под себя. Сам бы недогадался:D

egoistes
01-03-2009, 17:45
хех Кстати можно прикурутить на морду и статистику и смс и много много разного . Да только кто этим займется ...

Andreev
01-03-2009, 17:57
Danya0w, а при помощи каких программ/утилит Вы это все делаете?

angel_il
01-03-2009, 19:27
Ну вот выкладываю руссифицированный наполовину интерфейс.
бОльшая, точнее наиболее используемая часть русифицированна,
также есть изменения в интерфейсе и функциональности, их нужно еще доработать ;).
вобщем оценивайте, дорабатывайте, выкидывайте мусор и т.п. выкладывайте дальше.
постарайтесь в дальнейшем комментировать изменения.
скачать можно здесь (http://danya0.ru/www500w_ru.tar.gz) или в аттаче:

заведите проект на google.com так будет проще.

leshiy_odessa
01-03-2009, 23:41
Давайте навалимся вместе. http://code.google.com/p/asus-wl-500gp/

Если честно, то не понравилось авторство (см. скрины). Я понимаю что принято, но надо не так разухабисто, поскромнее.

theMIROn
02-03-2009, 05:27
http://code.google.com/p/asus-wl-500gp/лучше бы каталог www в svn:trunk залить

angel_il
02-03-2009, 07:48
лучше бы каталог www в svn:trunk залить

пожалуй это самый идеальный вариант.

angel_il
02-03-2009, 07:49
кроме того asus-wl-500gp крайне неоднозначное название

theMIROn
02-03-2009, 07:56
кроме того asus-wl-500gp крайне неоднозначное название
угу, вэбморда фактичеки одна и та же для разных моделей. максимум - отдельными страницами разнится

Visionary
02-03-2009, 13:14
Давайте навалимся вместе. http://code.google.com/p/asus-wl-500gp/
я не против поучаствовать, если обьясните как пользоваться code.google
:)
и еще...

www500w_ru.tar.gz (Русификация от Visionary (ver. 0,001)) file uploaded by leshiyodessa
это не от меня руссификация :)

насколько я понимаю code.google может отслеживать изменения в коде, тогда нужно туда заливать не в tar.gz а "как есть"

Danya0w
02-03-2009, 21:14
Danya0w, а при помощи каких программ/утилит Вы это все делаете?
грубо говоря - чем откроется, тем и делаю, в зависимости от положения;)


заведите проект на google.com так будет проще.
если кто зареген там - добавьте сами ;)


Если честно, то не понравилось авторство (см. скрины). Я понимаю что принято, но надо не так разухабисто, поскромнее.
если вы про мои скрины, то извините, я делал под свои вкусы и оставил копилефт.

..дорабатывайте, выкидывайте мусор и т.п. выкладывайте дальше.

vladb2000
03-03-2009, 07:23
А руссификация на 500GPV2 подойдет?

Visionary
03-03-2009, 08:49
А руссификация на 500GPV2 подойдет?
у меня подошла вроде без подгонки

leshiy_odessa
03-03-2009, 21:18
если вы про мои скрины, то извините, я делал под свои вкусы и оставил копилефт.

Уточните, копирайт на скринах или внедрен в русификацию. Первое меня не волнует, а вот второе немного.....

Кстати не надо было ничего открывать, уже давно есть - http://code.google.com/p/wl500g/

angel_il
04-03-2009, 07:13
leshiy_odessa
у нас копилефт а не копирайт если вы не в курсе. т.к. Danya0w начинал русификацию относительно gpl web-морды ты можешь форкнуть его результаты и модифицировать их по своему усмотрению, в том числе убрать картинки. Это твое право.

http://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BF%D0%B8%D0%BB%D0%B5%D1%84%D1%82

mik568
13-03-2009, 11:37
1 разархивируешь его в папку на внешний носитель (flash/hdd) например в /opt/share/www/www
2 делаешь "mount /opt/share/www/www /www"
3 такую же строку вставляешь в postmount
4 flashfs save && flashfs commit && flashfs enable
5 killall httpd или kill <номер процесса httpd>
6 заходишь на роутер как обычно и видишь новый интерфейс.

Danya0w спасибо за идею. Потихоньку затачиваю под себя. Сам бы недогадался:D

А можно более подробнее, где и как делать или ссылочуку, где что нибудь подобное но более дохдчиво описано, а то после окон чувстую себя отсталым.

mik568
13-03-2009, 11:48
русифицирую веб-интерфейс для WL-500W, но не получается удалить/заменить каталог WWW или находящиеся в нем файлы страниц, которые в памяти роутера.
как всетаки заменить?

Скажите, как вы все таки это сделали или опять таки ссылочку, где почитать

Wolfgun
13-03-2009, 13:25
очень интересный метод, только не пойму почему не хочет работать.
и mount -obind /tmp/harddisk/www /www тоже делал (в чем отличие --bind от -obind ?Произвести монтаж ), в post-mount пробовал добавлять - и после ребута тоже эффекта ноль..
может нужно разрешения выставить или еще чтото!?
может правильней mount -o bind /tmp/harddisk/www /www :p
или ln -s /tmp/harddisk/www /www

vectorm
13-03-2009, 17:13
может правильней mount -o bind /tmp/harddisk/www /www :p
или ln -s /tmp/harddisk/www /www
Логичнее делать софтлинк (второй способ).
Плюс не забываем делать save/commit/enable - это автору темы.

Danya0w
16-03-2009, 00:45
вот тут (http://code.google.com/p/asus-wl-500gp/downloads/list) напишите что руссификация все-таки не для wl500gp а для wl500w и автор всетаки не Visionary ;)

AlekseyA
30-04-2009, 07:01
А для wl500gp будет?

Danya0w
10-05-2009, 18:17
А для wl500gp будет?
дашь девайс погонять на основе безвозвратного пользования - будет =)

Break Action
23-06-2009, 22:50
Приветствую,
хотел бы предложить свою помощь в разработке интерфейса. Обладаю опытом разработки различных интерфейсов (кое-что делал по Андроид, и еще кое-какие мобилок, кое-что для звукового/сценического софта, ну и конечно для веба).
Иногда бывает свободное время, которое готов потратить на проект, для Asus WL500g series.
Ну вот и пара вопросов,
- нужно ли это?!
- и второй, вытекает из положительного результата первого, какие есть требования, пожелания?!
Я так полагаю, что интерфейс dd-wrt достаточно интересен и удобен, то можно было бы реализовать что-то подобное.
Вообщем хотелось бы это все дело обсудить.

oleg71
24-06-2009, 06:14
Приветствую,
хотел бы предложить свою помощь в разработке интерфейса. Обладаю опытом разработки различных интерфейсов (кое-что делал по Андроид, и еще кое-какие мобилок, кое-что для звукового/сценического софта, ну и конечно для веба).
Иногда бывает свободное время, которое готов потратить на проект, для Asus WL500g series.
Ну вот и пара вопросов,
- нужно ли это?!
- и второй, вытекает из положительного результата первого, какие есть требования, пожелания?!
Я так полагаю, что интерфейс dd-wrt достаточно интересен и удобен, то можно было бы реализовать что-то подобное.
Вообщем хотелось бы это все дело обсудить.

Интерфейс давно нужно менять, но
здесь правит (надеюсь, пока) командная строка, а
интерфейс для гуру второстепенен.
Были тут попытки предложения разработки морды, но дальше
предложения ничего не вышло.
ИМХО, надо его (морду) сделать, бетку и выставить
здешней общественности, вот тут-то и начнется ...
обсуждения, критика, доработки и т.п.

Wolfgun
24-06-2009, 15:02
Приветствую,
хотел бы предложить свою помощь в разработке интерфейса. Обладаю опытом разработки различных интерфейсов (кое-что делал по Андроид, и еще кое-какие мобилок, кое-что для звукового/сценического софта, ну и конечно для веба).
Иногда бывает свободное время, которое готов потратить на проект, для Asus WL500g series.
Ну вот и пара вопросов,
- нужно ли это?!
- и второй, вытекает из положительного результата первого, какие есть требования, пожелания?!
Я так полагаю, что интерфейс dd-wrt достаточно интересен и удобен, то можно было бы реализовать что-то подобное.
Вообщем хотелось бы это все дело обсудить.

мне нравится web как в оригинальных Asus прошивках версий 3.0.х.х
Все удобно и понятно

Break Action
24-06-2009, 15:17
Wolfgun
А могли бы ли вы скопировать www с роутера, я бы посмотрел, что там и как.

theMIROn
24-06-2009, 20:03
Wolfgun
А могли бы ли вы скопировать www с роутера, я бы посмотрел, что там и как.

только содержимого www будет очень и очень недостаточно, еще понадобится, как минимум, src/rc/* и src/httpd/*
соответственно, скачивайте исходники, устанавливайте, пробуйте
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware

p.s www в аттач не вкладывается, больше метра

Break Action
24-06-2009, 20:47
Мне бы пока просто посмотреть код HTML'а.
=)

Wolfgun
25-06-2009, 13:03
Wolfgun
А могли бы ли вы скопировать www с роутера, я бы посмотрел, что там и как.

У меня данная прошивка не стоит т.к. ротер у меня не V2.
Могу выложить исходники от V2 сами заберете

Break Action
25-06-2009, 14:30
Wolfgun
Давайте, попробуем.

Wolfgun
26-06-2009, 06:54
Wolfgun
Давайте, попробуем.

GPL 3.0.3.6 с сайта Asus (ftp://ftp.asus.com.tw/pub/ASUS/wireless/WL-500gPV2/GPLWL500gPV2_3036.zip) после 15:00 выложу на соем FTP в разархивированном виде

guideh
24-07-2009, 12:53
кто нибудь знает, где лежит логотип ASUS в левом верхнем углу web интерфейса и можно ли его удалить или заменить на другой?

Serge_K
24-07-2009, 13:05
кто нибудь знает, где лежит логотип ASUS в левом верхнем углу web интерфейса и можно ли его удалить или заменить на другой?

Только пересобрав прошивку.

vectorm
24-07-2009, 13:07
кто нибудь знает, где лежит логотип ASUS в левом верхнем углу web интерфейса и можно ли его удалить или заменить на другой?
Без перепрошивки и манипуляций с местом хранения файлов веб морды - не получится.
Поищите темы про Web интерфейс, кто-то даже свои странички ваял.

Omega
26-07-2009, 17:02
кто нибудь знает, где лежит логотип ASUS в левом верхнем углу
web интерфейса и можно ли его удалить или заменить на другой?
Наберите в консоли ls -l ... ;) И увидите много интересного ... :D
Их там лежит целых три штуки ... Удалить и заменить их можно ... :cool:
А Вы с какой целью интересуетесь ? :confused: Типа написать там ДЫЛИНК ? :p

- Logo - \www\graph - <img src='graph/asusLogoG.jpg' width='144' height='66'>

http://my.router/graph/asusLogoG.jpg * http://my.router/graph/asusLogoA.jpg * http://my.router/graph/asusLogoR.jpg

- Box - \www\graph - <img src="./graph/iBox_title_all.jpg" width="666" height="80">

http://my.router/graph/iBox_title_all.jpg

Ну а ставится новый интерфейс на роутер примерно так :



1 разархивируешь его в папку на внешний носитель
(flash/hdd) например в /opt/share/www/www
2 делаешь "mount /opt/share/www/www /www"
3 такую же строку вставляешь в post-mount
4 flashfs save && flashfs commit && flashfs enable
5 killall httpd или kill <номер процесса httpd>
6 заходишь на роутер и видишь новый интерфейс.
Danya0w спасибо за идею.
Потихоньку затачиваю под себя. Сам бы недогадался :D


http://code.google.com/p/asus-wl-500gp/downloads/list - Rus - Русский интерфейс от Danya0w (http://wl500g.info/member.php?u=17558)

http://wl500g.info/showthread.php?t=12048&page=12#170 * http://danya0.ru/soft/www500w_ru.tar.gz

http://wl500g.info/attachment.php?attachmentid=4281&d=1234308508 * это сборка для Asus WL-500W

З.Ы. Ну вот тоже кое-что наваял ... :) Но правда перевод ещё не весь полный ... :rolleyes:
Когда закончу, а это видимо будет нескоро (мало времени) , выложу на форум ... :cool:
Можно ещё сделать эмулятор интерфейса роутера для настройки - типа этого (http://www.trendnet.com/emulators/TEW-432BRP_C1/lan.htm) ... ;)

the
17-08-2009, 16:23
...если вдруг busybox_httpd свалится, то watchdog "поднимет" родной httpd. В принципе несложно написать свой watchdog на shell-script...

а если у меня настроен lighttpd на 80 порту, можно создать какой-нибудь симлинк на lighttpd с названием httpd, чтобы в случае чего watchdog в желании "поднять" родной httpd тем самым запустит lighttpd?

ну незнаю, прописать в PATH приоритетнее симлинк на lighttpd, например

brain-ripper
05-02-2010, 17:27
Товарищи энтузиасты, есть предложение дать возможность расширять функционал веб-интерфейса.

Сейчас весь интерфейс зашит в read-only каталоге /www - соответственно никак изменить его нельзя.
Можно сделать какой-нибудь каталог /www/custom, который будет представлять из себя ссылку на /tmp/www/custom, куда можно будет складывать новые странички для WEB-морды. Так же модифицировать /www/index.asp, чтоб при наличии в /tmp/www определенного конфигурационного файла цеплял бы новые страницы.

Таким образом можно обезопасить стандартную морду от летальных изменений и дать возможность добавления новых страничек.

Зачем это нужно?
ну, применений можно много найти, например, чтобы показывать статистику vnstat (у меня есть скриптик, который при загрузке странички, генерирует чисто HTML, без картинок, который показывает гистограммы траффика по девайсам). Не хочется для этой задачи ставить и конфигурировать отдельный веб-сервер (типа lighttp), когда можно заюзать уже имеющееся решение.


Готов предложить свои услуги в модернизации текущего интерфейса.

Basile
05-02-2010, 17:46
brain-ripper, в консоли:

cd /www
ln -s /tmp/www/custom
:D

P.S. Только у встроенного busybox_httpd функционал никакой ;)

lly
05-02-2010, 18:07
Товарищи энтузиасты, есть предложение дать возможность расширять функционал веб-интерфейса.

Сейчас весь интерфейс зашит в read-only каталоге /www - соответственно никак изменить его нельзя.
Можно сделать какой-нибудь каталог /www/custom,
IMHO плохая идея. С учётом того, что mount -o bind смонтирует хоть чёрта лысого, а АСУС'овский веб сервер никакой(однопоточный!), существующее решение удовлетворительное.


Готов предложить свои услуги в модернизации текущего интерфейса.
только в пропиливание дырок? А то вон юзера очень давно просят управление vlan'ами в интерфейс вынести. И много еще чего...

brain-ripper
05-02-2010, 20:33
brain-ripper, в консоли:

cd /www
ln -s /tmp/www/custom
:D

P.S. Только у встроенного busybox_httpd функционал никакой ;)

это решает только половину проблемы, т.к. не поможет модифицировать index.asp, с целью добавить новые странички в ВЕБ-морду (те, которые будут в /tmp/www/custom лежать)


IMHO плохая идея. С учётом того, что mount -o bind смонтирует хоть чёрта лысого, а АСУС'овский веб сервер никакой(однопоточный!), существующее решение удовлетворительное.

АСУСовский сервер справляется со своими обязанностями, больше от него ничего не требуется. Отобразить страницу статистики по траффику, это из того же разряда, что, например, отображение текущих пробросов портов (UPnP) или окошка "System Command".


Но нет, так нет, настаивать не буду :)

rss
06-02-2010, 13:12
Товарищи энтузиасты, есть предложение дать возможность расширять функционал веб-интерфейса.


Поковырялся относительно возможности реализации, делюсь наблюдениями.

Теоретически, веб-сервер поддерживает команды в формате <% cmd %>. Даже имеется команда load_script. Таким образом, можно было бы сделать скрипт, например check_user.sh

#!/bin/sh

USER_DIR="/www/user"
INDEX_FILE="index"

if [ -e "$USER_DIR/$INDEX_FILE" ]
then
echo "aux1 = appendChild(foldersTree, leafNode(\"User pages\"))"
for str in $( strings "$USER_DIR/$INDEX_FILE" )
do
title=${str%=*}
fname=${str#*=}
echo "appendChild(aux1,generateDocEntry(0, \"$title\", \"$USER_DIR/$fname\", \"\"))"
done
else
echo "// add user/index"
fi
И вставить его в index.asp:


else{....
<% load_script("check_user.sh"); %>
}
aux1 = appendChild(foldersTree, leafNode("Logout"))


Соответственно, если директория /www/user/ примонтирована на изменяемую директорию, и если в ней имеется файл index, содержащий записи вида имя_страницы=имя_файла, то ожидается что вместо load_scripts будет вставлен сгенерированный скриптом код.

Теперь о проблеме. В реализации веб-сервера имеется функция ej_load (web_ex.c), в которой запуск скрипта осуществляется через функцию sys_script, реализованную там же.
sys_script выполняет реакцию на некоторые предопределенные имена скриптов и позволяет запускать произвольные скрипты, которые лежат в /tmp, однако результат работы скриптов не возвращается в поток клиента (можно в файл).

Пока видится два решения - добавить в sys_script параметр webs_t wp и передавать его из ej_load, чтобы вернуть результат клиенту. Либо сделать еще одну команду, например <% print_script("check_user.sh"); %>.

Впрочем, также можно добавить команду, которая просто возьмет на себя проверку /www/user/index или будет выдавать клиенту содержимое этого файла в виде фрагмента js.

Данная проблема мне интересна самому, поскольку некоторые страницы по управлению и мониторингу добавить хотелось бы, не заменяя интерфейс полностью. Тем не менее, не бросаюсь править web-сервер, поскольку наверняка у постоянных разработчиков есть на этот счет какое-то мнение.

.:Visual:.
06-05-2010, 20:11
День добрый всем. Возможно ли получить доступ к /www на запись или, еще лучше, сделать симлинк с /opt/www на /www, и если можно, то как?

Заранее спасибо.

al37919
06-05-2010, 20:49
примерно так:

mount -o bind /opt/www /www

.:Visual:.
07-05-2010, 06:11
примерно так:

mount -o bind /opt/www /www

большое спасибо, действительно помогло

momai
02-06-2010, 23:03
Можно ещё сделать эмулятор интерфейса роутера для настройки - типа этого (http://www.trendnet.com/emulators/TEW-432BRP_C1/lan.htm) ... ;)

Ну очень заинтересовало это. Не подскажите каким образом прошивку можно съэмулировать с веб мордой для других моделей роутеров типа асуса и д-линка?

Omega
28-09-2010, 14:59
Ну очень заинтересовало это. Не подскажите каким образом прошивку можно
съэмулировать с веб мордой для других моделей роутеров типа асуса и д-линка?
Да это в принципе нетрудно слепить ... :rolleyes:
Берёте папку \www из роутера и вперёд ... :D
Ну можно сделать что-то типа вот как здесь : ;)
http://event.asus.com/2009/networks/dummy_ui/rt-n16/as.html :cool:

danmer
10-12-2010, 19:41
Оказалось что Дримвивер "портит" .асп, Эдитплюс все сделал нормально, без 404 страницы.

Я "причесал" то оформление, что было, для себя, убрав кое какие косяки.

Можно использовать в качестве временной замены в прошивке, пока в этой ветке ведутся работы по новому интерфейсу.
Код консоли взят из последней прошивки WL520gu-1.9.2.7-d-r2381.trx


Инструкция по применению от Omega

Разархивируем в /opt/share/www/www
mount /opt/share/www/www /www
flashfs save && flashfs commit && flashfs enable
killall httpd
заходишь на роутер и видишь новый интерфейс.

Если все хорошо, то
вставляешь строку 'mount /opt/share/www/www /www'
в /tmp/local/sbin/post-mount

http://hotimg23.fotki.com/a/217_78/187_91/router.jpg


Архив папки www
7414
Вариант с "нормальной" высотой полей ввода
7415

Код ужасен, я его не трогал, если почистить от оформления в тексте, то раза в 2 будет меньше размер.

Слушайте, обьясните мне, как можно все эти комманды "вбить одним разом", не по очереди- я ввожу в WinScp
flashfs save && flashfs commit && flashfs enable
и ничего не получается, приходится по команде- неудобно


flashfs save
flashfs commit
flashfs enable
killall httpd

как их сразу ввести? Чукча ни разу не линуксоид :)





Так сказать, мой скромный контрибушн :cool:

Vampik
10-12-2010, 20:23
Я "причесал" то оформление, что было, для себя, убрав кое какие косяки.



Синее с каким-то оранжево-коричневым? брр..

capau
10-12-2010, 20:31
Синее с каким-то оранжево-коричневым? брр..

стало гораздо чище и спокойнее
и хватит флудить, ни одного ценного поста

danmer
20-12-2010, 19:33
хмм, такой локальный вопрос
строка 'mount /opt/share/www/www /www'
в /tmp/local/sbin/post-mount

срабатывает при перезагрузке, но с большой задержкой, в несколько минут. До этого висит "старый интерфейс".
Можно ли как то ускорить процесс инициализации подмены вебморды, а в идеале сделать так, чтобы "старый" интерфейс не грузился вовсе?


#! /bin/sh
/opt/etc/init.d/rc.unslung start
rm /opt/var/run/*.pid
sleep 10s
ipaddr=$(nvram get wan0_ipaddr)
/opt/etc/sendsms/send.php 79261644746 Your router $ipaddr is loaded
mount /opt/share/www/www /www

М.б. перенести mount в начало файла?

я добавил строку монтирования папки нового интерфейса "www"
mount /opt/share/www/www /www
в файл
/tmp/local/sbin/post-mount

Это срабатывает при перезагрузке, но с большой задержкой, в несколько (!) минут. До этого висит ужасный "старый интерфейс".

Можно ли как то ускорить процесс инициализации подмены вебморды, а в идеале сделать так, чтобы "старый" интерфейс не грузился вовсе?

Пробовал перенести mount в начало файла, но так не заработало.
Если что- я не линуксоид.

http://hotimg23.fotki.com/a/217_78/187_91/router92.jpg

прошивка свежая, WL520gu-1.9.2.7-d-r2381.trx
http://wl500g.info/showpost.php?p=219426&postcount=352

Помогите пожалуйста советом, на какие слова хоть гуглировать :confused:

Можно ли как то ускорить процесс инициализации подмены вебморды, а в идеале сделать так, чтобы "старый" интерфейс не грузился вовсе?

Как вариант, может быть кто то линуксо-продвинутый согласится собрать эту прошивку с моей папкой интерфейса?

Пока же выложу вторую версию работающего интерфейса с более приличными иконками:

http://hotimg23.fotki.com/a/217_78/187_91/router92.jpg

на базе прошивки WL520gu-1.9.2.7-d-r2381.trx

7458

rss
20-12-2010, 20:13
Как вариант, может быть кто то линуксо-продвинутый согласится собрать эту прошивку с моей папкой интерфейса?

http://narod.ru/disk/1802490001/WL500gpv2-1.9.2.7-d-r2430-debug.trx.html

Результат не проверял. Не рекомендую для правок брать www на маршрутизаторе. Это уже результат обработки. Лучше из репозитория.

Также рекомендую собрать у себя виртуалку с линуксом или взять у кого-нибудь готовую.

stan
10-01-2011, 08:12
Всем Привет! ))

Сама папка www только для чтения, т.е. туда файлы не залить. Пробовал создать что-то вроде /tmp/local/root/www - не угадал ))
Конфига для httpd не нашёл. Гугл тоже ничего не подсказал ))

Подскажите, плиз, где можно прописать папку типа /tmp/local/root/www или может стоить рассмотреть создание в папке www симлинка на такую папку.

Всем Спасибо! ))

stan
10-01-2011, 21:12
А опустить глаза на сообщение ниже не позволяет религия или чувство юмора? )

Сорри, видел данный топик (в котором оказалось моё сообщение), но, почему-то, подумал что это не по моему вопросу.

Но задуманного не полулось ))
После "mount -o bind /opt/www /www" папка /www стала пустой (что, впрочем, не помешало нормально работать стандартной веб-морде ))
Страница же, скажем /www/test.html не видна в браузере!
Мне же надо чтобы в папке /www осталось прежнее содержимое и чтобы дополнительно появилось мой содержимое.

Omega
10-01-2011, 21:46
Сорри, видел данный топик (в котором оказалось моё сообщение), но, почему-то, подумал что это не по моему вопросу.

Но задуманного не полулось ))
После "mount -o bind /opt/www /www" папка /www стала пустой (что, впрочем, не помешало нормально работать стандартной веб-морде ))
Страница же, скажем /www/test.html не видна в браузере!
Мне же надо чтобы в папке /www осталось прежнее содержимое и чтобы дополнительно появилось мой содержимое.
Ну если даже перенос поста не помог, то см. здесь: ;)
http://wl500g.info/showthread.php?t=4845

З.Ы. Да, и поиск по тэгам никто пока не отменял ... :cool:

stan
11-01-2011, 09:43
Да не, я всё понял: в постах предлагается скопировать содержимое папки /www в папку /opt/www, затем смонтировать
новую папку, убить процесс httpd и всё заработает. Просто как-то нецелесообразно получается:

- во первых, получается две копии /www, что не есть хорошо;
- во вторых, обновлю я прошивку, а папку /opt/www забуду обновить, а вдруг там новая фишка появится, а я знать не буду ))

Может просто стоит рассмотреть создание в папке /www какого-нибудь симлинка (типа, /www/extra -> /opt/www/extra)?

Так же, то ли в DD-WRT, то ли в OpenWRT видел интересную фичу - там устройство монтируется к папке с сохранением содержимого папки
(что, в принципе, и позволило сохранить в данных прошивках привычную структуру). Это тоже как вариант, но более мудрёный ))

stan
20-01-2011, 14:05
Кому интересно, нашёл небольшой компромисс для своего вопроса ))

1. Создаю папку, типа /tmp/harddisk/graph
2. переношу в эту папку содержимое папки /www/graph
3. выполняю:

mount -o bind /tmp/harddisk/graph /www/graph
killall httpd
И папка /www осталась нетронутой и скрипты можно свои запихивать в папку /www/graph ))
Отмечу, что только страницы с расширением htm и asp будут отображаться.

0mi4
01-02-2011, 14:18
Нужно коечто в интерфейсе заменить.
Есть ли возможность под windows 7 открыть файл прошивки trx?

AndreyUA
01-02-2011, 15:42
Нужно коечто в интерфейсе заменить.
Есть ли возможность под windows 7 открыть файл прошивки trx?colinux, vmware

0mi4
04-02-2011, 21:54
ок скачал что дальше?

capau
27-02-2011, 15:08
тут (http://8roman.com/asus/) можно потыкать
над содержимым особо не парился, перекинул две страницы

подключена jquery библиотека
есть вкладки
меню раздвижное
как то так

как теперь это все прикрутить к роутеру рядом с тем что есть?

есть большой набор иконок 16х16, можно подобрать под интерфейс

theMIROn
27-02-2011, 15:21
тут (http://8roman.com/asus/) можно потыкать
над содержимым особо не парился, перекинул две страницы

подключена jquery библиотека
есть вкладки
меню раздвижное
как то так

как теперь это все прикрутить к роутеру рядом с тем что есть?

есть большой набор иконок 16х16, можно подобрать под интерфейс

Вот это здорово!!!

alig83
27-02-2011, 15:57
Вот это реально круто! Молодец!
Вот его бы энтузиасты прикрутили!

van-der-van
04-05-2011, 07:03
Есть роутер DIR-320 с прошивкой от Олега (ядро 2.6). Хочется уйти от ASP веб-интерфейса к PHP. Как это можно сделать?
P.S. веб-интерфейс в настоящее время запускается с примонтированной флешки

sergey378
13-12-2011, 09:34
А Вы с какой целью интересуетесь ? :confused: Типа написать там ДЫЛИНК ? :p

Если какому-нибудь обладателю D-Link Dir-320 всё же захочеться видеть в прошивке от ASUS WL500g надпись "ДЫЛИНК", то я выкладываю свои "наработки" по этой теме - папку graph с изменёнными логотипами.
Как это установить, подробно описано ниже (Спасибо, Omega!).

KEKC
26-12-2011, 17:36
А подскажите полный путь к папке www в прошивке Олега, запарился искать :)

tempik
26-12-2011, 18:16
А подскажите полный путь к папке www в прошивке Олега, запарился искать :)
/www не подходит?

Veelon
06-07-2012, 23:32
ASUS WL-500gP V2 3.0.4.4 оригинал из .tar .trx как сделать?


Наберите в консоли ls -l ... ;) И увидите много интересного ... :D
Их там лежит целых три штуки ... Удалить и заменить их можно ... :cool:
А Вы с какой целью интересуетесь ? :confused: Типа написать там ДЫЛИНК ? :p

- Logo - \www\graph - <img src='graph/asusLogoG.jpg' width='144' height='66'>

http://my.router/graph/asusLogoG.jpg * http://my.router/graph/asusLogoA.jpg * http://my.router/graph/asusLogoR.jpg

- Box - \www\graph - <img src="./graph/iBox_title_all.jpg" width="666" height="80">

http://my.router/graph/iBox_title_all.jpg

Ну а ставится новый интерфейс на роутер примерно так :




http://code.google.com/p/asus-wl-500gp/downloads/list - Rus - Русский интерфейс от Danya0w (http://wl500g.info/member.php?u=17558)

http://wl500g.info/showthread.php?t=12048&page=12#170 * http://danya0.ru/soft/www500w_ru.tar.gz

http://wl500g.info/attachment.php?attachmentid=4281&d=1234308508 * это сборка для Asus WL-500W

З.Ы. Ну вот тоже кое-что наваял ... :) Но правда перевод ещё не весь полный ... :rolleyes:
Когда закончу, а это видимо будет нескоро (мало времени) , выложу на форум ... :cool:
Можно ещё сделать эмулятор интерфейса роутера для настройки - типа этого (http://www.trendnet.com/emulators/TEW-432BRP_C1/lan.htm) ... ;)