Aşağıda, aum tarafından hazırlanmış I2P Sitesi dağıtım rehberinin kısa kopyasını bulabilirsiniz.

1. - Yerel bir sunucu yayınlayın
  • Basit olması için, bir web sunucusunun kurulumunu inceleyeceğiz. Ancak bu işlemler, hangi sunucu ve/veya istemci iletişim kuralını kurduğunuzdan bağımsız olarak aynıdır.
  • thttpd Tiny Httpd web sunucusunu öneririm (sitede Windows sürümü var). Ancak kendinizi rahat hissettiğiniz herhangi bir şeyi kullanabilirsiniz.
  • Daha sağlam bir seçenek de, kendisi de açık kaynaklı olan EasyPHP kullanmak olacaktır. PHP, PHPmyadmin, mySQL ve Apache web sunucusu ile birlikte gelir. Sunucular üzerine içerik barındırma kurulumu deneyimi olmayan yeni başlayan kişiler için uygundur. Yardım almak için barındırma sayfasına bakabilirsiniz.
  • Seçtiğiniz web sunucusunu, seçtiğiniz bir bağlantı noktasını dinleyecek ve seçtiğiniz bir klasördeki belgeleri sunacak şekilde yapılandırın. Bu örnek için, 10880 numaralı bağlantı noktası kullanacağız.
  • Güvenlik duvarınızı, bu bağlantı noktasından geliş bağlantılarını almayacak şekilde ayarlandığından emin olun (yoksa anonimliğiniz bozulur).
  • Normal web tarayıcınıza ("doğrudan bağlantılı" olan) http://localhost:10880 (10880 yerine kullanmayı seçtiğiniz bağlantı noktasını yazın) adresini yazarak web sunucusunun çalışıp çalışmadığına bakabilirsiniz.
  • Web sunucunuzu çalıştırıp tarayıcınızla yerel olarak erişebildiğinizi görünce bir sonraki adıma geçin.
2 - Bir I2P hedef anahtar çifti oluşturun
  • I2P, IP adreslerini kullanmaz. Anonimliğinizi korumak için hedef anahtarlar adı verilen benzersiz adresler kullanır.
  • Hedef anahtar, IP adresinize veya fiziksel konumunuza kadar izlenememesi dışında normal bir IP adresi gibi çalışır. Kullanıcılar sizinle konuşmak istediklerinde, sizin adınıza ağ geçitleriniz yanıt verir. Böylece istekte bulunan kullanıcı yalnızca ağ geçitlerinizin IP adresini bilebilir. Ancak ağ geçitleri IP adresinizi bilmez, çünkü ağ geçitleri tünellerinizdeki son düğümlerdir ve Garlic yöneltme yoluyla tünelleri anonim kalarak oluşturursunuz. (Yani ağ geçitleri efendisini göremeyen kuklalar gibidir ve herkes bu kuklalar aracılığıyla iletişim kurar)
  • I2P üzerinde bir sunucu yayınlamak için bir hedef anahtar çifti oluşturursunuz. Sunucunuzu I2P ağına bağlarken kimliğini doğrulamak için özel anahtarı kullanırsınız. Başkalarının sunucunuza bağlanabilmesi için herkese açık anahtarı (diğer adıyla hedef anahtar) herkese açık hale getirirsiniz (ağ geçitleriniz aracılığıyla dolaylı olarak).
  • I2P üzerinde çalıştırdığınız her hizmet için farklı bir anahtar çifti gerekir.
  • Anahtar çiftinizi oluşturmak için şu komutu yazın: java -jar lib/i2ptunnel.jar -nogui -e "genkeys myWebPrivKey.dat myWebPubKey.dat" (tümünü aynı satıra)
  • Windows üzerinde, anahtar çiftinizi oluşturmak için şu komutu yazın: java -jar lib/i2ptunnel.jar -nogui -e "genkeys myWebPrivKey.dat myWebPubKey.dat"
  • myWebPrivKey.dat ve myWebPubKey.dat dosya adları isteğe bağlıdır. Kendi seçimlerinizi anladığınız sürece burada istediğiniz gibi seçebilirsiniz.
  • Şimdi herkese açık anahtarınızı başkalarıyla paylaşacağınız base64 biçimine dönüştürmemiz gerekiyor.
  • myWebPubKey.dat dosyanızı paylaşılabilir base64 biçimine dönüştürmek için java -cp lib/i2p.jar net.i2p.data.Base64 encode myWebPubKey.dat > myWebPubKey.txt komutunu yazın (tümünü aynı satıra).
  • Yeni oluşturduğunuz bu dosya, myWebPubKey.txt, hedef anahtar dediğimiz uzun bir base64 dizgesi (son sayımda 516 karakter) içerir. Şimdilik bu dizge hakkında bilmeniz gereken tek şey, uzak istemcilerin benzersiz bir şekilde sunucunuzun tam yerini belirlemesini ve bağlanmasını sağlamasıdır. Tıpkı bir IP adresinin uzak bilgisayarların bilgisayarınızı tam olarak belirleyip bağlanmasını sağlaması gibi.
  • Bununla birlikte, bir IP adresinin aksine, bilgisayarınızın fiziksel konumunu izlemenin bir yolu yoktur. Sunucunuz I2P aracılığıyla adreslenebilse bile, IP adresiniz izlenemez veya bu hedef anahtarıyla ilişkilendirilemez.
3 - I2P üzerinden sunucunuza bir 'Tünel' açın
  • I2P üzerinde herhangi bir yerdeki istemcilerin sunucunuza erişebilmesi için, bu istemcilerden bağlantıları alan ve bunları yerel sunucunuza ileten bir 'köprü' veya 'tünel' işletmeniz gerekir.
  • Böyle bir tüneli etkinleştirmek için java -jar lib/i2ptunnel.jar -nogui -e "server localhost 10880 myWebPrivKey.dat" komutunu yazın (tümünü aynı satıra).
  • Daha önce farklı dosya adları veya bağlantı noktası kullandıysanız, bunları uygun şekilde değiştirin.
  • Windows kullanıcıları, kesme işaretlerini çift tırnak işaretiyle değiştirmeyi unutmayın. Yani: java -jar lib/i2ptunnel.jar -nogui -e "sunucu localhost 10880 myWebPrivKey.dat"
  • Birkaç saniye içinde, 'tünel' etkin olmalı ve uzak istemciler sunucunuza anonim olarak erişebilmelidir. İstemcileri açmadan önce yönelticinizin "ısınmasına" izin vermeyi unutmayın.
4 - hosts.txt dosyanızı güncelleyin
  • Kendi sunucunuzu yerel olarak sınamak için hosts.txt dosyanızda bir kayıt oluşturmanız gerekir.Bböylece I2P, tarayıcının adres çubuğuna yazdığınız basit adresi sunucunuzu bulmak için gereken tam herkese açık anahtar metnine çevirebilir.
  • hosts.txt dosyanızı düzenleyin ve myserver.i2p=blahblahblah satırını ekleyin. Burada myserver.i2p, sitenizle ilişkilendirmek istediğiniz bir I2P 'etki alanı' ve blahblahblah, daha önce oluşturduğunuz myWebPubKey.txt dosyasındaki herkese açık anahtarın base64 metnidir.
  • Bundan sonra, siz ve başkaları, web tarayıcının adres çubuğuna myserver.i2p basit etki alanı adını yazarak sunucunuza ulaşabilirsiniz.
5 - Sitenizde I2P içinde gezin
  • Daha önce localhost:4444 adresini vekil sunucu olarak kullanmak üzere yapılandırdığınız ikinci web tarayıcınızı kullanarak, bu tarayıcıdan http://myserver.i2p adresini açın
  • Web sunucunuzun açılış sayfasını görmelisiniz.
6 - Yerel istemci tüneli bağlantısı oluşturun
  • Şimdi web sunucularının ötesinde düşünmek zorundayız.
  • I2P üzerinde geliştikçe ve daha fazla 'aşina' oldukça, her türden sunucu ve istemciyi kullanmak isteyeceksiniz.
  • I2P güzelliğini, çoğu iletişim kuralı için standart İnternet istemci ve sunucularının anonim ağ üzerinden şeffaf bir şekilde "tünellenmesini" sağlamasından alır.
  • E-posta sunucuları/istemcileri, ad sunucuları/istemcileri, haber sunucuları/istemcileri, hemen hemen her şeyi, hatta belki pasif kipte FTP sunucusunu bile çalıştırabilirsiniz.
  • Şimdi bir istemci tüneli oluşturacağız. Bu, daha önce oluşturduğumuz sunucu tüneli gibidir, ancak tersine çalışır. Yerel bilgisayarınızdaki bir bağlantı noktasını dinler. Yerel istemciniz bu bağlantı noktasına bağlanır. Bağlantı, I2P üzerinden diğer uçtaki hizmete iletilir.
  • Sunucunuza istemci tünelinizi açmak için java -jar lib/i2ptunnel.jar -nogui -e "config localhost 7654" -e "client 10888 textofbase64key" komutunu yazın (tümünü aynı satıra).
  • 10888 numaralı bağlantı noktası isteğe bağlıdır. Yalnızca sunucunuzun dinlediği fiziksel bağlantı noktasından başka bir şey olması gerekir.
  • textofbase64key, myWebPubKey.txt herkese açık anahtar metin dosyasının tamamen bir satırda çoğaltılan içeriğidir (alternatif olarak, textofbase64key yerine, hosts.txt dosyanızda adı belirtebilirsiniz. Örnek: myserver.i2p)
  • Bu komutu başlattıktan bir veya iki dakika sonra, yerel bilgisayarınızdan I2P üzerine gidiş istemci tüneli açık ve kullanıma hazır olacaktır.
  • Normal web tarayıcınıza (localhost:4444 kullanacak şekilde yapılandırdığınız tarayıcıyı değil) geçin ve http://localhost:10888 adresini açın
  • Web tarayıcınızda sunucunuzun açışış sayfasının göründüğünü doğrulayın.
  • Uzak bir I2P sunucusuna erişmek amacıyla herhangi bir yerel istemci programını kullanmak için aynı prosedürü kullanırsınız. Uzak sunucunun herkese açık base64 anahtarını (hedef anahtar olarak adlandırılır) alın. Uzak sunucuyla bağlantı kurmak için bir yerel bağlantı noktası seçin, tüneli açın ve sadece istemcinizle gönlünüzden geçen içeriğe bağlanın.
7 - Sunucu bilgilerinizi başkalarıyla paylaşın
  • Anonim bir ortam kullanarak (örneğin I2P IRC sunucularından biri ya da ugha wiki sayfası), etki alanı adınızı (örneğin www.mynick.i2p ve hedef anahtarınızı) gönderin. Ardından başkaları sunucunuza uzaktan erişebilecek. Bunlardan herhangi biri olmadan. anonimliğinizi tehlikeye atıyorsunuz.
  • Unutmayın, I2P üzerinde neler var bölümüne giderek adresleriyle bağlantılı en son herkese açık anahtarları bulabilirsiniz. Ayrıca kendi herkese açık anahtarınızı ve adreslerini de göndermelisiniz. Ancak, bunu elbette anonim olarak yapmak isteyeceksiniz. Drupal.i2p.net, bu yazı yazıldığında yalnızca ağdan erişilebilir durumdadır. Bu nedenle, I2P içinden anonim olarak bir dış WWW adresine erişmek için startSquid adlı komut dosyasını başlatmanız gerekir. Bunu diğer komut dosyalarına yaptığınız gibi yapın. Tarayıcınızı, komut dosyasında tanımlandığı gibi localhost:5555 vekil sunucusunu kullanacak şekilde yeniden yapılandırın. Komut dosyası anahtarlarını oluşturduğunda, squid vekil sunucusuna erişebilirsiniz. Herhangi bir WWW adresini (Google veya bu i2p sitesi gibi) tarayıcınızın adres çubuğuna yazın. Böylece World Wide Web üzerinde anonim olarak gezinebilirsiniz. Artık herkese açık anahtarınızı güvenle yayınlayabilirsiniz ve hiç kimse IP adresinizi tespit edemez.
8 - Tüm bu önemsiz saçmalıklarla başa çıkmak için bazı komut dosyaları yazın
  • Bir I2P sunucusu her kurulduğunda ve/veya bir istemci kurduğunda tüm bu adımlardan geçmek çoğu insanı çıldırtır.
  • Aum web sitesinde http://www.freenet.org.nz/i2p/ tüm bu saçmalıkları tek bir basit komut satırında otomatikleştiren setupServer.py adlı bir komut dosyası bulunuyor. Ancak, insanların kullanıcı arayüzlerindeki zevklerinin farklı olmasına saygı duyuyorum ve herkesin ihtiyacını karşılayacak bir şeyler yazmaya çalışmak genellikle o kadar karmaşık bir şeyle sonuçlanır ki, yeni başlayanlar için itici olur.
  • Bu yüzden lütfen setupServer.py komut dosyasını kullanmaktan ve/veya zevkinize göre özelleştirmekten veya Python ya da başka bir dilde kendi dosyanızı yazmaktan çekinmeyin.
  • Ayrıca, I2P yönelticinin, eepProxy uygulamasının ve kullandığınız tüm tünellerin başlatılmasını yöneten bir komut dosyası yazmak isteyebilirsiniz. Sistem başlangıcında başlatılan startEverything.sh adında bir komut dosyam var. (Bu sitede I2P komutlarınızı otomatikleştirmek için kalıp komut dosyaları aradığınızdan emin olun. Bir sayfa oluşturursam, buraya bağlamayı hatırlamaya çalışırım.
  • Windows kullanıcıları için alıştırma - setupServer.py dosyasını bir MS-DOS .BAT dosyasına taşıyın.