A wxWidget free port of ircddbGateway with some more (not yet all implemented) features ;)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Go to file
Geoffrey Merck ef8e6cbe2e
Addresses #1
4 years ago
.vscode change test config 4 years ago
Data Make it install as systemd service 4 years ago
debian Fix service unit 4 years ago
.gitignore change test config 4 years ago
AMBEData.cpp First commit, basic config 4 years ago
AMBEData.h First commit, basic config 4 years ago
APRSCollector.cpp get rid of wxT macro 4 years ago
APRSCollector.h Add wx Free AprsCollector 4 years ago
APRSWriter.cpp Update APRS toCalls 4 years ago
APRSWriter.h Move string_format to header (as it should be) 4 years ago
APRSWriterThread.cpp get rid of wxT macro 4 years ago
APRSWriterThread.h Clean up 4 years ago
AnnouncementUnit.cpp Add primitive logging 4 years ago
AnnouncementUnit.h First commit, basic config 4 years ago
AudioUnit.cpp Fix Dplus not saying "Linked to" 4 years ago
AudioUnit.h Fix audio unit not compiling 4 years ago
CCITTChecksum.cpp First commit, basic config 4 years ago
CCITTChecksum.h First commit, basic config 4 years ago
CCSCallback.h First commit, basic config 4 years ago
CCSData.cpp get rid of wxT macro 4 years ago
CCSData.h First commit, basic config 4 years ago
CCSProtocolHandler.cpp First commit, basic config 4 years ago
CCSProtocolHandler.h First commit, basic config 4 years ago
CacheManager.cpp First commit, basic config 4 years ago
CacheManager.h First commit, basic config 4 years ago
CallsignList.cpp First commit, basic config 4 years ago
CallsignList.h First commit, basic config 4 years ago
ConnectData.cpp Add primitive logging 4 years ago
ConnectData.h First commit, basic config 4 years ago
DCSHandler.cpp get rid of wxT macro 4 years ago
DCSHandler.h Redo DCs/Dextra from scratch 4 years ago
DCSProtocolHandler.cpp First commit, basic config 4 years ago
DCSProtocolHandler.h First commit, basic config 4 years ago
DCSProtocolHandlerPool.cpp Correct logging 4 years ago
DCSProtocolHandlerPool.h fix crash on DCS unlink 4 years ago
DDData.cpp First commit, basic config 4 years ago
DDData.h First commit, basic config 4 years ago
DDHandler.cpp Add primitive logging 4 years ago
DDHandler.h Add wx Free DDHandler 4 years ago
DExtraHandler.cpp Remove MutexLocker 4 years ago
DExtraHandler.h Redo DCs/Dextra from scratch 4 years ago
DExtraProtocolHandler.cpp Unify names 4 years ago
DExtraProtocolHandler.h Unify names 4 years ago
DExtraProtocolHandlerPool.cpp Fix crash on Dextra unlink 4 years ago
DExtraProtocolHandlerPool.h Unify names 4 years ago
DPlusAuthenticator.cpp fix string comparison and log 4 years ago
DPlusAuthenticator.h Strip wxWidgets out of DPlusAuthenticator 4 years ago
DPlusHandler.cpp Remove MutexLocker 4 years ago
DPlusHandler.h Fixe function declaration 4 years ago
DPlusProtocolHandler.cpp Remove ramianing wxT 4 years ago
DPlusProtocolHandler.h Strip wxWidget out of DPlusProtocolHandler 4 years ago
DPlusProtocolHandlerPool.cpp Fix crash when unlinking dplus 4 years ago
DPlusProtocolHandlerPool.h Handle DPlsu the same way has DCS and Dextra 4 years ago
DStarDefines.h Add wx Free RepeaterHandler 4 years ago
DStarGatewayApp.cpp Add XLX Downloader 4 years ago
DStarGatewayApp.h First commit, basic config 4 years ago
DStarGatewayConfig.cpp Make sur dplus login is uppercase 4 years ago
DStarGatewayConfig.h Add XLX options 4 years ago
DStarGatewayDefs.h rename config file 4 years ago
DStarGatewayStatusData.cpp Add DstarGatewayStatusData (wx free) 4 years ago
DStarGatewayStatusData.h Add DstarGatewayStatusData (wx free) 4 years ago
DStarGatewayThread.cpp get rid of wxT macro 4 years ago
DStarGatewayThread.h Contineu implementation of config and main thread 4 years ago
DTMF.cpp First commit, basic config 4 years ago
DTMF.h First commit, basic config 4 years ago
DVTOOLFileReader.cpp First commit, basic config 4 years ago
DVTOOLFileReader.h First commit, basic config 4 years ago
Defs.h Move config structs back to DStarGatwayConfig.h 4 years ago
DummyRepeaterProtocolHandler.cpp Add primitive logging 4 years ago
DummyRepeaterProtocolHandler.h Add DummyRepeater protocol handler (wx free) 4 years ago
EchoUnit.cpp Add primitive logging 4 years ago
EchoUnit.h First commit, basic config 4 years ago
G2Handler.cpp get rid of wxT macro 4 years ago
G2Handler.h Use original G4KLX G2 Handler 4 years ago
G2ProtocolHandler.cpp Add primitive logging 4 years ago
G2ProtocolHandler.h First commit, basic config 4 years ago
GatewayCache.cpp First commit, basic config 4 years ago
GatewayCache.h First commit, basic config 4 years ago
HBRepeaterProtocolHandler.cpp get rid of wxT macro 4 years ago
HBRepeaterProtocolHandler.h Add HBRepeaterController (wx free) 4 years ago
HeaderData.cpp First commit, basic config 4 years ago
HeaderData.h First commit, basic config 4 years ago
HeaderLogger.cpp Fix garbage in Headers.log 4 years ago
HeaderLogger.h Add wx Free Headers Logger 4 years ago
HeardData.cpp First commit, basic config 4 years ago
HeardData.h First commit, basic config 4 years ago
HostFile.cpp Fix crash on empty string 4 years ago
HostFile.h Add HostFile (wx Free) 4 years ago
IRCApplication.h First commit, basic config 4 years ago
IRCClient.cpp Add primitive logging 4 years ago
IRCClient.h First commit, basic config 4 years ago
IRCDDB.cpp First commit, basic config 4 years ago
IRCDDB.h First commit, basic config 4 years ago
IRCDDBApp.cpp More mutex clean up 4 years ago
IRCDDBApp.h First commit, basic config 4 years ago
IRCDDBClient.cpp Add primitive logging 4 years ago
IRCDDBClient.h First commit, basic config 4 years ago
IRCDDBMultiClient.cpp Update copyright 4 years ago
IRCDDBMultiClient.h Update copyright 4 years ago
IRCMessage.cpp Update copyright 4 years ago
IRCMessage.h Update copyright 4 years ago
IRCMessageQueue.cpp Update copyright 4 years ago
IRCMessageQueue.h Update copyright 4 years ago
IRCProtocol.cpp Update copyright 4 years ago
IRCProtocol.h Update copyright 4 years ago
IRCReceiver.cpp Update copyright 4 years ago
IRCReceiver.h Update copyright 4 years ago
IcomRepeaterProtocolHandler.cpp Add primitive logging 4 years ago
IcomRepeaterProtocolHandler.h Removed remaining wxUint16 4 years ago
LICENSE First commit, basic config 4 years ago
Log.cpp Add primitive logging 4 years ago
Log.h Add primitive logging 4 years ago
Makefile Add XLX Downloader 4 years ago
PollData.cpp First commit, basic config 4 years ago
PollData.h First commit, basic config 4 years ago
README.md screw it, use absolute urls 4 years ago
ReflectorCallback.h First commit, basic config 4 years ago
RemoteHandler.cpp Add primitive logging 4 years ago
RemoteHandler.h Add Remote handler 4 years ago
RemoteLinkData.cpp First commit, basic config 4 years ago
RemoteLinkData.h First commit, basic config 4 years ago
RemoteProtocolHandler.cpp get rid of wxT macro 4 years ago
RemoteProtocolHandler.h Add Remote handler 4 years ago
RemoteRepeaterData.cpp First commit, basic config 4 years ago
RemoteRepeaterData.h First commit, basic config 4 years ago
RemoteUser.cpp First commit, basic config 4 years ago
RemoteUser.h First commit, basic config 4 years ago
RepeaterCache.cpp First commit, basic config 4 years ago
RepeaterCache.h First commit, basic config 4 years ago
RepeaterCallback.h First commit, basic config 4 years ago
RepeaterHandler.cpp Handle XLX properly 4 years ago
RepeaterHandler.h Add wx Free RepeaterHandler 4 years ago
RepeaterProtocolHandler.h First commit, basic config 4 years ago
RepeaterProtocolHandlerFactory.cpp Add some verbosity 4 years ago
RepeaterProtocolHandlerFactory.h Complete loading of config and starting of thread 4 years ago
RingBuffer.h Remove MutexLocker 4 years ago
SHA256.cpp First commit, basic config 4 years ago
SHA256.h First commit, basic config 4 years ago
SlowDataEncoder.cpp First commit, basic config 4 years ago
SlowDataEncoder.h First commit, basic config 4 years ago
StatusData.cpp First commit, basic config 4 years ago
StatusData.h First commit, basic config 4 years ago
StringUtils.h get rid of wxT macro 4 years ago
TCPReaderWriterClient.cpp Add primitive logging 4 years ago
TCPReaderWriterClient.h First commit, basic config 4 years ago
TextCollector.cpp First commit, basic config 4 years ago
TextCollector.h First commit, basic config 4 years ago
TextData.cpp First commit, basic config 4 years ago
TextData.h First commit, basic config 4 years ago
Thread.cpp Clean up 4 years ago
Thread.h Clean up 4 years ago
Timer.cpp First commit, basic config 4 years ago
Timer.h First commit, basic config 4 years ago
UDPReaderWriter.cpp Adjust error reporting 4 years ago
UDPReaderWriter.h Update UDPWriter to work with mobilegps 4 years ago
UserCache.cpp First commit, basic config 4 years ago
UserCache.h First commit, basic config 4 years ago
Utils.cpp Add primitive logging 4 years ago
Utils.h Add swap endian 4 years ago
Version.h Bump version number 4 years ago
VersionUnit.cpp Change product name 4 years ago
VersionUnit.h First commit, basic config 4 years ago
XLXHostsFileDownloader.cpp Add XLX Downloader 4 years ago
XLXHostsFileDownloader.h Add XLX Downloader 4 years ago
example.cfg use correct XLX Url 4 years ago

README.md

1. Introduction

This is a port of G4KLX Jonathan Naylor's ircddbGateway. It is wxWidgets free and has minimal dependencies to boost (header libs only), libconfig++ and libcurl

2. Current State

2.1. Code sanity

The current code is working, yet ugly IMHO as it is a mix of C and C++ of various ages.

The code has also been amended to no longer rely on compiler defines for paths like log or data. These can be set in configuration file.

Quite a few classes are more or less copy/paste from each other some sanitization by using base classes or template classes would greatly improve code maintainibility.

2.2. Code Credit

2.3. Features

All the features found in ircddbGateway are supposed to be working. I have mixed feelings about putting these back in or not.

Features that where left out :

  • CCS: is still being used? I always considered this as trojan horse to push some DMR Agenda into DStar an more or les a burdain to use. Call sign routing is by far more flexible and superior.
  • Starnet: You might consider running Smart Group Server XL from a dedicated computer instead.
  • Announcement: same can be achieved using transmitd.
  • APRSGateway capability: I would prefer to have some sort of TCP "APRS-IS proxy" program sitting between the program and the APRS server, thus keeping the ability to directly connect to APRS-IS or not.
  • Mobile APRS: Code has been ported, yet I am targeting repeaters so low priority.

3. Building and installing

3.1. Get latest stable code

From inside the already cloned repository run following commands

git fetch --tags
latestTag=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout $latestTag

3.2. Prerequisites and dependencies

Before first time building you need to install dependencies and prerequisites

apt install build-essential libconfig++-dev libcurl4-openssl-dev libboost-dev

3.3. Building

make

3.4. Installing

The program is meant to run as a systemd service. All bits an pieces are provided.

sudo make install

3.5. Configuring

After installing you have to edit the configuration file. If you went with default paths, the config file is located in /usr/local/etc/dstargateway.cfg The syntax is libconfig syntax, keep in my mind that configuration keys are case sensitive. When done with configuration, the daemon will be started automatically on boot. To manual start and stop it use the usual systemd commands

sudo systemctl start dstargateway.service
sudo systemctl stop dstargateway.service

4. Contributing

4.1. Work Flow

I Use Git flow as my workflow. PR are welcome and shall be done against the develop branch and follow the Git Flow branch naming rules.

5. Version History

5.1. v0.2

  • [bugfix] ircDDBFreeze when repeater not found (#1)
  • Code sanitization

5.2. v0.1

First working version

Powered by TurnKey Linux.