July 4, 2012
DDWRT Custom Nocat Splash
OK, the documentation on ddwrt no cat splash kind of works but mostly just leaves you wondering wtf. Â It works with their little click me to login/accept page but how do you customize it. Â First thing to realize is it may appear to be accepting your settings but it caches and doesn’t play a nice. Â After a reboot you might be sitting there for a few minutes before boom it’s working and your left wondering what they hell did I do to make it work?
First the setup I’m describing is one I think a lot of people like myself would want to do. Â I have items connected to the router and the router currently acts like an access point. Â This breaks no cat splash, it wants to be connected directly to the internet and not on your local network so the solution is to use the vlan feature to fake it. Â The wan port connects to your local network and then you place any other ports you want to keep on your local network on the same vlan like port 3 & 4 here. Â You might keep at least one port on the lan for configuration and recovery reasons I wasn’t brave enough o move them all over but you could.
Â
Next you have to get the hot spot configured. Â The various tutorials I found obviously aren’t for the version that comes installed with the version of ddwrt I got because it just didn’t work. Â I spent hours trying to figure it out before stumbling on the solution just based off seeing how it was supposed to work and why it couldn’t possibly work the way they were telling me it would. Â Here is a sample config.
Most likely the only places you will differ are.
Gateway IP Addr: This need to be the lan address of the router that is configured on the setup page.
Gateway Name: This is optional and if your using a custom external splash url it isn’t even used.
Splash URL: The is the external url to a page containing the desired splash Screen.
Login Timeout: This is the number of seconds they are allowed to use before it asks them to login again.
Everything else you should be safe to copy from here verbatim. Â The real tricky part now comes in the accept spash screen html.
The html for the spas page will be accessed by by the client masqed through the router. Â You will see a url that looks like http://10.7.5.22:5280/?redirect=xxxx This is what the client will see. Â Now the only trick it to submit a form to this that will be processed by no cat splash and let it know when the user has accepted the terms of using the access point.
Here is some sample html to point to.
Â
<html>
<head><title>Welcome to the Our Guest Network</title></head>
<body bgcolor=#FFFFFF text=000000>
<form method=”POST”>
<input type=”hidden” name=”mode_login”>
<input type=”hidden” name=”accept_terms” value=”yes”>
<table border=0 cellpadding=5 cellspacing=0>
<tr>
<td>Welcome to The Guest Network.</td>
</tr>
<tr>
<td>
This is an open network you may use but not abuse, I am watching.
</td>
</tr>
<tr>
<td align=center><input type=”submit” value=”Accept”></td>
</tr>Â
</table>
</form>
</body>
</html>
Pay attention to the two hidden fields they contain the variables that nocatsplash is looking for to allow access. Â It isn’t secure by any means but it’s a nice way to get a message in front of someone that is going to just hop on your network and let them know you aren’t some noob that just has an open access point they can leach from all day. Â Also I found when adding images they must be on the same machine you are pulling from and they must be fully qualified urls remember the rewrite that sent you to your splash page doesn’t know anything about the image files and it won’t rewrite the image request.
Â