This is a good idea, somewhat technically challenging but we have several possibilities for implementing it.
Also, on Mac and Windows, we now have a system tray icon, which allows the user to conveniently start or stop Freenet.
Can you code? You could add transport plugins to give Freenet a backend over a mesh: http://new-wiki.freenetproject.org/Transport_plugins
btw: A 100GiB darknet node would help freenet, too.
With tor, you are just as visible. Anything you do in the internet shows your IP. And anything the state might not like endangers you.
If you want to sleep well at night, be a happy, obedient citizen. Can’t be obedient and happy at the same time? Too bad… (yepp, that’s the cynical me…)
But if you want to sleep better and still avoid censorship, firstoff only use darknet. That does not expose your IP to random strangers (freenet differs from tor and i2p by making it possible to hide the IP in this way). And freenet is a proxy network just like tor, with the addition of temporary caching of uploads (temporary being a time between days and years, depending on the popularity of the content).
And Pay a Programmer to add transport plugins with inconspicious looking steganography: http://new-wiki.freenetproject.org/Steganography - or, if you can, do it yourself. That would allow tunnelling over TCP, too.
Have no friends? Well, get other people you mostly trust to use freenet. That’s the strongest way to make yourself safer in frenet: Add critical mass.
There has been significant progress on this feature, “transport plugins”, but Chetan’s work is not yet part of the main Freenet, and doesn’t yet support TCP; it only supports packet-like transports, so e.g. cloaking traffic as VoIP to avoid blocking. More work is needed, by me and Chetan, to get this working, but first steps have been taken.
The first steganography plugin which would be interesting to me is (after some thought) not skype, but jingle (audio and video via Jabber).
This has three advantages:
* It is really hard to justify blocking
* It gives jingle a boost, instead of the proprietary skype
* The specs are all free
PS: Thank you for adapting the title!
I now added a seperate wish for steganography to differenciate it from simple connection issues: http://freenet.uservoice.com/forums/8861-general/suggestions/1452285-add-steganography-hidden-connections-via-transpo?ref=comments
I use Freenet itstead of tor or similar, because I think that we might need a safe harbour for resistance against censorship, soon. Transport plugins are the only way to ensure that ISPs cannot disrupt the darknet (while keeping the general internet alive) when ordered to do so. That is why I vote on this.
Why not just maskerade as skype? Skype is encrypted, so the traffic should be quite hard to distinguish.
Why hiding freenet as other traffic is important to me: I want it to be ready before it gets blocked. Moreover: I want it to disappear from view, before people start really searching for it.
Would it be possible to add automated steganography by analyzing the traffic which doesn’t originate from freenet and then replicating that traffic? Something like synthesizing the traffic (I’m currently reading into texture synthesis from image creation).
Look at what you send other connections and replicate that for the freenet contacts.
To make that more efficient, you can replicate only certain kinds of traffic which are plausible for direct p2p connections, like voice-over-ip/skype/video-streaming(rtsp,etc.)/…. Protocols which can be identified by the port number, so it’s easy to identify them (and split their data from the IP address).
I'd think it would be useful to just test a list of ports normally used for
communication (ideally encrypted), so that encrypted data wouldn't draw
suspicions (and so we don't need to implement full steganography at once, but
can move towards it).
Maybe the option could include a list with the note "Only select services you
DON'T want to run!"
Some ideas, not all encrypted:
- 2190/UDP TiVoConnect Beacon
- 2593/TCP,UDP RunUO—Ultima Online server
- 3723/TCP,UDP Used by many Battle.net Blizzard games (Diablo II, Warcraft
II, Warcraft III, StarCraft)
- 3724/TCP,UDP World of Warcraft Online gaming MMORPG
- 4000/TCP,UDP Diablo II game
- 6619/TCP,UDP odette-ftps, Odette File Transfer Protocol (OFTP) over TLS/SSL
- 6891–6900/TCP,UDP Windows Live Messenger (File transfer)
- 6901/TCP,UDP Windows Live Messenger (Voice)
- 28910 Nintendo Wi-Fi Connection
(all information from
I'm sure there are more...)
(comment copied from an email)
Works for me. Just set the wget timeout high enough :)
This is planned, but is a duplicate of the other item:
I have edited it a little to make it more obvious what it is about.
If you have specific steganographic plugins you are interested in, as opposed to getting stuff to work better through firewalls and general infrastructure, comment here or there.
Some dischssion on the topic can be found at http://freenet.uservoice.com/forums/8861-general/suggestions/94861-use-the-port-80-443-53-1863-for-comunication
IMHO this is important, but some of the changes needed may be difficult. You are always likely to gain speed from running it 24×7, but there is much we can do to speed up assimilation on opennet. I am hopeful that eventually small set top box type devices will be able to run Freenet… Of course, on darknet, this is way harder, because the darknet may not be connected at all, so we will need long-term requests for it to work.
A simpler option would be to use the thread model from i2p and comment how freenet stands on it.
99 votesAdmintoad (Admin, Freenet Project Inc.) responded
Freenet has switched to git. Both mercurial and git can be inserted to Freenet, and support distributed workflows well. I believe that the repository has actually been inserted by a few people, I don’t know whether it is kept up to date.
I’d say, this is hereby implemented :)
Update: There’s now an infocalypse¹-repository for freenet. Infos in the fniki:
More reasons for using Mercurial for repositories on freenet (these come from the author of infocalypse):
* Incremental: You only need to insert/retrieve what has actually changed. Changes of up to 32k of compressed deltas can be fetched in as little as one SSK fetch and one CHK fetch.
* Redundant: The top level SSK and the CHK with the representation of the repository state are inserted redundantly so there are no 'critical path' keys. Updates of up to ~= 7Mb are inserted redundantly by cloning the splitfile metadata at the cost of a single 32k CHK insert.
* Re-insertable: Anyone can re-insert all repository data except for the top level SSKs with a simple command (hg fn-reinsert). The repository owner can re-insert the top level SSKs as well.
* Automatic rollups: Older changes are automatically 'rolled up' into large splitfiles, such that the entire repository can almost always be fetched in 4 CHK fetches or less.
@infected: Because Mercurial is far easier to use for newcomers while offering the same options for experienced users.
Also because there is the great Infocalypse extension for Mercurial with which inserting repositories becomes quick and painless: USK@-bk9znYylSCOEDuSWAvo5m72nUeMxKkDmH3nIqAeI-0,qfu5H3FZsZ-5rfNBY-jQHS5Ke7AT2PtJWd13IrPZjcg,AQACAAE/feral_codewright/16/infocalypse_hg.html
But since it's very easy to convert a git repo to freenet, there's already a repository published via infocalypse:
Why hide: The company you work for (or one of the main shareholders) might not like its PR work for censorship go to waste, because a skilled developer helps making censorship almost impossible.
I just wrote a simple guide on setting up anonymous repositories:
It should supplement the one from the site by focussing only on what developers need to do, and hopefully by being easy to understand.
I'm glad to hear that!
And not to forget: Many thanks for your work!
Interesting. The site itself (the HTML, and any of the images that fit in the main container) is preloaded, but it is quite possible that the images are not. Bug filed: https://bugs.freenetproject.org/view.php?id=3858
164 votesAdmintoad (Admin, Freenet Project Inc.) responded
The roadmap is in flux. Status updates posted to the mailing lists sometimes include our intentions at the time.
For a Freenet roadmap I would imagine a blend of the WhatsNew from Mercurial (for released versions) and a work plan in the style of the PR changelog.
I can create a simple site template for that, if you want to use one.
Mercurial has a WhatsNew which lists the relevant changes per version:
- Mercurial WhatsNew: http://www.selenic.com/mercurial/wiki/index.cgi/WhatsNew
In one of the projects I contribute to, we have a "PR changelog" and a normal changelog:
- PR changelog: http://phex.svn.sourceforge.net/viewvc/phex/phex/trunk/PR-changelog.txt?view=markup
- normal changelog: http://phex.svn.sourceforge.net/viewvc/phex/phex/trunk/changelog.txt?view=markup
As you can see, the PR changelog mostly states the changes which users can experience.
Could you just keep some page updated with the current RoadMap?
Something like "current plans" or similar (to make it clear that there are no adamant milestones).
IMO Ideally the RoadMap would be in freenet and in the default bookmarks, maybe joined with a "WhatsNew"; A changelog for mortals.
We would have to implement filters for common audio and video formats to make this work. But yes we probably will support these tags eventually (after 0.8). There are even some ideas about pseudo-streaming…
You could for example restrict it to Ogg Theora and Ogg Vorbis (which are the two formats which will be supported natively in Firefox).
We are starting to implement this. At the moment there is a prototype mediawiki on sourceforge, we may have to find another provider though.
But there are some new wiki concepts out there - for example version control based wikis, which can be modified offline via a VCS and compile source files to static HTML which allows them to offer very good reading speed.
I use Gentoo GNU/Linux, and I regularly download "distfiles", which are the source snapshots of the programs I update.
Would it be possible to have freenet act as a proxy to these, so the primary servers have far lower load?
That would also fulfill the requirement that the files have to be downloaded by many users, so the caching can work.
Does freenet have sufficient speed for that?
How about caching requests on the normal web and acting as a distributed and anonymous proxy?
This depends on peoples accesses being fairly similar, though.
Maybe it could be restricted to certain file types which can be served well via freenet. Videos are an example I can think of.
Any maybe torrents, though that would likely be a grey area :)
Yes, this will be a major priority in the near future.
You can create your own Freenet Cards to make it easier to connect to people you know physically: