{"id":16712838,"url":"https://github.com/merrychap/fluffychat","last_synced_at":"2025-04-10T05:54:23.009Z","repository":{"id":46881066,"uuid":"54997139","full_name":"merrychap/fluffychat","owner":"merrychap","description":":sheep: Decentralized chat with private messages and rooms. Messages and files are encrypted using RSA","archived":false,"fork":false,"pushed_at":"2017-12-04T14:44:08.000Z","size":499,"stargazers_count":35,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-24T07:11:21.246Z","etag":null,"topics":["chat","cli","client","decentralized","encryption","messaging","messanger","network","room","rsa","rsa-encryption","rsa-key-encryption"],"latest_commit_sha":null,"homepage":"","language":"Python","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/merrychap.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}},"created_at":"2016-03-29T17:41:07.000Z","updated_at":"2025-01-15T14:12:37.000Z","dependencies_parsed_at":"2022-09-11T15:30:47.275Z","dependency_job_id":null,"html_url":"https://github.com/merrychap/fluffychat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merrychap%2Ffluffychat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merrychap%2Ffluffychat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merrychap%2Ffluffychat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merrychap%2Ffluffychat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/merrychap","download_url":"https://codeload.github.com/merrychap/fluffychat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248166927,"owners_count":21058480,"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":["chat","cli","client","decentralized","encryption","messaging","messanger","network","room","rsa","rsa-encryption","rsa-key-encryption"],"created_at":"2024-10-12T20:44:14.591Z","updated_at":"2025-04-10T05:54:22.983Z","avatar_url":"https://github.com/merrychap.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fluffychat (project is frozen)\n\n## General description\nYou can communicate with people by writing messages and sending different files. This chat provides rooms and private messages between users. Chat is protected by RSA encryption.\n\nAlso, you can run several chat entities on the same host. You have to just clone chat in different directories (it will be changed, of course). It's all because of database.db. When you are trying run another entity in the same directory as the first then database.db will be thinking that first entity and yours are the one entity (bad, I know)\n\nFor detailed description see DECOMPOSITION.md file.\n\n## Future\nI want to completely change a structure of fluffychat in the future . For now, it's not really convinient tool and contains many grammar mistakes. Stay tuned, guys! Make fluffychat great again \u003c3\n\n## Some details\nChat works only in **local networks** due to the fact that this is under development.\n\nNetwork protocol of this chat is too naive. Because of that, I started [chat_protocol](https://github.com/merrychap/chat-protocol) repository. After this protocol will be finished network functionality of this chat will be replaced with ```chat_protocol``` implementation.\n\n## Requirements\n- Python 3.*\n    - netifaces\n    - PyCrypto\n    - PyQt5\n\n## Architecture\nHere will be a little description about architecture.\n\n## Example of using\nHere will be examples.\n\n## Where is log file?\nLog file is __app.log__. You can see it by typing next:\n```sh\n$ vim app.log\n```\n\n## How to run application\nThere are two ways of running chat. If you want to create a new chat, then you should run this:\n```sh\n$ python3 main.py [--create] [--recv-port R]\n```\nBut if you want to join in existing chat, then you should know IP and connection port of a host sitting in this chat. Also you have to\nspecify port for receiving messages. When you know all this stuff then run next:\n```sh\n$ python3 main.py [-h] [--create] [--host HOST] [--port PORT]\n               [--recv-port RECV_PORT] [--gui] [--dis-enc]\n```\nArgument | Description\n-------- | -----------\n**--host** | IP of a remote host\n**--port** | Default connection port of a remote host\n**--recv-port** | Port for receiving data from other hosts\n**--create** | Key for creating new chat\n**--gui** | Run chat in GUI mode\n**--dis-enc** | Disable RSA encryption. It means when a host from the chat sends you a message it will not be encrypted for you.\n\n\n## Examples\n**To start** typing any command you should at first **press \"enter\"**\nBelow is placed example of creating a new chat\n```sh\n$ python3 main.py --create --recv-port 8080\n[*] Please, specify your username(a-zA-Z_.):\u003e merrychap\n[*] Specify your root path for storing files:\u003e /home/merrychap/Desktop/fluffychat\n('192.168.0.102', 8080)\n\nType \"@help\" for list of commands with the descriptio\n\n[*] Enter command:\u003e @help\n\n======================================\nType commands with @ on the left side of a command.\nList of commands:\n\n+ help : Shows this output\n+ room \"room_name\" : Switches to the room message mode. \n+ add_user : \"username\" \"room_name\"\n+ users : Shows online users.\n+ create_room \"roomname\" : Creates new room. \n+ user \"username\" : Switches to the user message mode. \n+ change_root_path \"root path\" : Changes the directory of storing files\n+ change_visibility : Changes your visibility in the chat\n+ remove_room \"roomname\" : Removes created room.\n+ username \"username\" : Changes the current username. \n+ exit : Closes chat.\n+ rooms : Shows available rooms.\n======================================\n```\n\nThe next example is connecting to the existing chat.\n```sh\n$ python3 main.py --host 192.168.0.102 --port 8080 --recv-port 8080\n*] Please, specify your username(a-zA-Z_.):\u003e Holo\n[*] Specify your root path for storing files:\u003e /home/Holo/Desktop/fluffychat\n('192.168.0.103', 8080)\n\nType \"@help\" for list of commands with the descriptio\n\n[*] Enter command:\u003e @users\n\n======================================\n+ merrychap\n+ Holo\n======================================\n```\n\n## Already done\n- [x] Private messages\n- [x] Rooms\n- [x] Sending files\n- [x] RSA encryption\n- [ ] Tests\n- [ ] GUI\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerrychap%2Ffluffychat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmerrychap%2Ffluffychat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerrychap%2Ffluffychat/lists"}