javAPRSSrvr 4.0 and above supports server adjuncts add-ons.
This can be any application, but the primary use foreseen is for it to be used
with a filter (subscription) application. This interface is open to anyone who
wishes to write a server adjunct capability to javAPRSSrvr. Currently
there is one server adjunct available: APRSFilter.
This interface is only used with output restricted ports. The interface
basically works as follows:
For any packets which would normally be dropped going to the client on a
particular port type, a method is now called which will allow the adjunct
software to say "send it to the client anyway". This is known as additive
filtering. For instance, if the adjunct software is configured to filter packets
for a particular region and all messages, the client will see all messages
and associated posits worldwide PLUS all packets originated within the specified
region.
The filtering is done on a connection basis. The sysop can define default
filters for ports via parameters in the config file (see the server adjunct
software manual for details). The client can specify dynamic filters as follows:
Via the login. For instance:
user mycall pass -1 vers testsoft 1.1.1 filter r/36/-75/2400
Via a comment line. For instance:
# filter r/36/-75/2400
Via a sequenced APRS message (message requiring an ack):
MyClient>APRS::SERVER :filter r/36/-75/2400
For the message method to work with most clients, the server's call must be
all upper case or the client must send the message to SERVER. javAPRSSrvr will ack the client's message and send a message to
the client with the result of the setFilter method.
Only the login method is available for Read-only Ports and Filtered History Ports.
Filtering is only one application that this could be used for. This basically
opens up the server to other processing on packets.