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    9m2pju@hamradio.my

# 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

You May Have Missed