Updated Monday, October 17, 2011
This site is undergoing a total remodeling. Because of this it's possible that some files might not be available temporarily until I get them all into their new locations and update the page to point to the new locations. It is also possible that there will be typos and such until I do the final proofreading.
Along with re-designing the site I expect to have build 5110 available soon.
Build 5110 is now available. Until I can get this page properly updated, see this blog post for the relevant information and download links: FCon Build 5110 Is Now Available
Updated Friday, February 04, 2011
I've been away from freenet for most of the last year, busily working at trying to come up with a stable income that will keep me afloat. As part of that I've also been very busy with assorted youtube projects as readers of my blog will already know. I'm back for two reasons. 1) it looks like things are starting to become at least a little bit stable and 2) I got a pm on one of my youtube channels from a freenet user asking me to pick up the freenet videos project if at all possible. I thought about it and decided that I think it is possible and so over the next few weeks I'll be working on it again. Now I need to re-install Frost and unpack my old Frost identity file and see what's going on in freenet these days.
Updated Sunday, March 28, 2010
The original reason for this site is when the freenet developers began concentrating on the new 0.7 version they decided to make that the default freenet download even though it was still only an alpha version. While they did not completely remove the 0.5 links, they made 0.5 more obscure in favor of 0.7 when they moved those links to the very bottom of their download page in a very small font making them difficult to spot unless you deliberately looked for them. This effectively brought all new Freenet users to 0.7 even though because it was in an alpha release state, it really wasn't ready for ordinary users (as in non-testers).
I personally believe that this is not a good idea because I believe that while the Darknet concept does have some merit, it has what I believe is a flaw in it's design in that it's based on each node operator connecting to nodes that they trust. I spent some time running 0.7 (and later 0.7.5) and I found it very difficult (in fact impossble) to find nodes whose operators I have any reason to trust, if only because I have never met any of them face to face and likely never will. Because of this I have come to disagree with the idea of building a Freenet style network on a basis of trust.
I prefer the way Freenet Classic OpenNet has always handled connections to other nodes where there is no assumption of trust in operators you've never even met. In fact I believe it's better to assume that some nodes are operated by "The Bad Guys" (tm) and build the network to withstand their assault while taking advantage of their bandwidth and data storage space.
Therefore because it seems inevitable that the 0.5 files will eventually be taken down from the freenet project site, I am making available several freenet 0.5 packages and some instructions to help people get started with the Freenet 0.5 stable version which is now known as Freenet Classic OpenNet (FCON). In the future I will probably also be including downloads for at least the current stable build of the new FCON installer that's being developed.
Update: Monday, September 07, 2009
I've just completed the first in a series of videos about Freenet. This video provides an overview of what freenet is and some basics of how it works. Over time I'll be creating more videos that demonstrate installing and using Freenet and several Freenet Apps. I'm also working on a redesign of this page in light of the recent fork of Freenet 0.5, Freenet Classic OpenNet (FCON) on Sourceforge and because it's really LONG overdue anyway.
What is Freenet?
The original freenet site described it pretty good several years ago:
Freenet is free software which lets you publish and obtain information on the Internet without fear of censorship. To achieve this freedom, the network is entirely decentralized and publishers and consumers of information are anonymous. Without anonymity there can never be true freedom of speech, and without decentralization the network will be vulnerable to attack.
Communications by Freenet nodes are encrypted and are "routed-through" other nodes to make it extremely difficult to determine who is requesting the information and what its content is.
Users contribute to the network by giving bandwidth and a portion of their hard drive (called the "data store") for storing files. Unlike other peer-to-peer file sharing networks, Freenet does not let the user control what is stored in the data store. Instead, files are kept or deleted depending on how popular they are, with the least popular being discarded to make way for newer or more popular content. Files in the data store are encrypted to reduce the likelihood of prosecution by persons wishing to censor Freenet content.
The network can be used in a number of different ways and isn't restricted to just sharing files like other peer-to-peer networks. It acts more like an Internet within an Internet. For example Freenet can be used for:
- Publishing freenet websites (known as 'Freesites') and freenet blogs (known as 'Flogs')
- Communicating via message boards
- Content distribution
I have also seen freeenet summed up as, and I quote:
"It's kind of a mix of Usenet, the Web, and a RAID disk system, all fudged up into a super-crypto wet dream"
To install freenet, download one of these archives:
Extract the files into whatever directory you want freenet to run from. c:\freenet or c:\program files\freenet for example.
In order to run freenet, you need to have the latest version of Oracle's java runtime environment (technically this is the same as 'Sun Java' because Sun was bought out by Oracle). There are other JREs around, but freenet works best with this one. To find out what you have, just open a DOS box and type "java -version" on the command line:
C:\>java -version java version "1.7.0-ea" Java(TM) SE Runtime Environment (build 1.7.0-ea-b144) Java HotSpot(TM) Client VM (build 21.0-b14, mixed mode, sharing)
If you get a result like this with the build number starting with 1.7.0 (or higher) then freenet (and other utilities) will work on your system
You can get the Java2 JRE 7 here: http://java.sun.com/javase/downloads/index.jsp
On that page, scroll down til you see "JRE 7", click the download button for that package. When the download page loads, you have to select your platform and agree to the license agreement before you can download the file. After that, check the box on the line with " Windows Offline jre-7-windows-i586.exe" and then click on it and your download should start. Once it's done go ahead and install it.
To install freenet, simply extract the files from the archive into the directory of your choice.
Freenet used to come with a configuration program "NodeConfig.exe" that you could use to set up freenet, but I personally find it easier to just edit the "freenet.ini" and "flaunch.ini" files in the freenet directory. It's better to do it that way and once you've got things set you seldom (if ever) need to mess with it again. My opinion is that because NodeConfig.exe has been known to mess things up on occasion, including overwriting customizations, it's better to just forget about it entirely. Because of this I have elected not to include it in the distribution archive for build 5110.
All you need is to edit a few lines, save the files and freenet is ready to go.
Note: It is important to use an editor like notepad to work with these files because it saves them as plain ASCII without adding any formatting or control codes that would either give freenet a headache or just break the files.
Start by opening the file "flaunch.ini".
It'll look like something this:
[Freenet Launcher] JavaExec=C:\Program Files\Java\jre1.7\bin\java.exe Javaw=C:\Program Files\Java\jre1.7\bin\javaw.exe JavaMem=default Priority=0 PriorityClass=64
Change the "JavaExec=" and "Javaw" entries so that they contain the paths to where "java.exe" and "javaw.exe" are located on your system and save the file
Next you need to edit a few lines in "freenet.ini"
The first line to look at is "%ipAddress=" If freenet cannot determine your IP address by itself, you will need to set it here. This can happen if you are using windows internet connection sharing or you're connected to a LAN or other NAT setup.
Since I am behind a NAT, I went to http://www.dyndns.com/services/dns/dyndns/ and created a free dynamic dns domain and got the freeware "DynDNS Updater" program from http://www.kanasolution.com/download.php to make sure that dyndns always had the correct IP address automatically mapped to my dyndns domain.
If you have a static (unchanging) IP address, then enter it here. You can also put a dyndns domain name here:
%ipAddress=111.222.333.444
or
%ipAddress=yourfreedyndnsdomain.dyndns.org
In either case, be certain that you remove the % from the beginning of any lines that you change, otherwise freenet will ignore them
The next one is "listenPort=12345" this will be the port number that freenet will use to listen for incoming connections from other freenet nodes. You can change this to any number you like as long as it's higher than 1024 and lower than 65535, although you don't want to use the same port number as another app. That way lies confusion. If you are using any type of firewall, you need to be sure that it will permit incoming TCP connections on that port number.
Next is "storeSize=1G" This tells freenet how much space it is allowed to use on your hard drive for it's data store. How much space you use is up to you and what you have available. The more space it can use for the datastore, the better freenet will run. The last time I installed it, freenet defaulted to using 256 Megs of space, but I quickly found that it runs much better with a minimum of 1024 Megs (1 GB), and I've seen recomendations for using 10 or 20 GB. To use 1 gigabyte of space, set storeSize=1024M (or 1G), two gigabytes would be 2048M (or 2G), four would be 4096M (4G), ten gigabytes would be 10240M (10G) and so on. I personally have set it to 25G to allocate 25 gigabytes to freenet's data store.
When you set this, if you're not sure how much space to use, it's better to start with a smaller value and increase it later. If you reduce the value freenet ends up losing whatever part of it's datastore that exceeds the reduced value.
Bandwidth Limiting is important with freenet. If it's not limited, freenet will chew up all of your available bandwidth. In order to still be able to use other internet apps, you'll need to limit what freenet is allowed to use. I have set both "inputBandwidthLimit=" and "inputBandwidthLimit=" to 15360 bytes per second, which works fine on my 768/256 adsl connection. If you need to change these, find where they are in "freenet.ini" and read the several lines of comments there to get an idea of what settings to use.
Most of the rest of the settings in "freenet.ini" should not be changed unless you know a LOT more about freenet than is discussed here.
At this point, all that remains is to create a shortcut to "freenet.exe" and put it on your desktop, program menu or if you want freenet to start when the computer boots, put the shortcut in the "StartUp" entry of the program menu.
When freenet starts, you'll see the rabbit icon in your system tray by the clock.
Right-Click on it to start and stop freenet. *NOTE* if you use the "Configure" option on that right-click menu, it will run NodeConfig.exe which will overwrite your freenet.ini. I think it's much better to simply stop freenet, edit freenet.ini and then restart freenet.
To browse freenet websites (called 'Freesites') you can right-click on the rabbit icon and select "Open Gateway" or just load http://127.0.0.1:8888 in your web browser. From this gateway page you can find diagnostic information about your node and you can begin surfing at any of the freesites that come bookmarked on that page. Or you can just use any freenet link directly such as these two:
http://127.0.0.1:8888/SSK@XKgPxdSUjAcZrV0oTUGeXmoAGfIPAgM
,ZOJm89bQCLLZw7DJ23i4gw/mmsdev/6//
or
http://127.0.0.1:8888/SSK@~7-CGZZKXiKVoxSOlFPVBsDJXXwPAgM
,ckqhs1YME2xL0Ub3XcWpnA/watch/9//
These are two freesites that I have put up. The first is a freenet mirror of my Mixminion Message Sender distribution page and the second is the freenet version of my Lastdays Watch articles.
You'll note that the gateway page as well as many sites within freenet have a small graphic (95 x 32) assosiated with links to freesites. These are called 'Activelinks' and are part of the site they represent. The idea is that if the activelink loads, then the site probably will. Often the site will still load even if the activelink hasn't yet.
The web interface page has an "Important note for first time users" which bears repeating here:When you first start Freenet your node will know very little about the network, meaning that it could take several minutes or longer to retrieve a web page. Please be patient since Freenet will learn how to find information more effectively over time and its speed will gradually improve with use.
I'll add to that by saying that because of the encryption used and the priority placed on security and anonymity, FCON will likely never be as fast as the regular internet. If speed is your main concern, you're better off with BitTorrent, If security, privacy and being anonymous are what you're after, then you've come to the right place. You just need to realize that this comes at a cost of some speed.
What this means is that when you first start freenet, the only other nodes it knows about are the ones in the "seednodes.ref" file. As it runs it collects references from other nodes about still more nodes, gradually building and updating it's routing table from this information.
A new node will probably need to be connected 24/7 (or as much as possible) for the better part of a week before it starts getting acceptable results (please note that 'acceptable' in freenet terms are completely different from other P2P programs). Some other things to help your node perform better:
Bible Studies at A Peculiar Place
Lura's Bookcase, Exploring the Gospel in Plain Talk.
Frost - text over freenet
The Freesite Insertion Wizard,
NiMble
Freenet Utility for Queued Inserts and Downloads.
*NOTE* The executable files I put in the archives are the original one's distributed at freenetproject.org for that build (except for painkiller version, which contain a Modified freenet.jar). However for whatever reason the devs never PGP signed any of them. All you have is my word that I haven't poisoned them somehow (which of course I haven't). For as long as the freenet developers keep them available, you can also get them from http://downloads.freenetproject.org. You will need:
freenet-ext.jar (date: 12-Nov-2005 22:02 size: 1.6M),
freenet.exe (date: 30-Nov-2005 16:35 size: 57K)
and freenet-stable-latest.jar (date: 10-Feb-2008 02:12 size:2.5M)
which is build 5109
(you will need to rename freenet-stable-latest.jar to freenet.jar)
NodeConfig.exe is also available there but I personally never use it and in fact recommend against using it. It's easier (and in my opinion MUCH safer) to just edit the freenet.ini file with your favorite plain ascii text editor. I have had NodeConfig.exe destroy a perfectly good config file just because I used it to look at a setting.
seednodes.ref files can also be downloaded from
http://downloads.freenetproject.org/seednodes.
However I STRONGLY recommend that you DO NOT use those seednodes.ref files because they have not been updated since 25-Jan-2010!!
This means that the information they contain is probably worthless by now.
Unfortuantely, the *nix scripts don't appear separately on the freenetproject.org website anywhere that I've been able to find