Compare commits

...

9 Commits

Author SHA1 Message Date
Adrian Schmutzler 7e552761f6 packages/fff: rename fff-gateway to fff-layer3
The term "gateway" is ambiguous, and we are using "layer 3" for this
flavor now. Reflect that in the package name as well.

This is cosmetic otherwise.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Christian Dresel <freifunk@dresel.systems>
2020-12-17 15:38:28 +01:00
Adrian Schmutzler f9a68be465 packages/fff: move config scripts to fff-layer3-config
configuregateway and it's gateway.d files represent a specific
functionality that other packages depend on. Thus, it is put into
a package of its own so dependencies can be expressed more properly.

While at, use the chance to get rid of the ambiguous term "gateway"
and rename the script to configure-layer3 and the folders to layer3.d.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Christian Dresel <freifunk@dresel.systems>
2020-12-17 15:38:20 +01:00
Christian Dresel e5da228cb1 fff-babeld: Add rule to lookup in fff table for everything except wireguard
With this patch the router answers in traceroute over the fff table with
Freifunk IPs and not with the WAN IP. All other connections use the fff
table too.

We already have the rules with 5000 and 5001 so that wireguard does not use
the fff table anyway and connect the VPN only via the main table.

Signed-off-by: Christian Dresel <freifunk@dresel.systems>
Acked-by: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
2020-12-16 17:53:56 +01:00
Adrian Schmutzler 31df0a3779 packages/fff: remove whitespace from package TITLE
Some packages contain a whitespace at the start of TITLE, some
don't. This is completely irrelevant since Make strips leading
and trailing spaces anyway. Nevertheless, make it consistent.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Robert Langhammer <rlanghammer@web.de>
2020-12-13 14:40:53 +01:00
Felix Luber 2484d8defb README.md: explain more commands from buildscript
Signed-off-by: Felix Luber <Felix.Luber@servercreator.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-12-13 14:39:56 +01:00
Felix Luber 87c420c4a0 README.md: remove unnecessary empty lines
Signed-off-by: Felix Luber <Felix.Luber@servercreator.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-12-13 14:38:30 +01:00
Felix Luber 939950a881 README.md: change git url to new gitea host
Signed-off-by: Felix Luber <Felix.Luber@servercreator.de>
Reviewed-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-12-13 14:37:34 +01:00
Christian Dresel da50954db7 fff-web: Make ssl menu modular
To add new menu items in other packages we need a modular construction:
- Simpel Babelweb
- Layer 3 configuration
and so on

Every menu item needs a file in /www/menu/ssl/ with the content

  link,name

  - link is the name of the html file without extension (.html)
  - name is the text of the link in the webui

While at it, rename "Password" menu item to German "Passwort".

Signed-off-by: Christian Dresel <freifunk@dresel.systems>
[bump PKG_RELEASE, use /www/menu, use script_file for link,
improve use of class_active, commit message adjustments,
improve variable names, keep HTML umlaut, keep Logout]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-12-12 21:14:42 +01:00
Adrian Schmutzler d4e6482b60 fff-web: remove included files from HTTP-accessible folder
Certain files are only included, but are not meant to be accessed
via HTTP directly. Move those to a dedicated directory that is not
served via HTTP.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: Christian Dresel <freifunk@dresel.systems>
2020-12-12 21:12:35 +01:00
47 changed files with 124 additions and 64 deletions

View File

@ -9,12 +9,11 @@ Weitere Informationen gibt es auf <https://freifunk.net/> und auf <https://wiki.
# Firmware selbst kompilieren
## Voraussetzungen
* `apt-get install zlib1g-dev lua5.2 build-essential unzip libncurses-dev gawk git subversion realpath libssl-dev` (Sicherlich müssen noch mehr Abhängigkeiten installiert werden, diese Liste wird sich hoffentlich nach und nach füllen. Ein erster Ansatzpunkt sind die Abhängigkeiten von OpenWrt selbst)
* `git clone https://github.com/FreifunkFranken/firmware.git`
* `git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git`
* `cd firmware`
## Erste Schritte
Je nachdem, für welche Hardware die Firmware gebaut werden soll, muss das BSP gewählt werden:
* `./buildscript selectbsp bsp/ath79-generic.bsp`
* Um die vorhandenen BSPs zu sehen, kann `./buildscript selectbsp help` ausgeführt werden.
@ -30,11 +29,15 @@ Die Daten des BSP werden nie alleine verwendet. Zuerst werden immer die Daten au
Die BSP-Datei wird durch das Buildscript automatisch als dot-Script geladen, somit stehen dort alle Funktionen zur Verfügung.
Das Buildscript generiert ein dynamisches sed-Script. Dies geschieht, damit die Templates mit den richtigen Werten gefüllt werden können.
### `./buildscript selectvariant`
Hier wählt man aus ob man Node Firmware oder Layer3 Firmware bauen möchte:
* `./buildscript selectvariant [node/layer3]`
* Um die verschiedenen Varianten zu sehen, kann `./buildscript selectvariant help` ausgeführt werden.
### `./buildscript prepare`
* Sourcen werden in einen separaten src-Folder geladen, sofern diese nicht schon da sind. Zu den Sourcen zählen folgende Komponenten:
* OpenWrt
* Sämtliche Packages (ggf. werden Patches angewandt)
* Eine OpenWrt Feed-Config wird mit dem lokalen Source Verzeichnis als Quelle angelegt
* Die Feeds werden geladen
* Spezielle Auswahl an Paketen wird geladen
@ -50,7 +53,11 @@ Dieses Kommando arbeitet folgendermaßen:
* Config-Format vereinfachen
* Config ins BSP zurück speichern
### `./buildscript updatefeeds`
Aktualisiert die OpenWrt Feeds für zusätzliche Pakete, die in die Firmware eingebaut werden. Dabei werden die Referenzen im build/ Verzeichnis aktualisiert. Dieser Schritt wird bereits von `./buildscript prepare` übernommen, daher ist dies nur bei manuellen Änderungen der Feeds nötig.
### `./buildscript build`
Sollte man am besten mit Hilfe des Tools 'screen' oder ähnlichem laufen lassen um einen Abbruch des Builds bei Verbindungsproblemen oder ähnlichem zu verhindern.
* prebuild
* $target/files aufräumen
* (In $target/files liegen Dateien, die später direkt im Ziel-Image landen)
@ -63,12 +70,15 @@ Dieses Kommando arbeitet folgendermaßen:
* postbuild
* board_postbuild() wird aufgerufen
### `./buildscript buildall`
Kann verwendet werden um für alle BSPs Firmware zu bauen. Das kann jedoch mehrere Stunden dauern.
## Erweiterung eines BSPs
Beispielhaftes Vorgehen um den WR1043V2 zu unterstützen.
### Repository auschecken
```
git clone https://github.com/FreifunkFranken/firmware.git
git clone https://git.freifunk-franken.de/freifunk-franken/firmware.git
cd firmware
```

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-babeld
PKG_RELEASE:=2
PKG_RELEASE:=4
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-babeld

View File

@ -37,6 +37,11 @@ uci batch <<EOF
set network.@rule6[2].in='mesh'
set network.@rule6[2].lookup='10'
set network.@rule6[2].priority='31'
add network rule6
set network.@rule6[3]=rule6
set network.@rule6[3].src='::/0'
set network.@rule6[3].lookup='10'
set network.@rule6[3].priority='32000'
EOF
uci commit network

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-dhcp
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-dhcp

View File

@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken hoods
TITLE:=Freifunk-Franken hoods
URL:=http://www.freifunk-franken.de
DEPENDS:=+fff-hoodutils +fff-macnock +fff-vpn-select +fff-firewall \
+fff-timeserver +fff-network +fff-wireless +jshn \

View File

@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken hoodutils
TITLE:=Freifunk-Franken hoodutils
URL:=http://www.freifunk-franken.de
DEPENDS:=+fff-network +fff-config
endef

View File

@ -0,0 +1,42 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-layer3-config
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-layer3-config
include $(INCLUDE_DIR)/package.mk
define Package/fff-layer3-config
SECTION:=base
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken Layer3 firmware configuration tools
URL:=https://www.freifunk-franken.de
DEPENDS:= \
+fff-boardname \
+fff-config \
+fff-dhcp \
+fff-network
endef
define Package/fff-layer3-config/description
This package provides the means for configuring the gateway
endef
define Build/Prepare
echo "all: " > $(PKG_BUILD_DIR)/Makefile
endef
define Build/Configure
# nothing
endef
define Build/Compile
# nothing
endef
define Package/fff-layer3-config/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,fff-layer3-config))

View File

@ -18,7 +18,7 @@ execute_subshell() {
echo "Usage:" "$0" "<function>"
fi
for script in /etc/gateway.d/*; do
for script in /etc/layer3.d/*; do
(
# unset function to prevent executing parents shell function
unset -f "$1"

View File

@ -1,13 +1,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-gateway
PKG_RELEASE:=6
PKG_NAME:=fff-layer3
PKG_RELEASE:=7
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-gateway
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-layer3
include $(INCLUDE_DIR)/package.mk
define Package/fff-gateway
define Package/fff-layer3
SECTION:=base
CATEGORY:=Freifunk
TITLE:=Freifunk-Franken gateway configuration
@ -16,6 +16,7 @@ define Package/fff-gateway
+fff-babeld \
+fff-boardname \
+fff-dhcp \
+fff-layer3-config \
+fff-network \
+fff-ra \
+fff-wireguard \
@ -39,8 +40,8 @@ define Package/fff-gateway
+vxlan
endef
define Package/fff-gateway/description
This package configures the gateway
define Package/fff-layer3/description
This package provides the packages and settings for the layer 3 firmware
endef
define Build/Prepare
@ -55,8 +56,8 @@ define Build/Compile
# nothing
endef
define Package/fff-gateway/install
define Package/fff-layer3/install
$(CP) ./files/* $(1)/
endef
$(eval $(call BuildPackage,fff-gateway))
$(eval $(call BuildPackage,fff-layer3))

View File

@ -16,7 +16,7 @@ CMAKE_OPTIONS:=-DMACNOCK_DEBUG=ON
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken mac nocker
TITLE:=Freifunk-Franken mac nocker
URL:=http://www.freifunk-franken.de
KCONFIG:= \
CONFIG_NET_EMATCH=y \

View File

@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken network configuration
TITLE:=Freifunk-Franken network configuration
URL:=http://www.freifunk-franken.de
DEPENDS:=+fff-boardname +fff-firewall
endef

View File

@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken Nodewatcher
TITLE:=Freifunk-Franken Nodewatcher
URL:=http://www.freifunk-franken.de
DEPENDS:=+fff-alfred +micrond +fff-config +fff-random +ip +ip-bridge
endef

View File

@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken uradvd
TITLE:=Freifunk-Franken uradvd
URL:=http://www.freifunk-franken.de
DEPENDS:=+uradvd
endef

View File

@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken vpn-select
TITLE:=Freifunk-Franken vpn-select
URL:=http://www.freifunk-franken.de
DEPENDS:=+fff-fastd
endef

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-web
PKG_RELEASE:=11
PKG_RELEASE:=13
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken Webinterface
TITLE:=Freifunk-Franken Webinterface
URL:=http://www.freifunk-franken.de
DEPENDS:=+uhttpd +libustream-mbedtls +haserl +px5g +fff-simple-tc \
+fff-boardname +fff-config +fff-network +fff-hoodutils \

View File

@ -7,13 +7,6 @@
UPGRADE_PATH="$(getUpgradePath)"
echo -en "Content-Type: text/html\r\n\r\n"
nav_entry() {
script_file="/cgi-bin/$1"
if [ "$script_file" = "$REQUEST_URI" ] ; then
local class_active=' class="active"'
fi
echo -ne "\t<li${class_active}><a href=\"${script_file}\">$2</a></li>\n\t\t"
}
HOSTNAME="$(uci -q get "fff.system.hostname")"
hood="$(uci -q get "system.@system[0].hood")"
@ -52,14 +45,15 @@ fi
<div id="menu">
<ul>
<%
nav_entry home.html "Home"
nav_entry settings.html "Einstellungen"
nav_entry ports.html "Anschl&uuml;sse"
nav_entry wifiscan.html "Wifi Scan"
nav_entry upgrade.html "Upgrade"
nav_entry password.html "Password"
nav_entry reboot.html "Neustart"
nav_entry logout.html "Logout"
for f in /www/menu/ssl/*; do
var=$(cat $f);
menu_file=$(echo $var | cut -d "," -f 1)
menu_name=$(echo $var | cut -d "," -f 2)
menu_link="/cgi-bin/${menu_file}.html";
class_active=""
[ "$menu_link" = "$REQUEST_URI" ] && class_active=' class="active"'
echo -ne "\t<li$class_active><a href=\"${menu_link}\">$menu_name</a></li>\n\t\t";
done
%>
</ul>
<div></div>

View File

@ -0,0 +1 @@
home,Home

View File

@ -0,0 +1 @@
settings,Einstellungen

View File

@ -0,0 +1 @@
ports,Anschl&uuml;sse

View File

@ -0,0 +1 @@
wifiscan,Wifi Scan

View File

@ -0,0 +1 @@
upgrade,Upgrade

View File

@ -0,0 +1 @@
password,Passwort

View File

@ -0,0 +1 @@
reboot,Neustart

View File

@ -0,0 +1 @@
logout,Logout

View File

@ -13,8 +13,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
fi
fi
%>
<%in /www/ssl/cgi-bin/header %>
<%in /www/ssl/cgi-bin/helpers %>
<%in /www/include/header %>
<%in /www/include/helpers %>
<% show_msg %>
<%
if pidof fastd >/dev/null ; then
@ -116,4 +116,4 @@ fi
</td></tr>
</table>
<%in /www/ssl/cgi-bin/footer %>
<%in /www/include/footer %>

View File

@ -20,8 +20,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
fi
fi
%>
<%in /www/ssl/cgi-bin/header %>
<%in /www/ssl/cgi-bin/helpers %>
<%in /www/include/header %>
<%in /www/include/helpers %>
<% show_msg %>
<form method="POST">
<input type="text" name="username" value="root" style="display: none;" />
@ -43,7 +43,7 @@ fi
</table>
<input type="submit" style="margin-top: 5px; margin-left: 3px;" />
</form>
<%in /www/ssl/cgi-bin/footer %>
<%in /www/include/footer %>
<%
#force instant password change
if [ "$restart_uhttpd" = "1" ] ; then

View File

@ -71,8 +71,8 @@ format_port() {
%>
<%in /www/ssl/cgi-bin/header %>
<%in /www/ssl/cgi-bin/helpers %>
<%in /www/include/header %>
<%in /www/include/helpers %>
<% show_msg %>
<form method="post">
<table style="width: 100%;">
@ -237,7 +237,7 @@ format_port() {
<% fi %>
</table>
</form>
<%in /www/ssl/cgi-bin/footer %>
<%in /www/include/footer %>
<%
# write
if [ "$do_reboot" = "1" ] ; then

View File

@ -9,8 +9,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
fi
fi
%>
<%in /www/ssl/cgi-bin/header %>
<%in /www/ssl/cgi-bin/helpers %>
<%in /www/include/header %>
<%in /www/include/helpers %>
<% show_msg %>
<form method="POST">
<table style="width: 100%;">
@ -26,7 +26,7 @@ fi
</td></tr>
</table>
</form>
<%in /www/ssl/cgi-bin/footer %>
<%in /www/include/footer %>
<%
# write
if [ "$do_reboot" = "1" ] ; then

View File

@ -65,8 +65,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
fi
fi
%>
<%in /www/ssl/cgi-bin/header %>
<%in /www/ssl/cgi-bin/helpers %>
<%in /www/include/header %>
<%in /www/include/helpers %>
<%
# read
chkd='checked="checked" '
@ -154,4 +154,4 @@ fi
</td></tr>
</table>
</form>
<%in /www/ssl/cgi-bin/footer %>
<%in /www/include/footer %>

View File

@ -29,8 +29,8 @@ if [ "$REQUEST_METHOD" = "POST" ] ; then
fi
fi
%>
<%in /www/ssl/cgi-bin/header %>
<%in /www/ssl/cgi-bin/helpers %>
<%in /www/include/header %>
<%in /www/include/helpers %>
<% show_msg %>
<form method="post" enctype="multipart/form-data">
<table style="width: 100%;">
@ -60,7 +60,7 @@ fi
</td></tr>
</table>
</form>
<%in /www/ssl/cgi-bin/footer %>
<%in /www/include/footer %>
<%
# write
if [ "$do_reset" = "1" ] ; then

View File

@ -1,6 +1,6 @@
#!/usr/bin/haserl
<%in /www/ssl/cgi-bin/header %>
<%in /www/include/header %>
<table style="width: 100%">
<tr><td>
<fieldset>
@ -23,4 +23,4 @@ iw dev w2mesh scan | sed 's/^BSS/\nBSS/g' |\
</td></tr>
</table>
<%in /www/ssl/cgi-bin/footer %>
<%in /www/include/footer %>

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-wireguard
PKG_RELEASE:=3
PKG_RELEASE:=4
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-wireguard

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-wireless
PKG_RELEASE:=18
PKG_RELEASE:=19
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/package.mk
define Package/$(PKG_NAME)
SECTION:=base
CATEGORY:=Freifunk
TITLE:= Freifunk-Franken wireless configuration
TITLE:=Freifunk-Franken wireless configuration
URL:=http://www.freifunk-franken.de
DEPENDS:=+@ATH_USER_REGD +wireless-tools +fff-boardname
endef

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff
PKG_RELEASE:=7
PKG_RELEASE:=8
PKG_BUILD_DIR:=$(BUILD_DIR)/fff

View File

@ -4,7 +4,7 @@ define Package/fff-default
DEFAULT:=y
TITLE:=Freifunk-Franken Base default switcher
URL:=http://www.freifunk-franken.de
DEPENDS:=+fff-base +fff-gateway
DEPENDS:=+fff-base +fff-layer3
VARIANT:=layer3
endef