Home
Products
News
Help Center
Download
About BadBlue


BadBlue Gnutella Sharing - Frequently Asked Questions
BadBlue Help Center     BadBlue Discussion     Email support
 

What is Gnutella sharing?

In support of peer-to-peer file sharing, BadBlue supports a protocol called Gnutella. BadBlue is a combination web server, office document transcoding engine and Gnutella servent. These capabilities make BadBlue an easy, effective and secure way to share files, especially in distributed office environments. Because BadBlue is among the first servents to support security, IP restrictions and access control, it can be used in a variety of enterprise file-sharing applications.


How do I set up a private sharing network for my business?

See the Deployment Scenarios for Organizational Sharing help section and review the Advanced configuration section, below.


How does BadBlue find friendly machines?

When you start BadBlue, it will attempt to connect to other Gnutella machines ("servents") using either your list of friendly machines or by identifying servents automatically (see the GNUTELLALISTURL setting in the Advanced configuration section, below). After you search, notice that the search results page will automatically reload after a brief interval. The page reload interval and the number of times the search will reload can be controlled (see the Advanced configuration section, below).


What is Gnutella loggging?

BadBlue will log Gnutella traffic to a file named GNU00.LOG in the directory to which BadBlue was installed. You can review the Gnutella log file to determine what other users are querying for, which friendly machines were located, the servers to which you connected, etc. By default, only a minimal amount of Gnutella traffic is logged. The EXT.INI file has a setting called LOGGINGLEVEL which can be set to a value between 0 (the default setting, which means no logging) and 9 (maximum logging).

[FLDS]
LOGGINGLEVEL=1

Logging level 1 can be interesting because it logs the queries other users are submitting to the network. Important note: setting LOGGINGLEVEL to values greater than 1 can result in the creation of extremely large (e.g., 100 Mb or greater) GNU00.LOG files if running for many many hours at a time.

See the Advanced configuration section, below, for more details on Gnutella configuration settings.


 

I use BadBlue as a web server: can I turn Gnutella sharing off?

Yes. Gnutella sharing can be completely disabled using the Set your searching options menu. If you decide to turn Gnutella sharing on or off, remember to exit BadBlue altogether and then restart it. Merely stopping and starting the server will not suffice when changing the Gnutella configuration. You must exit the program and restart it (i.e., using the Windows Start menu) before your new Gnutella configuration will take effect.


Can I restrict sharing to a private group?

Yes. You'll need BadBlue Enterprise Edition which will let you specify a secure network password. All Gnutella traffic will be encrypted and only authorized peers with the same network password will be able to connect to the private network *. For more information, see the Deployment Scenarios for Organizational Sharing help section and review the Advanced configuration section, below.

*This feature will be available shortly. Note that because no encryption system is unbreakable, there exists a possibility that an enterprising hacker could compromise the cryptographic algorithm used to ensure the privacy of users in the specified network.


How do I configure which Gnutella servents to use?

BadBlue has three methods for finding Gnutella servents.

  • If you've used the Connect to friendly machines menu and manually entered the addresses of other servents, BadBlue will attempt to connect to these machines first and every few minutes thereafter
  • If you've configured the GNUTELLALISTURL settings in the EXT.INI file, BadBlue will read the specified page and find the addresses of other servents to which to attach
  • Via the network protocol: BadBlue can discover other servents once it's attached to one or more servents.


    Can I set up a private network for sharing?

    Yes. See the Deployment Scenarios for Organizational Sharing help section and review the Advanced configuration section, below.


  • Advanced Configuration Settings

    The EXT.INI file FLDS section can contain optional settings which can control specific features of Gnutella sharing. The following settings are supported (listed with their default setting). Settings marked with an asterisk (*) can be set using the Set your searching options menu and do not need to be manually entered into the EXT.INI file.

    Common Deployment Scenarios for Peer-to-Peer File Sharing

    For the most common deployment scenarios for peer-to-peer file sharing, please see the BadBlue Gnutella Deployment Scenarios FAQ.

    Default setting Description
    GNUSHARING=Yes * Defines whether Gnutella sharing is off (No) or on (Yes). Note that you must exit BadBlue completely and then restart for this setting to take effect.
    MAXGNUTELLATHREADS=7 * Maximum number of simultaneous Gnutella connections allowed
    MAXGNUTELLAHOPS=7 * Maximum number of hops each message sent through the network is allowed to survive
    GNUTELLASPEED=112 * Speed of the local network connection in thousands of bits per seconds (Kbs)
    PAGEREFRESHSECONDS=20 When viewing search results, the number of seconds between automatic page reloads for display of new query results
    PAGEREFRESHCOUNT=9 When viewing search results, the number of times the results page should automatically reload before stopping (user can always manually reload the page and fetch additional results)
    LOGGINGLEVEL=0 Level of Gnutella traffic to be recorded in GNU00.LOG file in BadBlue folder. LOGGINGLEVEL of 1 will record queries others are issuing (i.e., "voyeur" mode). A logging level higher than 1 can result in very large log files being generated in a short period of time.
    GNUTELLACONNREQUEST=
    GNUTELLA CONNECT/0.4
    Connection request message that initiates network handshake (can be changed to create private sharing networks)
    GNUTELLACONNRESPONSE=
    GNUTELLA OK
    Connection response message that confirms network handshake (can be changed to create private sharing networks)
    GNUTELLADESCCACHE=1024 Size of Gnutella descriptor cache which records the messages received over the network connection for routing purposes
    GNUTELLAPINGRATE=180 The rate at which Gnutella ping messages should be sent by the local machine (listed in 1/6 second intervals, 180 = 30 seconds)
    GNUTELLARESCACHE=120 The size of the result cache (how many locally issued query result buffers are to be maintained)
    ALLOWNATCONNECTS=0 Attempt direct connections to NAT'ed machines (should be set to 1 when sharing with NAT'ed machines inside a LAN).
    MAXRESPONSESIZE=32000 Maximum size of query result buffer (after a query is issued, BadBlue listens for matching results and assembles a result buffer for display on the search results page; this setting specifies the maximum size of the result page buffer in bytes)
    GNUTELLALISTURL=
    http://gnufrog.com/|host=|"
    Web page used to identify servents to which to attach. This setting is divided into three section: URL|Begin pattern|End pattern. The URL is the page to fetch. The begin-pattern specifies the text that precedes the address of a servent. The end-pattern specifies the text that terminates the address of a servent. BadBlue will read the page and read all servent addresses on the page using the search patterns.
    GNUTELLANOTIFYURL= Web page or script that alerts other systems to the fact that the local PC is available for serving and/or sharing. This URL is invoked when BadBlue initializes. For example:

     GNUTELLANOTIFYURL=http://mysite/cgi/sig.php?ip=<IP>

    BadBlue replaces the keyword <IP> with the current IP address (or DNS name) and port number before invoking the URL. This allows the servent to notify a central system of its availability. The notification URL can invoke a script (e.g., PHP or Perl) that saves the IP address to a file or database table. The GNUTELLALISTURL can then be used to invoke another script to read IP addresses from the same file or table. The combination of notification and list URLs can be used to signal a servent's availability and to discover other servents, respectively.

    I'm on a LAN. Can I share with users outside the LAN?

    Yes. The Gnutella protocol supports searching and file transfers between users that are "firewalled" (behind a proxy server or otherwise NAT'ed). However, two separate users who are both independently firewalled may not transfer files, but they can search each other's machines.

    Technical information: Users running inside a firewall, on certain dialup connection (e.g., AOL) or default DSL configurations (e.g., Fuse without direct connection) are referred to as NAT'ed users. NAT stands for Network Address Translation. NAT'ing is often used to configure users inside a LAN (local area network) such that real network IP addresses are not consumed. Instead, special IP (NAT'ed) addresses are parcelled out to these internal users.

    You can often tell whether you are a NAT'ed user by referencing your IP address. Use the Connect to friendly machines menu and look near the top of the page. The caption Your address is should prefix your IP address. RFC 1918 spells out common NAT'ed addresses:

    10.0.0.0 – 10.255.255.255
    172.16.0.0 – 172.31.255.255
    192.168.0.0 – 192.168.255.255

    If your IP address falls within these ranges, you're on a NAT'ed IP address and will not be able to transfer files directly with another NAT'ed user. You will be able to transfer files with a non-NAT'ed (directly connected) user even if you are NAT'ed.


    BadBlue Help Center     BadBlue Discussion     Email support