Below is quick copy of aum's I2P Site deployment guide.
1. - Implementați un server local- Pentru simplitate, vom merge prin configurarea unui server web, cu toate acestea, această procedură este aceeași, indiferent ce protocol de servere și / sau clienți pe care îl configurați.
- Vom recomanda serverul Httpd Tiny web, thttpd, (versiunea disponibilă pentru windows pe site-ul ), deși se poate utiliza orice cu care sa te simti confortabil cu.
- O altă opțiune mai robusta ar fi de a folosi EasyPHP, care este, de asemenea, open source. Acesta este dotat cu PHP, phpMyAdmin, MySQL, și server web Apache. Pentru începători care nu au experiență configurarea și găzduire conținutului pe servere, consultați pagina de hosting pentru ajutor.
- Cu serverul web pe care l-ați ales, configurați-l pentru a asculta un port la alegere, și a servi documentele sale de la un director la alegerea ta. Pentru acest exemplu, vom presupune 10880 port.
- Asigurați-vă că firewall-ul este configurat astfel încât să nu poate primi conexiuni de intrare la acest port (care ar încălca anonimatul).
- Testați serverul de web, arătând browser-ul dvs. normal (cel cu "legătura directă") la http://localhost:10880 a> (schimbati 10880 de numărul de port ce l-ați ales).
- Odată ce serverul dvs. lucreaza, și îl puteți accesa la nivel local cu browser-ul dvs., continuați cu pasul următor.
- I2P nu ocupă adrese IP. Pentru a proteja anonimatul, se ocupă adrese unice numite chei de destinație.
- O cheie destinație funcționează ca o adresă IP obișnuită, cu excepția faptului că nu pot fi urmărite dupa adresa IP sau locație fizică. Când utilizatorii plaseaza o cerere de a vorbi cu tine, gateway-urile sunt cele care răspund pentru tine. Astfel încât utilizatorul solicitant poate cunoaște doar adresa IP a gateway-urile. Cu toate acestea, gateway-uri nu știu adresa IP dvs. , deoarece gateway-uri sunt ultimele nodurile de pe tuneluri, și creați anonim tuneluri de cale de usturoi de rutare. (Deci, gateway-uri sunt ca marionete care nu pot vedea stăpânii lor, și toată lumea comunică prin intermediul acestor marionete)
- Pentru a implementa un server de pe I2P, creați o keypair destinație. Puteți utiliza cheia privată pentru a autentifica server-ul dvs. atunci când se conecteaza la I2P, și să vă facă cheia publică (aka cheie destinație), cunoscut în mod public, astfel încât alții se poate conecta la server. (indirect, prin intermediul gateway-urile)\
- Fiecare serviciu ce rula pe I2P necesită un keypair diferit.
- Pentru a genera keypair dvs., tastați comanda:
java-jar lib/i2ptunnel.jar-nogui-e "genkeys myWebPrivKey.dat myWebPubKey.dat" code> (tot pe o singură linie)
- Pentru a genera keypair dvs., tastați comanda:
java-jar lib/i2ptunnel.jar-nogui-e "genkeys myWebPrivKey.dat myWebPubKey.dat" code>
- Nume de fișiere
myWebPrivKey.dat code> și
myWebPubKey.dat code> sunt arbitrare - alege ce vrei aici, atâta timp cât ați înțeles propriile alegeri.
- Avem acum nevoie pentru a exporta cheia dvs. publică în format base64, care vă vor împărtăși cu alții.
- Pentru a converti fișierul myWebPubKey.dat în base64 partajabile, tastați
comanda java-cp lib/i2p.jar net.i2p.data.Base64 codifica myWebPubKey.dat> myWebPubKey.txt code> (tot pe o linie ).
- Acest fișier pe care tocmai ați generat,
myWebPubKey.txt code>, conține un șir de base64 lung (516 de caractere de la ultima numaratoare), pe care o numim o cheie destinație. Tot ce trebuie să știți despre acest șir de acum este că permite clienților de la distanță pentru a indica în mod unic și conecta la server-ul dvs., chiar în același mod ca și o adresă IP permite mașini la distanță să identifice și să se conecteze la mașina dumneavoastră.
- Cu toate acestea, spre deosebire de o adresă IP, nu există nici o modalitate de a urmări locația fizică a aparatului dumneavoastră - chiar dacă server-ul dvs. pot fi abordate prin intermediul I2P, adresa IP nu pot fi urmărite sau asociate cu această cheie destinație.
- Pentru clienții din alte părți I2P a putea accesa server-ul dvs., trebuie să executați o "punte" sau "tunel", care are legături de la acești clienți și le transmite la server-ul local.
- Pentru a genera keypair dvs., tastați comanda:
java-jar lib/i2ptunnel.jar-nogui-e "genkeys myWebPrivKey.dat myWebPubKey.dat" code> (tot pe o singură linie)
- Dacă ați utilizat diferite nume de fișiere sau număre de port mai devreme, schimba aceste în consecință
- Utilizatorii de Windows, tineti minte sa înlocuiti apostroful cu ghilimele duble. Astfel:
java-jar lib/i2ptunnel.jar-nogui-e "localhost server de 10880 myWebPrivKey.dat" code>
- În câteva secunde, "tunelul" ar trebui să fie acum activ, și clienți la distanță ar trebui să ajungă la server-ul dvs. în mod anonim. Amintiți-vă pentru a permite router-ul "sa se incalzeasca" înainte de a deschide pentru clienți .
- Pentru a testa un server propriu la nivel local, va trebui să creați o intrare în fișierul hosts.txt, astfel încât I2P poate traduce URL-ul simplu plasați în bara de adresa a browser-ului cheie publică necesara pentru a găsi server.
- Editati hosts.txt dvs., și adăugați linia myserver.i2p = blahblahblah, unde myserver.i2p este un "domeniu" I2P doriți să se asocieze cu site-ul dvs., și blahblahblah este textul cheii publice base64 ce l-ați creat mai devreme în fișier myWebPubKey.txt
- În acest loc, dvs. si altii pot ajunge la server-ul dvs. cu un simplu nume de domeniu myserver.i2p în bara de adrese a browser-ului.
- Folosind browser-ul secundar - configurat mai devreme pentru a utiliza localhost: 4444 ca un proxy - punct acest browser pentru a adresa http://myserver. I2P a>
- Ar trebui să vedeți pagina principală de pe serverul Web
- Avem acum să se gândească dincolo de doar servere de web.
- Pe măsură ce creste integritate în I2P și a obține mai mult de un "simt" pentru el, veți dori să folositi tot felul de servere si clienti.
- Frumusețea I2P este că permite clienților de internet standard și servere pentru cele mai multe protocoale să fie transparent "tunel" prin intermediul rețelei anonim.
- Puteți rula de servere mail / clienti, servere de nume / clienti, servere de noutati / clienti - aproape orice, la toate - poate chiar FTP în modul pasiv.
- Acum, vom crea un tunel client. Acest lucru este ca tunelul de server pe care l-am creat mai devreme, dar funcționează în sens invers. Se ascultă la un port de pe computerul local, clientul dvs. local se conectează la acest port, conexiunea este transmisă prin I2P la serviciul de la celălalt capăt.
- Pentru a deschide tunelul client pentru server-ul dvs., tastați comanda
java-jar lib/i2ptunnel.jar-nogui-e "config localhost 7654"-e "client 10888 textofbase64key" code> (tot intr-o singură linie).
- Port 10888 este arbitrar - trebuie doar să fie altceva decât portul fizic pe care il asculta server-ul dvs..
- textofbase64key este pur și simplu conținutul fișier cheie public myWebPubKey.txt, scrisa pe o singură linie (alternativ, în loc de textofbase64key, puteți specifica numele de hosts.txt dvs. - de exemplu myserver.i2p)
- Într-un minut sau două dupa lansarea acestei comenzi, tunelul de client de la computerul local în I2P va fi deschis și gata de utilizare.
- Punctul de browser-ul web regulat (de exemplu, nu cel pe care l-ati configurat pentru a utiliza localhost: 4444), și punctul în care să http://localhost:10888 a>
- Asigurați-vă că pagina principală a serverului dvs. în cele din urmă vine în browser-ul dumneavoastră.
- Puteți utiliza aceeași procedură pentru folosirea orice programului client local, pentru a accesa un server de la distanță I2P - ajunge doar cheia publică base64 (denumit cheie destinație) din serverul de la distanță, alegeți un port local pentru a se conecta la serverul de la distanță, deschideți tunel, și doar conecta cu clientul dvs. pentru inima ta de conținut.
- Folosind un mediu anonim (de exemplu, unul dintre serverele IRC I2P sau wiki ugha), posta numele dvs. de domeniu (de exemplu, www.mynick.i2p a>, precum și cheia destinație. Alții vor putea apoi să ajungă la server-ul dvs. de la distanță, fără ca nici unul dintre va pune în pericol anonimatul.
- Retineti, poti sa te duci la ceea ce este pe I2P și pentru a găsi cele mai recente cheile publice legate de URL-ul lor. Tu ar trebui să postezi, de asemenea, cheie publică proprie și URL-ul lor. Cu toate acestea, veți dori să faceți acest lucru anonim, desigur. Drupal.i2p.net este în prezent, scris, accesibil numai de pe net. Deci, pentru a accesa WWW exterior anonim din interiorul I2P, veți avea nevoie pentru a porni script-ul numit startSquid. Fă-o la fel cum au făcut alte script-uri. Reconfigurati browser-ul dvs. să proxezi pe localhost: 5555, astfel cum sunt definite în script, iar în cazul în care script-ul a generat cheile, puteți accesa proxy squid. Pune orice URL-ul WWW (cum ar fi Google sau site-ul I2P) în bara de adrese a browser-ului dvs. și veti avea navigarea pe World Wide Web anonim. Acum puteți posta în siguranță cheia dvs. publică, și nimeni nu poate detecta adresa IP.
- Aceasta ar conduce majoritatea oamenilor nebun, trecând prin toate aceste etape de fiecare dată când unul stabilește un server I2P, și / sau implementează un client.
- Aum site-ul http://www.freenet.org.nz/i2p/ a> are un script numit setupServer.py care automatizează toate prostiile astea într-o singură linie de comandă simplă. Dar eu respect gusturile oamenilor în interfețe de utilizator diferite, și încercarea de a scrie ceva care satisface nevoile tuturor, de obicei, duce la ceva atât de complex, care se transformă în ceva teribil.
- Deci, vă rugăm să nu ezitați să folositi și/sau personalizati setupServer.py la gust, sau scrieti script propriu în Python sau intr-o altă limbă.
- De asemenea, poate doriți să scrieti un script care se ocupă de pornire a Router-ului I2P, eepProxy, plus toate tunelurile pe care le folosiți. Am un astfel de script numit startEverything.sh, care va fi lansat la pornirea sistemului. (Asigurați-vă că pentru a căuta site-ul pentru script-uri șablon pentru a automatiza comenzile I2P. Dacă aș crea o pagină pentru unul, voi încerca să retin ca să-l leg aici.
- Exercițiu pentru utilizatorii de Windows - transcrieti setupServer.py într-un fișier BAT MS-DOS..