wiki:WikiStart
close Warning: Can't synchronize with repository "(default)" (Unsupported version control system "darcs": Can't find an appropriate component, maybe the corresponding plugin was not enabled? ). Look in the Trac log for more information.

Version 41 (modified by zooko, 14 years ago) (diff)

add explanation of how to share a read-only link

TiddlyWiki on Tahoe-Lafs

TiddlyWiki is a client-side wiki written purely in HTML/CSS and JavaScript. Tahoe-LAFS is a decentralized, secure storage grid. These go together like chocolate and peanut butter! We call the result an Unhosted Wiki.

For a hands on introduction here is an Unhosted Wiki you can play with. Follow the link, edit the Unhosted Wiki, and click "Save Changes"! :-)

To Build a Tahoe-LAFS-Ready TiddlyWiki (Unhosted Wiki)

You'll need tahoe-lafs:

Set up a tahoe-lafs web gateway on a secure machine which is controlled only by you following the "quickstart" and "running" instructions.

If you do not have access to a different grid, then use the test grid. This is accomplished by following these instructions.

Now that you have a tahoe-lafs gateway running (on a machine under your own control, like your laptop) the next step is to publish the tiddlywiki, through your personal gateway, onto the tahoe-lafs grid. The rest of these instructions will assume that the URL for your personal gateway is http://localhost:3456/.

You'll need a tiddlywiki with a couple of plugins:

Use wget to get a copy of an empty tiddlywiki with the HTTPSavingPlugin and TahoePlugin already installed:

wget http://tahoe-lafs.org/source/tiddly_on_tahoe/trunk/tahoe_tiddly/wiki.html

(Note: starting with this empty file that comes preloaded with the plugins is just for convenience—if you already have a tiddlywiki document that you want to publish on a tahoe-lafs grid, you can simply add the HTTPSavingPlugin and TahoePlugin to your current file and then proceed with these instructions.)

You'll need to publish the tiddlywiki to the grid:

Use the CLI described under the running documentation.

You need a tahoe-lafs directory to put the tiddlywiki in. You could accomplish this by running the following steps in order, but it's preferable to put it together in a single command as demonstrated below.

Stepwise

One, running:

tahoe mkdir

generates such a directory and prints the write capability to it on sdout.

Two, running:

tahoe cp wiki.html write capability

publishes the wiki.html to the directory you created in the previous step. It's critical that the write capability is stored somewhere you can reliably get to, as it is the only way to get write-access the tiddlywiki. Since this is the case I recommend the following single step publication...

Combined:

tahoe cp wiki.html `tahoe mkdir | tee WRITECAPABILITY.txt`

You can now access your Unhosted Wiki by the URL that results from:

echo http://localhost:3456/uri/`cat WRITECAPABILITY.txt`/wiki.html

(That URL is assuming that your personal gateway is reachable at http://localhost:3456/. If your personal gateway is on a different port or a different host you'll have to adjust accordingly. Remember that if it is on a different host then someone else could sniff the connection from your local web browser to that gateway, unless you configure it to do https instead of http

You may want to share a read-only view of the tiddlywiki

To get the read-only cap to the same directory, run:

wget http://localhost:3456/uri/`cat WRITECAPABILITY.txt`?t=json

and inspect the resulting file for the first occurrence of ro_uri. Put that string into a file named READONLYCAPABILITY.txt.

Now share a URL like this:

http://insecure.tahoe-lafs.org/uri/`cat READONLYCAPABILITY.txt`/wiki.html