1
0
mirror of https://github.com/craigerl/aprsd.git synced 2026-06-01 21:54:42 -04:00
Commit Graph

1187 Commits

Author SHA1 Message Date
hemna e9e7e6b59f Fixed some pep8 failures. 2025-02-19 16:38:47 -05:00
hemna 52dac7e0a0 Added new PacketFilter mechanism
This patch adds the new PacketFilter class as a generic mechanism
for doing packet filtering during the packet processing phase of
recieving packets.

The packet phases are:
1. reception and stats collection
2. packet processing.

Each phase has a single thread for handling that phase.

Phase 1:
The ARPSDRXThread connects to the APRS client, and gets packets
from the client.  Then it puts the packet through the Collector
for stats and tracking.  Then the packet is put into the packet_queue.

Phase 2:
Packets are pulled from the packet_queue.  Then packets are run
through the PacketFilter mechanism, then processed depending
on the command being run.
By default there is 1 loaded packet filter, which is the
DupePacketFilter which removes "duplicate" packets that aprsd has
already seen and processed within the configured time frame.

This PacketFilter mechanism allows an external extension or plugin
to add/remove packet filters at will depending on the function
of the extension or plugin.   For example, this allows an extension
to get a packet and push the packet into an MQTT queue.
2025-02-19 16:38:47 -05:00
hemna b6da0ebb0d Fix runaway KISS driver on failed connnection
This patch fixes an issue when the KISS connection fails to start
and or goes away during the lifetime of the active connection.
Aprsd would runaway in a tight loop eating 100% cpu.  We now detect
when the underlying asyncio connection has failed and raise, which
induces a sleep in the consumer to try again.
2025-02-15 18:55:58 -05:00
hemna d82a81a2c3 fix for None packet in rx thread
This patch updates the process_packet to ensure when we
try to decode a packet we actually get one.
2025-02-14 11:06:19 -05:00
hemna 6cd7e99713 Remove sleep in main RX thread
We had a bottleneck of pulling down packets as fast as possible,
which was caused by the time.sleep(1) call in the main RX
thread that used to be needed.
2025-02-03 13:27:57 -08:00
hemna 101904ca77 Try and stop chardet logging!
This patch sets settings on the logger to hopefully
stop any chardet logs from leaking into the aprsd logs.
2025-01-30 10:16:09 -08:00
hemna 227ddbf148 Update StatsStore to use existing lock
The base class for StatsStore already creates a lock, use that instead.
2025-01-30 10:07:28 -08:00
hemna 19c12e70f3 Updated packet_list to allow infinit max store
This patch adds logic of setting packet_list_stats_maxlen -1
meaning keep every packet for stats.
2025-01-30 10:04:59 -08:00
hemna 1606585d41 Updated APRSIS driver
This patch adds an override to _connect to set some more
socket keepalive options.
2025-01-30 10:03:14 -08:00
hemna 3b57e7597d Update to build from pypi 2025-01-25 13:41:00 -05:00
hemna 000adef6d4 Prep for 4.0.2 4.0.2 2025-01-25 13:29:04 -05:00
hemna bea481555b update the install from github in Dockerfile 2025-01-25 13:06:53 -05:00
hemna 3c4e200d70 Fix the testing of fortune path 2025-01-25 12:54:18 -05:00
hemna 2f26eb86f4 Added uv.lock 2025-01-25 12:33:29 -05:00
hemna 97ffffc10d Look in multiple places for fortune bin
Update the fortune plugin to look in multiple places for the
fortune binary.  It lives in different places for debian vs alpine.
2025-01-25 12:32:15 -05:00
hemna c1319c3ab8 Removed some verbose output from KISS
This removes some overly verbose output from the KISS driver.
2025-01-25 12:31:27 -05:00
hemna 1f65bbe13a Pass branch in github release_build
Try and pass the build arg BRANCH along with the
building of the image.
2025-01-24 20:50:33 -05:00
hemna 9501a63bd6 Trap for failed parsing of packets on KISS
This adds a try block around the aprslib.parse() for packets incoming
on the KISS interface.  Often times we'll get invalid packets and
this prevents stack dumps to the log.
2025-01-24 17:44:58 -05:00
hemna edeba7f514 Fix for KISS/Fake client drivers
They were both missing a setting of aprsd_keepalive to test
for the logging of the keepalive last time called.
2025-01-24 17:28:59 -05:00
hemna 24f567224c Updated Changelog 4.0.1 2025-01-24 16:46:02 -05:00
hemna e08039431e Update pyproject for README.rst -> md
Updated the pyproject.toml to reflect the name change of
README.rst -> README.md
2025-01-24 16:43:52 -05:00
hemna 934ebd236d Updated ChangeLog for 4.0.0 4.0.0 2025-01-24 16:38:30 -05:00
hemna 4a7a902a33 Updated requirements 2025-01-24 16:35:20 -05:00
github-actions[bot] c556f5126f chore: update AUTHORS [skip ci] 2025-01-24 21:32:14 +00:00
hemna 7e4d4b3e80 Merge pull request #183 from craigerl/refactor-extraction
Migrate admin web out of aprsd.
2025-01-24 13:32:03 -08:00
hemna 375a5e5b34 Updated README.md TOC
Updated the table of contents
2025-01-24 16:23:42 -05:00
hemna cf4a29f0cb reduced logo size 50% 2025-01-23 08:55:06 -05:00
hemna 447451c6c9 Added plugin and extension links
This patch updates the README.md file to link to existing plugins
and extensions.
2025-01-23 08:51:23 -05:00
hemna 0ed648f8f8 Added APRSD logo 2025-01-23 08:23:38 -05:00
hemna ba8acdc584 try making image for webchat 2025-01-22 16:59:14 -05:00
hemna dabb48c6f6 updated healthcheck.sh 2025-01-18 21:25:47 +00:00
hemna 1054999568 added healthcheck.sh 2025-01-17 00:44:43 +00:00
hemna 044ea4cc9a Update the admin and setup.sh for container 2025-01-17 00:40:39 +00:00
hemna 24db814c82 Updated Docker for using alpine and uv 2025-01-15 18:00:12 -05:00
hemna 1cba31f0ac removed pytest from README 2025-01-15 17:55:12 -05:00
hemna 02e29405ce Added star history to readme 2025-01-15 17:52:21 -05:00
hemna cdd297c5bb Added activity to README 2025-01-15 08:18:48 -05:00
hemna e332d7c9d0 some cleanup 3.5.0 2025-01-10 17:09:42 -05:00
hemna e4f82d6054 updated tools in pre-commit 2025-01-10 17:07:45 -05:00
hemna 8d98546055 Added .mailmap 2025-01-07 15:57:19 -05:00
hemna 3ee422b5c9 update to py 3.10 2025-01-07 10:50:22 -05:00
hemna 7702d68cf7 updated action versions 2025-01-07 10:48:12 -05:00
hemna c8735c257a added authors.yml 2025-01-07 10:46:59 -05:00
hemna 3cd9bfa7bb updated docs rst files 2025-01-07 10:22:26 -05:00
hemna 007386505a updated plugin example 2025-01-07 10:22:01 -05:00
hemna 7f2c1d7124 updated requirements 2025-01-07 10:06:02 -05:00
hemna fbec7168eb updated requirements-dev 2025-01-07 10:01:41 -05:00
hemna e3a7e7fb8a updated github workflows 2025-01-07 09:35:39 -05:00
hemna a21432fb24 removed BeautifulSoup usage 2025-01-06 17:27:39 -05:00
hemna 275e33538d Updated README.md
Added links to aprsd-admin-extension and aprsd-webchat-extension
since they are now external.
2025-01-06 17:18:15 -05:00