Skip to content

RickCarlino/gnutella-bun-client

Repository files navigation

GBun

GBun is a small Gnutella client you can run from the terminal or embed in a TypeScript app.

It is built for people who want to:

  • share files from one folder
  • search the Gnutella network
  • inspect results before downloading
  • browse another peer's shared library
  • keep useful state across restarts

GBun can be used in three ways:

  • as an interactive CLI
  • as a scripted CLI runner
  • as a library inside another app

It interoperates with other Gnutella clients, including GTK Gnutella.

Get GBun

If you want a prebuilt executable, download one from the releases page.

If you want to run from source:

bun install
bun run bin/gnutella.ts init --config gnutella.json
bun run bin/gnutella.ts run --config gnutella.json

Guides

Remaining Items

  • Publish as NPM package.
  • Add better download capabilities (progress tracking, SHA verification, multi-peer downloads)
  • Provision signalling cache for WebRTC
  • Gnutella Pointer System (GPS)
  • Chrome extension for Magnet/GPS documents?
  • Improve blocking support (set inclusion check, drop packets from blocked peers, etc..)
  • Improve WebRTC support: Ability to find peers via signalling server, Non-TCP WebRTC peer connections, etc..

About

A modern (2026) and simple Gnutella client written in Typescript.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages