summaryrefslogtreecommitdiffhomepage
path: root/modules
diff options
context:
space:
mode:
authorManuel Munz <freifunk@somakoma.de>2011-01-25 21:04:57 +0000
committerManuel Munz <freifunk@somakoma.de>2011-01-25 21:04:57 +0000
commitc36fd44de2db30c08848bf326365a1e372b7879c (patch)
treeaa34a63d3270b4d9ba953c5bed9000aa961de745 /modules
parent9c03a76fc28dac4efe4714f0e61bb41bf2784ef7 (diff)
applications/ffwizard: Massive changes to the ffwizard to make it more generic. Also introduces changes to the community profiles. ffwizard replaces ffwizard-leipzig now. It is not completely finished yet, but should work in most cases.
Diffstat (limited to 'modules')
-rw-r--r--modules/freifunk/luasrc/controller/freifunk/freifunk.lua35
-rw-r--r--modules/freifunk/luasrc/model/cbi/freifunk/basics.lua115
-rw-r--r--modules/freifunk/luasrc/model/cbi/freifunk/contact.lua22
-rw-r--r--modules/freifunk/luasrc/model/cbi/freifunk/freifunk.lua24
-rw-r--r--modules/freifunk/luasrc/model/cbi/freifunk/profile.lua55
-rw-r--r--modules/freifunk/luasrc/model/cbi/freifunk/profile_expert.lua36
-rw-r--r--modules/freifunk/luasrc/view/freifunk/adminindex.htm33
-rw-r--r--modules/freifunk/luasrc/view/freifunk/contact.htm14
-rw-r--r--modules/freifunk/luasrc/view/freifunk/index.htm25
-rw-r--r--modules/freifunk/root/etc/config/freifunk272
-rw-r--r--modules/freifunk/root/etc/config/freifunk_augsburg5
-rw-r--r--modules/freifunk/root/etc/config/freifunk_bergischesland8
-rw-r--r--modules/freifunk/root/etc/config/freifunk_berlin5
-rw-r--r--modules/freifunk/root/etc/config/freifunk_dresden5
-rw-r--r--modules/freifunk/root/etc/config/freifunk_duesseldorf11
-rw-r--r--modules/freifunk/root/etc/config/freifunk_hamburg8
-rw-r--r--modules/freifunk/root/etc/config/freifunk_hannover8
-rw-r--r--modules/freifunk/root/etc/config/freifunk_jena5
-rw-r--r--modules/freifunk/root/etc/config/freifunk_kiberpipa8
-rw-r--r--modules/freifunk/root/etc/config/freifunk_mainz11
-rw-r--r--modules/freifunk/root/etc/config/freifunk_marburg6
-rw-r--r--modules/freifunk/root/etc/config/freifunk_neuss10
-rw-r--r--modules/freifunk/root/etc/config/freifunk_oldenburg7
-rw-r--r--modules/freifunk/root/etc/config/freifunk_potsdam8
-rw-r--r--modules/freifunk/root/etc/config/freifunk_rosbach11
-rw-r--r--modules/freifunk/root/etc/config/freifunk_seefeld9
-rw-r--r--modules/freifunk/root/etc/config/freifunk_wlanljubljana8
-rw-r--r--modules/freifunk/root/etc/config/openwireless_bern10
-rw-r--r--modules/freifunk/root/etc/config/profile_-custom11
-rw-r--r--modules/freifunk/root/etc/config/profile_augsburg14
-rw-r--r--modules/freifunk/root/etc/config/profile_bensheim9
-rw-r--r--modules/freifunk/root/etc/config/profile_bergischesland20
-rw-r--r--modules/freifunk/root/etc/config/profile_berlin12
-rw-r--r--modules/freifunk/root/etc/config/profile_dresden12
-rw-r--r--modules/freifunk/root/etc/config/profile_duesseldorf18
-rw-r--r--modules/freifunk/root/etc/config/profile_halle9
-rw-r--r--modules/freifunk/root/etc/config/profile_hamburg15
-rw-r--r--modules/freifunk/root/etc/config/profile_hannover16
-rw-r--r--modules/freifunk/root/etc/config/profile_heppenheim9
-rw-r--r--modules/freifunk/root/etc/config/profile_jena12
-rw-r--r--modules/freifunk/root/etc/config/profile_kiberpipa16
-rw-r--r--modules/freifunk/root/etc/config/profile_l599
-rw-r--r--modules/freifunk/root/etc/config/profile_leipzig12
-rw-r--r--modules/freifunk/root/etc/config/profile_mainz19
-rw-r--r--modules/freifunk/root/etc/config/profile_marburg13
-rw-r--r--modules/freifunk/root/etc/config/profile_neuss18
-rw-r--r--modules/freifunk/root/etc/config/profile_oldenburg15
-rw-r--r--modules/freifunk/root/etc/config/profile_openwireless_bern19
-rw-r--r--modules/freifunk/root/etc/config/profile_pberg12
-rw-r--r--modules/freifunk/root/etc/config/profile_piraten_dresden12
-rw-r--r--modules/freifunk/root/etc/config/profile_potsdam15
-rw-r--r--modules/freifunk/root/etc/config/profile_rosbach18
-rw-r--r--modules/freifunk/root/etc/config/profile_seefeld16
-rw-r--r--modules/freifunk/root/etc/config/profile_wlanljubljana16
54 files changed, 669 insertions, 472 deletions
diff --git a/modules/freifunk/luasrc/controller/freifunk/freifunk.lua b/modules/freifunk/luasrc/controller/freifunk/freifunk.lua
index b9f551b1e..154a29917 100644
--- a/modules/freifunk/luasrc/controller/freifunk/freifunk.lua
+++ b/modules/freifunk/luasrc/controller/freifunk/freifunk.lua
@@ -17,6 +17,7 @@ function index()
local i18n = luci.i18n.translate
local uci = require "luci.model.uci".cursor()
+ -- Frontend
local page = node()
page.lock = true
page.target = alias("freifunk")
@@ -41,6 +42,7 @@ function index()
local page = node("freifunk", "index", "contact")
page.target = template("freifunk/contact")
page.title = "Kontakt"
+ page.order = 10
local page = node("freifunk", "status")
page.target = template("freifunk/public_status")
@@ -60,22 +62,39 @@ function index()
assign({"freifunk", "graph"}, {"admin", "statistics", "graph"}, i18n("Statistics"), 40)
end
- assign({"mini", "freifunk"}, {"admin", "freifunk"}, "Freifunk", 15)
- entry({"admin", "freifunk"}, alias("admin", "freifunk", "index"), "Freifunk", 15)
- local page = node("admin", "freifunk", "index")
- page.target = cbi("freifunk/freifunk")
+ -- backend
+ assign({"mini", "freifunk"}, {"admin", "freifunk"}, "Freifunk", 5)
+ entry({"admin", "freifunk"}, alias("admin", "freifunk", "index"), "Freifunk", 5)
+
+ local page = node("admin", "freifunk")
+ page.target = template("freifunk/adminindex")
page.title = "Freifunk"
- page.order = 30
+ page.order = 5
+
+ local page = node("admin", "freifunk", "basics")
+ page.target = cbi("freifunk/basics")
+ page.title = "Grundeinstellungen"
+ page.order = 5
+
+ local page = node("admin", "freifunk", "basics", "profile")
+ page.target = cbi("freifunk/profile")
+ page.title = "Profile"
+ page.order = 10
+
+ local page = node("admin", "freifunk", "basics", "profile_expert")
+ page.target = cbi("freifunk/profile_expert")
+ page.title = "Profile (Expert)"
+ page.order = 20
local page = node("admin", "freifunk", "Index-Page")
page.target = cbi("freifunk/user_index")
page.title = "Index-Page"
- page.order = 35
+ page.order = 50
local page = node("admin", "freifunk", "contact")
page.target = cbi("freifunk/contact")
page.title = "Kontakt"
- page.order = 40
+ page.order = 15
entry({"freifunk", "map"}, template("freifunk-map/frame"), i18n("Karte"), 50)
entry({"freifunk", "map", "content"}, template("freifunk-map/map"), nil, 51)
@@ -85,7 +104,6 @@ function index()
has_serv = true
end
end)
-
if has_serv then
entry({"freifunk", "services"}, template("freifunk-services/services"), i18n("Services"), 60)
end
@@ -296,4 +314,3 @@ function public_status_json()
luci.http.write_json(rv)
return
end
-
diff --git a/modules/freifunk/luasrc/model/cbi/freifunk/basics.lua b/modules/freifunk/luasrc/model/cbi/freifunk/basics.lua
new file mode 100644
index 000000000..1cd5c6d9c
--- /dev/null
+++ b/modules/freifunk/luasrc/model/cbi/freifunk/basics.lua
@@ -0,0 +1,115 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+$Id: freifunk.lua 3291 2008-09-14 21:59:14Z Cyrus $
+]]--
+
+local fs = require "luci.fs"
+local util = require "luci.util"
+local uci = require "luci.model.uci".cursor()
+local profiles = "/etc/config/profile_"
+
+m = Map("freifunk", "Freifunk")
+c = m:section(NamedSection, "community", "public", "Gemeinschaft", [[Dies sind die Grundeinstellungen
+für die lokale Freifunkgemeinschaft. Diese Werte wirken sich NICHT auf die Konfiguration
+des Routers aus, sondern definieren nur die Vorgaben für den Freifunkassistenten.]])
+
+community = c:option(ListValue, "name", "Gemeinschaft")
+community.rmempty = false
+
+local list = { }
+local list = fs.glob(profiles .. "*")
+
+for k,v in ipairs(list) do
+ local name = uci:get_first(v, "community", "name") or "?"
+ local n = string.gsub(v, profiles, "")
+ community:value(n, name)
+end
+
+n = Map("system", translate("Basic system settings"))
+b = n:section(TypedSection, "system", "Basic system settings")
+b.anonymous = true
+
+hn = b:option(Value, "hostname", "hostname")
+hn.rmempty = false
+function hn.validate(self, value)
+ if value == nil then
+ return
+ elseif (#value > 24) or string.match(value, "[^%w%.%-]") or string.match(value, "^[%-%.]") or string.match(value, "[%-%.]$") then
+ return nil, translate("Hostname may contain up to 24 alphanumeric characters. Minus and period are also allowed, but not in the beginning or the end of the hostname.")
+ else
+ return value
+ end
+end
+
+loc = b:option(Value, "location", "Location")
+loc.rmempty = false
+
+lat = b:option(Value, "latitude", "latitude")
+lat.rmempty = false
+
+lon = b:option(Value, "longitude", "longitude")
+lon.rmempty = false
+
+--[[
+Opens an OpenStreetMap iframe or popup
+Makes use of resources/OSMLatLon.htm and htdocs/resources/osm.js
+(is that the right place for files like these?)
+]]--
+
+local class = util.class
+local co = "profile_augsburg"
+local syslat = uci:get_first(co, "community", "latitude")
+local syslon = uci:get_first(co, "community", "longitude")
+
+OpenStreetMapLonLat = class(AbstractValue)
+
+function OpenStreetMapLonLat.__init__(self, ...)
+ AbstractValue.__init__(self, ...)
+ self.template = "cbi/osmll_value"
+ self.latfield = nil
+ self.lonfield = nil
+ self.centerlat = ""
+ self.centerlon = ""
+ self.zoom = "0"
+ self.width = "100%" --popups will ignore the %-symbol, "100%" is interpreted as "100"
+ self.height = "600"
+ self.popup = false
+ self.displaytext="OpenStreetMap" --text on button, that loads and displays the OSMap
+ self.hidetext="X" -- text on button, that hides OSMap
+end
+
+
+f = SimpleForm("ffwizward", "OpenStreetMap", "Hier kann man die Geokoordinaten des Knotens herausfinden.")
+
+osm = f:field(OpenStreetMapLonLat, "latlon", "Geokoordinaten mit OpenStreetMap ermitteln:", "Klicken Sie auf Ihren Standort in der Karte. Diese Karte funktioniert nur, wenn das Gerät bereits eine Verbindung zum Internet hat.")
+osm.latfield = "lat"
+osm.lonfield = "lon"
+osm.centerlat = syslat
+osm.centerlon = syslon
+osm.width = "100%"
+osm.height = "600"
+osm.popup = false
+
+syslatlengh = string.len(syslat)
+if syslatlengh > 7 then
+ osm.zoom = "15"
+elseif syslatlengh > 5 then
+ osm.zoom = "12"
+else
+ osm.zoom = "6"
+end
+
+osm.displaytext="OpenStreetMap anzeigen"
+osm.hidetext="OpenStreetMap verbergen"
+
+
+return m, n
diff --git a/modules/freifunk/luasrc/model/cbi/freifunk/contact.lua b/modules/freifunk/luasrc/model/cbi/freifunk/contact.lua
index c976409c6..178df28b8 100644
--- a/modules/freifunk/luasrc/model/cbi/freifunk/contact.lua
+++ b/modules/freifunk/luasrc/model/cbi/freifunk/contact.lua
@@ -18,17 +18,17 @@ m = Map("freifunk", translate("Contact"), translate("Please fill in your contact
c = m:section(NamedSection, "contact", "public", "")
-c:option(Value, "nickname", translate("Nickname"))
-c:option(Value, "name", translate("Realname"))
-c:option(Value, "mail", translate("E-Mail"), translate("You really should provide your address here!"))
-c:option(Value, "phone", translate("Phone"))
-c:option(Value, "location", translate("Location"))
-c:option(Value, "note", translate("Notice"))
+local nick = c:option(Value, "nickname", translate("Nickname"))
+nick.rmempty = false
+
+name = c:option(Value, "name", translate("Realname"))
+name.rmempty = false
-m2 = Map("system", translate("Coordinates"))
+mail = c:option(Value, "mail", translate("E-Mail"))
+mail.rmempty = false
-s = m2:section(TypedSection, "system", "")
-s:option(Value, "latitude", translate("Latitude")).rmempty = true
-s:option(Value, "longitude", translate("Longitude")).rmempty = true
+c:option(Value, "phone", translate("Phone"))
+
+c:option(Value, "note", translate("Notice"))
-return m, m2
+return m
diff --git a/modules/freifunk/luasrc/model/cbi/freifunk/freifunk.lua b/modules/freifunk/luasrc/model/cbi/freifunk/freifunk.lua
deleted file mode 100644
index 1a147460b..000000000
--- a/modules/freifunk/luasrc/model/cbi/freifunk/freifunk.lua
+++ /dev/null
@@ -1,24 +0,0 @@
---[[
-LuCI - Lua Configuration Interface
-
-Copyright 2008 Steven Barth <steven@midlink.org>
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-$Id$
-]]--
-m = Map("freifunk", "Freifunk")
-
-c = m:section(NamedSection, "community", "public", "Gemeinschaft", [[Dies sind die Grundeinstellungen
-für die lokale Freifunkgemeinschaft. Diese Werte wirken sich NICHT auf die Konfiguration
-des Routers aus, sondern definieren nur die Vorgaben für den Freifunkassistenten.]])
-c:option(Value, "name", "Gemeinschaft")
-c:option(Value, "homepage", "Webseite")
-c:option(Value, "ssid", "ESSID")
-c:option(Value, "prefix", "Netzprefix")
-
-return m \ No newline at end of file
diff --git a/modules/freifunk/luasrc/model/cbi/freifunk/profile.lua b/modules/freifunk/luasrc/model/cbi/freifunk/profile.lua
new file mode 100644
index 000000000..87ec03c7e
--- /dev/null
+++ b/modules/freifunk/luasrc/model/cbi/freifunk/profile.lua
@@ -0,0 +1,55 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ httc://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+local uci = require "luci.model.uci".cursor()
+local community = "profile_" .. uci:get("freifunk", "community", "name")
+--local community = "profile_augsburg"
+
+
+m = Map(community, translate("Community settings"), translate("These are the settings of your local community"))
+
+c = m:section(NamedSection, "profile", "community", "foobar")
+
+name = c:option(Value, "name", "Name")
+name.rmempty = false
+
+homepage = c:option(Value, "homepage", "Webseite")
+
+cc = c:option(Value, "country", "Countrycode")
+function cc.cfgvalue(self, section)
+ return uci:get(community, "wifi_device", "country")
+end
+function cc.write(self, sec, value)
+ if value then
+ uci:set(community, "wifi_device", "country", value)
+ uci:save(community)
+ end
+end
+
+ssid = c:option(Value, "ssid", "ESSID")
+ssid.rmempty = false
+
+prefix = c:option(Value, "mesh_network", "Netzprefix")
+prefix.rmempty = false
+
+splash_net = c:option(Value, "splash_network", "Netzwerk für Client-DHCP-Adressen")
+splash_net.rmempty = false
+
+splash_prefix = c:option(Value, "splash_prefix", "Netzgröße für Clientnetze")
+splash_prefix.rmempty = false
+
+lat = c:option(Value, "latitude", "Latitude")
+lat.rmempty = false
+
+lon = c:option(Value, "longitude", "longitude")
+lon.rmempty = false
+return m
diff --git a/modules/freifunk/luasrc/model/cbi/freifunk/profile_expert.lua b/modules/freifunk/luasrc/model/cbi/freifunk/profile_expert.lua
new file mode 100644
index 000000000..5da7e7b12
--- /dev/null
+++ b/modules/freifunk/luasrc/model/cbi/freifunk/profile_expert.lua
@@ -0,0 +1,36 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2011 Manuel Munz <freifunk at somakoma dot de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ httc://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+local fs = require "nixio.fs"
+local uci = require "luci.model.uci".cursor()
+local community = "/etc/config/profile_" .. uci:get("freifunk", "community", "name")
+
+f = SimpleForm("community", translate("Community profile"), translate("This is the complete content of the selected community profile."))
+
+t = f:field(TextValue, "cop")
+t.rmempty = true
+t.rows = 30
+function t.cfgvalue()
+ return fs.readfile(community) or ""
+end
+
+function f.handle(self, state, data)
+ if state == FORM_VALID then
+ if data.cop then
+ fs.writefile(cop, data.rcs:gsub("\r\n", "\n"))
+ end
+ end
+ return true
+end
+
+return f
+
diff --git a/modules/freifunk/luasrc/view/freifunk/adminindex.htm b/modules/freifunk/luasrc/view/freifunk/adminindex.htm
new file mode 100644
index 000000000..d2bf0b7ea
--- /dev/null
+++ b/modules/freifunk/luasrc/view/freifunk/adminindex.htm
@@ -0,0 +1,33 @@
+<%+header%>
+<%
+local uci = require "luci.model.uci".cursor()
+local contact = uci:get_all("freifunk", "contact")
+local contacturl = luci.dispatcher.build_url(luci.dispatcher.context.path[1], "freifunk", "contact")
+local hostname = uci:get_first ("system", "system", "hostname")
+local latitude = uci:get_first ("system", "system", "latitude")
+local longitude = uci:get_first ("system", "system", "longitude")
+local location = uci:get_first ("system", "system", "location")
+local basicsurl = luci.dispatcher.build_url(luci.dispatcher.context.path[1], "freifunk", "basics")
+%>
+
+<h2><%:Freifunk Overview%></h2>
+
+<%:These pages will assist you in setting up your router for Freifunk or similar wireless community networks.%>
+<p />
+
+<% if not (hostname and latitude and longitude and location) then%>
+<div class="error">
+ <%:Basic settings are missing. Please go to this page and fill all required fields: %>
+ <a href='<%=basicsurl%>'><%:Basic settings%></a>
+</div>
+<%end%>
+<p />
+
+<% if not (contact.nickname and contact.name and contact.mail) then%>
+<div class="error">
+ <%:Contact information missing. Please go to this page and fill all required fields: %>
+ <a href='<%=contacturl%>'><%:Contact%></a>
+</div>
+<%end%>
+
+<%+footer%>
diff --git a/modules/freifunk/luasrc/view/freifunk/contact.htm b/modules/freifunk/luasrc/view/freifunk/contact.htm
index 0b4a06810..0d917ad5b 100644
--- a/modules/freifunk/luasrc/view/freifunk/contact.htm
+++ b/modules/freifunk/luasrc/view/freifunk/contact.htm
@@ -13,15 +13,23 @@ $Id$
-%>
<%+header%>
-<% local contact = luci.model.uci.cursor():get_all("freifunk", "contact") %>
+
+<%
+local uci = require "luci.model.uci".cursor()
+local contact = uci:get_all("freifunk", "contact")
+local location = uci:get_first("system", "system", "location")
+local lon = uci:get_first("system", "system", "longitude")
+local lat = uci:get_first("system", "system", "latitude")
+%>
+
<h2><a id="content" name="content"><%:Contact%></a></h2>
<table cellspacing="0" cellpadding="6">
<tr><th><%:Nickname%>:</th><td><%=contact.nickname%></td></tr>
<tr><th><%:Realname%>:</th><td><%=contact.name%></td></tr>
<tr><th><%:E-Mail%>:</th><td><%=contact.mail%></td></tr>
<tr><th><%:Phone%>:</th><td><%=contact.phone%></td></tr>
- <tr><th><%:Location%>:</th><td><%=contact.location%></td></tr>
- <tr><th><%:Coordinates%>:</th><td><%=contact.geo%></td></tr>
+ <tr><th><%:Location%>:</th><td><%=location%></td></tr>
+ <tr><th><%:Coordinates%>:</th><td><%=lat%> <%=lon%></td></tr>
<tr><th><%:Notice%>:</th><td><%=contact.note%></td></tr>
</table>
<%+footer%>
diff --git a/modules/freifunk/luasrc/view/freifunk/index.htm b/modules/freifunk/luasrc/view/freifunk/index.htm
index d93dcd8f4..4a9ab2efe 100644
--- a/modules/freifunk/luasrc/view/freifunk/index.htm
+++ b/modules/freifunk/luasrc/view/freifunk/index.htm
@@ -14,7 +14,16 @@ $Id$
-%>
<%+header%>
<%
-local ff = luci.model.uci.cursor():get_all("freifunk")
+local uci = require "luci.model.uci".cursor()
+local ff = uci:get_all("freifunk")
+if not ff.community.name then
+ ff.community.name = ""
+end
+local co = "profile_" .. ff.community.name
+local community = uci:get_first(co, "community", "name") or "Freifunk"
+local url = uci:get_first(co, "community", "homepage") or "http://www.freifunk.net"
+
+
require("luci.fs")
local usertext = luci.fs.readfile("/www/luci-static/index_user.html")
@@ -23,7 +32,7 @@ if (ff.community.DefaultText or "") ~= "disabled" then
defaulttext = '<h2><a id="content" name="content">'..
(translate("Hello and welcome in the network of"))..
' '..
- (ff.community.name or "Freifunk Deutschland")..
+ (community or "Freifunk Deutschland")..
'!</a></h2><p>'..
translate("We are an initiative to establish a free, independent and open wireless mesh network.")..
'<br />'..
@@ -31,20 +40,16 @@ if (ff.community.DefaultText or "") ~= "disabled" then
' '..
luci.sys.hostname()..
'. '..
- translate("It is operated by")..
+ translate("It is operated by ")..
'<a href="'..
luci.dispatcher.build_url("freifunk", "index", "contact")..
- '"> '..
- (ff.contact.nickname or "Anonymous")..
+ '">'..
+ (ff.contact.nickname or translate("Please set your contact information"))..
'</a>.</p><p>'..
translate("You can find further information about the global Freifunk initiative at")..
' <a href="http://freifunk.net">Freifunk.net</a>.<br />'..
translate("If you are interested in our project then contact the local community")..
- ' <a href="'..
- (ff.community.homepage or "http//freifunk.net")..
- '">'..
- (ff.community.name or "Freifunk")..
- '</a>.</p><p><strong>'..
+ ' <a href="'..url..'">'..community..'</a>.</p><p><strong>'..
translate("Notice")..
'</strong>: '..
translate("Internet access depends on technical and organisational conditions and may or may not work for you.")..
diff --git a/modules/freifunk/root/etc/config/freifunk b/modules/freifunk/root/etc/config/freifunk
index fe1514f4c..8eb577fa9 100644
--- a/modules/freifunk/root/etc/config/freifunk
+++ b/modules/freifunk/root/etc/config/freifunk
@@ -88,275 +88,3 @@ config 'defaults' 'time'
config 'defaults' 'upgrade'
option 'repository' 'http://dev.luci.freifunk-halle.net/freifunk-snapshots'
option 'rssfeed' 'http://firmware.leipzig.freifunk.net/kamikaze/.rss.xml'
-
-config 'community' 'leipzig'
- option 'name' 'Freifunk Leipzig'
- option 'homepage' 'http://leipzig.freifunk.net'
- option 'ssid' 'leipzig.freifunk.net'
- option 'mesh_network' '104.61.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '51.33348'
- option 'longitude' '12.40297'
-
-config 'community' 'halle'
- option 'name' 'Freifunk Halle'
- option 'homepage' 'http://halle.freifunk.net'
- option 'ssid' 'halle.freifunk.net'
- option 'mesh_network' '104.62.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '51.47911'
- option 'longitude' '11.96901'
-
-config 'community' 'l59'
- option 'name' 'Freifunk L59'
- option 'homepage' 'http://freifunk.net'
- option 'ssid' 'start.freifunk.net'
- option 'mesh_network' '104.59.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '52.26337'
- option 'longitude' '10.52103'
-
-config 'community' 'berlin'
- option 'name' 'Freifunk Berlin'
- option 'homepage' 'http://berlin.freifunk.net'
- option 'ssid' 'olsr.freifunk.net'
- option 'mesh_network' '104.0.0.0/8'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '52.52075'
- option 'longitude' '13.40948'
- option 'external' 'freifunk_berlin'
-
-config 'community' 'potsdam'
- option 'name' 'Freifunk Potsdam'
- option 'homepage' 'http://potsdam.freifunk.net'
- option 'ssid' 'www.freifunk-potsdam.de'
- option 'mesh_network' '10.22.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '52.39349'
- option 'longitude' '13.06489'
- option 'external' 'freifunk_potsdam'
-
-config 'community' 'hamburg'
- option 'name' 'Freifunk Hamburg'
- option 'homepage' 'http://hamburg.piratenpartei.de'
- option 'ssid' 'hamburg.freifunk.net'
- option 'mesh_network' '10.112.0.0/12'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '53.56262'
- option 'longitude' '10.01069'
- option 'external' 'freifunk_hamburg'
-
-config 'community' 'hannover'
- option 'name' 'Freifunk Hannover'
- option 'homepage' 'http://hannover.freifunk.net'
- option 'ssid' 'hannover.freifunk.net'
- option 'mesh_network' '10.2.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '52.38427'
- option 'longitude' '9.74359'
- option 'external' 'freifunk_hannover'
-
-config 'community' 'augsburg'
- option 'name' 'Freifunk Augsburg'
- option 'homepage' 'http://augsburg.freifunk.net'
- option 'ssid' 'augsburg.freifunk.net'
- option 'mesh_network' '10.11.0.0/18'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '48.37071'
- option 'longitude' '10.89475'
- option 'suffix' 'ffa'
- option 'external' 'freifunk_augsburg'
-
-config 'community' 'jena'
- option 'name' 'Freifunk Jena'
- option 'homepage' 'http://www.freifunk-jena.de'
- option 'ssid' 'www.freifunk-jena.de'
- option 'mesh_network' '10.127.0.0/20'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '29'
- option 'latitude' '50.92779'
- option 'longitude' '11.58431'
- option 'external' 'freifunk_jena'
-
-config 'community' 'mainz'
- option 'name' 'Freifunk Mainz'
- option 'homepage' 'http://mainz.freifunk.net'
- option 'ssid' 'mainz.freifunk.net'
- option 'mesh_network' '10.37.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '49.99635'
- option 'longitude' '8.27417'
- option 'external' 'freifunk_mainz'
-
-config 'community' 'seefeld'
- option 'name' 'Freifunk Seefeld'
- option 'homepage' 'http://wiki.freifunk.net/Seefeld.freifunk.net'
- option 'ssid' 'seefeld.freifunk.net'
- option 'mesh_network' '10.111.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '48.03485'
- option 'longitude' '11.21279'
- option 'external' 'freifunk_seefeld'
-
-config 'community' 'duesseldorf'
- option 'name' 'Freifunk Duesseldorf'
- option 'homepage' 'http://wiki.piratenpartei.de/D%C3%BCsseldorf/Freifunk'
- option 'ssid' 'duesseldorf.freifunk.net'
- option 'mesh_network' '10.40.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '51.22347'
- option 'longitude' '6.78449'
- option 'external' 'freifunk_duesseldorf'
-
-config 'community' 'oldenburg'
- option 'name' 'Freifunk Oldenburg'
- option 'homepage' 'http://oldenburg.freifunk.net'
- option 'ssid' 'oldenburg.freifunk.net'
- option 'mesh_network' '10.18.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '53.14083'
- option 'longitude' '8.21314'
- option 'external' 'freifunk_oldenburg'
-
-config 'community' 'kiberpipa'
- option 'name' 'Kiberpipa.net'
- option 'homepage' 'http://www.kiberpipa.net'
- option 'ssid' 'open.kiberpipa.net'
- option 'mesh_network' '10.14.0.0/16'
- option 'splash_network' '10.14.128.0/17'
- option 'splash_prefix' '27'
- option 'latitude' '46.05063'
- option 'longitude' '14.50402'
- option 'external' 'freifunk_kiberpipa'
-
-config 'community' 'wlanljubljana'
- option 'name' 'wlan ljubljana'
- option 'homepage' 'http://wlan-lj.net'
- option 'ssid' 'open.wlan-lj.net'
- option 'mesh_network' '10.254.0.0/16'
- option 'splash_network' '10.254.120.0/21'
- option 'splash_prefix' '27'
- option 'latitude' '46.05063'
- option 'longitude' '14.50402'
- option 'external' 'freifunk_wlanljubljana'
-
-config 'community' 'heppenheim'
- option 'name' 'Freifunk Heppenheim'
- option 'homepage' 'http://heppenheim.freifunk.net'
- option 'ssid' 'heppenheim.freifunk.net'
- option 'mesh_network' '10.48.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '51.151786'
- option 'longitude' '10.415039'
-
-config 'community' 'bensheim'
- option 'name' 'Freifunk Bensheim'
- option 'homepage' 'http://bensheim.freifunk.net'
- option 'ssid' 'bensheim.freifunk.net'
- option 'mesh_network' '10.49.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '49.63939'
- option 'longitude' '8.633718'
-
-config 'community' 'marburg'
- option 'name' 'Freifunk Marburg'
- option 'homepage' ' http://marburg.freifunk.de'
- option 'ssid' 'marburg.freifunk.net'
- option 'mesh_network' '10.128.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '29'
- option 'latitude' '49.63939'
- option 'longitude' '8.633718'
- option 'external' 'freifunk_marburg'
-
-config 'community' 'openwireless_bern'
- option 'name' 'Openwireless Bern'
- option 'homepage' 'http://bern.openwireless.ch/'
- option 'ssid' 'www.openwireless.ch'
- option 'mesh_network' '10.247.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '50.814788'
- option 'longitude' '8.769239'
- option 'external' 'openwireless_bern'
-
-config 'community' 'piraten_BergischesLand'
- option 'name' 'Piratenfreifunk Bergisches Land'
- option 'homepage' 'http://www.piraten-bergisches-land.de'
- option 'ssid' 'PiratenfunkBL'
- option 'mesh_network' '10.3.0.0/16'
- option 'splash_network' '192.168.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '51.26849'
- option 'longitude' '7.19476'
- option 'external' 'freifunk_bergischesland'
-
-config 'community' 'piraten_dresden'
- option 'name' 'Piratenfreifunk Dresden'
- option 'homepage' 'http://www.piraten-sachsen.de/'
- option 'ssid' 'dresden.freifunk.net'
- option 'mesh_network' '10.12.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '51.05081'
- option 'longitude' '13.73420'
- option 'external' 'freifunk_dresden'
-
-config 'community' 'dresden'
- option 'name' 'Freifunk Dresden'
- option 'homepage' 'http://ddmesh.de/'
- option 'ssid' 'dresden.freifunk.net'
- option 'mesh_network' '10.12.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '51.05081'
- option 'longitude' '13.73420'
- option 'external' 'freifunk_dresden'
-
-config 'community' 'neuss'
- option 'name' 'Freifunk Neuss'
- option 'homepage' 'http://neuss.freifunk.net'
- option 'ssid' 'neuss.freifunk.net'
- option 'mesh_network' '172.28.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '51.19045'
- option 'longitude' '6.69471'
- option 'external' 'freifunk_neuss'
-
-config 'community' 'pberg'
- option 'name' 'Freifunk Berlin Prenzlauer Berg'
- option 'homepage' 'http://pberg.freifunk.net'
- option 'ssid' 'olsr.freifunk.net'
- option 'mesh_network' '104.0.0.0/8'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '52.5427'
- option 'longitude' '13.4172'
- option 'external' 'freifunk_berlin'
-
-config 'community' 'rosbach'
- option 'name' 'Freifunk Rosbach'
- option 'homepage' 'freifunk-rosbach.de'
- option 'ssid' 'rosbach.freifunk.net'
- option 'mesh_network' '10.212.0.0/16'
- option 'splash_network' '10.104.0.0/16'
- option 'splash_prefix' '27'
- option 'latitude' '50.18'
- option 'longitude' '8.42'
- option 'external' 'freifunk_rosbach'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_augsburg b/modules/freifunk/root/etc/config/freifunk_augsburg
deleted file mode 100644
index 1ce71e00e..000000000
--- a/modules/freifunk/root/etc/config/freifunk_augsburg
+++ /dev/null
@@ -1,5 +0,0 @@
-package 'freifunk_augsburg'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.192.0'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_bergischesland b/modules/freifunk/root/etc/config/freifunk_bergischesland
deleted file mode 100644
index cfdb15f10..000000000
--- a/modules/freifunk/root/etc/config/freifunk_bergischesland
+++ /dev/null
@@ -1,8 +0,0 @@
-package 'freifunk_bergischesland'
-
-config 'defaults' 'wifi_device'
- option 'channel' '11'
-
-config 'defaults' 'wifi_iface'
- option 'bssid' '02:40:00:42:42:42'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_berlin b/modules/freifunk/root/etc/config/freifunk_berlin
deleted file mode 100644
index 467c3c4a6..000000000
--- a/modules/freifunk/root/etc/config/freifunk_berlin
+++ /dev/null
@@ -1,5 +0,0 @@
-package 'freifunk_berlin'
-
-config 'defaults' 'wifi_device'
- option 'channel' '10'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_dresden b/modules/freifunk/root/etc/config/freifunk_dresden
deleted file mode 100644
index 239589a91..000000000
--- a/modules/freifunk/root/etc/config/freifunk_dresden
+++ /dev/null
@@ -1,5 +0,0 @@
-package 'freifunk_dresden'
-
-config 'defaults' 'wifi_device'
- option 'channel' '1'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_duesseldorf b/modules/freifunk/root/etc/config/freifunk_duesseldorf
deleted file mode 100644
index 945cba649..000000000
--- a/modules/freifunk/root/etc/config/freifunk_duesseldorf
+++ /dev/null
@@ -1,11 +0,0 @@
-package 'freifunk_duesseldorf'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
-config 'defaults' 'wifi_device'
- option 'channel' '3'
-
-config 'defaults' 'wifi_iface'
- option 'bssid' '02:CA:FF:EE:BA:BE'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_hamburg b/modules/freifunk/root/etc/config/freifunk_hamburg
deleted file mode 100644
index 4f9abdf02..000000000
--- a/modules/freifunk/root/etc/config/freifunk_hamburg
+++ /dev/null
@@ -1,8 +0,0 @@
-package 'freifunk_hamburg'
-
-config 'defaults' 'interface'
- option 'netmask' '255.240.0.0'
-
-config 'defaults' 'wifi_device'
- option 'channel' '1'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_hannover b/modules/freifunk/root/etc/config/freifunk_hannover
deleted file mode 100644
index 10200f774..000000000
--- a/modules/freifunk/root/etc/config/freifunk_hannover
+++ /dev/null
@@ -1,8 +0,0 @@
-package 'freifunk_hannover'
-
-config 'defaults' 'wifi_iface'
- option 'bssid' 'CA:FF:EE:CA:FF:EE'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_jena b/modules/freifunk/root/etc/config/freifunk_jena
deleted file mode 100644
index eb85b180f..000000000
--- a/modules/freifunk/root/etc/config/freifunk_jena
+++ /dev/null
@@ -1,5 +0,0 @@
-package 'freifunk_jena'
-
-config 'defaults' 'interface'
- option 'dns' '217.11.48.200 217.11.49.200 8.8.8.8'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_kiberpipa b/modules/freifunk/root/etc/config/freifunk_kiberpipa
deleted file mode 100644
index 669929133..000000000
--- a/modules/freifunk/root/etc/config/freifunk_kiberpipa
+++ /dev/null
@@ -1,8 +0,0 @@
-package 'freifunk_kiberpipa'
-
-config 'defaults' 'wifi_device'
- option 'channel' '8'
-
-config 'defaults' 'interface'
- option 'dns' '10.14.0.1 208.67.222.220 208.67.220.222'
- option 'netmask' '255.255.0.0'
diff --git a/modules/freifunk/root/etc/config/freifunk_mainz b/modules/freifunk/root/etc/config/freifunk_mainz
deleted file mode 100644
index e50f6f11b..000000000
--- a/modules/freifunk/root/etc/config/freifunk_mainz
+++ /dev/null
@@ -1,11 +0,0 @@
-package 'freifunk_mainz'
-
-config 'defaults' 'wifi_iface'
- option 'bssid' '02:ca:ff:ee:ba:be'
-
-config 'defaults' 'wifi_device'
- option 'channel' '1'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_marburg b/modules/freifunk/root/etc/config/freifunk_marburg
deleted file mode 100644
index 2045a3854..000000000
--- a/modules/freifunk/root/etc/config/freifunk_marburg
+++ /dev/null
@@ -1,6 +0,0 @@
-package 'freifunk_marburg'
-
-config 'defaults' 'interface'
- option 'dns' '8.8.8.8 212.204.49.83'
- option 'netmask' '255.255.0.0'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_neuss b/modules/freifunk/root/etc/config/freifunk_neuss
deleted file mode 100644
index 8ee6a155c..000000000
--- a/modules/freifunk/root/etc/config/freifunk_neuss
+++ /dev/null
@@ -1,10 +0,0 @@
-package 'freifunk_neuss'
-
-config 'defaults' 'wifi_device'
- option 'channel' '11'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
-config 'defaults' 'wifi_iface'
- option 'bssid' 'DE:AD:BE:EF:CA:FE'
diff --git a/modules/freifunk/root/etc/config/freifunk_oldenburg b/modules/freifunk/root/etc/config/freifunk_oldenburg
deleted file mode 100644
index 24367d3f7..000000000
--- a/modules/freifunk/root/etc/config/freifunk_oldenburg
+++ /dev/null
@@ -1,7 +0,0 @@
-package 'freifunk_oldenburg'
-
-config 'defaults' 'wifi_device'
- option 'channel' '6'
-
-config 'defaults' 'wifi_iface'
- option 'bssid' '02:CA:FF:EE:BA:BE'
diff --git a/modules/freifunk/root/etc/config/freifunk_potsdam b/modules/freifunk/root/etc/config/freifunk_potsdam
deleted file mode 100644
index feb7fb5d6..000000000
--- a/modules/freifunk/root/etc/config/freifunk_potsdam
+++ /dev/null
@@ -1,8 +0,0 @@
-package 'freifunk_potsdam'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
-config 'defaults' 'wifi_device'
- option 'channel' '13'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_rosbach b/modules/freifunk/root/etc/config/freifunk_rosbach
deleted file mode 100644
index b8df6d189..000000000
--- a/modules/freifunk/root/etc/config/freifunk_rosbach
+++ /dev/null
@@ -1,11 +0,0 @@
-package 'freifunk_rosbach'
-
-config 'defaults' 'wifi_device'
- option 'channel' '13'
-
-config 'defaults' 'wifi_iface'
- option 'bssid' 'D2:CA:FF:EE:BA:BE'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_seefeld b/modules/freifunk/root/etc/config/freifunk_seefeld
deleted file mode 100644
index 7a2346f1c..000000000
--- a/modules/freifunk/root/etc/config/freifunk_seefeld
+++ /dev/null
@@ -1,9 +0,0 @@
-package 'freifunk_seefeld'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.255.0'
-
-config 'defaults' 'wifi_device'
- option 'channel' '1'
- option 'bssid' '02:CA:FF:EE:BA:BB'
-
diff --git a/modules/freifunk/root/etc/config/freifunk_wlanljubljana b/modules/freifunk/root/etc/config/freifunk_wlanljubljana
deleted file mode 100644
index 3a4e300db..000000000
--- a/modules/freifunk/root/etc/config/freifunk_wlanljubljana
+++ /dev/null
@@ -1,8 +0,0 @@
-package 'freifunk_wlanljubljana'
-
-config 'defaults' 'wifi_device'
- option 'channel' '8'
-
-config 'defaults' 'interface'
- option 'dns' '10.254.0.1 10.254.0.2'
- option 'netmask' '255.255.0.0'
diff --git a/modules/freifunk/root/etc/config/openwireless_bern b/modules/freifunk/root/etc/config/openwireless_bern
deleted file mode 100644
index c69a6dfd1..000000000
--- a/modules/freifunk/root/etc/config/openwireless_bern
+++ /dev/null
@@ -1,10 +0,0 @@
-package 'openwireless_bern'
-
-config 'defaults' 'interface'
- option 'netmask' '255.255.0.0'
- option 'dns' '208.67.222.222 208.67.220.220'
-
-config 'defaults' 'wifi_device'
- option 'channel' '10'
- option 'country' '756'
-
diff --git a/modules/freifunk/root/etc/config/profile_-custom b/modules/freifunk/root/etc/config/profile_-custom
new file mode 100644
index 000000000..3b06444ae
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_-custom
@@ -0,0 +1,11 @@
+config 'community' 'profile'
+ option 'name' 'Custom'
+ option 'homepage' 'http://example.freifunk.net'
+ option 'ssid' 'example.freifunk.net'
+ option 'splash_network' '10.104.0.0/16'
+ option 'latitude' '52.000'
+ option 'longitude' '10.000'
+ option 'external' 'freifunk_custom'
+ option 'splash_prefix' '28'
+ option 'mesh_network' '1.0.0.0/16'
+
diff --git a/modules/freifunk/root/etc/config/profile_augsburg b/modules/freifunk/root/etc/config/profile_augsburg
new file mode 100644
index 000000000..fd5cdda59
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_augsburg
@@ -0,0 +1,14 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Augsburg'
+ option 'homepage' 'http://augsburg.freifunk.net'
+ option 'ssid' 'augsburg.freifunk.net'
+ option 'mesh_network' '10.11.0.0/18'
+ option 'splash_network' '10.104.0.0/16'
+ option 'latitude' '48.37071'
+ option 'longitude' '10.89475'
+ option 'suffix' 'ffa'
+ option 'splash_prefix' '27'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.192.0'
+
diff --git a/modules/freifunk/root/etc/config/profile_bensheim b/modules/freifunk/root/etc/config/profile_bensheim
new file mode 100644
index 000000000..48c1d47b7
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_bensheim
@@ -0,0 +1,9 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Bensheim'
+ option 'homepage' 'http://bensheim.freifunk.net'
+ option 'ssid' 'bensheim.freifunk.net'
+ option 'mesh_network' '10.49.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '49.63939'
+ option 'longitude' '8.633718'
diff --git a/modules/freifunk/root/etc/config/profile_bergischesland b/modules/freifunk/root/etc/config/profile_bergischesland
new file mode 100644
index 000000000..b32eea9a7
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_bergischesland
@@ -0,0 +1,20 @@
+config 'community' 'profile'
+ option 'name' 'Piratenfreifunk Bergisches Land'
+ option 'homepage' 'http://www.piraten-bergisches-land.de'
+ option 'ssid' 'PiratenfunkBL'
+ option 'mesh_network' '10.3.0.0/16'
+ option 'splash_network' '192.168.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '51.26849'
+ option 'longitude' '7.19476'
+ option 'external' 'freifunk_bergischesland'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '11'
+
+config 'defaults' 'wifi_iface'
+ option 'bssid' '02:40:00:42:42:42'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
+
diff --git a/modules/freifunk/root/etc/config/profile_berlin b/modules/freifunk/root/etc/config/profile_berlin
new file mode 100644
index 000000000..a37a6cb23
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_berlin
@@ -0,0 +1,12 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Berlin'
+ option 'homepage' 'http://berlin.freifunk.net'
+ option 'ssid' 'olsr.freifunk.net'
+ option 'mesh_network' '104.0.0.0/8'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '52.52075'
+ option 'longitude' '13.40948'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '10'
diff --git a/modules/freifunk/root/etc/config/profile_dresden b/modules/freifunk/root/etc/config/profile_dresden
new file mode 100644
index 000000000..6b5dc879a
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_dresden
@@ -0,0 +1,12 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Dresden'
+ option 'homepage' 'http://ddmesh.de/'
+ option 'ssid' 'dresden.freifunk.net'
+ option 'mesh_network' '10.12.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '51.05081'
+ option 'longitude' '13.73420'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '1'
diff --git a/modules/freifunk/root/etc/config/profile_duesseldorf b/modules/freifunk/root/etc/config/profile_duesseldorf
new file mode 100644
index 000000000..64ebbac81
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_duesseldorf
@@ -0,0 +1,18 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Duesseldorf'
+ option 'homepage' 'http://wiki.piratenpartei.de/D%C3%BCsseldorf/Freifunk'
+ option 'ssid' 'duesseldorf.freifunk.net'
+ option 'mesh_network' '10.40.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '51.22347'
+ option 'longitude' '6.78449'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '3'
+
+config 'defaults' 'wifi_iface'
+ option 'bssid' '02:CA:FF:EE:BA:BE'
diff --git a/modules/freifunk/root/etc/config/profile_halle b/modules/freifunk/root/etc/config/profile_halle
new file mode 100644
index 000000000..2680087ba
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_halle
@@ -0,0 +1,9 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Halle'
+ option 'homepage' 'http://halle.freifunk.net'
+ option 'ssid' 'halle.freifunk.net'
+ option 'mesh_network' '104.62.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '51.47911'
+ option 'longitude' '11.96901'
diff --git a/modules/freifunk/root/etc/config/profile_hamburg b/modules/freifunk/root/etc/config/profile_hamburg
new file mode 100644
index 000000000..ba1dd2170
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_hamburg
@@ -0,0 +1,15 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Hamburg'
+ option 'homepage' 'http://hamburg.piratenpartei.de'
+ option 'ssid' 'hamburg.freifunk.net'
+ option 'mesh_network' '10.112.0.0/12'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '53.56262'
+ option 'longitude' '10.01069'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.240.0.0'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '1'
diff --git a/modules/freifunk/root/etc/config/profile_hannover b/modules/freifunk/root/etc/config/profile_hannover
new file mode 100644
index 000000000..99f2c46f1
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_hannover
@@ -0,0 +1,16 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Hannover'
+ option 'homepage' 'http://hannover.freifunk.net'
+ option 'ssid' 'hannover.freifunk.net'
+ option 'mesh_network' '10.2.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '52.38427'
+ option 'longitude' '9.74359'
+
+config 'defaults' 'wifi_iface'
+ option 'bssid' 'CA:FF:EE:CA:FF:EE'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
+
diff --git a/modules/freifunk/root/etc/config/profile_heppenheim b/modules/freifunk/root/etc/config/profile_heppenheim
new file mode 100644
index 000000000..a8304946b
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_heppenheim
@@ -0,0 +1,9 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Heppenheim'
+ option 'homepage' 'http://heppenheim.freifunk.net'
+ option 'ssid' 'heppenheim.freifunk.net'
+ option 'mesh_network' '10.48.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '51.151786'
+ option 'longitude' '10.415039'
diff --git a/modules/freifunk/root/etc/config/profile_jena b/modules/freifunk/root/etc/config/profile_jena
new file mode 100644
index 000000000..5741d09b2
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_jena
@@ -0,0 +1,12 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Jena'
+ option 'homepage' 'http://www.freifunk-jena.de'
+ option 'ssid' 'www.freifunk-jena.de'
+ option 'mesh_network' '10.127.0.0/20'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '29'
+ option 'latitude' '50.92779'
+ option 'longitude' '11.58431'
+
+config 'defaults' 'interface'
+ option 'dns' '217.11.48.200 217.11.49.200 8.8.8.8'
diff --git a/modules/freifunk/root/etc/config/profile_kiberpipa b/modules/freifunk/root/etc/config/profile_kiberpipa
new file mode 100644
index 000000000..628850a9f
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_kiberpipa
@@ -0,0 +1,16 @@
+config 'community' 'profile'
+ option 'name' 'Kiberpipa.net'
+ option 'homepage' 'http://www.kiberpipa.net'
+ option 'ssid' 'open.kiberpipa.net'
+ option 'mesh_network' '10.14.0.0/16'
+ option 'splash_network' '10.14.128.0/17'
+ option 'splash_prefix' '27'
+ option 'latitude' '46.05063'
+ option 'longitude' '14.50402'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '8'
+
+config 'defaults' 'interface'
+ option 'dns' '10.14.0.1 208.67.222.220 208.67.220.222'
+ option 'netmask' '255.255.0.0'
diff --git a/modules/freifunk/root/etc/config/profile_l59 b/modules/freifunk/root/etc/config/profile_l59
new file mode 100644
index 000000000..67c48cc81
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_l59
@@ -0,0 +1,9 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk L59'
+ option 'homepage' 'http://freifunk.net'
+ option 'ssid' 'start.freifunk.net'
+ option 'mesh_network' '104.59.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '52.26337'
+ option 'longitude' '10.52103'
diff --git a/modules/freifunk/root/etc/config/profile_leipzig b/modules/freifunk/root/etc/config/profile_leipzig
new file mode 100644
index 000000000..1418f7aae
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_leipzig
@@ -0,0 +1,12 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Leipzig'
+ option 'homepage' 'http://leipzig.freifunk.net'
+ option 'ssid' 'leipzig.freifunk.net'
+ option 'mesh_network' '104.61.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '51.33348'
+ option 'longitude' '12.40297'
+
+
+
diff --git a/modules/freifunk/root/etc/config/profile_mainz b/modules/freifunk/root/etc/config/profile_mainz
new file mode 100644
index 000000000..c6cd61df1
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_mainz
@@ -0,0 +1,19 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Mainz'
+ option 'homepage' 'http://mainz.freifunk.net'
+ option 'ssid' 'mainz.freifunk.net'
+ option 'mesh_network' '10.37.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '49.99635'
+ option 'longitude' '8.27417'
+
+config 'defaults' 'wifi_iface'
+ option 'bssid' '02:ca:ff:ee:ba:be'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '1'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
+
diff --git a/modules/freifunk/root/etc/config/profile_marburg b/modules/freifunk/root/etc/config/profile_marburg
new file mode 100644
index 000000000..21ad644e2
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_marburg
@@ -0,0 +1,13 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Marburg'
+ option 'homepage' ' http://marburg.freifunk.de'
+ option 'ssid' 'marburg.freifunk.net'
+ option 'mesh_network' '10.128.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '29'
+ option 'latitude' '49.63939'
+ option 'longitude' '8.633718'
+
+config 'defaults' 'interface'
+ option 'dns' '8.8.8.8 212.204.49.83'
+ option 'netmask' '255.255.0.0'
diff --git a/modules/freifunk/root/etc/config/profile_neuss b/modules/freifunk/root/etc/config/profile_neuss
new file mode 100644
index 000000000..5f97d879a
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_neuss
@@ -0,0 +1,18 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Neuss'
+ option 'homepage' 'http://neuss.freifunk.net'
+ option 'ssid' 'neuss.freifunk.net'
+ option 'mesh_network' '172.28.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '51.19045'
+ option 'longitude' '6.69471'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '11'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
+
+config 'defaults' 'wifi_iface'
+ option 'bssid' 'DE:AD:BE:EF:CA:FE'
diff --git a/modules/freifunk/root/etc/config/profile_oldenburg b/modules/freifunk/root/etc/config/profile_oldenburg
new file mode 100644
index 000000000..e967fdb43
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_oldenburg
@@ -0,0 +1,15 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Oldenburg'
+ option 'homepage' 'http://oldenburg.freifunk.net'
+ option 'ssid' 'oldenburg.freifunk.net'
+ option 'mesh_network' '10.18.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '53.14083'
+ option 'longitude' '8.21314'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '6'
+
+config 'defaults' 'wifi_iface'
+ option 'bssid' '02:CA:FF:EE:BA:BE'
diff --git a/modules/freifunk/root/etc/config/profile_openwireless_bern b/modules/freifunk/root/etc/config/profile_openwireless_bern
new file mode 100644
index 000000000..b9f5cbd76
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_openwireless_bern
@@ -0,0 +1,19 @@
+config 'community' 'profile'
+ option 'name' 'Openwireless Bern'
+ option 'homepage' 'http://bern.openwireless.ch/'
+ option 'ssid' 'www.openwireless.ch'
+ option 'mesh_network' '10.247.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '50.814788'
+ option 'longitude' '8.769239'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
+ option 'dns' '208.67.222.222 208.67.220.220'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '10'
+ option 'country' '756'
+
+
diff --git a/modules/freifunk/root/etc/config/profile_pberg b/modules/freifunk/root/etc/config/profile_pberg
new file mode 100644
index 000000000..ea2f7b081
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_pberg
@@ -0,0 +1,12 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Berlin Prenzlauer Berg'
+ option 'homepage' 'http://pberg.freifunk.net'
+ option 'ssid' 'olsr.freifunk.net'
+ option 'mesh_network' '104.0.0.0/8'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '52.5427'
+ option 'longitude' '13.4172'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '10'
diff --git a/modules/freifunk/root/etc/config/profile_piraten_dresden b/modules/freifunk/root/etc/config/profile_piraten_dresden
new file mode 100644
index 000000000..2af0e319d
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_piraten_dresden
@@ -0,0 +1,12 @@
+config 'community' 'profile'
+ option 'name' 'Piratenfreifunk Dresden'
+ option 'homepage' 'http://www.piraten-sachsen.de/'
+ option 'ssid' 'dresden.freifunk.net'
+ option 'mesh_network' '10.12.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '51.05081'
+ option 'longitude' '13.73420'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '1'
diff --git a/modules/freifunk/root/etc/config/profile_potsdam b/modules/freifunk/root/etc/config/profile_potsdam
new file mode 100644
index 000000000..ff1d661ab
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_potsdam
@@ -0,0 +1,15 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Potsdam'
+ option 'homepage' 'http://potsdam.freifunk.net'
+ option 'ssid' 'www.freifunk-potsdam.de'
+ option 'mesh_network' '10.22.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '52.39349'
+ option 'longitude' '13.06489'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '13'
diff --git a/modules/freifunk/root/etc/config/profile_rosbach b/modules/freifunk/root/etc/config/profile_rosbach
new file mode 100644
index 000000000..ec072811a
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_rosbach
@@ -0,0 +1,18 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Rosbach'
+ option 'homepage' 'freifunk-rosbach.de'
+ option 'ssid' 'rosbach.freifunk.net'
+ option 'mesh_network' '10.212.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '50.18'
+ option 'longitude' '8.42'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '13'
+
+config 'defaults' 'wifi_iface'
+ option 'bssid' 'D2:CA:FF:EE:BA:BE'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.0.0'
diff --git a/modules/freifunk/root/etc/config/profile_seefeld b/modules/freifunk/root/etc/config/profile_seefeld
new file mode 100644
index 000000000..f88562d6f
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_seefeld
@@ -0,0 +1,16 @@
+config 'community' 'profile'
+ option 'name' 'Freifunk Seefeld'
+ option 'homepage' 'http://wiki.freifunk.net/Seefeld.freifunk.net'
+ option 'ssid' 'seefeld.freifunk.net'
+ option 'mesh_network' '10.111.0.0/16'
+ option 'splash_network' '10.104.0.0/16'
+ option 'splash_prefix' '27'
+ option 'latitude' '48.03485'
+ option 'longitude' '11.21279'
+
+config 'defaults' 'interface'
+ option 'netmask' '255.255.255.0'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '1'
+ option 'bssid' '02:CA:FF:EE:BA:BB'
diff --git a/modules/freifunk/root/etc/config/profile_wlanljubljana b/modules/freifunk/root/etc/config/profile_wlanljubljana
new file mode 100644
index 000000000..9d76eeb67
--- /dev/null
+++ b/modules/freifunk/root/etc/config/profile_wlanljubljana
@@ -0,0 +1,16 @@
+config 'community' 'profile'
+ option 'name' 'wlan ljubljana'
+ option 'homepage' 'http://wlan-lj.net'
+ option 'ssid' 'open.wlan-lj.net'
+ option 'mesh_network' '10.254.0.0/16'
+ option 'splash_network' '10.254.120.0/21'
+ option 'splash_prefix' '27'
+ option 'latitude' '46.05063'
+ option 'longitude' '14.50402'
+
+config 'defaults' 'wifi_device'
+ option 'channel' '8'
+
+config 'defaults' 'interface'
+ option 'dns' '10.254.0.1 10.254.0.2'
+ option 'netmask' '255.255.0.0'