哲学

什么是 Freenet?

Freenet is a platform for censorship-resistant communication and publishing. It is designed to ensure true freedom of communication over the Internet. It allows anybody to publish and read information with complete anonymity. Nobody controls Freenet, not even its creators, meaning that the system is not vulnerable to manipulation or shutdown. Freenet is also very efficient in how it deals with information, adaptively replicating content in response to demand. For more information, see What is Freenet?

Freenet 与 Tor 有何不同?我可以使用 Freenet 访问 Google、Facebook 等网站吗?

Freenet is a self-contained network, while Tor allows accessing the web anonymously, as well as using "hidden services" (anonymous web servers). Freenet is not a proxy: You cannot connect to services like Google or Facebook using Freenet. However, Freenet has websites, filesharing, forums, chat, microblogging, email etc, all anonymous and hosted within Freenet.

Freenet is a distributed datastore, so once content is uploaded to Freenet, it will remain on Freenet forever, as long as it remains popular, without fear of censorship or denial of service attacks, and without needing to run your own web server and keep it online constantly.

The other big difference is that Freenet has the "darknet" or Friend to Friend mode, where your Freenet node (software on your computer) only connects to the Freenet nodes run by your friends, i.e. people you know (and maybe to their friends, to speed things up). This makes blocking Freenet, e.g. on a national firewall, extremely difficult.

However, most people currently use Freenet in "opennet" mode (that is, connecting automatically to whoever the network assigns, rather than connecting only to their friends). This is much less secure than using Freenet in "darknet" mode, and is relatively easy to block, as it does have some central servers ("seed nodes").

Freenet has many unsolved problems, and is still experimental. Our objective for Freenet is to build a global friend-to-friend darknet, which would be extremely difficult to block, and would provide very strong anonymity and censorship resistance. This will require further work on Freenet, on usability, speed and security, but above all it is a techno-social experiment: Will people know enough friends who are willing to use Freenet to make such an anonymous friend-to-friend network possible? This is why Freenet supports "opennet" mode: to let people try it out before they ask their friends to connect.

Tor is a little less experimental, and arguably is an easier problem; it may provide better anonymity today, provided that it isn't blocked, and of course, Tor lets you access the internet as a whole, whereas on Freenet you can only access Freenet content. However if you can use a large enough darknet, Freenet already provides an interesting level of censorship resistance, DoS resistance and anonymity.

Using the internet "anonymously" is not necessarily easy: Connecting to Facebook through Tor doesn't prevent Facebook from knowing pretty much everything about you, and connecting to your (non-HTTPS) webmail account through Tor may mean the person running the proxy ("exit node") can steal your webmail account password.

Freenet is a separate network, which does things differently, because there are no central servers. This is why we don't support Javascript, server-side scripting etc on freesites: Everything must be rewritten to work on a distributed network. But the advantage is there is no single server which can be compelled to hand over your private communications or which can be shut down.

There are still risks, for example, talking about your home town or internet provider on an anonymous forum, or downloading files which Freenet can't make safe such as PDFs or word processor documents (Freenet will warn you about this). Also, for web content in particular, it may be easier to upload it to Freenet than set up a hidden server on Tor; you don't need to keep your node online for your content to be available, you don't need to figure out how to configure it safely, and most important, if you go away your site will still be available.

Summary:

Tor (or I2P):

Freenet in general:

Freenet in darknet mode: (friend to friend: connects only to your friends' nodes)

Freenet in opennet mode: (connect automatically even if you don't know anyone on Freenet)

遗憾的是,大多数使用 Freenet 的人目前运行在 Opennet 模式。一个重大的问题是,我们能否建立一个全球最大的好友到好友的暗网吗?加入我们并找出方法吧!

PS for an example of how dependant Tor is on centralised hidden services, see this bust. Half the hidden services on Tor were using a single hosting service, whose owner has now been arrested. While we don't approve of these sites, it does illustrate the point: A centralised network is a vulnerable network. Unfortunately, decentralised networks are hard, but in the long run they are more secure.

谁是 Freenet 的幕后人员?

Freenet 的前身是一个匿名发布系统,由一名学生 Ian Clarke 在爱丁堡大学创造。然后很多人都朝着他的贡献来使其成为现实。

如果作者是匿名的,我该怎么信任信息?

加签密文的信息可让人们证明其著作, 这种技术经常用于确认电子邮件上原送件者的真实性. 再者,你也可以匿名来签署信息,因此它有一个匿名者的选项 你可以证明在Freenet上面撰写不同的信息而不必揭露自己的身份 透过这个方法,你可以创建匿名信用的可信度.

我必须贡献磁盘空间和带宽出来?

你并没有真正的捐出什么,你的磁盘空间和带宽没有丢失;你也并不是真正的在分享什么(至少与其他文件共享软件不同)。它更像是为公用的 Freenet 资源池铺路。

我使用某某文件共享软件时没有贡献什么,并且得到了更多实惠。

你知道吗,这是为了匿名性。Freenet 的首要设计目标是匿名性,性能屈居第二。

我的朋友只贡献了很少的空间和带宽。为什么我要多贡献?

如果你满意于你得到的,请选no,但如果你想要更多 你可以考虑多捐款一点,尽可能全天候地运行你的节点 你也请求你的朋友同样这么做。

如果我贡献很多,能显著改善我的体验吗?

你的体验肯定会更好,但对于一个显著的改善,我们需要更多人开始这样做。带宽比磁盘空间更重要。

Freenet 合法吗?

We don't currently know of any prosecutions for merely using Freenet. Some people claim that the DADVSI makes Freenet illegal in France; the German data retention law might have required logging, but was struck down. Also, the German supreme court has found that not securing your wifi properly makes you responsible for other people's downloads over it; this might or might not be extended to prohibiting anonymous peer to peer filesharing such as Freenet. ACTA might have wide-ranging effects, including on Freenet, should it pass, and similar laws such as IPRED2 have been tried in the past. There have also been attempts to force peer to peer systems to provide wiretapping capabilities in the USA, and there are worrying developments in the UK that might result in it being blocked, but not being made illegal per se. As far as we know none of these things - apart from the first two - have passed. Many of these are arguable either way (depending on how broadly the legislation is applied) and will have to be decided in caselaw. The law can be an ass sometimes. You can read the EFF's (US-centric) advice to peer to peer developers here. If you need legal advice, talk to a lawyer. Also read the next section especially if you are in China; blocking the protocol may suggest the authorities don't like us!

Freenet 被国家防火墙封锁吗?

The Chinese national firewall (Golden Shield) has blocked our website for many years, and was observed in 2005 to block the 0.5 protocol as well. This suggests China doesn't like us, so be careful if you run Freenet in China. Some other countries (e.g. France) are known to be hostile to peer to peer, and may eventually force ISPs to block peer to peer networks (but right now Freenet works fine in France and we have many French users!).

Technically, Freenet 0.7 has some minimal defences against blocking; the protocol is relatively hard to identify (we are working on "transport plugins", which would make it much harder to detect Freenet. Freenet supports a darknet mode (i.e. only connecting to your friends) which makes automated harvesting and blocking of nodes very difficult. Note that many mobile internet providers block all peer to peer networks along with other content, and many corporate or academic networks may block Freenet (but even if they don't, see you shouldn't run Freenet at work for non-work purposes!).

There has been discussion in the US and UK of legislation to require backdoors and presumably blocking of anything that can't be backdoored. This is unlikely to pass, especially in the US, where similar laws have been proposed periodically and are probably unconstitutional. However, even if the government came to us and demanded a back door, we would be legally unable to secretly distribute a trojan'ed build, because Freenet is open source, numerous people have contributed code to it, so legally we have to give you the source code, including that for any government mandated back doors - which wouldn't be secret for long! If this happened it is likely that Freenet Project Incorporated, the non-profit organisation that runs this website and handles donations, would shut down, but the Freenet network itself would live on just fine, the only difference being not being able to pay full time developers as easily.

See net neutrality and the EFF or equivalent organisations in your country for the politics of all this and how you can stop such laws.

我运行一个节点是否会带来麻烦?

This is related to "Is Freenet legal?". We have done everything we can to make it extremely difficult for any sane legal system to justify punishing someone for running a Freenet node, and there is little precedent for such action in today's developed countries. Many legal systems recognize the importance of freedom of speech, which is Freenet's core goal. Having said that, there is risk in doing anything that your government might not agree with; you should make an informed decision as to whether to take that risk. Furthermore, your ISP or hosting provider may have a problem with Freenet. At least one French hosting provider has been known to ban Freenet ( along with Tor and others) from their servers; please read your terms and conditions to make sure you are allowed to run Freenet. Note also that Freenet can use rather a lot of bandwidth, at least 20GB/month, and this may be a problem on a cheap or shared connection. And of course running it at work could get you into trouble too, unless it's for work purposes!

怎么对待版权?

There are some excellent thoughts on this subject on the Philosophy page. Specific copyright-related laws may be a problem, please read Is Freenet legal? and Is Freenet blocked by national firewalls?.

如何面对儿童色情、攻击性内容,或者恐怖主义?

虽然大多数人希望儿童色情与恐怖主义不存在,但是人类不应该由于非常少的人滥用那种自由的原因而被剥夺自由。

我不想我的节点被用来窝藏儿童色情、攻击性内容或者恐怖主义。我能做些什么?

This is a problem that sadly any censorship-resistance tool faces. If the capacity to remove content existed, it might only be used to remove things one finds offensive, but it could be used to remove anything. From a technological point of view one cannot have censorship-resistance with exceptions. Freenet is merely a tool that by itself doesn't do anything to promote offensive content. How people choose to use the tool is their sole responsibility. As a communication medium, Freenet cannot be considered responsible for what people use it for — just like Internet Service Providers, telecoms, or postal services cannot be held responsible for their users either.

Note that files are encrypted and split into pieces. They are not stored on your machine in their entirety. Your instance of Freenet will likely have very few encrypted pieces of a given file, if any. These pieces cannot be used as parts of the file they were made from without additional information. Reassembling a file requires knowing both what pieces to use and the key to decrypt them, neither of which is included with each piece.

如何面对加密出口限制?

Freenet 项目已通知美国政府,本软件将出口加密算法。只要你的国家没有禁止使用加密,那么就应该没什么问题。以及,现在对软件的出口法律有一个例外,所以 Freenet 就在这么做!但是,Oracle 限制了 JVM 中可用的加密强度,而 Freenet 使用它运行;如果可能,你应该安装对 Java 的无限强度策略文件,以改善性能。如果没有这个,Freenet 仍将使用内置的加密代码正常工作。

我没什么可隐瞒的,并不需要匿名。Freenet 还能提供什么?

其实,不算上匿名功能的 Freenet 也非常有用,这是因为其独特的内容分发和信息载入方式。 简单来说,这意味着你可以发布一个网站,并且无需担心网站大小,也不用放置别人的广告横幅。虽然 Freenet 网站永远不可能比普通的网站载入更快,但它能更好的适应突然增加的访问量(少有人知的网站有时会被一个大型网站链接),较大的文件也有着合理和可行的下载速度。只是,不要期待有较低的延迟。

技术

我该如何使用此软件?我下载了它,但我运行它时没有界面。

Fred (the Freenet REference Daemon) runs as a daemon, or service, in the background. You normally talk to it through a Freenet client. One built-in client is fproxy, which lets you talk to Freenet with a web browser. Freenet should have installed a Browse Freenet shortcut on the desktop and/or the start menu, or a system tray icon (rabbit) with an Open Freenet menu item. Failing that, point your web browser to http://127.0.0.1:8888/ for the gateway page. Try clicking the various links in the bookmark list to reach an initial set of sites.

为什么 Freenet 那么慢?

When you first install Freenet, it will be slow, and you may see Data Not Found or Route Not Found errors for freesites. This is normal, and Freenet will speed up significantly over time. For best performance you should try to run Freenet as close to 24 hours a day as possible. This is why we install Freenet as a service.

Please bear in mind that Freenet is inherently high latency: it can take a while to (for example) load a page for the first time, even if it is capable of reasonable speeds (as anonymous systems go!) for large popular files. You can also improve performance for freesite browsing by using a separate browser and increasing its connection limit. You should also set the datastore size and bandwidth limit as high as possible. But protecting your anonymity does cost a certain amount of performance. You can configure how much to a degree by changing the security levels on the page under Configuration.

Freenet 可以搜索吗?

Yes, there are a few different search mechanisms. To search the Freenet web (freesites), you should be able to just use the search box on the homepage, or go to Search Freenet on the Browse submenu. If it's not there, go to the Plugins page under Configuration, and load the Library plugin. Alternatively, Frost and Thaw also provide searching for messages and files. Note that searching on Freenet is a good deal more difficult than on other networks because of Freenet's different architecture and design goals.

我可以在 防火墙/NAT 后面使用 Freenet 吗?

Mostly, Freenet should just work with a NAT. However, you should forward the ports manually if you can. Click on the Connectivity page. At the top you will see a list of ports used by the node. You should forward (for UDP) the Darknet FNP and Opennet FNP ports. You may need to look up your router's documentation to figure out how to do this. Freenet should have forwarded them itself through Universal Plug and Play, but this doesn't always work (and it never works if you don't have the UPnP plugin loaded, or have one router behind another).

If you have a dyndns address or other domain name pointing to the computer you run your Freenet node on, tell the node about it. Go to the core settings config page (in advanced mode), and find the option "IP address override". Put your domain name in that box, and apply the settings.

我需要一个持久的互联网连接来运行一个节点吗?

不,但它的确较好.你可以从一个暂时的链接来运行测试软件 (例如电话接拨/行动调制解调器),但是对网络而言, 整体往往更为有用,因为我们尽可能地需要许多永久的节点 (大部份的有线调制解调器或DSL设置就足以符合"永久") Freenet 较新版或许可以改善暂时连接节点的问题

为什么 Freenet 只同时下载 1 或 2 个文件?

Many browsers limit the number of simultaneous connections to something far too low for efficiently browsing Freenet (since Freenet pages often have much higher latency than web pages). This can usually be reconfigured. For example, for Mozilla Firefox, type about:config in the address field of the browser and replace the value of the following settings to the one stated. Filter on "connections" to get only the relevant settings:

network.http.max-connections 200  
network.http.max-connections-per-server 200  
network.http.max-persistent-connections-per-proxy 200  
network.http.max-persistent-connections-per-server 200

注意这些的设置将导致mozilla在浏覧时使用更多的连接 这可能和原先预想的不一样,会发生网络阻塞情形 为了安全起见,在使用Freenet时,你应该最好使用不同浏覧器。

为什么 Freenet 永久存储数据?

Because we can't find a way to do this without compromising Freenet's other goals. For example, people often suggest that someone's node could just never drop data they want to cache permanently. This, however, won't work because even if the data is still available on their node, there is no way to ensure that requests for that data will be routed to that node. We have considered many other ways that Freenet could store data permanently, but they either won't work, or compromise Freenet's core goals of anonymity, and scalability.

Content which is popular should persist indefinitely, for example most freesites linked from the main indexes are still retrievable years later (at least their front pages are). If the content isn't very popular the best way to keep it available is to regularly re-insert (re-upload) it. An interesting option is the "Keepalive" plugin, which will do this for you - even if you didn't upload the file/site in the first place. Improvements are planned, such as a special kind of request that allows us to probe whether a file is available from a random point on the network.

为什么 Freenet 用 Java 实现?

Opinions differ about the choice of Java for the reference implementation of Freenet (even among the core developers). Ian Clarke and several other developers are Java proponents and the choice for Java was made. Even if everybody could be convinced to switch to a different language reimplementing the current Freenet protocol would be quite a big task, and take up a significant amount of time, while there is only a limited amount of developer-time available. Flame wars on the development list about the language choice aren't welcome, people willing to implement Freenet in other languages however are very much encouraged to try. Don't underestimate the amount of work however.

我该如何允许其他电脑连接 FProxy?

If you want everyone to be able to use your node you have the following options:

In both cases change the following parameters:

fproxy.bindTo=0.0.0.0  
fproxy.allowedHosts=*

Of course, this leaves your node wide open, unless you control access with a firewall of some sort. If you'd prefer to use access controls within Freenet, then you can use lines like this:

fproxy.bindTo=0.0.0.0  
fproxy.allowedHosts=127.0.0.1,192.168.1.0/24

Or even (find your IP address from ipconfig/ifconfig/winipcfg and substitute it for 192.168.1.1):

fproxy.bindTo=127.0.0.1,192.168.1.1  
fproxy.allowedHosts=127.0.0.1,192.168.1.0/24

And if you want to grant full access (i.e. change config settings, restart, etc) to the node (WARNING: Be very careful who you give full fproxy access to!):

fproxy.allowedHostsFullAccess=127.0.0.1,192.168.1.0/24

有什么新的?有没有更新日志?

On every new build, a brief summary of all the main changes is posted to the support and devl lists and the eng.freenet board on Freetalk. This is usually relayed to FMS and Frost too. Alternatively, for a much more detailed view, check out the git repositories. Also, you should check the developer blogs (from the default bookmarks, or over the web, e.g. toad), but be warned they are often not regularly updated and frequently go off on rants on unrelated topics!

为什么我的日志文件中有许多附有回潮信息的消息?

Freenet 日志消息在正常操作期间很过量。这个情况已得知并正在研究。

我有卡巴斯基防病毒软件,并且 Freenet 不能安装,或者显示“下载/上传队列数据库已损坏!”

Kaspersky can be a problem with Freenet. See here. We recommend you turn off Kaspersky during install and during node startup, and exclude the directory you installed Freenet in (most likely C:\Program Files\Freenet or C:\Program Files (x86)\Freenet).

我设置了密码,现在我忘了,该怎么办?

The password protects your downloads and uploads and the client-cache (cache of what you've recently browsed on Freenet). It is stored in the file master.keys. There is no way to recover the password, but if you forget it you can wipe your downloads and uploads and the client cache by securely deleting the file master.keys. See the question on private data and local security for more information.

Freenet 一直抱怨时钟偏移

如果您的时钟经常向回走,Freenet 会出问题。这通常发生在一些定期大幅设置时钟的情况下。在 Linux 上,您应该运行 ntpd 来确保您的时钟没有偏移(这不是必要的,但有用),但如果您看到时钟偏移错误,尝试添加 -x 选项来避免较大的向后跳跃。另外,在启动时运行 ntpdate 以保证 Freenet 启动前被纠正是个好主意。这有时也发生在 Windows 上,如果您知道怎么解决它,让我们知道……通常它不会特别严重,特别是这种较大的时钟跳跃每天只有一次时。

发布

如果我在 Freenet 发布了某些东西,人们如何找到它?难道它们必须知道我使用的键值?

Yes, people will have to know what key you used to publish your information. This means you will have to announce your key in some way.

The most common way to do this is to send a message, containing your key and brief description of your information, to the author of one of the existing Freenet sites. Most of the "portal" sites which are linked from the Freenet web interface (fproxy) read the Freetalk or FMS forums, and there are boards specifically for announcing sites (usually the boards are called "sites"!). You could also send your key to people by using the Freenet mailing lists, in the IRC channel (chat.freenode.net #freenet), by private e-mail, or by advertising your Freenet site on your World Wide Web site. If you're feeling extravagant, you could even try skywriting it. (Graffiti is not recommended, for legal reasons.)

我该如何发布一个 内容 Hash 键值(CHK)?

内容 Hash 键值是基于它所指的实际内容 - 正因如此,键值只能在它已被插入到 Freenet 网络之后得到。要插入一个 CHK,只需将它插入为 "CHK@",Freenet 将在插入完成后告诉您实际的 CHK。

Freenet 文档可以被更新 / 删除?

Currently, a document posted to freenet with the same name as one already present may actually serve to propagate the existing document. there is also currently no means of deleting a document from freenet. documents that are never requested are eventually removed through disuse.

however, you can use an updatable subspace key (usk) to provide a form of updatable freesite: your node will automatically look for later editions of the site (after you visit it, or always if you bookmark it), and show you the latest version. you can force it to search for the latest version by changing the number at the end of the key to negative.

贡献

I have this great idea...

Good! First step: read the mailing list archives. Odds are good that someone else had the same idea and discussed it with the group. Either a flaw was found in the idea, or perhaps it was decided to postpone implementing the idea until later. Some examples of ideas already discussed are storing information by content hash, key redirection, signed keys/data, use of UDP, server discovery, URLs, document versioning, and others. If you don't see the idea discussed in the archives, by all means bring it up in the appropriate mailing list.

我能帮助 Freenet 项目吗?

Absolutely. Even if you don't have the time or skills to become a co-developer of the project, you can contribute in other ways:

If you are a developer, you can help by working on Freenet itself, or by creating other applications to run on Freenet. External applications (such as FMS, the main forums system used on Freenet) use the Freenet Client Protocol to talk to Fred. Another possibility is writing plugins - these are written in Java and run in Freenet's JVM, and can be bundled with Freenet when they are ready. A popular plugin is Sone, which is a microblogging/social app over Freenet. You can see how to install FMS and Sone on e.g. the Freenet Social Networking Guide freesite.

If you want to work on Freenet itself, see:

Improvements to this website, fixes for spelling/grammar mistakes, new ideas (see the previous answer), are all welcome. You may find the wiki helpful.

If you have any questions about contributing, please contact us, via the developers mailing list, the chat channel, the support mailing list or anonymously via the freenet board on FMS.

Last but not least you can donate to support our paid developer(s) and cover server costs.

我怎样才能访问代码和网站?

See our GitHub repository.

我需要什么工具来帮助开发吗?

Building Freenet requires JDK 1.6 or later. You can download the source tarballs on the download page for a specific build, or use git to get an up to date copy of the source, see here for details. Further instructions for building and deploying the server are included with the code itself. Generally speaking, joining our IRC channel is a good idea: #freenet on chat.freenode.net

有没有帮助台来解答新手提出的有关 Freenet 的问题,以及人们可以在那里做出贡献?

Have a look at our wiki. An older wiki, which is now read-only, but has a fair amount of content so is sometimes helpful is here. There are also several implementations of wiki's over Freenet. The most recent one is called Jfniki. There is a link in the default bookmarks on the Browse Freenet page after you install Freenet.

我可以在哪报告 Bug?

You can use our bug tracking system hosted by MantisHub or send a mail to our support mailing list.

我是个理论计算机科学家/数学家,我能帮什么吗?

See here.

安全

我可以使用我的日常浏览器浏览 Freenet 吗?

Freenet has a web interface: much of the content on Freenet is in the form of "freesites", and downloads, configuration and friend connections can be managed from the web interface. However, because of weaknesses in current browsers, we strongly recommend that you use a separate browser for Freenet. Specifically, browser history stealing, in all its forms, is a major threat if you share a browser between Freenet and the WWW at large: malicious web pages will be able to probe which freesites you have visited, and report this information to their owners.

Privacy/incognito mode may be sufficient, and Windows tray app will start a browser running in this mode.

攻击者 X 不会打破 Freenet 的匿名性?

Short answer: Probably, on opennet. Maybe, on darknet.

Long answer:

Freenet has a different threat model to Tor and the Mixmaster remailers. Freenet is designed to resist censorship: The network must therefore be robust, and content must be distributed without requiring a central server, whether anonymous or not. Anonymity is important for requesters and especially for those who upload content in the first place. The typical example is a corporate or government whistleblower. Generally to find the originator of some content, the attacker must be able to predict the data in advance, must be able to move across the network relatively quickly, and must be able to perform the attack while the data is being inserted; after that, it is distributed across the network and is much harder to trace, and the originator may have left the network. However, if by chance or by overwhelming force the attacker is connected to the whistleblower (or e.g. seizes the computers of everyone on the network), he may be able to identify this much more quickly. All of this is vastly more difficult on a darknet, where everyone connects only to their friends, where it is very hard for an attacker to find nodes, and where to connect to a given node he must social engineer its operator! Freenet does support opennet mode (plug and play), but darknet is far more secure, and far more difficult to block on a national firewall.

Tor on the other hand is designed to anonymise real-time data streams, on the assumption that the list of nodes can be public, that there is a free world where nodes can be operated safely, that the authors of controversial content will be able to either host (hidden) web servers themselves or upload it to other (hidden, but usually centralised) storage systems, and so on. And Tor has a concept of a "client", which is somebody who uses the service without providing any value to it; on Freenet, every node relays data for its neighbours. Hence the attacks on Freenet are completely different to the attacks on Tor. Both compromise to some degree to enable more or less real-time performance.

If you can use the darknet, trust your friends, don't reinsert files, always use the "Insert a random, safe key" option, and change your anonymous identity after some volume of inserts, you should be relatively safe using Freenet. However this has not yet been quantified. If you can connect, build up some trust in your anonymous persona, insert your controversial content, and then disappear, again, you are better off with Freenet, especially if the content is a website (but if you are connecting on opennet, beware of seednode compromises). In some other cases, Tor is better.

We are still working on Freenet's security and there are major security enhancements which have not yet been implemented, most of which will go in before 1.0. Cryptographic tunnels similar to Tor's onion routing are one possibility, which would greatly reduce the impact of many of the below attacks, but there are several other enhancements planned, both to anonymity and to network robustness/undetectability.

Major known attacks:

In the interests of giving would-be users as much information as possible, and on the assumption that any serious attacker would do their homework, here are the major classes of attack on Freenet we are presently aware of:

More information on the current practical state of Freenet security is available here.

Freenet 易遭受洪泛攻击?

Short answer: no.

Long answer:

We don't think so. Aside from protecting freedom of speech, Freenet is also designed to be an efficient dynamic caching system. If information is requested a lot from a limited number of nodes, the nodes that the requests pass through will cache the information, lowering the load on the network. If information is inserted on a limited set of nodes and then subsequently requested a lot from a separate set of nodes, with repetition, the sets will close in on one another in the network topology until they are "neighbors" and only the originally targeted nodes are suffering from the attack.

In other words, in order to harm Freenet with a flood you need to consistently change your point of entry into the network and continually insert and request new data, and you will still only increase the workload for the network that is linear to your own. Given an immense will and capacity greater than the total of the entire network, it is possible to cripple any public network (including the Internet itself) with floods, but it is our intention to always keep Freenet as resistant to this as theoretically possible.

Curiously enough, the above analysis only applies to Opennet. On Darknet, you might have a little more success, although it would be much harder to change your entry point in any significant way. Nonetheless, you have a reasonably low bandwidth multiplier (the total number of nodes visited, around 20 on average), and you are severely limited by the number of nodes you can connect to, which will be low on a darknet.

为何某个节点操作者可以识别哈希值与加密数据?

Hashing the key and encrypting the data is not meant a method to keep Freenet Node operators from being able to figure out what type of information is in their nodes if they really want to (after all, they can just find the key in the same way as someone who requests the information would) but rather to keep operators from having to know what information is in their nodes if they don't want to. This distinction is more a legal one than a technical one. It is not realistic to expect a node operator to try to continually collect and/ or guess possible keys and then check them against the information in his node (even if such an attack is viable from a security perspective), so a sane society is less likely to hold an operator liable for such information on the network.

什么是网络内的恶意节点?

The existence of malicious nodes within the network is the most difficult problem that a distributed network must face, and has been the bane of many previous ideas. Many systems (such as multiplayer gaming networks) try to avoid malicious nodes by keeping the protocol and code closed, but we have yet to see an example of that working in the long run. And anyway it is opposed to Freenet's philosophy.

Freenet is based on a balance of positive and negative feedback loops that bring requests for information to a node when it is functioning well, and keep requests away from it when it is not. The key to avoiding "cancers" is (as in the body) to make sure these loops can correctly identify even the most carefully designed malicious node and not keep sending requests to it. This issue is not fully dealt with by the current test code, but you can rest assured that a number of possible solutions have been on the table and discussed for some time now. Several have been implemented (enforcing hashes or signatures on content, per node failure tables, backing off from a node that causes timeouts ...)

攻击 Y是什么?

Freenet is still in testing and there are bound to be attacks found that we have not dealt with yet. So if you do manage to figure out a truly new kind of attack, we are interested in hearing about it. Please keep in mind what Freenet is and what it is not, however. No single network can offer everybody everything, and there are security issues that Freenet, by its nature, may not deal with to extent you might wish. If this upsets you, all of our code is freely available, so you are free to take as much of it as you like and write your own distributed network that suits your desires.

Freenet 会存储什么隐私数据?我该如何摆脱它?如何保护我的计算机,保证我在运行 Freenet 的时候足够安全?

First of all, we strongly suggest that you install Freenet inside an encrypted drive using, for example, Truecrypt. It is not possible for Freenet to prevent all leaks of private data, especially if you download media files etc. Even if you only browse freesites and use the chat plugins, there will still be potentially incriminating data in your swapfile, which needs to be encrypted (on recent versions of Windows you could try the command "fsutil behavior set encryptpagingfile 1", but really the solution is to encrypt your whole system including swap). It is also essential that you use your web browser in privacy mode, or with cache and history turned off; we try to do this if you launch Freenet via the rabbit icon, but there are no guarantees as unfortunately this functionality seems buggy in current web browsers. Browser plugins could also be a problem, and you should use a separate browser for Freenet if in any doubt. Be careful with the files you download from Freenet - not only could anyone seizing your computer see you have them (media files are likely to be written to disk even if you open them directly in your web browser and never save them), but also they could contain threats to anonymity themselves, such as calling back to a malicious website etc; this is possible in for instance PDFs and some video formats. Freenet tries to warn you about this when it can't filter out such malicious content: Currently it can only filter HTML pages, GIF/PNG/JPEG images and CSS, and MP3s, but we will add support for Ogg soon and other formats later. And of course there are many other threats - you should take standard security precautions, such as not running operating systems that are no longer updated, not running software not from a trustworthy source, using appropriate security software etc (if you have a firewall make sure it allows the two UDP ports Freenet needs through).

Because not all users will have installed encrypted drives at the time when they first install Freenet, Freenet itself attempts to encrypt all the potentially incriminating data that it stores on disk. Details are below but as explained, leaks are inevitable: you really should encrypt your disks!

The main datastore does not store data you request or insert (or that is requested or inserted by nearby nodes), because it can be probed by other nodes: This was introduced to fix this attack publicised by The Register. Freenet has a separate client-cache, which stores data which you have recently requested to avoid having to go back to the network every time (which would not only reduce speed but also security, by giving attackers more opportunities to see your requests). Also, Freenet stores the list of your downloads and uploads (which you can see on the Filesharing menu), their current progress, and various other data, in the file node.db4o (or node.db4o.crypt). The actual data is kept in the persistent-temp- directory. Unless you set the physical security level to LOW, this data is encrypted. At MAXIMUM, the encryption keys are never written to disk, so the data is effectively wiped on restarting the node; otherwise the encryption keys are stored in a file called master.keys (on HIGH this is passworded). You can wipe the data by either using the panic button on the downloads/uploads page or by securely deleting master.keys. Freenet also creates temporary files for other requests, which are also encrypted unless physical seclevel is LOW, which are in temp-. Also, some plugins may create their own data files, which may contain for instance messages you have posted or downloaded from chat forums, and currently bookmarks and recently completed files are stored in plain text. It is our intention to move these into node.db4o or store them in separate encrypted databases, as soon as we have automatic backups for node.db4o. See here for details on some of the files.

Windows SmartScreen 过滤器警告 Freenet 安装程序可能使我的计算机陷入危险。这是怎么回事?

SmartScreen is sometimes incorrect in classifying a file as dangerous. We believe our installer is not infected with malicious software, and if you are a developer you can check the installer source code here.

是否有人在 Freenet 上开展匿名活动时遇到法律问题?

Yes. There is one such instance that we know of. United States law enforcement can identify anonymous users of Freenet and Tor. Without further information we do not know how they did this, but we suspect it affects people using the network security level "normal" or lower. It is reasonable to assume that other governments have access to the same technology, which is provided by private contractors. If you are concerned about governments, you should use Freenet's capacity to connect only to users you trust, ("high" network security level or higher) and bear in mind that no anonymity technology provides perfect protection.

While we applaud law enforcement's apparent success in apprehending suspects allegedly sharing child abuse images, any security flaws they may have used are not limited to such noble usage. Many governments persecute and prosecute political dissidents for legitimate speech published online. Therefore we hope to discover and fix these flaws to protect those who fight for human rights, against corruption, for a peaceful future, and for other legitimate goals.

Additional information sources

邮件列表

这是可用于 Freenet 用户支持和一般问题的邮件列表。

Suggestions

获取客户支持

You can find information about installing Freenet in the Wiki especially in the Installing Freenet and FAQ.

When Freenet is already installed you may get support in FMS forum.

When writing your support request, please make sure you include a full description of the problem, your current version of Java, your operating system and current Freenet version.

与我们聊聊

Many of the developers and users of Freenet are on the IRC channel #freenet on chat.freenode.net.

Chat with us

Setup