GSoC/GCI Archive
Google Summer of Code 2015

IP-over-P2P Project

License: MIT license

Web Page:

Mailing List:

IPOP (IP-over-P2P) is an open-source user-centric software virtual network allowing end users to define and create their own virtual private networks (VPNs). IPOP virtual networks provide end-to-end IP tunneling over “TinCan” links setup and managed through a control API to create various software-defined VPN overlays.


  • Command and control Extend IPOP with a Web-based user interface, which will allow users to manage their private IPOP VPNs. This involves configuring and managing XMPP, STUN, TURN servers, generating configuration files for IPOP endpoints and monitoring the participating nodes. Currently, these tasks are done with CLI and manual configuration of IPOP endpoints. A Web-based application would greatly lower the barrier of use and adoption of IPOP.
  • Implementing a controller framework for next gen IPOP controllers The current implementation of IPOP controllers limits our ability to extend and configure controllers to exhibit different functionalities for different applications. The goal of this project is to create a flexible event-driven controller framework that provides a basis for next-generation IPOP controller designs. The framework should allow designers to “plug” independent modules that perform different core functions of an IPOP controller (e.g. IP address translation, topology management).
  • IPOP Service authentication improvements IPOP as the name stands is Internet Protocol Over Peer-to-peer. It has wide range of applications like clustering in a cloud environment across different service providers, personal vpn etc. The current implementation requires configuration including credentials in plain text. So it is important from a security standpoint to provide a mechanism in the controller component for a secure way of authentication with XMPP server during bootstrapping process.