Skip to content

Instantly share code, notes, and snippets.

@agauniyal
Last active August 29, 2017 11:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save agauniyal/3274b2adc8d9073b260e344ede8b9fa0 to your computer and use it in GitHub Desktop.
Save agauniyal/3274b2adc8d9073b260e344ede8b9fa0 to your computer and use it in GitHub Desktop.
GSoC2017

Task

Implementation of REST Webservice for the P2PSP media sources.

Work Report

Crossroads is a REST api server capable of creating and managing P2PSP channels. It is written in Javascript and uses Node runtime to achieve low-overhead request-response model. In current implementation, it provides functionality for creating, editing and deletion of channels by user and manages all processes by itself in background. The processes are spawned and killed in accordance with their lifetime and proper care is taken to avoid any sort of shell injection or unauthorized entry to the system.

To facitilate the proper integration of crossroads with existing p2psp core and console binaries, I made commits to required repositories in P2PSP org and made the changes while keeping the resulting binary backward compatible. I also introduced a smart source-client mode and created a node program to simulate its working as well. The project was started from scratch in my own repository and was consequently transferred to P2PSP org. All development is aided with proper unit testing and automated developer doc generation too.

I'm also working on feature to launch p2psp binaries on a different host than the one which runs crossroads and shall be completed soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment