This is derived from the javAPRSFilter User's Guide.  All commands to javAPRSFilter start with the word filter and then is followed by one or more of the following filter specifications.  For instance, to specify all packets near Dallas Texas plus all NWS bulletins, you would use the following line:

filter r/33/-97/200 t/n

The default filter is not to pass anything in addition to what javAPRSSrvr will pass. So a msgOnlyPorts will pass all messages and nothing else until a filter definition is added. Multiple filter definitions can be setup separated by a single space. If any of the filters find a match the packet is passed.

With javAPRSFilter 3.0, you can prevent the filter from passing certain packets by prefixing the filter parameter with a hyphen (-). This tells the filter to approve any packets that match the include filters except those that match the exclude filters. Standard port functionality such as messaging for IGates is not affected.

For instance, to get all stations within 200 km of me except stations with the prefix of CW, I would use:
filter m/200 -p/CW

javAPRSFilter 3.0 also allows you to use decimal degrees for latitude and longitude.

3.1 added the e & u filters, the radius specification for the t filter, and wildcards for the d filter.  3.1 also added the command "filter default" which resets the filter to the predefined filter for that port.

You can check the version of javAPRSFilter that the server is using by accessing its status page, usually on port 14501 (for instance, ).  The status page is also a good way to verify that all of your filter was accepted.

Below are the available filters:

Parameter Filter Type Description
r/lat/lon/dist Range filter Pass posits and objects within dist km from lat/lon.
lat and lon are signed degrees, i.e. negative for West/South and positive for East/North. Up to 9 range filters can be defined at the same time to allow better coverage.  Messages addressed to stations within the range are also passed.
p/AA/BB/CC... Prefix filter Pass traffic with fromCall that start with
aa or bb or cc...
b/CALL/CALL... Budlist filter Pass all traffic from exact call: call1, call2, ... (* wild card allowed)
o/OBJ/OBJ... Object filter Pass all objects with the exact name of obj1, obj2, ... (* wild card allowed)


Type filter Pass all traffic based on packet type.
One or more types can be defined at the same time, t/otq is a valid definition.

p = Position packets
o = Objects
i = Items
m = Message
n = NWS Weather & Weather Objects
w = Weather
t = Telemetry
q = Query
s = Status
u = User-defined

Note: The weather type filter also passes positions packets for positionless weather packets.

The second format allows putting a radius limit around "call" (station callsign-SSID or object name) for the requested station types.

s/pri/alt/over Symbol filter pri = symbols in primary table
alt = symbols in alternate table
over = overlay character (case sensitive)

For example:
s/->       This will pass all House and Car symbols (primary table)
s//#       This will pass all Digi with or without overlay
s//#/T     This will pass all Digi with overlay of capital T

d/DIGI/DIGI... Digipeater filter The digipeater filter will pass all packets that have been digipeated by a
particular station(s) (the station's call is in the path).  This filter allows the * wildcard.
a/latN/lonW/latS/lonE Area filter The area filter works the same as rang filter but the filter is defined as a box of coordinates. The coordinates can also been seen as upper left coordinate and lower right. Lat/lon are decimal degrees. South and west are negative. Up to 9 area filters can be defined at the same time.
e/CALL/CALL/... Entry station filter This filter passes all packets with the specified callsign-SSID(s) immediately following the q construct.  This allows filtering based on receiving IGate, etc.  Supports * wildcard.
u/UNPROTO/UNPROTO/... Unproto filter This filter passes all packets with the specified destination callsign-SSID(s) (also known as the To call or unproto call).  Supports * wildcard.
q/con/ana q Contruct filter q = q Construct command
con = list of q Construct to pass (case sensitive)
ana = analysis based on q Construct.

I = Pass positions from IGATES identified by qAr or qAR.

For example:
q/C    Pass all traffic with qAC
q/rR   Pass all traffic with qAr or qAR
q//I     Pass all position packets from IGATES identified in other packets by qAr or qAR

m/dist My Range filter This is the same as the range filter except that the center is defined as the last known position of the logged in client.
f/CALL/dist Friend Range filter This is the same as the range filter except that the center is defined as the last known position of call.  Up to 9 friend filters can be defined at the same time.


APRS is a registered trademark of APRS Software and Bob Bruninga,