Computers 'n Stuff: Azureus I2p Network plugin configuration Howto for Linux

I here share the resolutions for my Linux problems so they might safe somebody some time.

Tuesday, May 22, 2007 parmanent link to this post

Azureus I2p Network plugin configuration Howto for Linux


So Azureus comes with a lot of nice plugins for download. Let's see which of them I'll install .... wait, what is this I2P network plug in... allows use of the I2P network ... Hm, no idea what I2p network really is, sounds useful though ok let's install the plugin and see what happens.

These were my first thoughts when I stumbled upon the I2P network and the corresponding Azureus plugin. Had I only known how much work i took to get it up and running I probably wouldn't have installed it. Here I write what It takes to set up the Azureus I2P Network plugin.

Outline:
  1. Install the i2prouter
  2. configure the server tunnel
  3. configure Azureus to send the i2pnetwork destination hash of the server tunnel to the tracker instead of the local ip adress.
  4. configure Azureus to listen on the target port of the server tunnel of the 12prouter
  5. configure Azureus and the i2p network plugin to communicate with each other via an proxy network relay port

Introduction:

Ok, what is the I2P network

The I2p network is a anonymous Network inside the Internet. It is a distributed network technology to make it harder to the the server to find out your IP address. I like to think of it as a Network layer on top of the Internet protocols. The Internet is usually not as anonymous as you might think since if you connect to e.g. a server over the Internet a connection is established such that the server knows your IP address. This IP address and the data transmitted from and to this address can be logged. Since ISPs (Internet service provider) log which IP address has been assigned to which user its no problem to trace back the person who established this connection. To cut long things short, your IP address usually reveals you real identity

Things get a little different if you connect to the internet through a proxy. In this case only the proxy knows your IP adress but the servers in the internet only know the IP address of the proxy. Every computer behind such a proxy appears to the internet as only one IP address. And heres what the I2P Netwokr does: It turns your computer into a proxy and all your internet communication has to go through that proxy and the peers are identified by hash keys to each other and not by their real IP address and treaffic is dynamically tunneled through multiple proxys. Since the traffic is encrypted and no single proxy knows all IP addresses of the proxys participating in the tunnel and from the outside its not clear if your only routing the tunnel or are the end of the tunnel it becoms extremely hard to trace which hash key belongs to which IP address.

Ok, what does the Azureus I2P Network Plugin do?

Well, I like to think the I2P Network plugin serves as some kind of proxy to which Azureus connects.In this way the plugin can trace all Azureus traffic and if it detects that Azureus is trying to connect to the I2P Network it redirects the traffic to the port of the I2P router/proxy which knows to handle the torrent protocol in the I2P network. (usually 7654 on your localhost). In other words the I2P network plugin redirects the outgoing I2P traffic of azureus to your I2P router that is if Azureus is trying to connect to some peer outside.

The Incomming traffic is not handeled by the plug in. To allow for incomming traffic you have to configure a server tunnel in your I2P-router and forward this tunnel to some port on the machine where azureus lives and listens. For this to work you have to instruct azureus to overwrite the address sent to the tracker with the hash key for that server tunnel

So, what's next?

Configuration and installation of the i2prouter:

Download the I2P proxy and install it to /usr/local/i2p and fire it up

# java -jar i2pinstall.exe
# cd /usr/local/i2p
# ./postinstall.sh
# ./i2prouter start

now fire up your browser and connect to the i2pconsole at:

http://localhost:7657/index.jsp

If you can see the the I2p proxy console now your i2p router should be up and running. Make sure you do the general I2P router configuration and itis working properly (configuring NAT and the like where applicable) Inbound TCP connection need to be enabeled if you want remote source to connct to Azureus (NAT OK)

Now do the Azureus specific I2P router configuration:

  • Click on "I2P tunnel" Or you can click here
  • Select add new server tunnel standard and click create.
  • Enter a Name e.g. Azureus and a Description e.g. Azureus server tunnel.
  • Check Auto Start (yes) so that the Server tunnel gets opened automatically when you fire up your i2p router.
  • enter the target host which is the IP address or name of the machine where Azureus lives. If your I2P router and Azureus running on the same box its usually ok to enter localhost here.
  • As Target host Port enter the port number your Azureus is listening on incoming TCP connections e.g. 57431
  • Enter a name for the Private key file e.g. AzureusPriv.dat.

The rest can remain unchanged.

  • Now click save and the I2P router will generate a local destination hash.
  • Copy the local destination hash to the clipboard that will appear in the status message window. The hash will be the address or identifier which will be announced to the tracker and wich peers from the i2p network will use to connect to you.
    If you lost this hash you can also copy it from the Local Server Tunnel entry. You will find a new entry und local server tunnels with the name you have chosen above e.g. Azureus. Click on the Name and a Tunnel configuration window will pop open. Now you can copy the hash from the local destination field . Make sure you get the whole thing its very long.

Now your finished with the I2P router configuration

Configuration of Azureus
  • go to Azureus/Tools/Ḱonfiguration/Tracker/Client
  • Click on overwrite announce ip address options and paste the local destination hash in here which you copied from the server tunnel you just created.
  • Move the curser to the end of the hash and append
.i2p
This is important. If you don't do this correctly it will render Azureus unresponsive when you open a torrent.

  • Now go to Connection and enter port 57431 in the incoming TCP field. The port should be the same as your entered as the target port field when you configured the server tunnel in your I2P router.
  • Now go to proxy settings and
  • activate use proxy for comunication with Tracker
  • activate have SOCKS proxy
  • enter localhost as host address
  • enter an unused port which azureus should use to communicate with the I2P network plugin (which serves as proxy) e.g. 15223
  • leave user and pass blank
  • (check) activate Proxying for source communication
  • uncheck (deactivate) imform tracker ..
  • select SOCKS Version V4a (do not use V4, this will not work)
  • check (activate) use the same Proxy setting for Tracker and Source communication.
  • Now go to Plugins/I2P Network Plugin and
Configuration of the I2P Network plugin
  • Check "enable" to activate the plugin
  • enter the path to the directory where you have installed the i2p router to e.g. /usr/local/i2prouter
  • if you don't do this correctly then you get
  • I2P install location not defind, plugin initialisation failed
  • Enter the Port you which the I2p Network plugin to listen on In Network relay port. This port must mach the port you entered as the port for tracker communication.

The rest can remain unchanged.

Configure the UPnP functionality if you which so that the i2p network plugin opens the i2p router ports for you.

  • Now restart Azureus

When lucky then you get: "i2p router connection succeeded" messge
Attantion: This only means that your i2p plugin works. Make sure that Azreus does not accept connections from outsinde i2p and that azureus does not attemt to connect to networks outside the 12p. this might compromise you ananymity since in this case you're in danger transmit your ip and your hasch to the same server.

Now go to tracker.postman.i2p

Troubleshooting:
If Azureus freezes after you opened a terrent then you dident copy the destination hash of your server tunnel to Azureus correctly. Check that .i2p is appended to the end of the hash.
If your NAT status light remains yellow this most likely means that you haven't configured the incomming connections properly. Then you have to check if you configured the server tunnel correctly. Check furthermore if the target port of the Azureus server tunnel of the i2prouter and the TCP port Azureus listens on do match each other. More over the i2prouter needs to be configured to accept incoming TCP connections.
Links:
Azureus I2p Plugin

Labels: , , , ,

2 Comments:

Anonymous Lokeu said...

Hi,
I have a question about I2P configuration and public trackers (as Mininova.org,...)

When I try to connect to the tracker, I've always the message "Tracker peer source is disabled".

And there is some hours I'm working on!

I only get connection by plugin, think it's well configured.

Have you an idea to fix this issue?

Thx

Tuesday, April 07, 2009 11:27:00 AM

 
Blogger sunshine said...

All growth is a leap in the dark.
cheap nfl jerseys

cheap nhl hockey jerseys for sale

Wednesday, August 27, 2014 2:54:00 AM

 

Post a Comment

<< Home