Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

30 Commits

Repository files navigation

Pearsend

A simple CLI client for peer-to-peer file or message sending. Written in Python.

PyPI version

Features

  • It supports file or message of size upto about 8.85 PeB (1 PiB ~ 10^6 GiB)!.
  • Protection against transmission error using CRC32 checksum.
  • Comes with CLI (command-line argument) and Interactive mode, both!

Installation

Install it using pip

$ pip3 install pearsend

Usage Examples

Command-line Mode

Help Text

sumit@HAL9000:~$ pearsend -husage: pearsend [-h] [-i] [-f FILEPATH] [--host HOST] [-p PORT] [-m MESSAGE] {send,receive}positional arguments: {send,receive} Whether to send or receiveoptional arguments: -h, --help show this help message and exit -i, --interactive If the program is to be run in interactive mode -f FILEPATH, --filepath FILEPATH Path of the file to be sent or to save incoming data to --host HOST Address of the source or target machine -p PORT, --port PORT Port for listening on or sending to -m MESSAGE, --message MESSAGE Message to send

Sending text message

Receiver

sumit@HAL9000:~$ pearsend receive -p 5000[*] Listening for connections on: 10.194.52.135:5000[*] Connection from : 10.194.52.135:47804[*] The incoming data is > b'Hello HAL!'

Sender

sumit@HAL9000:~$ pearsend send --host 10.194.52.135 -m "Hello HAL!"[*] Sent message succesfully!

Sending binary file

Receiver

sumit@HAL9000:~$ pearsend receive -p 5000 -f recd.png[*] Listening for connections on: 10.194.52.135:5000[*] Connection from : 10.194.52.135:47808[*] Incoming data saved to recd.png

Sender

sumit@HAL9000:~$ pearsend send --host 10.194.52.135 -f image.png[*] Sent message succesfully!

Interactive Mode

Sending text message

Receiver

sumit@HAL9000:~$ pearsend receive -i[?] Port to listen on: [?] File to save the incoming data to. Leave blank to output to terminal: [*] Listening for connections on: 10.194.52.135:5000[*] Connection from : 10.194.52.135:36240[*] The incoming data is > b'Hello HAL!'

Sender

sumit@HAL9000:~$ pearsend send -i[?] The address of the target machine: 10.194.52.135[?] Enter the port to connect to: [?] The file to send. Leave blank for text message: [?] Enter the message: Hello HAL![*] Sent message succesfully!

Sending binary file

Receiver

sumit@HAL9000:~$ pearsend receive -i[?] Port to listen on: [?] File to save the incoming data to. Leave blank to output to terminal: recd.jpg[*] Listening for connections on: 10.194.52.135:5000[*] Connection from : 10.194.52.135:36242[*] Incoming data saved to recd.jpg

Sender

sumit@HAL9000:~$ pearsend send -i[?] The address of the target machine: 10.194.52.135[?] Enter the port to connect to: [?] The file to send. Leave blank for text message: image.jpg[*] Sent message succesfully!

About

A simple CLI client for peer-to-peer file or message sending. Written in Python

Topics

Resources

Stars

40 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages