A decentralized messaging daemon built on top of the Kademlia routing protocol.

Overview

parakeet-message

A decentralized messaging daemon built on top of the Kademlia routing protocol. IWasActingGIF

Now that you are done laughing...

pictures

image_0 image_1

what is it? 🤔

So basically, you host a server on your machine that everyone else is going to talk to. If anyone wants to leave messages there, they can. You can also send a request to this server to have it send a message to someone else. Right now there isn't any security to stop you from sending a message from someone else's machine but that would be an easy addition into the server code itself. You can poll this server for messages that other people have left, but in the future that may turn into a Websocket live feed. There is also an endpoint you can call that will list all of the users that the server knows about, and it is to those users that you can send messages. Getting into how the Kademlia protocol works is not something I want to do right now, but there are a plethora of resources online about it because it is a very popular, topical, and, most importantly, performant routing protocol. Just google Kademlia protocol and you will find it, if you don't then you are lying. 😎

why? 😵‍💫

I had just done a project for my Distributed Systems (CSE 40771) course on the Kademlia protocol and wanted to make something else with it. I liked the idea of having what is essentially a decentralized messaging service so that I could use it with my friends. Also, this is the culmination of hours of research and work and I feel like I need to at least put it somewhere. There are most definitely a lot of bugs, but I will certainly keep going through and both remove these bugs and add new features as I see fit, as long as my interest holds.

setup 🤓

  1. If you already know someone that is on the network, do this before starting the server.
  • export BOOTSTRAP_HOST= e.g., export BOOTSTRAP_HOST=127.0.0.1
  • export BOOTSTRAP_PORT= e.g., export BOOTSTRAP_PORT=8000
  1. Now, start the server.
  • python3 server.py --port=

client 🤨

  1. If you want a rudimentary implementation of a messaging client that will use one of these servers, I have provided the client.py program that you can use to do so.
  2. You execute it like so - python3 client.py SERVER_HOST SERVER_PORT - where SERVER_HOST and SERVER_PORT are the host and port of your server respectively. It is to this server that the client will call to send and receive messages. Type help within the fake shell to see a list of commands you can execute (note: there aren't that many).
Owner
Jonathan Abbott
I was gonna send you a joke about UDP but wasn't sure you'd get it.
Jonathan Abbott
A jokes api python module

A jokes api python module

Fayas Noushad 3 Nov 28, 2021
A code that can make an account bump your discord server 24/7!

BumpCord A code that can make an account bump your discord server 24/7! The main.py is the main file. keep_alive.py prevents your repl from going to s

Phantom 28 Aug 20, 2022
This Is Advanced Version Of Old Radio Player, An Telegram Bot to Play Radio/Music in Channel or Group Voice Chats.

Telegram Radio Player V2 An Telegram Bot to Play Radio/Music in Channel or Group Voice Chats. This is also the source code of the bot which is being u

SAF ONE 81 Dec 03, 2022
An simple python script for remove rockstar account for fivem, very useful for cheating or change account for unban from an server, remember change steam account.

This tool is used for be unbanned from servers, u need disconnect the discord, use other steam account and uninstall xbox for be unbanned 100%, it only work for unban in server, not global

MiguDEV 4 Oct 10, 2022
M3U Playlist for free TV channels

Free TV This is an M3U playlist for free TV channels around the World. Either free locally (over the air): Or free on the Internet: Plex TV Pluto TV P

Free TV 964 Jan 08, 2023
Discord Token Checker

Discord-Token-Checker Optimizations Asynchronous Fast & Efficient Multi Tasked Proxy support (socks4/socks5/http) Usage Put tasks depending on your PC

scripted 6 May 05, 2022
Python wrapper for Revolt API

defectio is a direct implementation of the entire Revolt API and provides a way to authenticate and start communicating with Revolt servers. Similar interface to discord.py

Leon Bowie 26 Sep 18, 2022
Pydf: A modular Telegram Bot which provides Pdf Tools using PyPdf2

pyDF-Bot 🌍 Pydf - Pyrogram Document File Bot, a modular Telegram Bot which prov

HyDrix 2 Feb 18, 2022
Fetch tracking numbers of Amazon orders, for the ease of the logistics.

Amazon-Tracking-Number Fetch tracking numbers of Amazon orders, for the ease of the logistics. Read Me First (How to use this code): Get Amazon "Items

Tony Yao 1 Nov 02, 2021
Read manga from your favourites websites on telegram.

tg-manga-bot Read manga from your favourites websites on telegram. Current Development Bot @idkpythonbot Telegram Channel tg_manga_bot Commands start

Daniel Rivero 41 Dec 22, 2022
Basic Discord python bot

#How to Create a Discord Bot Account In order to work with the Python library and the Discord API, we must first create a Discord Bot account. Here ar

Tustus 1 Oct 13, 2021
A telegram bot script for generating session string using pyrogram and telethon on Telegram bot

String-session-Bot Telegram Bot to generate Pyrogram and Telethon String Session. A star ⭐ from you means a lot to us! Usage Deploy to Heroku Tap on a

Wahyusaputra 8 Oct 28, 2022
EzilaX Music ❤ is the best and only Telegram VC player with playlists, Multi Playback, Channel play and more POWERD By SDBOTs

EzilaX-Music 🎵 A bot that can play music on Telegram Group and Channel Voice Chats Available on telegram as @EzilaXMBot Features 🔥 Thumbnail Support

Sadew Jayasekara 9 Oct 24, 2021
Hazard-Nuker - Hazard Nuker With Python

🌟 Since hazard is free, donations are really appriciate and keeps the developme

†† 9 Oct 26, 2022
Telegram Bot to learn English by words and more.. ( in Arabic )

Get the mp3 files Extract the mp3.rar on the same file that bot.py on install requirements pip install -r requirements.txt #Then enter you bot token

Plugin 10 Feb 19, 2022
Contrastive Language-Audio Pretraining

CLAP Contrastive Language-Audio Pretraining In due time this repo will be full of lovely things, I hope. Feel free to check out the Issues if you're i

Charles Foster 83 Dec 01, 2022
A python oriented telegram with API of yobit.net

YoBit-BTC A python oriented telegram bot with API of https://yobit.net/ Developed By @riz4d What is Yobit? ➪ YoBit is a cryptocurrency exchange that w

Muhammed Rizad 6 Apr 02, 2022
Touca SDK for Python

Touca SDK For Python Touca helps you understand the true impact of your day to day code changes on the behavior and performance of your overall softwa

Touca 12 May 18, 2022
A Happy and lightweight Python Package that Provides an API to search for articles on Google News and returns a JSON response.

A Happy and lightweight Python Package that Provides an API to search for articles on Google News and returns a JSON response.

Muhammad Abdullah 273 Dec 31, 2022
Trabalho N1 para a materia Tecnicas de Progamação da Anhembi Morumbi

Projeto da Anhembi Morumbi - Tecnicas de Programação. RPG de Console (CMD) Trabalho proposto pelo professor André Santana, na materia Tecnicas de Prog

Leonardo Silva M de Barros 3 Sep 12, 2021