gtk-gnutella

A GTK+ Gnutella clone.
Download

gtk-gnutella Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Raphael Manfredi
  • Publisher web site:
  • http://search.cpan.org/~mrogaski/Log-Agent-0.307/Agent/Tag/Callback.pm

gtk-gnutella Tags


gtk-gnutella Description

A GTK+ Gnutella clone. Gtk-Gnutella is a server/client for Gnutella. It runs on every Unix-like system which supports GTK+ (1.2 or above) and libxml. Gnome is not required.It is currently developed and tested under Linux (Debian 2.2) and is known to run at least on Linux, FreeBSD, NetBSD, OpenBSD, Darwin, Solaris, Tru64 UNIX (OSF/1), SGI IRIX, BeOS whereas CPU architectures include x86, AMD64, PowerPC, SPARC, MIPS.gtk-gnutella project is released under the GNU General Public License (GPL).Gtk-Gnutella is not finished yet, but it is fully functional: you may share, search, and download. And it is stable too, users usually just leave it run unattended for days. Here are some key features of "gtk-gnutella": · Share files on the gnutella network (Limewire, BearShare, Xolox, Gnucleus, Shareaza, Morpheus ...) · Compressed GNet connections · Simultaneous downloading of files from multiple hosts (swarming) · Passive searches Searching by urn:sha1: and magnet: · Automatic aquisition of additional sources via download mesh and watching searches · Powerful filtering engine · Bandwidth management/limiting · A lot of settings · A lot of statistics Requirements: · gtk+ What's New in This Release: Bug Fixes: · #1932909 "columns in search window do not scale properly". · Fixed improper HTTP chunking when outputing chunks larger than 64 KiB. · #2628899 "tries to download from my old self after IP changes". · Was not always resuming the interrupted SHA-1 computation of a finished file when servent was closed in the middle of processing. · Fixed bad range checking test in the download part. · Was not paying attention to the "give_server_hostname" property and instead sent "HNAME" GGEP extensions in query hits provided a non-empty name was defined as the "server_hostname". · Fixed improper upload slot counting which introduced race conditions, sometimes leading to having more slots used than the configured maximum (in addition to the "quick" upload slots). · Prevent occasional crashes at shutdown time, during subsystem cleanups. · Fixed corner cases where we could lose a server hostname and downright bug where we discarded the hostname after a DNS lookup if the subsequent connection attempt did not succeed. Improvements: · Refuse to share certain directories: /, $HOME, $GTK_GNUTELLA_DIR, and the incomplete and corrupted directories. · Downloads GUI: added checkboxes to invert the select/filter patterns. · Downloads GUI: added "Modified" column and detail showing the timestamp of the last file modification. · Optional beautification operations on filenames: strip leading "-", remove consecutive "_" and prevent "_" surrounding punctuation characters. · Fixed significant performance issue in the Gtk+ 1.2 front-end: update of upload statistics was O(n) but is now O(1). · Background TTH file verification now lights an icon in the GUI. · Show TTH tree depth in the download "Details" pane. · Update the bitzi metadata info box when a query finishes, so that it is not required to click on the result again after requesting bitzi data. · Added MIME type column for search results. · Added "Last Request" and "Last Upload" columns to the Upload History. · Almost complete DHT support (missing only publishing of data), but code needs to be explicitly enabled by setting "enable_dht" to TRUE. The DHT knows how to look for alt-locs for files and push-proxies for firewalled hosts, and will store local data for others to query. · New shell commands "stats", "download", "echo". · It is now possible to rename files being downloaded (through GTK2 or shell, no support in GTK1). · Added more filename extensions to the built-in search filters. · Switch resources after getting an HTTP error if the connection is kept alive and the error permits follow-ups (non-busy conditions). · Improved ability to switch resources after file completion by ignoring trailing swarming data, to keep the connection alive. · Bitzi tickets are refreshed when explicitely requested, avoiding reuse of stale metadata · Completed files are displayed during hash verification. · Only propagate good alt-locs for files we are downloading, i.e. addresses of hosts which we know to be serving that file because we contacted them. · Many new statistics counters. · Allow scheduling of special downloads without considering per-host limits, as these are of a much shorter duration (THEX and browse host requests). · Always seed completed files, regardless of their size (no PFSP minimum as with partial files), when their SHA-1 has been verified. · Incorrectly encoded Bitzi metadata is translated to Unicode. · Browse-host responses are sorted alphanumerically on relative pathnames to allow users to relate files together if they don't understand GGEP "PATH". · Improved routing of PUSH messages by also looking whether targetted hosts happen to be one of our immediate neighbours. · Updated Norwegian Bokmal and Spanish translations. Under the hood: · Parse legacy Shareaza THEX URIs "urn:tree:tiger/:" (extra "/" here). · Handle non-standard X-Thex-URI headers if peer provides a valid X-Content-URN header (Shareaza 2.1.0.0). · Also attempt to give priority to the last "pfsp_last_chunk" bytes of downloaded files, since that can contain important indexing information to enable pre-view of partial video files. · More MIME types known (derived from file extensions). · Can now download THEX data at a tree depth of 11 for files larger than 1 GiB. · Can download sub-optimal THEX data, as non-optimal data is better than none, but keeps looking for THEX data at the optimal tree depth nonetheless. · Reimplemented scanning of shared directories as a background task so that the process (not just the GUI) is fully responsive during the whole scan. · Let the background task scheduler compute the proper amount of ticks to use for each task. · Upload statistics now record the file's SHA-1, so that we can consolidate partial file sharing with library sharing statistics, with the filename being forced to the library's filename. · Avoid starting moving a completed file if there is not enough space on the targetted file system. · Recognize and propagate the "DHT" GGEP extension in pongs. · Added support for "DHTIPP" GGEP extension in pings, used for DHT bootstrap. · Added more entropy to the random number seed. · Plugged memory leaks · No longer send SHA-1 queries on the Gnutella network. They are now performed through the DHT, which has the suitable topology to do so efficiently. · Fixed UDP bandwidth computation, and removed any limit on UDP incoming. · Updated list of hostile IP adress ranges, Geo-IP data, spam patterns and spam samples. · Property loading from files was in O(n*n), made it O(n). · Now detect property files being blindly copied over from another gtk-gnutella's config directory and reset properties whose value needs to be unique. · The GUID and the KUID (Kademlia ID, the DHT node ID) were made sticky. · Optimization of QRP lookups in tables ranging from 16k to 2M slots. · Limit amount of hits to 10 per query hit packet, as LimeWire chokes otherwise. · Limit amount of alt-locs in hits to 10 or LimeWire chokes. · Keep connection alive when reporting an HTTP error to allow remote resource switching if necessary. · Emit and parse new X-Downloaded header, apparently introduced by LimeWire. · Added parsing of X-FW-Node-Info headers to grab push-proxies from firewalled hosts, as well as gather the proper GUID and host address/port. · Emit X-FW-Node-Info if node is firewalled but continue to list our push-proxies in the standard X-Push-Proxies header. · Avoid endless aggressive chunk splitting during swarming. · Proper parsing of comma-separated values in Accept and other Accept-Encoding HTTP headers. · Reject UDP packets from unspecified addresses. · Drain more data out of the UDP receive buffer to prevent it from filling up. · Strip at most 5 trailing characters from words when building the QRP table, thereby inserting less radices and making the table more sparse. · Removed workarounds for dealing with broken 0.96.2 nodes and earlier 0.95.x. · Extended syntax for push:// exact sources in magnets to be able to supply all the known push-proxies, even if that is an empty set. Since downloads are persisted as magnets, this also allows keeping all the previously known push-proxies accross sessions. · Upgraded PARQ to version 1.1 (mostly specification cleanups). · Added additional anti-hammering for cases where many files on the same server are queued and gtk-gnutella is configured to launch more than 1 connection per IP. Connection attempts to the same server are now limited to 5 per minute. Limitations: · DHT code is still experimental, although functional: configuration of parameters can only be done through the shell, and there is no support for publishing yet.


gtk-gnutella Related Software