Hallo Allerseits,
ich möchte euch unseren „Firmware Downloader“ vorstellen, der es gerade Anfängern erleichtern soll die passende Firmware für ihren Router zu finden und zu verwenden.
Ein paar Features:
- Es gibt eine 2 Stufige Vorauswahl bevor man auf die Firmwareauswahl Seite kommt für Meta-Communities zum Beispiel, oder Communitys die eine Vorauswahl benötigen (Technik L2TP/fastd Auswahl), diese Vorwauswahl lässt sich automatisch übergehen bei einer Einzelcommunity ohne Vorauswahl
- das Firmware Verzeichnis wird automatisch geparst, keine manuellen Eingriffe nötig wenn es eine neue Firmware auf dem Server gibt
- die Webseite ist responsive (basiert auf Bootstrap)
- die Webseite lässt sich sehr einfach vom Design anpassen an die entsprechende Community da Bootstrap zum Layout verwendet wurde
- die Webseite lässt sich in großen Teilen individualisieren für einzelne Communities (Titel, Logo, etc.)
- viele der Router werden auch Bildlich dargestellt zur Kontrolle ob man auch den richtigen Router hat - danke an @danielkrah für seine Routerbilder!
Ein paar Bedingungen müssen aktuell noch erfüllt sein:
- der Firmware Downloader muss auf dem gleichen Server liegen wie die Firmware selber, damit er die Verzeichnisse parsen kann
- der Webserver muss auf *nix (Linux, BSD, etc.) Basis laufen, für eine Windowstypische Verzeichnisstruktur ist der Parser bisher nicht angepasst
- die Firmware muss in der typischen Gluon Build Struktur (Verzeichnis & Namen) vorliegen damit der Parser funktioniert
Installation:
- Firmware Downloader von https://github.com/Freifunk-Hennef/ffhef-fw-dl herunterladen
- Firmware Downloader auf dem Firmware Server in ein eigenes Verzeichnis kopieren
- community-config.inc.php anpassen (Pfad zur Firmware einrichten, Titel der Seite anpassen, Logo URL anpassen, etc.)
- fertig!
Um den Firmware Downloader mal auszuprobieren könnt ihr gerne unsere Seite ansurfen: http://images.freifunk-hennef.de/downloader/ oder um die Vorauswahl zu sehen: http://downloader.freifunk-rhein-sieg.de/
Unsere Firmware-Images finden sich unter: http://images.freifunk-hennef.de/firmware/ falls sich jemand nicht sicher ist wie die Dateistruktur auszusehen hat. Aktuell gibt es bei uns keinen „broken“ Ordner, aber auch der wird unterstützt (wenn er denn da ist) und im Ordner liegende „manifest“-Dateien stören ihn auch nicht.
Struktur der community-config.inc.php:
1 Community ohne Vorauswahl:
$community = array(
0 => array(
"community_id" => 0,
"name" => "Freifunk Hennef",
"head_titel" => "Freifunk Hennef Firmware",
"head_text" => "Auf dieser Seite können Sie die passende Firmware für ihren Router in Hennef auswählen und herunterladen!",
"link_text" => "Zurück zur Startseite",
"link_url" => "http://www.freifunk-hennef.de/",
"logo_alt" => "Freifunk Hennef Logo",
"logo_url" => "images/Freifunk-logo-hennef-klein-200.png",
"lang_titel" => "Freifunk Hennef Firmware Auswahl",
"lang_text" => "Bitte suchen Sie den passenden Router aus, indem Sie den Hersteller, das Modell und die Version auswählen.<br />Legen Sie anschließend fest, ob sie den Router zum ersten Mal mit einer Freifunk Firmware flashen und welches Entwicklungsstadium die Firmware haben soll.<br /><br />Bitte wählen Sie -stable- im Entwicklungsstadium aus, wenn Sie nicht genau wissen was Sie sonst erwartet!",
"download_path" => "",
"sub_auswahl" => ""
)
);
Mehrere Communities mit Sub-Communities/Technik als Vorauswahl:
$community = array(
0 => array(
"community_id" => 0,
"name" => "Freifunk Rhein-Sieg",
"head_titel" => "Freifunk Rhein-Sieg Firmware",
"head_text" => "Auf dieser Seite können Sie die passende Community für die Firmware für ihren Router aus dem Rhein-Sieg-Kreis auswählen!",
"link_text" => "Zurück zur Startseite",
"link_url" => "http://www.freifunk-rhein-sieg.de/",
"logo_alt" => "Freifunk Rhein-Sieg-Kreis Logo",
"logo_url" => "images/Freifunk-logo-rhein-sieg-klein-200.png",
"lang_titel" => "Freifunk Rhein-Sieg Community Auswahl",
"lang_text" => "Bitte suchen Sie die passende Community aus, indem Sie die Community und gegebenenfalls noch einen Bereich in der Community auswählen.<br />Sie werden dann weitergeleitet auf die eigentliche Firmware Download Seite für die gewähle Community.",
"download_path" => "",
"sub_auswahl" => ""
),
1 => array(
"community_id" => 1,
"name" => "Freifunk Hennef",
"head_titel" => "Freifunk Hennef Firmware",
"head_text" => "Auf dieser Seite können Sie die passende Firmware für ihren Router in Hennef auswählen und herunterladen!",
"link_text" => "Zurück zur Startseite",
"link_url" => "http://downloader.freifunk-rhein-sieg.de/",
"logo_alt" => "Freifunk Hennef Logo",
"logo_url" => "images/Freifunk-logo-hennef-klein-200.png",
"lang_titel" => "Freifunk Hennef Firmware Auswahl",
"lang_text" => "Bitte suchen Sie den passenden Router aus, indem Sie den Hersteller, das Modell und die Version auswählen.<br />Legen Sie anschließend fest, ob sie den Router zum ersten Mal mit einer Freifunk Firmware flashen und welches Entwicklungsstadium die Firmware haben soll.<br /><br />Bitte wählen Sie -stable- im Entwicklungsstadium aus, wenn Sie nicht genau wissen was Sie sonst erwartet!",
"download_path" => "../fwuploads/hennef/",
"sub_auswahl" => ""
),
2 => array(
"community_id" => 2,
"name" => "Freifunk Troisdorf",
"head_titel" => "Freifunk Troisdorf Fußgängerzone Firmware",
"head_text" => "Auf dieser Seite können Sie die passende Firmware für ihren Router in der Troisdorfer Fußgängerzone auswählen und herunterladen!",
"link_text" => "Zurück zur Startseite",
"link_url" => "http://downloader.freifunk-rhein-sieg.de/",
"logo_alt" => "Freifunk Troisdorf Logo",
"logo_url" => "images/Freifunk-logo-troisdorf-klein-200.png",
"lang_titel" => "Freifunk Troisdorf Fußgängerzone Firmware Auswahl",
"lang_text" => "Bitte suchen Sie den passenden Router aus, indem Sie den Hersteller, das Modell und die Version auswählen.<br />Legen Sie anschließend fest, ob sie den Router zum ersten Mal mit einer Freifunk Firmware flashen und welches Entwicklungsstadium die Firmware haben soll.<br /><br />Bitte wählen Sie -stable- im Entwicklungsstadium aus, wenn Sie nicht genau wissen was Sie sonst erwartet!",
"download_path" => "../fwuploads/troisdorf/inn/",
"sub_auswahl" => "Fußgängerzone"
),
3 => array(
"community_id" => 2,
"name" => "Freifunk Troisdorf",
"head_titel" => "Freifunk Troisdorf Firmware",
"head_text" => "Auf dieser Seite können Sie die passende Firmware für ihren Router in Troisdorf auswählen und herunterladen!",
"link_text" => "Zurück zur Startseite",
"link_url" => "http://downloader.freifunk-rhein-sieg.de/",
"logo_alt" => "Freifunk Troisdorf Logo",
"logo_url" => "images/Freifunk-logo-troisdorf-klein-200.png",
"lang_titel" => "Freifunk Troisdorf Firmware Auswahl",
"lang_text" => "Bitte suchen Sie den passenden Router aus, indem Sie den Hersteller, das Modell und die Version auswählen.<br />Legen Sie anschließend fest, ob sie den Router zum ersten Mal mit einer Freifunk Firmware flashen und welches Entwicklungsstadium die Firmware haben soll.<br /><br />Bitte wählen Sie -stable- im Entwicklungsstadium aus, wenn Sie nicht genau wissen was Sie sonst erwartet!",
"download_path" => "../fwuploads/troisdorf/tdf/",
"sub_auswahl" => "Troisdorf"
),
4 => array(
"community_id" => 2,
"name" => "Freifunk Troisdorf",
"head_titel" => "Freifunk Troisdorf Soziale Projekte Firmware",
"head_text" => "Auf dieser Seite können Sie die passende Firmware für ihren Router für Troisdorfer Soziale Projekte auswählen und herunterladen!",
"link_text" => "Zurück zur Startseite",
"link_url" => "http://downloader.freifunk-rhein-sieg.de/",
"logo_alt" => "Freifunk Troisdorf Logo",
"logo_url" => "images/Freifunk-logo-troisdorf-klein-200.png",
"lang_titel" => "Freifunk Troisdorf Soziale Projekte Firmware Auswahl",
"lang_text" => "Bitte suchen Sie den passenden Router aus, indem Sie den Hersteller, das Modell und die Version auswählen.<br />Legen Sie anschließend fest, ob sie den Router zum ersten Mal mit einer Freifunk Firmware flashen und welches Entwicklungsstadium die Firmware haben soll.<br /><br />Bitte wählen Sie -stable- im Entwicklungsstadium aus, wenn Sie nicht genau wissen was Sie sonst erwartet!",
"download_path" => "../fwuploads/troisdorf/flu/",
"sub_auswahl" => "Soziale Projekte"
),
5 => array(
"community_id" => 3,
"name" => "Freifunk Wachtberg",
"head_titel" => "Freifunk Wachtberg Firmware",
"head_text" => "Auf dieser Seite können Sie die passende Firmware für ihren Router in Wachtberg auswählen und herunterladen!",
"link_text" => "Zurück zur Startseite",
"link_url" => "http://downloader.freifunk-rhein-sieg.de/",
"logo_alt" => "Freifunk Wachtberg Logo",
"logo_url" => "images/Freifunk-logo-wachtberg-klein-200.png",
"lang_titel" => "Freifunk Wachtberg Firmware Auswahl",
"lang_text" => "Bitte suchen Sie den passenden Router aus, indem Sie den Hersteller, das Modell und die Version auswählen.<br />Legen Sie anschließend fest, ob sie den Router zum ersten Mal mit einer Freifunk Firmware flashen und welches Entwicklungsstadium die Firmware haben soll.<br /><br />Bitte wählen Sie -stable- im Entwicklungsstadium aus, wenn Sie nicht genau wissen was Sie sonst erwartet!",
"download_path" => "../fwuploads/wachtberg/",
"sub_auswahl" => ""
)
);
Aktueller Stand / Dinge die noch zu tun sind:
2 Stufige Vorauswahl
Design Anpassungen (maximale Breite gesetzt, form_control hinzugefügt, danke an @xaver für die Hinweise
automatisches Überspringen der 2. Auswahlstufe bei nicht vorhanden sein
überspringen der Vorauswahl bei nur einer Community
- überspringen von unnötigen Auswahlstufen (Version: Alle - zum Beispiel)
- irgendeine Art von Caching für die JSON Daten
Ich freue mich über konstruktive Kritik und vor allem wenn andere Communities den Firmware Downloader einsetzen möchten. Postet hier im Thread, oder per PM falls ihr Unterstützung bei der Einrichtung benötigt.
Gruß
Caspar