1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>gonewsd - Simple NNTP News Server</title> 7 <link rel="icon" type="image/x-icon" href="favicon.ico"> 8 <link rel="stylesheet" href="style.css"> 9</head> 10<body> 11 12<button class="theme-toggle" onclick="toggleTheme()" title="Toggle theme">ð</button> 13<a 14 href="https://buy.polar.sh/polar_cl_2RRA7HD1Pv9AFP7pAZRg8XDomwZc9WCLfHXaW0hdJZz" 15 class="support-float-btn" 16 data-polar-checkout 17 data-polar-checkout-theme="dark" 18 aria-label="Support this project" 19>â¤ï¸ Support This Project</a> 20 21<header> 22 <div class="emoji-container" id="emojiContainer"></div> 23 <h1>ð° gonewsd</h1> 24 <p class="tagline">A simple, standalone NNTP news server written in Go</p> 25 <div class="hero-graphic" style="height: auto; background: transparent; border: none;"> 26 <img src="gonewsd.webp" alt="gonewsd" style="max-width: 100%; height: auto; border-radius: 16px;"> 27 </div> 28 <a href="https://github.com/runableapp/gonewsd" class="btn github-btn" aria-label="View GitHub repository"> 29 <svg class="github-icon" viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" focusable="false"> 30 <path fill="currentColor" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 31 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52 32 -.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.5-1.07-1.78-.2-3.64 33 -.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82A7.65 7.65 34 0 0 1 8 4.77c.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 35 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 36 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8Z"></path> 37 </svg> 38 <span>View GitHub Repository</span> 39 </a> 40</header> 41 42<div class="container"> 43 44 <section> 45 <h2>ð¡ What is gonewsd?</h2> 46 <p> 47 <strong>gonewsd</strong> is a lightweight, standalone NNTP (Network News Transfer Protocol) server 48 for hosting private newsgroups. It's a Go port of the original 49 <a href="https://github.com/erco77/newsd">newsd</a> by Greg Ercolano. 50 </p> 51 <p> 52 Unlike traditional Usenet servers, gonewsd is designed for private use -- serving one or more 53 newsgroups on your local network or via the internet. Perfect for team discussions, project 54 coordination, or hobbyist communities. 55 </p> 56 </section> 57 58 <section> 59 <h2>ð What is Usenet?</h2> 60 <p> 61 Think of it as <strong>Reddit before the Web even existed</strong>. 62 <a href="https://en.wikipedia.org/wiki/Usenet">Usenet</a> is one of the oldest computer 63 network communication systems -- created in 1979, over a decade before the World Wide Web (1991). 64 It consists of newsgroups -- discussion forums organized by topic -- where users post and read 65 messages using NNTP clients (news readers). 66 </p> 67 <p> 68 At its peak in the late 1990s and early 2000s, Usenet hosted over 100,000 newsgroups with 69 millions of active users worldwide. It was the primary forum for technical discussions, 70 academic collaboration, and online communities before web-based forums took over. 71 </p> 72 <p> 73 While public Usenet has declined with the rise of web forums, social media, and platforms 74 like Reddit, the underlying technology remains remarkably robust and useful: 75 </p> 76 <ul style="margin-left: 1.5rem; margin-top: 0.5rem;"> 77 <li><strong>Decentralized</strong> -- No single point of failure or control</li> 78 <li><strong>Offline-friendly</strong> -- Clients sync and cache messages locally</li> 79 <li><strong>Threaded discussions</strong> -- Native support for conversation threading</li> 80 <li><strong>Efficient</strong> -- Text-based, low bandwidth, works on any connection</li> 81 <li><strong>Private</strong> -- Run your own server for team/community use</li> 82 </ul> 83 </section> 84 85 <section> 86 <h2>⨠Features</h2> 87 <div class="features"> 88 <div class="feature"> 89 <h3>ð Authentication</h3> 90 <p><strong>gonewsd</strong> provides built-in user authentication (SQLite backend) with flexible per-group access controls.</p> 91 </div> 92 <div class="feature"> 93 <h3>ð§ Mail Gateway</h3> 94 <p>Post messages via email using the built-in mail-to-news gateway.</p> 95 </div> 96 <div class="feature"> 97 <h3>ð¦ Static Binary</h3> 98 <p>Written in Go and statically compiled-runs as a single binary, no external dependencies.</p> 99 </div> 100 <div class="feature"> 101 <h3>ð§ Systemd Ready</h3> 102 <p>Includes systemd service template for easy deployment on Linux.</p> 103 </div> 104 <div class="feature"> 105 <h3>ð¥ï¸ Cross-Platform</h3> 106 <p>
106Builds for Linux and macOS (amd64 and arm64).</p> 107 </div> 108 </div> 109 </section> 110 111 <section> 112 <h2>ð Quick Start</h2> 113 114 <h3>Step 1: Get the binaries</h3> 115 <p><strong>ð¥ Option A:</strong> Download pre-built binaries from the 116 <a href="https://github.com/runableapp/gonewsd/releases">Releases</a> page. 117 Extract the zip file for your platform (Linux or macOS). 118 </p> 119 <p><strong>ð§ Option B:</strong> Build from source:</p> 120 <pre><code>git clone https://github.com/runableapp/gonewsd.git 121cd gonewsd 122task build</code></pre> 123 124 <h3>Step 2: Configure and run</h3> 125 <pre><code># Copy and edit config file 126cp gonewsd.conf /etc/gonewsd.conf 127 128# Create a newsgroup 129./bin/gonewsd -c /etc/gonewsd.conf addgroup -group my.discussion -g rw -o r -desc "My discussion group" 130 131# Start the server 132./bin/gonewsd -c /etc/gonewsd.conf</code></pre> 133 134 <h3>Step 3: Connect</h3> 135 <p>Use your favorite NNTP client (Thunderbird, tin, slrn, etc.) to connect to your server.</p> 136 137 <p style="margin-top: 1.5rem;">For detailed installation instructions, see the 138 <a href="https://github.com/runableapp/gonewsd/blob/main/manuals/INSTALL.md">Installation Guide</a>. 139 </p> 140 </section> 141 142 143 <section> 144 <h2>ð Documentation</h2> 145 <p> 146 Full documentation is available in the 147 <a href="https://github.com/runableapp/gonewsd/tree/main/manuals">manuals/</a> directory: 148 </p> 149 <ul style="margin-left: 1.5rem; margin-top: 0.5rem;"> 150 <li><a href="https://github.com/runableapp/gonewsd/blob/main/manuals/INSTALL.md">INSTALL.md</a> -- Installation and setup</li> 151 <li><a href="https://github.com/runableapp/gonewsd/blob/main/manuals/CONFIGURATION.md">CONFIGURATION.md</a> -- Configuration reference</li> 152 <li><a href="https://github.com/runableapp/gonewsd/blob/main/manuals/ACL_DB.md">ACL_DB.md</a> -- Auth database schema</li> 153 </ul> 154 <p style="margin-top: 1rem;"> 155 Run <code>gonewsd help</code> for built-in command reference. 156 </p> 157 </section> 158 159 <section style="text-align: center;"> 160 <h2>â¤ï¸ Support This Open Source Project</h2> 161 <p>
161If gonewsd is useful for you, your support helps keep development going.</p> 162 <a 163 href="https://buy.polar.sh/polar_cl_2RRA7HD1Pv9AFP7pAZRg8XDomwZc9WCLfHXaW0hdJZz" 164 class="btn" 165 data-polar-checkout 166 data-polar-checkout-theme="dark" 167 aria-label="Support this open source project" 168 >Support This Open Source Project</a> 169 </section> 170 171</div> 172 173<footer> 174 <img src="runable-dad-frame.webp" alt="Runable.app" style="display: block; margin: 0 auto 1.5rem auto; max-width: 150px;"> 175 <p> 176 Copyright © 2026 <a href="https://runable.app">Runable.app</a>. 177 <br> 178 Licensed under <a href="https://github.com/runableapp/gonewsd/blob/main/LICENSE">GPL-3.0</a>. 179 </p> 180</footer> 181
182<script src="script.js"></script>
vendor: 1 bytes, line 182
182
183<script src="https://cdn.jsdelivr.net/npm/@polar-sh/[email protected]/dist/embed.global.js" defer data-auto-init></script>
183 184 185</body> 186</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.