Skip to content

Instantly share code, notes, and snippets.

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 AbdulMalikDev/7b9dd5bdf3dae02494fd2aea0df19f3c to your computer and use it in GitHub Desktop.
Save AbdulMalikDev/7b9dd5bdf3dae02494fd2aea0df19f3c to your computer and use it in GitHub Desktop.

Google Summer of Code 2022 Final Work Product -

Student Abdul Malik
Mentor Rajan Jaiswal
Github @AbdulMalikDev
Organisation CCExtractor Development
Project rutorrent-flutter

Abstract

ruTorrent is the most popular web interface for rTorrent, which is possibly the most used BitTorrent client in Linux. It is mostly a web application, but it has its own backend that connects to rtorrent. You could connect to rtorrent directly as well, but by doing that you would be missing lots of features that come with rutorrent, for example RSS support.

Yes, there are two things with almost the same name. To summarize:

rTorrent => The BitTorrent client, a console-based tool that also has an API to interact with it. rutorrent => A web interface for rtorrent that uses that API. It also does other things, for example, it can download torrents from an RSS feed. You configure RSS feeds in rutorrent's web interface, but there's also a backend service (written in PHP) that is part of rutorrent to do the actual download.

ruTorrent Mobile is a project that started last year under the organisation CCExtractor Development and it's gone quite well, with the user base growing and a number of contributions being made by other developers. The aim of this project was to improve the overall architecture of the project with improved and in detail documentation, multiple environments for devugging and testing, implementing new features to the app and creating a release of the app.

Aim

  • Implement Autodl-IRSSI notification stream access in the mobile application.
  • Migrate complete codebase to Null Safety.
  • Test coverage with Automatic Unit and Widget Testing.
  • Implementation blogs explaining complex features in codebase added in Wiki.
  • Add Analytics and Crashlytics to reduce errors and gain insights to improve user experience.
  • V.1.0 Android release on Play Store.
  • New release on Github with shout outs on social media.

All of the work done during GSoC was in the rutorrent-flutter repository.

My contributions to rutorrent-flutter main branch repository are listed below -

Download App

📷 Screenshots
Login Screen All Torrents Screen Downloaded Torrents Screen Drawer Screen
Login_screen All_Torrents_screen Downloaded_Torrents_screen Drawer_screen
Rss-Feed Screen RSS-filters Screen Settings Screen Splash Screen
RSS_feed_screen RSS_filters_screen Settings_screen Splash_screen
Disk Explorer Screen (seedbox) History Screen
Disk_Explore_screen History_screen

Conclusion

I had an amazing summer working with the wonderful open source community of CCExtractor. Google Summer of Code took a lot of work and I enjoyed every bit of it. I want to thank my mentor and organization admin for believing in my potential and giving me this chance. GSoC is what made CCExtractor from just being an open source organization for me to becoming my second home. I genuinely want to stay connected in the future and provide value in all the ways I can whether that is contributions, mentorship or funding.

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