diff --git a/etc/linspector/linspector.ini b/etc/linspector.ini similarity index 99% rename from etc/linspector/linspector.ini rename to etc/linspector.ini index 5b8ce0b..37df93b 100644 --- a/etc/linspector/linspector.ini +++ b/etc/linspector.ini @@ -46,4 +46,5 @@ speedtest_url = https://go.microsoft.com/fwlink/?Linkid=850641 [services] foo = bar -[tasks] \ No newline at end of file +[tasks] +bar = foo diff --git a/etc/linspector/monitors/.gitkeep b/etc/monitors/.gitkeep similarity index 100% rename from etc/linspector/monitors/.gitkeep rename to etc/monitors/.gitkeep diff --git a/etc/linspector/monitors/network1/.gitkeep b/etc/monitors/network1/.gitkeep similarity index 100% rename from etc/linspector/monitors/network1/.gitkeep rename to etc/monitors/network1/.gitkeep diff --git a/etc/linspector/monitors/network1/gateway.ini b/etc/monitors/network1/gateway.ini similarity index 90% rename from etc/linspector/monitors/network1/gateway.ini rename to etc/monitors/network1/gateway.ini index 4f86c14..623c643 100644 --- a/etc/linspector/monitors/network1/gateway.ini +++ b/etc/monitors/network1/gateway.ini @@ -3,10 +3,10 @@ ; dynamically. identifiers should maybe a checksum of some options so they will not change when small changes to ; the configurations changes and will remain even when doing a fresh install. identifier = cable -service = net.Fritzbox +service = Fritzbox interval = 60 # default delimiters '=' and ':' should be changed to ',' to be more native -notifications = phone.SMS:net.Email +notifications = SMS:Email email_receivers = admin@example.com:fallback@example.com sms_receivers = +329084320984:+39804932409 host = 192.168.0.1 diff --git a/etc/linspector/monitors/network2/.gitkeep b/etc/monitors/network2/.gitkeep similarity index 100% rename from etc/linspector/monitors/network2/.gitkeep rename to etc/monitors/network2/.gitkeep diff --git a/etc/linspector/monitors/network2/gateway.ini b/etc/monitors/network2/gateway.ini similarity index 83% rename from etc/linspector/monitors/network2/gateway.ini rename to etc/monitors/network2/gateway.ini index b636479..05a7449 100644 --- a/etc/linspector/monitors/network2/gateway.ini +++ b/etc/monitors/network2/gateway.ini @@ -1,9 +1,9 @@ [main] identifier = dsl -service = net.Fritzbox +service = Fritzbox interval = 60 # default delimiters '=' and ':' should be changed to ',' to be more native -notifications = phone.SMS:net.Email +notifications = SMS:Email email_receivers = admin@example.com:fallback@example.com sms_receivers = +329084320984:+39804932409 host = 192.168.1.1 diff --git a/etc/linspector/notifications/.gitkeep b/etc/notifications/.gitkeep similarity index 100% rename from etc/linspector/notifications/.gitkeep rename to etc/notifications/.gitkeep diff --git a/etc/linspector/notifications/email.ini b/etc/notifications/email.ini similarity index 100% rename from etc/linspector/notifications/email.ini rename to etc/notifications/email.ini diff --git a/etc/linspector/plugins/.gitkeep b/etc/plugins/.gitkeep similarity index 100% rename from etc/linspector/plugins/.gitkeep rename to etc/plugins/.gitkeep diff --git a/etc/linspector/plugins/httpserver.ini b/etc/plugins/httpserver.ini similarity index 100% rename from etc/linspector/plugins/httpserver.ini rename to etc/plugins/httpserver.ini diff --git a/etc/linspector/services/.gitkeep b/etc/services/.gitkeep similarity index 100% rename from etc/linspector/services/.gitkeep rename to etc/services/.gitkeep diff --git a/etc/linspector/tasks/.gitkeep b/etc/tasks/.gitkeep similarity index 100% rename from etc/linspector/tasks/.gitkeep rename to etc/tasks/.gitkeep diff --git a/linspector/core/configuration.py b/linspector/core/configuration.py index 2f6cc79..de49a2c 100644 --- a/linspector/core/configuration.py +++ b/linspector/core/configuration.py @@ -47,8 +47,9 @@ class Configuration: if not self.__configuration.has_section(target_section): self.__configuration.add_section(target_section) - section_list = glob.glob(configuration_path + '/linspector/' + target_section + '/*') + section_list = glob.glob(configuration_path + '/' + target_section + '/*.ini') for section_file in section_list: + print("-->"+section_file) configuration = configparser.ConfigParser() configuration.read(section_file, 'utf-8') for source_section in configuration.sections(): diff --git a/linspector/notifications/phone/call.py b/linspector/notifications/call.py similarity index 100% rename from linspector/notifications/phone/call.py rename to linspector/notifications/call.py diff --git a/linspector/notifications/net/email.py b/linspector/notifications/email.py similarity index 100% rename from linspector/notifications/net/email.py rename to linspector/notifications/email.py diff --git a/linspector/notifications/net/__init__.py b/linspector/notifications/net/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/notifications/phone/__init__.py b/linspector/notifications/phone/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/notifications/phone/sms.py b/linspector/notifications/sms.py similarity index 100% rename from linspector/notifications/phone/sms.py rename to linspector/notifications/sms.py diff --git a/linspector/notifications/net/twitter.py b/linspector/notifications/twitter.py similarity index 100% rename from linspector/notifications/net/twitter.py rename to linspector/notifications/twitter.py diff --git a/linspector/notifications/net/xmpp.py b/linspector/notifications/xmpp.py similarity index 100% rename from linspector/notifications/net/xmpp.py rename to linspector/notifications/xmpp.py diff --git a/linspector/plugins/backend/__init__.py b/linspector/plugins/backend/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/plugins/frontend/__init__.py b/linspector/plugins/frontend/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/plugins/backend/httpserver.py b/linspector/plugins/httpserver.py similarity index 100% rename from linspector/plugins/backend/httpserver.py rename to linspector/plugins/httpserver.py diff --git a/linspector/plugins/frontend/lish.py b/linspector/plugins/lish.py similarity index 100% rename from linspector/plugins/frontend/lish.py rename to linspector/plugins/lish.py diff --git a/linspector/services/misc/dummy.py b/linspector/services/dummy.py similarity index 100% rename from linspector/services/misc/dummy.py rename to linspector/services/dummy.py diff --git a/linspector/services/net/fritzbox.py b/linspector/services/fritzbox.py similarity index 100% rename from linspector/services/net/fritzbox.py rename to linspector/services/fritzbox.py diff --git a/linspector/services/http/__init__.py b/linspector/services/http/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/services/http_keyword.py b/linspector/services/http_keyword.py new file mode 100644 index 0000000..aa337f0 --- /dev/null +++ b/linspector/services/http_keyword.py @@ -0,0 +1,36 @@ +""" +This file is part of Linspector (https://linspector.org/) +Copyright (c) 2022 Johannes Findeisen + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice (including the next +paragraph) shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS +OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +""" + +from logging import getLogger +from linspector.services.service import Service + +logger = getLogger('linspector') + + +# TODO: check for all required configuration options and set defaults if needed. +class HTTPKeywordService(Service): + + def __init__(self, configuration, environment): + super().__init__(configuration, environment) + self.__configuration = configuration + self.__environment = environment diff --git a/linspector/services/misc/__init__.py b/linspector/services/misc/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/services/net/__init__.py b/linspector/services/net/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/services/net/ping.py b/linspector/services/ping.py similarity index 100% rename from linspector/services/net/ping.py rename to linspector/services/ping.py diff --git a/linspector/services/net/port.py b/linspector/services/port.py similarity index 100% rename from linspector/services/net/port.py rename to linspector/services/port.py diff --git a/linspector/services/misc/random.py b/linspector/services/random.py similarity index 100% rename from linspector/services/misc/random.py rename to linspector/services/random.py diff --git a/linspector/services/misc/shell.py b/linspector/services/shell.py similarity index 100% rename from linspector/services/misc/shell.py rename to linspector/services/shell.py diff --git a/linspector/services/snmp/__init__.py b/linspector/services/snmp/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/services/http/keyword.py b/linspector/services/snmp_get.py similarity index 98% rename from linspector/services/http/keyword.py rename to linspector/services/snmp_get.py index f76947b..64581ca 100644 --- a/linspector/services/http/keyword.py +++ b/linspector/services/snmp_get.py @@ -28,7 +28,7 @@ logger = getLogger('linspector') # TODO: check for all required configuration options and set defaults if needed. -class KeywordService(Service): +class SNMPGetService(Service): def __init__(self, configuration, environment): super().__init__(configuration, environment) diff --git a/linspector/services/net/speedtest.py b/linspector/services/speedtest.py similarity index 100% rename from linspector/services/net/speedtest.py rename to linspector/services/speedtest.py diff --git a/linspector/services/ssh/ssh.py b/linspector/services/ssh.py similarity index 100% rename from linspector/services/ssh/ssh.py rename to linspector/services/ssh.py diff --git a/linspector/services/ssh/__init__.py b/linspector/services/ssh/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/linspector/services/snmp/get.py b/linspector/services/tcpconnect.py similarity index 97% rename from linspector/services/snmp/get.py rename to linspector/services/tcpconnect.py index 93e34dd..f0478b8 100644 --- a/linspector/services/snmp/get.py +++ b/linspector/services/tcpconnect.py @@ -28,7 +28,7 @@ logger = getLogger('linspector') # TODO: check for all required configuration options and set defaults if needed. -class GetService(Service): +class TCPConnectService(Service): def __init__(self, configuration, environment): super().__init__(configuration, environment) diff --git a/linspector/tasks/storage/logger.py b/linspector/tasks/logger.py similarity index 100% rename from linspector/tasks/storage/logger.py rename to linspector/tasks/logger.py diff --git a/linspector/tasks/storage/mariadb.py b/linspector/tasks/mariadb.py similarity index 100% rename from linspector/tasks/storage/mariadb.py rename to linspector/tasks/mariadb.py diff --git a/linspector/tasks/storage/redis.py b/linspector/tasks/redis.py similarity index 100% rename from linspector/tasks/storage/redis.py rename to linspector/tasks/redis.py diff --git a/linspector/tasks/storage/sqlite.py b/linspector/tasks/sqlite.py similarity index 100% rename from linspector/tasks/storage/sqlite.py rename to linspector/tasks/sqlite.py diff --git a/linspector/tasks/storage/__init__.py b/linspector/tasks/storage/__init__.py deleted file mode 100644 index e69de29..0000000