forked from freifunk-franken/firmware
Compare commits
7 Commits
master
...
release-CH
Author | SHA1 | Date |
---|---|---|
Christian Dresel | bd092168bb | |
Christian Dresel | f0c53a61cb | |
Christian Dresel | fe06eae15c | |
Christian Dresel | ab5c00fb51 | |
Christian Dresel | 0b585e5273 | |
Christian Dresel | 93106ff9d6 | |
Christian Dresel | 706736eeca |
|
@ -2,6 +2,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-firewall
|
PKG_NAME:=fff-firewall
|
||||||
PKG_RELEASE:=6
|
PKG_RELEASE:=6
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -5,5 +5,11 @@ ebtables -X
|
||||||
iptables -F
|
iptables -F
|
||||||
iptables -X
|
iptables -X
|
||||||
|
|
||||||
|
iptables -F -t nat
|
||||||
|
iptables -X -t nat
|
||||||
|
|
||||||
|
iptables -F -t mangle
|
||||||
|
iptables -X -t mangle
|
||||||
|
|
||||||
ip6tables -F
|
ip6tables -F
|
||||||
ip6tables -X
|
ip6tables -X
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-layer3-ipv4snat
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-layer3-ipv4snat
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken layer3 configuration with SNAT
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
|
+iptables-mod-nat-extra \
|
||||||
|
+fff-firewall \
|
||||||
|
+fff-layer3-config
|
||||||
|
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-layer3-ipv4snat/description
|
||||||
|
With this package it is possible to make SNAT with IPv4 on the router
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-layer3-ipv4snat/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-layer3-ipv4snat))
|
|
@ -0,0 +1,31 @@
|
||||||
|
configure() {
|
||||||
|
# first we delete the snat config
|
||||||
|
uci -q del network.client.nat
|
||||||
|
if [ "$(uci -q get gateway.@client[0].nat)" = '1' ]; then
|
||||||
|
|
||||||
|
# first check the config is plausible
|
||||||
|
if ! peer_ip=$(uci get gateway.meta.peer_ip); then
|
||||||
|
echo "ERROR: No peer_ip set! For SNAT use you must set a peer_ip"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if ! ipaddr=$(uci get gateway.@client[0].ipaddr); then
|
||||||
|
echo "ERROR: No ipaddr set! For SNAT use you must set ipaddr"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We set the snat config
|
||||||
|
uci set network.client.nat=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
reload() {
|
||||||
|
/etc/init.d/fff-firewall start
|
||||||
|
}
|
||||||
|
|
||||||
|
apply() {
|
||||||
|
uci commit network
|
||||||
|
}
|
||||||
|
|
||||||
|
revert() {
|
||||||
|
uci revert network
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
if [ "$(uci -q get gateway.@client[0].nat)" = '1' ]; then
|
||||||
|
peer_ip=$(uci get gateway.meta.peer_ip)
|
||||||
|
ipaddr=$(uci get gateway.@client[0].ipaddr)
|
||||||
|
for ip in $ipaddr; do
|
||||||
|
iptables -t nat -A POSTROUTING -s $ip -j SNAT --to-source $peer_ip
|
||||||
|
done
|
||||||
|
fi
|
|
@ -2,6 +2,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-layer3
|
PKG_NAME:=fff-layer3
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=8
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-layer3
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -15,8 +16,11 @@ define Package/fff-layer3
|
||||||
+fff-boardname \
|
+fff-boardname \
|
||||||
+fff-dhcp \
|
+fff-dhcp \
|
||||||
+fff-layer3-config \
|
+fff-layer3-config \
|
||||||
|
+fff-mqtt-monitoring \
|
||||||
|
+fff-layer3-ipv4snat \
|
||||||
+fff-network \
|
+fff-network \
|
||||||
+fff-ra \
|
+fff-ra \
|
||||||
|
+fff-web-mqtt \
|
||||||
+fff-wireguard \
|
+fff-wireguard \
|
||||||
+arptables \
|
+arptables \
|
||||||
+bmon \
|
+bmon \
|
||||||
|
|
|
@ -0,0 +1,35 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-mqtt-monitoring
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt-monitoring
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-mqtt-monitoring
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken mqtt configuration
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
|
+alfred-json \
|
||||||
|
+fff-mqtt \
|
||||||
|
+micrond \
|
||||||
|
+fff-alfred
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-mqtt-monitoring/description
|
||||||
|
This package send monitoring informations to
|
||||||
|
the mqtt broker
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-mqtt-monitoring/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-mqtt-monitoring))
|
|
@ -0,0 +1 @@
|
||||||
|
*/5 * * * * sleep $(/usr/bin/random 70 85); /usr/sbin/alfred-mqtt-proxy
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/sh
|
||||||
|
MACADDR=$(cat /sys/class/net/br-client/address | /bin/sed 's/://g')
|
||||||
|
|
||||||
|
fetch_id="64"
|
||||||
|
if [ -n "$(uci -q get fff.mqtt.server)" ] ; then
|
||||||
|
mosquitto_pub -h "$(uci get fff.mqtt.server)" -p 1883 -t /monitoring/v1/$MACADDR -m "$(/bin/alfred-json -r "$fetch_id")"
|
||||||
|
fi
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-mqtt
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-mqtt
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken mqtt configuration
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
|
+fff-config \
|
||||||
|
+libmosquitto-ssl \
|
||||||
|
+mosquitto-client-ssl \
|
||||||
|
+mosquitto-ssl
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-mqtt/description
|
||||||
|
This package provides mosquitto and settings
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-mqtt/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-mqtt))
|
|
@ -0,0 +1,3 @@
|
||||||
|
uci set fff.mqtt=mqtt
|
||||||
|
|
||||||
|
exit 0
|
|
@ -0,0 +1,32 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-web-mqtt
|
||||||
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-web-mqtt
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken mqtt config webui
|
||||||
|
URL:=http://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
|
+fff-mqtt \
|
||||||
|
+fff-web-ui
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-web-mqtt/description
|
||||||
|
Configure mqtt via a web UI
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-web-mqtt/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-web-mqtt))
|
|
@ -0,0 +1 @@
|
||||||
|
mqtt,MQTT-Einstellungen
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/haserl
|
||||||
|
|
||||||
|
<%in /www/include/header %>
|
||||||
|
<%in /www/include/helpers %>
|
||||||
|
<% show_msg %>
|
||||||
|
|
||||||
|
<%
|
||||||
|
# write
|
||||||
|
if [ "$REQUEST_METHOD" = "POST" ] ; then
|
||||||
|
uci -q set "fff.mqtt.server=${POST_server}"
|
||||||
|
uci commit fff
|
||||||
|
fi
|
||||||
|
%>
|
||||||
|
|
||||||
|
<form method="post">
|
||||||
|
|
||||||
|
<fieldset style="min-height: 7em;" class="smallinput">
|
||||||
|
<legend>MQTT</legend>
|
||||||
|
<table>
|
||||||
|
<tr><th>Server:</th><td><input type="text" name="server" value="<%= $(uci -q get fff.mqtt.server) %>" /></td></tr>
|
||||||
|
</table>
|
||||||
|
</fieldset>
|
||||||
|
<input type="submit" style="margin-top: 5px; margin-left: 3px;" />
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<%in /www/include/footer %>
|
Loading…
Reference in New Issue