MyPage

From DD-WRT Wiki

Jump to: navigation, search

You are here: DD-WRT wiki mainpage / Web-GUI / Status / MyPage

Contents

[edit] Status

Status is green! This wiki page is synchronized with the new version 0.16!
Any suggestions & feedbacks are welcome.
Enjoy! - gi-minni


[edit] Introduction

The main advantage to expand the DD-WRT web interface with your own scripts is the ability to quickly see what happens with your router without opening an ssh or telnet shell and thinking around which command must be executed to see some useful results.

Many of us that use DD-WRT have small or no Linux skill, so it is great to have the most useful Linux command executed inside a web page, just click one of this tabs and be happy.

Mypage depends on the NVRAM variable mypage_scripts. Usually this variable is not set and normally you don't care about it. To enable Mypage you must set this variable to test if the Mypage tab appear right hand of the status tab.

If you cannot see the Mypage tab, upgrade your firmware to the latest build and read carefully the next sections to understand what are the prerequisites needed and how to install, configure and setup this pages.

[edit] Prerequisites

You need at least Eko's or Brainslayer's firmware builds equal or greater than revision level svn13309. (See DD-WRT Download)

Look at the syntax of some useful Linux commands. (See Useful Scripts)

Look how to use Telnet or SSH to gain access to the command shell. (See Telnet/SSH)

Look how to setup the variable using nvram. (See Hardware)

Look how to mount a partition on USB storage. (See USB Storage)

[edit] Scripts

Every page has it's own functionality. All features are grouped together. The "Procs", "Ports", "Logs" and "Traffic" page are autorefresh pages. It means this pages refreshes automatically depending on the default refresh interval stored inside the NVRAM partition (default:3 sec.).

Here a brief explanation about all available features:

mypage1.sh is named Host.
This script shows different information about your device like device name, clock frequencies, firmware, kernel version, memory, CPU and loaded kernel modules. All running processes since boot time are also displayed.

mypage2.sh is named Wireless.
This script shows wireless info like driver core, interface, status, version and capabilities of your device. Single and dual band router are currently supported.

mypage3.sh is named Storage.
This script shows all information about the partition/disk in use like internal/external disks and flash. It also contains a backup feature for downloading CFE and NVRAM binaries to a safe place on your computer. Further it has a feature to download the NVRAM variables as text file. This file can be used as import file to reset the NVRAM partition.

mypage4.sh is named Network.
This script shows network related stuff like open ports, interfaces, routing table, arp table and domain name server of your device.

mypage5.sh is named Filter.
This script shows the ip filter nat, log and nat2wan chains of your device. This is an advanced page. Feel free to hide this page using the mypage_setup script.

mypage6.sh is named Kernel.
This scripts shows all the kernel messages emitted during the booting time of your device.

mypage7.sh is named NVRAM.
This scripts shows all the variables stored inside the NVRAM space of your device. The variables are sorted alphabetically.

mypage8.sh is named OPT.
This scripts shows all the installed software packages from the OPTware distribution on your device. This page has only content if you enabled the OPTware distribution. Feel free to hide this page using the mypage_setup script.

mypage9.sh is named Procs.
This scripts shows periodically all the top processes sorted by CPU and memory of your device. This is an autorefresh page.

mypage10.sh is named Ports.
This scripts shows periodically all the open and established network ports of your device. This is an autorefresh page.

mypage11.sh is named Logs.
This scripts shows periodically the last 20 lines of syslogd kernel and user messages of your device. This page has only content if you enabled syslogd and/or ProFTPd support. Feel free to hide this page using the mypage_setup script. This is an autorefresh page.

mypage12.sh is named Traffic.
This scripts shows periodically all physical, bridged and virtual network traffic of your device. This page may put your router under stress. Feel free to hide this page using the mypage_setup script. This is an autorefresh page.

NOTE: Currently there are twelve scripts named mypage1.sh, ..., mypage12.sh.

[edit] Download

This files are stored inside the forum pages:

mypage-files-v0.16-20100129-00520.tgz
mypage-setup-v0.13-20100113-00323.tgz
mypage-shots-v0.16-20100129-00520.tgz

The first tgz file holds all files required to operate Mypage. Create a directory before you extract this file.
The second tgz file holds all setup screenshots. Look at this images and see how the setup tool works.
The third tgz file holds all page screenshots. Look at this images to get an impression about Mypage.

All this files are located at My Page thread. Feel free to download and install this files on your router.

NOTE: If you are a beginner, look at the screenshots before you try to install Mypage!

[edit] Installation

Download the tgz file from the download section and find a useful place where to store it. In my case I store the file under /opt/www. This directory is a symlink to /jffs/opt/www.

Depending which filesystem you own. (SD,MMC,USB,CIFS) You can choose whatever directory you like, don't forget to use a persistent partition that survive a device reboot. Don't use /tmp, because it is a volatile RAM area.

Go to /opt/www and extract the file with:

tar -xvzf mypage-files-v0.16-20100129-00520.tgz .

Set the read flags for all files with:

chmod -R 644 /opt/www/*

NOTE: Set the executable flags for all sh- and asp files! Otherwise the scripts will not work!

chmod -R 755 /opt/www/*.sh /opt/www/*.asp /opt/www/libs/*.sh /opt/www/js/*.js
chmod -R 755 /opt/www/setup/*.sh /opt/www/setup/libs/*.sh /opt/www/setup/lang/*.sh

Root must own the files with:

chown root.root *

In your target directory there must be the following files:

root@rtgate01:/opt/www# ls -l
drw-r--r--    2 root     root            0 Jan 14 21:49 backup            <-- NVRAM text backups are stored here
drw-r--r--    2 root     root            0 Jan 14 21:49 images            <-- images are stored here
drw-r--r--    2 root     root            0 Jan 14 21:49 js                    <-- translation files are stored here
drw-r--r--    2 root     root            0 Jan 14 21:49 libs                 <-- web script libraries are stored here
drw-r--r--    2 root     root            0 Jan 14 21:49 logs                 <-- log files are stored here
-rwxr-xr-x    1 root     root          119 Jan 14 21:49 mypage.live.asp    <-- this is the live asp page
-rwxr-xr-x    1 root     root        18519 Jan 14 21:49 mypage1.sh         <-- this are the twelve script files
-rwxr-xr-x    1 root     root        10928 Jan 14 21:49 mypage10.sh
-rwxr-xr-x    1 root     root        12011 Jan 14 21:49 mypage11.sh
-rwxr-xr-x    1 root     root        13951 Jan 14 21:49 mypage12.sh
-rwxr-xr-x    1 root     root        12748 Jan 14 21:49 mypage2.sh
-rwxr-xr-x    1 rood    root        13924 Jan 14 21:49 mypage3.sh
-rwxr-xr-x    1 root     root        13245 Jan 14 21:49 mypage4.sh
-rwxr-xr-x    1 root     root        15251 Jan 14 21:49 mypage5.sh
-rwxr-xr-x    1 root     root        10711 Jan 14 21:49 mypage6.sh
-rwxr-xr-x    1 root     root        12740 Jan 14 21:49 mypage7.sh
-rwxr-xr-x    1 root     root        12797 Jan 14 21:49 mypage8.sh
-rwxr-xr-x    1 root     root        10415 Jan 14 21:49 mypage9.sh
drw-r--r--    2 root     root            0 Jan 14 21:49 setup                <-- setup scripts are stored here
drw-r--r--    2 root     root            0 Jan 14 21:49 style                 <-- style css file is stored here


Here you find all the related files for the installation script. Whenever you like go to /opt/www/inst and execute mypage_inst.sh to view or hide some Mypage scripts from the web interface.

root@rtgate01:/opt/www/setup# ls -l
drw-r--r--    2 root     root          0 Jan 14 21:49 libs                      <-- setup script libraries are stored here
drw-r--r--    2 root     root          0 Jan 14 21:49 lang                     <-- setup NLS scripts are stored here
-rw-r--r--    1 root     root       0 2010-01-14 21:49 mypage10               <-- this files shows/hide the respective page
-rw-r--r--    1 root     root       0 2010-01-14 21:49 mypage11         
-rw-r--r--    1 root     root       0 2010-01-14 21:49 mypage12
-rw-r--r--    1 root     root       0 2010-01-14 21:49 mypage5
-rw-r--r--    1 root     root       0 2010-01-14 21:49 mypage6
-rw-r--r--    1 root     root       0 2010-01-14 21:49 mypage7
-rw-r--r--    1 root     root       0 2010-01-14 21:49 mypage8
-rw-r--r--    1 root     root       0 2010-01-14 21:49 mypage9
-rwxr-xr-x 1 root    root 6160 2010-01-14 21:49 mypage_setup.sh <-- this is the setup script


Don't forget to symbolic link /opt/www to /tmp/www (See below)

root@rtgate01:/tmp# ls -l
drw-r--r--    2 root     root            0 Jan 12 14:57 cron.d
-rw-r--r--    1 root     root             0 Jan 12 14:57 crontab
-rw-r--r--    1 root     root         229 Jan  1  1970 dnsmasq.conf
-rw-r--r--    1 root     root           89 Jan 13 08:45 dnsmasq.leases
drw-r--r--    2 root     root            0 Jan  1  1970 etc
-rw-r--r--    1 root     root           41 Jan  1  1970 hosts
-rw-r--r--    1 root     root         231 Jan 12 14:57 igmpproxy.conf
-rw-r--r--    1 root     root           86 Jan  1  1970 loginprompt
-rw-r--r--    1 root     root             4 Jan  1  1970 nas.wl0lan.pid
drw-r--r--    3 root     root             0 Jan  1  1970 oet
-rw-r--r--    1 root     root           41 Jan  1  1970 resolv.conf
-rw-r--r--    1 root     root           23 Jan  1  1970 resolv.dnsmasq
drw-r--r--    3 root     root             0 Jan  1  1970 root
lrwxrwxrwx  1 root     root            8 Jan  1  1970 udhcpc -> /sbin/rc
-rw-r--r--    1 root     root             6 Jan  1  1970 udhcpc.expires
drw-r--r--   10 root     root            0 Jan  1  1970 var 
lrwxrwxrwx  7 root  root           0 Jan 14 21:49 www -> /opt/www     <-- symbolic link to /opt/www for NLS

NOTE: In this example I use /opt/www, feel free to use a different directory instead. In this case reference everything to this directory. This directory must be persistent! It must survive a reboot of your device!

[edit] Configuration

The scheme of mypage_scripts is:

mypage_scripts="</storage/www/mypage[1].sh> </storage/www/mypage[2].sh> ... </storage/www/mypage[n-1].sh> </storage/www/mypage[n].sh>"

Exchange </storage> with your underlying filesystem /jffs, /mmc, /mnt, /opt, ...

To set the nvram variable login into your device using telnet or ssh and at the command line execute:

nvram set mypage_scripts="/opt/www/mypage1.sh /opt/www/mypage2.sh /opt/www/mypage3.sh /opt/www/mypage4.sh /opt/www/mypage5.sh /opt/www/mypage6.sh /opt/www/mypage7.sh /opt/www/mypage8.sh /opt/www/mypage9.sh /opt/www/mypage10.sh /opt/www/mypage11.sh /opt/www/mypage12.sh"

Don't forget to make the changes persistent with:

nvram commit

The script order is important. It can be called with http://192.168.1.1/MyPage.asp?1, ..., http://192.168.1.1/MyPage.asp?12

With version 0.9 theme and national language support (NLS) is available. All the DD-WRT themes are supported. Currently only english and german translation is available.

Everyone who are able and willing to translate, are kindly requested to contact me (gi-minni).

With NLS there is a need to have a symbolic link from the place where you stored the files to /tmp/www and a startup script that mount this place to /tmp/www after every reboot.

I use /jffs because my device (ASUS RT-N16) has enough space to store things inside the flash partition. In the /opt/etc/config directory I stored a startup script named opt.startup (See below).

This script will mount first /jffs/opt to /opt and afterwards /opt/www to /tmp/www. The second symbolic link is necessary because all the css and js files MUST reside in /tmp/www.

root@rtgate01:/opt/etc/config# cat opt.startup
#!/bin/sh
# Mount /jffs/opt to /opt
if [ -d /jffs/opt ]; then mount -o bind /jffs/opt /opt; fi
# Link /opt/www to /tmp/www for mypage NLS support
if [ -d /tmp/www ]; then rm -rf /tmp/www; fi
ln -s /opt/www /tmp/www

NOTE: Please pay attention that the above script is suited for jffs partitions. Change it for other partition type accordingly.

[edit] Setup

By default all the pages are shown in the web interface. If you'd like to hide some pages because you, for example don't have the Optware packages installed or you don't have a syslogd daemon running or you don't need to display the filter page. No problem, just execute a script and hide the "Filter", "Opt" and "Logs" pages without a hassle.

Beginning with version 0.13 this is possible using a script called mypage_setup.sh located under /opt/www/setup

I'll show you how I for example hide the "Filter", "Opt" and "Logs" page from the web interface menu.

First of all you must login to your router and change to the directory named <your_installation_directory>/setup.

To learn how to handle the installation script read the help information just executing the script and look at the bottom of this wiki. There are four images showing script, help, usage and examples of mypage_setup.sh.


a) Setup parameters

"./mypage_setup.sh <your_installation_directory> <mypage5='y|n'> <mypage6='y|n'> <mypage7='y|n'>  <mypage8='y|n'> <mypage9='y|n'> <mypage10='y|n'> <mypage11='y|n'> <mypage12='y|n'>"


b) Help Information

"./mypage_setup.sh"

If you studied the help in deep, you probably discovered two methods how to setup Mypage:


1) Guided step-by-step method for the newcomer

"./mypage_setup.sh <your_installation_directory>"

This method is best suited for newbies or people new to DD-WRT. Some validation is done to ensure proper operation on one hand, on the other hand the user are guided step-by-step to decide which page he/she like to see or not in the web interface.


2) Express one-step method for the experts

"./mypage_setup.sh <your_installation_directory>  n y y n y y n y"

This method is best suited for experts. The first n stands for no and belongs to mypage5. Mypage5 is the filter page. You got it?. I think so. Now the last y to which pages does it belongs? You're right, to the traffic page. This page will be set to visible and is shown after reloading Mypage again. Guess yourself which page is affected with the second and third n. I hope you don't search for the higher mathematics book from your bookshelf.


3) Unofficial method for the gurus

I know there are a lot of DD-WRT gurus around here. To safe their valuable time, I have implemented this method being pretty fast and very simple to handle.

To hide the above mentioned pages just remove the correspondent file in ./<your_installation_directory>/setup, e.g.

"rm mypage5 mypage8 mypage11"

To show the above mentioned pages just execute a touch in ./<your_installation_directory>/setup, e.g.

"touch mypage5 mypage8 mypage11"


NOTE: Please keep in mind that the first four pages cannot be hidden. The "Host", "Wireless", "Storage" and "Network" page are mandatory.

[edit] Navigation

Every page can have different display blocks. Depending on the amount and content of this display blocks. The displayed blocks can exceed the display region of your screen. For some pages this is true and scrolling will be inevitable.

Another bad thing is that autorefreshing a long page without using AJAX/Javascript will position the page to the top again, loosing the ability to watch a display block repeatedly.

I coded five navigation buttons. This are named top, bottom, refresh, norefresh and goto:

^ (top)          = If this button is pressed the page is displayed from the top.
v (bottom)     = If this button is pressed the page is displayed from the bottom.
o (refresh)     = If this button is pressed a manual page refresh is done or autorefresh is started again.
x (norefresh) = If this button is pressed autorefresh is stopped immediately.
> (goto)         = If this button is pressed the actual block is positioned from the top.

You will see a positive effect, e.g. on the "Host", "Log", "NVRAM" and "Procs" page.

On the "Host" page you can press the goto button from the help menu and you jump directly to the specific display block.

On the "Logs" page you can see the user logs, by pressing the goto button. Every subsequent refreshes lock the page to the specific display block.

On the "NVRAM" page you can just go to the backup buttons, by pressing the bottom button.

On the "Procs" page you can just press the norefresh button and autorefresh is immediately stopped.

[edit] Languages

NLS stands for National Language Support. This feature is available since Version 0.9. Depending on the setting of the NVRAM language variable the right language text file is loaded in the GUI. If a language file does not exists, the GUI will default to English.

NOTE: Until now only English and German translation is available. Feel free to help me in translating the text into other languages for other users who are not confident with this two supported languages. Feel free to PM me if you'd like to help on this task.

[edit] Printing

Beginning with Version 0.16 every page can be printed in WYSIWYG mode. It means that display blocks with large content, like NVRAM variables don't exceed the page boundary and can be easily printed out.

Currently A4 format is supported. US Legal is longer than A4, so no unwanted page breaks will occur.

To print a page just click in the upper right corner a link called print.... Clicking on this link opens a printer dialog. You can now decide which printer target you wont.

NOTE: To save trees, please try to select a PDF driver or print to a file at first. If necessary print only the page you are interested in!

[edit] Backup

Beginning with Version 0.16 two backup files are created once a week. This files are located in /opt/www/backup. Please keep in mind that this files are always overwritten if the NVRAM hash algorithm changes.

Those files has the following structure:

<vendor-name>-<vendor-product>-nvram-backup-<year><month><week>-<svn-release>.txt
<vendor-name>-<vendor-product>-nvram-backup-<year><month><week>-<svn-release>.js

For example asus-rt-n16-nvram-backup-20100104-13575.js or asus-rt-n16-nvram-backup-20100104-13575.txt.

The text file is used as the NVRAM cache file. The js file can be downloaded to a local repository. It contains all NVRAM variables prefixed with nvram set. This format can be easily used as an import file to set some NVRAM variables if needed.

NOTE: Please consider to clean periodically some older files from the directory mentioned above!

[edit] Caching

Beginning with Version 0.16 the NVRAM page is cached. It means that if the nvram variables remains unchanged, the values are read from a backup file located in /opt/www/backup rather than from the NVRAM partition itself. This reduces considerably the amount of computational time. I am using MD5 checksum as the caching algorithm to ensure NVRAM integrity.

[edit] Debugging

The mypage_setup.sh script has a complex debug and log interface. If you use the included symbolic link tmypage_setup.sh you can just see every step the script executes in real time. Running in this mode all commands are skipped. This is the No operation mode or better the script simulation mode. The first t stands for terminal. For example:

./tmypage_setup.sh /opt/www oncelog or ./tmypage_setup.sh /opt/www n y y n y y n y

To create just a log file in the /opt/www/logs directory you must create another symbolic link named fmypage_setup.sh. To write a file please append at the end oncelog. The first f stands for file. For example:

./fmypage_setup.sh /opt/www oncelog or ./fmypage_setup.sh /opt/www n y y n y y n y oncelog

To display and create a file in the /opt/www/logs directory you must create another symbolic link named bmypage_setup.sh. To write a file please append at the end oncelog. The first b stands for both. For example:

./bmypage_setup.sh /opt/www oncelog or ./bmypage_setup.sh /opt/www n y y n y y n y oncelog

NOTE: Please use the symbolic links above only if I advise you to do so or you want to send me unsolicited a bug or something related to it!

[edit] FAQ

Q: Is MyPage hardware dependent?

A: Mypage is hardware independent. It rely heavily on the javascript dd-wrt libraries, nvram program and on generic linux commands. Every router that is supported by dd-wrt can use Mypage without having problems

Q: What firmware build do I need at least?

A: Mypage support was implemented at the end of November 2009. This require at least firmware build svn13309.

Q: How can I open the newly installed pages?

A: To see the newly installed pages you must call the Status Router tab first. If you don't see a tab called My Page, then please download and upgrade your router firmware to the latest level. Afterwards click on My Page and all defined subpages are showed.

Q: Why are all pages blank?

A: Ensure that all the mypage[1-12].sh, mypage.live.asp files have the execution flags set with chmod +x mypage*.sh mypage*.asp.

Q: Why can't I see any human readable text?

A: Ensure that your installation directory is symbolic linked or bound to /tmp/www with ln -s /opt/www /tmp/www or mount -o bind /opt/www /tmp/www otherwise the language file and style can not be loaded properly.

Q: Why is the text not displayed in my own language?

A: Currently only English and German is supported. Feel free to help in translating the js file into your native language. You'll help other people who are not confident with the languages mentioned before. PM me and I'll include it into the next Mypage distribution.

Q: Why is my device name not displayed entirely?

A: Because the max. length is limited to 20 characters. Splitting occur on word boundaries. If space permits the vendor name is showed, otherwise only the device name is displayed.

Q: Why is my host name cropped at the end?

A: Because the max. length is limited to 10 characters. No splitting occur, the host name will be cropped. Otherwise limit your host name in the web interface to 10 characters.

Q: Where is the file with the text version of my NVRAM variables and how can I download it correctly?

A: All the backup files are stored on your router in a directory called backup. To download the content of the text version of your NVRAM variables correctly, you must use the "Save Page as..." dialog of your browser. Please right click the NVRAM variables windows and press the "Save Page as..." dialog and choose another file suffix, e.g. txt or whatever you like.

Q: Why is the content of my NVRAM variable display block empty?

A: To have this display block displayed correctly, you need an empty /opt/www/backup directory.

[edit] Links


[edit] Screenshots

Here I stored all the screenshots. Feel free to post your comments & suggestions.

mypage0.sh - (Status information page)
mypage0.sh - (Status information page)
mypage1.sh - (Host device information page)
mypage1.sh - (Host device information page)
mypage2.sh - (Wireless information page)
mypage2.sh - (Wireless information page)
mypage3.sh - (Storage information page)
mypage3.sh - (Storage information page)
mypage4.sh - (Network information page)
mypage4.sh - (Network information page)
mypage5.sh - (IP Network Filter page)
mypage5.sh - (IP Network Filter page)
mypage6.sh - (Kernel messages page)
mypage6.sh - (Kernel messages page)
mypage7.sh - (NVRAM variables page)
mypage7.sh - (NVRAM variables page)
NVRAM - (NVRAM print variables page)
NVRAM - (NVRAM print variables page)
mypage8.sh - (OPT packages page)
mypage8.sh - (OPT packages page)
mypage9.sh - (Top running processes page)
mypage9.sh - (Top running processes page)
mypage10.sh - (Open & established ports page)
mypage10.sh - (Open & established ports page)
mypage11.sh - (Syslogd kernel & user page)
mypage11.sh - (Syslogd kernel & user page)
mypage12.sh - (Network traffic page)
mypage12.sh - (Network traffic page)

[edit] Images

Here I stored all the images. Feel free to post your comments & suggestions.

NOTE: Remember that beginning with version 0.13 every image can be clicked to be enlarged.

mypage_ip_english_big.png - (IP filter image)
mypage_ip_english_big.png - (IP filter image)
mypage_vlan_english_big.png - (VLAN portmapping image)
mypage_vlan_english_big.png - (VLAN portmapping image)
mypage_setup0.png - (mypage_setup.sh image)
mypage_setup0.png - (mypage_setup.sh image)
mypage_setup1.png - (mypage_setup.sh help image)
mypage_setup1.png - (mypage_setup.sh help image)
mypage_setup2.png - (mypage_setup.sh usage image)
mypage_setup2.png - (mypage_setup.sh usage image)
mypage_setup3.png - (mypage_setup.sh examples image)
mypage_setup3.png - (mypage_setup.sh examples image)

[edit] Changelog

v0.16-20100129-00520
[NEW] NVRAM page is cached - gi-minni
[NEW] Checksum for NVRAM added to NVRAM Page - gi-minni
[NEW] Web shell library created - gi-minni
[NEW] Pagebreak support with  added - gi-minni
[CHG] NVRAM page is formatted for printer output - gi-minni
[NEW] Print page support added to all pages - gi-minni
[CHG] NVRAM text backup file is board dependent - gi-minni
[CHG] NVRAM text backup file is done weekly - gi-minni
[BUG] sshd hostkeys are now filtered correctly - gi-minni
v0.15-20100120-00435
[NEW] Autorefresh pages can be started and stopped. Default is on - gi-minni
[CHG] Added Bottom navigation link - gi-minni
[CHG] Quick navigation links looks like buttons - gi-minni
[BUG] DNS help text not shown - gi-minni
[BUG] Device name is splitted on space and not cropped anymore - gi-minni
[CHG] Backup buttons are now in NVRAM page - gi-minni
[NEW] NVRAM page support backup and nvram as js text file - gi-minni
[NEW] ProFTPD log support in Logs page - gi-minni
v0.14-20100117-00381
[BUG] Optware page shows now content if /opt/bin/ipkg is found - gi-minni
[CHG] Available Optware package info is gone, decreasing query time - gi-minni
[CHG] Refactored color library for setup script - gi-minni
[NEW] Added noop run simulation support for setup script - gi-minni
[NEW] Added debug log, mainlog support for setup script - gi-minni
[NEW] Added symbolic link, debug states for setup script - gi-minni
[NEW] Added term, file, both debug states for setup script - gi-minni
[CHG] Changed lib,log,lang dir be relative to current inst directory - gi-minni
[CHG] Changed log output to own logs directory - gi-minni
[CHG] Started validation library with checkRoot function - gi-minni
[CHG] Refactored lang files in own lang directory - gi-minni
[CHG] Refactored setup libs in own lib directory - gi-minni
[CHG] logdate format reflect language dependency - gi-minni
[CHG] Refactored installation script mypage_inst.sh to mypage_setup.sh - gi-minni
[CHG] Refactored inst directory to setup - gi-minni
[CHG] Added Scriptheader to all files - gi-minni
v0.13-20100113-00323
[CHG] Install functions isolated in own lib file - gi-minni
[ADD] shell environment to host page added - gi-minni
[CHG] Installation script changed - gi-minni
[CHG] speed arp request without name resolution - gi-minni
[CHG] Host keys rearranged in own display block - gi-minni
[CHG] Optware page throw an error if nvram variable is unset - gi-minni
[CHG] Syslog page throw an error if nvram variable is unset - gi-minni
[ADD] Optware, monitor & traffic page depends from inst. script - gi-minni
[ADD] Installation script added - gi-minni
[ADD] Interrupts info to host page added - gi-minni
[CHG] Disk name changed to Partitions in storage page - gi-minni
[ADD] all mountpoints info to storage page added - gi-minni
[CHG] js, log, css and images refactored to it's own dir - gi-minni
[CHG] Images can be shown in a bigger window - gi-minni
[ADD] VLAN port mapping image added - gi-minni
[CHG] IP table image rendered more clearer - gi-minni
[BUG] refreshButton displays only one button if text is set - gi-minni
[NEW] New if, bridge, vlan graphic blocks to traffic page added - gi-minni
[CHG] NVRAM size and free space reformatted and NLS aware - gi-minni
[CHG] Every navigation button has a title - gi-minni
v0.12-20100107-00251
[ADD] Show the last 20 user and kernel log entries - gi-minni
[ADD] New log page created - gi-minni
[ADD] Go to and refresh navigation added to legend - gi-minni
[ADD] Cron table in host page added - gi-minni
[CHG] Memory info in host page changed - gi-minni
[ADD] Routerboard information to host page added - gi-minni
[ADD] NVRAM size and free space to NVRAM page added - gi-minni
[ADD] Bridge interface to network page added - gi-minni
[CHG] Help navigation to each display block changed - gi-minni
[ADD] Legend navigation to top of each page added - gi-minni
[ADD] lan2wan and log filter chains added - gi-minni
[ADD] Chain images added - gi-minni
[ADD] IP filter and NAT table added - gi-minni
[ADD] New IP filter page created - gi-minni
[CHG] Only top 20 processes listed - gi-minni
[ADD] Established network port support added - gi-minni
[CHG] Pagetitle is dynamic and language dependent - gi-minni
[ADD] MyPage forum link added - gi-minni
v0.11-20100105-00213
[ADD] Top processes live page added - gi-minni
[ADD] Netstat live page added - gi-minni
[CHG] ASP files renamed to sh - gi-minni
[ADD] Dualband support added - gi-minni
[ADD] Live update support with mypage.live.asp added - gi-minni
[CHG] css statements refactored into mypage.css - gi-minni
[BUG] arp -a changed to arp, cmd take to long to complete - gi-minni
[BUG] opt ifconfig does not work, internal do - gi-minni
[CHG] WLAN pagename changed to Wireless again - gi-minni
[ADD] MyPage wiki link added - gi-minni
[ADD] MyPage download link added - gi-minni
v0.10-20091227-00185
[CHG] Every help header has a link to it's fieldset - gi-minni
[CHG] Help can include hyperlink - gi-minni
[CHG] Host and device are limited to 17 chars each - gi-minni
[CHG] Due to space constraints mypage is rearranged 1 level up - gi-minni
[ADD] Forum search added to the essential links - gi-minni
[CHG] Flash- and diskblock position rearranged in storage page - gi-minni
[ADD] Backup NVRAM download button added in storage page - gi-minni
[ADD] Backup CFE download button added in storage page - gi-minni
v0.9-20091224-00167
[ADD] Added One german and one english javascript file - gi-minni
[ADD] Added common javascript file - gi-minni
[ADD] Added German and English translations - gi-minni
[ADD] Every page is NLS aware - gi-minni
[CHG] Choosed Monospace font for a sharper view - gi-minni
[CHG] Rearrangements stuff in main page - gi-minni 
[CHG] Download file link adjusted to callback url - gi-minni
[ADD] Theme depends from nvram variable router_style - gi-minni
[ADD] Language depends from nvram variable language - gi-minni
[ADD] Add device to the info header and also into the main page - gi-minni
v0.8-20091223-00047
|ADD] Added date to the info header - gi-minni
[ADD] Added ARP Table to network page - gi-minni
[ADD] Added router database link - gi-minni
[ADD] Hostname added to the info header - gi-minni
[ADD] Started to add language support to the refresh button - gi-minni
[ADD] Autorefresh WAN IP enabled in the header - gi-minni
[ADD] Autorefresh uptime enabled in the header - gi-minni
[ADD] dd-wrt about page added in the header - gi-minni
[CHG] corrected various typos & bugs - gi-minni
v0.7-20091222-00037
[ADD] Added relevant dd-wrt and svn links - gi-minni
[CHG] Help information can display multiple links - gi-minni
[ADD] Version information is showed on each page - gi-minni
[ADD] Added inline stylesheet version - gi-minni
[ADD] New OPT page shows the installed and available opt packages - gi-minni
v0.6-20091221-00033
[ADD] Help information provided with notes and links - gi-minni
[ADD] inline stylesheet added with note and also style - gi-minni
v0.5-20091221-00021
[CHG] Pages are rendered in standard compliance mode (no quirks mode) - gi-minni
[CHG] Page suffix changed to asp - gi-minni
[ADD] Driver capabilities is wrapped as token for correct alignment - gi-minni
[CHG] Wireless info depends on interface read from nvram variable - gi-minni
[ADD] Help information is showed on each page - gi-minni
[ADD] Flash information on storage page - gi-minni
[CHG] Every wrapped lines is marked with the raquo symbol - gi-minni
v0.4-20091220-00015
[DEL] Uptime information removed from every page - gi-minni
[ADD] Header info reflect actual design - gi-minni
[ADD] HTML pagetitle reflect actual design - gi-minni
[ADD] Routing table added to network page - gi-minni
[ADD] Domain name server added to network page - gi-minni
[ADD] Kernel page added and wrapped at pos 75 for correct alignment - gi-minni
[ADD] NVRAM page added and wrapped at pos 75 for correct alignment - gi-minni
v0.3-20091220-00010
[ADD] netstat is cutted at pos 75 for correct alignment - gi-minni
[ADD] process list is wrapped at pos 75 for correct alignment - gi-minni
[NEW] initial version - gi-minni