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