i2p

Artık bir web siteniz var, neden onu Gizli İnternet gibi özel bir alternatifte sunmuyorsunuz?

I2P Kurulumu

İki ana I2P uygulaması vardır, I2P ve i2pd, bu rehberde sunucularda kullanımı daha kolay olduğu için i2pd kullanıyoruz.

I2P'nin Kurulumu

i2pd çoğu depoda bulunur, debian/ubuntu'da basitçe şu komutla kurabilirsiniz:

apt install i2pd

I2P'yi Etkinleştirme

i2pd için bir kullanıcı oluşturacağız, çünkü i2pd yapılandırma dosyalarını ana dizininde bulur. Ayrıca bu şekilde daha düzenli ve temiz bir yapı elde ederiz:

useradd -m i2p -s /bin/bash
su -l i2p
mkdir ~/.i2pd
cd ~/.i2pd

Artık ~/.i2pd dizinindesiniz, burada "tunnels.conf" adında bir dosya oluşturmanız gerekiyor. Bu dosya, I2P üzerinden sunduğunuz her gizli hizmet için yapılandırma dosyasıdır. İçeriği şu şekilde olmalıdır:

[example]
type = http
host = 127.0.0.1
port = 8080
keys = example.dat

İsteğe Bağlı: Özel Bir Adres Oluşturma

Yukarıdaki yapılandırma ile i2pd'yi çalıştırırsanız, web siteniz için rastgele bir özel anahtar (example.dat) oluşturur ve bu anahtardan türetilen 52 rastgele karakterden oluşan bir adres oluşturur.

Eğer önceden bir özel anahtar oluşturursanız, hesaplama gücü kullanarak "özel" bir adres oluşturabilirsiniz, örneğin:

chadaor3jc08ht340c30mg5cf340j395gj095kuazj5tokipr34f.32.i2p

Bunu başarmak için i2pd-tools adında bir araç seti kurulabilir.

Öncelikle depolarını klonlayın:

git clone --recursive https://github.com/purplei2p/i2pd-tools

Depoda, derleme bağımlılıklarını listeleyen bir yükleme scripti bulunur. Bunu çalıştırarak gerekli bağımlılıkları kurun:

cd i2pd-tools
sh dependencies.sh

Ardından make komutuyla derleyin:

make -j$(nproc)

Bu, i2p için çeşitli kullanışlı araçları derleyecektir ve adres oluşturmak için ilgi çeken komut vain olacaktır:

./vain chad

Bu komut çalıştırıldığında, çalıştırıldığı dizinde private.dat adında yeni bir özel anahtar dosyası oluşturur. Bu dosyayı i2p yapılandırmanıza kopyalayarak özel adresinizi kullanabilirsiniz:

cp private.dat /home/i2p/.i2pd/example.dat

İsteğe Bağlı: Kayıt Yapanlar İçin Kimlik Doğrulama Dizeleri

I2P, kullanıcıların uzun I2P adreslerini daha kısa ve akılda kalıcı olanlarla ilişkilendirmelerini sağlayan çeşitli kayıtçılar içerir, örneğin example.i2p. Bu kayıtçılardan birine sitenizi gerçekten kaydetmek için bir kimlik doğrulama dizesi gerekecektir. Neyse ki, i2pd-tools depo içinde böyle bir araç da bulunur:

./regaddr private.dat example.2ip > auth_string.txt

Yukarıdaki komut, dizeyi auth_string.txt adında bir dosyaya kaydeder. Bu dosyanın içeriğini bir kayıt sayfasına yerleştirmeniz gerekecek, örneğin http://reg.i2p/add veya http://stats.i2p/i2p/addkey.html.

I2P Host Adresinizi Alma

Sonrasında, i2pd'yi başlatmak için /usr/sbin/i2pd --daemon komutunu çalıştırın ve I2P host adresinizi alabiliriz.

Bu, lynx veya bir komut satırı tarayıcısı kullanarak http://127.0.0.1:7070/?page=i2p_tunnels adresine gidilerek yapılabilir.

Host adınızı bulmak için bu komutları da çalıştırabilirsiniz:

printf "%s.b32.i2p
" $(head -c 391 /home/i2p/.i2pd/example.dat |sha256sum|xxd -r -p | base32 |sed s/=//g | tr A-Z a-z)

(Özel bir adres oluşturmak için kendi anahtarlarınızı oluşturduysanız, şu an vain komutuyla oluşturduğunuz adresle aynı olup olmadığını doğrulamak için i2pd'nin bu anahtarları düzgün okuduğundan emin olmanın tam zamanı.)

Nginx Yapılandırmasını Ekleme

Buradan itibaren, adımlar normal bir web sitesi kurulumuna oldukça benzerdir. Web sunucusu tutorialda bir yeni web sitesi oluşturuyormuş gibi adımları takip edin ve sunucu bloğu kodunu ekleyin. Bunun yerine şu kodu yapıştırın:

server {
	listen 127.0.0.1:8080 ;
	root /var/www/example ;
	index index.html ;
}

Açıklamalar

Nginx 8080 portunda dinleyecek, ancak i2pd bu portu I2P site portu 80'e yönlendirecek. Bu şekilde sunucu adlarıyla uğraşmanıza gerek kalmaz.

Buradan neredeyse tamamladık, yapmamız gereken tek şey siteyi etkinleştirmek ve nginx'i yeniden yüklemek, bu da web sunucusu rehberinde yer almaktadır.

Düzenli Olarak Güncelleyin!

I2P'yi düzenli olarak güncellediğinizden emin olun:

apt update && apt install i2pd