{"id":26544934,"url":"https://github.com/couragebforedth/real-talk","last_synced_at":"2025-03-22T04:14:58.028Z","repository":{"id":251143593,"uuid":"836022770","full_name":"couragebforedth/real-talk","owner":"couragebforedth","description":"A secure peer-to-peer, end-to-end encrypted messaging app.","archived":false,"fork":false,"pushed_at":"2024-08-12T04:39:24.000Z","size":42,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T04:28:40.940Z","etag":null,"topics":["c","end-to-end-encryption","foss","messaging","p2p"],"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/couragebforedth.png","metadata":{"files":{"readme":"README.txt","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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-31T02:26:09.000Z","updated_at":"2024-08-12T04:39:27.000Z","dependencies_parsed_at":"2024-08-08T07:55:09.654Z","dependency_job_id":"4b5bb3bc-f339-49a3-8223-55fcc2877370","html_url":"https://github.com/couragebforedth/real-talk","commit_stats":{"total_commits":57,"total_committers":2,"mean_commits":28.5,"dds":"0.45614035087719296","last_synced_commit":"7e1cf2972246617c2ac50f2a2dde2603753f0029"},"previous_names":["wwwdanielg/rt","couragebforedth/real-talk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couragebforedth%2Freal-talk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couragebforedth%2Freal-talk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couragebforedth%2Freal-talk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/couragebforedth%2Freal-talk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/couragebforedth","download_url":"https://codeload.github.com/couragebforedth/real-talk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244902911,"owners_count":20529115,"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":["c","end-to-end-encryption","foss","messaging","p2p"],"created_at":"2025-03-22T04:14:57.471Z","updated_at":"2025-03-22T04:14:58.021Z","avatar_url":"https://github.com/couragebforedth.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Project: Real Talk (rt)\n\nAuthor: Daniel Gilbert\n\nLicense:\n\n- Please copy code from this project\n  so you can learn from it\n  and build on it.\n\n- Leverage the design documents\n  to feed your own ideas\n  to make this project great.\n\nPupose of Project:\n\n- To provide a secure means of\n  peer-to-peer, end-to-end encrypted\n  messaging\n  with zero intermediary servers,\n  relying solely on the existing network infrastructure.\n\n===\n\nBelow is a snippet from the Design Log file that illustrates the desired\nfunctionality of how this may be used once it is built.\n\nFor simplicity, and to start,\nonly support one server running on a host\nat a time.\n\nhost (server):  \u003e ./rt\n                \u003e Please enter a password that\n                \u003e will be required to join this chat:\n                \u003e (types password then presses enter)\n\n                (rt starts server listening on 0.0.0.0 by default\n                to simplify for non-technical users, and even\n                automatically finds a port number to use that is not taken.\n                The password is required for people to connect, but is only\n                the first line of defense. The project will later incorporate\n                GPG for every user so that all messages are encrypted\n                and decrypted by automatically using the relevant key pairs.\n                In addition, everyone will see if an unknown user joins,\n                so they can stop talking if someone has broken in.\n                New users will not see chats prior to when they joined.)\n\n                \u003e Server has been started.\n                \u003e The password is: (password)\n\n                \u003e All users will be prompted for the password upon connecting.\n\n                \u003e They have 3 password attempts.\n                \u003e If they fail the first 3, they will get disconnected\n                \u003e and you will be notified.\n                \u003e They can reconnect a second time and enter 3 more passwords,\n                \u003e but if those fail, they will be automatically blocked,\n                \u003e and you will have to unblock them. You will be notified.\n\n                (Include geolocation/IP ownership info in notifications\n                if I can pull that info without relying too much on a\n                third-party or sending unwanted telemetry to those\n                services. Maybe keep a cached copy of all the relevant\n                geo/IP info so that queries aren't constantly being made,\n                and the user can manually update the cache only if they desire.)\n\n                (I'm trying to make this program as simple as possible to use\n                for non-technical people.)\n\n                \u003e For people on the same computer network (WiFi, cable, etc.),\n                \u003e if they want to join, have them type\n                \u003e ./rt X.X.X.X XXXXX\n\n                (If the user has multiple local IPs, list them for the user\n                with instructions.)\n\n                \u003e For people outside of your computer network\n                \u003e (remote locations on the Internet),\n                \u003e if they want to join, have them type\n                \u003e ./rt Y.Y.Y.Y XXXXX (User's public IP is shown.)\n                \n                (goes to background)\n\n                (joins server they just created)\n\nclient:         \u003e ./rt remote_public_ip port\n\n                (connects to server via NAT bypass or port forwarding, etc.)\n\n                \u003e Password: (types password, then presses enter)\n\n                \"Hey, what's up?\"\n\nhost (server):  \"Alright, talk to you later.\"\n\n                (ctrl+c, disconnects self and all connected clients)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouragebforedth%2Freal-talk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcouragebforedth%2Freal-talk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcouragebforedth%2Freal-talk/lists"}