# I2P

I2P, originariamente chiamata Invisible Internet Project, è un software libero e open source per la realizzazione di una rete anonima. La rete offre un livello in cui le applicazioni possono scambiarsi dati, messaggi, navigare e quant'altro. Tutti i dati sono avvolti con diversi livelli di crittografia.
Gli sviluppatori tendono a sottolineare che vi sia la possibilità di bug e non vi è ancora stata abbastanza analisi della rete. Stanno lavorando a rendere gli attacchi molto più costosi per il montaggio della rete.
La rete stessa è rigorosamente a base di invio messaggi (come IP), ma non vi è una libreria a disposizione per consentire lo streaming di comunicazioni affidabili su di esso (simile al protocollo TCP, anche se dalla versione 0.6 vi è un nuovo trasporto dati basato su UDP SSU).
Sebbene molti sviluppatori abbiano preso parte alla community di Invisible IRC Project e Freenet, vi sono differenze significative tra i loro progetti e concetti. IIP è stato un server IRC anonimo centralizzato, Freenet è una rete peer-to-peer decentralizzata, creata per resistere alla censura. I2P è un livello di comunicazione anonimo peer-to-peer distribuito progettato per eseguire qualsiasi servizio Internet tradizionale (ad esempio, Usenet, E-mail, IRC, file sharing, Web hosting e HTTP, Telnet), così come le più tradizionali applicazioni distribuite. Ci sono diverse differenze anche con Tor, quest'ultimo un servizio maggiormente centralizzato mentre I2P a differenza di I2P, decentralizzato peer-to-peer.
I2P è ancora in sviluppo beta dal 2003, quindi non ancora ritenuto idoneo per gli usi che necessitano di un anonimato forte.

## Applicazioni software I2P

Essendo I2P un livello di rete anonima, essa è progettata per consentire ad altri programmi di comunicare in modo anonimo (livello di applicazione) così che sono stati realizzati diversi software disponibili per I2P e altri in via di sviluppo.

### I2PTunnel

I2PTunnel è un'applicazione incorporata in I2P che permette arbitrariamente alle applicazioni TCP/IP di comunicare su I2P attraverso la realizzazione di un "tunnel", al quale si ha accesso attraverso una determinata porta su localhost.

### SAM

SAM è un protocollo che consente ad una applicazione client, scritta in qualsiasi linguaggio, di comunicare in I2P, utilizzando una interfaccia basata su socket per il router I2P.

### Bittorrent

Qualsiasi client Bittorrent può sfruttare la rete I2P per le sue funzionalità, semplicemente configurando il client e il browser e scaricando il file .torrent.
I2P ha una applicazione incorporata chiamata I2PSnark.
Per Azureus, un famoso client Bittorrent, è stato realizzato un plugin per l'accesso alla rete I2P. Questo plugin è ancora in una fase iniziale di sviluppo, tuttavia è già abbastanza stabile.

### iMule

iMule è un client multipiattaforma della famiglia *Mule, adattato al network I2P e modellato sul client aMule. Questo client non utilizza più la rete ed2k, bensì solamente la Kad in ambito I2P. Non, quindi, "la Kad di eMule", come spesso viene imprecisamente indicata.

### I2Phex

I2Phex è la versione modificata di Phex che sfrutta la rete Gnutella, adattata per funzionare con la rete I2P. Progetto ancora in via di sviluppo.

## I2P terminologia

Gli utenti I2P vedranno visualizzati i seguenti termini nella homepage di I2P e nella loro Router Console di I2P.

### Eepsite

Gli Eepsite sono dei siti web ospitati nella rete anonima I2P. Generalmente i domini terminano con .i2p come ugha.i2p o orion.i2p. EepProxy può individuare questi siti attraverso l'identificatore di chiavi crittografiche memorizzate nel hosts.txt che si trova all'interno del programma I2P. Normalmente, I2P è necessario per accedere a questi eepsites.

### EepProxy

L'EepProxy è un programma che gestisce tutte le comunicazioni tra il browser e qualsiasi eepsite. Funziona come un proxy server che può essere utilizzato da qualsiasi browser web.

### Peer

Sono altri utenti o applicazioni che utilizzano I2P e che sono collegati a voi all'interno della rete. Ogni macchina all'interno della rete condivide l'instradamento e la trasmissione di pacchetti cifrati.

### IRC

#i2p-help in i2p (anonimo) e #i2p-help in internet (non anonimo)