Skip to content
Snippets Groups Projects
Commit 42c2d4cc authored by Nils Schneider's avatar Nils Schneider
Browse files

Backport uncluttered site-example from 2014.3.x

Closes #217
parents 896c81cc 62b063f3
Branches
Tags
No related merge requests found
## gluon site modules example # This file allows specifying additional repositories to use
# this file allows to define additional # when building gluon.
# package feeds to be used.
# packages from this feeds can then be included
# via site.mk
## GLUON_SITE_FEEDS
# feeds to include, note that this is not called
# GLUON_FEEDS as in the Gluon modules file.
# #
# for each feed name given, there have to be # In most cases, it is not required so don't add it.
# two variables given in the following.
GLUON_SITE_FEEDS='ffhh_packages'
## GLUON_SITE_FEEDS
# for each feed name given, add the corresponding PACKAGES_* lines
# documented below
#GLUON_SITE_FEEDS='my_own_packages'
## PACKAGES_$feedname_REPO ## PACKAGES_$feedname_REPO
# the git repository from where to clone the package feed # the git repository from where to clone the package feed
#PACKAGES_MY_OWN_PACKAGES_REPO=https://github.com/.../my-own-packages.git
PACKAGES_FFHH_PACKAGES_REPO=git://github.com/freifunkhamburg/ffhh-packages.git
## PACKAGES_$feedname_COMMIT ## PACKAGES_$feedname_COMMIT
# the version/commit of the git repository to clone # the version/commit of the git repository to clone
#PACKAGES_MY_OWN_PACKAGES_COMMIT=123456789aabcda1a69b04278e4d38f2a3f57e49
PACKAGES_FFHH_PACKAGES_COMMIT=0fc9d44e95000c61a69b04278e4d38f2a3f57e49 ## PACKAGES_$feedname_BRANCH
# the branch to check out
#PACKAGES_MY_OWN_PACKAGES_BRANCH=my_branch
--[[ gluon site.conf example -- This is an example site configuration for Gluon v2014.4
--
This file is loosely related to the original site.conf used in Lübeck. -- Take a look at the documentation located at
There are comments added to most switches to explain the usage of gluon. -- http://gluon.readthedocs.org/ for details.
--
This is lua code now, not perl anymore. -- This configuration will not work as it. You're required to make
-- community specific changes to it!
Happy compiling!
]]
{ {
--[[ Community settings -- Used for generated hostnames, e.g. freifunk-abcdef123456.
hostname_prefix: Nodename prefix hostname_prefix = 'freifunk',
freifunk-abcdef123456 (hex-part is generated from node's MAC address)
site_name: Name of your community -- Name of the community.
site_code: Shortcode of your community site_name = 'Freifunk Lübeck',
]]
hostname_prefix = 'freifunk', -- Shorthand of the community.
site_name = 'Freifunk Lübeck', site_code = 'ffhl',
site_code = 'ffhl',
-- Prefixes used within the mesh. Both are required.
prefix4 = '10.130.0.0/20',
--[[ General network settings prefix6 = 'fdef:ffc0:3dd7::/64',
prefix4: IPv4 range of your community
prefix6: IPv6 range of your community -- Timezone of your community.
is also required for radvd -- See http://wiki.openwrt.org/doc/uci/system#time.zones
]] timezone = 'CET-1CEST,M3.5.0,M10.5.0/3',
prefix4 = '10.130.0.0/20',
prefix6 = 'fdef:ffc0:3dd7::/64', -- List of NTP servers in your community.
-- Must be reachable using IPv6!
ntp_servers = {'1.ntp.services.ffhl'},
--[[ NTP settings
Synchronize the time of the nodes -- Wireless regulatory domain of your community.
timezone: Timezone of your community regdom = 'DE',
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. -- Wireless configuratoin for 2.4 GHz interfaces.
http://www.pool.ntp.org/zone/de wifi24 = {
]] -- Wireless channel.
timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', channel = 1,
ntp_servers = {'1.ntp.services.ffhl'},
-- ESSID used for client network.
ssid = 'luebeck.freifunk.net',
--[[ Wireless settings
regdom: IEEE 802.11 Regulatory Domain -- Specifies the channel width in 802.11n and 802.11ac mode.
http://en.wikipedia.org/wiki/IEEE_802.11#Regulatory_domains_and_legal_compliance -- Possible values are:
wifi24: Wifi settings for 2.4 GHz frequency devices -- HT20 (single 20MHz channel),
wifi5: Wifi settings for 5 GHz frequency devices -- HT40- (2x 20MHz channels, secondary below)
sub -- HT40+ (2x 20MHz channels, secondary above)
ssid: Wifi name shown to the user (We recommend %site_code%.freifunk.net) htmode = 'HT20',
channel: Wifi channel to use
htmode: Specifies the channel width in 802.11n and 802.11ac mode, possible values are: -- Adjust these values!
HT20 (single 20MHz channel), mesh_ssid = 'XX:XX:XX:XX:XX:XX', -- ESSID used for mesh
HT40- (2x 20MHz channels, primary/control channel is upper, secondary channel is below) mesh_bssid = 'XX:XX:XX:XX:XX:XX', -- BSSID used for mesh
HT40+ (2x 20MHz channels, primary/control channel is lower, secondary channel is above).
VHT20 / VHT40 / VHT80 / VHT160 (channel width in 802.11ac, extra channels are picked according to the specification) -- Bitrate used for multicast/broadcast packets.
http://wiki.openwrt.org/doc/uci/wireless#common.options (-> htmode) mesh_mcast_rate = 12000,
mesh_ssid: SSID of the mesh-interface, only used between nodes },
mesh_bssid: BSSID of the mesh-interface
The supplied default of ff:ff:ff:ff:ff:ff will not work. -- Wireless configuration for 5 GHz interfaces.
You'll need to replace it with randomly generated, non-broadcast BSSID! -- This should be equal to the 2.4 GHz variant, except
mesh_mcast_rate: multicast rate of the mesh-interface -- for channel and htmode.
]] wifi5 = {
regdom = 'DE', ssid = 'luebeck.freifunk.net',
channel = 44,
wifi24 = { htmode = 'HT20',
ssid = 'luebeck.freifunk.net', mesh_ssid = 'XX:XX:XX:XX:XX:XX',
channel = 1, mesh_bssid = 'XX:XX:XX:XX:XX:XX',
htmode = 'HT40+', mesh_mcast_rate = 12000,
mesh_ssid = 'ff:ff:ff:ff:ff:ff', },
mesh_bssid = 'ff:ff:ff:ff:ff:ff',
mesh_mcast_rate = 12000, -- The next node feature allows clients to always reach the node it is
}, -- connected to using a known IP address.
next_node = {
wifi5 = { -- anycast IPs of all nodes
ssid = 'luebeck.freifunk.net', ip4 = '10.130.0.1',
channel = 44, ip6 = 'fdef:ffc0:3dd7::1',
htmode = 'HT40+',
mesh_ssid = 'ff:ff:ff:ff:ff:ff', -- anycast MAC of all nodes
mesh_bssid = 'ff:ff:ff:ff:ff:ff', mac = '16:41:95:40:f7:dc',
mesh_mcast_rate = 12000, },
},
-- Refer to http://fastd.readthedocs.org/en/latest/ to better understand
-- what these options do.
--[[ Next-Node fastd_mesh_vpn = {
next_node: Howto reach the node you are currently connected to -- List of crypto-methods to use.
The node will always be reachable at that address, and it's the same on all nodes. Because next_node packets are redirected within the node itself, there will be no conflicts. methods = {'salsa2012+gmac'},
sub mtu = 1426,
ip4: IPv4 Address to use backbone = {
ip6: IPv6 Address to use -- Limit number of connected peers to reduce bandwidth.
mac: MAC Address to use limit = 2,
(TODO: What is the purpose of this MAC-Address here?)
]] -- List of peers.
next_node = { peers = {
ip4 = '10.130.0.1', burgtor = {
ip6 = 'fdef:ffc0:3dd7::1', key = '657af03e36ff1b8bbe5a5134982a4f110c8523a9a63293870caf548916a95a03',
mac = '16:41:95:40:f7:dc',
}, -- This is a list, so you might add multiple entries.
remotes = {'ipv4 "burgtor.mesh.ffhl.chaotikum.org" port 10000'},
},
--[[ Gateway settings holstentor = {
fastd_mesh_vpn: fastd vpn settings key = '8c660f7511bf101ea1b599fe53af20e1146cd923c9e9d2a3a0d534ee75af9067',
https://projects.universe-factory.net/projects/fastd/wiki/User_manual remotes = {'ipv4 "holstentor.mesh.ffhl.chaotikum.org" port 10000'},
sub },
methods: encryption algorithms to use },
https://projects.universe-factory.net/projects/fastd/wiki/Methods },
When multiple method statements are given, the first one has the highest preference. },
mtu: package size
backbone: fastd vpn gateways of your community autoupdater = {
sub -- Default branch. Don't forget to set GLUON_BRANCH when building!
limit: Number of gateways each node connects to branch = 'stable',
On startup, each node tries to connect to every gateway, and then chooses the number of 'limit' fastest gateways it could reach
peers: Gateways -- List of branches. You may define multiple branches.
sub sub branches = {
key: public fastd key of your gateway stable = {
https://github.com/tcatm/ecdsautils name = 'stable',
remotes: List of fastd configuration strings to connect to your gateway server
]] -- List of mirrors to fetch images from. IPv6 required!
fastd_mesh_vpn = { mirrors = {'http://1.updates.services.ffhl/stable/sysupgrade'},
methods = {'salsa2012+gmac'},
mtu = 1426, -- Number of good signatures required.
backbone = { -- Have multiple maintainers sign your build and only
limit = 2, -- accept it when a sufficient number of them have
peers = { -- signed it.
burgtor = { good_signatures = 2,
key = '657af03e36ff1b8bbe5a5134982a4f110c8523a9a63293870caf548916a95a03',
remotes = {'ipv4 "burgtor.mesh.ffhl.chaotikum.org" port 10000'}, -- List of public keys of maintainers.
}, pubkeys = {
holstentor = { 'daa19b44bbd7033965e02088127bad9516ba0fea8f34267a777144a23ec8900c', -- Linus
key = '8c660f7511bf101ea1b599fe53af20e1146cd923c9e9d2a3a0d534ee75af9067', 'a8dd60765b07330a4bbfdf8406102befca132881a4b65f3efda32cf2d5b362d9', -- Nils
remotes = {'ipv4 "holstentor.mesh.ffhl.chaotikum.org" port 10000'}, '323bd3285c4e5547a89cd6da1f2aef67f1654b0928bbd5b104efc9dab2156d0b', -- NeoRaider
}, },
huextertor = { },
key = 'a1b124f43eae4f5929850c09cda825ef35d659e3db4d7746e3d97627e9fa7238', },
remotes = {'ipv4 "huextertor.mesh.ffhl.chaotikum.org" port 10000'}, },
},
muehlentor = { -- Bandwidth limiting
key = 'bd4ec3cf87bb0042eed2fa121fbc402154d28fb1ae9dff9cdb71bb21892f401a', simple_tc = {
remotes = {'ipv4 "muehlentor.mesh.ffhl.chaotikum.org" port 10000'}, mesh_vpn = {
}, ifname = 'mesh-vpn',
},
}, -- You may enable it by default here.
}, enabled = false,
-- Default upload limit (kbit/s).
--[[ Autoupdater settings limit_egress = 200,
branch: Automatically update to this branch
branches: Available branches your community is publishing -- Default download limit (kbit/s).
sub sub limit_ingress = 3000,
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/ -- These strings are shown in config mode. Some HTML is permissible.
probability: How often should a node search for updates --
1.0 - perform an update every hour -- msg_welcome: shown at startup
0.5 - on average, perform an update every two hours -- msg_pubkey: shown when VPN is enabled
0.0 - inhibit any automatic updates -- msg_reboot: shown during reboot (after finishing configuration)
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 -- You may use some variables, e.g.:
manifest file - see gluon readme --
$ make manifest GLUON_BRANCH=mybranch -- <%=hostname%> - the node's hostname
$ contrib/sign.sh $SECRETKEY.file images/sysupgrade/manifest -- <%=pubkey%> - the fastd public key
]] -- <%=sysconfig.primary_mac%> - the node's primary MAC
autoupdater = { config_mode = {
branch = 'experimental', msg_welcome = [[
branches = {
stable = {
name = 'stable',
mirrors = {'http://1.updates.services.ffhl/stable/sysupgrade'},
probability = 0.08,
good_signatures = 2,
pubkeys = {
'daa19b44bbd7033965e02088127bad9516ba0fea8f34267a777144a23ec8900c', -- Linus
'a8dd60765b07330a4bbfdf8406102befca132881a4b65f3efda32cf2d5b362d9', -- Nils
'323bd3285c4e5547a89cd6da1f2aef67f1654b0928bbd5b104efc9dab2156d0b', -- NeoRaider
},
},
experimental = {
-- DE: Name des "braches" wird beim erstellen von Images / update generiert
name = 'experimental',
mirrors = {'http://1.updates.services.ffhl/experimental/sysupgrade'},
probability = 1.00,
good_signatures = 2,
good_signatures = 1,
-- DE: Oeffentlicher Schluessel / Public Key der Entwickler
pubkeys = {
'496136b37e5f561dfdf523611f14e4b6bc2a745cbc1ab7daffa59fded5f202d1', -- philae
},
},
},
},
--[[ Simple TC settings to limit the bandwidth of the vpn-uplink
mesh_vpn:
sub
ifname: name of the interface/bridge
enabled: default-value
limit_egress: default-value
limit_ingress: default-value
]]
simple_tc = {
mesh_vpn = {
ifname = 'mesh-vpn',
enabled = false,
limit_egress = 200,
limit_ingress = 3000,
},
},
--[[ Config Mode settings
Text shown on local website on node while in config mode (after initial flashing or after a long press and hold on the primary button and reboot). You can use html here.
msg_welcome: Welcome message shown at 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.
Variables
Within the text given here you can use variables which are
replaced when the respective website is delivered to the user.
Variables must be used in the format <%=NAME%>. See msg_pubkey for an example.
hostname hostname of the node
pubkey fastd public key of the node
sysconfig.primary_mac the primary mac of the node, also found printed beneath the device
... other sysconfig.* variables: config_ifname, lan_ifname, wan_ifname
]]
config_mode = {
msg_welcome = [[
Willkommen zum Einrichtungsassistenten für deinen neuen Lübecker Willkommen zum Einrichtungsassistenten für deinen neuen Lübecker
Freifunk-Knoten. Fülle das folgende Formular deinen Vorstellungen Freifunk-Knoten. Fülle das folgende Formular deinen Vorstellungen
entsprechend aus und sende es ab. entsprechend aus und sende es ab.
]], ]],
msg_pubkey = [[ msg_pubkey = [[
Dies ist der öffentliche Schlüssel deines Freifunk-Knotens. Erst nachdem Dies ist der öffentliche Schlüssel deines Freifunk-Knotens. Erst nachdem
er auf den Servern des Lübecker Freifunk-Projektes eingetragen wurde, er auf den Servern des Lübecker Freifunk-Projektes eingetragen wurde,
kann sich dein Knoten mit dem Lübecker Mesh-VPN zu verbinden. Bitte kann sich dein Knoten mit dem Lübecker Mesh-VPN zu verbinden. Bitte
...@@ -238,7 +171,7 @@ schicke dazu diesen Schlüssel und den Namen deines Knotens ...@@ -238,7 +171,7 @@ schicke dazu diesen Schlüssel und den Namen deines Knotens
(<em><%=hostname%></em>) an (<em><%=hostname%></em>) an
<a href="mailto:keys@luebeck.freifunk.net">keys@luebeck.freifunk.net</a>. <a href="mailto:keys@luebeck.freifunk.net">keys@luebeck.freifunk.net</a>.
]], ]],
msg_reboot = [[ msg_reboot = [[
<p> <p>
Dein Knoten startet gerade neu und wird anschließend versuchen, Dein Knoten startet gerade neu und wird anschließend versuchen,
sich anschließend mit anderen Freifunk-Knoten in seiner Nähe zu sich anschließend mit anderen Freifunk-Knoten in seiner Nähe zu
...@@ -250,5 +183,5 @@ Lübecker Freifunk-Community findest du auf ...@@ -250,5 +183,5 @@ Lübecker Freifunk-Community findest du auf
Viel Spaß mit deinem Knoten und der Erkundung von Freifunk! Viel Spaß mit deinem Knoten und der Erkundung von Freifunk!
</p> </p>
]], ]],
}, },
} }
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# The gluon-mesh-batman-adv-* package must come first because of the dependency resolution # The gluon-mesh-batman-adv-* package must come first because of the dependency resolution
GLUON_SITE_PACKAGES := \ GLUON_SITE_PACKAGES := \
gluon-mesh-batman-adv-15 \ gluon-mesh-batman-adv-14 \
gluon-alfred \ gluon-alfred \
gluon-announced \ gluon-announced \
gluon-autoupdater \ gluon-autoupdater \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment