diff --git a/i2p2www/blog/2019/06/02/basic-tunnel-tutorial.rst b/i2p2www/blog/2019/06/02/basic-tunnel-tutorial.rst new file mode 100644 index 0000000000000000000000000000000000000000..dcb8c7addb9e7dcdd9fbccca0c14dd1637a61431 --- /dev/null +++ b/i2p2www/blog/2019/06/02/basic-tunnel-tutorial.rst @@ -0,0 +1,116 @@ +.. meta:: + :author: idk + :date: 2019-06-02 + :excerpt: {% trans %}Basic i2ptunnel Setup{% endtrans %} + +======================================== +Basic i2p Tunnels Tutorial with Pictures +======================================== + +Although the Java i2p router comes pre-configured with a static web server, +jetty, to provide the user's first eepSite, many require more sophisticated +functionality from their web server and would rather create an eepSite with a +different server. This is of course possible, and actually is really easy once +you've done it one time. + +Although it is easy to do, there are a few things you should consider before +doing it. You will want to remove identifying characteristics from your web +server, like potentially identifying headers and default error pages that +report the server/distro type. More information about threats to anonymity +posed by improperly configured applications see: +`Riseup here: <https://riseup.net/en/security/network-security/tor/onionservices-best-practices>`__, +`Whonix Here: <https://www.whonix.org/wiki/Onion_Services>`__, +`This blog article for some opsec fails: <https://blog.0day.rocks/securing-a-web-hidden-service-89d935ba1c1d>`__, +`and the i2p applications page here <https://geti2p.net/en/docs/applications/supported>`__. +Although much of this information is expressed for Tor Onion Services, the same +procedures and principles apply to hosting applications over i2p. + +Step One: Open the Tunnel Wizard +-------------------------------- + +Go to the i2p web interface at 127.0.0.1:7657 and open the +`Hidden Services Manager <http://127.0.0.1:7657/i2ptunnelmgr>`__\ (links to +localhost). Click the button that says "Tunnel Wizard" to begin. + +|Step One: Open the Tunnel Wizard| + +Step Two: Select a Server Tunnel +-------------------------------- + +The tunnel wizard is very simple. Since we're setting up an http *server*, all +we need to do is select a *server* tunnel. + +|Step Two: Select a Server Tunnel| + +Step Three: Select an HTTP Tunnel +--------------------------------- + +An HTTP tunnel is the tunnel type that is optimized for hosting HTTP services. +It has filtering and rate-limiting features enabled that are tailored +specifically to that purpose. A standard tunnel may work as well, but if you +select a atandard tunnel you'll need to take care of those security features +yourself. A more in-depth dive into the HTTP Tunnel configuration is available +in the next tutorial. + +|Step Three: Select an HTTP Tunnel| + +Step Four: Give it a name and a description +------------------------------------------- + +For your own benefit and ability to remeber and distinguish the what you are +using the tunnel for, give it a good nickname and description. If you need to +come back and do more management later, then this is how you will identify the +tunnel in the hidden services manager. + +|Step Four: Give it a name and a description| + +Step Five: Configure the Host and Port +-------------------------------------- + +In this step, you point the web server at the TCP port where your web server is +listening. Since most web servers listen on port 80 or port 8080, the example +shows that. If you use alternate ports or virtual machines or containers to +isolate your web services, you may need to adjust the host, port, or both. + +|Step Five: Configure the Host and Port| + +Step Six: Decide whether to start it automatically +-------------------------------------------------- + +I cannot think of a way to elaborate on this step. + +|Step Six: Decide whether to start it automatically| + +Step Seven: Review your settings +-------------------------------- + +Finally, take a look at the settings you have selected. If you approve, save +them. If you did not choose to start the tunnel automatically, go to the hidden +services manager and start it manually when you wish to make your service +available. + +|Step Six: Review your settings| + +Appendix: HTTP Server Customization Options +------------------------------------------- + +i2p provides a detailed panel for configuring the http server tunnel in custom +ways. I'll finish this tutorial by walking through all of them. Eventually. + +|Options page| +|Options page| +|Options page| +|Options page| + +.. |Step One: Open the Tunnel Wizard| image:: /_static/images/00-wizard.png +.. |Step Two: Select a Server Tunnel| image:: /_static/images/01-select.png +.. |Step Three: Select an HTTP Tunnel| image:: /_static/images/02-http.png +.. |Step Four: Give it a name and a description| image:: /_static/images/03-name.png +.. |Step Five: Configure the Host and Port| image:: /_static/images/04-port.png +.. |Step Six: Decide whether to start it automatically| image:: /_static/images/05-auto.png +.. |Step Six: Review your settings| image:: /_static/images/06-finish.png +.. |Options page| image:: /_static/images/07-finished.png +.. |Options page| image:: /_static/images/08-finished.png +.. |Options page| image:: /_static/images/09-finished.png +.. |Options page| image:: /_static/images/10-finished.png + diff --git a/i2p2www/static/images/00-wizard.png b/i2p2www/static/images/00-wizard.png new file mode 100644 index 0000000000000000000000000000000000000000..27f3be8218e57a6f9cb94d7b03da9aad039f4fe2 Binary files /dev/null and b/i2p2www/static/images/00-wizard.png differ diff --git a/i2p2www/static/images/01-select.png b/i2p2www/static/images/01-select.png new file mode 100644 index 0000000000000000000000000000000000000000..c9df5fdff825aae11533d43bfc166c477d7f08b3 Binary files /dev/null and b/i2p2www/static/images/01-select.png differ diff --git a/i2p2www/static/images/02-http.png b/i2p2www/static/images/02-http.png new file mode 100644 index 0000000000000000000000000000000000000000..d29fc2faae938ee90734190d84963d9f4dd02a88 Binary files /dev/null and b/i2p2www/static/images/02-http.png differ diff --git a/i2p2www/static/images/03-name.png b/i2p2www/static/images/03-name.png new file mode 100644 index 0000000000000000000000000000000000000000..e86d264afb596c4b5d4450815d805d2aada563ce Binary files /dev/null and b/i2p2www/static/images/03-name.png differ diff --git a/i2p2www/static/images/04-port.png b/i2p2www/static/images/04-port.png new file mode 100644 index 0000000000000000000000000000000000000000..69e9495973a50fc7228de236b7f483c35507ba92 Binary files /dev/null and b/i2p2www/static/images/04-port.png differ diff --git a/i2p2www/static/images/05-auto.png b/i2p2www/static/images/05-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..120e6dbb338b2befb86580e14b64b1dbc7c775c2 Binary files /dev/null and b/i2p2www/static/images/05-auto.png differ diff --git a/i2p2www/static/images/06-finish.png b/i2p2www/static/images/06-finish.png new file mode 100644 index 0000000000000000000000000000000000000000..611e7c56eda48a23b6a49c7cfa5fe1023204be7f Binary files /dev/null and b/i2p2www/static/images/06-finish.png differ diff --git a/i2p2www/static/images/07-finished.png b/i2p2www/static/images/07-finished.png new file mode 100644 index 0000000000000000000000000000000000000000..3ddc7a0fd44d9e71767f015c78c0efaafd9cf875 Binary files /dev/null and b/i2p2www/static/images/07-finished.png differ diff --git a/i2p2www/static/images/08-finished.png b/i2p2www/static/images/08-finished.png new file mode 100644 index 0000000000000000000000000000000000000000..0be4718dac9df56f5f71d0f0b5f15e443f27fc27 Binary files /dev/null and b/i2p2www/static/images/08-finished.png differ diff --git a/i2p2www/static/images/09-finished.png b/i2p2www/static/images/09-finished.png new file mode 100644 index 0000000000000000000000000000000000000000..7775a474129ba2229a70de926a3d5690b287550d Binary files /dev/null and b/i2p2www/static/images/09-finished.png differ diff --git a/i2p2www/static/images/10-finished.png b/i2p2www/static/images/10-finished.png new file mode 100644 index 0000000000000000000000000000000000000000..e599f3ada5644b169b61df91aa40b7c85b55419a Binary files /dev/null and b/i2p2www/static/images/10-finished.png differ diff --git a/i2p2www/static/images/bidir-1.png b/i2p2www/static/images/bidir-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e0fc52ce5c39388a6841b6ceb00c0f34e62e64b7 Binary files /dev/null and b/i2p2www/static/images/bidir-1.png differ diff --git a/i2p2www/static/images/bidir-2.png b/i2p2www/static/images/bidir-2.png new file mode 100644 index 0000000000000000000000000000000000000000..4579cf8ad963bee5191a63ad04e89a21ed5d266f Binary files /dev/null and b/i2p2www/static/images/bidir-2.png differ