site.conf 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254
  1. --[[ gluon site.conf example
  2. This file is loosely related to the original site.conf used in Lübeck.
  3. There are comments added to most switches to explain the usage of gluon.
  4. This is lua code now, not perl anymore.
  5. Happy compiling!
  6. ]]
  7. {
  8. --[[ Community settings
  9. hostname_prefix: Nodename prefix
  10. freifunk-abcdef123456 (hex-part is generated from node's MAC address)
  11. site_name: Name of your community
  12. site_code: Shortcode of your community
  13. ]]
  14. hostname_prefix = 'freifunk',
  15. site_name = 'Freifunk Lübeck',
  16. site_code = 'ffhl',
  17. --[[ General network settings
  18. prefix4: IPv4 range of your community
  19. prefix6: IPv6 range of your community
  20. is also required for radvd
  21. ]]
  22. prefix4 = '10.130.0.0/20',
  23. prefix6 = 'fdef:ffc0:3dd7::/64',
  24. --[[ NTP settings
  25. Synchronize the time of the nodes
  26. timezone: Timezone of your community
  27. http://wiki.openwrt.org/doc/uci/system#time.zones
  28. ntp_servers: List of NTP-Servers to query. You can use any public and/or your private NTP-Servers of your community.
  29. http://www.pool.ntp.org/zone/de
  30. ]]
  31. timezone = 'CET-1CEST,M3.5.0,M10.5.0/3',
  32. ntp_servers = {'1.ntp.services.ffhl'},
  33. --[[ Wireless settings
  34. regdom: IEEE 802.11 Regulatory Domain
  35. http://en.wikipedia.org/wiki/IEEE_802.11#Regulatory_domains_and_legal_compliance
  36. wifi24: Wifi settings for 2.4 GHz frequency devices
  37. wifi5: Wifi settings for 5 GHz frequency devices
  38. sub
  39. ssid: Wifi name shown to the user (We recommend %site_code%.freifunk.net)
  40. channel: Wifi channel to use
  41. htmode: Specifies the channel width in 802.11n and 802.11ac mode, possible values are:
  42. HT20 (single 20MHz channel),
  43. HT40- (2x 20MHz channels, primary/control channel is upper, secondary channel is below)
  44. HT40+ (2x 20MHz channels, primary/control channel is lower, secondary channel is above).
  45. VHT20 / VHT40 / VHT80 / VHT160 (channel width in 802.11ac, extra channels are picked according to the specification)
  46. http://wiki.openwrt.org/doc/uci/wireless#common.options (-> htmode)
  47. mesh_ssid: SSID of the mesh-interface, only used between nodes
  48. mesh_bssid: BSSID of the mesh-interface
  49. The supplied default of ff:ff:ff:ff:ff:ff will not work.
  50. You'll need to replace it with randomly generated, non-broadcast BSSID!
  51. mesh_mcast_rate: multicast rate of the mesh-interface
  52. ]]
  53. regdom = 'DE',
  54. wifi24 = {
  55. ssid = 'luebeck.freifunk.net',
  56. channel = 1,
  57. htmode = 'HT40+',
  58. mesh_ssid = 'ff:ff:ff:ff:ff:ff',
  59. mesh_bssid = 'ff:ff:ff:ff:ff:ff',
  60. mesh_mcast_rate = 12000,
  61. },
  62. wifi5 = {
  63. ssid = 'luebeck.freifunk.net',
  64. channel = 44,
  65. htmode = 'HT40+',
  66. mesh_ssid = 'ff:ff:ff:ff:ff:ff',
  67. mesh_bssid = 'ff:ff:ff:ff:ff:ff',
  68. mesh_mcast_rate = 12000,
  69. },
  70. --[[ Next-Node
  71. next_node: Howto reach the node you are currently connected to
  72. 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.
  73. sub
  74. ip4: IPv4 Address to use
  75. ip6: IPv6 Address to use
  76. mac: MAC Address to use
  77. (TODO: What is the purpose of this MAC-Address here?)
  78. ]]
  79. next_node = {
  80. ip4 = '10.130.0.1',
  81. ip6 = 'fdef:ffc0:3dd7::1',
  82. mac = '16:41:95:40:f7:dc',
  83. },
  84. --[[ Gateway settings
  85. fastd_mesh_vpn: fastd vpn settings
  86. https://projects.universe-factory.net/projects/fastd/wiki/User_manual
  87. sub
  88. methods: encryption algorithms to use
  89. https://projects.universe-factory.net/projects/fastd/wiki/Methods
  90. When multiple method statements are given, the first one has the highest preference.
  91. mtu: package size
  92. backbone: fastd vpn gateways of your community
  93. sub
  94. limit: Number of gateways each node connects to
  95. On startup, each node tries to connect to every gateway, and then chooses the number of 'limit' fastest gateways it could reach
  96. peers: Gateways
  97. sub sub
  98. key: public fastd key of your gateway
  99. https://github.com/tcatm/ecdsautils
  100. remotes: List of fastd configuration strings to connect to your gateway server
  101. ]]
  102. fastd_mesh_vpn = {
  103. methods = {'salsa2012+gmac'},
  104. mtu = 1426,
  105. backbone = {
  106. limit = 2,
  107. peers = {
  108. burgtor = {
  109. key = '657af03e36ff1b8bbe5a5134982a4f110c8523a9a63293870caf548916a95a03',
  110. remotes = {'ipv4 "burgtor.mesh.ffhl.chaotikum.org" port 10000'},
  111. },
  112. holstentor = {
  113. key = '8c660f7511bf101ea1b599fe53af20e1146cd923c9e9d2a3a0d534ee75af9067',
  114. remotes = {'ipv4 "holstentor.mesh.ffhl.chaotikum.org" port 10000'},
  115. },
  116. huextertor = {
  117. key = 'a1b124f43eae4f5929850c09cda825ef35d659e3db4d7746e3d97627e9fa7238',
  118. remotes = {'ipv4 "huextertor.mesh.ffhl.chaotikum.org" port 10000'},
  119. },
  120. muehlentor = {
  121. key = 'bd4ec3cf87bb0042eed2fa121fbc402154d28fb1ae9dff9cdb71bb21892f401a',
  122. remotes = {'ipv4 "muehlentor.mesh.ffhl.chaotikum.org" port 10000'},
  123. },
  124. },
  125. },
  126. },
  127. --[[ Autoupdater settings
  128. branch: Automatically update to this branch
  129. branches: Available branches your community is publishing
  130. sub sub
  131. name: Name of branch (is used when compiling images)
  132. mirrors: List of urls where to find the firmware
  133. just serve the images on port 80 via http. a simple apache file-listing is enough.
  134. see: http://luebeck.freifunk.net/firmware/
  135. probability: How often should a node search for updates
  136. 1.0 - perform an update every hour
  137. 0.5 - on average, perform an update every two hours
  138. 0.0 - inhibit any automatic updates
  139. good_signatures: How many signatures should be valid so the node decides to upgrade itself
  140. pubkeys: public keys by developers used in manifest file of branch
  141. manifest file - see gluon readme
  142. $ make manifest GLUON_BRANCH=mybranch
  143. $ contrib/sign.sh $SECRETKEY.file images/sysupgrade/manifest
  144. ]]
  145. autoupdater = {
  146. branch = 'experimental',
  147. branches = {
  148. stable = {
  149. name = 'stable',
  150. mirrors = {'http://1.updates.services.ffhl/stable/sysupgrade'},
  151. probability = 0.08,
  152. good_signatures = 2,
  153. pubkeys = {
  154. 'daa19b44bbd7033965e02088127bad9516ba0fea8f34267a777144a23ec8900c', -- Linus
  155. 'a8dd60765b07330a4bbfdf8406102befca132881a4b65f3efda32cf2d5b362d9', -- Nils
  156. '323bd3285c4e5547a89cd6da1f2aef67f1654b0928bbd5b104efc9dab2156d0b', -- NeoRaider
  157. },
  158. },
  159. experimental = {
  160. -- DE: Name des "braches" wird beim erstellen von Images / update generiert
  161. name = 'experimental',
  162. mirrors = {'http://1.updates.services.ffhl/experimental/sysupgrade'},
  163. probability = 1.00,
  164. good_signatures = 2,
  165. good_signatures = 1,
  166. -- DE: Oeffentlicher Schluessel / Public Key der Entwickler
  167. pubkeys = {
  168. '496136b37e5f561dfdf523611f14e4b6bc2a745cbc1ab7daffa59fded5f202d1', -- philae
  169. },
  170. },
  171. },
  172. },
  173. --[[ Simple TC settings to limit the bandwidth of the vpn-uplink
  174. mesh_vpn:
  175. sub
  176. ifname: name of the interface/bridge
  177. enabled: default-value
  178. limit_egress: default-value
  179. limit_ingress: default-value
  180. ]]
  181. simple_tc = {
  182. mesh_vpn = {
  183. ifname = 'mesh-vpn',
  184. enabled = false,
  185. limit_egress = 200,
  186. limit_ingress = 3000,
  187. },
  188. },
  189. --[[ Config Mode settings
  190. 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.
  191. msg_welcome: Welcome message shown at startup
  192. msg_pubkey: Instructions for the user how your community handles the key exchange
  193. only shown if VPN setting is selected
  194. msg_reboot: Message shown when configuration is finished while the node is rebooting.
  195. Variables
  196. Within the text given here you can use variables which are
  197. replaced when the respective website is delivered to the user.
  198. Variables must be used in the format <%=NAME%>. See msg_pubkey for an example.
  199. hostname hostname of the node
  200. pubkey fastd public key of the node
  201. sysconfig.primary_mac the primary mac of the node, also found printed beneath the device
  202. ... other sysconfig.* variables: config_ifname, lan_ifname, wan_ifname
  203. ]]
  204. config_mode = {
  205. msg_welcome = [[
  206. Willkommen zum Einrichtungsassistenten für deinen neuen Lübecker
  207. Freifunk-Knoten. Fülle das folgende Formular deinen Vorstellungen
  208. entsprechend aus und sende es ab.
  209. ]],
  210. msg_pubkey = [[
  211. Dies ist der öffentliche Schlüssel deines Freifunk-Knotens. Erst nachdem
  212. er auf den Servern des Lübecker Freifunk-Projektes eingetragen wurde,
  213. kann sich dein Knoten mit dem Lübecker Mesh-VPN zu verbinden. Bitte
  214. schicke dazu diesen Schlüssel und den Namen deines Knotens
  215. (<em><%=hostname%></em>) an
  216. <a href="mailto:keys@luebeck.freifunk.net">keys@luebeck.freifunk.net</a>.
  217. ]],
  218. msg_reboot = [[
  219. <p>
  220. Dein Knoten startet gerade neu und wird anschließend versuchen,
  221. sich anschließend mit anderen Freifunk-Knoten in seiner Nähe zu
  222. verbinden. Weitere Informationen zur
  223. Lübecker Freifunk-Community findest du auf
  224. <a href="https://luebeck.freifunk.net/">unserer Webseite</a>.
  225. </p>
  226. <p>
  227. Viel Spaß mit deinem Knoten und der Erkundung von Freifunk!
  228. </p>
  229. ]],
  230. },
  231. }