Catalin ([EMAIL PROTECTED]) wrote:

> I uploaded a DBR Freesite formed by 3 files: index.html, activeling.gif 
> and description.txt . If I connect to the freesite using 
> SSK@<key>/freesite_name// then the index.html file is displayed 
> perfectly and fast.
> But how can i see the description.txt file and the activeling.gif file? 
> Using SSK@<key>/freesite_name//description.txt or 
> SSK@<key>/freesite_name/description.txt doesn't work (not even with 
> idndex.html).

I spoke with you in the IRC channel about this, but I think others
may benefit from some discussion on the mailing list.

As we determined earlier, you're inserting the site with FIW under
Windows XP.  I believe you also tried using fcptools, but I don't
know whether you did so with a fresh keypair as I suggested.  (Also,
hapi [Jay] said that fcptools doesn't work quite as well under
Windows as it does under Unix.)  Once a key has been inserted into
Freenet, it cannot be deleted or modified.  Therefore, if you've
got a corrupt mapfile with your first keypair, it's probably easier
to start anew with a fresh keypair so that you can insert cleanly.
(Of course, any CHK@ keys will still collide, but that's good.  You
want that.)

And yes, I think your mapfile is corrupt.  The mapfile is a list of
CHK@ redirections for your site, and your insertion client (fcptools,
FIW, fishtools, FreeWeb, or whatever else exists at the moment) is
normally responsible for constructing it properly.  Most authors/users
don't ever see one, but you can retrieve it manually, for validation
purposes, with a bit of knowledge about FCP.  I'll use my site as an
example:

$ echo -e 
'\000\000\000\002ClientGet\nURI=SSK@wlUk5niRuNDUL4lzvdHu6DamhW8PAgM/Greg_Wooledge//\nHopsToLive=10\nEndMessage'
 | nc localhost 8481
DataFound
[...]
DateRedirect.Target=freenet:SSK@wlUk5niRuNDUL4lzvdHu6DamhW8PAgM/Greg_Wooledge
End

This is using bash's built-in echo command, which supports SysV style
\xxx notation with the -e switch.  nc is netcat, which is a command-line
telnet client suitable for piping data (as opposed to interactive use).

As you can see, my site is a DBR (DateRedirect).  So in order to fully
expand the redirect, we need to compute the desired day's timestamp
in the Freenet format:

$ perl -e '$t=time(); printf "%x\n", $t-$t%86400'
3e162400

That's today's timestamp, which is fine because I intend to retrieve
today's mapfile, which was inserted several hours ago.  If I had
only inserted tomorrow's (e.g. if this were a brand new site), then
I'd add 86400 to the time.  I discuss this in more detail on my Freenet
site.

Now, to fetch the mapfile, we combine the DateRedirect.Target and the
timestamp in hex (and a hyphen):

$ echo -e 
'\000\000\000\002ClientGet\nURI=SSK@wlUk5niRuNDUL4lzvdHu6DamhW8PAgM/3e162400-Greg_Wooledge\nHopsToLive=10\nEndMessage'
 | nc localhost 8481
DataFound
DataLength=339f
[...]
Name=greycat.png
Info.Format=image/png
Redirect.Target=freenet:CHK@Q~n-s59eewImrlPE3jdZHIIND98OAwI,1LvQI-TZ~HWd12Mcs6Fp
qg
[...]
Document
Name=index.html
Info.Format=text/html
Redirect.Target=freenet:CHK@7QAAVSDRTCaTolBTqgnsGzK3~LgQAwI,MgYmNaO~ygLLDbgU0~GGMw
EndPart
Document
Info.Format=text/html
Redirect.Target=freenet:CHK@7QAAVSDRTCaTolBTqgnsGzK3~LgQAwI,MgYmNaO~ygLLDbgU0~GGMw
End

Obviously my mapfile is pretty large, so I've snipped most of it.  But
you can see that there is one "Document" section for each file in my
site, and each one redirects to a CHK@ key.  In addition to this, there's
a "Document" section which has no "Name=" in it, which has the same CHK@
redirect as index.html.  This is the "default" document, which is
retrieved when someone requests SSK@blah/Greg_Wooledge// with nothing
else after the //.

Since this is a daily DBR site, a new mapfile is inserted every day,
even if I don't change any of the files.  Past mapfiles stay around
in Freenet for an indefinite period of time; if someone requests
them (either with SSK@blah/oldtimehex-Greg_Wooledge// or the newer
SSK@blah/Greg_Wooledge//?date=YYYYMMDD) then nodes will retain them.
Otherwise they'll eventually expire out of the system, assuming that
new content is inserted continually to force the old content out, and
also assuming Freenet's capacity is finite.

Unfortunately for you, I don't know of any tools that come with
WinXP which can be used to duplicate the steps shown above.  You
could download Unix tools such as bash, netcat and perl; apart from
that, I don't know what options are available.

-- 
Greg Wooledge                  |   "Truth belongs to everybody."
[EMAIL PROTECTED]              |    - The Red Hot Chili Peppers
http://wooledge.org/~greg/     |

Attachment: msg02474/pgp00000.pgp
Description: PGP signature

Reply via email to