[tahoe-dev] Public web interface

Uncle Zzzen unclezzzen at gmail.com
Mon Dec 3 23:35:11 UTC 2012


Hi.
I'm busy with work lately, but there's a discussion Zooko and I were having
on a closed ticket, and I agree with him it actually belongs here, so here
goes:

Sometimes there's a need to expose a [partial view of a] Tahoe-LAFS storage
as a public web service. As far as I understand, there are 3 ways to do it.

1) Gateway to web api - the public server proxies requests to Tahoe's web
api, blocking undesired requests (e.g. POST ones). This is what
lafs-rpg<https://bitbucket.org/nejucomo/lafs-rpg>does (using nginx).
You can also tweak it to in various ways (e.g. disable
directory browsing <https://gist.github.com/4106919#file_nginx.txt> under
some subtree).

2) Static web server, file-system back-end - use a standard static html web
server (apache, nginx, etc.) and let it serve files from a
fuse-mounted<https://tahoe-lafs.org/trac/tahoe-lafs/wiki/FAQ#Q23_FUSE>Tahoe-LAFS
cap. In the future, once we have "dropbox-like functionality",
it would enable us to serve static files from a "magically synced"
file-system folder, and we won't even need the fuse trickery.

3) Dedicated service - Tahoe-LAFS can have, in addition to the web api, a
public web service (listening on a different port). We would need to define
the various mountpoints this server has (e.g. map /blog/ to
/uri/DIR-RO:.../Latest/), and additional configuration options (basic/other
auth, mustache/jinja2/etc. template for directory browsing if allowed,
etc.). We can either do all that explicitly at tahoe.cfg, or simply
specifiy a capability where this config (probably json) is read from (handy
if you want to remotely configure such a server, but might be vulnerable
for exactly the same reason).

Option 1 is what I use at the moment <https://dubiousdod.org>. It may not
be a pretty sight, but it ain't broke (AFAIK) so I don't have an urge to
fix it.
Zooko prefers option 3. I agree this could be neat.
What's *your* opinion?

Cheers,
The Dod
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://tahoe-lafs.org/pipermail/tahoe-dev/attachments/20121204/06253cdc/attachment.html>


More information about the tahoe-dev mailing list