Freenet

#1 open-source P2P solution for anonymity online

modernized & upgraded by Redwerk
×
Where do you want us to send our solution for anonymity online case study?
Please enter your business email

Freenet is an open source software that provides solutions for anonymity, freedom of speech, and censorship resistance on the web. It is a decentralized, scalable P2P network that enables anonymous file sharing, browsing and creating websites accessible only through Freenet, and censorship-free chatting on forums.

All Customers

Software Maintenance

We provided assistance with software maintenance by thoroughly testing the software, doing bug fixes and partial code refactoring, which allowed us to restore the initial functionality of Freenet’s search index, and improve the performance of several plugins.

Learn more

Legacy Maintenance

Redwerk helped Freenet investigate its vulnerabilities, test ways for enhancing its speed, and outline areas for further development. Using our knowledge and hands-on experience in modern technologies, we managed to eliminate key UI issues, increase the lifespan and size of the uploaded files, and enable the search of files and “freesites”.

Learn more

Challenge

Freenet was the first to apply the P2P approach to Internet anonymity. It was designed with a mission to ensure freedom on the Internet, allowing users to browse and publish “freesites” (websites accessible only through Freenet), share files, and chat on forums without fear of censorship.

Freenet’s decentralized structure, communication encryption and routing through other nodes is what assures anonymity of information sources and people accessing those sources. Each network user shares their bandwidth and allocates a certain portion of their hard drive to store fragments of other people’s files. The users do not know what information is stored on their computers because it is encrypted.

To access Freenet, the user needs to download the main app, install and run it in the background while using the browser to change settings and access content. The core functionality of the network allows storing and reading files; however, the software also contains a set of plugins: Freemail, Sharesite, Library, WebOfTrust. Besides, there is a separate software like FMS or Frost forums that interact through the API.

Freenet is a project that is based on the academic work of various universities around the world, and it has always recognized the importance of development and enhancement. Therefore, when Redwerk was offered to contribute to the project development, we were eager to pitch in.

Despite extensive development and many useful improvements, the current Freenet 0.7.5 version still has a number of unresolved issues. The main problems that users encounter are:

  • Low speed of downloading and uploading files
  • High rates of adding new files combined with moderate user base may lead to quick loss of file’s parts – up to inability to restore files from duplicate blocks
  • Some sections of the code become outdated due to the emergence of new approaches and solutions
  • The software may be difficult in use for an average non-technical user

Since our contribution to Freenet was sponsored, we primarily focused on the software upgrades our sponsor needed most. At the same time, we took over part of software maintenance, QA, and user support tasks to relieve the workload of the Freenet core development team. Overall, our major goal was to improve Freenet software by eliminating the issues we have outlined above and making it faster and easier in use.

Solution

The main functionality of the project is written in Java, and as a Java development company, we were glad to apply our expertise.

When we started studying the project, looking for what we could improve, we focused on its core, which is Fred (Freenet REference Daemon). It’s the most important part of the software, without which Freenet forums, plugins, and mail would not exist.

For Fred, we did the following:

  • Repaired Theora video filter – now users can safely watch videos right from Freenet; there is no need to download them first
  • Improved UI – we fixed inaccuracies in design, making the interface neat and more appealing
  • Increased the maximum size of uploaded files (from 5 GB to at least 15 GB)
  • Detected and fixed numerous minor bugs

Apart from supporting the core project, we also worked on improving the functionality of Freenet’s plugins such as KeepAlive, Library, and Freemail.

KeepAlive allows Freenet users to protect their files from loss as old files and “freesites” may be automatically replaced with newer and more popular files. Working on KeepAlive, we managed to:

  • Find and fix the place where the plugin crashed
  • Perform comprehensive plugin refactoring and release a fully working alternative version of the plugin
  • Add CSRF protection (security requirements)

Plugins Library and Spider constitute Freenet’s search engine. However, they hadn’t been working properly for a while, and as a result, new searchable databases were not built. Our main goals were to get to the root cause of the lost functionality and bring back the search index to its original state. Although the quality of the search requires further development, we managed to fix the search index and made searching on Freenet possible again.

Freemail is a plugin that allows users to communicate and share files within Freenet. As for our contribution to Freemail, we enabled the use of a new API for interaction with WoT (WebOfTrust).

Working closely with the core team, we managed to enhance the overall software quality and upgrade the plugins that were of special interest to our sponsor.

Result

With the joint effort of the Freenet and Redwerk development teams, Freenet has gained a new visual look, a modernized codebase, an updated documentation, and community support on forums. Redwerk helped Freenet enhance its core features and make several plugins fully functional again. All the improvements we have made together with Freenet are essential for retaining existing users, attracting new participants, and spreading the word about the platform and its purpose.

Oleh from Redwerk improved the styles of our main theme (Winterfacey). It now works much better for small devices like phones. Thanks to Redwerk, Freenet 0.7.5 build 1485 adds checking for Ogg Theora video files and Freenet can now display video safely. There is also a "Send confidential message" button on the friends page, so these messages are no longer hidden in a dropdown list. Also thanks to Redwerk, Freemail_wot is updated to v0.2.7.4 with better detection of contacts missing from WoT.
Arne Babenhauserheide
Arne Babenhauserheide, Freenet Development Team

Need experienced Java developers?

Let’s talk

Technologies

Java
Distributed Hash TableDistributed Hash Table
P2PP2P
Custom protocols
Networking algorithmsNetworking algorithms
5people in team
>25Klines of code
6000+users
5120+man-hours

Redwerk Team Comment

Oleh

Oleh
Developer

The Freenet project combines many original ideas that altogether create a working network, unlike any other. Other developers with whom I spoke were very friendly, ready to discuss suggestions and help find the best solution.

Media
Media
Media
Media
Media
Media

Related in Blog

How Redwerk Contributes to Open Source Projects: Freenet Example

How Redwerk Contributes to Open Source Projects: Freenet Example

Open source projects have always been a major topic for discussion among IT professionals worldwide. Over the decades, open source software grew from free apps coded by passionate enthusiasts to globally adopted enterprise solutions and a rapidly developing multi-billion industry...

Read More
Freedom in WWW: How to Stay free

Freedom in WWW: How to Stay free

Although the Internet is considered a bastion of freedom and anonymity, in reality, it’s hardly that way. Starting from the government that wants to know everything about you or restrict your access to information to companies like Facebook and Google that follow your online beha...

Read More

Impressed?

Hire us

Other Case Studies

Platform Upgrade For European Parliament

Platform Upgrade For European Parliament

Europe

Upgraded e-voting platform for European Parliament in less than 1 month

Web Intake

Web Intake

Netherlands

Developed citizen request management software used by 50% of city councils in Belgium and Netherlands

Searchturbo

Searchturbo

Germany

Developed secure Chromium-based mobile browser supporting 18 languages and having over 100K installs