{"id":21000575,"url":"https://github.com/aaayyuusshh/network-messenger","last_synced_at":"2026-01-06T02:04:01.449Z","repository":{"id":209736028,"uuid":"458673445","full_name":"aaayyuusshh/network-messenger","owner":"aaayyuusshh","description":"Send text messages through the terminal to another connected device.","archived":false,"fork":false,"pushed_at":"2022-09-21T18:22:03.000Z","size":147,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-29T19:49:08.077Z","etag":null,"topics":["client-server","multiprocessing","socket-programming"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaayyuusshh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-02-13T00:34:38.000Z","updated_at":"2024-06-08T08:54:58.000Z","dependencies_parsed_at":"2023-11-28T22:49:18.610Z","dependency_job_id":null,"html_url":"https://github.com/aaayyuusshh/network-messenger","commit_stats":null,"previous_names":["aaayyuusshh/network-messenger"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaayyuusshh%2Fnetwork-messenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaayyuusshh%2Fnetwork-messenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaayyuusshh%2Fnetwork-messenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaayyuusshh%2Fnetwork-messenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaayyuusshh","download_url":"https://codeload.github.com/aaayyuusshh/network-messenger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245294754,"owners_count":20591899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-server","multiprocessing","socket-programming"],"created_at":"2024-11-19T08:11:25.811Z","updated_at":"2026-01-06T02:03:56.414Z","avatar_url":"https://github.com/aaayyuusshh.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![TERMINAL_MESSENGER](https://user-images.githubusercontent.com/80851741/191576957-e3b5a13e-c11f-4ad4-a9f2-5d5541185361.png)\n\nWelcome to a client/server (network) based application which allows synchronous messaging between your device and your friend's device through the terminal 💻\n_________________________________\n## Motivation\n🧟 Imagine there was an apocalypse where all the messaging apps in the world were destroyed and only the terminal remained. Well, no problem, I've got you covered! Run the server code in one of your friends computer \u0026 run the client code in your computer, and have a two way communication (just like your favourite text messaging app) through the terminal using the messenger feature. \n(Yes, this really works! just change the IP address in line 18 of the client code to your friends local machine's IP.)\n\n**In progress**\n  - Two way terminal based text messaging messenger ✅\n  - Two way terminal based Tic-Tac-Toe game \n  \n## Overview \n  - Client has an option to use the messenger, encryption, \u0026 decryption feature.\n  - Messenger: Simulates a text messaging environment which allows a two way communication between client and server through syncronized text messages. \n  - Encryption: Client can send server a message to encrypt \u0026 the server will use encryption algorithm \u0026 send client the encrypted message in 2 parts(vowels \u0026 non vowels) over the network.\n  - Decryption: Client can send server a valid encrypted message in 2 parts (vowels \u0026 non vowels) \u0026 the server will use decyption algorithm \u0026 send client the decrypted message in 1 part over the network.\n  - **NOTE:** Client/Server communication can be done in one **local machine** or over the **internet**, where the server and client are configured in different machine.\n\n **Messager Feature:**\n\n\u003cimg width=\"1437\" alt=\"Screen Shot 2022-05-05 at 9 29 32 PM\" src=\"https://user-images.githubusercontent.com/80851741/167062606-9e0f8c67-8737-4b1d-8f28-e146b4747ffc.png\"\u003e\n\n**Encryption Feature:**\n\n\u003cimg width=\"1440\" alt=\"Screen Shot 2022-05-05 at 9 37 27 PM\" src=\"https://user-images.githubusercontent.com/80851741/167062995-883f4879-a1ff-42b0-b326-4f725a701df0.png\"\u003e\n\n\n**Decryption Feature:**\n\n\u003cimg width=\"1440\" alt=\"Screen Shot 2022-05-05 at 9 40 25 PM\" src=\"https://user-images.githubusercontent.com/80851741/167063237-698bbcd2-a4d9-42a0-b98c-24854daa639d.png\"\u003e\n\n## How to Run Locally\n  - Clone this repository ``git clone https://github.com/aaayyuusshh/network-messenger.git``\n  - Set up 2 terminal windows(for client \u0026 server) and navigate (``cd``) to the directory with the repo files.\n  - To compile server code, type ``g++ -o s server.cpp`` in terminal 1 \u0026 type ``./s`` to run.\n  - To compile client code, type ``g++ -o c client.cpp`` in terminal 2 \u0026 type ``./c`` to run.\n  - Server must be running before a client can run.\n\n## What I learnt\n  - Socket Programming Concepts.\n  - Networking protocols of the Internet Protocol Stack.\n  - Data transmission over a network through TCP \u0026 UDP protocols.\n  - C++ Programming Basics.\n  - Multiprocessing through fork() system call.\n\n*Contact me if you would like me to demonstrate how to run this program over the internet and not just locally.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaayyuusshh%2Fnetwork-messenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaayyuusshh%2Fnetwork-messenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaayyuusshh%2Fnetwork-messenger/lists"}