<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>udp - Hamradio.my</title>
	<atom:link href="https://hamradio.my/tag/udp/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>Amateur Radio, Tech Insights and Product Reviews</description>
	<lastBuildDate>Sat, 31 May 2025 07:06:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://hamradio.my/wp-content/uploads/2026/02/cropped-cropped-image-removebg-preview-3-32x32.png</url>
	<title>udp - Hamradio.my</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>How to Run aprsc APRS-IS Server on FreeBSD</title>
		<link>https://hamradio.my/2025/05/how-to-run-aprsc-aprs-is-server-on-freebsd/</link>
					<comments>https://hamradio.my/2025/05/how-to-run-aprsc-aprs-is-server-on-freebsd/#respond</comments>
		
		<dc:creator><![CDATA[9M2PJU]]></dc:creator>
		<pubDate>Sat, 31 May 2025 07:06:16 +0000</pubDate>
				<category><![CDATA[9M2PJU]]></category>
		<category><![CDATA[amateur radio]]></category>
		<category><![CDATA[APRS]]></category>
		<category><![CDATA[automatic packet reporting system]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[amateuradio]]></category>
		<category><![CDATA[aprsc]]></category>
		<category><![CDATA[APRSIS]]></category>
		<category><![CDATA[aprsnetwork]]></category>
		<category><![CDATA[digipeater]]></category>
		<category><![CDATA[dualstack]]></category>
		<category><![CDATA[hamradio]]></category>
		<category><![CDATA[igate]]></category>
		<category><![CDATA[networkinfrastructure]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[packetradio]]></category>
		<category><![CDATA[radiooperator]]></category>
		<category><![CDATA[rfcommunications]]></category>
		<category><![CDATA[serverconfiguration]]></category>
		<category><![CDATA[systemadmin]]></category>
		<category><![CDATA[TCP]]></category>
		<category><![CDATA[udp]]></category>
		<guid isPermaLink="false">https://hamradio.my/?p=7460</guid>

					<description><![CDATA[<p>Running an APRS-IS server with aprsc on FreeBSD is a powerful way to contribute to the APRS network or run your own regional server. Below I’ll walk you through a solid example configuration based on a working aprsc.conf file with explanations for each section. Understanding the aprsc.conf File Here’s a typical aprsc.conf you might use [&#8230;]</p>
<p>The post <a href="https://hamradio.my/2025/05/how-to-run-aprsc-aprs-is-server-on-freebsd/">How to Run aprsc APRS-IS Server on FreeBSD</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">Running an APRS-IS server with <code>aprsc</code> on FreeBSD is a powerful way to contribute to the APRS network or run your own regional server. Below I’ll walk you through a solid example configuration based on a working <code>aprsc.conf</code> file with explanations for each section.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-understanding-the-aprsc-conf-file">Understanding the aprsc.conf File</h2>



<p class="wp-block-paragraph">Here’s a typical <code>aprsc.conf</code> you might use — based on your shared config:</p>



<pre class="wp-block-code"><code># Unique server ID for this APRS server
ServerId   9M2PJU

# Passcode for this server ID, assigned via the APRS passcode generator
PassCode   12345

# Administrator contact info
MyAdmin    "Piju, 9M2PJU"
MyEmail    9m2pju@hamradio.my

### Directories
# Directory to store persistent data, such as state and logs
RunDir /usr/local/piju/aprsc/data

# Log rotation: max file size (MB) and number of files
LogRotate 100 50

### Intervals and timeouts
# How long to wait for upstream server data before switching
UpstreamTimeout 5s

# How long to wait before disconnecting a client due to inactivity
ClientTimeout 48h

### TCP/UDP listeners
# Listen on both IPv4 and IPv6 for various port types

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

Listen "UDP submit" udpsubmit udp :: 8080

### Uplink configuration
# Connect as a full feed to the APRS core network
Uplink "Core rotate" full tcp rotate.aprs.net 10152

### HTTP server for status and uploads
HTTPStatus 0.0.0.0 14501
HTTPUpload 0.0.0.0 8080
HTTPStatusOptions ShowEmail=1
</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-key-configuration-notes">Key Configuration Notes</h2>



<h3 class="wp-block-heading" id="h-serverid-amp-passcode">ServerId &amp; PassCode</h3>



<ul class="wp-block-list">
<li><strong>ServerId</strong> is your unique server identifier visible on APRS networks. Use your callsign or a distinct tag.</li>



<li><strong>PassCode</strong> must match your ServerId and be generated from a trusted APRS passcode generator (e.g., <a href="https://pass.hamradio.my">https://pass.hamradio.my</a>).</li>
</ul>



<h3 class="wp-block-heading" id="h-directories-and-logs">Directories and Logs</h3>



<ul class="wp-block-list">
<li><code>RunDir</code> points to where persistent state files and caches are stored — ensure this directory exists and is writable by the aprsc user.</li>



<li><code>LogRotate</code> helps keep logs manageable, rotating files after hitting size limits.</li>
</ul>



<h3 class="wp-block-heading" id="h-listeners">Listeners</h3>



<ul class="wp-block-list">
<li>You must listen on TCP and UDP ports on both IPv4 (<code>0.0.0.0</code>) and IPv6 (<code>::</code>).</li>



<li>The <code>fullfeed</code> ports (10152) provide a full stream of APRS data (filtered for duplicates).</li>



<li>The <code>igate</code> ports (14580) are for clients like digipeaters, iGates, or APRS software that connect with filters they define.</li>



<li><code>udpsubmit</code> on port 8080 allows lightweight position uploads over UDP.</li>
</ul>



<h3 class="wp-block-heading" id="h-uplink">Uplink</h3>



<ul class="wp-block-list">
<li>Your server connects upstream to the main APRS backbone via <code>rotate.aprs.net</code> on port 10152 with a full feed.</li>



<li>The <code>full</code> keyword means your server both receives and forwards data upstream.</li>
</ul>



<h3 class="wp-block-heading" id="h-http-server">HTTP Server</h3>



<ul class="wp-block-list">
<li><code>HTTPStatus</code> provides a web interface with connection stats and server status on port 14501.</li>



<li><code>HTTPUpload</code> allows users to upload position data via HTTP POST on port 8080.</li>



<li><code>ShowEmail=1</code> optionally shows the admin email on the status page.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-preparing-freebsd-for-aprsc">Preparing FreeBSD for aprsc</h2>



<ol class="wp-block-list">
<li><strong>Create directories:</strong></li>
</ol>



<pre class="wp-block-code"><code>mkdir -p /usr/local/piju/aprsc/data
chown -R aprscuser:wheel /usr/local/piju/aprsc
</code></pre>



<p class="wp-block-paragraph">Replace <code>aprscuser</code> with the user running aprsc.</p>



<ol start="2" class="wp-block-list">
<li><strong>Firewall rules:</strong><br>Allow inbound TCP and UDP on ports 10152, 14580, 8080, and 14501.</li>



<li><strong>Run aprsc:</strong></li>
</ol>



<pre class="wp-block-code"><code>/usr/local/sbin/aprsc -f /path/to/aprsc.conf
</code></pre>



<ol start="4" class="wp-block-list">
<li><strong>Check logs</strong> for errors in <code>/var/log</code> or wherever configured.</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-final-tips">Final Tips</h2>



<ul class="wp-block-list">
<li>Always <strong>generate your PassCode</strong> for your ServerId; don’t guess it.</li>



<li>For production, run aprsc as a dedicated user with limited permissions.</li>



<li>Monitor uptime and client connections via the HTTPStatus web page.</li>



<li>Consider automatic service management with an rc.d script for FreeBSD.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading" id="h-summary">Summary</h2>



<p class="wp-block-paragraph">This config example is verified for current <code>aprsc</code> versions and is fully compatible with FreeBSD&#8217;s networking model. You have IPv4/IPv6 dual-stack listeners, client and uplink connections, and HTTP monitoring — all essentials for a robust APRS-IS server.</p>
<p>The post <a href="https://hamradio.my/2025/05/how-to-run-aprsc-aprs-is-server-on-freebsd/">How to Run aprsc APRS-IS Server on FreeBSD</a> appeared on <a href="https://hamradio.my">Hamradio.my - Amateur Radio, Tech Insights and Product Reviews</a> by <a href="https://hamradio.my/author/9m2pju/">9M2PJU</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://hamradio.my/2025/05/how-to-run-aprsc-aprs-is-server-on-freebsd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
