amateur radio
APRS
automatic packet reporting system
freebsd
ham radio
amateuradio, amateurradionetwork, APRS, aprsc, aprsconfiguration, aprsgateway, aprsnetwork, aprsserver, digipeater, freebsd, freebsd server, hamnet, hamradio, hamradiodigital, igate, linuxserver, packetradio, radioserver, radiosetup, tcpip, UHF, VHF
9M2PJU
0 Comments
How to Set Up aprsc on FreeBSD – Lightweight APRS-IS Server
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 callsignPassCode
using your own APRS passcodeRunDir
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