gtk-gnutella logo
Current version: 1.1.13

Unix下的Gnutella软件

gtk-gnutella是Unix类系统下 Gnutella 的服务端/客户端实现,该软件依赖于 GTK+ (1.2版以上 ) 、 libxml,但Gnome不是必须的。 目前,gtk-gnutella主要在Linux(Debian 3.1)下进行开发与测试, 至少支持如下操作系统:Linux、 FreeBSDNetBSDDarwin、 Solaris、Tru64 UNIX (OSF/1)、 SGI IRIX、BeOS等, 支持的CPU构架包括:x86、AMD64、PowerPC、SPARC、MIPS等

Gnutella按照GNU通用公共许可证(GPL)进行发布。

gtk-gnutella尚未完工,但已经具有完整的功能,通过gtk-gnutella, 可以分享、搜索、下载各种文件,gtk-gnutella的稳定性也很好, 可以自觉地一天接一天地工作下去。

欢迎将您的想法与创意发到gtk-gnutella-devel邮件列表来。 臭虫报告请发往 SourceForge.net Bug Tracker

如果你熟悉C语言,或者对文档翻译感兴趣,欢迎有空来帮忙。

新闻

22 October 2017, Version 1.1.13 Released

This release primarily addresses issues that were left-over in 1.1.12. Do not use that previous release, migrate from 1.1.11 to 1.1.13 directly!

The main issue was that of Partial File Sharing. Numerous bugs, dating from 7 years or more, were lurking because my local configuration had switched PFS off for testing, and it had never been turned back on! In particular, completed files were not properly shared, it was not possible to upload their THEX since it was not recomputed, and the files were not properly indexed in the Query Routing Table due to bugs in the background task layer.

In case of a crash, we now dump the value of all the Gnutella properties to be able to spot configurations that deviate from the norm. Too many bugs were reported and ignored because they could not be reproduced, often due to not having the same setup when attempting to debug!

Another nasty bug was fixed: it was not possible to change the IP support configuration without causing an immediate crash. The reason is due to a change that was integrated in 1.1.12 to allow IPv6 UDP traffic from G2 nodes. The problem was that this created an extra client stack on top of the low-level UDP traffic scheduler and it was not properly cleaned-up when switching IP configurations, leading to an assertion failure!

New Features
Improvements
Bug Fixes
Under the Hood

20 September 2017, Version 1.1.12 Released

This release fixes a very critical bug that was only manifesting when Partial File Sharing was turned on, and which caused possible memory corruption (leading to a sure crash later) when enqueuing new files for downloading.

New Features
Improvements
Bug Fixes
Under the Hood

11 November 2016, Version 1.1.11 Released

This release fixes a portability issue on FreeBSD and introduces a main core feature and minor new GUI features.

The main feature is the addition of "equivalence classes" defining word aliases, used when sharing files and querying for them.

Currently, the only supported equivalence class deals with naming of series. Indeed, there are various conventions that can be used to represent these, and it makes searching inefficient: either one will lookup for all the possible variations, or one will miss some of the files.

For instance, episode #8 of an hypothetical season #4 can be represented by any of these strings:

	{ "s04e08", "4x08", "408", "04x08", "0408" }

Thanks to the equivalence class, a file bearing one of these strings can be searched for (and located successfully) by using any of the other strings. Of course, since this is a local processing, the more servents out there are deployed with this aliasing support, the more efficient the feature becomes!

There are also new GUI features: the "Clear completed" button from the Download pane is now doing someething useful, and the current page of different notebooks is remembered across sessions. The only one which is not restored on normal resuming is the main notebook tab. It will be restored if GTKG is restarted after a crash, but otherwise the application will always start up within the Network tab.

In the Uploads tab, upload requests coming from a G2 servent will now be flagged with a "[G2]" tab right after the IP address. This helps seeing how the Gnutella and G2 network unification is evolving.

New Features
Improvements
Bug Fixes
Under the Hood

Older news...

SourceForge.net Logo   Glade   RSS Feed Available   Ohloh Metrics   Coverity Scan Build Status   gtk-gnutella at GitHub  
gtk-gnutella © 2000-2014 by Yann Grossel, Raphaël Manfredi and various contributors.