GOPHERSPACE.DE - P H O X Y
gophering on bitreich.org

            T H E  G O P H E R  O N I O N  I N I T I A T I V E

_______________________________P_R_O_J_E_C_T______________________________
The Gopher Onion Initiative is an information portal to get you excited
and knowledgable about why you should run more hidden tor services which
serve the gopher protocol.

By default gopher is sending plaintext over TCP port 70. There is no stan-
dard for SSL. Some efforts had been made, but without a standard they never
came forward.

Picture of the Gopher Underground

______________________________W_H_Y__T_O_R_?______________________________
With tor you have three advantages:

    * no modification to the gopher servers and clients needed
    * encryption (certification check via the onion URI!)
    * anonymisation

Installation material for tor:
Tor Documentation

_______________________T_U_T_O_R_I_A_L_(C_L_I_E_N_T)______________________
Assumptions:
* You have a running tor instance.

Terminology:
* »%« means a command to run.
* »>« means some text to add.

Edit your torsocks.conf to point to the socks configuration of your tor
node.

    % $EDITOR /etc/tor/torsocks.conf

Run lynx (as an example gopher client) over tor:

    % torsocks lynx gopher://bitreich.org

You can run anything else, which supports socks connections over tor too,
by setting their socks connection configuration to the settings you used
in torsocks.conf.

To use the hidden service, do:

    % torsocks lynx gopher://hg6vgqziawt5s4dj.onion

The onion addresses are not easy to remember. Read some thoughts about how to
solve this here:
kroovy on onion usability

Happy anonymous gophering!

_______________________T_U_T_O_R_I_A_L_(S_E_R_V_E_R)______________________
Assumptions:
* You have tor installed
* You have a running geomyidae.

Terminology:
* »%« means a command to run.
* »>« means some text to add.

Let us begin.

Create a new directory for your hidden service:

    % mkdir -p $yourhiddenservicebase/gopher

Create a new torrc file for your hidden service:

    > # gopher hidden service
    > SocksPort 0
    > HiddenServiceDir $yourhiddenservicebase/gopher
    > HiddenServicePort 70 127.0.0.1:71

Start a new dedicated tor daemon:

    % tor -f /etc/torrc_gopher

Get the new .onion domain:

    % cat $yourhiddenservicebase/gopher/hostname

RUn a new geomyidae instance:

    > geomyidae -d -u bitreich -g bitreich -b $base -p 71 -o 70 -h $onion

»$onion« is the .onion domain we got above.

Hint: -p 71 is the port to actually listen on, where the hidden service
      is redirected to.
Hint: -o 70 keeps the displayed port in »port« replacements to 70 because
      clients in tor request port, but it is redirected to TCP/IP port
      71, as specified in the torrc above.

You now have a second geomyidae instance, which still directs to your old
geomyidae base. If you are using the »port« and »server« syntax of the gph
files, no editing is required. Geomyidae will automatically replace them
with the new onion values.
(See the manpage of geomyidae for gph details.)

Test the setup:

    > torsocks lynx gopher://$onion

Everything works?

Now create the unit/startup script to run tor and the new geomyidae
and you are done!

Happy anonymous gopher serving!

Now point everyone to:

       gopher://$onion

Next go on IRC here:

ircs://chat.freenode.org:6697/#bitreich-en

Tell the people there about your new gopherhole in tor. It will be
added to the onion category of the gopher lawn project here:

gopher://bitreich.org/1/lawn/onion

_____________________O_T_H_E_R__R_E_S_O_U_R_C_E_S_________________________
Many other people are working on spreading the onion words throughout
gopherspace.

Here is a collection of other resources and tutorials.

Tomasino's tutorial on tor and gopher part 1
Tomasino's tutorial on tor and gopher part 2

If you know anyone else who wrote about tor and onion, let me know at

        20h@r-36.net or __20h__ on IRC


<< back to bitreich.org