A small tool to easily send data (files, clipboard) between computers with 0 config, just using audio and mic.
Project description
Grillo
A small tool to easily send data (files, clipboard) between computers with 0 config, just using audio and mic.
Installation
On Ubuntu, install it by running:
sudo apt install portaudio19-dev libffi-dev libsndfile1 xclip
pip3 install grillomodem --user
Usage
machine1> grillo listen
machine2> grillo text "hello world!"
After hearing some hight pitched sounds, machine1 should print:
machine1> grillo listen
Received text:
hello world!
You can also send files:
machine2> grillo file /path/to/a_file.txt
Or even update machine1’s clipboard with machine2’s clipboard contents:
machine2> grillo clipboard
Limitations
This will work with contents of less than 8KB, and the bandwith is fairly low, around 52bps. So use it to send small files (configs, etc), texts (like commands, an email, an url, etc), or copied text from the clipboard. Don’t try to send stuff like a video :)
Usage as a lib
You can also use Grillo from your own Python programs, like this:
from grillo import Grillo
g = Grillo()
g.send_text("hello world")
Brave vs normal mode
In the default mode, Grillo will use an ACK message to request any packets of a message that haven’t been successfully received. This helps working in noisy environments. If you are super confident in your quiet environment, or your receiver can’t emit sounds, you can use --brave to disable that feature.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file GrilloModem-1.2.4.tar.gz
.
File metadata
- Download URL: GrilloModem-1.2.4.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97ca628eb4cc0c3e5ac9b002c449860651be1773e3bdc697be77be5725b6a908 |
|
MD5 | 447bfd1ab128a37b78d29e2675fbee49 |
|
BLAKE2b-256 | 8aa8f68f691a8a082c9253acf92c93898c6737df01b27bd4d67a6a711453393e |