diff --git a/site.conf b/site.conf index fd70922..18e1333 100644 --- a/site.conf +++ b/site.conf @@ -1,29 +1,62 @@ --- This file is lua code. --- This is no json! +--[[ gluon site.conf example + + This file is loosely related to the original site.conf used in Lübeck. + There are comments added to most switches to explain the usage of gluon. + + This is lua code now, not json anymore. + + Happy compiling! +]] + { - -- Community Settings -- - -- DE: Prefix fuer den Knotennamen - -- DE: Beispiel: Freifunk-234432 (hinter Teil wird durch die Mac Adresse generiert) + --[[ Community settings + hostname_prefix: Nodename prefix + freifunk-abcdef123456 (hex-part is generated from node's MAC address) + site_name: Name of your community + site_code: Shortcode of your community (TODO: Is this the local DNS entry?) + ]] hostname_prefix = 'freifunk', site_name = 'Freifunk Lübeck', site_code = 'ffhl', - -- Network Settings -- + + --[[ General network settings + prefix4: IPv4 range of your community + prefix6: IPv6 range of your community + is also required for RandAV + ]] prefix4 = '10.130.0.0/20', - -- DE: Dies ist der IPv6 Prefix der von RandAV genutzt wird prefix6 = 'fdef:ffc0:3dd7::/64', - -- NTP Settings -- - -- DE: Optionen zur Synchronisation der Zeit auf den Knoten - timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', -- Europe/Berlin - -- DE: Zeitserver zur Synchronisation. Es kann ein oeffentlicher Zeitserver und/oder ein eigenen betrieben werden. + + --[[ NTP settings + Synchronize the time of the nodes + timezone: Timezone of your community + http://wiki.openwrt.org/doc/uci/system#time.zones + ntp_servers: List of NTP-Servers to query. You can use any public and/or your private NTP-Servers of your community. + http://www.pool.ntp.org/zone/de + ]] + timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', ntp_servers = {'1.ntp.services.ffhl'}, - -- TODO: Worauf wirkt sich das Feld aus? + + + --[[ Wireless settings + regdom: IEEE 802.11 Regulatory Domain + http://en.wikipedia.org/wiki/IEEE_802.11#Regulatory_domains_and_legal_compliance + wifi24: Wifi settings for 2.4 GHz frequency devices + wifi5: Wifi settings for 5 GHz frequency devices + sub: + ssid: Wifi name shown to the user + channel: Wifi channel to use + htmode: + mesh_ssid: + mesh_bssid: + mesh_mcast_rate: + (TODO: fill me) + ]] regdom = 'DE', - -- DE: WLan Einstellungen fuer 2.4 GHz Geraete wifi24 = { - -- the name shown on the client site / Wifi Name ssid = 'luebeck.freifunk.net', channel = 1, htmode = 'HT40+', @@ -32,7 +65,6 @@ mesh_mcast_rate = 12000, }, - -- DE: WLan Einstellungen fuer 5 GHz Geraete wifi5 = { ssid = 'luebeck.freifunk.net (5GHz)', channel = 44, @@ -42,7 +74,16 @@ mesh_mcast_rate = 12000, }, - -- DE: Einstellungen wie der benachbarte Knoten erreicht werden kann + + --[[ Next-Node + next_node: Howto reach the the node you are currently connected to + (TODO: Is this really the use of it? Which Interfaces are used?) + sub + ip4: IPv4 Address to use + ip6: IPv6 Address to use + mac: MAC Address to use + (TODO: Why is there a mac?) + ]] next_node = { ip4 = '10.130.0.1', ip6 = 'fdef:ffc0:3dd7::1', @@ -50,13 +91,27 @@ mac = '16:41:95:40:f7:dc', }, - -- Gateway Server (fastd server) -- + + --[[ Gateway settings + fastd_mesh_vpn: fastd vpn settings + sub + methods: encryption algorithms to use + (TODO: What happens if you use multiple? Is this possible?) + mtu: package size + backbone: fastd vpn gateways of your community + sub + limit: Number of gateways each node connects to + On startup, each node tries to connect to every gateway, and then chooses the number of 'limit' fastest gateways it could reach + peers: Gateways + sub sub + key: public fastd key of your gateway + https://github.com/tcatm/ecdsautils + remotes: List of fastd configuration strings to connect to your gateway server + ]] fastd_mesh_vpn = { methods = {'salsa2012+gmac'}, mtu = 1426, backbone = { - -- DE: Anzahl der Gate Verbindungen die gleichzeitig aktive sein sollen. - -- DE: Hierbei waehlt fastd die "schnelleren" server aus limit = 2, peers = { burgtor = { @@ -79,21 +134,33 @@ }, }, - -- DE: Konfiguration zur Autoupdate Funktion + + --[[ Autoupdater settings + branch: Automatically update to this branch + branches: Available branches your community is publishing + sub sub + name: Name of branch (is used when compiling images) + mirrors: List of urls where to find the firmware + just serve the images on port 80 via http. a simple apache file-listing is enough. + see: http://luebeck.freifunk.net/firmware/ + probability: How often should a node search for updates + 1.0 - perform an update every hour + 0.5 - on average, perform an update every two hours + 0.0 - inhibit any automatic updates + good_signatures: How many signatures should be valid so the node decides to upgrade itself + pubkeys: public keys by developers used in manifest file of branch + manifest file - see gluon readme + $ make manifest GLUON_BRANCH=mybranch + $ contrib/sign.sh $SECRETKEY.file images/sysupgrade/manifest + ]] autoupdater = { - -- DE: Branch der fuer Updates vorausgewaehlt sein soll branch = 'experimental', branches = { stable = { - -- DE: Name des "braches" wird beim erstellen von Images / update generiert name = 'stable', - -- DE: Update Server. Diest ist ein einfacher Webserver ohne spezielle Konfiguration mirrors = {'http://1.updates.services.ffhl/stable/sysupgrade'}, - -- TODO was ist das ? probability = 0.08, - -- DE: Anzahl der Signaturen die mindestens gueltig sein muessen, damit es zu einem Update kommt good_signatures = 2, - -- DE: Oeffentlicher Schluessel / Public Key der Entwickler pubkeys = { 'daa19b44bbd7033965e02088127bad9516ba0fea8f34267a777144a23ec8900c', -- Linus 'a8dd60765b07330a4bbfdf8406102befca132881a4b65f3efda32cf2d5b362d9', -- Nils @@ -116,7 +183,17 @@ }, }, }, - -- TODO was das ? + + + --[[ Simple TC settings + (TODO: What is this?) + mesh_vpn: + sub + ifname: + enabled: + limit_egress: + limit_ingress: + ]] simple_tc = { mesh_vpn = { ifname = 'mesh-vpn', @@ -125,15 +202,21 @@ limit_ingress = 3000, }, }, - -- DE: Text der in der im "Konfig Modus" (Webpage auf dem Node) angezeigt wird + + + --[[ Config Mode settings + Text shown on local website on node. you can use html here. + msg_welcome: Welcome message shown at first startup + msg_pubkey: Instructions for the user how your community handles the key exchange + only shown if VPN setting is selected + msg_reboot: Message shown when configuration is finished while the node is rebooting. + ]] config_mode = { - -- DE: Nachricht beim ersten Start des Knotens msg_welcome = [[ Willkommen zum Einrichtungsassistenten für deinen neuen Lübecker Freifunk-Knoten. Fülle das folgende Formular deinen Vorstellungen entsprechend aus und sende es ab. ]], - -- DE: Nachricht wird nach dem generieren des Public Keys des Notes angezeigt. (Nur wenn VPN aktiviert/ausgewaehlt wurde) msg_pubkey = [[ Dies ist der öffentliche Schlüssel deines Freifunkknotens. Erst nachdem er auf den Servern des Lübecker Freifunk-Projektes eingetragen wurde, @@ -142,7 +225,6 @@ schicke dazu diesen Schlüssel und den Namen deines Knotens (<%=hostname%>) an keys@luebeck.freifunk.net. ]], - -- DE: Diese Nachricht wird nach der Konfiguration des Nodes beim Neustarten/Reboot angezeigt. msg_reboot = [[
Dein Knoten startet gerade neu und wird anschließend versuchen, diff --git a/site.mk b/site.mk index 0ddf7d9..a38f8b6 100644 --- a/site.mk +++ b/site.mk @@ -1,3 +1,8 @@ +## gluon site.mk makefile example + +## GLUON_SITE_PACKAGES +# specify gluon/openwrt packages to include here + GLUON_SITE_PACKAGES := \ gluon-alfred \ gluon-autoupdater \ @@ -16,6 +21,12 @@ GLUON_SITE_PACKAGES := \ haveged +## DEFAULT_GLUON_RELEASE +# version string to use for images +# gluon relies on +# opkg compare-versions "$1" '>>' "$2" +# to decide if a version is newer or not. + DEFAULT_GLUON_RELEASE := 0.4+0-exp$(shell date '+%Y%m%d') # Allow overriding the release number from the command line