{"id":18687710,"url":"https://github.com/marcos-venicius/icmptalk","last_synced_at":"2026-01-02T17:08:55.515Z","repository":{"id":256284067,"uuid":"854734865","full_name":"marcos-venicius/icmptalk","owner":"marcos-venicius","description":"Talk with someone using ICMP","archived":false,"fork":false,"pushed_at":"2024-09-09T21:13:10.000Z","size":612,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-16T06:47:26.566Z","etag":null,"topics":["chat","go","golang","handshake","icmp","packets","protocol","terminal-app","tool"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcos-venicius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-09-09T17:30:19.000Z","updated_at":"2024-09-10T12:52:34.000Z","dependencies_parsed_at":"2024-09-10T01:57:39.931Z","dependency_job_id":"b4c44fdb-e1ae-4366-bed3-44a411cad9e1","html_url":"https://github.com/marcos-venicius/icmptalk","commit_stats":null,"previous_names":["marcos-venicius/icmptalk"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcos-venicius%2Ficmptalk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcos-venicius%2Ficmptalk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcos-venicius%2Ficmptalk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcos-venicius%2Ficmptalk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcos-venicius","download_url":"https://codeload.github.com/marcos-venicius/icmptalk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231573634,"owners_count":18394559,"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","go","golang","handshake","icmp","packets","protocol","terminal-app","tool"],"created_at":"2024-11-07T10:33:52.542Z","updated_at":"2026-01-02T17:08:55.487Z","avatar_url":"https://github.com/marcos-venicius.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ICMPTalk\n\nChat with someone via ICMP.\n\nhttps://github.com/user-attachments/assets/2c6a39ad-9fe2-4b72-912e-68dc076ed95f\n\n\n### Example\n\nListen for someone to connect to you!\n\n```bash\ngo run . --iface 10.0.0.x --listen\n```\n\nConnect to someone that is listening:\n\n```bash\ngo run . --iface 10.0.0.x --target 10.0.0.x\n```\n\n### Using\n\nJust write something and press enter!\n\n### The handshake\n\nWho is listening expects the sender to send 4 packets in that order:\n\n1. A number\n2. A number\n3. A number\n4. The sum of all three previous numbers\n\n**The sum of the three first numbers should be odd.**\n**These numbers should be sent in the following format \"|number|\"**\n\nThen, if everything is correct, the listener sends the (4th number times 2)\n\nThen, the sender checks if the number sent is equal to the sum of three previous number times two.\n\nIf this requirements is filled, then the sender confirms the handshake sending an \"|OK|\".\nIf it fails, the sender sends \"|FAIL|\"\n\n### Disclaimer\n\n1. **This is not \"production ready\"!**\n2. **All the traffic is completely clean!**\n3. **I'v tested this only in local network (between two machines), but should work on external too**\n4. **The handshake is not intended to be secure nor some kind of authentication, it's intended to avoid some random ping to turn into a chat automatically**\n\n### Missing features\n\n- Detect when one of the connected users is disconnected, then disconnect both and close the app\n- Encrypt messages between peers\n- Avoid random ping to be interpreted as a message\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcos-venicius%2Ficmptalk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcos-venicius%2Ficmptalk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcos-venicius%2Ficmptalk/lists"}