* luci/applications: add initial chillispot package (incomplete)
This commit is contained in:
parent
0227e3cea1
commit
e3260d06bd
7 changed files with 482 additions and 0 deletions
2
applications/luci-chillispot/Makefile
Normal file
2
applications/luci-chillispot/Makefile
Normal file
|
@ -0,0 +1,2 @@
|
|||
include ../../build/config.mk
|
||||
include ../../build/module.mk
|
|
@ -0,0 +1,26 @@
|
|||
--[[
|
||||
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$
|
||||
]]--
|
||||
module("luci.controller.chillispot", package.seeall)
|
||||
|
||||
function index()
|
||||
|
||||
require("luci.i18n")
|
||||
local i18n = luci.i18n.translate
|
||||
|
||||
entry( { "admin", "services", "chillispot" }, cbi("chillispot"), i18n("chillispot", "ChilliSpot"), 90)
|
||||
entry( { "admin", "services", "chillispot", "network" }, cbi("chillispot_network"), i18n("chillispot_network", "Network Configuration"), 10)
|
||||
entry( { "admin", "services", "chillispot", "radius" }, cbi("chillispot_radius"), i18n("chillispot_radius", "UAM and Radius Configuration"), 20)
|
||||
entry( { "admin", "services", "chillispot", "macauth" }, cbi("chillispot_macauth"), i18n("chillispot_macauth", "MAC Authentication"), 30)
|
||||
|
||||
end
|
36
applications/luci-chillispot/luasrc/model/cbi/chillispot.lua
Normal file
36
applications/luci-chillispot/luasrc/model/cbi/chillispot.lua
Normal file
|
@ -0,0 +1,36 @@
|
|||
--[[
|
||||
LuCI - Lua Configuration Interface
|
||||
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||
|
||||
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("chillispot")
|
||||
|
||||
-- general
|
||||
s1 = m:section(TypedSection, "general")
|
||||
s1.anonymous = true
|
||||
|
||||
s1:option( Flag, "debug" )
|
||||
s1:option( Value, "interval" )
|
||||
s1:option( Value, "pidfile" ).optional = true
|
||||
s1:option( Value, "statedir" ).optional = true
|
||||
|
||||
-- remote config management
|
||||
s2 = m:section(TypedSection, "remoteconfig")
|
||||
s2.anonymous = true
|
||||
|
||||
s2:option( Value, "confusername" )
|
||||
s2:option( Value, "confpassword" )
|
||||
|
||||
|
||||
return m
|
|
@ -0,0 +1,30 @@
|
|||
--[[
|
||||
LuCI - Lua Configuration Interface
|
||||
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||
|
||||
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("chillispot")
|
||||
|
||||
|
||||
-- mac authentication
|
||||
s = m:section(TypedSection, "macauth")
|
||||
s.anonymous = true
|
||||
|
||||
s:option( Flag, "macauth" )
|
||||
s:option( DynamicList, "macallowed" )
|
||||
s:option( Value, "macpasswd" ).optional = true
|
||||
s:option( Value, "macsuffix" ).optional = true
|
||||
|
||||
|
||||
return m
|
|
@ -0,0 +1,65 @@
|
|||
--[[
|
||||
LuCI - Lua Configuration Interface
|
||||
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||
|
||||
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$
|
||||
]]--
|
||||
|
||||
require("luci.sys")
|
||||
require("luci.ip")
|
||||
|
||||
m = Map("chillispot")
|
||||
|
||||
-- tun
|
||||
s1 = m:section(TypedSection, "tun")
|
||||
s1.anonymous = true
|
||||
|
||||
net = s1:option( Value, "net" )
|
||||
for _, route in ipairs(luci.sys.net.routes()) do
|
||||
if route.Iface ~= "lo" and route.Mask ~= "FFFFFFFF" then
|
||||
local netmask = luci.ip.IPv4(route.Mask)
|
||||
if netmask then
|
||||
local netaddr = luci.ip.IPv4(route.Destination, netmask)
|
||||
if netaddr then
|
||||
net:value( netaddr:string() )
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
s1:option( Value, "dynip" ).optional = true
|
||||
s1:option( Value, "statip" ).optional = true
|
||||
|
||||
s1:option( Value, "dns1" ).optional = true
|
||||
s1:option( Value, "dns2" ).optional = true
|
||||
s1:option( Value, "domain" ).optional = true
|
||||
|
||||
s1:option( Value, "ipup" ).optional = true
|
||||
s1:option( Value, "ipdown" ).optional = true
|
||||
|
||||
s1:option( Value, "conup" ).optional = true
|
||||
s1:option( Value, "condown" ).optional = true
|
||||
|
||||
|
||||
-- dhcp config
|
||||
s2 = m:section(TypedSection, "dhcp")
|
||||
s2.anonymous = true
|
||||
|
||||
dif = s2:option( Value, "dhcpif" )
|
||||
for _, nif in ipairs(luci.sys.net.devices()) do
|
||||
if nif ~= "lo" then dif:value(nif) end
|
||||
end
|
||||
|
||||
s2:option( Value, "dhcpmac" ).optional = true
|
||||
s2:option( Value, "lease" ).optional = true
|
||||
|
||||
|
||||
return m
|
|
@ -0,0 +1,64 @@
|
|||
--[[
|
||||
LuCI - Lua Configuration Interface
|
||||
|
||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
||||
|
||||
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("chillispot")
|
||||
|
||||
|
||||
-- uam config
|
||||
s1 = m:section(TypedSection, "uam")
|
||||
s1.anonymous = true
|
||||
|
||||
s1:option( Value, "uamserver" )
|
||||
s1:option( Value, "uamsecret" ).password = true
|
||||
s1:option( Flag, "uamanydns" )
|
||||
s1:option( Value, "uamhomepage" ).optional = true
|
||||
s1:option( Value, "uamlisten" ).optional = true
|
||||
s1:option( Value, "uamport" ).optional = true
|
||||
s1:option( DynamicList, "uamallowed" ).optional = true
|
||||
|
||||
|
||||
-- radius server
|
||||
s2 = m:section(TypedSection, "radius")
|
||||
s2.anonymous = true
|
||||
|
||||
s2:option( Value, "radiusserver1" )
|
||||
s2:option( Value, "radiusserver2" )
|
||||
s2:option( Value, "radiussecret" ).password = true
|
||||
|
||||
s2:option( Value, "radiuslisten" ).optional = true
|
||||
s2:option( Value, "radiusauthport" ).optional = true
|
||||
s2:option( Value, "radiusacctport" ).optional = true
|
||||
|
||||
s2:option( Value, "radiusnasid" ).optional = true
|
||||
s2:option( Value, "radiusnasip" ).optional = true
|
||||
|
||||
s2:option( Value, "radiuscalled" ).optional = true
|
||||
s2:option( Value, "radiuslocationid" ).optional = true
|
||||
s2:option( Value, "radiuslocationname" ).optional = true
|
||||
|
||||
|
||||
-- radius proxy
|
||||
s3 = m:section(TypedSection, "proxy")
|
||||
s3.anonymous = true
|
||||
|
||||
s3:option( Value, "proxylisten" ).optional = true
|
||||
s3:option( Value, "proxyport" ).optional = true
|
||||
s3:option( Value, "proxyclient" ).optional = true
|
||||
ps = s3:option( Value, "proxysecret" )
|
||||
ps.optional = true
|
||||
ps.password = true
|
||||
|
||||
return m
|
259
applications/luci-chillispot/root/etc/config/chillispot
Normal file
259
applications/luci-chillispot/root/etc/config/chillispot
Normal file
|
@ -0,0 +1,259 @@
|
|||
##############################################################################
|
||||
#
|
||||
# Sample ChilliSpot configuration file
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
# General settings
|
||||
config general
|
||||
|
||||
# Enable this flag to include debug information.
|
||||
option debug 0
|
||||
|
||||
# Re-read configuration file at this interval. Will also cause new domain
|
||||
# name lookups to be performed. Value is given in seconds.
|
||||
option interval 3600
|
||||
|
||||
# File to store information about the process id of the program.
|
||||
# The program must have write access to this file/directory.
|
||||
option pidfile /var/run/chilli.pid
|
||||
|
||||
# Directory to use for nonvolatile storage.
|
||||
# The program must have write access to this directory.
|
||||
# This tag is currently ignored
|
||||
#option statedir ./
|
||||
|
||||
|
||||
# Remote configuration management
|
||||
config remoteconfig
|
||||
|
||||
# If confusername is specified together with confpassword chillispot
|
||||
# will at regular intervals specified by the interval option query the
|
||||
# radius server for configuration information.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
option confusername ""
|
||||
|
||||
# If confusername is specified together with confpassword chillispot
|
||||
# will at regular intervals specified by the interval option query the
|
||||
# radius server for configuration information.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
option confpassword ""
|
||||
|
||||
|
||||
# TUN parameters
|
||||
config tun
|
||||
|
||||
# IP network address of external packet data network
|
||||
# Used to allocate dynamic IP addresses and set up routing.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
option net 192.168.182.0/24
|
||||
|
||||
# Dynamic IP address pool
|
||||
# Used to allocate dynamic IP addresses to clients.
|
||||
# If not set it defaults to the net tag.
|
||||
# Do not uncomment this tag unless you are an experienced user!
|
||||
#option dynip 192.168.182.0/24
|
||||
|
||||
# Static IP address pool
|
||||
# Used to allocate static IP addresses to clients.
|
||||
# Do not uncomment this tag unless you are an experienced user!
|
||||
#option statip 192.168.182.0/24
|
||||
|
||||
# Primary DNS server.
|
||||
# Will be suggested to the client.
|
||||
# If omitted the system default will be used.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option dns1 172.16.0.5
|
||||
|
||||
# Secondary DNS server.
|
||||
# Will be suggested to the client.
|
||||
# If omitted the system default will be used.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option dns2 172.16.0.6
|
||||
|
||||
# Domain name
|
||||
# Will be suggested to the client.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
option domain key.chillispot.org
|
||||
|
||||
# Script executed after network interface has been brought up.
|
||||
# Executed with the following parameters: <devicename> <ip address> <mask>
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option ipup /etc/chilli.ipup
|
||||
|
||||
# Script executed after network interface has been taken down.
|
||||
# Executed with the following parameters: <devicename> <ip address> <mask>
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option ipdown /etc/chilli.ipdown
|
||||
|
||||
# Script executed after a user has been authenticated.
|
||||
# Executed with the following parameters: <devicename> <ip address>
|
||||
# <mask> <user ip address> <user mac address> <filter ID>
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option conup /etc/chilli.conup
|
||||
|
||||
# Script executed after a user has disconnected.
|
||||
# Executed with the following parameters: <devicename> <ip address>
|
||||
# <mask> <user ip address> <user mac address> <filter ID>
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option condown /etc/chilli.condown
|
||||
|
||||
|
||||
# DHCP Parameters
|
||||
config dhcp
|
||||
|
||||
# Ethernet interface to listen to.
|
||||
# This is the network interface which is connected to the access points.
|
||||
# In a typical configuration this tag should be set to eth1.
|
||||
option dhcpif eth1
|
||||
|
||||
# Use specified MAC address.
|
||||
# An address in the range 00:00:5E:00:02:00 - 00:00:5E:FF:FF:FF falls
|
||||
# within the IANA range of addresses and is not allocated for other
|
||||
# purposes.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option dhcpmac 00:00:5E:00:02:00
|
||||
|
||||
# Time before DHCP lease expires
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option lease 600
|
||||
|
||||
|
||||
# Radius parameters
|
||||
config radius
|
||||
|
||||
# IP address to listen to
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option radiuslisten 127.0.0.1
|
||||
|
||||
# IP address of radius server 1
|
||||
# For most installations you need to modify this tag.
|
||||
option radiusserver1 rad01.chillispot.org
|
||||
|
||||
# IP address of radius server 2
|
||||
# If you have only one radius server you should set radiusserver2 to the
|
||||
# same value as radiusserver1.
|
||||
# For most installations you need to modify this tag.
|
||||
option radiusserver2 rad02.chillispot.org
|
||||
|
||||
# Radius authentication port
|
||||
# The UDP port number to use for radius authentication requests.
|
||||
# The same port number is used for both radiusserver1 and radiusserver2.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option radiusauthport 1812
|
||||
|
||||
# Radius accounting port
|
||||
# The UDP port number to use for radius accounting requests.
|
||||
# The same port number is used for both radiusserver1 and radiusserver2.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option radiusacctport 1813
|
||||
|
||||
# Radius shared secret for both servers
|
||||
# For all installations you should modify this tag.
|
||||
#option radiussecret testing123
|
||||
|
||||
# Radius NAS-Identifier
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option radiusnasid nas01
|
||||
|
||||
# Radius NAS-IP-Address
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option radiusnasip 127.0.0.1
|
||||
|
||||
# Radius Called-Station-ID
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option radiuscalled 00133300
|
||||
|
||||
# WISPr Location ID. Should be in the format: isocc=<ISO_Country_Code>,
|
||||
# cc=<E.164_Country_Code>,ac=<E.164_Area_Code>,network=<ssid/ZONE>
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option radiuslocationid isocc=us,cc=1,ac=408,network=ACMEWISP_NewarkAirport
|
||||
|
||||
# WISPr Location Name. Should be in the format:
|
||||
# <HOTSPOT_OPERATOR_NAME>,<LOCATION>
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option radiuslocationname ACMEWISP,Gate_14_Terminal_C_of_Newark_Airport
|
||||
|
||||
|
||||
# Radius proxy parameters
|
||||
config proxy
|
||||
|
||||
# IP address to listen to
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option proxylisten 10.0.0.1
|
||||
|
||||
# UDP port to listen to.
|
||||
# If not specified a port will be selected by the system
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option proxyport 1645
|
||||
|
||||
# Client(s) from which we accept radius requests
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option proxyclient 10.0.0.1/24
|
||||
|
||||
# Radius proxy shared secret for all clients
|
||||
# If not specified defaults to radiussecret
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option proxysecret testing123
|
||||
|
||||
|
||||
# Universal access method (UAM) parameters
|
||||
config uam
|
||||
|
||||
# URL of web server handling authentication.
|
||||
option uamserver https://radius.chillispot.org/hotspotlogin
|
||||
|
||||
# URL of welcome homepage.
|
||||
# Unauthenticated users will be redirected to this URL. If not specified
|
||||
# users will be redirected to the uamserver instead.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option uamhomepage http://192.168.182.1/welcome.html
|
||||
|
||||
# Shared between chilli and authentication web server
|
||||
#option uamsecret ht2eb8ej6s4et3rg1ulp
|
||||
|
||||
# IP address to listen to for authentication requests
|
||||
# Do not uncomment this tag unless you are an experienced user!
|
||||
#option uamlisten 192.168.182.1
|
||||
|
||||
# TCP port to listen to for authentication requests
|
||||
# Do not uncomment this tag unless you are an experienced user!
|
||||
#option uamport 3990
|
||||
|
||||
# Comma separated list of domain names, IP addresses or network segments
|
||||
# the client can access without first authenticating.
|
||||
# It is possible to specify this tag multiple times.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#list uamallowed www.chillispot.org
|
||||
#list uamallowed 10.11.12.0/24
|
||||
|
||||
# If this flag is given unauthenticated users are allowed to use
|
||||
# any DNS server.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#uamanydns
|
||||
|
||||
|
||||
# MAC authentication
|
||||
config macauth
|
||||
|
||||
# If this flag is given users will be authenticated only on their MAC
|
||||
# address.
|
||||
# Normally you do not need to enable this flag.
|
||||
option macauth 0
|
||||
|
||||
# List of MAC addresses.
|
||||
# The MAC addresses specified in this list will be authenticated only on
|
||||
# their MAC address.
|
||||
# This tag is ignored if the macauth tag is given.
|
||||
# It is possible to specify this tag multiple times.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#list macallowed 00-0A-5E-AC-BE-51
|
||||
#list macallowed 00-30-1B-3C-32-E9
|
||||
|
||||
# Password to use for MAC authentication.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option macpasswd password
|
||||
|
||||
# Suffix to add to MAC address in order to form the username.
|
||||
# Normally you do not need to uncomment this tag.
|
||||
#option macsuffix suffix
|
Loading…
Reference in a new issue