On Monday 10 November 2008, Erilenz wrote:
> * on the Sun, Nov 09, 2008 at 10:43:29AM -0800, Christopher Davis wrote:
> >> someone has setup an open SMTP relay as hidden service:
> >>   oogjrxidhkttf6vl.onion    port: 587
> >> May be, it works. I did not test it. :-(
> >
> > Unfortunately, this doesn't seem to be running. The idea is
> > interesting, though. It would be prudent to enable spam filtering
> > and/or hashcash for a service like this, of course.
>
> Yeah. I've heared that relay mentioned several times before, but I've
> never been able to connect to it. I can connect to other hidden services
> fine. You're the first other person I've come across that has either
> confirmed it working or not working.
There's no hidden service directory available any more for this service.
Long time ago I wrote a small tool to check for hidden services. It consists 
of a shell script an a C program. Compile the program and then run the shell 
script with the .onion-URL as a parameter.
Find the souces below.
Bernhard
___SHELLSCRIPT___
#!/bin/sh
if [ -z "$1" ] ; then
   echo "usage: $0 <hidden_service_hostname>"
   exit 1
fi
TDIR="http://moria.seul.org:9032"
HPID=`echo "$1" | cut -d . -f 1`
rm "$HPID" >/dev/null 2>&1
wget -q "$TDIR/tor/rendezvous/$HPID"
if [ ! -f "$HPID" ] ; then
   echo "could download \"$HPID\" from directory \"$TDIR\""
   exit 1
fi
./getdesc < "$HPID"
___/SHELLSCRIPT___
___C-SOURCE___
#include <stdio.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <time.h>
#include <string.h>
#define FRAME_SIZE 2048
int main(int argc, char *argv[])
{
   char buf[FRAME_SIZE];
   char timestr[32];
   char *ptr = buf;
   int len, intro, i;
   time_t ts;
   struct tm *tm;
   read(0, buf, FRAME_SIZE);
   len = ntohs(*((uint16_t*) ptr));
   ptr += len + 2;
   ts = ntohl(*((uint32_t*) ptr));
   tm = localtime(&ts);
   strftime(timestr, 32, "%c", tm);
   ptr += 4;
   intro = ntohs(*((uint16_t*) ptr));
   ptr += 2;
   printf("key_len = %d\ntimestamp = \"%s\" (%ld)\nintro_point_cnt = %d\n", 
len, timestr, ts, intro);
   for (i = 0; i < intro; i++)
   {
      printf("intro_point[%d] = \"%s\"\n", i, ptr);
      ptr += strlen(ptr) + 1;
   }
   return 0;
}
___/C-SOURCE___
Attachment:
signature.asc
Description: This is a digitally signed message part.