Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

Install i2p

Share your HowTo, Documentation, Tips and Tricks. Not for support questions!.
Post Reply
Message
Author
User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

Install i2p

#1 Post by nadir »

0) Disclaimer
This summary assumes that you know what it means to add non-official repos to your sources-list.
If you hesitate to do that: a)good and b) have a look at tails
https://tails.boum.org/
it comes with tor and i2p set up.
Also i2p is planned to be packaged, so its a matter of time and patience only.

Information (how-to install, faq, forum, etc) is to be found here:
http://www.i2p2.de/
check this too:
http://ugha.i2p.to/
all instructions, including the ones for non-i368:
http://www.i2p2.de/debian#nonlinux
the German :o Handbook:
http://www.planetpeer.de/wiki/index.php ... P-Handbuch
from here: http://www.planetpeer.de/wiki/index.php/Main_Page

1) What is i2p:

Code: Select all

    Description: Load-balanced unspoofable packet switching network
     I2P is an anonymizing network, offering a simple layer that identity-sensitive
     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.
     .
     This package depends on the router, jbigi, the java service wrapper, and
     includes support to run I2P as a daemon.

2) What does it offer:

- invisible internet and public Web browsing
- anonymous email
- anonymous chat
- anonymous filetransfer
- forums/blogging
- server (jetty) to host your own i2p/eep site
out of box, and much more via installable plugins


3) Install it:
add a source list
/etc/apt/sources.list.d/i2p.list

Code: Select all

        deb http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu natty main
        deb-src http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu natty main 
Or (see here: http://forums.debian.net/viewtopic.php? ... 73#p451105 when not on Squeeze):

Code: Select all

 deb http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu precise main  
add the key

Code: Select all

    apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EB2CC88B
and install it
( some form of java needs to be there, "apt-get install default-jre", but i think it comes as a dependency automatically)

Code: Select all

apt-get install i2p
and then start it

Code: Select all

    i2prouter start
it opens in a web-browser, as http://127.0.0.1:7657/
wait a bit (loot at the left panel, Peers, and wait till a few are listed).
After short, much less than five minutes, i got more than 10 active peers.

4) configure web-browser
iceweasel->preferences->advanced->network->proxy
http: 127.0.0.1 port:4444
https:127.0.0.1 port:4445
That way you would browser the official web (the famous WWW) via i2p bridge.
But that is a bad solution. i2p is a separate net, use tor if you want to browse the official Web.
The most easy solution is to install privoxy, configure it by adding the following to /etc/privoxy/config:

Code: Select all

# tor, onion and i2p 
forward-socks5 / 127.0.0.1:9050 .
forward-socks5 .onion 127.0.0.1:9050 .
forward .i2p localhost:4444
#
and set your web-browser to use 127.0.0.1 8118 as a proxy.
You will now use i2p for the i2p-network and tor for the public Web.

configure i2p
127.0.0.1:7657 -> left panel -> I2P Services
and have at it.
You might want to set bandwith higher in the "Network" tab

More will follow
(set up pidgin or xchat for i2p-chat, tunnel it over ssh and set up the i2p-server to host your own eepsite. How to use the torrent i barely know, download is fine, but uploading is beyond me).
Last edited by nadir on 2012-09-02 15:04, edited 6 times in total.
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.

User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

IRC-chat

#2 Post by nadir »

IRC
Is rather easy.
Somehow like the following, but both interfaces (xchat and pidgin) are a bit confusing to explain.


xchat

start xchat
pick a username,
click on "add"
give it a name, say "i2p-irc"
click on "edit"
change newsserver/6667 to localhost/6668, again after clicking edit
click on "connect"
wait a bit, then click on menu, server, join a channel, and view the channel-list
(If something goes south you may try settings, preferences, network-setup, -> localhost and 6668). Then reconnect from the menu-bar, Server, reconnect.


pidgin

menu-bar-> accounts -> manage accounts
Basics-tab:
click on add
protocol is "IRC"
any username you want
server is localhost
Advanced-tab:
set port to 6668
username and real-name to something, but set it.
Close add-account

Click on "Buddies" in the menu.
Click on "join a chat"
Pick the account you just created.
click on Room list and choose a channel.
Or:
Click on "Buddies" in the menu
Click on add chat, then click your way, perhaps set to autojoin.

In short:
server is localhost
port is 6668
Last edited by nadir on 2012-08-12 18:10, edited 3 times in total.
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.

User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

Jetty-Server

#3 Post by nadir »

How to set up your own i2p-server (kinda web-server, but not on the web :-)

Summary of what i think i did.
It is a bit too detailed, but i ran across lots of infos/how-to's which skipped important parts.



0) Overview

You need a server with ssh-access, privoxy, tor and i2p
You sshforward i2p-router and privoxy port to access the webinterface locally
You copy the website to the server, ~/i2p/eepsite/docroot
You set up the webserver jetty in the i2prouter-console, I2PTunnel
Finally you will have to announce it to the i2p world.

1) What you need:

a) a 24/7 machine
b) ssh-access to it, and the knowledge involved
c) an existing website (index.html)
d) bit of time, bit of headeaches (seriously)



2) On the server side

Code: Select all

    ssh me@server 
and

Code: Select all

    apt-get install privoxy tor i2p
edit /etc/privoxy/config, and append:

Code: Select all

    forward-socks5 / 127.0.0.1:9050 .
    forward-socks5 .onion 127.0.0.1:9050 .
    forward .i2p localhost:4444

Restart privoxy

Code: Select all

    /etc/init.d/privoxy restart
edit ~/.i2p/clients.config and make this line:
clientApp.4.startOnLoad=true
like this:

Code: Select all

    clientApp.4.startOnLoad=false

The comment says it all: if you start i2prouter it won't try to open a web-browser
(if you don't make that change the web-browser simply won't start, it seems, but i changed it anyway)

Code: Select all

  i2prouter start

Code: Select all

    exit
the ssh to the server

You will probably want to forward the port you find at:
i2p-router-console, left panel -> I2PServices, Network
from your network router (with usual port-forwarding).


3) On the client site

If you got them installed:

Code: Select all

    /etc/init.d/privoxy stop
    /etc/init.d/tor stop
    i2prouter stop
Then:

Code: Select all

    ssh -L7657:127.0.0.1:7657 -L8118:127.0.0.1:8118 -L6668:127.0.0.1:6668
which are the ports for the i2p-router, for privoxy and for i2p-irc

open iceweasel/firefox, menu-bar -> Edit -> preferences -> advanced -> network
set it to make use of
127.0.0.1 and port 8118
(which is just the same as if you would be running privoxy locally. If you had that, keep as is.
I am not sure if 127.0.0.1 or localhost is of importance, i am not sure about the need to clear the cache or restart iceweasel.
That takes a bit of fiddling. Looks like it suddenly would work. Patience won't hurt).

open an arbitrary website to check if you still got internet access:
https://duckduckgo.com
Once here enter
"am i using tor?
and click on
https://check.torproject.org/
If you don't use tor
a) fiddle with the settings of iceweasel. If that doesn't help:
b) exit the ssh connection and run the ssh command again
Hopefully it won't take to long to get it sorted.


4) the path for an eepsite (~/.i2p/eepsite/docroot)
rsync your existing website (index.html, css directory, whatnot to the server)
I first copy it to the existing folder /home/me/Temp at the server:

Code: Select all

    rsync -ruv index.html css me@server:Temp
    ssh me@server

Make a backup of the existing eepsite It contains a good docu

Code: Select all

    cd ~/.i2p/eepsite
    cp -r docroot docroot_original
Copy your site in place:

Code: Select all

    cd docroot
    cp -r ~/Temp/{index.html, css} .

5) go back to the web-browser at the client
open the i2prouter
http://127.0.0.1:7657
In the left panel click on
I2PTunnel
Then click on
I2P webserver
click on Auto Start(A): (Check the Box for 'YES')
Enter a name you like (all lower case, ending with .i2p) at:
Website name(W): h4xsor.i2p
and copy the __complete__ Local destination(L):
Scroll down and click on "Save"


6)
Go back to the router-console

http://127.0.0.1
and click on Addressbook, then master
Enter the name of your eepsite
h4xsor.i2p
and the Local destination just copied from the I2PTunnel.
click on save

You should now be able to access your eepsite yourself (but the world does not know about it, yet).
As we didn't ssh-forward port 7658 with ssh, you can't access it from the link "Website" at the routepage (7657)
Either use your name "h4xsor.i2p", or go to
router-console, I2PTunnel, and click on "Preview".



7) Inform the world

Edit: As far i see go here:
http://stats.i2p/i2p/addkey.html
enter your i2p sites name and the Local destination(L), to be found at the I2ptunnel-manager.
Announce it here too:
http://forum.i2p2.de/viewforum.php?f=16 ... 04695ec4c5
_after_ you read the sticky.

All as far i can tell.
It is more easy to do than to explain. Not super-easy, but doable.
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.

User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

Email

#4 Post by nadir »

Super detailed how-to including the kitchen sink is here:
https://wiki.vorratsdatenspeicherung.de ... eres-Email
but in general all you do is open the i2p-router:
http://localhost:7657
click on the i2p symbol top-left, then click on
email
and then on
create account
at the bottom of the susi-mail page. Done.
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.


User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

Re: Install i2p

#6 Post by nadir »

That is all i know.
Happy hacking.

If you can share info or knowledge, please do so
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.

User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

Re: Install i2p

#7 Post by nadir »

Another operating system, liveCD:
http://www.ipredia.org/
The other one is mentioned above (tails)

I created this remix:
https://minus.com/ly12K8U6HLcCp
I got no clue how minus works, and it really is just a dirty hack, aka for private usage. You have been warned.
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.

User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

Re: Install i2p

#8 Post by nadir »

I can't promise anything but that it boots here:
http://sourceforge.net/projects/lullysec/files/Image/
It's huge. I will make a smaller version without metasploit soon (Edit: done). Above link to minus is small (CD-size).
i2p needs to run for a while to have acceptable speed.

Readme:

Code: Select all

A work in progess. 

username 'user' with password 'user' root password: 'root' 

Based on the actual Debian stable: squeeze.

Includes (the main idea): 
- xfce4, e17, fluxbox, icewm 
- tor, i2p, privoxy (freedombox-privoxy), proxychains, foxyproxy, cli is set to use tor too 
- nmap, zenmap, etherape , wireshark, tcdpump, gnome-netool, wicd, darkstat, ntop ...
 - iceweasel, xchat, gajim, filezilla 
   (iceweasel configured for tor and i2p via privoxy, xchat configured for i2p-chat) 
- retroshare, gnunet-p2p, nicotine 
   (username retroshare: 'lullysec' password: 'user') 
- ssh, sshfs, rsync, monkeysphere ... 
- encfs, cryptsetup, cryptkeeper, wipe ...
- metasploit, w3af, inguma, sqlmap, dsniff ... 
- apache2, mysql, php to run wordpress and scuttle at localhost
   (username for wordpress/scuttle: 'user', password: 'user')
- docus at /home/user/PDF-docus
- bookmarks for the public web and i2p 
- anonymous wallpaper :-)
You are probably adviced better if you are told to use tails. This remix is mainly for me.
Last edited by nadir on 2012-08-31 00:43, edited 1 time in total.
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.

User avatar
subhuman
Posts: 360
Joined: 2011-08-20 14:54

Re: Install i2p - Broken Package in x86 Architectures

#9 Post by subhuman »

the following comes in two versions: a short one, and an extended lounge remix. but before we start: all of the following applies to sid! it may be correct for the other distros, but must not necessarily.

in short: i2p depends on the Java Big Integer library libjbigi-jni, which requires libgmp3c2. as you can see, this package is not available for x86 architectures. this may have to do with differences between debian and ubuntu, or as well be a versioning problem of the libgmp3 package maintainers. i'cannot say.

the longo tello goes as follows:

Code: Select all

~# apt-cache search i2p
[...]
i2p - Load-balanced unspoofable packet switching network
i2p-doc - Documentation for I2P
libjbigi-jni - Java Big Integer library
i2p-router - Load-balanced unspoofable packet switching network

~# apt-get -s install i2p
 i2p : Depends: libjbigi-jni (>= 0.9.1+repack-1natty1) but it is not going to be installed
       Depends: libjbigi-jni (< 0.9.1+repack-1natty1.1~) but it is not going to be installed
E: Broken packages

~# apt-get -s install libjbigi-jni
 libjbigi-jni : Depends: libgmp3c2 but it is not installable
E: Broken packages

~# apt-cache search libgmp3c2
[no output]
~# apt-cache search libgmp3
libgmp3-dev - Multiprecision arithmetic library developers tools
so far, so good. i then apt-got the source for the latter package (plus gcc-multilib and g++-multilib, which are both necessary for the next step), cd'ed to the unpacked directory and called:

Code: Select all

~# dpkg-buildpackage -b
the result looked most promising:

Code: Select all

lib32gmp-dev_5.0.5+dfsg-2_amd64.deb
lib32gmp10_5.0.5+dfsg-2_amd64.deb
lib32gmpxx4_5.0.5+dfsg-2_amd64.deb
libgmp-dev_5.0.5+dfsg-2_amd64.deb
libgmp10-doc_5.0.5+dfsg-2_all.deb
libgmp10_5.0.5+dfsg-2_amd64.deb
libgmp3-dev_5.0.5+dfsg-2_amd64.deb
libgmpxx4ldbl_5.0.5+dfsg-2_amd64.deb
after the installation, the next step was:

Code: Select all

~# apt-get -s install libjbigi-jni
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libgmp3-dev : Depends: libgmp-dev (= 2:5.0.5+dfsg-2) but it is not going to be installed
 libjbigi-jni : Depends: i2p-router but it is not going to be installed
                Depends: libgmp3c2 but it is not installable
E: Unmet dependencies.
(by the way, since this is a howto thread: i copied these packages to /var/local/cache/apt/archives and installed them via mc - except the first three in the list, which i don't need for my amd64.)

ok, the *-dev dependency was my fault, but still, after i fixed that, there remained the ominous libgmp3c2:

Code: Select all

~# apt-get -s install libjbigi-jni
The following packages have unmet dependencies:
 libjbigi-jni : Depends: libgmp3c2 but it is not installable
E: Broken packages

User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

Re: Install i2p

#10 Post by nadir »

Your dependency problems are above me, and i gave up on amd64.
I seem to recall i had the same problem when running amd64.
Did you try the non-x86 way
http://www.i2p2.de/debian.html#nonlinux
? I think that worked for me.

i2p forum seems to be down, but they speak the l33t speak and are hard to understand anyway.
Searching for your error i found an old post by zzz bout amd64 (but it didn't help).
Asap i will ask at the i2p channel about that (need to make a new account to stay anonym :-), hence asap).

I hope someone of the experienced ones will be able to help with the dependency problems.
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.

KillYourTV
Posts: 2
Joined: 2012-09-02 14:34

Re: Install i2p - Broken Package in x86 Architectures

#11 Post by KillYourTV »

subhuman wrote:

Code: Select all

~# apt-get -s install libjbigi-jni
The following packages have unmet dependencies:
 libjbigi-jni : Depends: libgmp3c2 but it is not installable
E: Broken packages

Hi. You're probably trying to use packages for the wrong system.

As per http://www.i2p2.de/debian#debian

Code: Select all

For Debian Oldstable (Lenny) and Stable (Squeeze): Add the following entries to /etc/apt/sources.list.d/i2p.list
    deb http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu natty main
    deb-src http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu natty main

For Debian Testing (Wheezy) or Unstable (Sid), use the following:
    deb http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu precise main
    deb-src http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu precise main 
I'm guessing that you're not on Squeeze. Try

Code: Select all

 deb http://ppa.launchpad.net/i2p-maintainers/i2p/ubuntu precise main  
instead of the repository mentioned above.
Last edited by KillYourTV on 2012-09-02 14:46, edited 2 times in total.

KillYourTV
Posts: 2
Joined: 2012-09-02 14:34

Re: Install i2p

#12 Post by KillYourTV »

nadir wrote: i2p forum seems to be down, but they speak the l33t speak and are hard to understand anyway.
Searching for your error i found an old post by zzz bout amd64 (but it didn't help).
Asap i will ask at the i2p channel about that (need to make a new account to stay anonym :-), hence asap).
The Internet facing side of the forum was shut down due to DDoS attacks, but it's again available within the I2P network via http://forum.i2p.

User avatar
nadir
Posts: 5961
Joined: 2009-10-05 22:06
Location: away

Re: Install i2p

#13 Post by nadir »

Thanks for the info. I added the sources-list entry to the first post.

As far i can see one should be able to reach the i2p-forum inside of i2pnet via:
https://www.awxcnx.de/tor-i2p-proxy2-en.htm
In case one has questions how to set it up. Once i2p is running one will find resources (ughas wiki, irc-chat, etc...).

I have read about i2p at the freedombox mailing list again, after i didn't read there about it for a while. I hope they will implement it (keep discuss it, etc). It really is a good and interesting tool (though a alot is above me). With a 24/7-server speed is good.
"I am not fine with it, so there is nothing for me to do but stand aside." M.D.

User avatar
subhuman
Posts: 360
Joined: 2011-08-20 14:54

Re: Install i2p

#14 Post by subhuman »

@KillYourTV bingo! thx for clarifying, the router is up & running.

edit:
nadir wrote: How to use the torrent i barely know, download is fine, but uploading is beyond me
apart from that i can't seem to get privoxy to accept connections, i 'm able to help you with the torrent problem of yours. the answer begins with: it depends. :D no kidding.
it depends on the place where you want to publish the torrent file. myself being a PB member, i can tell you how they want the directory structure to accept a torrent file:

1.) create a directory of the same name your torrent file shall have as a subdir in var/lib/i2p/i2p-config/i2psnark/.
2.) in your new directory create as many other subdirs as you like and put the contents you want to share in them.
3.) in your new directory create a text file, which must not end in .txt - they will reject your torrent if it does. ("content.nfo" will do fine for example)
4.) open the snark, select a tracker ("Open trackers only" i'd take), and click on "create torrent".
5.) wait a little. hashing may take its time.
6.) upload the torrent to the publishing site.
7.) start seeding for as long as you have at least once uploaded to the world all of the contents your torrent points to. after that it no longer needs you.

the differences lie in steps 2 & 3. PB requires torrents to be exactly this way. demonoid for instance insists on a file named "Torrent by Demonoid.com" or something, but may be less strict on behalf of the directory structure.

Post Reply