View Poll Results: Нравится ли вам интерфейс по дизайну?

Voters
745. You may not vote on this poll
  • Да, отличный

    91 12.21%
  • Нет, лучше поменять

    425 57.05%
  • Дизайн не имеет значения

    229 30.74%
Page 4 of 11 FirstFirst ... 23456 ... LastLast
Results 46 to 60 of 637

Thread: Новый веб-интерфейс прошивки от энтузиастов

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    А не интереснее ли было бы сделать возможность пользователям фтп устанавливать домашние каталоги? Допустим выбор private dir/home dir
    ASUS RT-N16 (1.9.2.7-rtn) + multi-wan (2x PPPoE, было на WL-500W)
    Нужно делать так как нужно, а как не нужно - делать не нужно.

  2. #2
    Сегодня достиг серъезного прогреса. Мои html файлы читают информацию из nvram и отображаются:
    http://bitbucket.org/vadim/wl500-ui/downloads/ui-2.png



    Я прицепил хард драйв к роутеру, создал папку для тестового интерфейса, зашарил его по nfs, и редактирую прямо на роутере из редактора на моем компе. Далее я стартовал второй экземпляр httpd на порту 8080, и вижу результат как только сохраняю файл в редакторе.

    Следующий шаг это сделать сохранение изменений.
    После этого было бы неплохо что бы кто то помог с переносом основной части интерфейса.
    Last edited by Omega; 28-08-2014 at 00:19. Reason: fixed

  3. #3
    Взят очередной барьер. Удалось изменить имя хоста из jscript.
    Изменения можно смотреть здесь:
    http://bitbucket.org/vadim/wl500-ui/...t/abf144259538

    Следующий этап - сделать полностью функциональной одну страницу, и реализовать "Finish", на данный момент работает только "Apply".

  4. #4
    Quote Originally Posted by californian View Post
    Взят очередной барьер. Удалось изменить имя хоста из jscript.
    Изменения можно смотреть здесь:
    http://bitbucket.org/vadim/wl500-ui/...t/abf144259538

    Следующий этап - сделать полностью функциональной одну страницу, и реализовать "Finish", на данный момент работает только "Apply".
    Если есть время и желание - имеется актуальная задача. Необходимо на js реализовать всплывающее окно выбора USB-модема на странице Advanced_ConnectionMode_Content.asp и подстановка VID:PID.

    Вычитывание доступных модемов можно сделать по аналогии с http://code.google.com/p/wl500g/sour.../rc/usbmodem.c - метод hotplug_usb_modeswitch

    Запуск команды cat /proc/bus/usb/devices для получения исходных данных скрипту через syscmd_out.asp

  5. #5

    Системные аспекты развития веб-интерфейса

    Предложения по развитию веб-интерфейса.

    Этап 1.
    1. Контроль качества кода, соблюдение стандартов.
    2. Широкое использование javascript, уменьшение объема страниц за счет динамической генерации разметки. AJAX по необходимости (отстутсвие перезагрузки страниц, асинхронная докачка данных).
    3. Перевод взаимодействия с веб-сервером на формат JSON. Позволит:
      • Сделать возможным разработку веб-интерфейса в отсутствии веб-сервера (прием и передачу файла JSON легко сделать переключаемой на локальную файловую систему).
      • Выделить скрипты из кода веб-сервера (в т.ч. в виде новой монолитной реализации cgi-скрипта), что позволит легко сменить веб-сервер (busybox.httpd, lighthttpd по выбору). Для JSON потребуются скрипты получения и заполнения nvram + формирование дерева параметров + формирование дерева статистики.
      • Работа с JSON возможна по корню дерева с произвольной глубиной – получить/установить параметры (например по странице) или просмотреть статистику работы (по странице или по дереву, аналогичному SNMP MIB или что-то похожее на /proc/). Преимущество – унифицированный интерфейс и возможность выборки и загрузки нужной порции данных.
      • То, что будет сформировано на странице зависит от данных и не является жестко свёрстанным.
      • Пример - мультиван для параметра "LanWan" (3 закладки):
        Code:
        {
        	"LanWan": [
          		{
          			"proto": "eth0",
          			"ip_adddr": "10.14.53.63",
          			"metric": 1
        		},
          		{
          			"proto": "wimax",
          			"ip_adddr": "0.0.0.0",
          			"metric": 10
        		},
        		{
          			"proto": "usbmodem",
          			"ip_adddr": "0.0.0.0",
          			"metric": 5
        		}			
          	]
        	"WimaxSetup":	{
        				"check_connection": "1"
        			}
        }

    4. Локали с возможностью переключения языка из веб-интерфейса (JSON-файлы на диске).
    5. Реализация переключения упрощенного и полного интерфейса управления.
    6. SVG непосредственно на страницах и генерация картинок на стороне браузера.
    7. Возможность подключения внешних пользовательских страниц web-интерфейса с внешнего диска. При наличии статистики в формате JSON, соответствующей Mib SNMP маршрутизатора, предоставит возможность рисовать любые графики состояния.


    Этап 2
    1. Получение списка файлов в директории, редактирование файлов скриптов через веб-интерфейс (пример – управление камерой Axis 207)
    2. Управление пакетами ipkg через веб-интерфейс. Возможность подключения пакета, вносящего изменения в веб-интерфейс за счет подключаемых страниц.
    3. Управление разметкой подключенных дисков, проверка целостности файловой системы, файловые операции.
    4. Java-applet для ssh-подключения непосредственно из окна браузера

  6. #6
    Quote Originally Posted by californian View Post
    Сегодня достиг серъезного прогреса. Мои html файлы читают информацию из nvram и отображаются:
    http://bitbucket.org/vadim/wl500-ui/downloads/ui-2.png

    Я прицепил хард драйв к роутеру, создал папку для тестового интерфейса, зашарил его по nfs, и редактирую прямо на роутере из редактора на моем компе. Далее я стартовал второй экземпляр httpd на порту 8080, и вижу результат как только сохраняю файл в редакторе.

    Следующий шаг это сделать сохранение изменений.
    После этого было бы неплохо что бы кто то помог с переносом основной части интерфейса.
    По-моему не стоит тратить время на подключение нового интерфейса на nvram напрямую. Нормальный мультиван в виде переменного набора страниц таким образом реализовать не удастся. + проблема пересесть на другой web-сервер. Лучше переводить всё на JSON или что-нибудь подобное.

  7. #7
    Огромная благодарность создателям прошивки. недавно rt-n16 пытался использовать на последней офф прошивке, так ничего не вышло, а благодаря вашей все летает.

    Собствено вопрос оптимизации, выноса лишних файлов.
    слил с роутера папку www, хотел спросить:
    1) Файл phrase.js - 0 байт. ссылки на него присутствуют в Basic_GOperation_Content.asp и Basic_ROperation_Content.asp. Можно наверно и ссылки и сам файл ликвидировать. Он реально пустой.
    2) redirect.asp - 0 байт. ссылок на него вообще нигде нет. видимо планировалось такое название, но используется redirecting.asp, который лежит на месте.

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

    ПС включены, прошрамер я хреновый, но в хтмл понимаю больше. и так в rtn16 больше 10% прошивке занимает веб. давайте я его немного почищу, может будет быстрее и лучше.
    wl-500gpv2

  8. #8
    Отличное начало!
    Патчи можно выкладывать тут либо слать на наши адреса, желательно ставя в копию всех
    http://code.google.com/p/wl500g/people/list

  9. #9
    при быстром взгляде на опрос я неправильно ответил, "да, отличный", я думал речь о предложенном варианте. А оказывается о старом. Предложенный эскиз несомненно лучше и выглядит многообещающе. Ценность дизайна нельзя недооценивать. Но надо не забывать, что дизайн - понятие широкое и включает в себя удобство пользования, функциональность и прочие прелести.

  10. Заметил, что если выставить в System Setup - Operation Mode - режим Access Point, то из раздела Status & Log пропадает большинство вкладок. Часть пропаж ясны, но вот почему не остаются такие как System Utilization и Diagnostic Info? Нагрузка на роутер и информация о нем не зависят от режима работы же.

    wl500gp, 1.9.2.7-d-r2381

  11. #11
    При отключении NFS и камер в веб интерфейсе они остаются. Может сделать как-то так?

    Code:
    --- 1.9.2.7-d-orig/www/mkweb	2011-01-04 17:41:13.000000000 +0200
    +++ 1.9.2.7-d/www/mkweb	2011-01-06 22:23:13.125159981 +0200
    @@ -118,6 +118,18 @@ if [ -n "$1" ]; then
     		sed -ri '/WiMAX/d' ../web_$MODEL/Advanced_LANWAN_Content.asp
     	fi
     
    +	if [ "$CONFIG_RCAMD" != "y" ]; then
    +		echo "Removing WebCam pages..."
    +		rm -rf ../web_$MODEL/Advanced_WebCam*.asp
    +		sed -ri '/Web Camera/d' ../web_$MODEL/index.js
    +	fi
    +
    +	if [ "$CONFIG_NFSD" != "y" ]; then
    +		echo "Removing NFS pages..."
    +		rm -rf ../web_$MODEL/Advanced_NFS*.asp
    +		sed -ri '/NFS Server/d' ../web_$MODEL/index.js
    +	fi
    +
     	if [ "$CONFIG_MODEM" != "y" ]; then
     		echo "Removing 3G/cdma pages..."
     		rm -f ../web_$MODEL/Main_ChatStatus_Content.asp
    ASUS RT-N15U

  12. #12
    Join Date
    Mar 2009
    Location
    Moscow
    Posts
    968
    Меня все время волновало, почему неправильно отображается загрузка CPU в rtn-ветке. Посмотрел - оказывается, не учитывается iowait, irq, softirq, добавленные в ядре 2.6, которых не было в 2.4.
    Может патчик добавить?
    Code:
    Index: graph_cpu.svg
    ===================================================================
    --- graph_cpu.svg	(revision 2454)
    +++ graph_cpu.svg	(working copy)
    @@ -161,9 +161,9 @@
     		var data=obj.content.split("\n");
     		var ugmt=(Date.parse(data[0]))/1000;
     		data=data[1].split(/\s+/);
    -		var tot=parseInt(data[1])+parseInt(data[2])+parseInt(data[3])+parseInt(data[4]);
    +		var tot=parseInt(data[1])+parseInt(data[2])+parseInt(data[3])+parseInt(data[4])+parseInt(data[5])+parseInt(data[6])+parseInt(data[7])+parseInt(data[8]);
     		var idle=parseInt(data[4]);
    -		var sys=parseInt(data[3]);
    +		var sys=parseInt(data[3])+parseInt(data[5])+parseInt(data[6])+parseInt(data[7])+parseInt(data[8]);
     	} catch (e) {
     		return;
     	}
    Правда, не знаю, насколько корректно на графике добавлять прерывания и прочее к sys, но ведь это не юзерские процессы.
    D-Link DIR-320 A1/A2, DIR-620 C1, Netgear WNR3500L v1 v2

  13. #13
    Я думаю, не помешала бы вот такая кнопочка в веб интерфейсе, давно хотел сделать.

    Code:
    --- www/web_asus_en/index.js	2011-01-04 17:41:13.000000000 +0200
    +++ www/web_asus_en/index.js	2011-01-06 23:00:20.201159181 +0200
    @@ -150,7 +150,9 @@ function generateTree() {
     		appendChild(aux1, generateDocEntry(0, "System Log", "Main_LogStatus_Content.asp", ""));
     	}
     	
     	aux1 = appendChild(foldersTree, leafNode("Logout"));
    +	aux1 = appendChild(foldersTree, leafNode("Save & Restart"));
    +
     }
     
     function clickOnFolderLink(folderName) {
    @@ -165,6 +167,10 @@ function clickOnFolderLink(folderName) {
     			top.folderFrame.location = "Main_Index_HomeGateway.asp";
     	} else if (folderName == "Logout") {
     		logout();
    +	} else if (folderName == "Save & Restart") {
    +		top.folderFrame.location = "SaveRestart.asp";
     	} else if (folderName == "Quick Setup") {
     		if (mode == 'AP')
     			top.folderFrame.location = "Basic_AOperation_Content.asp";
    ASUS RT-N15U

  14. #14
    Join Date
    Mar 2009
    Location
    Moscow
    Posts
    968
    Кстати, раз уж про mkweb написали, там давно один баг есть - при отключении cdma остается в меню usb ppp log. Патчик из моей версии прошивки -
    Code:
    Index: mkweb
    ===================================================================
    --- mkweb	(revision 2454)
    +++ mkweb	(working copy)
    @@ -120,7 +123,7 @@
     		rm -f ../web_$MODEL/Main_ChatStatus_Content.asp
     		rm -f ../web_$MODEL/Advanced_ConnectionMode_Content.asp
     		rm -f ../web_$MODEL/Main_SysInfo_Content.asp
    -		sed -ri '/3G\/CDMA Modem/d;/Main_SysInfo_Content/d' ../web_$MODEL/index.js
    +		sed -ri '/3G\/CDMA Modem/d;/Main_SysInfo_Content/d;/Main_ChatStatus_Content/d' ../web_$MODEL/index.js
     		sed -ri '/usbmodem/d' ../web_$MODEL/Advanced_LANWAN_Content.asp
     	fi
    D-Link DIR-320 A1/A2, DIR-620 C1, Netgear WNR3500L v1 v2

  15. #15
    Quote Originally Posted by Vampik View Post
    Меня все время волновало, почему неправильно отображается загрузка CPU в rtn-ветке. Посмотрел - оказывается, не учитывается iowait, irq, softirq, добавленные в ядре 2.6, которых не было в 2.4.
    Может патчик добавить?
    Верно подмечено, спасибо.
    Однако, web интерфейс - это абстракция над тем, что и с какими версиями крутится внутри. Поэтому править нужно не svg файл, а httpd, чтобы он сразу выдавал total, idle и sys.

    Quote Originally Posted by Vampik View Post
    Правда, не знаю, насколько корректно на графике добавлять прерывания и прочее к sys, но ведь это не юзерские процессы.
    iowait вообще добавлять к загруженности не стоит, как в procps 2.x, irq/sirq - нужно.

    Quote Originally Posted by bmenee View Post
    предлагаю добавить favicon из вложения, избавит браузеры необходимости делать лишние запросы на favicon с 404 ошибкой от вебсервера, добавит немного узнаваемости прошивке (это будет логотип с сайта прошики, если будет другой логотип - можно его поставить в качестве обновленного favicon, можно для rt версии сделать свой favicon), фича незначительная, но во многих других продуктах присуствует
    Да, давно хотел добавить, все руки не доходили.
    Пара замечаний - доступ к favicon.ico должен быть без авторизации и только к нему, шаблон *.ico - уже с авторизацией, если когда нибудь это и понадобится. саму иконку я бы выдрал из официальных морд, чёб нет.

    Quote Originally Posted by Vampik View Post
    skip
    попробуй вот это, должно прозрачно работать на всех ветках
    Code:
    Index: web_ex.c
    ===================================================================
    --- web_ex.c	(revision 2455)
    +++ web_ex.c	(working copy)
    @@ -2081,24 +2081,43 @@
     	fputs("\r\n", stream); /* terminator */
     }
     
    +struct cpu_jiff {
    +	/* Linux 2.4.x has only first four */
    +	unsigned long long user;
    +	unsigned long long nice;
    +	unsigned long long sys;
    +	unsigned long long idle;
    +	unsigned long long iowait;
    +	unsigned long long irq;
    +	unsigned long long softirq;
    +	unsigned long long steal;
    +	unsigned long long guest;
    +};
    +
     static void
     do_cpustat(char *url, FILE *stream)
     {
    -	char line[256];
    -	int i, llen;
    -	char buffer[256];
    -	int strbuffer = 0;
    -	buffer[strbuffer++] = '\n';
    -	FILE *in = fopen("/proc/stat", "rb");
    -	if (in == NULL) return;
    -	if (fgets(line, sizeof(line), in) == NULL) return;
    -	llen = strlen(line);
    -	for (i = 0; i < llen; i++) {
    -		buffer[strbuffer++] = line[i];
    +	FILE *fp;
    +	char line[80];
    +	struct cpu_jiff cpu;
    +
    +	fp = fopen("/proc/stat", "rb");
    +	if (fp == NULL)
    +		return;
    +	memset(&cpu, 0, sizeof(cpu));
    +
    +	if (fgets(line, sizeof(line), fp)
    +	 && sscanf(line, "cpu %llu %llu %llu %llu %llu %llu %llu %llu %llu",
    +	    &cpu.user, &cpu.nice, &cpu.sys, &cpu.idle,
    +	    &cpu.iowait, &cpu.irq, &cpu.softirq, &cpu.steal, &cpu.guest) >= 4)
    +	{
    +		/* procps 2.x does not count iowait as busy time */
    +		cpu.sys += cpu.irq + cpu.softirq + cpu.steal + cpu.guest;
    +		cpu.idle += cpu.iowait;
    +		websWrite(stream, "\ncpu %llu %llu %llu %llu",
    +		    cpu.user, cpu.nice, cpu.sys, cpu.idle);
     	}
    -	buffer[strbuffer] = 0;
    -	fclose(in);
    -	websWrite(stream, "%s", buffer);
    +	fclose(fp);
     }
     
     static void
    Last edited by Omega; 02-03-2011 at 17:12. Reason: 2 post merged

Page 4 of 11 FirstFirst ... 23456 ... LastLast

Similar Threads

  1. Не могу зайти в web-интерфейс роутера
    By shipov in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 154
    Last Post: 28-09-2015, 13:14
  2. Новый роутер Asus RT-N12 B1/C1/D1/HP/VP
    By Omega in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 148
    Last Post: 03-05-2015, 15:29
  3. OpenVPN в составе прошивки от энтузиастов
    By ryzhov_al in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 108
    Last Post: 27-11-2013, 15:38
  4. Replies: 83
    Last Post: 11-12-2012, 18:31
  5. Веб интерфейс для wget
    By KOCTET in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 12
    Last Post: 26-04-2009, 10:23

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •