Frost - text over freenet

Frost is a P2P messaging and file sharing application, in many ways it's similar to UseNet but with some important differences. Frost requires Freenet to be running because all messages and file transfers done with Frost are sent through freenet's encrypted anonymity so that anything sent with frost has all of the security of freenet behind it.

This means that messages, uploads and downloads are just as anonymous and nearly impossible to trace or remove as any other freenet content.

Like freenet, Frost is a java application. Frost will run in Java 1.7 or higher. This is the same java envirionment that freenet uses so if freenet will run, then so will Frost.

Other Applications

Getting started
with Freenet

The Freesite Insertion Wizard,


Freenet Utility for Queued Inserts and Downloads.

Older versions: (sourceforge download) (sourceforge download)

You can also get frost-04-Mar-2008 from the Original Frost freesite (you must be running freenet 0.5 on for this link to work!)

Update Sunday, October 23, 2011: I am working on updating the screenshots. They should be gradually changing through the day to match the "Frost-Wot" that is included in the new Freenet Classic Opennet (FCon) distribution archive. As I do this I'll be updating the directions as well.

Frost has gone through several revisions since this was originally written. I'm in the process of updating this page to reflect the "Frost Classic" version. Because of this the screenshots won't look exactly the same until I get those updated but the function of the program is essentially the same in most respects.

The latest stable version of frost is Frost Classic and can be downloaded from The source code is included in the archive so if you prefer you can build your own executable. A new Frost-Classic freesite within freenet will be inserted soon. When it is I'll update this page with the key for that new site

Unzip into whatever directory you want it to run from. e.g. C:\freenet\frost

I would then make a shortcut to the file "frost.bat" in the frost directory and then either put the shortcut on my desktop, program menu or on the quick launch bar. It's also a good idea to right-click on the shortcut and select 'properties' and then select 'program' tab and check the 'close on exit' checkbox so that the dos box that starts frost will close by itself after it's done.

When you start frost for the first time it will put up a splash screen that has several joke 'messages' Ignore them. The spash screen can be turned off once frost is running and I recommend doing so.

Lastly it will ask for an identity name. This is NOT talking about your real identity of course. Just a 'handle' or 'screen name' that you will use on frost message boards. Because these identities also have digital signatures, you don't even have to be unique. (though it is better if you don't deliberately choose an identity if you know somebody else is using it if only for politeness and to avoid confusion.

Once frost starts up you'll see something like this screenshot:

frost screenshot

The very first thing I do is click on the 'News' menu and then click 'Automatic board update' to turn that off temporarily until I get my preferences set and my initial board arrangement done.

news menu

After that, the first thing I like to do with a new install of Frost is to adjust a few settings and turn off the splash screen. Everyone will end up with their own preferred settings so what I'm going to do is give the settings that I use and have found effective to give you a place to start from. These settings work for me, your mileage may vary. Any settings that I don't mention here I leave at their defaults.

On the 'Options' menu, select 'Preferences' and select 'Miscellaneous'.

frost preferences screenshot

Here you can Check 'Disable Splashscreen' if you want to turn that off. I also make sure that 'Show SysTray Icon' is checked so that Frost can be minimized to the system tray and not take a spot in the taskbar when it's minimized.

On the 'Display' section, I also check 'Enable multiline selections in message table'

In the 'Expiration' section, I choose 'Delete expired messages from keypool' and leave the 'Number of days before a mesage expires' set to it's default of 30 days

In the 'News 3' section I check 'Silently retry failed messages' and change the 'Minimum update interval of a board' from it's default of 45 minutes to 5 minutes. I set the 'Number of concurrently updating boards' to 6

In the 'News 2' section I make sure that 'Hide messages with trust states' has 'Bad' checked. and for 'Don't add boards to known boards list from users with trust states:' I check 'Observer', 'Check', 'Bad' and 'None (unsigned)' so that the only time a board will be added to the known boards list is either when I explicitly do it myself or when it's attached to a message sent by someone that I have marked 'Good'.

In the 'News 1' section I set both the 'Number of days to display' and 'Number of days to download backwards' to 30. In the text box labeled 'Signature' you can put any brief text that will be appended to any 'signed' message that you send.

After you have your preferences set, click 'Ok' to close the preferences window and save them. Now you'll be looking at the main Frost window. On the left side is the tree view of the message folders

frost tree view screenshot

Clicking on the '+' next to the folder name will expand it to show the subfolders and message boards in it. Now since I do not speak or read french (or any language but English) at all, I am not going to spend resources downloading or storing messages on non-English speaking boards, so I right click on the 'International' folder and select 'Remove folder'

frost delete folder screenshot

You can delete individual message boards and create new folders and sub folders to arrange them in whatever way suits you

A few words about content

Before going on to the details about adding new boards and reading & posting messages I think it's necessary to warn new frost users that because freenet is anonymous and it is effectively impossible to determine the origin of any file or message and just as impossible to prevent any particular content from being inserted, there ARE going to be messages (and other content) that you will find offensive.

Freenet keeps popular content and drops less popular content to make room for newly inserted material, the only thing that you can do about content you don't like is to not request the content that you disapprove of. The more nodes that request something the greater the possibilty that more of those nodes will carry parts of it, thus making it easier to retrieve.

This is why I use the settings I do in the 'News 2' section of the preferences. Between that and careful use of user trust settings I can control what appears in my Frost's message base and what my copy of frost will help spread while at the same time not interfering with other people's freedom of speech.

Now that I've gotten my boards and folders set the way I want them, I'm ready for frost to start requesting content. There are two ways to do this. You can either use the 'News' menu (see pic above) and re-activate 'Automatic board update' which will automatically cycle through all of the boards you've 'subscribed to' or you can select a specific board you want to update and either use the 'Refresh button or the right click menu to start that board downloading content.

refresh boards

Once a board is started refreshing it will take some time for messages to start arriving. This time will vary depending on many factors such as your freenet node's connection speed, how long it's been running, size of datastore, Etc.

By the way, if you're concerned about viruses, trojans and other nasties all too frequenly associated with email, you don't have to worry. Frost messages are nothing but text and cannot be 'executed' or run in any way. The only thing frost does with attachements is to either add boards to the known boards or give you an opportunity to download a file from freenet. The only possible harm is in files that you download, and then as long as you take sensible precautions you're safe:

Don't download and run a program that you don't trust (This is why it's a good idea for files to include PGP signatures in their distribution archives. And why you should verify those signatures when they are there.)

Anything you download should be scanned by your (freshly updated) anti-virus app before you run anything in it just to be sure it's clean.

After I had frost auto-updating it's boards for an hour or so, it looked like this:

after an hour of updating messages

Your mileage may vary. These results are based on using the settings I described above and with my node running 24/7 on a 768/256 adsl connection with a 1GB datastore

The board names in bold have unread messages in them, the number of unread messages is next to the boardname. Boardnames that are shaded are being updated. If a folder name is bold, then one or more of the boards in that folder have unread messages.

Posting messages: To post a message, first select the board that you want to post it to. For a first message the best place is the 'Test' board which exists specificaly for new users to post test messages. Then click on the 'New Message' button.

post new message

This will bring up the new message editor:

editing a new post

You will note that the 'Sign' option is checked by default. If you un-check it, your message will not be signed and your Frost Id will not be used in it. Instead you will simply be 'Anonymous'. I recommend that you sign your messages under most circumstances because there are a lot of people who set Frost to hide all messages that are not signed. Besides, it's not like your Frost Id is connected to any other Id. It is just as anonymous as not signing with one exception, signed messages can be verified that they came from the same user. They do NOT indicate WHICH user, just that it's the same user.

Because of freenet's nature, anyone can create any number of message boards for frost. But if they do not have the correct board name their copy of frost cannot retrieve messages for it. The solution to this is to send a post that has the boards included as an attachment. Click the 'Add board(s)' button and you'll get a list of boards that you are subscribed to. Also, if you want to attach a file to a message, you can use the button just to the left of the 'Attach board(s)' button that will let you select a file to attach to a message however I personally find that while Frost is a great message system, I prefer using 'Freenet Utility for Queued Inserts and Downloads' which is a dedicated tool for inserting and downloading files.

choose boards to attach

Select the boards that you want to post and click 'Ok'. Then if any of the boards you selected have private keys, Frost will ask you if you want to include the private key. If you do, then anyone who has it will be able to post to that board. If a board is keyed, then you must have the private key to be able to post to it.

Why share private keys? Because it's an anti-spam measure. If a board becomes overrun with spam and abusive messges, new keys can be made for it and distributed to legitimate users. Suddenly the spammers disappear because they're still using the old keys and you have the new ones.

confirm sending private keys

At this point, you have a test message with several boards attached.

message with boards attached

If you had marked any identies as 'Good', then you would be able to encrypt this message for one of those persons by putting a check mark in the box labeled 'Encrypt for' and selecting their Frost Id in the dropdown list next to it. Since you haven't done anything with user trust settings that isn't possible for this message.

Next, click the 'Send Message' button and it's on the way.

send message

Now take a look at the status bar at the bottom of the Frost main window:

status bar

TOFUP: 1B / 1T / 0A means that there is 1 task uploading a message on 1 board and that there are no file attachements being uploaded. When these numbers drop back to zero, then your message has been successfully sent. *NOTE* This will NOT be as fast as normal email or usenet posts. Part of the price paid for freenet's anonymity is that inserting files and messages does take some time. How much time will vary depending on your node and how much bandwidth you allow freenet to use. In my experience it can take anywhere from one to ten minutes for Frost to insert a message. This isn't anything like an 'instant' message system and doesn't pretend to be. When I sent this test message, it took about six minutes or so to insert.

TOFDO: 6B / 8T Selected board: Test This shows that Frost has 8 tasks downloading messages on 6 boards and that the currently selected board in the main window is 'Test'. In my experience, downloading messages is almost always faster than sending them.

After the message is inserted, refresh the Test board. It shouldn't be very long before your test message appears:

test message has arrived

You'll see that your Frost Id in the message selection window is blue, this means that there is one or more attachments on that message. In the 'Sig' column, you'll see 'GOOD' in green. This means that the digital signature on the messge is valid and therefore the message actually is from the identity that appears in the 'From' field.

adding attached boards

To add boards from a message attachment, select the board you want to add, right click on it and either add it to your list of known boards or put it into a folder. Putting it in the known boards list just means that it's available to be added anytime later. Adding it means that you can begin sending and receiving messages on that board. (or just recieving if you don't have the private key on a keyed board)

user trust settings

User trust settings are part of how you control what frost allows and what allows you to send encrypted messages.

When setting trust for a user you have the choice of: 'Trust', 'Observe', 'Check' and 'Bad'. Setting a user to 'Trust' means that you will be able to send encrypted messages to them and your copy of Frost will help any of their files that you download by re-inserting missing blocks. 'Observe' and 'Check' are both neutral settings that won't affect anything. I use 'Observe' to mean I'm watching that user to make a trust decision later and since 'Check' is the default trust, that means I haven't decided anything at all about that user.

With the settings I used on the 'News 2' part of the preferences, setting a user's trust to 'Bad' will cause that user's signed messages to never be displayed and Frost will not re-insert missing blocks of any of their files (if you download any that is). So if a user posts material that you don't want to see, setting them to 'Bad' will killfile everything they post. It doesn't stop them from posting or inserting files, but it will keep your frost from helping them at all and you won't have to see their messages.



**NOTE** This page isn't finished yet, so if you think it looks like there's something missing, you're probably right.



Back to: Freenet Classic OpenNet download



Back to: A Peculiar Place