Gnutella Forums

Gnutella Forums (https://www.gnutellaforums.com/)
-   General Gnutella Development Discussion (https://www.gnutellaforums.com/general-gnutella-development-discussion/)
-   -   Resources for Gnutella Developers (https://www.gnutellaforums.com/general-gnutella-development-discussion/65873-resources-gnutella-developers.html)

arne_bab January 10th, 2007 09:41 AM

Resources for Gnutella Developers
 
Hi,

This is a plain old linklist, which should help to get you to the info you need :)

Gnutella for Users - Gnufu - Basic infos how Gnutella works.

Links - A basic linklist with most resources which are available.

Normally that would suffice, but I'll add basic links in this forum, too :)

Program.Gnutella - A precise description how to write for the Gnutella network.

http://rfc-gnutella.sourceforge.net/...ing/index.html - the outdated specs

Specification - Specifications in a wiki, more recent.

Gnuticles - Dev-Infobits: Infolets for Developers - smaller infobits. (handshake)


IF you find some more important links, please add them.

Lord of the Rings May 15th, 2020 07:11 PM

6 Attachment(s)
Some web-links in the original post above no longer work. Added PDF's to help with some base elementary information for potential gnutella devs.

GhostWhiteCrab is included. But if only using for GWebCache I would instead personally recommend using Skulls which has been updated several times over the past decade and includes blocking of BOTs and updated GWeb reporting procedures. It should be kept in mind when GhostWhiteCrab is used as a UHC, the client devs should only utilise it as a last resort bootstrap option. First exhausting all other options such as host file and GWebCache; with a bare minimum wait time of two minutes before accessing a UHC. A maximum of once per hour per UHC for both retrieving and reporting purposes. Same report and retrieval rule applies to GWebCaches. Obviously only ultrapeers should report to web caches. Further comments I will leave to the people in the know.

Many programming languages can potentially be used to create a Gnutella network program client. For example, BearShare and GTK-Gnutella use/used 'C+++' whereas Phex and the LimeWire variations used Java. Other languages have also been used during the lifespan of the network. This included creating browser plug-ins (Unfortunely at least one type of BOT also appears to have used this technique.)

If you do create your own gnutella app, then your app will be best accepted and perform at the upper levels if you consider adding support for the following (brief summary borrowed from GTK-G; I am not qualified to add more details):
HTTP/1.1
Gnutella 0.4/0.6
GNet compression
BYE packet
PFSP (Partial File Sharing Protocol)
Vendor Messages
Ultrapeers
QRP (Query Routing Protocol)
Push Proxies
GUESS (Gnutella UDP Extension for Scalable Searches)
TLS support for Gnutella and HTTP connections
Compressed UDP traffic (negotiated)
Compressed Gnutella connections
Distributed Hash Table (DHT) to find alternate locations and push-proxies
UPnP and NAT-PMP support
Simultaneous downloading of files from multiple hosts (swarming)


All times are GMT -7. The time now is 09:34 PM.

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.