{"id":24890673,"url":"https://github.com/skulltech/pearsend","last_synced_at":"2025-10-16T07:31:00.668Z","repository":{"id":57451641,"uuid":"112854152","full_name":"skulltech/Pearsend","owner":"skulltech","description":"A simple CLI client for peer-to-peer file or message sending. Written in Python","archived":false,"fork":false,"pushed_at":"2019-11-24T14:26:21.000Z","size":22,"stargazers_count":40,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-04T04:38:04.717Z","etag":null,"topics":["chat","cli","file-sharing","peer-to-peer","python","python3","sockets"],"latest_commit_sha":null,"homepage":"","language":"Python","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/skulltech.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}},"created_at":"2017-12-02T15:41:40.000Z","updated_at":"2024-09-03T12:32:34.000Z","dependencies_parsed_at":"2022-09-04T10:42:00.838Z","dependency_job_id":null,"html_url":"https://github.com/skulltech/Pearsend","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/skulltech%2FPearsend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skulltech%2FPearsend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skulltech%2FPearsend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skulltech%2FPearsend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skulltech","download_url":"https://codeload.github.com/skulltech/Pearsend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236692706,"owners_count":19189765,"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","file-sharing","peer-to-peer","python","python3","sockets"],"created_at":"2025-02-01T17:17:28.471Z","updated_at":"2025-10-16T07:30:55.383Z","avatar_url":"https://github.com/skulltech.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pearsend\nA simple CLI client for peer-to-peer file or message sending. Written in Python.\n\n[![PyPI version](https://badge.fury.io/py/pearsend.svg)](https://badge.fury.io/py/pearsend)\n\n## Features\n\n- It supports file or message of size upto about 8.85 PeB (1 PiB ~ 10^6 GiB)!.\n- Protection against transmission error using `CRC32` checksum.\n- Comes with CLI (command-line argument) and Interactive mode, both!\n\n# Installation\n\nInstall it using `pip`\n```console\n$ pip3 install pearsend\n```\n\n# Usage Examples\n\n## Command-line Mode\n\n__Help Text__\n```console\nsumit@HAL9000:~$ pearsend -h\nusage: pearsend [-h] [-i] [-f FILEPATH] [--host HOST] [-p PORT]\n                   [-m MESSAGE]\n                   {send,receive}\n\npositional arguments:\n  {send,receive}        Whether to send or receive\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -i, --interactive     If the program is to be run in interactive mode\n  -f FILEPATH, --filepath FILEPATH\n                        Path of the file to be sent or to save incoming data\n                        to\n  --host HOST           Address of the source or target machine\n  -p PORT, --port PORT  Port for listening on or sending to\n  -m MESSAGE, --message MESSAGE\n                        Message to send\n```\n\n### Sending text message\n\n__Receiver__\n```console\nsumit@HAL9000:~$ pearsend receive -p 5000\n[*] Listening for connections on: 10.194.52.135:5000\n\n[*] Connection from : 10.194.52.135:47804\n[*] The incoming data is \u003e \nb'Hello HAL!'\n```\n\n__Sender__\n```console\nsumit@HAL9000:~$ pearsend send --host 10.194.52.135 -m \"Hello HAL!\"\n\n[*] Sent message succesfully!\n```\n\n### Sending binary file\n\n__Receiver__\n```console\nsumit@HAL9000:~$ pearsend receive -p 5000 -f recd.png\n[*] Listening for connections on: 10.194.52.135:5000\n\n[*] Connection from : 10.194.52.135:47808\n[*] Incoming data saved to recd.png\n```\n\n__Sender__\n```console\nsumit@HAL9000:~$ pearsend send --host 10.194.52.135 -f image.png\n\n[*] Sent message succesfully!\n```\n\n\n## Interactive Mode\n\n### Sending text message \n\n__Receiver__\n```console\nsumit@HAL9000:~$ pearsend receive -i\n[?] Port to listen on: \n[?] File to save the incoming data to. Leave blank to output to terminal: \n[*] Listening for connections on: 10.194.52.135:5000\n\n[*] Connection from : 10.194.52.135:36240\n[*] The incoming data is \u003e \nb'Hello HAL!'\n```\n\n__Sender__\n```console\nsumit@HAL9000:~$ pearsend send -i\n[?] The address of the target machine: 10.194.52.135\n[?] Enter the port to connect to: \n[?] The file to send. Leave blank for text message: \n[?] Enter the message: Hello HAL!\n\n[*] Sent message succesfully!\n```\n\n### Sending binary file\n\n__Receiver__\n```console\nsumit@HAL9000:~$ pearsend receive -i\n[?] Port to listen on: \n[?] File to save the incoming data to. Leave blank to output to terminal: recd.jpg\n[*] Listening for connections on: 10.194.52.135:5000\n\n[*] Connection from : 10.194.52.135:36242\n[*] Incoming data saved to recd.jpg\n```\n\n__Sender__\n```console\nsumit@HAL9000:~$ pearsend send -i\n[?] The address of the target machine: 10.194.52.135\n[?] Enter the port to connect to: \n[?] The file to send. Leave blank for text message: image.jpg\n\n[*] Sent message succesfully!\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskulltech%2Fpearsend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskulltech%2Fpearsend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskulltech%2Fpearsend/lists"}