Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   Gtk-Gnutella (Linux/Unix/Mac OSX/Windows) (https://www.gnutellaforums.com/gtk-gnutella-linux-unix-mac-osx-windows/)
-   -   Overview of Recent Changes (https://www.gnutellaforums.com/gtk-gnutella-linux-unix-mac-osx-windows/56483-overview-recent-changes.html)

king2 May 27th, 2006 06:53 AM

Overview of Recent Changes
 
from the mailing lists

Hi,

I guess it's useful to describe some of the changes to Gtk-Gnutella
which have been applied during the last few days and weeks. Some of
these concern only the Gtk+ 2.x front-end and others may still be
incomplete or slightly buggy. I also post this to the users' list
because you might be interested in Gtk-Gnutella from SVN as well
or just be curious what will be available in the next release of
Gtk-Gnutella.


Local Searches and Overview Over Shared Files

You can now search in your local database of shared files. Simply
enter "local:" (without the quotes) as search string. You'll see all
your shared files as search results. Keep in mind that (global)
filters are still applied. Just in case you wonder or worry, this does
not re-use the "browse host" feature and the "search results" are not
transferred over a socket. There isn't much memory duplication either
as Gtk-Gnutella holds all filenames, hashes etc. of your shared files
permanently in memory anyway. Nonetheless, if you shared 10000 and
more files, the performance of this solution might not be acceptable.
The "info" column hold other information than usual for this case
i.e., the actual local directory path for each file. If you're
worried, no this information is never passed to other clients (or
servers). This allows you to sort your files by directory.

I will also add a possibility to drag the files from there so that you
can pass them to other applications e.g., a picture viewer (GIMP is
overkill but works) a multimedia player (Xine works; gmplayer should
work too) etc. This is already possible for files you're downloading
or have downloaded from the "Downloads" pane.

Unlike normal searches, the query string is interpreted as a regular
expression. A special case is searching by "urn:sha1:" though which
will just show you the file which matches the given SHA-1.


Better TLS support

Semi-automagic switch to TLS. Gtk-Gnutella now emits "tls/1.0" in the
"(X-)Features" header during handshakes. Once it sees this header or
an encrypted incoming connection, it will remember the TLS-capability
for this host and port. All follow-up connection will be TLS
encrypted. This is the next migration step towards a fully encrypted
Gnutella network. Keep in mind, encryption is not used to give anyone
a false sense of security, let alone encouraging illegal activities.
ISPs simplies should have as little clue about what exactly you're
doing online *no matter* what it is because I have a strong believe in
envelopes, doors and privacy. Further, it gives ISPs less of a chance
to block a perfectly legal service such as file-sharing. That said, do
not ever rely on Gtk-Gnutella to encrypt your connections. First of
all, other vendors do not support it - even though it's perfectly
documented - and the support is (mostly for that reason) still
incomplete.

You will see "(E)" behind the host address if an upload or download
utilizes TLS, or a "E" in the flags column if a Gnutella connection
uses it. This isn't new but to manually connect to another Gnutella
node using TLS just prefix the IP address or hostname with "tls:" in
the GnutellaNet pane.


The Downloads Pane

A simpler overview over downloads [Gtk+ 2.x only]. Previously, the
downloads were displayed in three different panes. The panes showing
active and queued downloads have been removed because they were
redundant and the code was quite complex. It also made it more
difficult to perform certain actions like permanently aborting a
download because you had to switch between panes and search with your
eyes for a matching entry. It also caused duplicate code and display.
This was inspired by a short IRC discussion and in especially this
screenshot of Lopster's download display:

http://www.kefk.net/Linux/Software/G...n_download.png

I realize that the popup menu in the downloads pane is still a little
buggy but I hope that everyone prefers this version as much as I do.
Note that you can sort the entries by all columns as usual. This is
what makes it very accessible. Most of the time, you'll just want to
sort by "Status".


Proper Magnet Support

Gtk-Gnutella can finally download files without knowing the filesize
in advance. No, it's not patented. It's rumoured wget, curl and even
Mozilla can do the same. Anyway, this made it possbile to finally add
proper support for magnet links to Gtk-Gnutella. Just search the
interweb for the term "magnet link" in case you've never heard this
term before. There's also a Wikipedia article:

http://en.wikipedia.org/wiki/Magnet_link

You can now simple drag such links and drop them onto the application
window of Gtk-Gnutella. It will either start the search or the
download depending on the magnet link. Another way is to paste the
link into the search box. Everything starting with "magnet:" is
parsed and handled as a magnet link. By the way, the same applies to
everything starting with "urn:" or "http:". Those are treated
analogous to magnets. This means you can paste or drop plain HTTP URLs
and use Gtk-Gnutella to download the files. There's one draw-back
though, Gtk-Gnutella does not follow HTTP redirect so far. This will
require special handling as we cannot blindly follow those under all
circumstances. I think we'll treat URLs and Magnets (as entered by the
user) as a special case and follow a certain maximum amount of
redirects just like any download tool or browser would.

Gtk-Gnutella cannot only download files from magnets but also generate
them. You can generate "live" or "hot" magnets from search results
(including local searches) and running downloads. It will add all
known non-firewalled sources to the magnet. This should be very
useful for passing magnets to your friends over IRC, IM or even
e-mail. Of course, the sources won't be available for a very long time
in most cases. That's why I call these magnets "live" or "hot". For
what it's worth, since such magnets can be quite large, they should be
compatible with service such as tinurl.com, makeashorterlink.com etc.
Big brother likes magnets too.

In a nutshell, a Magnet is for Gnutella a like a torrent file for
BitTorrent but much more efficient.


Better IPv6 Support

Previously, setting "network protocols" under Preferences->Network to
"IPv4 and IPv6" had no effect. In current SVN it does just what it
implies. Gtk-Gnutella will listen on a TCP and a UDP socket for IPv4
and IPv6. This works also indepedent from the operating system as long
as it has IPv6 support at all. Gtk-Gnutella now considers having two
addresses, one for IPv4 and one for IPv6. There are still some
controls missing in the GUI to configure everything. Meanwhile you can
edit "config_gnet" or just use the Property Editor under
Preferences->Debugging. Just enter "6" (without the quotes) as
property pattern. It will show you all IPv6 related property settings.
"local_ip6" is the same as "local_ip" for IPv4 that is your detected
IPv4 resp. IPv6 address. "forced_local_ip6" resp. "forced_local_ip"
can be used to enforce a different address permanently.
"force_local_ip6" resp. "force_local_ip" must be set to TRUE to make
these effective. Note that there are explanatory tooltips (and
comments in config_gnet) for each property. Voodoo it's not. Search
the interweb for "6to4" to get IPv6 connectivity today with little to
no hassle.

Granted, no other vendor supports any of this and there a still a few
places where IPv6 is not properly handled basically because Gnutella
was originally a pure IPv4 network. Overall, it should work fine
between two or more IPv6 nodes though.

Those with IPv6 only hosts, see the properties "use_ipv6_trt" and
"ipv6_trt_prefix". RFC 3142 should ring a bell. I cannot test this
properly but last time it was reported to work fine. If there are
assertion failures (not unlikely) or other issues, please report them.


You hate KiBi and love metric units?

No problem, see Preferences->User Interface. You'll find the option
"Show metric units". Except for a few places in the Preferences
dialogue, all filesizes and transfer rates will be displayed using
metric units. After all a kilobyte is just 1000 bytes, just like a
kilogramme or kilometre. Your mileage may vary.


Italian Translation

A large part of the GUI has been translated to Italian. Thanks a lot
to Lorenzo again! By the way, it would be very nice if the other
translators could check their translation - or anyone who speaks those
languages. I'm afraid there are a couple of translated messages marked
as "fuzzy" and a few new messages to be translated.


Of course, there are lot of other minor changes and bug fixes but I
don't want to repeat everything which has been written in commit
messages already.

-- Christian


All times are GMT -7. The time now is 11:39 AM.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

Copyright © 2020 Gnutella Forums.
All Rights Reserved.