CCExtractor / rtorrent-ws

Google Summer of Code 2022: Introduce WebSockets into rTorrent

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GSoC final report

Introduction

This GSoC project will replace the antique SCGI protocol in rTorrent with Websocket, which will allows real-time events, less serialization/transfer overheads, better security, etc. There isn't a modern c++ websockets library that supports unix domain socket, we will add this important feature into uWebsockets. And we also replace the global mutex in libtorrent with shared_mutex to improve concurrency.

What has done

  • introduce websocket into rTorrent and implement "server push", that is, client can subscribe some specific topics, once the event occurs,server will push the notification to client automatically
  • add unix domain socket support for uWebSockets, now websocket can listen on unix domain socket, with better security.
  • replace global mutex in libtorrent with shared_mutex

Link to work

Acknowledgements

Not only technical things I have learned but also the ability to think and tackle problems. Mentor jesec is very great, he gave me a lot of guidance and inspiration in the process of completing the project, work with jesec is wonderful, thanks jesec for help. Thanks Google and GSoC program and CCExtractor Development community provided such a good activity.

About

Google Summer of Code 2022: Introduce WebSockets into rTorrent

License:GNU General Public License v2.0


Languages

Language:C++ 98.2%Language:Starlark 0.8%Language:CMake 0.8%Language:Dockerfile 0.2%