diff options
Diffstat (limited to 'maj/index.php')
-rw-r--r-- | maj/index.php | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/maj/index.php b/maj/index.php new file mode 100644 index 0000000..f9ed143 --- /dev/null +++ b/maj/index.php @@ -0,0 +1,139 @@ +<?php +/** + * Copyright 2016 Ludovic Pouzenc <ludovic@pouzenc.fr> + * + * CHD OpenWRT is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * CHD OpenWRT is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with CHD OpenWRT. If not, see <http://www.gnu.org/licenses/>. +**/ + +require_once('config.php'); +?> +<!DOCTYPE html> +<html lang="fr"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=620"> + <title>Mise à jour du routeur</title> + <link rel="stylesheet" href="main.css"> +</head> +<body> +<!-- Local IP detection tricks via WebRTC and iframe +<iframe id="iframe" sandbox="allow-same-origin" style="display: none"></iframe>--> +<script src="main.js"></script> +<?php + //FIXME : support IPv6 also + if ( array_key_exists('ip', $_GET) ) { + $ip4pub=$_GET['ip']; + } else { + $ip4pub=$_SERVER['REMOTE_ADDR']; + } + + if ( preg_match('/^185\.131\.4[01]\.[0-9]{1,3}$/', $ip4pub)!==1 ) { + echo "<div>Erreur : L'adresse publique $ip4pub n'est pas reconnue</div></body></html>\n"; + exit(); + } + + $rest = file_get_contents($CONF_API_BASE_URL . "/gen_firm.php?ip4pub=".urlencode($ip4pub), false, NULL, 0, 256); + if ( $rest === FALSE ) { + echo "<div>Erreur : Pb webservice</div></body></html>\n"; + exit(); + } + + $result = json_decode($rest); + if ( !array_key_exists("initiales", $result) ) { + echo "<div>Erreur : Pb retour webservice</div></body></html>\n"; + exit(); + } + $ip4wan = $result->ip4wan; + $ip6prefix = $result->ip6prefix; + $constructeur = $result->constructeur; + $modele = $result->modele; + $profile = $result->profile; + $revision = $result->revision; + $adt_initiales = $result->initiales; + + $action=array_key_exists('dev', $_GET)?"gen-dev.php":"gen.php"; +?> +<div> +<form id="form_main" method="POST" action="<?=$action?>" style="width: 33em"> + <fieldset> + <legend>Paramètres du réseau WiFi de maison</legend> + <label>Nom du réseau (SSID) :</label> + <span> + <input id="field_ssid" size="24" title="Le nom du réseau peut contenir des lettres, des nombres, des occurences de '.' (point), '-' (tiret) ou '_' (underscore). Maximum de 32 caractères." type="text" required pattern="[\w\._-]{1,32}" name="ssid" value="<?=$adt_initiales?>_CommingesHautDebit.net"> + </span> + + <label>Mot de passe Wifi :</label> + <span> + <input id="field_key1" size="24" title="Le mot de passe doit être composé de 8 à 63 caractères, devrait inclure des majuscules et des minuscules, des nombres ou des caractères spéciaux" type="password" required pattern="^[^']{8,64}$" name="key1"> + </span> + + <label>Confirmation mot de passe :</label> + <span> + <input id="field_key2" size="24" title="Merci de saisir le même mot de passe que dans le champ précédent" type="password" required name="key2"> + </span> + <label>Puissance d'émission WiFi :</label> + <span> + <input id="field_txpower" style="width: 14.8em;" type="range" min="-1" max="16" value="13" title="Merci de choisir la puissance d'émission du WiFi à l'intérieur de l'habitat. L'échelle va de 0 dBm (1 mW) à 16 dBm (39 mW), hors gain d'antenne." name="txpower"> + <table><tr><td style="width:8em">Désactivé</td><td style="width:9em;">Moyen</td><td>Fort</td></table> + </span> + </fieldset> + <fieldset> + <legend>Administration du routeur</legend> + <label>Modèle du routeur :</label> + <span> + <?=$constructeur . " " . $modele."\n"?> + <input name="profile" type="hidden" value="<?=$profile?>"> + <input name="revision" type="hidden" value="<?=$revision?>"> + </span> + <label>Adresse IPv4 publique :</label> + <span> + <?=$ip4pub?><input name="ip4pub" type="hidden" value="<?=$ip4pub?>"> + </span> + <label>IPv4 WAN du routeur :</label> + <span> + <?=$ip4wan?$ip4wan:'n/a'?><input name="ip4wan" type="hidden" value="<?=$ip4wan?>"> + </span> + <label>IPv4 LAN du routeur :</label> + <span> + <input id="field_ip4lan" size="24" title="L'adresse IP doit respecter le format nnn.nnn.nnn.nnn" type="text" required pattern="((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$" name="ip4lan" value="192.168.1.1"> + </span> + <label>Préfixe IPv6 public :</label> + <span> + <?=$ip6prefix?><input name="ip6prefix" type="hidden" value="<?=$ip6prefix?>"> + </span> + <label>Mot de passe du routeur :</label> + <span> + <input id="field_pwd1" size="24" title="Le mot de passe doit être composé de 6 à 64 caractères, devrait inclure des majuscules et des minuscules, des nombres ou des caractères spéciaux" type="password" required pattern="^[^']{6,64}$" name="pwd1"> + </span> + + <label>Confirmation mot de passe :</label> + <span> + <input id="field_pwd2" size="24" title="Merci de saisir le même mot de passe que dans le champ précédent" type="password" required name="pwd2"> + </span> + </fieldset> + <div class="fieldset"> + <div class="label"><a href="doc.html" target="_blank">Consulter la procédure à suivre</a></div> + <span><input id="btn_gen" type="submit" value="Valider et télécharger la mise à jour"></span> + </div> + <div style="margin-top:1em;"> + <ul style="padding-left:2em; margin-top:0;"> + <li>Utilisez ce formulaire depuis votre propre connexion internet CHD ;</li> + <li>Réutilisez les anciens paramètres WiFi si vous souhaitez éviter de devoir retapper le mot de passe sur vos équipements WiFi ;</li> + <li>Changez le mot de passe d'administration (initialement : <tt>admin</tt>) ;</li> + </ul> + </div> +</form> +</div> +</body> +</html> |