Software Projects

Here are some projects that I have recently completed. I have worked on many projects in the past, but I feel these are worth showcasing.


The current project I am working on is a search engine. I will post updates on this in about a year.

An easy-to-use communications application for Linux that includes video, voice, and text chat. Users can also send files to each other.

Linux - Communications Application

An advanced encrypted social media application that includes everything required for modern standards.

Windows - Encrypted Social Media Application

A multithreaded web crawler for Linux

Linux - Web Crawler (WIP)

Encrypted Social Media Application (ESMA)

Programming Languages Used:

  • C# for client and server

  • ​PHP 8 (register and login)

Compatible Operating Systems:

  • Windows 7+

Features: Including but not limited to

  • Server is multi-threaded. Both UDP and TCP are utilized. Each room has a unique UDP socket.

  • Accounts with profile pictures.

  • Add friends.

  • Create encrypted (using room hash key) temporary and saved chat rooms that include - voice chat - sending audio, video, image, and file messages - creating channels - adding custom roles with different abilities.

  • Direct messaging with asymmetrical encryption (signal style).

  • 1-1 Calls

  • Profile window can display user's social media.

Link :

Linux Communications Application

Compatible Operating Systems:

  • Linux (tested on Linux Mint 21.1 Cinnamon)

Programming Languages Used:

  • C++ for client and server​

Features:

  • Server is multi-threaded. Both UDP and TCP are utilized. Each room has a unique UDP and TCP socket.

  • Voice chat

  • Video chat

  • Text chat

  • A user can initiate a file stream and other users have 10 seconds to decide if they want to receive this file.

  • ​Easily create rooms with up to 4 users

Link:

Search Engine Web Crawler (WIP)

Compatible Operating Systems:

  • Linux (tested on Linux Mint 21.1 Cinnamon)

Programming Languages Used:

  • C++

Features (So Far):

  • Starting from seed website, collect html data from all websites within all sub websites (this is a multithreaded process).

  • Retrieve formatted web page text and headers using Gumbo Parser and convert pdf pages to formatted text using Poppler. Once converted, data is stored in a file with the url string's md5 signature as the file name.

  • If link fails, the program tries it again using 4 other different proxies, and if all else fails, it gets put in a queue (as a physical file), so that the program may come back and try it later.

Link: ​Unavailable (For Now)