Internet Tunneling & Traffic Routing

December 14, 2007 by sharky

(Anonymous Protocols & Networks / Tor / I2P)

IP Tunneling and IP encapsulation (encryption) ensure the reliable delivery of massive volumes of real-time data without packet loss or damage.

Here are three key features in which tunneling becomes beneficial to the P2P file sharer:

  • 1.It makes the user anonymous: By masking the real IP address of the user.
  • 2.It encrypts the data on both ends: Thus no-one can intercept the transfer and figure out what’s being sent. Helpful in preventing traffic shaping by ISPs.
  • 3.It can help circumvent firewalls that would otherwise be implemented to prohibit specific programs and transfers.

Tunneling over P2P Clients

To incorporate tunneling into a P2P application, two things are necessary: First, the program must have support for a ‘Proxy Server’ (aka…SOCKS); and second - you’ll require your own proxy server for the inputs. Torrentfreak has written a great article on this - read it.

Generally all Internet-requiring programs have a similar method for adding your own proxy. Here are some examples of how to add your own proxy to common P2P applications:

Adding a Proxy Server in BitCometAdding a Proxy Server in mIRCAdding a Proxy Server in Limewire

Tunneling over WWW

While the ability to surf the web anonymously is not necessarily a prerequisite to P2P safety (for now) - we feel it is something that should be addressed. Emerging technologies that include decentralized search engines open a swath to new methods of P2P file sharing for the future. Tunneling is especially easy to do with Tor (and Torbutton) - without the hassles that come with free web proxies such as Proxify.

Tunneling ‘Networks’

Below are two examples of specialized networks that focus primarily on anonymity through applications - Tor and I2P.

Tor (aka…The Onion Router)

FREEWARE

Tor is a network of virtual tunnels that allows people to improve their privacy and security on the Internet. Is it an outproxy service for using the Internet anonymously, assisting to anonymize Web browsing, instant messaging, IRC and more, including some P2P programs that offer internal support for Tor. Tor is also its own anonymous online community. Check out the Tor overview page for a more detailed product explanation.

What isn’t it?

Tor is NOT a P2P file sharing program. Rather, it offers anonymous support to many Internet protocols, including some P2P applications.

Tor works with:

Tor presents a SOCKS interface to applications, so it’ll work with any application that supports SOCKS (which is most P2P clients). While Tor supports many BitTorrent and P2P applications, it is not recommended for heavy workloads (this taxes the entire system of users). While we highly endorse Tor for Internet browsing and the like, use an IP Blocker such as Peer Guardian with your bandwidth intense P2P applications.

Installation:

The “Tor” installation package comes bundled with Vidalia (a GUI to control, monitor and configure Tor), Privoxy (a web proxy that protects your privacy by removing ads, banners and popups) and Torbutton - a Firefox extension/add-on that allows you to enable/disable anonymous web surfing.

Installation Instructions:

Download Tor here. The current installation file is “vidalia-bundle-0.1.2.18a-0.0.14.exe” (for Windows OS). Run the executable file and choose all four options (recommended) - see below. After installation, the Vidalia Control Panel window should show that Tor is indeed running:

Click to enlarge the Tor Installation WindowThe Tor 'Vidalia' GUI program

Tor & Privoxy can also be seen in your Taskbar:

Our Notes:You can opt to NOT install the Torbutton Firefox plugin if you don’t use the Mozilla Firefox browser, however we strongly advise using Tor with Firefox exclusively. Tor is not recommended to use with Internet Explorer. In fact, we couldn’t even get it to work correctly in the latest version of IE. If you’re hopelessly addicted to Internet Explorer, another option would be to install Firefox and use it specifically with all your intended anonymous connections, and IE for the rest. Get with the times - use Firefox instead:

Using Tor with P2P Programs/Browsers:

To “Torify” other applications (if supported) you can use these proxy settings. A complete MS Windows guide can be found at the Tor website.

“Torify” your web browser: (This will be done for you if you installed the Vidalia bundle, and you click “Tor Enabled” - see Torbutton below).

  • HTTP Proxy: localhost
  • port: 8118

“Torify” your P2P program: (This will have to be done manually for each program, see screenshot example below).

  • Proxy: Socks4a: 127.0.0.1
  • Port: 9050

Click to enlarge the 'Torify' Bitcomet window.

About Torbutton: After installation, the Torbutton should now be located in Firefox, in the bottom right corner of the browser. (Be sure to restart Firefox after Tor installation). By default, Tor is disabled in Firefox - click on ‘Tor disabled‘ to enable Tor as shown below:

Click to enlarge the 'TorButton for FireFox' window.

You can also add the actual ‘Torbutton’ through the Firefox settings. Go to VIEW > TOOLBARS > CUSTOMIZE… and simply drag and drop the Torbutton icon into the button area of Firefox, as shown:

Drag and drop the Torbutton icon:

Adding the 'Torbutton' to Firefox

There is also “OperaTor” for USB and other micro-drives. Publisher’s description:

OperaTor is a software bundle that can be easily installed on a portable memory (pendrive, usb stick) to allow anonymous surfing while at an internet cafe, library etc. With OperaTor no data will be stored at the computer you plugged your portable memory into”.

Not only does this work from flash cards and USB sticks, but it also does a works from a PC computer!

I2P (P2P Tunneling Network / Router)

FREEWARE

What is it?

I2P is an anonymizing network, offering a simple layer that identity-sensitive (such as iMule or E-mail) applications can use to securely communicate. All data is wrapped with several layers of encryption, and the network is both distributed and dynamic, with no trusted parties or central authorities. Visit the I2P Forum website for all the documentation at http://forum.i2p.net/

What isn’t it?

I2P is not a stand-alone P2P file sharing program. However, this technology is a real leader in recent developments of ‘tunneling’ file sharing applications. Here are some newer clients that are specifically built around the I2P framework:

Application/Client Network/Protocol
iMule anonymous eMule alternative
I2Phex anonymous Gnutella
I2PSnark anonymous BitTorrent
I2PRufus anonymous BitTorrent
Syndie secure distributed Forums
AnonBT I2P plugin for Azureus
SusiMail secure I2P Email service
IRC-Proxy secure IRC Chat
I2P-BT anonymous BitTorrent

I2P works with:

Since I2P is an anonymous network layer, it is designed so other software programs can use it for anonymous transfers and communication, including web browsers. I2P will basically work with any Internet application that has adjustable ‘proxy server’ settings - not just in the applications listed above.

I2P Installation/Starting the I2P Service:

I2P needs to be installed (and running) before any supporting clients can connect to the network.

1. Visit http://66.111.51.110/, and download “I2PInstall.exe” (it requires Java JRE to be installed on your system). Install and follow instructions, it’s very simple (do not change the default installation path). After installation, your secure I2P website should now launch in your browser (see below).

NOTE: If you are running a firewall, you’ll need to allow UDP port 8887 in your firewall software, before all else. This port is required by I2P (and thus any other I2P-incorporated software.)

Successfully installed

2. You need to start the I2P service. Do this through your Start Menu:

Running 'I2P' from the Start Button

After starting the service, the I2P icon should now appear in your taskbar:

'I2P' running in the Taskbar

3. Next, visit the I2P site at http://localhost:7657/index.jsp and see if you have any connected peers (on the left). This usually takes anywhere from 5 - 35 minutes to completely connect. Also make sure that the service is, indeed, running.

Checking for I2P peers

4. That’s it! You’re now set up to run I2P-supporting applications, and run regular P2P programs with it (P2P over I2P).

Our Notes:The development for I2P is far from finished, but already there are a ton of P2P applications being designed in support of it. We see this going very far, indeed. Read the FAQ here, and keep up-to-date by visiting the I2P Forums.

Using I2P for anonymous web browsing (in Firefox)

First, start the I2P service (steps 2 - 3 above). To surf anonymously, the service needs to be started first before browsing. (If Firefox is already running before I2P, Firefox will need to be restarted). Note that I2P is not recommended to use with Internet Explorer. Use a more secure, superior browser such as Firefox, instead.

Also note that web browsing will be somewhat slower.

Configuring Firefox to use I2P:

1. Launch Firefox, and go to the TOOLS > OPTIONS… menu - click the ‘Advanced‘ icon, then click the Network tab, then click ‘Settings’:

2. The ‘Settings’ will bring up another window, as shown below. Click the ‘Manual Proxy Configuration’ button, enter “localhost” for the ‘HTTP Proxy’ and enter ‘4444′ for the ‘Port:’. Click “OK” to save changes.

Firefox is now configured with I2P for anonymous browsing.

Viewing .i2p websites

I2P is much more than just anonymous Internet browsing. By right, I2P is its own Darknet. Check out our link on darknets for more info about the I2P community.

Speed and I2P

Due to the nature of encrypting multiple layers and relaying them through the network, speeds will be noticeably slower, including web browsing & page load times. This is normal. We do have some tips for increasing speeds on I2P listed here.

Removing I2P settings from the browser:

If you prefer, you can change your settings back by clicking the “Direct connection to the Internet” button (in the same location where you added the I2P “localhost”).

Our recommendation is to use two different browsers (or two instances of the same one - i.e. Firefox installed twice, in different folder locations). One can be configured to use I2P only, and the other for all your non-anonymous Internet connections.

Stopping the I2P Service

Occasionally you may wish to stop the I2P service, especially if it conflicting with your FTP or even browsing. Stopping the I2P service (without uninstalling it) cannot be done through the I2P program (unless you’ve started I2P from “Start I2P (restartable)” in your Start Menu > Programs list and you know how to kill the service via it’s DOS program window).

An easier way to do this is to CTRL + ALT + DEL, then click on the Processes tab, and look at the running processes. I2P runs on Java, and can be found as Javaw.exe. End this task to shut down I2P.

Configuring I2P in non-I2P programs (P2P over I2P)

I2P can be configured to work with non-supportive P2P applications, as well. The setup procedure varies for each application, but the general gist is the same - as long as you remember the “localhost” and “4444″ HTTP proxy data. Here’s some common examples of adding I2P to P2P:

Adding I2P settings in LimewireAdding I2P settings in Azureus

NOTE: The factor of anonymity when using “P2P over I2P” in non-supportive programs (i.e. regular non-I2P P2P programs such as Limewire) is up for debate. While it should maintain anonymity when connecting with other I2P peers, it remains unclear if true anonymity is achieved when connecting to regular file sharers who don’t use encryption mechanisms like I2P. If anonymous file sharing is of the most utter importance, we recommend using a truly anonymous program such as I2Phex that’s built around encryption as it’s main feature.