Bu sayfa son olarak 2022-10 tarihinde güncellendi ve 0.9.56 yöneltici sürümü için geçerli.

Özet

I2PTunnel, I2P ile arayüz oluşturan ve üzerinden hizmet sunan bir araçtır. Bir I2PTunnel hedefi, sunucu adı, Base32 ya da 516 baytlık bir tam hedef anahtarı kullanılarak tanımlanabilir. Kurulan bir I2PTunnel, istemci bilgisayarınızda localhost:bağlantı noktası üzerinden erişilebilir olur. I2P ağı üzerinde bir hizmet sunmak istiyorsanız, uygun ip_addresi:bağlantı noktasına bir I2PTunnel oluşturmanız yeterlidir. Hizmete karşılık gelen 516 baytlık bir hedef anahtar oluşturulur ve I2P ağında kullanılabilir olur. I2PTunnel yönetimi web arayüzüne localhost:7657/i2ptunnel/ adresinden erişilebilir.

Varsayılan Hizmetler

Sunucu tünelleri

  • I2P web sunucusu - I2P ağında uygun ve hızlı bir barındırma sağlamak için localhost:7658 üzerindeki bir Jetty web sunucusuna yönlenen bir tünel.
    Belge kökü şurasıdır:
    Unix - $HOME/.i2p/eepsite/docroot
    Windows - %LOCALAPPDATA%\I2P\I2P Site\docroot, which expands to: C:\Users\**username**\AppData\Local\I2P\I2P Site\docroot

İstemci tünelleri

  • I2P HTTP Proxy - localhost:4444 - I2P ağı ve normal İnternet ağında I2P ile anonim olarak gezinmek için kullanılan bir HTTP vekil sunucusu. I2P kullanarak İnternet gezinmesi, "Outproxies:" seçeneği ile belirtilen rastgele bir vekil sunucu kullanır.
  • Irc2P - localhost:6668 - Varsayılan anonim IRC ağı olan Irc2P için bir IRC tüneli.
  • gitssh.idk.i2p - localhost:7670 - SSH access to the project Git repository
  • smtp.postman.i2p - localhost:7659 - Postman için hq.postman.i2p.xyz üzerinden sunulan SMTP hizmeti
  • pop3.postman.i2p - localhost:7660 - Postman için hq.postman.i2p.xyz üzerindeki ilgili POP hizmeti

Yapılandırma

I2PTunnel yapılandırması

İstemci Kipleri

Standart

I2P ağındaki bir hedefte bulunan bir hizmete (HTTP, FTP veya SMTP gibi) bağlanan yerel bir TCP bağlantı noktası açar. Tünel, virgül ile ayrılmış (", ") hedef listesinden rastgele bir sunucuya yönlendirilir.

HTTP

Bir HTTP istemci tüneli. Tünel, bir HTTP isteğinde adres tarafından belirtilen hedefe bağlanır. Bir çıkış vekil sunucusu belirtilmişse, İnternet üzerinden vekil sunucu oluşturulmasını destekler. Aşağıdaki üst bilgilerin HTTP bağlantılarını ayıklar:

  • Accept*: (not including "Accept" and "Accept-Encoding") as they vary greatly between browsers and can be used as an identifier.
  • Referer:
  • Via:
  • From:

The HTTP client proxy provides a number of services to protect the user and to provide a better user experience.

  • Request header processing:
    • Strip privacy-problematic headers
    • Routing to local or remote outproxy
    • Outproxy selection, caching, and reachability tracking
    • Hostname to destination lookups
    • Host header replacement to b32
    • Add header to indicate support for transparent decompression
    • Force connection: close
    • RFC-compliant proxy support
    • RFC-compliant hop-by-hop header processing and stripping
    • Optional digest and basic username/password authentication
    • Optional outproxy digest and basic username/password authentication
    • Buffering of all headers before passing through for efficiency
    • Jump server links
    • Jump response processing and forms (address helper)
    • Blinded b32 processing and credential forms
    • Supports standard HTTP and HTTPS (CONNECT) requests
  • Response header processing:
    • Check for whether to decompress response
    • Force connection: close
    • RFC-compliant hop-by-hop header processing and stripping
    • Buffering of all headers before passing through for efficiency
  • HTTP error responses:
    • For many common and not-so-common errors, so the user knows what happened
    • Over 20 unique translated, styled, and formatted error pages for various errors
    • Internal web server to serve forms, CSS, images, and errors
  • Transparent response decompression:
    • If the server-side HTTP proxy compressed the response, the HTTP client proxy transparently decompresses it.

The i2ptunnel compression is requested with the HTTP header:

  • X-Accept-Encoding: x-i2p-gzip;q=1.0, identity;q=0.5, deflate;q=0, gzip;q=0, *;q=0

The response indicating i2ptunnel compression contains the following HTTP header:

  • Content-Encoding: x-i2p-gzip

Tünelin bir çıkış vekil sunucusu kullanıp kullanmadığına bağlı olarak, aşağıdaki User-Agent değerini ekler:

  • Çıkış vekil sunucusu: User-Agent: Uses the user agent from a recent Firefox release on Windows
  • I2P içi kullanım: User-Agent: MYOB/6.66 (AN/ON)

IRC Client

Virgül ile ayrılmış (", ") hedef listesiyle belirtilen rastgele bir IRC sunucusuna bağlantı oluşturur. Anonimlik endişeleri nedeniyle yalnızca beyaz listeye alınmış bir IRC komut alt kümesine izin verilir. The following allow list is for commands inbound from the IRC server to the IRC client.
Allow list:

  • AUTHENTICATE
  • CAP
  • ERROR
  • H
  • JOIN
  • KICK
  • MODE
  • NICK
  • PART
  • PING
  • PROTOCTL
  • QUIT
  • TOPIC
  • WALLOPS

There is also an allow list is for commands outbound from the IRC client to the IRC server. It is quite large due to the number of IRC administrative commands. See the IRCFilter.java source for details. The outbound filter also modifies the following commands to strip identifying information:

  • NOTICE
  • PART
  • PING
  • PRIVMSG
  • QUIT
  • USER

SOCKS 4/4a/5

I2P yönelticinin bir SOCKS vekil sunucusu olarak kullanılmasını sağlar.

SOCKS IRC

IRC istemci kipi tarafından belirtilen komut beyaz listesiyle I2P yönelticisinin bir SOCKS vekil sunucusu olarak kullanılmasını sağlar.

CONNECT

Bir HTTP tüneli oluşturur ve genellikle SSL ve HTTPS için kullanılan bir TCP tüneli oluşturmak için "CONNECT" HTTP isteği yöntemini kullanır.

Streamr

Streamr istemcisi I2PTunnel bağlantılı bir UDP sunucusu oluşturur. Streamr istemci tüneli, bir streamr sunucu tüneline abone olacaktır.


Sunucu Kipleri

Standart

Açık bir TCP bağlantı noktası ile yerel bir ip:bağlantı noktası için bir hedef oluşturur.

HTTP

Yerel bir HTTP sunucusu ip:bağlantı noktası için bir hedef oluşturur. Accept-encoding: x-i2p-gzip istekleri için gzip destekler. Böyle bir isteğe Content-encoding: x-i2p-gzip ile yanıt verir.

The HTTP server proxy provides a number of services to make hosting a website easier and more secure, and to provide a better user experience on the client side.

  • Request header processing:
    • Header validation
    • Header spoof protection
    • Header size checks
    • Optional inproxy and user-agent rejection
    • Add X-I2P headers so the webserver knows where the request came from
    • Host header replacement to make webserver vhosts easier
    • Force connection: close
    • RFC-compliant hop-by-hop header processing and stripping
    • Buffering of all headers before passing through for efficiency
  • DDoS protection:
    • POST throttling
    • Timeouts and slowloris protection
    • Additional throttling happens in streaming for all tunnel types
  • Response header processing:
    • Stripping of some privacy-problematic headers
    • Mime type and other headers check for whether to compress response
    • Force connection: close
    • RFC-compliant hop-by-hop header processing and stripping
    • Buffering of all headers before passing through for efficiency
  • HTTP error responses:
    • For many common and not-so-common errors and on throttling, so the client-side user knows what happened
  • Transparent response compression:
    • The web server and/or the I2CP layer may compress, but the web server often does not, and it's most efficient to compress at a high layer, even if I2CP also compresses. The HTTP server proxy works cooperatively with the client-side proxy to transparently compress responses.

HTTP Bidirectional

Deprecated

Çıkış vekil sunucusu yetenekleri olmadan hem I2PTunnel HTTP sunucusu hem de I2PTunnel HTTP istemcisi olarak çalışır. Örnek bir uygulama, istemci türü istekler yapan ya da bir tanılama aracı olarak I2P sitesi geri döngü sınaması yapan bir web uygulaması olabilir.

IRC Server

İstemcinin istek sırasını süzen ve istemci hedef anahtarını sunucu adı olarak IRC sunucusuna ileten bir hedef oluşturur.

Streamr

Bir ortam sunucusuna bağlanan bir UDP-istemcisi oluşturur. UDP istemcisi, bir Streamr sunucu I2PTunnel tüneli ile birleştirilmiştir.