The backup and restore custom icons can be or is backed up to a USB drive attached to the router. Once saved to the USB drive you should be able to access that storage location to copy the backup somewhere else. While in the GUI, creating a compressed file and offering the user a dialog screen asking them where to save it or to upload it for importation would be a nice feature, under the current implementation the user can copy the backed up file somewhere else, just takes one or two extra steps.Another feature would be nice when someone saves icons to offer download outside of the router for backup.
"Back up & Restore" custom user icons
You can save a backup of the custom user icons found in the "/jffs/usericons" directory, and you can later select one of the backup files to restore the icons files as needed. The command line interface allows you to change the directory path where the backup subdirectory is located, and you have option to delete backup files, or list the contents of a backup file. The default maximum number of backup files to keep is 20, but you can change this maximum setting (between min=5 to max=50) using the CLI menu.
NOTES
- The current implementation of the "Back up & Restore" of custom user icons does NOT export to or import from an external PC or client device connected to the router. Instead, it targets a directory available either on the router's JFFS partition or in a USB-attached disk drive. This target directory is where the subdirectory for backups is created and can be modified using the CLI menu (see note #3 below).
- The CLI main menu option 2 for the "Back up & Restore" functionality will show up only if there is at least one custom user icon file found in the "/jffs/usericon" directory, or if at least one backup file is found in the directory path defined for backups. If none of those 2 conditions is met, the option 2 will not show up in the main menu.
- To start using the "Back up & Restore custom user icons" feature, it's highly recommended to set the target directory where the subdirectory for backups is to be located (see option "dp" in the CLI menu). For the backups subdirectory to survive a "Factory Defaults Reset" of the router, it's highly recommended to use a directory path located on a disk drive plugged in to one of the router's USB ports. You don't have to have Entware installed on the USB-attached disk; any USB disk drive formatted with either NTFS or ext4 is sufficient to use as storage for the backup files.
For me, if it means (what I think it means) i.e. doing away with the manual /jffs/config/dnsmasq-x.conf.add then it is a resounding YES. I would love this feature!Is the above functionality something that users would like to have available?
For 3006 firmware, other than duplicating the feature from elsewhere it may be usefull to add this to YazDHCP, even if it's just to centralise everything. For 3004 no question - a big fat YES!
Beta tester ready!![]()
Yes, that's the intended goal. Any available Guest Network that's currently enabled/active with a separate subnet from the Main LAN subnet would be allowed to have manually-assigned DHCP IP address reservations for its clients on the YazDHCP webUI page.For simplicities sake, such inclusion would have been fantastic on the 3004.x Asus-Merlin firmware running YazFi. Would have saved the extra step of having to have two files to backup and restore, the YazDHCP file and the YazFi's manual reservation/jffs/scripts/dnsmasq.postconf
file. And, I assume such a feature would allow for the YazFi user to create and enter new manual YazFi client reservations directly into the LAN DHCP Server manual reservation section.
Note that there is a hard limit (about 8KB, IIRC) on how much data can be passed between the webUI page and its shell script (AFAIK, this limit is imposed by the RMerlin F/W). So the total number of possible IP address reservations that gets displayed on the webU page is dynamically calculated as each entry is saved, based on the average length of all current entries. Given this limitation, the recommendation is to keep all Hostname strings short - about 10-12 chars each - so you don't exhaust the limited storage with only a few dozen entries.For me, if it means (what I think it means) i.e. doing away with the manual /jffs/config/dnsmasq-x.conf.add then it is a resounding YES. I would love this feature!
I know GNP does have manual assignments but as per my responses to one of the Merlin 3006.102.xx threads, I quickly hit the limit of numbers of these reservations well before the supposed 'formal' limit, So I think 3006 would also benefit greatly!
Awesome to hear it’s going to take shape and really appreciate you taking this on. Seems a lot of work, so all the more thanks!Also, having a single webUI page to assign all IP address reservations (within a limit - see below), where the "backup and restore" functionality is also available, would be one of the big advantages, as other people have mentioned.
Would think it would almost have to be done that way. Some sort of tabs, or separator, or delineation between networks of the DHCP reservation list so users are not confused and assigning clients to the wrong network.Sort of wondering if a separate tab for each VLAN on GNP would be neater?
Not my call obviously, but I’m sort of undecided on the merits of one big long list for ALL the reservations, Primary and each VLAN, if that’s what is proposed. Sort of wondering if a separate tab for each VLAN on GNP would be neater? Be interested to hear other folks thoughts on this.
Would think it would almost have to be done that way. Some sort of tabs, or separator, or delineation between networks of the DHCP reservation list so users are not confused and assigning clients to the wrong network.
It will likely come down to usability once you have something for people to play with and test out. What ever the case, should be a great feature addition for users.Frankly, I don't see the need to have a separate tab or some kind of separator for each Guest Network.
##########################################################
## ##
## __ __ _____ _ _ _____ _____ ##
## \ \ / / | __ \ | | | | / ____|| __ \ ##
## \ \_/ /__ _ ____| | | || |__| || | | |__) | ##
## \ // _ ||_ /| | | || __ || | | ___/ ##
## | || (_| | / / | |__| || | | || |____ | | ##
## |_| \__,_|/___||_____/ |_| |_| \_____||_| ##
## ##
## v1.0.7 on RT-AC88U ##
## ##
## https://github.com/jackyaz/YazDHCP ##
## ##
##########################################################
Welcome to YazDHCP v1.0.7, a script by JackYaz
Checking if your router meets the requirements for YazDHCP
**INFO**: Backup directory [/opt/var/SavedUserIcons] NOT FOUND.
Trying again with directory [/jffs/configs/SavedUserIcons]
*WARNING*: Alternative Backup directory [/jffs/configs/SavedUserIcons]
YazDHCP will backup NVRAM/JFFS DHCP data as part of the export,
but you may wish to screenshot the following WebUI page:
http://IP/Advanced_DHCP_Content.asp
If you wish to screenshot, please do so now before the WebUI page is updated by YazDHCP.
Press the <Enter> key when you are ready to continue...
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
New version of Advanced_DHCP_Content.asp downloaded
Mounting WebUI tab for YazDHCP
mount: mounting /jffs/addons/YazDHCP.d/Advanced_DHCP_Content.asp on /www/Advanced_DHCP_Content.asp failed: No such file or directory
WebUI tab for YazDHCP was mounted.
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
curl: (6) Could not resolve host: jackyaz.io
New version of shared-jy.tar.gz downloaded
Do you want to export DHCP assignments and hostnames from NVRAM to YazDHCP DHCP client files?
YazDHCP will backup NVRAM/JFFS DHCP data as part of the export process.
Enter answer (y/n): y
DHCP information successfully exported from NVRAM
DHCP hostname list unchanged
DHCP static assignment list unchanged
DHCP options list unchanged
Restarting dnsmasq for exported DHCP settings to take effect.
YazDHCP installed successfully!
will@RT-AC88U-CDF8:/tmp/home/root# nslookup google.com
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost.localdomain
Name: google.com
Address 1: 2607:f8b0:4004:c1d::8a ww-in-f138.1e100.net
Address 2: 172.253.63.102 bi-in-f102.1e100.net
Address 3: 172.253.63.113 bi-in-f113.1e100.net
Address 4: 172.253.63.139 bi-in-f139.1e100.net
Address 5: 172.253.63.101 bi-in-f101.1e100.net
Address 6: 172.253.63.100 bi-in-f100.1e100.net
Address 7: 172.253.63.138 bi-in-f138.1e100.net
will@RT-AC88U-CDF8:/tmp/home/root# ping google.com
PING google.com (172.253.62.138): 56 data bytes
64 bytes from 172.253.62.138: seq=1 ttl=108 time=9.820 ms
64 bytes from 172.253.62.138: seq=2 ttl=108 time=10.704 ms
64 bytes from 172.253.62.138: seq=3 ttl=108 time=9.612 ms
64 bytes from 172.253.62.138: seq=4 ttl=108 time=8.514 ms
64 bytes from 172.253.62.138: seq=5 ttl=108 time=10.506 ms
^C
--- google.com ping statistics ---
6 packets transmitted, 5 packets received, 16% packet loss
round-trip min/avg/max = 8.514/9.831/10.704 ms
##########################################################
## ##
## __ __ _____ _ _ _____ _____ ##
## \ \ / / | __ \ | | | | / ____|| __ \ ##
## \ \_/ /__ _ ____| | | || |__| || | | |__) | ##
## \ // _ ||_ /| | | || __ || | | ___/ ##
## | || (_| | / / | |__| || | | || |____ | | ##
## |_| \__,_|/___||_____/ |_| |_| \_____||_| ##
## ##
## v1.0.10 on RT-AC88U ##
## ##
## https://github.com/AMTM-OSR/YazDHCP ##
## Forked from https://github.com/jackyaz/YazDHCP ##
## ##
##########################################################
Welcome to YazDHCP v1.0.10, a script by JackYaz
Checking if your router meets the requirements for YazDHCP
**INFO**: Backup directory [/opt/var/SavedUserIcons] NOT FOUND.
Trying again with directory [/jffs/configs/SavedUserIcons]
*WARNING*: Alternative Backup directory [/jffs/configs/SavedUserIcons]
YazDHCP will backup NVRAM/JFFS DHCP data as part of the export,
but you may wish to screenshot the following WebUI page:
http://IP/Advanced_DHCP_Content.asp
If you wish to screenshot, please do so now before the WebUI page is updated by YazDHCP.
Press the <Enter> key when you are ready to continue...
curl: (60) SSL certificate problem: certificate is not yet valid
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
New version of Advanced_DHCP_Content.asp downloaded
Mounting WebUI tab for YazDHCP
mount: mounting /jffs/addons/YazDHCP.d/Advanced_DHCP_Content.asp on /www/Advanced_DHCP_Content.asp failed: No such file or directory
WebUI tab for YazDHCP was mounted.
curl: (60) SSL certificate problem: certificate is not yet valid
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
curl: (60) SSL certificate problem: certificate is not yet valid
More details here: https://curl.se/docs/sslcerts.html
curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
tar: can't open '/jffs/addons/shared-jy/shared-jy.tar.gz': No such file or directory
New version of shared-jy.tar.gz downloaded
Do you want to export DHCP assignments and hostnames from NVRAM to YazDHCP DHCP client files?
YazDHCP will backup NVRAM/JFFS DHCP data as part of the export process.
Enter answer (y/n): y
DHCP information successfully exported from NVRAM
DHCP hostname list unchanged
DHCP static assignment list unchanged
DHCP options list unchanged
Restarting dnsmasq for exported DHCP settings to take effect.
YazDHCP installed successfully!
date
Sun Dec 31 19:13:40 EST 2023
ntpd -q -p pool.ntp.org
will@RT-AC88U-CDF8:/tmp/home/root# date
Sat Aug 30 19:52:01 DST 2025
Hi,
Is there a way to install the develop 1.0.7 (https://raw.githubusercontent.com/jackyaz/YazDHCP/refs/heads/develop/YazDHCP.sh) build offline?
As in no WAN connection to the internet.
It seems to want to download shared-jy.tar.gz from https://jackyaz.io/shared-jy/master, but that seems to no longer exist. I noticed that shared-jy.tar.gz is now at https://github.com/jackyaz/shared-jy/blob/master/shared-jy.tar.gz
So I copied that over to: /jffs/addons/shared-jy/shared-jy.tar.gz
Then ran the install, but sadly it shows this:
Code:########################################################## ## ## ## __ __ _____ _ _ _____ _____ ## ## \ \ / / | __ \ | | | | / ____|| __ \ ## ## \ \_/ /__ _ ____| | | || |__| || | | |__) | ## ## \ // _ ||_ /| | | || __ || | | ___/ ## ## | || (_| | / / | |__| || | | || |____ | | ## ## |_| \__,_|/___||_____/ |_| |_| \_____||_| ## ## ## ## v1.0.7 on RT-AC88U ## ## ## ## https://github.com/jackyaz/YazDHCP ## ## ## ########################################################## Welcome to YazDHCP v1.0.7, a script by JackYaz Checking if your router meets the requirements for YazDHCP **INFO**: Backup directory [/opt/var/SavedUserIcons] NOT FOUND. Trying again with directory [/jffs/configs/SavedUserIcons] *WARNING*: Alternative Backup directory [/jffs/configs/SavedUserIcons] YazDHCP will backup NVRAM/JFFS DHCP data as part of the export, but you may wish to screenshot the following WebUI page: http://IP/Advanced_DHCP_Content.asp If you wish to screenshot, please do so now before the WebUI page is updated by YazDHCP. Press the <Enter> key when you are ready to continue... curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io New version of Advanced_DHCP_Content.asp downloaded Mounting WebUI tab for YazDHCP mount: mounting /jffs/addons/YazDHCP.d/Advanced_DHCP_Content.asp on /www/Advanced_DHCP_Content.asp failed: No such file or directory WebUI tab for YazDHCP was mounted. curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io curl: (6) Could not resolve host: jackyaz.io New version of shared-jy.tar.gz downloaded Do you want to export DHCP assignments and hostnames from NVRAM to YazDHCP DHCP client files? YazDHCP will backup NVRAM/JFFS DHCP data as part of the export process. Enter answer (y/n): y DHCP information successfully exported from NVRAM DHCP hostname list unchanged DHCP static assignment list unchanged DHCP options list unchanged Restarting dnsmasq for exported DHCP settings to take effect. YazDHCP installed successfully!
But the router's Advanced_DHCP_Content.asp page is still the normal page.
I guess that the error of "mount: mounting /jffs/addons/YazDHCP.d/Advanced_DHCP_Content.asp on /www/Advanced_DHCP_Content.asp failed: No such file or directory" is to blame.
RT-AC88U with Firmware: 386.14_2 - I know it's old, hence why not on WAN ATM.
I also tried the build from https://github.com/AMTM-OSR/YazDHCP and I basically have the same problem.
Thanks for the assistance,
Will
Well seems I can't edit, too bad.
Said F it, got it back online temp:
Code:will@RT-AC88U-CDF8:/tmp/home/root# nslookup google.com Server: 127.0.0.1 Address 1: 127.0.0.1 localhost.localdomain Name: google.com Address 1: 2607:f8b0:4004:c1d::8a ww-in-f138.1e100.net Address 2: 172.253.63.102 bi-in-f102.1e100.net Address 3: 172.253.63.113 bi-in-f113.1e100.net Address 4: 172.253.63.139 bi-in-f139.1e100.net Address 5: 172.253.63.101 bi-in-f101.1e100.net Address 6: 172.253.63.100 bi-in-f100.1e100.net Address 7: 172.253.63.138 bi-in-f138.1e100.net will@RT-AC88U-CDF8:/tmp/home/root# ping google.com PING google.com (172.253.62.138): 56 data bytes 64 bytes from 172.253.62.138: seq=1 ttl=108 time=9.820 ms 64 bytes from 172.253.62.138: seq=2 ttl=108 time=10.704 ms 64 bytes from 172.253.62.138: seq=3 ttl=108 time=9.612 ms 64 bytes from 172.253.62.138: seq=4 ttl=108 time=8.514 ms 64 bytes from 172.253.62.138: seq=5 ttl=108 time=10.506 ms ^C --- google.com ping statistics --- 6 packets transmitted, 5 packets received, 16% packet loss round-trip min/avg/max = 8.514/9.831/10.704 ms
But it fails:
Code:########################################################## ## ## ## __ __ _____ _ _ _____ _____ ## ## \ \ / / | __ \ | | | | / ____|| __ \ ## ## \ \_/ /__ _ ____| | | || |__| || | | |__) | ## ## \ // _ ||_ /| | | || __ || | | ___/ ## ## | || (_| | / / | |__| || | | || |____ | | ## ## |_| \__,_|/___||_____/ |_| |_| \_____||_| ## ## ## ## v1.0.10 on RT-AC88U ## ## ## ## https://github.com/AMTM-OSR/YazDHCP ## ## Forked from https://github.com/jackyaz/YazDHCP ## ## ## ########################################################## Welcome to YazDHCP v1.0.10, a script by JackYaz Checking if your router meets the requirements for YazDHCP **INFO**: Backup directory [/opt/var/SavedUserIcons] NOT FOUND. Trying again with directory [/jffs/configs/SavedUserIcons] *WARNING*: Alternative Backup directory [/jffs/configs/SavedUserIcons] YazDHCP will backup NVRAM/JFFS DHCP data as part of the export, but you may wish to screenshot the following WebUI page: http://IP/Advanced_DHCP_Content.asp If you wish to screenshot, please do so now before the WebUI page is updated by YazDHCP. Press the <Enter> key when you are ready to continue... curl: (60) SSL certificate problem: certificate is not yet valid More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above. New version of Advanced_DHCP_Content.asp downloaded Mounting WebUI tab for YazDHCP mount: mounting /jffs/addons/YazDHCP.d/Advanced_DHCP_Content.asp on /www/Advanced_DHCP_Content.asp failed: No such file or directory WebUI tab for YazDHCP was mounted. curl: (60) SSL certificate problem: certificate is not yet valid More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above. curl: (60) SSL certificate problem: certificate is not yet valid More details here: https://curl.se/docs/sslcerts.html curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and how to fix it, please visit the web page mentioned above. tar: can't open '/jffs/addons/shared-jy/shared-jy.tar.gz': No such file or directory New version of shared-jy.tar.gz downloaded Do you want to export DHCP assignments and hostnames from NVRAM to YazDHCP DHCP client files? YazDHCP will backup NVRAM/JFFS DHCP data as part of the export process. Enter answer (y/n): y DHCP information successfully exported from NVRAM DHCP hostname list unchanged DHCP static assignment list unchanged DHCP options list unchanged Restarting dnsmasq for exported DHCP settings to take effect. YazDHCP installed successfully!
Was about to send that.
Then realized:
Code:date Sun Dec 31 19:13:40 EST 2023
NO wonder.
Code:ntpd -q -p pool.ntp.org will@RT-AC88U-CDF8:/tmp/home/root# date Sat Aug 30 19:52:01 DST 2025
Much better, and what do you know, it worked. Thanks! - Cable pulled. Hopefully didn't get hacked in the less than 5 mins it was on the internet, ha.
It's behind 2 other firewalls, so not that worried. And no ports forwarded or anything like that.
Figured I'd post in case someone else runs into this. But yeah, an offline install option would be ideal. Anyways, it's working. TY!
Made a similar observation previously in this discussion on the issue of the 3006 GNP manual reservations in the interface.I have just one reservation. I have already defined manual IPs for IoT devices in GNP. Would your addition to YazDHCP ignore these, adopt these, or disable them? Or would YazDHCP just fall over?
Hopefully a way can be coded to pull the GNP manual IP reservation NVRAM values and include them in the YazDHCP process for those who choose use the manual GNP GUI reservation method over the dnsmasq-INDEX.conf.add or dnsmasq-sdn.postconf file method.Such a feature on the 3006 firmware and it's Guest Network Pro Profiles would also be useful but likely far more complex to program due to VLAN/SDN's on the 3006.x firmware and it's manual reservation setting under the Guest Network Pro Profile that gets saved to NVRAM versus using a dnsmasq-INDEX.conf.add or dnsmasq-sdn.postconf file. But it would still be extremely useful to be able to input all the manual reservations in one place and be able to backup and restore them.
Indeed you did.Made a similar observation previously in this discussion on the issue of the 3006 GNP manual reservations in the interface.
YazDHCP will just stumble and fall over, of course. That's the intended plan…I have just one reservation. I have already defined manual IPs for IoT devices in GNP. Would your addition to YazDHCP ignore these, adopt these, or disable them? Or would YazDHCP just fall over?
Welcome To SNBForums
SNBForums is a community for anyone who wants to learn about or discuss the latest in wireless routers, network storage and the ins and outs of building and maintaining a small network.
If you'd like to post a question, simply register and have at it!
While you're at it, please check out SmallNetBuilder for product reviews and our famous Router Charts, Ranker and plenty more!