How to Set Up aprsc on FreeBSD – Lightweight APRS-IS Server

aprsc

If you’re running FreeBSD and want to set up your own APRS-IS server node, aprsc (APRS Server C) is one of the most efficient and lightweight solutions out there. Itโ€™s designed to serve APRS data to clients, support uplinks to core servers, and even act as a standalone APRS-IS server for your local radio network.

In this guide, we will show you how to install and configure aprsc on FreeBSD using a sample configuration.


๐Ÿงฐ Requirements

  • A FreeBSD 13 or 14 server (VPS or bare-metal)
  • Root or sudo access
  • An APRS-IS passcode (you can generate one here if you know the callsign)
  • Ports 14580 (clients), 10152 (feed), and 8080 (submit) open in your firewall

๐Ÿ› ๏ธ Installing aprsc on FreeBSD

Step 1: Install via pkg

sudo pkg update
sudo pkg install aprsc

Or build from ports if you prefer:

cd /usr/ports/comms/aprsc
sudo make install clean

โš™๏ธ Configuring aprsc

The configuration file lives at:

/usr/local/etc/aprsc.conf

You can start with the example:

sudo cp /usr/local/etc/aprsc.conf.sample /usr/local/etc/aprsc.conf

Hereโ€™s a sample configuration:

# Server Identity
ServerId   9M2PJU
PassCode   12345
MyAdmin    "Piju, 9M2PJU"
MyEmail    [email protected]

# Runtime and Logging
RunDir /var/db/aprsc/data
LogRotate 100 50

# Timeouts
UpstreamTimeout 5s
ClientTimeout 48h

# TCP/UDP Listeners for Feed and Clients
Listen "Full feed" fullfeed tcp :: 10152
Listen ""          fullfeed udp :: 10152
Listen "Full feed" fullfeed tcp 0.0.0.0 10152
Listen ""          fullfeed udp 0.0.0.0 10152

Listen "Client-Defined Filters" igate tcp :: 14580
Listen ""                       igate udp :: 14580
Listen "Client-Defined Filters" igate tcp 0.0.0.0 14580
Listen ""                       igate udp 0.0.0.0 14580

# UDP Submit for digipeaters or local scripts
Listen "UDP submit" udpsubmit udp :: 8080

# Uplink to core APRS-IS servers
Uplink "Core rotate" full tcp rotate.aprs.net 10152

# Web Status Page and HTTP Upload
HTTPStatus 0.0.0.0 14501
HTTPUpload 0.0.0.0 8080
HTTPStatusOptions ShowEmail=1

You can customize:

  • ServerId to your own server callsign
  • PassCode using your own APRS passcode
  • RunDir to a proper path
  • Adjust the Uplink server if you want to peer to a different APRS core

๐Ÿš€ Running aprsc

Enable aprsc at boot:

sudo sysrc aprsc_enable=YES

Start the service:

sudo service aprsc start

Check the status:

sudo service aprsc status

Watch logs:

tail -f /var/log/aprsc.log

๐ŸŒ Accessing Web Interface

You can view the real-time status of your server at:

http://your-server-ip:14501/

This includes:

  • Active connections
  • Traffic stats
  • Uplink status
  • Server version

๐Ÿ”’ Security Tips

  • Use a firewall like pf to restrict access to uplink ports if needed.
  • Consider running behind xinetd for more connection control.
  • Monitor usage and limit abusive IPs via ACLs if your server is public.

โœ… Summary

With aprsc and FreeBSD, you’re now running a robust APRS-IS node! Whether for your iGate, a digipeater gateway, or a club server, this setup is lightweight and reliable.

Feel free to check your server on the APRS network or test with APRS clients like:

  • Xastir
  • YAAC
  • aprsdroid

Post Comment