# Install gtk-gnutella with Homebrew, dnf, MacPorts, Nix

Share files in a peer-to-peer (P2P) network. Version 1.3.1 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:gtk-gnutella
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install gtk-gnutella
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gtk-gnutella
```

  Evidence: MacPorts ports tree: net/gtk-gnutella/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- dnf (92%):

```sh
sudo dnf install gtk-gnutella
```

  Evidence: Fedora Rawhide package metadata: gtk-gnutella from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#gtk-gnutella
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gt/gtk-gnutella/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:gtk-gnutella
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/gtk-gnutella>
- **Version:** 1.3.1
- **Source summary:** Share files in a peer-to-peer (P2P) network
- **Homepage:** <https://gtk-gnutella.sourceforge.io>
- **Repository:** <https://github.com/gtk-gnutella/gtk-gnutella>
- **Upstream docs:** <https://gtk-gnutella.sourceforge.io/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://downloads.sourceforge.net/project/gtk-gnutella/gtk-gnutella/1.3.1/gtk-gnutella-1.3.1.tar.xz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gtk-gnutella (cli)
- gtk-gnutella (alias)

## Dependencies

- at-spi2-core
- dbus
- gdk-pixbuf
- gettext
- glib
- gtk+
- harfbuzz
- pango
- pcre2

## Build dependencies

- pkgconf

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.3.1
- Local data: ok
- Upstream repository: https://gtk-gnutella.sourceforge.io
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

gtk-gnutella is a graphical Unix Gnutella servent: a peer-to-peer file-sharing client that combines a GTK interface with a native implementation of the Gnutella protocol. In packaging terms it belongs to the early-2000s class of desktop P2P clients that were useful to users but unusually network-protocol-heavy for a GUI application.

### Project history

The project identifies its long-running authorship as Yann Grossel, Raphael Manfredi, and contributors beginning in 2000. Its public release history shows stable releases by 0.85 in April 2002 and 0.90 in July 2002, already covering GUI configuration, bandwidth management, SHA1/URN search, Gnutella Hash/URN extensions, traffic compression, and automatic bans for abusive servents.

The 2002-2004 releases track the broader evolution of the Gnutella network. Version 0.91 added HTTP/1.1, download swarming, alternate-source collection, Gnutella Web Cache bootstrapping, expert mode, and more detailed packet statistics. Version 0.92 added ultrapeer support, partial-file sharing, PARQ, GGEP handling, vendor-specific messages, and asynchronous DNS for web caches. Version 0.95 described 0.94 as deprecated for Gnutella network health and added dynamic querying, out-of-band query hits, UDP transport, high outdegree behavior, better firewall detection, and large-file support.

The project later moved source hosting to GitHub while keeping the SourceForge site as its main project and documentation surface. Its Git guide documents the public Git repository, the stable master branch, and a devel branch used for testing new features before release.

### Adoption history

gtk-gnutella was adopted as a Unix/Gtk alternative to the better-known Windows-era Gnutella clients, but its release notes show explicit interoperability work with BearShare, LimeWire, Shareaza, Gnutella Web Cache, ultrapeers, and network extensions. The 0.93 release history also lists Debian, Red Hat, SuSE, Mandrake, and Slackware packages or source packages, reflecting the way it circulated through Unix packaging channels as well as upstream tarballs.

The project remained attractive to package maintainers because it was not a wrapper around a proprietary service: it implemented the open Gnutella network stack, shipped source, and exposed many tunables for firewalls, bandwidth, peer mode, downloads, uploads, and network statistics.

### How it is used

A user launches gtk-gnutella, connects to GnutellaNet, searches for files, shares selected local files, and manages downloads and uploads through the GTK interface. The manual describes the first-run experience as network-heavy because the client must discover peers; once enough nodes are found it reports a connected state and then keeps the peer-to-peer session alive.

The package is not just a point-and-click front end. Its history includes expert settings, remote shell support, download mesh behavior, packet statistics, host caches, firewalled-host handling, ultrapeer/leaf behavior, and careful bandwidth accounting, all of which matter when packaging or debugging it on Unix-like systems.

### Why package nerds care

gtk-gnutella is package-nerd interesting because it preserves a whole P2P network implementation in a traditional Unix desktop package. It pulls together GUI toolkit concerns, network bootstrapping, firewall and NAT behavior, file hashing, partial-download recovery, internationalized queries, and distribution packaging.

It is also a good example of why old GUI network clients can be more than nostalgic leaf packages: their release notes encode protocol churn, peer compatibility, and safety tradeoffs from a decentralized network era. For Homebrew and other package indexes, the formula marks a surviving buildable artifact of the Gnutella ecosystem rather than a mere GTK demo.

### Timeline

- 2000: Project authorship begins as credited on the official site.
- 2002-04-04: Version 0.85 stable release documents traffic prioritization, flow control, proxies, search statistics, persistent upload statistics, and configurable bandwidth management.
- 2002-07-07: Version 0.90 stable release adds GUI configuration, URN/SHA1 search, Gnutella bandwidth management, HUGE support, and traffic compression.
- 2002-10-19: Version 0.91 adds HTTP/1.1, download swarming, Gnutella Web Cache bootstrapping, expert mode, and richer packet statistics.
- 2003-06-15: Version 0.92 adds ultrapeer support, partial-file sharing, PARQ, GGEP support, and asynchronous DNS for Gnutella web caches.
- 2004-11-27: Version 0.95 adds dynamic querying, out-of-band query hits, UDP transport, improved firewall detection, and large-file support.
- 2011-12-11: Version 0.98 is described as a major release adding IPv6-ready features.
- 2021-07-12: Version 1.2.1 notes the project IRC move to Libera.Chat and sets a cutoff for very old versions connecting.

### Related projects

- Gnutella is the peer-to-peer network and protocol family gtk-gnutella implements.
- BearShare, LimeWire, and Shareaza appear in upstream release notes as compatibility targets.
- GTK is the GUI toolkit used for the client interface.
- Gnutella Web Cache, ultrapeers, PARQ, GGEP, SHA1 URNs, and magnet links are protocol or ecosystem pieces that shaped gtk-gnutella's implementation.

### Sources

- <https://gtk-gnutella.sourceforge.io/?page=docs>
- <https://gtk-gnutella.sourceforge.io/?page=git_quick_guide>
- <https://gtk-gnutella.sourceforge.io/?page=news_old>
- <https://gtk-gnutella.sourceforge.io/?page=release_history>
- <https://gtk-gnutella.sourceforge.io/manual/firsttime.html>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** gtk-gnutella
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - gtk-gnutella: normalized package name match | nixpkgs package indexes: pkgs/by-name/gt/gtk-gnutella/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- dnf - gtk-gnutella - 1.3.1-1.fc45: normalized package name match | Fedora Rawhide package metadata: gtk-gnutella from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | GUI based Gnutella Client | http://gtk-gnutella.sourceforge.net
- MacPorts - gtk-gnutella: normalized package name match | MacPorts ports tree: net/gtk-gnutella/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [dbus](https://www.automicvault.com/pkg/brew/dbus/) - Runtime dependency declared by Homebrew.
- [gdk-pixbuf](https://www.automicvault.com/pkg/brew/gdk-pixbuf/) - Runtime dependency declared by Homebrew.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [glib](https://www.automicvault.com/pkg/brew/glib/) - Runtime dependency declared by Homebrew.
- [gtk+](https://www.automicvault.com/pkg/brew/gtk/) - Runtime dependency declared by Homebrew.
- [harfbuzz](https://www.automicvault.com/pkg/brew/harfbuzz/) - Runtime dependency declared by Homebrew.
- [pango](https://www.automicvault.com/pkg/brew/pango/) - Runtime dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [nicotine-plus](https://www.automicvault.com/pkg/brew/nicotine-plus/) - Shares av.db curated category or tags: cli, file-sharing, gtk, networking, peer-to-peer.
- [ncdc](https://www.automicvault.com/pkg/brew/ncdc/) - Shares av.db curated category or tags: cli, file-sharing, networking.
- [rqbit](https://www.automicvault.com/pkg/brew/rqbit/) - Shares av.db curated category or tags: cli, file-sharing, networking.
- [samba](https://www.automicvault.com/pkg/brew/samba/) - Shares av.db curated category or tags: cli, file-sharing, networking.
- [superseedr](https://www.automicvault.com/pkg/brew/superseedr/) - Shares av.db curated category or tags: cli, file-sharing, networking.
- [btpd](https://www.automicvault.com/pkg/brew/btpd/) - Shares av.db curated category or tags: cli, file-sharing, networking.
- [copyparty](https://www.automicvault.com/pkg/brew/copyparty/) - Shares av.db curated category or tags: cli, file-sharing, networking.
- [dufs](https://www.automicvault.com/pkg/brew/dufs/) - Shares av.db curated category or tags: cli, file-sharing, networking.
- [dissent](https://www.automicvault.com/pkg/brew/dissent/) - Local metadata places this package in an adjacent workflow. Shared terms: cli, client, gdk, gdk-pixbuf, gettext.
- [packetry](https://www.automicvault.com/pkg/brew/packetry/) - Local package facts share a topical domain. Shared terms: cli, gdk, gdk-pixbuf, gettext, glib.

## Combined YAML source

View the package source record on GitHub. [combined/gtk-gnutella.yml](https://github.com/automic-vault/db/blob/main/combined/gtk-gnutella.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
