PageSourceSearch

https://runableapp.github.io/gonewsd/

html runableapp.github.io collected 2026-10-03 09:52:25 UTC 7,927 bytes, 186 lines download raw bytes

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 &copy; 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.