Back to Programs

Operating systems

freifunk

Free and open wireless networks

cjavascriptlinuxopenwrtpythonrust

Participation history

9 GSoC years

2025

5 projects

Official year page

Simplifying LibreMesh with OpenWrt-Native Solutions

LibreMesh has grown over the past decade with valuable community contributions, but some of its features now duplicate tools available in OpenWrt....

qaul RPC user authentication layer

The qaul RPC user authentication layer project aims to implement a secure and scalable authentication system for the qaul network, enabling multiple...

Deep Q Network-based Rate Adaptation for IEEE 802.11ac Networks

This project aims to enhance Wi-Fi rate adaptation by integrating Deep Q-Networks (DQN) with the ORCA and RateMan frameworks. Traditional rate...

Social Media Archive Explorer

This project aims to build a static, user-friendly site that serves as an archive explorer for Freifunk’s historical social media twitter posts....

Adding Wi-Fi Support to QEMU Simulations in LibreMesh

LibreMesh relies on continuous testing to ensure its robustness across various network conditions and hardware setups. Currently, testing new...

2024

6 projects

Official year page

LibreMesh Cable Purpose Autodetection

When a community network router ethernet port is acting as a gateway to the Internet or as a border to neighboring networks, the network...

eBPF performance optimisations for a new OpenWrt Firewall

Project Description While the Linux network stack evolved throughout the past years with support for new protocols and features, it has become more...

New Transmit Power Control approach for IEEE 802.11ax Wifi chips

Implementation of a novel TPC algorithm in the user space to develop a dynamic power controller, and then in the mac80211 subsystem of the Linux...

Project Libremesh Pirania, new release.

After the publication of the New Pirania API, a lot has been gained with Pirania in Libremesh. Many communities could be used and even today they use...

qaul BLE Module for Linux with BlueR

Qaul is an internet-independent wireless mesh communication app. With qaul, you can communicate directly from one device to another. This project...

Visualise community data

The Freifunk project collects a snapshot of data from community groups every hour. This has been going on since 2014, and so far the project has...

2023

6 projects

Official year page

LuCI Migration to JavaScript based Framework: Improved UX and Performance on OpenWrt-based Devices

LuCI is a framework used to build web interfaces for configuration and monitoring on embedded devices such as WiFi routers, etc. In the old CBI based...

Qaul Matrix Bridge

Qaul is an Internet independent wireless mesh communication app. With qaul, you can communicate directly from one device to another. The aim of this...

OpenWRT PPA Part 2

Original project proposal: https://projects.freifunk.net/#/projects?project=openwrt_ppa_part_2&lang=en Currently, compiling OpenWRT packages for a...

Joint Power and Rate Control in User space for Freifunk OpenWrt Mesh & Access Networks

The IEEE 802.11 specification for Wireless Local Area Networking (WLAN) has been widely deployed worldwide due to its low cost and convenience in...

Automation tools for LibreMesh firmware build and monitoring

Create a set of automated tasks to install services on a Raspberry Pi to meet the needs of small community-network with an administration/tech team,...

Implementation of Web Interface of Retroshare

RetroShare is a C++ software program that comprises a headless lib called "libretroshare". This lib is utilized to implement Retroshare application...

2022

8 projects

Official year page

Implement elRepo.io unit testing

ElRepo.io is an Android app that combines the RetroShare JSON API with a Flutter frontend aimed to share content into the RetroShare F2F network....

Call a Friend

I will be working on converting the app source codes from java to kotlin, I’ll remove the extra features that the mentor suggests to be removed and...

Traffic Monitoring and Classification via XDP/eBPF

1. Analysis of different approaches to run XDP and eBPF on openWrt devices 2. Integration of the tools and drivers into OpenWrt 3. Description of...

Try LibreMesh without having a router

LibreMesh is a framework for creating OpenWrt- based firmware for Wireless mesh nodes. LibreMesh works in a decentralized way and is used as a base...

Complete the Retroshare Web Interface

This proposal seeks to develop the Web Interface of Retroshare application. The primary goal is to develop as many features as in the RetroShare Qt...

Minstrel-TX Rate Control in User space

Considering the wide deployment of IEEE 802.11 wireless networks and their shared use of the ISM band, there have been significant efforts in...

TX-Power Control in WiFi Networks

Wireless communication and in particular WiFi networks are becoming more and more important. Research already focuses on improving reliability,...

Videoodyssee : System Refactoring

Improving the video upload workflow and reimplementing the video processing pipeline using a better and maintainable CI/CD tool to support parallel...

2021

7 projects

Official year page

OpenWRT PPA

Building a platform to support users and compile openwrt packages on the fly by building an executable, code ready docker image , ready to be...

OpenWrt Device Page

Create an overview of OpenWrt supported devices to simplify user choice of acquiring new devices

Irdest Android Client

irde.st is a software suite that allows users to create an internet-independent, decentralized & ad-hoc wireless mesh network. It removes all the...

LibreMesh Pirania UI

This proposal seeks to improve the implementation of the administration interface of the Pirania captive portal which is implemented in LibreMesh.

Retroshare Mobile

RetroShare provides a decentralized, encrypted connection with maximum security between nodes where they can chat, share files, mail, etc. Retroshare...

Updation of the Json Schema to latest version (2020-12)/draft7 along with the form generation and validation with the updated schema of the tools

Updating the JSON schema to the latest version (2020-12)/draft7 and updating the tools which uses JSON schema to generate forms and validate form...

Android native app for network selection capability in LibreMesh routers

One practical barrier for the usage of local network web-based applications (such as the LimeApp) in Android devices is that browsers don't allow the...

2019

10 projects

Official year page

Unit testing LibreMesh

Integrate a testing and mocking framework to LibreMesh and provide the functionality needed to easily write new tests for actual or new code. Add...

Designing RetroShare for Android with chat backend improvements

Retroshare is a highly sophisticated communication platform which is accessible only on desktops. This project aims to develop a mobile application...

RetroShare port web interface to JSON API

Retroshare has an existing WebUI interface which covers the basic functionality of the client. However it has limited functionality and does not make...

WireGuard Tunneling for BMX7

BMX7 offers plugins which are used for the distribution of small files, settings up tunnels or offer stats of the network structure. Currently the...

Load-correlated distributed bandwidth analysis for LibreMesh networks

Performance tests are key for identifying the bottlenecks and optimize the network topology. The main indicator is the bandwidth, but also other...

Build a qual.net network simulator to enable automated testing

qual.net’s Rust rewrite will enable improved modularity, performance, and security, but rewriting an entire system in a new and rapidly evolving...

ConTest - Wireless resource allocation algorithm testing framework

This project provides a framework for reproducible wireless resource allocation algorithm testing. This will ease the benchmarking and the...

OpenWrt Firmware Wizard

The Project has 3 sub-parts which are described as: Initial Firmware Retrieval: People who want to update their device, often do not know what...

qaul.net HTTP API

Regarding the development of an API for the qaul.net rewrite along with a configuration and message management system.

Library to export/import public datasets to Retroshare network

I would to create a reference library capable to interact bidirectionally with RS and outside it, engaging people to create apps, bots, and other...

2018

12 projects

Official year page

Kernel space SOCKS proxy for Linux 4.x

Currently no open source SOCKS proxy available for recent kernel versions. In fact router proxification depends on user-space proxy applications....

Design network agnostic communication protocol

My goal is to design a new protocol for qaul.net. The current protocol is very heavily coupled to olsr which is used for all networking tasks. To...

Local Phone App

The project consists of constructing an android app which allows a quick exchange of contact data through a QR-code and thus serverless p2p voice- as...

Better map for nodewatcher

The idea is to replace the original map with a new one that looks better and represents nodes in a better way. Currently the map is very basic and...

LibreNet6

https://projects.freifunk.net/#/projects?project=libremesh_librenet6_integrations&lang=en LibreMesh already does extensive use of IPv6 technology, we...

VRConfig - Visual Router Config for OpenWrt

Improve the usability and beginner-friendliness of OpenWrt's LuCI Web Interface by creating a picture-based visual router configuration

nodewatcher: Build system rework and package upstreaming

Nodewatcher currently uses Dockerized OpenWrt firmware builders which are manually generated. Currently, their generation is slow and complicated...

Realizing a decentralized WiFi Controller

Decentralized WiFi controller DAWN is a decentralized WiFi controller. So far the daemon concentrates on load balancing to distribute the network...

Re-write the Turnantenna code

Turnantenna is now a prototype, and the code was written for a specific driver and for a specific motor. My project includes: • 1 more motor, in...

Easily Expandable Wireless Intrusion Detection System

While analyzing already available Open Source Wireless Intrusion Detection Systems (WIDS), we realized that there is no full-featured solution yet....

LibreMesh ground routing user friendly interface

Create a user interface for lime-hwd-ground-routing that is easy to use and understand.

OpenWLANMap App

The goal of this project is to develop a new OpenWLANMap wardriver app to replace the old one, which is not working anymore in order to save and...

2017

12 projects

Official year page

Spectrum Analyzer

I believe that Community Networks' Operating Systems could use the Spectrum Analysis a lot to make better decisions on how they use the...

LibreMesh Attended Sysupgrade

Performing updates on routers is quite different from full Linux distribution. It's not sustainable to do release upgrade via a packet manager....

Powquty Live-Log

PowQuty provides statistics from measurements taken by a USB oscilloscope. The statistics provide information about the power distribution network,...

Add MPTCP support in LEDE/OpenWRT trunk

Create an MPTCP supported OpenWRT/LEDE trunk and ensure its operation in a multipath Wi-Fi aggregation environment. The trunk should contain the...

lime-webui: port to LuCI2

Make an inventory of all LuCI components that LibreMesh uses and that will not be compatible with LuCI2. Analyze which dependencies must be replaced...

netjsongraph.js: visualization of netjson data

NetJSON is a great work attracted some interest from around the world, but there are a lot of defects. And I’m a front-end developer and now focus on...

geolocator (Software defined GPS)

A dynamical and flexible geolocator, which should give a GPS position based on WiFi information for devices which doesn't have GPS hardware but WiFi....

OpenWRT/LEDE Configuration Management

Improve the proof-of-conecpt version of a OpenWRT/LEDE configuration software.

Improving nodewatcher data representation capability

Currently nodewatcher has very limited overview of used IP space without more precise division of existing and used subnets. This could be improved...

Implementing Pop-Routing in OSPF

Prince is a network daemon that continuosly monitors the network topology and sets the timers for OLSRv2, it is developed in C and we ...

Extending LoxiGen and ONOS to enable SDN control of wireless switches via OpenFlow

LoxiGen is a tool by the Floodlight project to generate OpenFlow libraries for several programming languages including Java and C. The goal of this...

RetroShare Improvements

The aim of this proposal is to improve RetroShare incrementally during the summer in the following work lines: Semi-automatic RetroShare friendship...

2016

8 projects

Official year page

SWOON: Simultaneous Wireless Organic Optimization within Nodewatcher

In modern urban areas it is very common to experience a lot of Wi-Fi spectrum congestion in the 2.4GHz and 5GHz bands. High density of...

Implementing Pop-Routing

OONF (OLSRv2) is a link state routing protocol. It works sending periodical messages to his neighbors with the aim of transmitting information about...

A schema-based configuration system for OpenWrt

I'd like to create an alternative to OpenWrt's UCI configuration system, improving on the following points: Structured (JSON-based) configuration...

Provide a cryptographic implementation for Qaul.net

The Qaul,net project provides a mesh-wifi network for people to connect and share information to other people on the network, helping them avoid...

DynaPoint - A dynamic access point validator and creator for OpenWrt/LEDE

Find an easily configurable solution for making the wireless access ssid in OpenWrt/LEDE dependent on a set of network conditions.

netifd extension: external device handlers

In this project, we will extend netifd by a generic device handler interface, which is exposed via the ubus IPC system to enable interaction with...

Monitoring and quality assurance of open wifi networks: the client view

Running a huge open wifi network that is split into different network areas needs monitoring to assure an appropriate quality of service to it's...

OpenWrt - poWquty (poWer quality)

Sustainable energy production and consumption are crucial for a prospering life on earth. Decentralized energy production is one of the next big...