forked from freifunk-franken/firmware
Compare commits
13 Commits
Author | SHA1 | Date |
---|---|---|
Christian Dresel | e9ca5477f3 | |
Adrian Schmutzler | 27baecaf37 | |
Christian Dresel | 825d760bd8 | |
Fabian Bläse | 51ec3648cf | |
Fabian Bläse | 8ef6dba5a1 | |
Robert Langhammer | a6b90f1a83 | |
Robert Langhammer | 085dbb64fe | |
Robert Langhammer | 12f60419cd | |
Robert Langhammer | 1febd2a9b2 | |
Johannes Kimmel | feeead6c43 | |
Johannes Kimmel | 9d745d0d5c | |
Fabian Bläse | 7c3f3230ff | |
Fabian Bläse | a3d62c7fcc |
|
@ -1,19 +0,0 @@
|
||||||
From: =?UTF-8?q?Fabian=20Bl=C3=A4se?= <fabian@blaese.de>
|
|
||||||
Date: Sat, 23 Oct 2021 23:34:07 +0200
|
|
||||||
Subject: [PATCH] mt7621: retain old compat_version
|
|
||||||
|
|
||||||
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
|
|
||||||
index a3bc14d59d..99887e8192 100644
|
|
||||||
--- a/target/linux/ramips/image/mt7621.mk
|
|
||||||
+++ b/target/linux/ramips/image/mt7621.mk
|
|
||||||
@@ -91,8 +91,7 @@ define Build/zytrx-header
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Device/dsa-migration
|
|
||||||
- DEVICE_COMPAT_VERSION := 1.1
|
|
||||||
- DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA
|
|
||||||
+ DEVICE_COMPAT_VERSION := 1.0
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Device/adslr_g7
|
|
||||||
|
|
|
@ -290,7 +290,8 @@ cp_firmware() {
|
||||||
filename_build=${f##*/}
|
filename_build=${f##*/}
|
||||||
filename_build=${filename_build//openwrt/fff-${version}}
|
filename_build=${filename_build//openwrt/fff-${version}}
|
||||||
filename_build=${filename_build//squashfs-/}
|
filename_build=${filename_build//squashfs-/}
|
||||||
filename_build=${filename_build//${chipset}-${subtarget}-/}
|
filename_build=${filename_build//${chipset}-/}
|
||||||
|
filename_build=${filename_build//${subtarget}-/}
|
||||||
cp "$f" "$imagedestpath/$filename_build"
|
cp "$f" "$imagedestpath/$filename_build"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-alfred-monitoring-proxy
|
PKG_NAME:=fff-alfred-monitoring-proxy
|
||||||
PKG_RELEASE:=5
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -3,5 +3,5 @@
|
||||||
api_url="https://monitoring.freifunk-franken.de/api/alfred2"
|
api_url="https://monitoring.freifunk-franken.de/api/alfred2"
|
||||||
fetch_id="64"
|
fetch_id="64"
|
||||||
|
|
||||||
/bin/alfred-json -r "$fetch_id" | \
|
cat /tmp/nodewatcher | \
|
||||||
/usr/bin/curl -k -sS -H "Content-type: application/json; charset=UTF-8" --data-binary @- "$api_url"
|
/usr/bin/curl -k -sS -H "Content-type: application/json; charset=UTF-8" --data-binary @- "$api_url"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-alfred
|
PKG_NAME:=fff-alfred
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-babeld
|
PKG_NAME:=fff-babeld
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -38,10 +38,18 @@ babel_add_peeraddr() {
|
||||||
uci add_list "$option"="$peer_ip"
|
uci add_list "$option"="$peer_ip"
|
||||||
elif router_ip=$(uci -q get gateway.meta.router_ip); then
|
elif router_ip=$(uci -q get gateway.meta.router_ip); then
|
||||||
# use router_ip if no peer_ip is set
|
# use router_ip if no peer_ip is set
|
||||||
uci add_list "$option"="$router_ip"
|
ip=$router_ip
|
||||||
|
|
||||||
|
# use only first ip
|
||||||
|
ip=${ip%% *}
|
||||||
|
|
||||||
|
# remove CIDR mask
|
||||||
|
ip=${ip%%/*}
|
||||||
|
|
||||||
|
uci add_list "$option"="$ip"
|
||||||
elif ipaddr=$(uci -q get gateway.@client[0].ipaddr); then
|
elif ipaddr=$(uci -q get gateway.@client[0].ipaddr); then
|
||||||
# use client interface address (without subnet) if no router_ip is set
|
# use client interface address (without subnet) if no router_ip is set
|
||||||
uci add_list "$option"=$(echo $ipaddr | cut -d / -f1)
|
uci add_list "$option"=${ipaddr%%/*}
|
||||||
else
|
else
|
||||||
echo "WARNING: No peer_ip, router_ip or client interface ipaddr set! IPv4 routing is not possible."
|
echo "WARNING: No peer_ip, router_ip or client interface ipaddr set! IPv4 routing is not possible."
|
||||||
return 1
|
return 1
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-batman-adv
|
PKG_NAME:=fff-batman-adv
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-boardname
|
PKG_NAME:=fff-boardname
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-config
|
PKG_NAME:=fff-config
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-dhcp
|
PKG_NAME:=fff-dhcp
|
||||||
PKG_RELEASE:=6
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-fastd
|
PKG_NAME:=fff-fastd
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,7 @@ ln -s /tmp/fastd_fff_peers /etc/fastd/fff/peers
|
||||||
echo "#!/bin/sh" > /etc/fastd/fff/up.sh
|
echo "#!/bin/sh" > /etc/fastd/fff/up.sh
|
||||||
echo "ip link set up dev fffVPN" >> /etc/fastd/fff/up.sh
|
echo "ip link set up dev fffVPN" >> /etc/fastd/fff/up.sh
|
||||||
echo "batctl if add fffVPN" >> /etc/fastd/fff/up.sh
|
echo "batctl if add fffVPN" >> /etc/fastd/fff/up.sh
|
||||||
|
echo "batctl hardif fffVPN hop_penalty 30" >> /etc/fastd/fff/up.sh
|
||||||
chmod +x /etc/fastd/fff/up.sh
|
chmod +x /etc/fastd/fff/up.sh
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
protocol=fastd
|
||||||
|
|
||||||
|
fastd_clear() {
|
||||||
|
rm /tmp/fastd_fff_peers/*
|
||||||
|
}
|
||||||
|
|
||||||
|
fastd_addpeer() {
|
||||||
|
[ -d /tmp/fastd_fff_peers ] || mkdir /tmp/fastd_fff_peers
|
||||||
|
|
||||||
|
# write fastd-config
|
||||||
|
json_get_var servername name
|
||||||
|
filename="/etc/fastd/fff/peers/$servername"
|
||||||
|
echo "#name \"${servername}\";" > "$filename"
|
||||||
|
json_get_var key key
|
||||||
|
echo "key \"${key}\";" >> "$filename"
|
||||||
|
json_get_var address address
|
||||||
|
json_get_var port port
|
||||||
|
echo "remote \"${address}\" port ${port};" >> "$filename"
|
||||||
|
echo "" >> "$filename"
|
||||||
|
echo "float yes;" >> "$filename"
|
||||||
|
}
|
||||||
|
|
||||||
|
fastd_start_stop() {
|
||||||
|
/etc/init.d/fastd reload # does nothing if fastd was not running
|
||||||
|
|
||||||
|
# fastd start/stop for various situations
|
||||||
|
# this is needed for first start and if fastd comes up or disappears in hoodfile
|
||||||
|
pidfile="/tmp/run/fastd.fff.pid"
|
||||||
|
if [ "$(ls /etc/fastd/fff/peers/* 2>/dev/null)" ]; then
|
||||||
|
([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) || /etc/init.d/fastd start
|
||||||
|
else
|
||||||
|
([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) && /etc/init.d/fastd stop
|
||||||
|
fi
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-firewall
|
PKG_NAME:=fff-firewall
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
#solves MTU problem with bad ISPs
|
|
||||||
iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
|
|
|
@ -1,5 +0,0 @@
|
||||||
# Limit ssh to 6 new connections per 60 seconds
|
|
||||||
/usr/sbin/ip6tables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name dropbear
|
|
||||||
/usr/sbin/ip6tables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 6 --rttl --name dropbear -j DROP
|
|
||||||
/usr/sbin/iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name dropbear
|
|
||||||
/usr/sbin/iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 6 --rttl --name dropbear -j DROP
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-hoods
|
PKG_NAME:=fff-hoods
|
||||||
PKG_RELEASE:=19
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-hoodutils
|
PKG_NAME:=fff-hoodutils
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-layer3-config
|
PKG_NAME:=fff-layer3-config
|
||||||
PKG_RELEASE:=9
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ configure() {
|
||||||
|
|
||||||
# ip6addr
|
# ip6addr
|
||||||
#remove old ip6addr
|
#remove old ip6addr
|
||||||
for ip in $(uci get network.client.ip6addr); do
|
for ip in $(uci -q get network.client.ip6addr); do
|
||||||
if echo "$ip" | grep -v -e "fdff:" -e "fe80::1/64" > /dev/null; then
|
if echo "$ip" | grep -v -e "fdff:" -e "fe80::1/64" > /dev/null; then
|
||||||
uci del_list network.client.ip6addr="$ip"
|
uci del_list network.client.ip6addr="$ip"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-layer3-snat
|
||||||
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/fff-layer3-snat
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken layer3 configuration with SNAT
|
||||||
|
URL:=https://www.freifunk-franken.de
|
||||||
|
DEPENDS:= \
|
||||||
|
+fff-firewall \
|
||||||
|
+fff-layer3-config \
|
||||||
|
+kmod-ipt-nat
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/fff-layer3-snat/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-snat/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,fff-layer3-snat))
|
|
@ -0,0 +1,34 @@
|
||||||
|
configure() {
|
||||||
|
# first we delete the snat config
|
||||||
|
uci -q del network.client.fff_snat
|
||||||
|
uci -q del network.client.fff_snat_sourceip
|
||||||
|
if [ "$(uci -q get gateway.@client[0].snat)" = '1' ]; then
|
||||||
|
|
||||||
|
# first check the config is plausible
|
||||||
|
if ! routerip=$(uci -q get gateway.meta.router_ip); then
|
||||||
|
echo "ERROR: No router_ip set, which is required for SNAT!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if ! uci -q get gateway.@client[0].ipaddr >/dev/null; then
|
||||||
|
echo "ERROR: No ipaddr set, which is required for SNAT!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# keep only the first IP
|
||||||
|
routerip=${routerip%% *}
|
||||||
|
# keep only the IP without the CIDR
|
||||||
|
routerip=${routerip%%/*}
|
||||||
|
|
||||||
|
# We set the snat config
|
||||||
|
uci set network.client.fff_snat=1
|
||||||
|
uci set network.client.fff_snat_sourceip=$routerip
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
apply() {
|
||||||
|
uci commit network
|
||||||
|
}
|
||||||
|
|
||||||
|
revert() {
|
||||||
|
uci revert network
|
||||||
|
}
|
|
@ -0,0 +1,4 @@
|
||||||
|
if [ "$(uci -q get network.client.fff_snat)" = '1' ]; then
|
||||||
|
iptables -t mangle -A PREROUTING -i br-client -j MARK --set-mark 0x736e6174
|
||||||
|
iptables -t nat -A POSTROUTING -m mark --mark 0x736e6174 -j SNAT --to-source $(uci -q get network.client.fff_snat_sourceip)
|
||||||
|
fi
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-layer3
|
PKG_NAME:=fff-layer3
|
||||||
PKG_RELEASE:=9
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -15,6 +15,7 @@ define Package/fff-layer3
|
||||||
+fff-boardname \
|
+fff-boardname \
|
||||||
+fff-dhcp \
|
+fff-dhcp \
|
||||||
+fff-layer3-config \
|
+fff-layer3-config \
|
||||||
|
+fff-layer3-snat \
|
||||||
+fff-mqtt-monitoring \
|
+fff-mqtt-monitoring \
|
||||||
+fff-network \
|
+fff-network \
|
||||||
+fff-ra \
|
+fff-ra \
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-mqtt-monitoring
|
PKG_NAME:=fff-mqtt-monitoring
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt-monitoring
|
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt-monitoring
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,6 @@ MACADDR=$(cat /sys/class/net/br-client/address | /bin/sed 's/://g')
|
||||||
|
|
||||||
fetch_id="64"
|
fetch_id="64"
|
||||||
if [ -n "$(uci -q get fff.mqtt.server)" ] ; then
|
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")"
|
mosquitto_pub -h "$(uci get fff.mqtt.server)" -p 1883 -t /monitoring/v1/$MACADDR -m "$(cat /tmp/nodewatcher)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-mqtt
|
PKG_NAME:=fff-mqtt
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt
|
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-mqtt
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-network
|
PKG_NAME:=fff-network
|
||||||
PKG_RELEASE:=50
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-node
|
PKG_NAME:=fff-node
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ define Package/fff-node
|
||||||
URL:=https://www.freifunk-franken.de
|
URL:=https://www.freifunk-franken.de
|
||||||
DEPENDS:=+fff-batman-adv \
|
DEPENDS:=+fff-batman-adv \
|
||||||
+fff-fastd \
|
+fff-fastd \
|
||||||
|
+fff-vxlan-node-vpn \
|
||||||
+fff-firewall \
|
+fff-firewall \
|
||||||
+fff-hoods \
|
+fff-hoods \
|
||||||
+fff-uradvd
|
+fff-uradvd
|
||||||
|
|
|
@ -43,7 +43,12 @@ crawl() {
|
||||||
#write data to xml file that provides the data on httpd
|
#write data to xml file that provides the data on httpd
|
||||||
SCRIPT_DATA_DIR=$(dirname "$SCRIPT_DATA_FILE")
|
SCRIPT_DATA_DIR=$(dirname "$SCRIPT_DATA_FILE")
|
||||||
test -d "$SCRIPT_DATA_DIR" || mkdir -p "$SCRIPT_DATA_DIR"
|
test -d "$SCRIPT_DATA_DIR" || mkdir -p "$SCRIPT_DATA_DIR"
|
||||||
echo "$DATA" | gzip | tee "$SCRIPT_DATA_FILE" | alfred -s 64
|
if alfred then
|
||||||
|
echo "$DATA" | gzip | tee "$SCRIPT_DATA_FILE" | alfred -s 64
|
||||||
|
elfi
|
||||||
|
echo "$DATA" > /tmp/nodewatcher
|
||||||
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LANG=C
|
LANG=C
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-ra
|
PKG_NAME:=fff-ra
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-random
|
PKG_NAME:=fff-random
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-simple-tc
|
PKG_NAME:=fff-simple-tc
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-support
|
PKG_NAME:=fff-support
|
||||||
PKG_RELEASE:=9
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-sysupgrade
|
PKG_NAME:=fff-sysupgrade
|
||||||
PKG_RELEASE:=13
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-timeserver
|
PKG_NAME:=fff-timeserver
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-uradvd
|
PKG_NAME:=fff-uradvd
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-vpn-select
|
PKG_NAME:=fff-vpn-select
|
||||||
PKG_RELEASE:=5
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,65 +1,45 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# Usage: vpn-select <path-to-hood-file>
|
# Usage: vpn-select <path-to-hood-file>
|
||||||
|
# To add a new protocol, put a file with three functions to /usr/lib/vpn-select.d/ .
|
||||||
|
# The file must start with protocol=name. It is most important to use the same name here and in hoodfile.
|
||||||
|
# The old config can be cleared in function ${protocol}_clear(). It is called first once per installed protocol.
|
||||||
|
# The function ${protocol}_addpeer() is called for every selected peer in hoodfile.
|
||||||
|
# The function ${protocol}_start_stop() is called at the end once per installed protocol.
|
||||||
|
|
||||||
. /usr/share/libubox/jshn.sh
|
. /usr/share/libubox/jshn.sh
|
||||||
|
|
||||||
hoodfile="$1"
|
hoodfile="$1"
|
||||||
|
|
||||||
make_config() {
|
# source functions
|
||||||
# remove old config
|
for file in /usr/lib/vpn-select.d/*; do
|
||||||
rm /tmp/fastd_fff_peers/*
|
[ -f $file ] && . "$file"
|
||||||
|
supported_protocols="$supported_protocols $protocol"
|
||||||
|
done
|
||||||
|
|
||||||
# prepare
|
# clear old config
|
||||||
Index=1
|
for protocol in $supported_protocols; do
|
||||||
|
"${protocol}_clear"
|
||||||
|
done
|
||||||
|
|
||||||
|
# configure vpn
|
||||||
|
|
||||||
|
if [ -n "$hoodfile" ] && [ -s "$hoodfile" ] ; then
|
||||||
json_load "$(cat "$hoodfile")"
|
json_load "$(cat "$hoodfile")"
|
||||||
|
json_select hood
|
||||||
|
json_get_var id id
|
||||||
|
json_select ".."
|
||||||
json_select vpn
|
json_select vpn
|
||||||
|
json_get_keys vpn_keys
|
||||||
# get fastd peers
|
for key in $vpn_keys; do
|
||||||
while json_select "$Index" > /dev/null
|
json_select $key
|
||||||
do
|
|
||||||
json_get_var protocol protocol
|
json_get_var protocol protocol
|
||||||
if [ "$protocol" = "fastd" ]; then
|
"${protocol}_addpeer"
|
||||||
# set up fastd
|
|
||||||
json_get_var servername name
|
|
||||||
filename="/etc/fastd/fff/peers/$servername"
|
|
||||||
echo "#name \"${servername}\";" > "$filename"
|
|
||||||
json_get_var key key
|
|
||||||
echo "key \"${key}\";" >> "$filename"
|
|
||||||
json_get_var address address
|
|
||||||
json_get_var port port
|
|
||||||
echo "remote \"${address}\" port ${port};" >> "$filename"
|
|
||||||
echo "" >> "$filename"
|
|
||||||
echo "float yes;" >> "$filename"
|
|
||||||
fi
|
|
||||||
json_select ".." # back to vpn
|
json_select ".." # back to vpn
|
||||||
Index=$(( Index + 1 ))
|
|
||||||
done
|
done
|
||||||
json_select ".." # back to root
|
|
||||||
}
|
|
||||||
|
|
||||||
# Only do something if file is there and not empty; otherwise exit 1
|
|
||||||
if [ -s "$hoodfile" ]; then
|
|
||||||
if [ ! -d /tmp/fastd_fff_peers ]; then
|
|
||||||
# first run after reboot
|
|
||||||
mkdir /tmp/fastd_fff_peers
|
|
||||||
make_config
|
|
||||||
# start fastd only if there are some peers
|
|
||||||
[ "$(ls /etc/fastd/fff/peers/* 2>/dev/null)" ] && /etc/init.d/fastd start
|
|
||||||
else
|
|
||||||
make_config
|
|
||||||
/etc/init.d/fastd reload
|
|
||||||
|
|
||||||
# fastd start/stop for various situations
|
|
||||||
pidfile="/tmp/run/fastd.fff.pid"
|
|
||||||
if [ "$(ls /etc/fastd/fff/peers/* 2>/dev/null)" ]; then
|
|
||||||
([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) || /etc/init.d/fastd start
|
|
||||||
else
|
|
||||||
([ -s "$pidfile" ] && [ -d "/proc/$(cat "$pidfile")" ]) && /etc/init.d/fastd stop
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
echo "vpn-select: Hood file not found or empty!"
|
|
||||||
exit 1
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# start/restart/stop vpnservices
|
||||||
|
for protocol in $supported_protocols; do
|
||||||
|
"${protocol}_start_stop"
|
||||||
|
done
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
rm /tmp/fastd_fff_peers/*
|
|
||||||
/etc/init.d/fastd stop
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
vpn-select
|
|
@ -0,0 +1,29 @@
|
||||||
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
|
PKG_NAME:=fff-vxlan-node-vpn
|
||||||
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
define Package/$(PKG_NAME)
|
||||||
|
SECTION:=base
|
||||||
|
CATEGORY:=Freifunk
|
||||||
|
TITLE:=Freifunk-Franken vxlan-node
|
||||||
|
URL:=http://www.freifunk-franken.de
|
||||||
|
DEPENDS:=+vxlan
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/$(PKG_NAME)/description
|
||||||
|
This is the vxlan-node-vpn package for the Freifunk Franken Firmware
|
||||||
|
This will configure and set up the VPN via vxlan
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Build/Compile
|
||||||
|
# nothing
|
||||||
|
endef
|
||||||
|
|
||||||
|
define Package/$(PKG_NAME)/install
|
||||||
|
$(CP) ./files/* $(1)/
|
||||||
|
endef
|
||||||
|
|
||||||
|
$(eval $(call BuildPackage,$(PKG_NAME)))
|
|
@ -0,0 +1,16 @@
|
||||||
|
uci batch <<EOF
|
||||||
|
set network.vxlan0=interface
|
||||||
|
set network.vxlan0.proto=vxlan6
|
||||||
|
set network.vxlan0.port=8472
|
||||||
|
set network.vxlan0.ip6addr=auto
|
||||||
|
set network.vxlan0.srcportmin=8472
|
||||||
|
set network.vxlan0.srcportmax=8473
|
||||||
|
set network.vxlan0.ageing=30
|
||||||
|
set network.vxlan0.mtu=1422
|
||||||
|
set network.vxlan0.vid=0
|
||||||
|
|
||||||
|
set network.vxbat=interface
|
||||||
|
set network.vxbat.proto=batadv_hardif
|
||||||
|
set network.vxbat.master=bat0
|
||||||
|
set network.vxbat.ifname=vxlan0
|
||||||
|
EOF
|
|
@ -0,0 +1,27 @@
|
||||||
|
protocol=vxlan
|
||||||
|
|
||||||
|
vxlan_clear() {
|
||||||
|
while uci -q delete network.@vxlan_peer[0]; do :; done
|
||||||
|
}
|
||||||
|
|
||||||
|
vxlan_addpeer() {
|
||||||
|
uci set network.vxlan0.vid="$id"
|
||||||
|
json_get_var address address
|
||||||
|
address=$(ping6 -w1 -c1 "$address" | awk '/from/ {print substr($4, 1, length($4)-1); exit}')
|
||||||
|
[ -z $address ] && return ## address not reachable
|
||||||
|
uci add network vxlan_peer
|
||||||
|
uci set network.@vxlan_peer[-1].vxlan="vxlan0"
|
||||||
|
uci set network.@vxlan_peer[-1].dst="$address"
|
||||||
|
}
|
||||||
|
|
||||||
|
vxlan_start_stop() {
|
||||||
|
uci commit network
|
||||||
|
# reload_config will not add new peers. A ifup is needed
|
||||||
|
ifup vxlan0
|
||||||
|
|
||||||
|
# this workaround is cleaning up old fdb entries
|
||||||
|
# and can be removed if someday netifd will do that
|
||||||
|
bridge fdb show dev vxlan0 state permanent | while read mac dst ip rest ; do
|
||||||
|
grep -q "$ip" /etc/config/network || bridge fdb del $mac dev vxlan0 dst $ip
|
||||||
|
done
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-web-hood
|
PKG_NAME:=fff-web-hood
|
||||||
PKG_RELEASE:=2
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-web-mqtt
|
PKG_NAME:=fff-web-mqtt
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-web-ui
|
PKG_NAME:=fff-web-ui
|
||||||
PKG_RELEASE:=18
|
PKG_RELEASE:=$(shell echo -n $$(( $(COMMITCOUNT) + 20 )))
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-wireguard
|
PKG_NAME:=fff-wireguard
|
||||||
PKG_RELEASE:=8
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff-wireless
|
PKG_NAME:=fff-wireless
|
||||||
PKG_RELEASE:=20
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=fff
|
PKG_NAME:=fff
|
||||||
PKG_RELEASE:=9
|
PKG_RELEASE:=$(COMMITCOUNT)
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue