gnutonium
v1.3.0
Published
Gnutonium is a small Gnutella client for Bun, usable as a CLI or TypeScript library.
Maintainers
Readme
Gnutonium
Gnutonium is a small Bun-based Gnutella client you can run from the terminal or embed in a TypeScript app.
Gnutonium is compatible with major clients like GTK-Gnutella, Phex, Shareaza and others.
It allows you to:
- share files from a downloads folder
- search the Gnutella network
- browse peer's shared files
- manage downloads (pause/resume/cancel)
It can be used in three ways:
- as an interactive CLI
- as a scripted CLI runner
- as a library inside another app
Prebuilt Binaries
Download a prebuilt executable from the releases page.
Older releases use the GnutellaBun name and gnutella-bun-* filenames.
After downloading a Gnutonium build, run the executable directly:
./gnutonium-linux-x64 init --config gnutella.json
./gnutonium-linux-x64 run --config gnutella.jsonInstall From npm
Gnutonium requires Bun, including when installed through npm.
npm install -g gnutonium
gnutonium init --config gnutella.json
gnutonium run --config gnutella.jsonFrom Source
If you want to run from source:
bun install
bun run bin/gnutonium.ts init --config gnutella.json
bun run bin/gnutonium.ts run --config gnutella.jsonLibrary Use
Install the library with npm install gnutonium and run it with Bun. The npm package and CLI command are both named gnutonium. The public TypeScript import is:
import { GnutellaServent, loadDoc } from "gnutonium";
const configPath = "./gnutella.json";
const doc = await loadDoc(configPath);
const node = new GnutellaServent(configPath, doc);
await node.start();
node.sendQuery("hello world");The default config filename remains gnutella.json so existing settings and saved state continue to work. Gnutonium identifies itself on the network with vendor code NIUM.
Guides
- Quickstart: get the CLI working in a few minutes
- CLI Guide: full command and config reference
- Developer Guide: embed Gnutonium in your own TypeScript app
License
Gnutonium is released under the GNU General Public License v3.0. See LICENSE.
