DD-WRT wget returns a cached file

1.4k views Asked by At

I'm developing an installer for my YAMon script for *WRT routers (see http://www.dd-wrt.com/phpBB2/viewtopic.php?t=289324).

I'm currently testing on a TP-Link TL-WR1043ND with DD-WRT v3.0-r28647 std (01/02/16). Like many others, this firmware variant does not include curl so I (gracefully) fall back to a wget call. But, it appears that DD-WRT includes a cut-down version of wget so the -C and --no-cache options are not recognized.

Long & short, my wget calls insist on downloading cached versions of the requested files.

BTW - I'm using: wget "$src" -qO "$dst" where src is the source file on my remote server and dst is the destination on the local router

So far I've unsuccessfully tried to: 1. append a timestamp to the request URL 2. reboot the router 3. run stopservice dnsmasq & startservice dnsmasq None have changed the fact that I'm still getting a cached version of the file.

I'm beating my head against the wall... any suggestions? Thx!

Al

2

There are 2 answers

0
Al_Caughey On BEST ANSWER

Not really an answer but a seemingly viable workaround...

After a lot of experimentation, I found that wget seems to always return the latest version of the file from the remote server if the extension on the requested file is '.html'; but if it is something else (e.g., '.txt' or '.sh'), it does not.

I have no clue why this happens or where they are cached.

But now that I do, all of the files required by my installer have an html extension on the remove server and the script saves them with the proper extension locally. (Sigh...several days of my life that I won't get back)

Al

0
Christophe Courvoisier On

I had the same prob. While getting images from a camera the HTTP server on the camera always send the same image.

wget --no-http-keep-alive ..

solved my problem

and my full line is

wget --no-check-certificate --no-cache --no-cookies --no-http-keep-alive $URL -O img.jpg -o wget_last.log