[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUI for a remailer!



writes Nick Szabo:
>Can you post a brief description of how this works for us
>Mosaic-deprived souls?
>

Sorry for the brevity of the announcement, I had just finished it and
needed to get to class ;-)

OK, I'll start from the beginning (pardon if this is too much info).

NCSA has a product (available for Xwindows, MS Windows, and the Mac) called
Mosaic.  It is a HyperText client (server if your in X, I suppose) that
lets the user graphically connect to Gopher, WAIS, and many other
already-established information servers (including ftp).  The big 
advantage, however is that it can connect to machines running a WWW server,
the most popular, and functional I might add, of these servers is the
"HTTPD" server from NCSA itself.  It's a long story, but httpd stands for
HyperText Transfer Protocol Daemon.  Anyway, check with NCSA for more info
on httpd.

HTTPD 1.0 allows the use of "forms" where I can program in (with extreme ease)
text boxes, check boxes, radio buttons, menus, selectable lists, etc.
One the other end, the client (Mosaic) interprets this, and will let
the user fill out the form and submit it.  On my end, a little program
catches a stream of data coming from the "world out there" and decodes it
so that I can pick out what the user typed into the text boxes, which
check boxes are checked, etc...  it's quite cool and very easy.  The decoding
of the data is not really difficult, especially since NCSA provides some
functions that will decode it into an array of structures with fields 
called "name" and "val" -- it's pretty straight forward.

My form takes what a user types into the TO: and SUBJECT: boxes, checks to
see that the TO: box is not empty and that it has a more-or-less correct
email address in it (it checks for an '@' in the value).  It then creates
a temp file, writes some generic info into it, adds the text from the
text box, and makes a system call to mail off the file and destroy it.

I coded the whole thing up in about 30 minutes this afternoon.

I will be adding check boxes to bounce the mail throught remailers and
to do encryption for remailers.  I will also add the ability to send
mail through anon.penet.fi.  For the password to anon.penet.fi,
I will use a feture wchich allows the text written in a field to
show up as asterics (just for those paranoids out there ;-)  As for 
absolute security, you would just have to trust that I will not be 
archiving these messages, etc, which I will not.  Also, the Mosaic server
has the ability to log the IP address from which the connection comes,
but as yet, it has no way of figuring out the login name of the person
on the other end.

Incidently, this whold thing has some *really* cool possibilities.  The
new HTTPD (1.x) allows for user authentication via passwords -- each
directory can have an associated password and group databse... just 
think of having authentication systems that will let "strangers" send mail
in this manner and do all kinds of things virtually anonymously.  I really
must applaud the NCSA folks for coming up with this, as it has more
possibilities that they could have ever dreamt of (which is, I suppose,
the mark of really good software).

For people wishing to start up their own remailers, even if they don't have
access to a machine to make the server, if your site has a server,
ask your administrator about "user directories" -- this is where the server
has a specified directory that goes in a user's home directory into which
users can dump HTML documents (HyperText Markup Language)... for instance,
on my server, the directory is called "mosaic-public" so if I have a 
reference to "http://monet.vis.colostate.edu/~nate/testing.html" then the
server figures out that it is actually a link to the file
~nate/mosaic-public/testing.html -- very cool, and actually damn easy for
a server admin to set up.

Fee free to ask questions.

-nate

-- 
+-----------------------------------------------------------------------+
| Nate Sammons <[email protected]> <[email protected]>  |
|      Colorado State University Computer Visualization Laboratory      |
|    Data Visualization/Interrogation, Modeling, Animation, Rendering   |
+-----------------------------------------------------------------------+