Freenet

Open Source Solution for Anonymity Online

enhanced by Redwerk working closely with core team

Incling
FreenetNew York, NY, USA

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.

Our task was to improve Freenet software, making it faster and easier in use by eliminating the issues we have outlined.

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).

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.

Freenet

Need experienced Java developers?

Contact us

1

PM

1

BM

1

QA

2

Java developers

1

FE

>25K

lines 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.

Freenet
Freenet
Freenet
Freenet
Freenet
Freenet /></div>
<div  class=Freenet
Freenet
Freente
Freenet
Freenet

Impressed?

Hire us

Other Case Studies

Italy
EUREL EUGI platform for voting in European Parliament
Netherlands
Citizen requests processing system for local government authorities
Germany
Advanced mobile browser