MyPage

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 14:11, 27 December 2009 (edit)
Gi-minni (Talk | contribs)
(Changelog)
← Previous diff
Revision as of 14:17, 27 December 2009 (edit) (undo)
Gi-minni (Talk | contribs)
(Download)
Next diff →
Line 100: Line 100:
Please download it from the [http://www.dd-wrt.com/phpBB2/viewtopic.php?p=385006#385006 My Page thread] Please download it from the [http://www.dd-wrt.com/phpBB2/viewtopic.php?p=385006#385006 My Page thread]
- +Go to /opt/www and extract the file with:
 + tar -xvzf mypage-files-v0.10-20091227-00185.tgz .
== Screenshots == == Screenshots ==

Revision as of 14:17, 27 December 2009

Contents

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 feel good.

This is possible by using the NVRAM variable mypage_scripts. Usually this variable is empty and normally you don't care about it. In this case you must set this variable to be able to see the scripts inside the web interface.

Please read carefully the next sections to understand what are the prerequisites needed and how to install and configure this pages.

Prerequisite

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 sotrage. (See USB Storage)

Requirements

The scheme of mypage_scripts is:

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

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

Currently there are seven scripts names MyPage1.asp, ..., MyPage7.asp.

Feel free to use only some of them. If this is the case set the order of mypage_scripts accordingly. Right now the filename is not important. Important is the order inside the mypage_scripts variable.

MyPage1.asp is named Host.
This script displays different information about your device like device name, firmware, kernel version, memory, running processes, CPU and loaded drivers.

MyPage2.asp is named WLAN.
This script displays some wireless info like driver core, interface, status, version and capabilities.

MyPage3.asp is named Storage.
This script displays all information about the partition/disk in use like internal/external disks and flash.

MyPage4.asp is named Network.
This script displays network related stuff like open ports, interfaces, routing table, arp table and domain name server.

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

MyPage6.asp is named NVRAM.
This scripts shows all the variables stored inside the NVRAM space.

MyPage7.asp is named OPT.
This scripts shows all the installed and available software packages from OPTware.

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.

You can choose another place, depending which filesystem you own. (SD,MMC,USB,CIFS)

Extract the file with:

tar -xvzf mypage-files-v0.8-20091223-00047.tgz

Set the executable flags with:

chmod 755 MyPage*

Root must own the files with:

chown root.root MyPage*

In your target directory there must be one logfile and seven aspfiles.

Configuration

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

nvram set mypage-scripts="/jffs/opt/www/MyPage1.asp /jffs/opt/www/MyPage2.asp /jffs/opt/www/MyPage3.asp /jffs/opt/www/MyPage4.asp /jffs/opt/www/MyPage5.asp /jffs/opt/www/MyPage6.asp /jffs/opt/www/MyPage7.asp"

I use /jffs because my device (ASUS RT-N16) has enough space to store things inside the flash partition.

Don't forget to make the changes persistent with:

nvram commit

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.

To accomplish this please do:

# Link /opt/www to /tmp/www for mypage i18n support
if [ -d /tmp/www ]; then rm -rf /tmp/www; fi
ln -s /opt/www /tmp/www

In the /etc/config directory store a startup script named opt.startup

#!/bin/ash
# Mount /jffs/opt to /opt
if [ -d /jffs/opt ]; then mount -o bind /jffs/opt /opt; fi
# Mount changed profile to /etc/profile
if [ -e /jffs/etc/profile ]; then mount -o bind /jffs/etc/profile /etc/profile; fi
# Link /opt/www to /tmp/www for mypage i18n support
if [ -d /tmp/www ]; then rm -rf /tmp/www; fi
ln -s /opt/www /tmp/www

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

Download

The file (e.g. mypage-files-v0.8-20091223-00047.tgz) is stored inside the forum pages.

Please download it from the My Page thread

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

tar -xvzf mypage-files-v0.10-20091227-00185.tgz .

Screenshots

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

MyPage1.asp - (Host device information page)
MyPage1.asp - (Host device information page)
MyPage2.asp - (Wireless information page)
MyPage2.asp - (Wireless information page)
MyPage3.asp - (Storage information page)
MyPage3.asp - (Storage information page)
MyPage4.asp - (Network information page)
MyPage4.asp - (Network information page)
MyPage5.asp - (Kernel messages page)
MyPage5.asp - (Kernel messages page)
MyPage6.asp - (NVRAM variables page)
MyPage6.asp - (NVRAM variables page)
MyPage7.asp - (OPT packages page)
MyPage7.asp - (OPT packages page)

Changelog

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