mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 19:52:06 +00:00
link to config that exists, py3 in capture-wsgi.py, get systemd unit file for admin-console in place
This commit is contained in:
parent
30e726dc04
commit
f699f206b5
3 changed files with 33 additions and 31 deletions
|
@ -43,13 +43,6 @@
|
||||||
state: link
|
state: link
|
||||||
when: captiveportal_enabled | bool
|
when: captiveportal_enabled | bool
|
||||||
|
|
||||||
- name: Enable nginx to service the sites in checkurls list
|
|
||||||
file:
|
|
||||||
src: /etc/nginx/sites-available/capture.conf
|
|
||||||
path: /etc/nginx/sites-enabled/capture.conf
|
|
||||||
state: link
|
|
||||||
when: captiveportal_enabled | bool
|
|
||||||
|
|
||||||
- name: Copy unit file for uWSGI service
|
- name: Copy unit file for uWSGI service
|
||||||
template:
|
template:
|
||||||
src: roles/captiveportal/templates/uwsgi-captiveportal.service
|
src: roles/captiveportal/templates/uwsgi-captiveportal.service
|
||||||
|
@ -71,7 +64,16 @@
|
||||||
shell: /usr/sbin/iiab-divert-to-nginx
|
shell: /usr/sbin/iiab-divert-to-nginx
|
||||||
|
|
||||||
- name: Run script to generate nginx servers from checkurls input list
|
- name: Run script to generate nginx servers from checkurls input list
|
||||||
shell: /usr/sbin/iiab-make-cp-servers.py
|
command: /usr/sbin/iiab-make-cp-servers.py
|
||||||
|
args:
|
||||||
|
creates: /etc/nginx/sites-available/capture.conf
|
||||||
|
|
||||||
|
- name: Enable nginx to service the sites in checkurls list
|
||||||
|
file:
|
||||||
|
src: /etc/nginx/sites-available/capture.conf
|
||||||
|
path: /etc/nginx/sites-enabled/capture.conf
|
||||||
|
state: link
|
||||||
|
when: captiveportal_enabled | bool
|
||||||
|
|
||||||
- name: Install nginx's captiveportal.conf from template if captiveportal_enabled
|
- name: Install nginx's captiveportal.conf from template if captiveportal_enabled
|
||||||
template:
|
template:
|
||||||
|
|
|
@ -58,7 +58,7 @@ logger.debug("")
|
||||||
logger.debug('##########################################')
|
logger.debug('##########################################')
|
||||||
# what language are we speaking?
|
# what language are we speaking?
|
||||||
lang = os.environ['LANG'][0:2]
|
lang = os.environ['LANG'][0:2]
|
||||||
logger.debug('speaking: %s'%lang)
|
logger.debug('speaking: {}'.format(lang))
|
||||||
|
|
||||||
def tstamp(dtime):
|
def tstamp(dtime):
|
||||||
'''return a UNIX style seconds since 1970 for datetime input'''
|
'''return a UNIX style seconds since 1970 for datetime input'''
|
||||||
|
@ -111,8 +111,7 @@ def timeout_info(ip):
|
||||||
def is_inactive(ip):
|
def is_inactive(ip):
|
||||||
ts=tstamp(datetime.datetime.now(tzutc()))
|
ts=tstamp(datetime.datetime.now(tzutc()))
|
||||||
current_ts, last_ts, send204after = timeout_info(ip)
|
current_ts, last_ts, send204after = timeout_info(ip)
|
||||||
logger.debug("In is_inactive. current_ts:%s. last_ts:%s. send204after:%s"%\
|
logger.debug("In is_inactive. current_ts:{}. last_ts:{}. send204after:{}".format(current_ts,last_ts,send204after,))
|
||||||
(current_ts,last_ts,send204after,))
|
|
||||||
if not last_ts:
|
if not last_ts:
|
||||||
return True
|
return True
|
||||||
if ts - int(last_ts) > INACTIVITY_TO:
|
if ts - int(last_ts) > INACTIVITY_TO:
|
||||||
|
@ -124,7 +123,7 @@ def is_after204_timeout(ip):
|
||||||
ts=tstamp(datetime.datetime.now(tzutc()))
|
ts=tstamp(datetime.datetime.now(tzutc()))
|
||||||
current_ts, last_ts, send204after = timeout_info(ip)
|
current_ts, last_ts, send204after = timeout_info(ip)
|
||||||
if send204after == 0: return False
|
if send204after == 0: return False
|
||||||
logger.debug("function: is_after204_timeout send204after:%s current: %s"%(send204after,ts,))
|
logger.debug("function: is_after204_timeout send204after:{} current: {}".format((send204after,ts,)))
|
||||||
if not send204after:
|
if not send204after:
|
||||||
return False
|
return False
|
||||||
if ts - int(send204after) > 0:
|
if ts - int(send204after) > 0:
|
||||||
|
@ -182,7 +181,7 @@ def android(environ, start_response):
|
||||||
if system_version is None:
|
if system_version is None:
|
||||||
return put_302(environ, start_response)
|
return put_302(environ, start_response)
|
||||||
if system_version[0:1] < '6':
|
if system_version[0:1] < '6':
|
||||||
logger.debug("system < 6:%s"%system_version)
|
logger.debug("system < 6:{}".format(system_version))
|
||||||
location = '/android_splash'
|
location = '/android_splash'
|
||||||
set_204after(ip,0)
|
set_204after(ip,0)
|
||||||
elif system_version[:1] >= '7':
|
elif system_version[:1] >= '7':
|
||||||
|
@ -291,7 +290,7 @@ def banner(environ, start_response):
|
||||||
status = '200 OK'
|
status = '200 OK'
|
||||||
headers = [('Content-type', 'image/png')]
|
headers = [('Content-type', 'image/png')]
|
||||||
start_response(status, headers)
|
start_response(status, headers)
|
||||||
image = open("%s/js-menu/menu-files/images/iiab_banner6.png"%doc_root, "rb").read()
|
image = open("{}/js-menu/menu-files/images/iiab_banner6.png".format(doc_root), "rb").read()
|
||||||
return [image]
|
return [image]
|
||||||
|
|
||||||
def bootstrap(environ, start_response):
|
def bootstrap(environ, start_response):
|
||||||
|
@ -299,7 +298,7 @@ def bootstrap(environ, start_response):
|
||||||
status = '200 OK'
|
status = '200 OK'
|
||||||
headers = [('Content-type', 'text/javascript')]
|
headers = [('Content-type', 'text/javascript')]
|
||||||
start_response(status, headers)
|
start_response(status, headers)
|
||||||
boot = open("%s/common/js/bootstrap.min.js"%doc_root, "rb").read()
|
boot = open("{}/common/js/bootstrap.min.js".format(doc_root), "rb").read()
|
||||||
return [boot]
|
return [boot]
|
||||||
|
|
||||||
def jquery(environ, start_response):
|
def jquery(environ, start_response):
|
||||||
|
@ -307,7 +306,7 @@ def jquery(environ, start_response):
|
||||||
status = '200 OK'
|
status = '200 OK'
|
||||||
headers = [('Content-type', 'text/javascript')]
|
headers = [('Content-type', 'text/javascript')]
|
||||||
start_response(status, headers)
|
start_response(status, headers)
|
||||||
boot = open("%s/common/js/jquery.min.js"%doc_root, "rb").read()
|
boot = open("{}/common/js/jquery.min.js".format(doc_root), "rb").read()
|
||||||
return [boot]
|
return [boot]
|
||||||
|
|
||||||
def bootstrap_css(environ, start_response):
|
def bootstrap_css(environ, start_response):
|
||||||
|
@ -315,7 +314,7 @@ def bootstrap_css(environ, start_response):
|
||||||
status = '200 OK'
|
status = '200 OK'
|
||||||
headers = [('Content-type', 'text/css')]
|
headers = [('Content-type', 'text/css')]
|
||||||
start_response(status, headers)
|
start_response(status, headers)
|
||||||
boot = open("%s/common/css/bootstrap.min.css"%doc_root, "rb").read()
|
boot = open("{}/common/css/bootstrap.min.css".format(doc_root), "rb").read()
|
||||||
return [boot]
|
return [boot]
|
||||||
|
|
||||||
def null(environ, start_response):
|
def null(environ, start_response):
|
||||||
|
@ -388,18 +387,18 @@ def application (environ, start_response):
|
||||||
if 'HTTP_X_FORWARDED_FOR' in environ:
|
if 'HTTP_X_FORWARDED_FOR' in environ:
|
||||||
ip = environ['HTTP_X_FORWARDED_FOR'].strip()
|
ip = environ['HTTP_X_FORWARDED_FOR'].strip()
|
||||||
else:
|
else:
|
||||||
data = ['%s: %s\n' % (key, value) for key, value in sorted(environ.items()) ]
|
data = ['{}: {}\n'.format(key, value) for key, value in sorted(environ.items()) ]
|
||||||
#logger.debug("need the correct ip:%s"%data)
|
#logger.debug("need the correct ip:{}".format(data))
|
||||||
ip = environ['REMOTE_ADDR'].strip()
|
ip = environ['REMOTE_ADDR'].strip()
|
||||||
cmd="arp -an %s|gawk \'{print $4}\'" % ip
|
cmd="arp -an {}|gawk \'{print $4}\'".format(ip)
|
||||||
mac = subprocess.check_output(cmd, shell=True)
|
mac = subprocess.check_output(cmd, shell=True)
|
||||||
data = []
|
data = []
|
||||||
data.append("host: %s\n"%environ['HTTP_HOST'])
|
data.append("host: {}\n".format(environ['HTTP_HOST']))
|
||||||
data.append("path: %s\n"%environ['PATH_INFO'])
|
data.append("path: {}\n".format(environ['PATH_INFO']))
|
||||||
data.append("query: %s\n"%environ['QUERY_STRING'])
|
data.append("query: {}\n".format(environ['QUERY_STRING']))
|
||||||
data.append("ip: %s\n"%ip)
|
data.append("ip: {}\n".format(ip))
|
||||||
agent = environ.get('HTTP_USER_AGENT','default_agent')
|
agent = environ.get('HTTP_USER_AGENT','default_agent')
|
||||||
data.append("AGENT: %s\n"%agent)
|
data.append("AGENT: {}\n".format(agent))
|
||||||
logger.debug(data)
|
logger.debug(data)
|
||||||
#print(data)
|
#print(data)
|
||||||
found = False
|
found = False
|
||||||
|
@ -412,7 +411,7 @@ def application (environ, start_response):
|
||||||
sql = "UPDATE users SET current_ts = ? where ip = ?"
|
sql = "UPDATE users SET current_ts = ? where ip = ?"
|
||||||
c.execute(sql,(ts,ip,))
|
c.execute(sql,(ts,ip,))
|
||||||
if c.rowcount == 0:
|
if c.rowcount == 0:
|
||||||
logger.debug("failed UPDATE users SET current_ts = %s WHERE ip = %s"%(ts,ip,))
|
logger.debug("failed UPDATE users SET current_ts = {} WHERE ip = {}".format(ts,ip,))
|
||||||
conn.commit()
|
conn.commit()
|
||||||
ymd=datetime.datetime.today().strftime("%y%m%d-%H%M")
|
ymd=datetime.datetime.today().strftime("%y%m%d-%H%M")
|
||||||
|
|
||||||
|
@ -441,8 +440,8 @@ def application (environ, start_response):
|
||||||
# the js link to home page triggers this ajax url
|
# the js link to home page triggers this ajax url
|
||||||
# mark the sign-in conversation completed, return 204 or Success or Success
|
# mark the sign-in conversation completed, return 204 or Success or Success
|
||||||
ANDROID_TRIGGERED = True
|
ANDROID_TRIGGERED = True
|
||||||
#data = ['%s: %s\n' % (key, value) for key, value in sorted(environ.items()) ]
|
#data = ['{}: {}\n'.format(key, value) for key, value in sorted(environ.items()) ]
|
||||||
#logger.debug("need the correct ip:%s"%data)
|
#logger.debug("need the correct ip:{}".format(data))
|
||||||
logger.debug("function: home_selected. Setting flag to return_204")
|
logger.debug("function: home_selected. Setting flag to return_204")
|
||||||
#print("setting flag to return_204")
|
#print("setting flag to return_204")
|
||||||
set_204after(ip,PORTAL_TO)
|
set_204after(ip,PORTAL_TO)
|
||||||
|
@ -485,7 +484,7 @@ def application (environ, start_response):
|
||||||
environ['PATH_INFO'] == "/gen_204" or\
|
environ['PATH_INFO'] == "/gen_204" or\
|
||||||
environ['HTTP_HOST'] == "connectivitycheck.gstatic.com":
|
environ['HTTP_HOST'] == "connectivitycheck.gstatic.com":
|
||||||
current_ts, last_ts, send204after = timeout_info(ip)
|
current_ts, last_ts, send204after = timeout_info(ip)
|
||||||
logger.debug("current_ts: %s last_ts: %s send204after: %s"%(current_ts, last_ts, send204after,))
|
logger.debug("current_ts: {} last_ts: {} send204after: {}".formmat(current_ts, last_ts, send204after,))
|
||||||
if not last_ts or (ts - int(last_ts) > INACTIVITY_TO):
|
if not last_ts or (ts - int(last_ts) > INACTIVITY_TO):
|
||||||
return android(environ, start_response)
|
return android(environ, start_response)
|
||||||
elif is_after204_timeout(ip):
|
elif is_after204_timeout(ip):
|
||||||
|
@ -504,7 +503,7 @@ def application (environ, start_response):
|
||||||
environ['HTTP_HOST'] == "teredo.ipv6.microsoft.com.nsatc.net":
|
environ['HTTP_HOST'] == "teredo.ipv6.microsoft.com.nsatc.net":
|
||||||
return microsoft(environ, start_response)
|
return microsoft(environ, start_response)
|
||||||
|
|
||||||
logger.debug("executing the default 302 response. [%s"%data)
|
logger.debug("executing the default 302 response. [{}".format(data))
|
||||||
return put_302(environ,start_response)
|
return put_302(environ,start_response)
|
||||||
|
|
||||||
# Instantiate the server
|
# Instantiate the server
|
||||||
|
|
|
@ -25,3 +25,4 @@
|
||||||
- { src: "roles/nginx/templates/server.conf", dest: "/etc/nginx/" }
|
- { src: "roles/nginx/templates/server.conf", dest: "/etc/nginx/" }
|
||||||
- { src: "roles/nginx/templates/nginx.conf", dest: "/etc/nginx/" }
|
- { src: "roles/nginx/templates/nginx.conf", dest: "/etc/nginx/" }
|
||||||
- { src: 'roles/nginx/templates/ports.conf', dest: '/etc/{{ apache_service }}/' , mode: '0644' }
|
- { src: 'roles/nginx/templates/ports.conf', dest: '/etc/{{ apache_service }}/' , mode: '0644' }
|
||||||
|
- { src: 'roles/nginx/templates/uwsgi.unit', dest: '/etc/systemd/system/' , mode: '0644' }
|
||||||
|
|
Loading…
Reference in a new issue