mirror of
https://codeberg.org/prof_x_pvt_ltd/captive.whump.shanti-portal
synced 2024-08-14 22:46:42 +00:00
renamed sample plugin to avoid namespace conflict.
This commit is contained in:
parent
0ac157116b
commit
d7a55dd9e6
4 changed files with 41 additions and 1 deletions
0
plugins/__init__.py
Normal file
0
plugins/__init__.py
Normal file
35
plugins/iptables.py
Normal file
35
plugins/iptables.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Add an iptables rule
|
||||
|
||||
from logging import getLogger, DEBUG, WARN, INFO
|
||||
from portal import logHandler, logFormatter
|
||||
|
||||
# Try to import arping for mac_from_ip(), otherwise use just the client IP.
|
||||
only_ip = False
|
||||
try:
|
||||
from sh import arping
|
||||
except ImportError:
|
||||
only_ip = True
|
||||
pass
|
||||
|
||||
|
||||
def run(arg):
|
||||
environ = arg['environ']
|
||||
|
||||
l = getLogger('plugin_logging')
|
||||
l.addHandler(logHandler)
|
||||
l.setLevel(DEBUG)
|
||||
|
||||
client_ip = environ.get('REMOTE_ADDR')
|
||||
if only_ip:
|
||||
if not client_ip:
|
||||
return {
|
||||
'error': 'Unknown client IP',
|
||||
'status': False
|
||||
}
|
||||
else:
|
||||
client_mac = mac_from_ip(client_ip)
|
||||
|
||||
|
||||
# Try to get the mac address from the IP. Requires arping installed.
|
||||
def mac_from_ip(ip):
|
||||
return
|
Loading…
Add table
Add a link
Reference in a new issue