Added wpa_supplicant.conf generator refactored web-ui to support dynamic additions of modules added support for module height by ratio (or percentage) Changed format of settings file slightly to support info section height
400 lines
16 KiB
HTML
400 lines
16 KiB
HTML
{% extends "base.html" %}
|
||
|
||
<!-- Main container -->
|
||
{% block content %}
|
||
|
||
<!-- Wrap everything in a container-->
|
||
<div class="container">
|
||
|
||
<!-- heading -->
|
||
<h3>Raspberry Pi Wifi setup</h3>
|
||
|
||
<!-- Instructions -->
|
||
<div class="alert alert-primary" role="alert">
|
||
<h4 class="alert-heading">Instructions</h4>
|
||
Insert your Wi-Fi network's details in the form below, then click on generate [wpa_supplicant.conf]<br>
|
||
If not done already, flash Raspberry Pi OS on a micro SD card and open the /boot folder on your computer<br>
|
||
Copy the wpa_supplicant.conf file in this folder, eject the microSD card, insert it in the Raspberry Pi and boot.<br>
|
||
Your Raspberry Pi should now be connected to the network you have entered on this page.<br>
|
||
<hr>
|
||
<p class="mb-0">Don't worry, none of your details are shared with anyone, this page does not send any data to anywhere.</p>
|
||
</div>
|
||
|
||
|
||
<form novalidate>
|
||
<div class="form-group">
|
||
<label for="country">Country</label>
|
||
<select class="form-control" id="country">
|
||
<option value="AF">Afghanistan</option>
|
||
<option value="AX">Aland Islands</option>
|
||
<option value="AL">Albania</option>
|
||
<option value="DZ">Algeria</option>
|
||
<option value="AS">American Samoa</option>
|
||
<option value="AD">Andorra</option>
|
||
<option value="AO">Angola</option>
|
||
<option value="AI">Anguilla</option>
|
||
<option value="AQ">Antarctica</option>
|
||
<option value="AG">Antigua and Barbuda</option>
|
||
<option value="AR">Argentina</option>
|
||
<option value="AM">Armenia</option>
|
||
<option value="AW">Aruba</option>
|
||
<option value="AU">Australia</option>
|
||
<option value="AT">Austria</option>
|
||
<option value="AZ">Azerbaijan</option>
|
||
|
||
<option value="BS">Bahamas</option>
|
||
<option value="BH">Bahrain</option>
|
||
<option value="BD">Bangladesh</option>
|
||
<option value="BB">Barbados</option>
|
||
<option value="BY">Belarus</option>
|
||
<option value="BE">Belgium</option>
|
||
<option value="BZ">Belize</option>
|
||
<option value="BJ">Benin</option>
|
||
<option value="BM">Bermuda</option>
|
||
<option value="BT">Bhutan</option>
|
||
<option value="BO">Bolivia</option>
|
||
<option value="BA">Bosnia and Herzegovina</option>
|
||
<option value="BW">Botswana</option>
|
||
<option value="BV">Bouvet Island</option>
|
||
<option value="BR">Brazil</option>
|
||
<option value="IO">British Indian Ocean Territory</option>
|
||
<option value="VG">British Virgin Islands</option>
|
||
<option value="BN">Brunei Darussalam</option>
|
||
<option value="BG">Bulgaria</option>
|
||
<option value="BF">Burkina Faso</option>
|
||
<option value="BI">Burundi</option>
|
||
|
||
<option value="KH">Cambodia</option>
|
||
<option value="CM">Cameroon</option>
|
||
<option value="CA">Canada</option>
|
||
<option value="CV">Cape Verde</option>
|
||
<option value="KY">Cayman Islands</option>
|
||
<option value="CF">Central African Republic</option>
|
||
<option value="TD">Chad</option>
|
||
<option value="CL">Chile</option>
|
||
<option value="CN">China</option>
|
||
<option value="CX">Christmas Island</option>
|
||
<option value="CC">Cocos (Keeling) Islands</option>
|
||
<option value="CO">Colombia</option>
|
||
<option value="KM">Comoros</option>
|
||
<option value="CG">Congo(Brazzaville)</option>
|
||
<option value="CD">Congo, (Kinshasa)</option>
|
||
<option value="CK">Cook Islands</option>
|
||
<option value="CR">Costa Rica</option>
|
||
<option value="CI">Cote d\Ivoire</option>
|
||
<option value="HR">Croatia</option>
|
||
<option value="CU">Cuba</option>
|
||
<option value="CY">Cyprus</option>
|
||
<option value="CZ">Czech Republic</option>
|
||
|
||
<option value="DK">Denmark</option>
|
||
<option value="DJ">Djibouti</option>
|
||
<option value="DM">Dominica</option>
|
||
<option value="DO">Dominican Republic</option>
|
||
|
||
<option value="EC">Ecuador</option>
|
||
<option value="EG">Egypt</option>
|
||
<option value="SV">El Salvador</option>
|
||
<option value="GQ">Equatorial Guinea</option>
|
||
<option value="ER">Eritrea</option>
|
||
<option value="EE">Estonia</option>
|
||
<option value="ET">Ethiopia</option>
|
||
|
||
<option value="FK">Falkland Islands (Malvinas)</option>
|
||
<option value="FO">Faroe Islands</option>
|
||
<option value="FJ">Fiji</option>
|
||
<option value="FI">Finland</option>
|
||
<option value="FR">France</option>
|
||
<option value="GF">French Guiana</option>
|
||
<option value="PF">French Polynesia</option>
|
||
<option value="TF">French Southern Territories</option>
|
||
|
||
<option value="GA">Gabon</option>
|
||
<option value="GM">Gambia</option>
|
||
<option value="GE">Georgia</option>
|
||
<option value="DE" selected>Germany</option>
|
||
<option value="GH">Ghana</option>
|
||
<option value="GI">Gibraltar</option>
|
||
<option value="GR">Greece</option>
|
||
<option value="GL">Greenland</option>
|
||
<option value="GD">Grenada</option>
|
||
<option value="GP">Guadeloupe</option>
|
||
<option value="GU">Guam</option>
|
||
<option value="GT">Guatemala</option>
|
||
<option value="GG">Guernsey</option>
|
||
<option value="GN">Guinea</option>
|
||
<option value="GW">Guinea-Bissau</option>
|
||
<option value="GY">Guyana</option>
|
||
|
||
<option value="HT">Haiti</option>
|
||
<option value="HM">Heard and Mcdonald Islands</option>
|
||
<option value="VA">Holy See(Vatican City State)</option>
|
||
<option value="HN">Honduras</option>
|
||
<option value="HK">Hong Kong, SAR China</option>
|
||
<option value="HU">Hungary</option>
|
||
|
||
<option value="IS">Iceland</option>
|
||
<option value="IN">India</option>
|
||
<option value="ID">Indonesia</option>
|
||
<option value="IR">Iran, Islamic Republic of</option>
|
||
<option value="IQ">Iraq</option>
|
||
<option value="IE">Ireland</option>
|
||
<option value="IM">Isle of Man</option>
|
||
<option value="IL">Israel</option>
|
||
<option value="IT">Italy</option>
|
||
|
||
<option value="JM">Jamaica</option>
|
||
<option value="JP">Japan</option>
|
||
<option value="JE">Jersey</option>
|
||
<option value="JO">Jordan</option>
|
||
|
||
<option value="KZ">Kazakhstan</option>
|
||
<option value="KE">Kenya</option>
|
||
<option value="KI">Kiribati</option>
|
||
<option value="KP">Korea(North)</option>
|
||
<option value="KR">Korea(South)</option>
|
||
<option value="KW">Kuwait</option>
|
||
<option value="KG">Kyrgyzstan</option>
|
||
|
||
<option value="LA">Lao PDR</option>
|
||
<option value="LV">Latvia</option>
|
||
<option value="LB">Lebanon</option>
|
||
<option value="LS">Lesotho</option>
|
||
<option value="LR">Liberia</option>
|
||
<option value="LY">Libya</option>
|
||
<option value="LI">Liechtenstein</option>
|
||
<option value="LT">Lithuania</option>
|
||
<option value="LU">Luxembourg</option>
|
||
|
||
<option value="MO">Macao, SAR China</option>
|
||
<option value="MK">Macedonia, Republic of</option>
|
||
<option value="MG">Madagascar</option>
|
||
<option value="MW">Malawi</option>
|
||
<option value="MY">Malaysia</option>
|
||
<option value="MV">Maldives</option>
|
||
<option value="ML">Mali</option>
|
||
<option value="MT">Malta</option>
|
||
<option value="MH">Marshall Islands</option>
|
||
<option value="MQ">Martinique</option>
|
||
<option value="MR">Mauritania</option>
|
||
<option value="MU">Mauritius</option>
|
||
<option value="YT">Mayotte</option>
|
||
<option value="MX">Mexico</option>
|
||
<option value="FM">Micronesia, Federated States of</option>
|
||
<option value="MD">Moldova</option>
|
||
<option value="MC">Monaco</option>
|
||
<option value="MN">Mongolia</option>
|
||
<option value="ME">Montenegro</option>
|
||
<option value="MS">Montserrat</option>
|
||
<option value="MA">Morocco</option>
|
||
<option value="MZ">Mozambique</option>
|
||
<option value="MM">Myanmar</option>
|
||
|
||
<option value="NA">Namibia</option>
|
||
<option value="NR">Nauru</option>
|
||
<option value="NP">Nepal</option>
|
||
<option value="NL">Netherlands</option>
|
||
<option value="AN">Netherlands Antilles</option>
|
||
<option value="NC">New Caledonia</option>
|
||
<option value="NZ">New Zealand</option>
|
||
<option value="NI">Nicaragua</option>
|
||
<option value="NE">Niger</option>
|
||
<option value="NG">Nigeria</option>
|
||
<option value="NU">Niue</option>
|
||
<option value="NF">Norfolk Island</option>
|
||
<option value="MP">Northern Mariana Islands</option>
|
||
<option value="NO">Norway</option>
|
||
|
||
<option value="OM">Oman</option>
|
||
|
||
<option value="PK">Pakistan</option>
|
||
<option value="PW">Palau</option>
|
||
<option value="PS">Palestinian Territory</option>
|
||
<option value="PA">Panama</option>
|
||
<option value="PG">Papua New Guinea</option>
|
||
<option value="PY">Paraguay</option>
|
||
<option value="PE">Peru</option>
|
||
<option value="PH">Philippines</option>
|
||
<option value="PN">Pitcairn</option>
|
||
<option value="PL">Poland</option>
|
||
<option value="PT">Portugal</option>
|
||
<option value="PR">Puerto Rico</option>
|
||
|
||
<option value="QA">Qatar</option>
|
||
|
||
<option value="RE">Réunion</option>
|
||
<option value="RO">Romania</option>
|
||
<option value="RU">Russian Federation</option>
|
||
<option value="RW">Rwanda</option>
|
||
|
||
<option value="SH">Saint Helena</option>
|
||
<option value="KN">Saint Kitts and Nevis</option>
|
||
<option value="LC">Saint Lucia</option>
|
||
<option value="PM">Saint Pierre and Miquelon</option>
|
||
<option value="VC">Saint Vincent and Grenadines</option>
|
||
<option value="BL">Saint-Barthélemy</option>
|
||
<option value="MF">Saint-Martin (French part)</option>
|
||
<option value="WS">Samoa</option>
|
||
<option value="SM">San Marino</option>
|
||
<option value="ST">Sao Tome and Principe</option>
|
||
<option value="SA">Saudi Arabia</option>
|
||
<option value="SN">Senegal</option>
|
||
<option value="RS">Serbia</option>
|
||
<option value="SC">Seychelles</option>
|
||
<option value="SL">Sierra Leone</option>
|
||
<option value="SG">Singapore</option>
|
||
<option value="SK">Slovakia</option>
|
||
<option value="SI">Slovenia</option>
|
||
<option value="SB">Solomon Islands</option>
|
||
<option value="SO">Somalia</option>
|
||
<option value="ZA">South Africa</option>
|
||
<option value="GS">South Georgia and the South Sandwich Islands</option>
|
||
<option value="SS">South Sudan</option>
|
||
<option value="ES">Spain</option>
|
||
<option value="LK">Sri Lanka</option>
|
||
<option value="SD">Sudan</option>
|
||
<option value="SR">Suriname</option>
|
||
<option value="SJ">Svalbard and Jan Mayen Islands</option>
|
||
<option value="SZ">Swaziland</option>
|
||
<option value="SE">Sweden</option>
|
||
<option value="CH">Switzerland</option>
|
||
<option value="SY">Syrian Arab Republic (Syria)</option>
|
||
|
||
<option value="TW">Taiwan, Republic of China</option>
|
||
<option value="TJ">Tajikistan</option>
|
||
<option value="TZ">Tanzania, United Republic of</option>
|
||
<option value="TH">Thailand</option>
|
||
<option value="TL">Timor-Leste</option>
|
||
<option value="TG">Togo</option>
|
||
<option value="TK">Tokelau</option>
|
||
<option value="TO">Tonga</option>
|
||
<option value="TT">Trinidad and Tobago</option>
|
||
<option value="TN">Tunisia</option>
|
||
<option value="TR">Turkey</option>
|
||
<option value="TM">Turkmenistan</option>
|
||
<option value="TC">Turks and Caicos Islands</option>
|
||
<option value="TV">Tuvalu</option>
|
||
|
||
<option value="UG">Uganda</option>
|
||
<option value="UA">Ukraine</option>
|
||
<option value="AE">United Arab Emirates</option>
|
||
<option value="GB">United Kingdom</option>
|
||
<option value="US">United States of America</option>
|
||
<option value="UY">Uruguay</option>
|
||
<option value="UM">US Minor Outlying Islands</option>
|
||
<option value="UZ">Uzbekistan</option>
|
||
|
||
<option value="VU">Vanuatu</option>
|
||
<option value="VE">Venezuela(Bolivarian Republic)</option>
|
||
<option value="VN">Viet Nam</option>
|
||
<option value="VI">Virgin Islands, US</option>
|
||
|
||
<option value="WF">Wallis and Futuna Islands</option>
|
||
<option value="EH">Western Sahara</option>
|
||
|
||
<option value="YE">Yemen</option>
|
||
|
||
<option value="ZM">Zambia</option>
|
||
<option value="ZW">Zimbabwe</option>
|
||
</select>
|
||
</div>
|
||
|
||
|
||
<div class="form-group">
|
||
<label for="security_type">Security Type</label>
|
||
<select class="form-control" id="security_type">
|
||
|
||
<option value="wpa_pass" selected>WPA/WPA2 (most common option)</option>
|
||
<option value="wpa">Open Network (no password)</option>
|
||
<option value="hidden_pass">Hidden SSID with password</option>
|
||
<option value="hidden">Hidden SSID (no password)</option>
|
||
|
||
</select>
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label for="ssid">SSID (Name of network)</label>
|
||
<input class="form-control" type="text" id="ssid">
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<label for="password">password</label>
|
||
<input class="form-control" type="text" id="password">
|
||
</div>
|
||
|
||
<div class="form-group">
|
||
<div class="card">
|
||
<div class="card-body">
|
||
<h5 class="card-title">Preview</h5>
|
||
<p class="card-text" id="wpa"></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="form-group">
|
||
<button type="button" class="btn btn-primary" onclick="getHTML('wpa_supplicant.conf', 'wpa', 'text/plain')">Download wpa_supplicant.conf</button>
|
||
</div>
|
||
|
||
</form>
|
||
</div>
|
||
|
||
<script>
|
||
$(document).ready(function(){
|
||
|
||
$("#security_type").change(function(){
|
||
var security_type = $("#security_type").val();
|
||
//console.log('security_type', security_type);
|
||
|
||
if (security_type=="wpa" || security_type=="hidden"){
|
||
$("#password").replaceWith('<input class="form-control" type="text" id="password" readonly>')
|
||
} else { $("#password").replaceWith('<input class="form-control" type="text" id="password">') }
|
||
});
|
||
|
||
$('form').on('input', function(){
|
||
var country = $("#country").val();
|
||
var security_type = $("#security_type").val();
|
||
var ssid = ( $("#ssid").val() != null ) ? $("#ssid").val().trim() : "";
|
||
var password = ( $("#password").val() != null ) ? $("#password").val().trim() : "";
|
||
|
||
var wpa = [
|
||
"country="+country,
|
||
"update_config=1",
|
||
"ctrl_interface=/var/run/wpa_supplicant",
|
||
"network={",
|
||
' ssid="'+ssid+'"',
|
||
];
|
||
|
||
if (security_type=="wpa"){
|
||
wpa.push(" key_mgmt=NONE");
|
||
} else if (security_type=="wpa_pass"){
|
||
wpa.push(' psk="'+password+'"'," key_mgmt=WPA-PSK")
|
||
} else if (security_type=="hidden"){
|
||
wpa.push(" key_mgmt=NONE"," scan_ssid=1")
|
||
} else if (security_type=="hidden_pass"){
|
||
wpa.push(' psk="'+password+'"', " scan_ssid=1")
|
||
}
|
||
wpa.push("}");
|
||
//console.log(wpa.join('\n'));
|
||
|
||
document.getElementById("wpa").innerHTML = wpa.join("<br />").replaceAll(' ', ' ');
|
||
});
|
||
|
||
}).change();
|
||
</script>
|
||
|
||
<script>
|
||
function getHTML(filename, id, mimeType) {
|
||
var elHtml = document.getElementById(id).innerText;
|
||
if (navigator.msSaveBlob) {
|
||
navigator.msSaveBlob(new Blob([elHtml], { type: mimeType + ';charset=utf-8;' }), filename);
|
||
} else {
|
||
var link = document.createElement('a');
|
||
mimeType = mimeType || 'text/plain';
|
||
link.setAttribute('download', filename);
|
||
link.setAttribute('href', 'data:' + mimeType + ';charset=utf-8,' + encodeURIComponent(elHtml));
|
||
link.click();
|
||
}}
|
||
</script>
|
||
|
||
{% endblock %} |