All Projects → SkullTech → Pearsend

SkullTech / Pearsend

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

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pearsend

Figo
P2P file transfer utility
Stars: ✭ 88 (+151.43%)
Mutual labels:  peer-to-peer, file-sharing
Croc
Easily and securely send things from one computer to another 🐊 📦
Stars: ✭ 17,834 (+50854.29%)
Mutual labels:  peer-to-peer, file-sharing
Airdcpp Webclient
Communal peer-to-peer file sharing application for file servers/NAS devices
Stars: ✭ 106 (+202.86%)
Mutual labels:  peer-to-peer, file-sharing
nicotine-plus
Graphical client for the Soulseek peer-to-peer network
Stars: ✭ 601 (+1617.14%)
Mutual labels:  chat, peer-to-peer
Lisp Chat
An experimental minimal chat written in Common Lisp
Stars: ✭ 160 (+357.14%)
Mutual labels:  chat, sockets
Pcp
📦 Command line peer-to-peer data transfer tool based on libp2p.
Stars: ✭ 687 (+1862.86%)
Mutual labels:  peer-to-peer, file-sharing
Diztl
Share, discover & download files in your network 💥
Stars: ✭ 162 (+362.86%)
Mutual labels:  peer-to-peer, file-sharing
Iwant
Commandline tool for searching and downloading files in LAN network, without any central server
Stars: ✭ 268 (+665.71%)
Mutual labels:  peer-to-peer, file-sharing
Twake
Twake is a secure open source collaboration platform to improve organizational productivity.
Stars: ✭ 862 (+2362.86%)
Mutual labels:  chat, file-sharing
Eiskaltdcpp
File sharing program using DC and ADC protocols
Stars: ✭ 277 (+691.43%)
Mutual labels:  chat, file-sharing
Gfile
Direct file transfer over WebRTC
Stars: ✭ 598 (+1608.57%)
Mutual labels:  peer-to-peer, file-sharing
ipfs-chat
Real-time P2P messenger using go-ipfs pubsub. TUI. End-to-end encrypted texting & file-sharing. NAT traversal.
Stars: ✭ 84 (+140%)
Mutual labels:  peer-to-peer, file-sharing
Sharedrop
Easy P2P file transfer powered by WebRTC - inspired by Apple AirDrop
Stars: ✭ 5,222 (+14820%)
Mutual labels:  peer-to-peer, file-sharing
Syncthing Macos
Frugal and native macOS Syncthing application bundle
Stars: ✭ 1,096 (+3031.43%)
Mutual labels:  peer-to-peer, file-sharing
Beam.cafe
🌠 Blazing fast file transfer app focused on user-experience. Fastest way to share files without uploading them.
Stars: ✭ 419 (+1097.14%)
Mutual labels:  peer-to-peer, file-sharing
Partyshare
A free, open source file sharing application, built on the peer-to-peer hypermedia protocol IPFS.
Stars: ✭ 131 (+274.29%)
Mutual labels:  peer-to-peer, file-sharing
Libzt
ZeroTier Sockets - Put a network stack in your app
Stars: ✭ 486 (+1288.57%)
Mutual labels:  sockets, peer-to-peer
Shareaza
Shareaza is a peer-to-peer client for Windows that allows you to download any file-type found on several popular P2P networks.
Stars: ✭ 103 (+194.29%)
Mutual labels:  peer-to-peer, file-sharing
portal
🔗 zero-config peer-to-peer encrypted live folder syncing that respects your `.gitignore`
Stars: ✭ 284 (+711.43%)
Mutual labels:  peer-to-peer, file-sharing
file.io
🐈 💻 Simple File Share Service where the file is completely deleted after download.
Stars: ✭ 38 (+8.57%)
Mutual labels:  file-sharing

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 -h
usage: pearsend [-h] [-i] [-f FILEPATH] [--host HOST] [-p PORT]
                   [-m MESSAGE]
                   {send,receive}

positional arguments:
  {send,receive}        Whether to send or receive

optional 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!
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].