Version 41 (modified by zooko, 14 years ago) (diff) |
---|
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