User Manual




What Is FreeWeb?

FreeWeb is a software suite which creates an alternative World Wide Web.

What for? What's wrong with the mainstream Web?

Because there are many problems with the mainstream Web, and many situations when use of the mainstream Web can endanger yourself and others.

For instance, on the mainstream web,

This is where FreeWeb comes in.

Users with FreeWeb installed can publish websites on Freenet with complete anonymity.

Also, once a website is published on FreeWeb, it can't be taken down by anyone except the site's original publisher.

For example, Peter Wright (an ex-MI5 agent and author of the book "Spycatcher"), could put up a website with the book's text, and it would be impossible to prove conclusively that it came from him. More, once such website is up, it's not possible for any government to take it down.



Changes In This Version


Notes to Users of Previous Versions

If you were one of the brave ones who downloaded the previous FreeWeb, version 0.1a alpha, you'll see some massive changes in the way things are done.

Due to a complete restructuring of the DNS process, you'll have to create and re-insert all your sites from scratch.

Also, you'll have to completely uninstall any previous versions of FreeWeb from your system.

You will enjoy much better performance and reliability with this version.

If you find any problems, please email me - the sooner I know of any issues, the sooner I can fix them.


Software License

FreeWeb is published and distributed subject to the terms and conditions of the GNU General Public License.

You are free to modify, reverse-engineer, freely copy and distribute this code, as long as anything you disseminate contains



Getting Started


System Requirements

At this early alpha stage, FreeWeb only runs on Intel-based systems, including:

It's unknown at this stage whether FreeWeb will work on the new Windows XP plaform (but there's no reason to suspect it won't).

Down the track, though, it's likely that FreeWeb will be ported to other platforms, such as:

To use FreeWeb, you will need

Also, you'd be crazy not to have the following:


Please don't attempt to install or use FreeWeb until you've got Freenet up and running.

To download and set up Freenet, visit



Quick Reference


Quickstart for Power Users


To Publish sites to FreeWeb:

  1. Allocate a folder for your site
  2. Create your site in that folder; the default file must be index.html. If you don't know html, don't worry - FreeWeb can do all that for you. Napster/Gnutella users note: it's ok to choose a folder containing files you want to share.
  3. Run FreeWeb
  4. Drag the folder onto the FreeWeb dialog (or you can just click the 'Add' button and browse for the folder)
  5. Choose a unique name for your site (eg 'mydomain')
  6. Enter a list of keywords for your site. If you don't want your site to appear on the public site registry, click on the 'suppress key index listing' checkbox.
  7. Insert your site into Freenet - Click 'Site' then 'Refresh This Site' and wait for the insertions to complete.
  8. Get your new site's 'Freenet Key' by (1) Right-clicking on the site and clicking on 'Properties', or (2) Click on 'Site' then 'Site Properties' - when you see the properties window, copy the 'Secure Freenet Key'
  9. Surf your new site (see above).
  10. Keep your site 'refreshed' - each day, just after midnight GMT, do 'Refresh all sites' again. The best time to do the refresh is just after midnight GMT each day.



FreeWeb Configuration


Configuring FreeWeb

FreeWeb configuration is fairly simple.

Mostly, you just need to tell FreeWeb how to access Freenet on your system.

In its default state (after installing), most people won't have to change any FreeWeb settings.


Publishing Sites


Easy! No HTML Needed

If you don't know anything about web design or HTML, you can still use FreeWeb.

This version of FreeWeb gives you the option to automatically generate HTML files as needed.

If you want to create your own HTML files, do that - but make sure that your main HTML file is called index.html and located in the top level of the directory you are inserting.

But if you want it done for you, then simply don't create an index.html. If you try to publish a site without an index.html file, FreeWeb will offer to create one for you.

Thanks to the authors of the various Gnutella servent programs for the inspiration behind this one.



Choose A Site Name

Basically, you can choose any name you like, as long as:

Try to keep the name as short as possible, for convenience of people surfing your site.



Uploading Your Site

Publishing FreeWeb sites is very simple - all you need to do is:


Sites need Daily Refresh

When you first create your site, then once a day thereafter, you'll need to 'refresh' your website. There are two ways of doing this:

  1. Click on your site, then click 'Site' then 'Refresh Selected Site', or
  2. Right-click on the site, then click 'Freshen site' in the popup menu.

After you do this, wait for all the file inserts to complete. The status messages window will keep you informed of progress. Wait till you see the 'All site insertions/refreshes completed' message come up.

If you fail to do this, your website will become harder to find, and ultimately invisible.

More information appears in later sections.



Creating Your Website

FreeWeb websites are pretty similar to mainstream websites, except for some important differences. PLEASE READ THROUGH THESE NOW!



Testing Your Website

Before you upload your website to FreeWeb, you should test it thoroughly.

That's because once you've published it, you can only update it once a day. So if there are any mistakes, you'll be stuck with them for up to 24 hours.

If you're not already aware, it's easy to test a website without having to upload it. All you need to do is:

If your website passes these test when surfing it on your hard disk, it should be ready to publish.



Adding Your Website To FreeWeb

There are two easy ways to add a site to FreeWeb:

Either of these two actions will bring up the 'Add site' window (see below):

When you've typed in a name for your site, pointed to a valid directory, and possibly typed in some keywords, click on OK to close the dialog

When it first appears, your site's status will show as "stale", which means that you haven't yet done your round of daily updates. Provided you've chosen a site name that's not already taken, and you've pointed to a valid site directory, you'll be able to refresh your site later.



Your Sites List

When you run FreeWeb, you'll see a white window within the Publisher dialog box. This window lists the sites you have defined on FreeWeb. If you haven't published any sites yet, the window will of course be empty.

The first step in publishing a website is to add it to your sites list. Quite simply, all you need to do is click on "Add A Site", enter the domain name, and key in 'or browse to' the directory where the site's files reside (See directions above).

(Alternatively, you can simply drag a file from Windows Explorer onto the FreeWeb window).

Auto-generation of index.html

Note - if the site directory you choose doesn't contain a file called 'index.html' at the top level, FreeWeb Publisher will ask you if you want one created for you. Therefore, it's possible to put up websites without having to know anything about HTML or website design.



Known Issues

I can't see the sites I've inserted

When you surf freesites, you're using a Freenet feature called 'FProxy'. Please note that FProxy is part of Freenet, not FreeWeb.

If you find that many or most sites are not coming up in your browser, you'll need to increase FProxy's 'Hops To Live', or htl, setting.

To increase FProxy's htl setting, you need to:

  1. Shut down your Freenet node, if it's running
  2. Edit the file 'freenet.ini' in your Freenet program directory
  3. Add a line which reads: services.fproxy.htl=100
  4. Restart your Freenet node
When you do this, you'll notice that FProxy tries much harder to find sites on Freenet before it gives up.



Contacting the Author

All correspondence about FreeWeb - bug reports, feature suggestions, news etc should be sent to

FreeWeb Architecture


FCP Interface

FreeWeb communicates with Freenet via the Freenet Client Protocol (FCP). For more information about FCP, visit the Freenet website -


How Does FreeWeb Work?

FreeWeb doesn't use HTTP, the mainstream Web protocol. Instead, FreeWeb uses Freenet, a revolutionary Peer to Peer networking protocol.

So what's the difference?

With the mainstream Web, a web address (such as is mapped to a single computer. A system of 'registries' (called DNS) lays out a map which enables such web addresses to be forwarded to the one computer which hosts the desired website.

But FreeWeb totally discards the concept of servers. Instead of web addresses, FreeWeb uses its own Freenet addresses.

Why Freenet?

Freenet is the ideal infrastructure for an anonymous Web. Some of the features of Freenet include:

Decentralised Storage - Information is not stored at a single location - it is stored on several different computers all over the world. Freenet is based on a Peer to Peer architecture, and doesn't depend on a central server.

Encryption - Information is always stored on Freenet in an encrypted form. Once information is stored to Freenet, it is virtually impossible to determine exactly where it is stored. Any attempt to determine its location results in such information proliferating further around the world.

Resistance to Attack - once information is written to Freenet, it can't be deleted. Due to the encryption used, not even operators of Freenet node computers can determine what Freenet information is stored on their system.

In its present form, Freenet requires more technical skill and tinkering than most people are willing to accommodate. One reviewer called Freenet "the foundations of a castle".

FreeWeb is a Freenet Client Program, or a program which uses the Freenet protocol to provide an easy-to-use service, and allows people to use a familiar paradigm - the 'World Wide Web' - for accessing Freenet.

How Does FreeWeb Actually Work?

FreeWeb keeps records of all directories and domains published to Freenet. Amongst the site records, a timestamp is kept of when each site, and each of its files, was last uploaded to Freenet.

Therefore, if a site hasn't changed since it was last uploaded, FreeWeb won't try to upload it again.

As for the upload process, this is handled transparently in the background by multiple threads which negotiate the key insertions with Freenet via the Freenet Client Protocol (FCP).

All sites published on FreeWeb can be accessed without the FreeWeb software, because they exist in the standard DBR-MSK format.

To find out the ‘traditional’ Freenet URI corresponding to your site, simply double-click on that site in FreeWeb Publisher (or right-click on the site and select ‘Properties’).


For Seasoned Freenet Users

If you're quite experienced with raw Freenet, then it's likely you'll love FreeWeb or hate it. If you hate it, then just pretend it doesn't exist, and it won't bother you. But if you love it, then get involved - start creating content, reporting bugs, suggesting improvements etc.



Frequently Asked Questions

Is there any way to trace a published website back to me?

Could be, but it's pretty damn difficult.

  1. The authorities would first have to suspect that it's you who published the site.
  2. They would have to be able to break Freenet's encryption.
  3. They'd have to serve court orders on your ISP and/or phone company, and install packet-logging hardware in your ISP or phone line

Also, as Freenet becomes more popular, and Freenet traffic levels increase, it will become increasingly difficult to tell between your site map updates and other Freenet-related traffic.

With all these obstacles, it would be far easier for authorities to physically break into your home (with or without a warrant) and sieze your computer.

But if you have your entire Freenet store, plus FreeWeb sites, on an encrypted virtual disk, and your system is set to unmount such disk upon any trace of unauthorised activity, this will prove very difficult too.

Is there any way to trace my surfing activities on FreeWeb?

The easiest way to do this is for someone to get their hands physically on your computer.
Unfortunately, Windows leaves all kinds of traces of your activities.
Deleting your cache and history folder isn't enough - there will still be traces. What you need is a good thorough cleanup program like Evidence Eliminator.
Also, make sure to regularly "shred" all free space on your hard drive

Why can't I see the sites I've published

First, check that your sites are currently fresh. If not, run FreeWeb and refresh them.

But if your sites are fresh, and you can't surf them through FProxy, you'll need to increase the 'Hops To Live' setting of FProxy within Freenet.

But this is straighforward. All you need to do is:

  1. Shut down your Freenet node, if it's running
  2. Edit the file 'freenet.ini' in your Freenet program directory
  3. Add a line which reads: services.fproxy.htl=100
  4. Restart your Freenet node
When this is done, you'll notice FProxy working much harder to find your sites.


Why do I have to update my site each day?

Because of the security within Freenet, security which protects your privacy and stops others from deleting your files, it is not possible to change a file you've uploaded. Therefore, when you upload a website, it gets today's date stuck onto it.

That's the only way there is at present to facilitate changing content on Freenet. Future versions of FreeWeb will make the 'daily update' ritual unnecessary, by providing for "today plus yesterday plus first day of month plus first day of year" timestamping scheme.

What happens if I don't update my site?

Quite simply, you site won't be visible. In future versions, FreeWeb will be smart enough to search for earlier versions of the site. But for now, if a site hasn't been updated today, it just don't exist.

When's the best time to upload a new site?


When's the best version to update my site?

As soon as possible after midnight GMT, which is: Midnight in London 10am in Australia Noon in New Zealand 4pm Pacific Standard Time (USA west coast) 7pm Atlantic Standard Time (USA east coast)

Future versions of FreeWeb will have automatic scheduling functionality built in, so they will automatically refresh your sites when needed.

Why are you using GMT time?

Because if sites are stamped with local time, then there will be a delay before anyone in earlier timezones can access your site. For instance, the old Javascript date-based redirection meant that users in Australia and New Zealand were constantly having to manually edit Freenet URLs and key in yesterday's date.

How do I take down a website I've published?

Stop doing the daily updates. Your site will be invisible from tomorrow. Eventually, the domain registration for your site will expire from Freenet.

Credits and Acknowledgements



FreeWeb is dedicated to all people throughout history who have ever suffered as a result of expressing an opinion.

FreeWeb is also dedicated to Amnesty International ( for your constant labours in bringing respite to prisoners of conscience.

Last but not least, FreeWeb is also dedicated to the Free Software Foundation, GNU ( and other advocates of freely available software



Thanks are due to

Ian Clarke, Freenet architect and project founder, for your visionary concept of a truly free network, and your courage as you daily put yourself on the line with the world media and internet community

All other Freenet developers, ( for sharing Ian’s vision, and for your loving unpaid labour and technical skill without which Freenet would not have developed as quickly as it has.

Thanks also for tolerating my naïve questions and random rantings on the Freenet mailing lists, and for your supportive answers to my questions.

Nitallica (, Phrozen Crew graphic designer, and acclaimed “Phenomenal Woman of the Web”, for your inspired artwork, and your kind support of the FreeWeb project.

Electronic Freedom Frontier (, for your ongoing diligence and courageous actions against those who would undermine the basic human right of privacy and free expression.

Electronic Privacy Information Centre ( for empowering the global internet community to defend their freedom and privacy.



FreeWeb was designed and implemented in by David McNab.

Graphic design provided by Nitallica.

Thanks go to other Freenet developers, alpha testers and reviewers for your kind support and assistance.

Last but not least, thanks also go to Jay Ferguson, of Pennsylvania State University, for your energetic feedback and interest in the project. I look forward to seeing your code on CVS real soon.



FreeWeb is CopyLeft (c) 2001 by David McNab
Published subject to the GNU General Public License