forked from I2P_Developers/i2p.www
Moved i2ptunnel and socks pages into docs/apis
This commit is contained in:
141
i2p2www/pages/site/docs/apis/i2ptunnel.html
Normal file
141
i2p2www/pages/site/docs/apis/i2ptunnel.html
Normal file
@@ -0,0 +1,141 @@
|
||||
{% extends "global/layout.html" %}
|
||||
{% block title %}i2ptunnel{% endblock %}
|
||||
{% block content %}Description of i2ptunnel and tunneling modes
|
||||
|
||||
default services
|
||||
client modes
|
||||
serrver modes
|
||||
|
||||
<h1>I2PTunnel</h1>
|
||||
<h2 id="overview">Overview</h2>
|
||||
<p>
|
||||
I2PTunnel is a tool for interfacing with and providing services on I2P.
|
||||
Destination of an I2PTunnel can be defined using a <a href="naming.html">hostname</a>,
|
||||
<a href="naming.html#base32">Base32</a>, or a full 516-byte destination key.
|
||||
An established I2PTunnel will be available on your client machine as localhost:port.
|
||||
If you wish to provide a service on I2P network, you simply create I2PTunnel to the
|
||||
appropriate ip_address:port. A corresponding 516-byte destination key will be generated
|
||||
for the service and it will become avaliable throughout I2P.
|
||||
A web interface for I2PTunnel management is avaliable on
|
||||
<a href="http://localhost:7657/i2ptunnel/">localhost:7657/i2ptunnel/</a>.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
<h2 id="default-services">Default Services</h2>
|
||||
<h3 id="default-server-tunnels">Server tunnels</h3>
|
||||
<ul>
|
||||
<li><b>I2P Webserver</b> - A tunnel pointed to a Jetty webserver run
|
||||
on <a href="http://localhost:7658">localhost:7658</a> for convenient and quick hosting on I2P.
|
||||
<br>The document root is:
|
||||
<br><b>Unix</b> - %APPDATA%\I2P\eepsite\docroot
|
||||
<br><b>Windows</b> - C:\Users\**username**\AppData\Roaming\I2P\eepsite\docroot
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="default-client-tunnels">Client tunnels</h3>
|
||||
<ul>
|
||||
<li><b>I2P HTTP Proxy</b> - <i>localhost:4444</i></a> - A HTTP proxy used for browsing I2P and the regular internet anonymously through I2P.
|
||||
Browsing internet through I2P uses a random proxy specified by the "Outproxies:" option.
|
||||
</li>
|
||||
<li><b>IRC Proxy</b> - <i>localhost:6668</i> - A IRC proxy to the default anonymous IRC-servers.</li>
|
||||
<li><b>mtn.i2p2.i2p</b> - <i>localhost:8998</i> - The anonymous <a href="http://en.wikipedia.org/wiki/Monotone_%28software%29">monotone</a>
|
||||
sourcecode repository for I2P
|
||||
</li>
|
||||
<li><b>smtp.postman.i2p</b> - <i>localhost:7659</i> - A SMTP service provided by postman at
|
||||
<a href="http://hq.postman.i2p/?page_id=16">hq.postman.i2p</a>
|
||||
(<a href="http://hq.postman.i2p.to/?page_id=16">via inproxy</a>)
|
||||
</li>
|
||||
<li><b>pop3.postman.i2p</b> - <i>localhost:7660</i> - The accompanying POP sevice of postman at
|
||||
<a href="http://hq.postman.i2p/?page_id=16">hq.postman.i2p</a>
|
||||
(<a href="http://hq.postman.i2p.to/?page_id=16">via inproxy</a>)
|
||||
</ul>
|
||||
|
||||
<br>
|
||||
<h2 id="client-modes">Client Modes</h2>
|
||||
<h3 id="client-modes-standard">Standard</h3>
|
||||
Opens a local TCP port that connects to a service (like HTTP, FTP or SMTP) on a destination inside of I2P.
|
||||
The tunnel is directed to a random host from the comma seperated (", ") list of destinations.
|
||||
|
||||
<br>
|
||||
<h3 id="client-mode-http">HTTP</h3>
|
||||
<p>A HTTP-client tunnel. The tunnel connects to the destination specified by the URL
|
||||
in a HTTP request. Supports proxying onto internet if an outproxy is provided. Strips HTTP connections of the following headers:
|
||||
</p>
|
||||
<ul>
|
||||
<li><b>Accept, Accept-Charset, Accept-Encoding, Accept-Language
|
||||
and Accept-Ranges</b> as they vary greatly between browsers and can be used as an identifier.
|
||||
</li>
|
||||
<li><b>Referer:</b></li>
|
||||
<li><b>Via:</b></li>
|
||||
<li><b>From:</b></li>
|
||||
</ul>
|
||||
<p>
|
||||
HTTP client/server tunnels are via I2Ptunnel force-enabling compression via the following http headers:
|
||||
<ul>
|
||||
<li><b>Accept-Encoding: </b></li>
|
||||
<li><b>X-Accept-Encoding: </b> x-i2p-gzip;q=1.0, identity;q=0.5, deflate;q=0, gzip;q=0, *;q=0</li>
|
||||
</ul>
|
||||
<p>
|
||||
Depending on if the tunnel is using an outproxy or not it will append the following User-Agent:
|
||||
</p>
|
||||
<ul>
|
||||
<li><i>Outproxy: </i><b>User-Agent:</b> Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.6) Gecko/20100625 Firefox/3.6.6</li>
|
||||
<li><i>Internal I2P use: </i><b>User-Agent:</b> MYOB/6.66 (AN/ON)</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<h3 id="client-mode-irc">IRC</h3>
|
||||
Creates a connection to a random IRC server specified by the comma seprated (", ")
|
||||
list of destinations. Only a whitelisted subset of IRC commands are allowed due to anonymity concerns.
|
||||
<br>Whitelist:
|
||||
<ul>
|
||||
<li>MODE</li>
|
||||
<li>JOIN</li>
|
||||
<li>NICK</li>
|
||||
<li>QUIT</li>
|
||||
<li>PART</li>
|
||||
<li>WALLOPS</li>
|
||||
<li>ERROR</li>
|
||||
<li>KICK</li>
|
||||
<li>H</li>
|
||||
<li>TOPIC</li>
|
||||
</ul>
|
||||
|
||||
<h3 id="client-mode-socks">SOCKS 4/4a/5</h3>
|
||||
Enables using the I2P router as a SOCKS proxy.
|
||||
|
||||
<h3 id="client-mode-socks-irc">SOCKS IRC</h3>
|
||||
Enables using the I2P router as a SOCKS proxy with the command whitelist specified by
|
||||
<a href="#client-mode-irc">IRC</a> client mode.
|
||||
|
||||
<h3 id="client-mode-connect">CONNECT</h3>
|
||||
Creates a HTTP tunnel and uses the HTTP request method "CONNECT"
|
||||
to build a TCP tunnel that usually is used for SSL and HTTPS.
|
||||
|
||||
<h3 id="client-mode-streamr">Streamr</h3>
|
||||
Creates a UDP-server attached to a Streamr client I2PTunnel. The streamr client tunnel will
|
||||
subscribe to a streamr server tunnel.
|
||||
<br>
|
||||
<img src="_static/images/I2PTunnel-streamr.png">
|
||||
|
||||
|
||||
<br>
|
||||
<h2 id="server-modes">Server Modes</h2>
|
||||
<h3 id="server-mode-standard">Standard</h3>
|
||||
Creates a destination to a local ip:port with an open TCP port.
|
||||
|
||||
<h3 id="server-mode-http">HTTP</h3>
|
||||
Creates a destination to a local HTTP server ip:port. Supports gzip for requests with
|
||||
Accept-encoding: x-i2p-gzip, replies with Content-encoding: x-i2p-gzip in such a request.
|
||||
|
||||
<h3 id="server-mode-http-bidir">HTTP Bidirectional</h3>
|
||||
Functions as both a I2PTunnel HTTP Server, and a I2PTunnel HTTP client with no outproxying
|
||||
capabilities. An example application would be a web application that does client-type
|
||||
requests, or loopback-testing an eepsite as a diagnostic tool.
|
||||
|
||||
<h3 id="server-mode-irc">IRC</h3>
|
||||
Creates a destination that filters the reqistration sequence of a client and passes
|
||||
the clients destination key as a hostname to the IRC-server.
|
||||
|
||||
<h3 id="server-mode-streamr">Streamr</h3>
|
||||
A UDP-client that connects to a media server is created. The UDP-Client is coupled with a Streamr server I2PTunnel.
|
||||
{% endblock %}
|
70
i2p2www/pages/site/docs/apis/socks.html
Normal file
70
i2p2www/pages/site/docs/apis/socks.html
Normal file
@@ -0,0 +1,70 @@
|
||||
{% extends "global/layout.html" %}
|
||||
{% block title %}SOCKS{% endblock %}
|
||||
{% block content %}
|
||||
<h2>SOCKS and SOCKS proxies</h2>
|
||||
<p>
|
||||
The SOCKS proxy is working as of release 0.7.1. SOCKS 4/4a/5 are supported.
|
||||
Enable SOCKS by creating a SOCKS client tunnel in i2ptunnel.
|
||||
Both shared-clients and non-shared are supported.
|
||||
There is no SOCKS outproxy so it is of limited use.
|
||||
</p>
|
||||
<p>
|
||||
As it says on the
|
||||
<a href="{{ site_url('support/faq') }}#socks">FAQ</a>:
|
||||
<p>
|
||||
Many applications leak sensitive
|
||||
information that could identify you on the Internet. I2P only filters
|
||||
connection data, but if the program you intend to run sends this
|
||||
information as content, I2P has no way to protect your anonymity. For
|
||||
example, some mail applications will send the IP address of the machine
|
||||
they are running on to a mail server. There is no way for I2P to filter
|
||||
this, thus using I2P to 'socksify' existing applications is possible, but
|
||||
extremely dangerous.
|
||||
</p><p>
|
||||
And quoting from a 2005 email:
|
||||
</p><p>
|
||||
... there is a reason why human and
|
||||
others have both built and abandoned the SOCKS proxies. Forwarding
|
||||
arbitrary traffic is just plain unsafe, and it behooves us as
|
||||
developers of anonymity and security software to have the safety of
|
||||
our end users foremost in our minds.
|
||||
|
||||
Hoping that we can simply strap an arbitrary client on top of I2P
|
||||
without auditing both its behavior and its exposed protocols for
|
||||
security and anonymity is naive. Pretty much *every* application
|
||||
and protocol violates anonymity, unless it was designed for it
|
||||
specifically, and even then, most of those do too. That's the
|
||||
reality. End users are better served with systems designed for
|
||||
anonymity and security. Modifying existing systems to work in
|
||||
anonymous environments is no small feat, orders of magnitude more
|
||||
work that simply using the existing I2P APIs.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The SOCKS proxy
|
||||
supports standard addressbook names, but not Base64 destinations.
|
||||
Base32 hashes should work as of release 0.7.
|
||||
It supports outgoing connections only, i.e. an I2PTunnel Client.
|
||||
UDP support is stubbed out but not working yet.
|
||||
Outproxy selection by port number is stubbed out.
|
||||
</p>
|
||||
|
||||
<h3>See Also</h3>
|
||||
<ul>
|
||||
<li>
|
||||
The notes for
|
||||
<a href="{{ url_for('meetings_show', id=81) }}">Meeting 81</a>
|
||||
and
|
||||
<a href="{{ url_for('meetings_show', id=82) }}">Meeting 82</a>
|
||||
in March 2004.
|
||||
<li>
|
||||
<a href="http://www.abenteuerland.at/onioncat/">Onioncat</a>
|
||||
<li>
|
||||
<a href="http://zzz.i2p/">zzz.i2p</a>
|
||||
</ul>
|
||||
|
||||
<h3>If You Do Get Something Working</h3>
|
||||
Please let us know. And please provide substantial warnings about the
|
||||
risks of socks proxies.
|
||||
|
||||
{% endblock %}
|
Reference in New Issue
Block a user