From 8beb46f55a01311ced032b35ec60b48e40bfa6a6 Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Wed, 20 Sep 2017 21:27:08 +0200 Subject: [PATCH 1/4] edit readme wiki doubles deleted --- README.md | 72 ++++++++++--------------------------------------------- 1 file changed, 12 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index ac3d336..eb8e805 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,10 @@ In der Zukunft wollen wir die Möglichkeit schaffen, codierte Nachrichten zu ent :satellite: Python Script to receive and decode German BOS Information with rtl_fm and multimon-NG :satellite: +#### WICHTIG +**Es wird darauf hingewiesen, dass für die Teilnahme am BOS-Funk nur nach den Technischen Richtlinien der BOS zugelassene Funkanlagen verwendet werden dürfen.** +**Der BOS-Funk ist ein nichtöffentlicher mobiler Landfunk. Privatpersonen gehören nicht zum Kreis der berechtigten Funkteilnehmer.** _(Quelle: TR-BOS)_ + #### Notice: The intercept of the German BOS radio is **strictly prohibited** and will be prosecuted. the use is **only authorized** personnel permitted. The software was developed using the Multimon-NG code, a function in the real operation can not be guaranteed. @@ -23,10 +27,13 @@ The software was developed using the Multimon-NG code, a function in the real op **Please** only use Code from **master**-Branch - thats **the only stable!** +beta-branch is for beta-test of new features + unless you are developer you can use the develop-Branch - may be unstable! ### Features ##### Implemented features: +**list is not complete!** - FMS, ZVEI and POCSAG512/1200/2400 decoding and displaying - Plugin support for easy functional extension - Filtering double alarms with adjustable time and check width @@ -41,30 +48,12 @@ unless you are developer you can use the develop-Branch - may be unstable! - possibility to start plugins asynchron - NMA Error Handler -##### Features for the future: -- more plugins -- other Ideas per Issues please - ### Plugins If you want to code your own Plugin, see `plugins/README.md`. ##### Implemented plugins: - -|Plugin|Function|FMS|ZVEI|POC| -|-----|---------|:-:|:--:|:-:| -|MySQL|insert data into MySQL database|:white_check_mark:|:white_check_mark:|:white_check_mark:| -|httpRequest|send a request with parameter to an URL|:white_check_mark:|:white_check_mark:|:white_check_mark:| -|eMail|send Mails with own text|:white_check_mark:|:white_check_mark:|:white_check_mark:| -|BosMon|send data to BosMon server|:white_check_mark:|:white_check_mark:|:white_check_mark:| -|firEmergency|send data to firEmergency server|:x:|:white_check_mark:|:white_check_mark:| -|jsonSocket|send data as jsonString to a socket server|:white_check_mark:|:white_check_mark:|:white_check_mark:| -|NMA|send data to Notify my Android|:white_check_mark:|:white_check_mark:|:white_check_mark:| - -- for more Information to the plugins see `config.ini` - -##### Plugins for the Future: -- Ideas per Issues please +please look at the wiki page ### Configuration @@ -105,52 +94,15 @@ Take a look into the parser.php for the parsing functions~~ ### Usage -`sudo python boswatch.py -f 85.235M -a FMS ZVEI` -Starts boswatch at frequency 85.235 MHz with the demodulation functions FMS and ZVEI. -Parameter -f/--freq and -a/--demod are required! - -Help to all usable parameters with `sudo python boswatch.py -h` - -``` -usage: boswatch.py [-h] -f FREQ [-d DEVICE] [-e ERROR] -a - {FMS,ZVEI,POC512,POC1200,POC2400} - [{FMS,ZVEI,POC512,POC1200,POC2400} ...] [-s SQUELCH] [-v] - -optional arguments: - -h, --help show this help message and exit - -f FREQ, --freq FREQ Frequency you want to listen - -d DEVICE, --device DEVICE Device you want to use (Check with rtl_test) - -e ERROR, --error ERROR Frequency-Error of your device in PPM - -a {FMS,ZVEI,POC512,POC1200,POC2400} [{FMS,ZVEI,POC512,POC1200,POC2400} ...], - --demod {FMS,ZVEI,POC512,POC1200,POC2400} [{FMS,ZVEI,POC512,POC1200,POC2400} ...] - Demodulation functions - -s SQUELCH, --squelch SQUELCH level of squelch - -u, --usevarlog Use '/var/log/boswatch' for logfiles instead of subdir 'log' in BOSWatch directory - -v, --verbose Shows more information - -q, --quiet Shows no information. Only logfiles -``` - +please look at the wiki page ### Installation -Please follow the instructions written down in the wiki: - -https://github.com/Schrolli91/BOSWatch/wiki - -You just need to download a single file since the installer manages the whole process except the installation of a webserver and a database. +please look at the wiki page If you want to use BOSWatch as a daemon, you have to set your configuration in `service/boswatch.sh` and copy it to `/etc/init.d`. Then you can start BOSWatch with `sudo /etc/init.d/boswatch.sh start`. For configuration-details see `service/README.md`. -### Requirements -- RTL_SDR (rtl_fm) -- Multimon-NG -- Python Support -- MySQL Connector for Python (for MySQL-plugin) - -Thanks to smith_fms and McBo from Funkmeldesystem.de - Forum for Inspiration and Groundwork! - - -### Code your own Plugin -See `plugins/README.md` +##### Big thanks +to smith_fms and McBo from Funkmeldesystem.de - Forum for Inspiration and Groundwork! From 2f3817c64fc738f4aa3d6d3a8f5a91e7779e6001 Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Thu, 21 Sep 2017 13:16:42 +0200 Subject: [PATCH 2/4] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e997ab7..e6c0eae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -### __[Unreleased]__ +### __[v2.2.3]__ - unreleased ##### Added ##### Changed ##### Deprecated @@ -29,7 +29,7 @@ Zum schreiben des Changelog's siehe: http://keepachangelog.com/de/1.0.0/ -### __[Unreleased]__ +### __[version]__ - date ##### Added ##### Changed ##### Deprecated From 167c0b90f308ad468bfdfe91f965c23ccbce0e74 Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Fri, 22 Sep 2017 06:33:29 +0200 Subject: [PATCH 3/4] wildcard params harmonized in config --- config/config.template.ini | 157 +++++++++++++------------------------ 1 file changed, 53 insertions(+), 104 deletions(-) diff --git a/config/config.template.ini b/config/config.template.ini index d943faf..d1a21e1 100644 --- a/config/config.template.ini +++ b/config/config.template.ini @@ -171,36 +171,18 @@ tableSIG = bos_signal # multiple URLs can be separated by comma -# you can use the following wildcards in your URL as GET params: +# you can use the wildcards in your URL as GET params: # http://en.wikipedia.org/wiki/Query_string -# %FMS% = FMS Code -# %STATUS% = FMS Status -# %DIR% = Direction of the telegram (0/1) -# %DIRT% = Direction of the telegram (Text-String) -# %TSI% = Tactical Short Information (I-IV) -# %DESCR% = Description from csv-file -# %TIME% = Time (by script) -# %DATE% = Date (by script) +#Wildcards can be used, see end of the file! #fms_url = http://www.google.de?code=%FMS%&stat=%STATUS% fms_url = -# %ZVEI% = ZVEI 5-tone Code -# %DESCR% = Description from csv-file -# %TIME% = Time (by script) -# %DATE% = Date (by script) +#Wildcards can be used, see end of the file! #zvei_url = http://www.google.de?zvei=%ZVEI% zvei_url = -# %RIC% = POCSAG RIC -# %FUNC% = POCSAG function/Subric (1-4) -# %FUNCCHAR% = POCSAG function/Subric as character (a-d) -# %FUNCTEXT% = POCSAG function/Subric static massage definded in POCSAG section -# %MSG% = Message of the POCSAG telegram -# %BITRATE% = Bitrate of the POCSAG telegram -# %DESCR% = Description from csv-file -# %TIME% = Time (by script) -# %DATE% = Date (by script) +#Wildcards can be used, see end of the file! #poc_url = http://www.google.de?ric=%RIC%&subric=%FUNC%&msg=%MSG% poc_url = @@ -225,42 +207,15 @@ to = user@irgendwo, user2@woanders # normal|urgent|non-urgent priority = urgent -# %FMS% = FMS Code -# %STATUS% = FMS Status -# %DIR% = Direction of the telegram (0/1) -# %DIRT% = Direction of the telegram (Text-String) -# %TSI% = Tactical Short Information (I-IV) -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %BR% = Insert line wrap (only in message) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! fms_subject = FMS: %FMS% fms_message = %DATE% %TIME%: %FMS%%BR%Status: %STATUS% - Direction: %DIRT% - TSI: %TSI% -# %ZVEI% = ZVEI 5-tone Code -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %BR% = Insert line wrap (only in message) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! zvei_subject = Alarm: %ZVEI% zvei_message = %DATE% %TIME%: %ZVEI% -# %RIC% = POCSAG RIC -# %FUNC% = POCSAG function/Subric (1-4) -# %FUNCCHAR% = POCSAG function/Subric als character (a-d) -# %FUNCTEXT% = POCSAG function/Subric static massage definded in POCSAG section -# %MSG% = Message of the POCSAG telegram -# %BITRATE% = Bitrate of the POCSAG telegram -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %BR% = Insert line wrap (only in message) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! poc_subject = Alarm: %RIC%%LPAR%%FUNCCHAR%%RPAR% poc_message = %DATE% %TIME% - %DESCR%: %MSG% @@ -415,36 +370,13 @@ RICforLocationAPIKey = # Required if you want to create a map based on location information received with the above RIC. GoogleAPIKey = -# %FMS% = FMS Code -# %STATUS% = FMS Status -# %DIR% = Direction of the telegram (0/1) -# %DIRT% = Direction of the telegram (Text-String) -# %TSI% = Tactical Short Information (I-IV) -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! FMS_message = %DATE% %TIME%: %FMS% -# %ZVEI% = ZVEI 5-tone Code -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! ZVEI_message = %DATE% %TIME%: %ZVEI% -# %RIC% = POCSAG RIC -# %FUNC% = POCSAG function/Subric (1-4) -# %FUNCCHAR% = POCSAG function/Subric als character (a-d) -# %MSG% = Message of the POCSAG telegram -# %BITRATE% = Bitrate of the POCSAG telegram -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! POC_message = %MSG% @@ -456,36 +388,13 @@ sender = # password from this number password= -# %FMS% = FMS Code -# %STATUS% = FMS Status -# %DIR% = Direction of the telegram (0/1) -# %DIRT% = Direction of the telegram (Text-String) -# %TSI% = Tactical Short Information (I-IV) -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! fms_message = %DATE% %TIME%: %FMS% -# %ZVEI% = ZVEI 5-tone Code -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! zvei_message = %DATE% %TIME%: %ZVEI% -# %RIC% = POCSAG RIC -# %FUNC% = POCSAG function/Subric (1-4) -# %FUNCCHAR% = POCSAG function/Subric als character (a-d) -# %MSG% = Message of the POCSAG telegram -# %BITRATE% = Bitrate of the POCSAG telegram -# %DESCR% = Description, if description-module is used -# %DATE% = Date (by script) -# %TIME% = Time (by script) -# %LPAR% = ( -# %RPAR% = ) +#Wildcards can be used, see end of the file! poc_message = %MSG% @@ -496,3 +405,43 @@ poc_message = %MSG% [template] test1 = testString test2 = 123456 + + +##################### +##### WILDCARDS ##### +##################### + +##### FMS +# %FMS% = FMS Code +# %STATUS% = FMS Status +# %DIR% = Direction of the telegram (0/1) +# %DIRT% = Direction of the telegram (Text-String) +# %TSI% = Tactical Short Information (I-IV) +# %DESCR% = Description, if description-module is used +# %DATE% = Date (by script) +# %TIME% = Time (by script) +# %BR% = Insert line wrap (only in message) +# %LPAR% = ( +# %RPAR% = ) + +##### ZVEI +# %ZVEI% = ZVEI 5-tone Code +# %DESCR% = Description, if description-module is used +# %DATE% = Date (by script) +# %TIME% = Time (by script) +# %BR% = Insert line wrap (only in message) +# %LPAR% = ( +# %RPAR% = ) + +##### POCSAG +# %RIC% = POCSAG RIC +# %FUNC% = POCSAG function/Subric (1-4) +# %FUNCCHAR% = POCSAG function/Subric als character (a-d) +# %MSG% = Message of the POCSAG telegram +# %BITRATE% = Bitrate of the POCSAG telegram +# %DESCR% = Description, if description-module is used +# %DATE% = Date (by script) +# %TIME% = Time (by script) +# %BR% = Insert line wrap (only in message) +# %LPAR% = ( +# %RPAR% = ) From 2d8d5e42d9ff2e756726a5d8b6389f250622db93 Mon Sep 17 00:00:00 2001 From: Bastian Schroll Date: Fri, 22 Sep 2017 16:09:29 +0200 Subject: [PATCH 4/4] edit config file little changes an a new header --- config/config.template.ini | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/config/config.template.ini b/config/config.template.ini index d1a21e1..7a959f2 100644 --- a/config/config.template.ini +++ b/config/config.template.ini @@ -1,6 +1,17 @@ -######################## -# BOSWatch Config File # -######################## + +# ____ ____ ______ __ __ __ +# / __ )/ __ \/ ___/ | / /___ _/ /______/ /_ +# / __ / / / /\__ \| | /| / / __ / __/ ___/ __ \ +# / /_/ / /_/ /___/ /| |/ |/ / /_/ / /_/ /__/ / / / +# /_____/\____//____/ |__/|__/\__,_/\__/\___/_/ /_/ +# German BOS Information Script +# configuration file +# +# The intercept of the German BOS radio is strictly +# prohibited and will be prosecuted. +# The use is only authorized personnel permitted! +# + [BOSWatch] # set loglevel for logfile @@ -31,6 +42,7 @@ processAlarmAsync = 0 # Using RegEx-filter (0 - off | 1 - on) # filter-configuration in section [Filters] +# if you are using the RegEx filter you must add filter rules to forward alarms useRegExFilter = 0 # for double check save the last n IDs @@ -51,6 +63,7 @@ doubleFilter_check_msg = 0 # writes the multimon-ng raw data stream into a text file named mm_raw.txt writeMultimonRaw = 0 + [NMAHandler] # you can use a logging handler for sending logging records to NotifyMyAndroid # enableHandler (0|1) will enable the NMA handler @@ -79,12 +92,14 @@ idDescribed = 0 # Better use RegEX to verify the correct data checkCRC = 0 + [ZVEI] # look-up-table for adding a description # using description (0 - off | 1 - on) # descriptions are loaded from csv/zvei.csv idDescribed = 0 + [POC] # some very simple filters: # Allow only this RICs (empty: allow all, separator ",") @@ -114,16 +129,17 @@ ricd = Unwetter # Usually sent periodically, separated by comma netIdent_ric = 0174760, 1398098 + [Filters] # RegEX Filter Configuration # http://www.regexr.com/ - RegEX Test Tool an Documentation -# No Filter for a Typ/Plugin Combination = all Data pass -# INDIVIDUAL_NAME = TYP;DATAFIELD;PLUGIN;FREQUENZ;REGEX +# If RegEX is enabled - only alloewd data will pass! +# INDIVIDUAL_NAME = TYP;DATAFIELD;PLUGIN;FREQUENZ;REGEX # TYP = the Data Typ (FMS|ZVEI|POC) -# DATAFIELD = the field of the Data Array (see readme.md in plugin folder) +# DATAFIELD = the field of the Data Array (see readme.md in plugin folder) # PLUGIN = the name of the Plugin to call with this Filter (* for all) -# FREQUENZ = the Frequenz to use the Filter (for more SDR Sticks (* for all)) -# REGEX = the RegEX +# FREQUENZ = the Frequenz to use the Filter (for more SDR Sticks (* for all)) +# REGEX = the RegEX # only ZVEI to all plugins with 25### at 85.5MHz #testfilter = ZVEI;zvei;*;85500000;25[0-9]{3} @@ -148,7 +164,7 @@ Pushover = 0 Telegram = 0 yowsup = 0 -# for developing template-module +# for developing - template-module template = 0