├── .gitignore ├── README.txt ├── about.php ├── autherror.html ├── bg-blank.jpg ├── bg.jpg ├── included ├── icon │ └── idea.png └── psd │ ├── help.psd │ ├── lock.psd │ ├── login-bg.psd │ └── main-login.psd ├── login-icon.png ├── login.php ├── portal.php ├── register ├── SMTPclass.php ├── SMTPconfig.php └── wifi-register.php ├── screenshots ├── about.png ├── agree.png ├── login.png ├── registered.png └── signup.png ├── signup-icon.png ├── signup.php ├── style.css ├── success.php └── wifi.png /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .gitignore -------------------------------------------------------------------------------- /README.txt: -------------------------------------------------------------------------------- 1 | What is this? 2 | - This is my captive portal implementation for free internet, users can sign in as a guest user within certain times of the day or they can register an account to get on a WPA-EAP vlan that bypasses portal entirely. 3 | - Registration is very simple, users provide email and desired username. We only check to see if the user already exists, if not we generate a password for the user thats easy to remember and email it to them and the WiFi Admin. 4 | 5 | - While not horribly robust this would make a fine framework to start off on a specific user signup needs. 6 | 7 | - It uses a very simple template, new pages can be added by creating a new pagename.php file and uploading it. 8 | 9 | Requires: pfSense 2.x, Working Radius Server w/mySQL Backend & PHP (I am running externally), 10 | - Guest user account with Password attribute instead of Cleartext Password.. this wont allow it access to 802.11x 11 | - WiFi AP Capable of VLAN Tagging SSID's 12 | 13 | Very Dirty Instructions below, just read the code its well documented. 14 | 15 | pfSense Install Instructions: 16 | - Upload all .php, .png and style.css through the pfSense Captive Portal GUI 17 | - Edit portal.php to your liking and upload it as the main portal page 18 | - Upload autherror.html as your authentication error page 19 | - Allow passthrough access to registration server. 20 | 21 | Remote LAMP Server w/Radius: 22 | - Configure SSL if Needed 23 | - Upload contents of register folder somewhere WiFi users can access 24 | - Edit wifi-register.php to include mysql login info and smtp server info 25 | 26 | by: Ryan Hunt 27 | license: CC-BY-SA 28 | -------------------------------------------------------------------------------- /about.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |

Free Public WiFi


5 |

Fast & Free Wireless Internet, avilable for the Eastridge Community and its visitors

6 |

Guests

Users

7 | 8 |
    9 |
  • Sunday-Thursday Offline @ 11:30PM
  • 10 |
  • Friday & Saturday All Day access
  • 11 |
  • No Signup Required
  • 12 |
  • Unencrypted WiFi
  • 13 |
  • Web/Mail/VPN & Chat Services
  • 14 |
  • 375KB/s Download - 75KB/s Upload
  • 15 |
  • Relogin every 2h
  • 16 |
17 | 18 |
    19 |
  • Free & Instant Signup
  • 20 |
  • Encrypted WiFi
  • 21 |
  • Online 24/7/365
  • 22 |
  • No Client Restrictions
  • 23 |
  • Dynamic Port Forwarding (uPnP)
  • 24 |
  • 1.5MB/s Download - 150KB/s Upload
  • 25 |
  • Login once, bypass portal
  • 26 |
27 |
28 |
29 |

User accounts are free and setup in an instant; you can then reconnect to the Secure Public WiFi network using the same login credentials you setup. Remember that login as it'll let you bypass this portal and access the internet with less restrictions.


30 |

No Signup is Required, feel free to use the Open Public Wifi Network, however your access will be limited


31 |

We are always eager to expand our coverage; if your a local home owner and would like to run a small outdoor access point please contact me.

32 |
33 |
34 | -------------------------------------------------------------------------------- /autherror.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | wifi.nayr.net | error 5 | 6 | 7 | 8 |
9 |
10 |
11 |

ERROR: $PORTAL_MESSAGE$


12 | [go back] 13 |
14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /bg-blank.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/bg-blank.jpg -------------------------------------------------------------------------------- /bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/bg.jpg -------------------------------------------------------------------------------- /included/icon/idea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/included/icon/idea.png -------------------------------------------------------------------------------- /included/psd/help.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/included/psd/help.psd -------------------------------------------------------------------------------- /included/psd/lock.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/included/psd/lock.psd -------------------------------------------------------------------------------- /included/psd/login-bg.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/included/psd/login-bg.psd -------------------------------------------------------------------------------- /included/psd/main-login.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/included/psd/main-login.psd -------------------------------------------------------------------------------- /login-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/login-icon.png -------------------------------------------------------------------------------- /login.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |
5 |
6 | 7 |
8 |
9 |
10 | 11 |

12 |
13 |
14 | 15 | Please Carefully read these terms and condition before accessing this wifi hotspot. If you continue to use this free service to access the Internet, it confers that you have read and agree to the terms of usage 16 | outlined

17 | 18 |

WARNING: This Wireless Connection may not be encrypted, it is up to you to employ encryption if nessicary.. We urge you to signup for a user account and join the Secure Public Wifi network where your connection is secure from local eavesdroping.


19 | 20 | Terms of Service:
21 | The terms and conditions of this Agreement shall govern the relationship between you ("user") and |nayr|NETworks| (A privately run independent, non-commercial, non-profit project not in any way affiliated with the 22 | Eastridge Community, its Board, its members, or other unit owners).
23 | 24 | 25 | |nayr|NETworks| public wifi is a freely accessible Internet Hotspot. By connecting to the |nayr|NETworks| Public WiFI to access wireless internet, you agree to be bound by this Agreement and to use the hotspot in compliance with 26 | this Agreement. This page may be periodicly revised, edited, or updated and you are bound by any changes made.
27 | 28 | 29 | Access speeds to the Internet are not guaranteed by the owner of this HotSpot. Several factors,including, but not limited to, environmental conditions, type of wireless network card used, distance from the HotSpot and type of 30 | antenna used, number of users accessing this service at any given time, and overall Internet traffic will effect your actual access speed.
31 |
32 | 33 | 34 | Disclaimer Of Limitation Of Liability
35 | 36 | 37 | A CONTENT FILTER HAS BEEN USED TO PROHIBIT USERS FROM ACCESSING OFFENSIVE AND ILLEGAL MATERIAL. YOU ASSUME FULL RESPONSIBILITY AND RISK FOR USE OF THIS HOTSPOT AND THE INTERNET. ATTEMPTS TO BYPASS THE FILTER TO ACCESS ILLEGAL 38 | OR OFFENSIVE SITES CONTRAVINES THIS AGREEMENT. THE OWNER OF THIS HOTSPOT DOES NOT WARRANT THAT THE SERVICES WILL BE UNINTERRUPTED, ERROR-FREE, OR FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. YOU AS THE USER EXPRESSLY 39 | ACKNOWLEDGE THAT THERE ARE AND ASSUMES ALL RESPONSIBILITY RELATED TO THE SECURITY, PRIVACY AND CONFIDENTIALITY RISKS INHERENT IN WIRELESS COMMUNICATIONS AND TECHNOLOGY AND THE HOTSPOT OWNER DOES NOT MAKE ANY ASSURANCES RELATING 40 | TO SUCH RISKS. THE HOTSPOT OWNER IS NOT LIABLE FOR ANY COSTS OR DAMAGES ARISING DIRECTLY OR INDIRECTLY FROM YOUR USE OF THIS HOTSPOT OR THE INTERNET INCLUDING ANY INDIRECT, INCIDENTAL, EXEMPLARY, MULTIPLE, SPECIAL, PUNITIVE OR 41 | CONSEQUENTIAL DAMAGES. 42 |

43 | 44 | 45 | Acceptable Use Policy 46 |
47 | 48 | The owner of this HotSpot will fully cooperate with legal authorities and/or third parties where there is suspicion or investigation in this HotSpot's involvement in any alleged crime or civil wrong doing. 49 |

50 | 51 | The following are specific examples of violations of this Acceptable Use Policy. 52 |
53 | 54 | - uploading or posting material in any fashion including E-Mail that is illegal, threatens anyone or any entity(agencies), is abusive, threatening, harassing, defamatory, obcene, violates another's privacy, libelous, or is 55 | obejectional racially or ethnically. Using this HotSpot to access Porn, and uploading or downloading porn is strictly prohibited 56 |
57 | 58 | - using this service to stalk anyone or access chatrooms or forums for the purpose of deceiving a minor for sexual exploitation. 59 |
60 | 61 | - using this service to committ fraud and forgery in any form. 62 |
63 | 64 | - using this service for illegal hacking activities which include, but are not limited to: distibution of trojans, viruses, or worms, using the HotSpot for DDOS attacks(distributed denial of service attacks), scanning ports, 65 | and hacking into or monitoring another's system or internet connection without their consent or authorization. 66 |
67 | 68 | - using this service to send spam in any form to anyone. 69 |

70 | 71 | If you do not agree with the terms of usage, you are asked to disconnect from this Hotspot as continued use of this Hotspot confers that you have read and fully agree to the terms of usage. Since free access of this HotSpot 72 | does not justify illegal use of the HotSpot by law, you will be held fully responsible and legally liable should you choose to violate the terms of usage and illegally use this Hotspot. 73 |
74 |
75 | 76 | 77 | -------------------------------------------------------------------------------- /portal.php: -------------------------------------------------------------------------------- 1 | 4 | // License: CC-BY-SA 5 | // Description: Captive Portal Login and Signup Pages for Free Public WiFi and Secure Public WiFi 6 | // Requires: pfSense 2.x, Working Radius Server w/mySQL Backend & PHP (I am running externally), 7 | // Guest user account with Password attribute instead of Cleartext Password.. this wont allow it access to 802.11x 8 | // WiFi AP Capable of VLAN Tagging SSID's 9 | // Goals: To allow easy access to an encrypted public wifi, running on a seperate VLAN and using Radius Authentication 10 | 11 | // Configuration Variables 12 | $guest_username = "guest"; 13 | $guest_password = "VOnwCg8VdlSsqaP7quMW"; 14 | $main_url = "https://wifi.nayr.net:8001/"; 15 | $register_url = "https://admin.nayr.net/wifi-register.php"; 16 | $register_token = "BQhokuYh0xlCRAzQKtvD"; 17 | ini_set('display_errors', 0); // Disable Debug Messages 18 | 19 | // Fetch IP & MAC Address of Client 20 | $clientIP=$_SERVER['REMOTE_ADDR']; 21 | $clientMAC = `/usr/sbin/arp -an | grep {$clientIP} | cut -d" " -f4`; 22 | $clientMAC = str_replace("\n","",$clientMAC); 23 | 24 | if(isset($_GET['page'])) { // Fetch Page Name 25 | $page = $_GET['page']; 26 | } else { 27 | $page = "login"; // Set Default Page if none set 28 | } 29 | 30 | $content = "/var/db/cpelements/captiveportal-".$page.".php"; // Filename of Page Contents 31 | if (file_exists($content)) { // Check for page 32 | $last_modified = date("M d Y",filemtime($content)); 33 | } else { 34 | $page='login'; 35 | $content = "captiveportal-login.php" ; 36 | } 37 | 38 | // Begin HTML 39 | ?> 40 | 41 | 42 | 43 | wifi.nayr.net | <?=$page?> 44 | 45 | 46 | 57 | 72 | 73 |
74 |
75 | [login] - [about] - [signup] - 76 | [tos] - [contact]
77 | 78 |
79 | 80 |
81 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /register/SMTPclass.php: -------------------------------------------------------------------------------- 1 | SmtpServer = $SmtpServer; 9 | $this->SmtpUser = base64_encode ($SmtpUser); 10 | $this->SmtpPass = base64_encode ($SmtpPass); 11 | $this->from = $from; 12 | $this->to = $to; 13 | $this->subject = $subject; 14 | $this->body = $body; 15 | 16 | if ($SmtpPort == "") 17 | { 18 | $this->PortSMTP = 25; 19 | } 20 | else 21 | { 22 | $this->PortSMTP = $SmtpPort; 23 | } 24 | } 25 | 26 | function SendMail () 27 | { 28 | if ($SMTPIN = fsockopen ($this->SmtpServer, $this->PortSMTP)) 29 | { 30 | fputs ($SMTPIN, "EHLO ".$HTTP_HOST."\r\n"); 31 | $talk["hello"] = fgets ( $SMTPIN, 1024 ); 32 | fputs($SMTPIN, "auth login\r\n"); 33 | $talk["res"]=fgets($SMTPIN,1024); 34 | fputs($SMTPIN, $this->SmtpUser."\r\n"); 35 | $talk["user"]=fgets($SMTPIN,1024); 36 | fputs($SMTPIN, $this->SmtpPass."\r\n"); 37 | $talk["pass"]=fgets($SMTPIN,256); 38 | fputs ($SMTPIN, "MAIL FROM: <".$this->from.">\r\n"); 39 | $talk["From"] = fgets ( $SMTPIN, 1024 ); 40 | fputs ($SMTPIN, "RCPT TO: <".$this->to.">\r\n"); 41 | $talk["To"] = fgets ($SMTPIN, 1024); 42 | fputs($SMTPIN, "DATA\r\n"); 43 | $talk["data"]=fgets( $SMTPIN,1024 ); 44 | fputs($SMTPIN, "To: <".$this->to.">\r\nFrom: WiFi Admin <".$this->from.">\r\nSubject:".$this->subject."\r\n\r\n\r\n".$this->body."\r\n.\r\n"); 45 | $talk["send"]=fgets($SMTPIN,256); 46 | //CLOSE CONNECTION AND EXIT ... 47 | fputs ($SMTPIN, "QUIT\r\n"); 48 | fclose($SMTPIN); 49 | // 50 | } 51 | return $talk; 52 | } 53 | } 54 | ?> 55 | -------------------------------------------------------------------------------- /register/SMTPconfig.php: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /register/wifi-register.php: -------------------------------------------------------------------------------- 1 | 4 | // License: CC-BY-SA 5 | // Description: Remote Signup Proccessing 6 | 7 | $portal_url = "https://wifi.nayr.net:8001/"; // URL To Captive Portal 8 | $register_token = "BQhokuYh0xlCRAzQKtvD"; // This must match the portal side. 9 | ini_set('display_errors', 0); // Disable Debug Messages 10 | 11 | 12 | $username = filter_var($_POST['username'], FILTER_SANITIZE_STRING); // Username 13 | $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL); // Email 14 | $ip = filter_var($_POST['ip'], FILTER_SANITIZE_STRING); // Client IP 15 | $mac = filter_var($_POST['mac'], FILTER_SANITIZE_STRING); // Client MAC 16 | $token = filter_var($_POST['token'], FILTER_SANITIZE_STRING); // Signup Token 17 | 18 | $authToken = md5($register_token.$mac.$ip); // Validate Authtoken 19 | if ($authToken != $token) { header("Location: ".$portal_url); die(); } 20 | 21 | $password = strstr($email, '@', true) . rand(10,9999); // Generate Password 22 | $con=mysql_connect("localhost","radius","changeme"); // mySQL DB Connection 23 | mysql_select_db('radius', $con); 24 | 25 | // Email Sent upon Account Creation to User 26 | $message = 'Your account @ wifi.nayr.net has been created. 27 | 1. Disconnect from the Free Public WiFi network. 28 | 2. Look for the Secure Public WiFi network and connect. 29 | 3. Enter the Username/Password provided below and save password. 30 | 4. Enjoy Faster Speeds, More Features and No Portal or Time Limits! 31 | 32 | - username: '.$username.' 33 | - password: '.$password.' 34 | 35 | If your client does not support the Secure WiFi standard 36 | use the above login on the portal page for faster internet. 37 | 38 | Thank you, 39 | -Ryan'; 40 | 41 | // Email Sent to admin 42 | $admin_message = 'New account has been created: 43 | - email: '.$email.' 44 | - username: '.$username.' 45 | - password: '.$password.' 46 | - mac: '.$mac.' 47 | - ip: '.$ip.' 48 | - date: '.date("F j, Y, g:i a"); 49 | 50 | // Check username out 51 | if (strlen($username) < 4) { die("Username too short - 4 Min, go back and try again"); } 52 | if (strlen($username) > 20) { die("Username too long - 20 Max, go back and try again"); } 53 | $checkquery = sprintf("SELECT * FROM radcheck WHERE username='%s' LIMIT 1", $username); 54 | $result = mysql_query($checkquery); 55 | if(mysql_result($result,0) != "") { die("User already exists, go back and try again."); } 56 | 57 | // Check Email Address out 58 | if ( filter_var($email, FILTER_VALIDATE_EMAIL) == FALSE) { 59 | die("Invalid Email Address, go back and try again."); 60 | } else { 61 | // Send Email 62 | include('SMTPconfig.php'); // Edit this for your SMTP Login Information 63 | include('SMTPclass.php'); 64 | 65 | $SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, "admin+wifi@nayr.net", $email, "[wifi.nayr.net] Your Login Info", $message); 66 | $SMTPChat = $SMTPMail->SendMail(); 67 | $SMTPMail = new SMTPClient ($SmtpServer, $SmtpPort, $SmtpUser, $SmtpPass, "admin+wifi@nayr.net", "admin@nayr.net", "[wifi.nayr.net] new user $username", $admin_message); 68 | $SMTPChat = $SMTPMail->SendMail(); 69 | } 70 | // Add user to Database and send em back to portal page 71 | mysql_query("INSERT INTO radcheck (username, attribute, op, value) VALUES ('$username', 'Cleartext-Password',':=','$password')"); 72 | mysql_close($con); 73 | header("Location: ".$portal_url."&page=success"); // Back to Success Page 74 | ?> 75 | -------------------------------------------------------------------------------- /screenshots/about.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/screenshots/about.png -------------------------------------------------------------------------------- /screenshots/agree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/screenshots/agree.png -------------------------------------------------------------------------------- /screenshots/login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/screenshots/login.png -------------------------------------------------------------------------------- /screenshots/registered.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/screenshots/registered.png -------------------------------------------------------------------------------- /screenshots/signup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/screenshots/signup.png -------------------------------------------------------------------------------- /signup-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/signup-icon.png -------------------------------------------------------------------------------- /signup.php: -------------------------------------------------------------------------------- 1 | 3 |
4 |
5 | 6 | 7 | 8 |
9 |
10 |
11 | 12 |
13 |
14 | 15 |
16 |
17 | 18 |
19 |
20 | 21 |

22 |
23 |
24 |

Free Public Internet


25 | Enter your desired username above and a valid email address, you will be emailed your login credentials instantly.

26 |

Benifits

27 |
    28 |
  • Free & Signup
  • 29 |
  • Access to Secure Public Wifi Network
  • 30 |
  • Online 24/7/365
  • 31 |
  • No Client Restrictions
  • 32 |
  • Dynamic Port Forwarding (uPnP)
  • 33 |
  • 1.5MB/s Download - 150KB/s Upload
  • 34 |
35 |
36 |
-------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, blockquote, 2 | pre, form, fieldset, table, th, td { margin: 0; padding: 0; } 3 | 4 | html{ 5 | font-family:Arial, Helvetica, sans-serif; 6 | font-size:12px; 7 | color:#222; 8 | line-height:20px; 9 | } 10 | body{ 11 | background:#68a5f8; 12 | } 13 | input, 14 | textarea{ 15 | outline:none; 16 | } 17 | 18 | img{ 19 | border:none; 20 | } 21 | div.top a 22 | { color: white; 23 | font-family: Verdana, sans-serif; 24 | font-size: large; 25 | text-decoration:none; 26 | 27 | } 28 | 29 | div#wrap{ 30 | width:500px; 31 | height:460px; 32 | margin-left:auto; 33 | margin-right:auto; 34 | position:relative; 35 | } 36 | div.idea{ 37 | height:36px; 38 | width:478px; 39 | position:absolute; 40 | top:196px; 41 | left:0px; 42 | border:1px solid #fe8bfd; 43 | background:#fe62fc; 44 | color:#820101; 45 | font-weight:bold; 46 | padding:2px 10px 0 10px; 47 | -moz-border-radius: 10px; 48 | -webkit-border-radius: 10px; 49 | } 50 | div.idea img{ 51 | margin:6px 10px 0 0; 52 | float:left; 53 | } 54 | div.idea p{ 55 | margin:7px 0; 56 | float:left; 57 | color: #FFFFFF; 58 | } 59 | div.block{ 60 | height:500px; 61 | width:500px; 62 | position:absolute; 63 | top:250px; 64 | left:0px; 65 | background:url('captiveportal-bg.jpg') no-repeat; 66 | } 67 | div.block2{ 68 | height:500px; 69 | width:500px; 70 | position:absolute; 71 | top:250px; 72 | left:0px; 73 | background:url('captiveportal-bg-blank.jpg') no-repeat; 74 | } 75 | div.left{ 76 | height:160px; 77 | width:146px; 78 | position:absolute; 79 | top:20px; 80 | } 81 | div.right{ 82 | height:120px; 83 | width:354px; 84 | padding:20px 0px; 85 | position:absolute; 86 | top:20px; 87 | left:146px; 88 | } 89 | div.div-row{ 90 | height:31px; 91 | width:354px; 92 | margin-bottom:20px; 93 | float:left; 94 | } 95 | div.block input{ 96 | float:left; 97 | height:25px; 98 | width:260px; 99 | border:1px solid #ccc; 100 | padding:4px 0 0 10px; 101 | -moz-border-radius: 10px; 102 | -webkit-border-radius: 10px; 103 | margin-left:40px; 104 | font-size:16px; 105 | color:#666; 106 | } 107 | div.send-row input{ 108 | float:left; 109 | height:25px; 110 | width:260px; 111 | border:1px solid #fff; 112 | padding:0 0 0 0; 113 | -moz-border-radius: 10px; 114 | -webkit-border-radius: 10px; 115 | margin-left:40px; 116 | font-size:16px; 117 | color:#fff; 118 | } 119 | div.rm-row{ 120 | float:left; 121 | width:202px; 122 | padding-left:40px; 123 | height:24px; 124 | } 125 | div.rm-row input#remember{ 126 | float:left; 127 | width:16px; 128 | height:16px; 129 | margin:4px 4px 0 0; 130 | border:1px solid #ccc; 131 | } 132 | div.rm-row label{ 133 | float:left; 134 | font-size:13px; 135 | width:160px; 136 | margin:2px 0 0 0; 137 | color:#666; 138 | } 139 | div.send-row{ 140 | height:24px; 141 | float:right; 142 | position: absolute; 143 | top: 120px; 144 | left: 8px; 145 | } 146 | div.send-row #login{ 147 | height:24px; 148 | padding:0px; 149 | position: absolute; 150 | width:70px; 151 | float:right; 152 | border:none; 153 | background:url('captiveportal-login-icon.png') no-repeat; 154 | cursor:pointer; 155 | } 156 | div.send-row #signup{ 157 | height:24px; 158 | position: absolute; 159 | left: 165px; 160 | padding:0px; 161 | width:70px; 162 | float:left; 163 | border:none; 164 | background:url('captiveportal-signup-icon.png') no-repeat; 165 | cursor:pointer; 166 | } 167 | div.send-row #login:hover{ 168 | width:70px; 169 | background:url('captiveportal-login-icon.png') no-repeat; 170 | } 171 | 172 | -------------------------------------------------------------------------------- /success.php: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 |

Your password was emailed.


5 |

Please check your email for login credentials, you can then use the provided password to reconnect to the Secure Public WiFi Network. 6 |


7 |

If you did not get the email, first check your spam folder.. if your email address was invalid contact me or create a new account with a different username.


8 |

this is a free service, please dont abuse it and ruin it for everyone.

9 |
10 |
-------------------------------------------------------------------------------- /wifi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nayrnet/captiveportal-pages/67fbf04b5ad4f550b119130c035e7d6eb72b204a/wifi.png --------------------------------------------------------------------------------