Go to file
2021-03-29 20:31:40 +01:00
documentation Updated 2021-03-29 18:05:35 +01:00
img Updated PNG 2021-03-26 21:22:13 +00:00
systemd Added systemd-startup-script and short description how to install this 2021-03-20 10:27:16 +00:00
deny.db Update deny.db 2021-03-23 09:59:16 +01:00
LICENSE Initial commit 2021-03-19 21:11:15 +01:00
README.md Sorting included packages in alphabetic order and removed dublettes 2021-03-26 21:29:50 +00:00
requirements.txt Update requirements.txt 2021-03-24 21:26:23 +01:00
YSFReflector Corrected -v output (correct name of reflector) 2021-03-29 20:31:40 +01:00
YSFReflector.ini Updated filtering and API 2021-03-29 21:06:18 +02:00

pYSFReflector

This is a YSF Reflector implemented in python3, mainly compatible with g4klx reflector.

Additional Features

Enhanced Blocking List

With the enhanced blocking list you are able to mute calls based on

  • callsign of sender
  • callsign of gateway used
  • ip-address of gateway

Blocking On Regular Expression Callsign Check

It is also possible to use (by default enabled in the YSFReflector.ini) a callsign check based on a regular expression to check the callsign plausibility in callsign-format and length.

The result of this check can be overdriven by a whitelist-entry in the blocklist (for example: N0CALL is blocked by default by this expression but could be allowed for special bridging situations).

Muting Matrix

Here you see a matrix documenting the behavior of the blocking-lists and configuration of regular expression (RE)-check:

Muting-Matrix

Within this table following descriptions for the cell-values should help understanding the table:

  • X: Any value
  • YES: set and matches with callsign/gateway/ip-address
  • NO: not set
  • 1: check via RE enabled, normal operation
  • 0: check via RE disabled, but passes everything
  • -1: check via RE disabled, but only pass whitelist

Avoiding Parallel Incomming Transmissions

There is also a functionality implemented that prohibits parallel transmissions that can happen if two senders transmit at the same time. Here the principle 'first-comes-first-serves' is realized, so the second station in time will just be muted to not disturb the audio.

Easy Installation And Upgrade

Depending on your used operating system and python3-installation you just have to take care that following libraries are installed:

  • bisect
  • configparser
  • datetime
  • os
  • queue
  • re
  • signal
  • socket
  • struct
  • sys
  • threading
  • time

In most installations this packages are already installed, otherwise you easily can install them with your system-package-manager (for example Debian: apt) or you use pip3 install -command.

The configuration file (YSFReflector.ini) is based on the origin YSFReflector.ini of G4KLX's YSFReflector but with added new configuration-items. So If you know the old reflector-software - configuring this one would be straight forward.