Crates.io | gday |
lib.rs | gday |
version | 0.2.0 |
source | src |
created_at | 2024-06-07 23:13:55.22987 |
updated_at | 2024-07-12 05:09:59.059019 |
description | Command line tool to securely send files (without a relay or port forwarding). |
homepage | https://github.com/manforowicz/gday/tree/main/gday |
repository | https://github.com/manforowicz/gday/ |
max_upload_size | |
id | 1265310 |
size | 52,959 |
Note: this project is still in early-development, so expect breaking changes.
Command line tool to securely send files (without a relay or port forwarding).
peer_1: gday send image.jpg folder <Asks for confirmation> Tell your mate to run "gday get 1.1C30.C71E.A". Transfer complete.
peer_2: gday get 1.1C30.C71E.A <Asks for confirmation> Transfer complete.
To run the executable directly:
tar xf <file>
)../gday
To install with cargo:
$ cargo install gday
To install with brew:
$ brew install manforowicz/tap/gday
File transfer is always direct, without relay servers. A server is only used to exchange socket addresses at the beginning.
No limit on the size of files and folders sent.
Doesn't require port forwarding. Instead, uses TCP Hole Punching to traverse NATs. Note: this may not work on very restrictive NATs.
Server connection encrypted with TLS and file transfer encrypted with ChaCha20Poly1305.
Automatically tries both IPv4 and IPv6.
Immune to malicious servers impersonating your peer. Uses SPAKE2 password authenticated key exchange to derive an encryption key from a shared secret.
No unsafe
Rust in this repository.
Usage: gday [OPTIONS] <COMMAND>
Commands:
send Send files and/or directories
get Receive files
help Print this message or the help of the given subcommand(s)
Options:
-s, --server <SERVER> Use a custom gday server with this domain name
-p, --port <PORT> Connect to a custom server port
-u, --unencrypted Use raw TCP without TLS
-v, --verbosity <VERBOSITY> Verbosity. (trace, debug, info, warn, error) [default: warn]
-h, --help Print help
-V, --version Print version
No relays | Works beyond LAN | Works through very strict NATs | No port forwarding | Encrypted | Can resume interrupted transfers | |
---|---|---|---|---|---|---|
gday | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ |
magic-wormhole | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
croc | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
p2pcopy | ✅ | ✅ | ❌ | ✅ | ❌ | ❌ |
iwant | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
zget | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ |
sharedrop | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
filepizza | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
Personal SSH or HTTPS | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
Personal FTP | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Dropbox, Google Drive, etc. | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
Delivering a USB drive | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
Open an issue to add more projects to this list.