-- Configuration Template for Neanderfunk / Eulenfunk - Gluon 2021.1.x { hostname_prefix = 'dusuk-', site_name = 'Freifunk Düsseldorf-Unterkünfte - Domain 12 (Eulenfunk)', site_code = '12_dusuk', -- Must be the same of all nodes in one mesh domain domain_names = { ['12dusuk'] = 'Freifunk Geflüchtentenunterkünfte Düsseldorf' }, domain_seed = '39f0ca0422c1cf9046b7b26533b12ffe73cbf2cdc27d6d60ad2fb4130de0c667', config_mode = { hostname = { optional = false, }, -- Show/hide the altitude field -- gluon 2018.2.x geo_location = { show_altitude = true, osm = { center = { lat = 51.214, lon = 6.8255, }, zoom = 11, --- openlayers_url = 'https://tiles.ffdus.de/cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png', }, }, -- define if the contact field is obligatory (optional) -- disabled in 2017.1.8 owner = { optional = true, }, remote_login = { show_password_form = true, min_password_length = 12, }, }, opkg = { openwrt = 'http://firmware.ffnef.de/firmware/packages/gluon2021.x.x/%A', extra = { gluonffnef = 'http://firmware.ffnef.de/firmware/modules/gluon-%GR/%S', openwrtpackages = 'http://downloads.openwrt.org/releases/19.07.8/packages/%A/packages', openwrtpackages2 = 'http://downloads.openwrt.org/releases/19.07.8/targets/%S/packages', openwrtbase = 'http://downloads.openwrt.org/releases/19.07.8/packages/%A/base', openwrttelephony = 'http://downloads.openwrt.org/releases/19.07.8/packages/%A/telephony', openwrtrouting = 'http://downloads.openwrt.org/releases/19.07.8/packages/%A/routing', }, }, setup_mode = { skip = true, }, authorized_keys = { 'ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAufGE6eK/iZTeLKCduy4UEyQpkXX+Z/0SAbYCbkJhJjNpYJaAaMhPI9yPWqsSJlQ9NSMVHMWF+3fTYb8uXEMFxEAXLqgYWhc7fs45FwvP7Ki9q5vZlvrKdB0MOPkQsY1sI3AEtcFwoft0uemW9QZUJ9jxBSi82BDbSZnFykv81ds= adorfer', 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCcyauL2INrpsB2gufsm4TD1TkpuUgF68blvbJnYr6obvPm4kVTUbhc8VFSHeMkRHtxYHkU07NfFe2E0sDmpDNJ+CPFeTFMlqOfKsjq1m5Tng9mAEwCFVJJDRl8g70UkkUUzUKgsE38+NYOwY8nthmpJEA7XiE1YcwkBodLFEhdXM5bLJ2cRlNFE2mKYbBQx3Cp1trPJDU00ioyNpAnqrwNAXCxTL4nPmCuC5iPhE7lrFyc7v5D6o0Jw/pEGfQxkOinkncwg2RUfSpShnpSzmlZ+aWKNBhabGXAOH7CQceoFShAl5Hzqvcn7NBJUuM4kzWsPQd6gKL+XBDfyqhnbsL andreas@neanderfunk', 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyGzk43wy0HNJ7+qQYtesTbMMSkgTbzmFRVvvtn95Cl2LFC5R/ykcdnYiBgrHIDdDBRQohF6Q6peh9zhiI0e+x6tsw5sduVIdpLTKKn/Q3VrH4/QgF6hhhL9WNEQThim7WobNj8JybhnnZKcUdYV6ywXSkfh+Q68eoJKstdrKbtU95c2d6aHfsQCJJG39KWfHugaPmo5yNYRH033Rsf6IIKoYskSZbUcNfB03cqy+kA/2TcjpV2amPhbYXdrzwlC8C3w8Ps+1bInosaomPMdpkkDkLG9vBOh+PLkQJo+5JCNsfqK+D+QmCvSKSCl609lb8jRFWo+46K1T3KWJWmPVnQ== wisejoe@froeckel', 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCm9rr9PM9q2W6u1L7FmZYhBBsy9QzZI6vRm5GOSkKsp+wdEMJwK6MDmndv765kOd9dtBlREddtzee2zzNAb+Lcci5GiOUGd5vIzWHB4YtIH01exn+RjtTy5SG/SxtH91YuMpC8WJNUoYa3ON+TS+jD/S+lzg9yPwFzOzonyLx81Q1ANS7gcBNUzxYOlqzr/yOdyDti7DEnqQWHf0jjYv3AACx/fdYDFyRBQMJ0oUmWUiQDb7y7PXR+MGuX1J7NKlItFs3OjePjNL4SToYKphVdhl9ZhNbWEaPKnrKZHvrqBrtqDTQD2ajh956jrj0ZzfT2bsVzEj1PMNeAhbPSgjOygMtnqN49bNflDWbwrBNyZnbtFXFxpxmVcFQ6bjWnbqy3vYur2LUNQpL0D0lffXu7zDJJWNfDqVLDjIMG1IKvCaCthrBMiaaV2RW2XgI5f3fcDjrLTjDIwLxSzMfMgNUzmbuce236/um6UmOauGYaN5qjb/VLHw2QhooY/dHkkYH+Hq4HqAokJrajRu8wxo0OOJhWqbdq7QsKWXXx7W9yrTfgGvEDMUp4jIzltVUmeF+yd3IYm9GxRrBBNybL9FGRmhLHLzSGJ99vHFUFPlkiJGRtXiaajUlJz6ZOfh6RO+H/LLmw4pDIvilvq5+EjQuH79q4RScD3TXkIDbb0ls4+w== jonathanneu@Jonathans-MBP', 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCvMCy/RjnGc/ppzxIqvyv3WnaQ3Tj495MLw8qV4FpTkVndjIuqrY7heW4G1W4AFV97QpwCnBTOVmL6xg8kS+zPWN8/pFbIWF1tDBBocZuIYQhOzyd4KPewgu/GXPhmDTtAqdU/MC1CL9Zmd5P+YTzTTVYvvJmLx8ZNWx1KVU9BTePF1y6ekhLduvzOfGDW4rhPhjGGeEIW15sLpM/JnlLMP0nZvbmTQQH91g3qKsabxmYPH6W/s+rTja2ds+SfrNzj4VrRRNUaNFaUo/2G/m5lr/yYTgF2bDb1D7MijMs/u0Z6cdvlOXzdESII8jgVsa942KdEiskak0cRFEDLhf7Qomjamf/fGfQyrhQeH+XBDVlPbumN5LrHpO68U9kbpRpPxX/IRlsjKG6fYj5LIOQqpfWBqvlCuAFacUcp8EglQVKlB5yuSpEcwhH4vb03z+hLQndmGkzlp2yqcM/+sDpIzeQHK58MyLXXIiNJW7cUoExqmaGSrvXl1duncpBNVEgBfCYaWA9PwnTxWOf5Ywl2Zei5W9p5G8vJSSaEV+SyxrCUl2MGbAQob01KrsgSRQ5lK1Uhjzq62ewVmUWvfu+1dy/NKwTNLofd957pd4f0BpB0wRd4c5EQDtyHyKjGT27EdzoukUdlELWBCXvt7i/W0MBco/spgL+05YqDrJJNbw== stephan@neanderfunk.de', 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDX07jn28SLFNVN9tSMGBbgbWixX+PSVrxVBHt8pkHiseGIXB2LGXRK54O7IT+kcmasZX5AKu4J0oRRgisf/S1vZgVSC45Ri7w9Q3NYvG2yYTsvP3a3NmmH0fvi26QC1I7r2od+eivMjve/DJf0q/R2uUZMad4giyGy+NFBJaFULWnDe9L8Dkqw545WtSmYzNaP95LmW72Zz+Ohrgag/Y0ixEtqlFccAiDdgszK7AWLDfxPwgvsyP4LYOS9RKRzaNw6/Snda7x1WYeTgfJ/5npvVJ0Ovlh9sPVAKnHVmGxlTdPoSN9mgYgjSawFieZ5wBlfmqoQd+BI+wKlYVFZHxE3 alex@neanderfunk', }, prefix4 = '10.0.0.0/8', prefix6 = '2a03:2260:122:030c::/64', extra_prefixes6 = { -- for ebtables-source-filter '2a03:2260::/32', '2a0f:b507::/32', 'fda0:300e::/32', }, timezone = 'CET-1CEST,M3.5.0,M10.5.0/3', ntp_servers = { 'ntp6.ffdus.de', 'ntp.ffdus.freifunk', '0.openwrt.pool.ntp.org', '2.openwrt.pool.ntp.org', }, regdom = 'DE', wifi24 = { channel = 9, preserve_channels = 1, htmode = 'HT20', ap = { ssid = 'Freifunk', }, mesh = { id = 'dusuk-mesh', mcast_rate = 12000, disabled = false, }, }, wifi5 = { channel = 48, outdoor_chanlist = '100-140', htmode = 'HT40', ap = { ssid = 'Freifunk', }, mesh = { id = 'dusuk-mesh', mcast_rate = 12000, disabled = false, }, }, next_node = { name = { 'nextnode', 'nn', }, -- anycast IPs of all nodes ip4 = '10.30.176.1', ip6 = '2a03:2260:122:030c::1', }, mesh_on_lan = true, mesh_on_wan = false, poe_passthrough = true, -- Options specific to routing protocols (optional) mesh = { vxlan = false, filter_membership_reports = true, -- Options specific to the batman-adv routing protocol (optional) batman_adv = { -- Gateway selection class (optional) -- The default class 20 is based on the link quality (TQ) only, -- class 1 is calculated from both the TQ and the announced bandwidth gw_sel_class = 1, routing_algo = 'BATMAN_IV', }, }, mesh_vpn = { mtu = 1364, enabled = true, tunneldigger = { brokers = {'ganymed.ffnef.de:20012','kallisto.ffnef.de:20012','amalthea.ffnef.de:20012','himalia.ffnef.de:20012','elara.ffnef.de:20012','pasophae.ffnef.de:20012'}, }, bandwidth_limit = { enabled = false, egress = 1000, ingress = 12000, }, }, autoupdater = { enabled = 1, branch = 'experimental', branches = { stable = { name = 'stable', mirrors = { 'http://images.ffdus.de/stable/12_dusuk/sysupgrade', 'http://firmware.12-dusuk.ffdus/firmware/stable/12_dusuk/sysupgrade', 'http://firmware.ffnef.de/firmware/stable/12_dusuk/sysupgrade', 'http://[2a03:2260:122:030c::733]/firmware/stable/12_dusuk/sysupgrade', }, good_signatures = 3, pubkeys = { 'fb919d4adc69bd404f5093ce6b43badf351f9e642ad458406be986baf6096247', -- y 'bbc64c35bfc527f193e5551abd4fbef3940c44ebf75bdd829220b39913330d88', -- Jonathan '2a61930930a240c027f6ca4197203d400b6e4a32f9e92041e5f086907796c9bc', -- adorfer 'd02f8e60fb7a5069556500694ebe512b6017b01e9950476e4cfcf10d5130c296', -- JJX '96d644ff1ce07d6f67d9329a0eb9a1548d0d01a3519d17ec1fe9d49da3270bfc', -- plaste 'cd97b5e735cdefb1da4aede68f127c8c2f4536df6f544b568df5c801b88a9225', -- alex 'bd9e2ec7c5a1d420ff31543f27e02576b01ba5c887e726ab9388a25853b7d623', -- untrustworthy-buildbot }, }, broken = { name = 'broken', mirrors = { 'http://images.ffdus.de/broken/12_dusuk/sysupgrade', 'http://firmware.12-dusuk.ffdus/firmware/broken/12_dusuk/sysupgrade', 'http://firmware.ffnef.de/firmware/broken/12_dusuk/sysupgrade', 'http://[2a03:2260:122:030c::733]/firmware/broken/12_dusuk/sysupgrade', }, good_signatures = 1, pubkeys = { 'fb919d4adc69bd404f5093ce6b43badf351f9e642ad458406be986baf6096247', -- y 'bbc64c35bfc527f193e5551abd4fbef3940c44ebf75bdd829220b39913330d88', -- Jonathan '2a61930930a240c027f6ca4197203d400b6e4a32f9e92041e5f086907796c9bc', -- adorfer 'd02f8e60fb7a5069556500694ebe512b6017b01e9950476e4cfcf10d5130c296', -- JJX '96d644ff1ce07d6f67d9329a0eb9a1548d0d01a3519d17ec1fe9d49da3270bfc', -- plaste 'cd97b5e735cdefb1da4aede68f127c8c2f4536df6f544b568df5c801b88a9225', -- alex 'bd9e2ec7c5a1d420ff31543f27e02576b01ba5c887e726ab9388a25853b7d623', -- untrustworthy-buildbot }, }, }, }, roguenets_filter = { allowed_prefix4 = '10.0.0.0/8', allowed_prefix6 = '2a03:2260::/29', additional_prefix6 = { 'fda0:300e::/32', '2a0f:b507::/32', }, }, dns = { cacheentries = 1024, servers = { '2a03:2260:122:030c::3','2620:fe::10', '2001:4860:4860::8844', '2001:4860:4860::8888', }, }, ssid_changer = { enabled = true, switch_timeframe = 2, -- only once every timeframe (in minutes) the SSID will change to OFFLINE -- set to 1440 to change once a day -- set to 1 minute to change every time the router gets offline first = 5, -- the first few minutes directly after reboot within which an Offline-SSID always may be activated prefix = 'FF_Offline_', -- use something short to leave space for the nodename (no '~' allowed!) suffix = 'nodename', -- generate the SSID with either 'nodename', 'mac' or to use only the prefix: 'none' tq_limit_enabled = true, -- if false, the offline SSID will only be set if there is no gateway reacheable -- upper and lower limit to turn the offline_ssid on and off -- in-between these two values the SSID will never be changed to prevent it from toggeling every minute. tq_limit_max = 45, -- upper limit, above that the online SSID will be used tq_limit_min = 35 -- lower limit, below that the offline SSID will be used }, ath9kblackout = { blackoutwait = 171, resetwait = 281, stepsize = 10, }, }