From c8bd985db86b72b7ba3bd3602a6af1d6cf0d24d7 Mon Sep 17 00:00:00 2001 From: Marcin Anforowicz Date: Fri, 7 Jun 2024 13:45:48 -0700 Subject: [PATCH] Improved cargo toml descriptions --- .github/workflows/test.yml | 5 + CONTRIBUTING.md | 19 ++++ LICENSE | 21 +++++ README.md | 109 ++++++++++------------ gday/Cargo.toml | 8 +- gday/README.md | 2 + gday/src/main.rs | 2 + gday_contact_exchange_protocol/Cargo.toml | 2 +- gday_contact_exchange_protocol/README.md | 2 + gday_contact_exchange_protocol/src/lib.rs | 2 + gday_encryption/Cargo.toml | 2 +- gday_encryption/README.md | 2 + gday_encryption/src/lib.rs | 2 + gday_file_transfer/Cargo.toml | 2 +- gday_file_transfer/README.md | 2 + gday_file_transfer/src/lib.rs | 2 + gday_hole_punch/Cargo.toml | 2 +- gday_hole_punch/README.md | 2 + gday_hole_punch/src/lib.rs | 2 + gday_server/Cargo.toml | 4 +- gday_server/README.md | 2 + gday_server/src/main.rs | 2 + images/file_transfer.png | Bin 55988 -> 0 bytes pre-push | 34 +++++++ 24 files changed, 160 insertions(+), 72 deletions(-) create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE delete mode 100644 images/file_transfer.png create mode 100755 pre-push diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7f87fe4..8a48959 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,3 +1,7 @@ +# GitHub workflow for automatically +# testing code on push to main +# and pull requests. + name: Cargo Build & Test on: @@ -5,6 +9,7 @@ on: branches: - main pull_request: + types: [synchronize] env: CARGO_TERM_COLOR: always diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..a426b9c --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,19 @@ +# Contributing + +## Feature requests and bug reports + +To request features or report bugs, submit an +[issue](https://github.com/manforowicz/gday/issues) +on this GitHub repository. +Please try to add as much details as you can. + +Feel free to share your experiences using gday, by submitting issues. + +## Contributing code + +Learn how to contribute by following GitHub's +[Contributing to a project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project) +guide. + +Verify your code passes tests by running the cargo commands listed +in the `pre-push` file. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..079c235 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 Marcin Anforowicz + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 2ddfa1d..e204cb3 100644 --- a/README.md +++ b/README.md @@ -1,48 +1,61 @@ -# Gday Project +# gday -**WORK IN PROGRESS - THIS PROJECT IS NOT READY YET** +**Note: this project is still in early-development, so expect breaking changes.** -Send files directly to anyone. - -## Example +A command line tool for sending files.
 peer_1: gday send msg.txt image.jpg
-*Asks for confirmation*
+<Asks for confirmation>
 Tell your mate to run "gday receive 1.188T.W3H.E".
 Transfer complete.
 
 peer_2: gday receive 1.188T.W3H.E
-*Asks for confirmation*
+<Asks for confirmation>
 Transfer complete.
 
[![asciicast](https://asciinema.org/a/662397.svg)](https://asciinema.org/a/662397) -## Features +## Installation -- Uses [TCP Hole Punching](https://bford.info/pub/net/p2pnat/) -with the help of a [gday_contact_exchange_server](/gday_contact_exchange_server/) -to establish a direct peer-to-peer connection, -even between different private networks. -Note: This may not work on networks with very restrictive [NATs](https://en.wikipedia.org/wiki/Network_address_translation). +### Executable -- Since the transfer is always direct, - you can send huge amounts of data without affecting any relay servers. +1. Go to [releases](https://github.com/manforowicz/gday/releases) +and download the correct file for your platform. +2. Extract the executable +(on Linux, try: `tar xf `). +3. Run the executable: `.//gday` -- Doesn't require port forwarding. +### Cargo -- Automatically tries both IPv4 and IPv6. +If you have `cargo`, run `cargo install gday`. -- Uses password authenticated key exchange ([SPAKE2](https://datatracker.ietf.org/doc/rfc9382/)) -to derive a strong encryption key from a weak shared password. +### Brew + +If you have `brew`, run `brew install manforowicz/tap/gday`. -- Authenticated encryption using [ChaCha20Poly1305](https://en.wikipedia.org/wiki/ChaCha20-Poly1305). +## Features +- File transfer is always direct, without relays. +A server is only used to help the devices find each other. +- Doesn't require port forwarding. +- Files encrypted with streaming +[ChaCha20Poly1305](https://en.wikipedia.org/wiki/ChaCha20-Poly1305). +- Automatically tries both IPv4 and IPv6. +- Immune to malicious servers trying to impersonate your peer. +Uses password authenticated key exchange +([SPAKE2](https://datatracker.ietf.org/doc/rfc9382/)) +to derive a strong encryption key from a weak shared password. -Want to send files easily, securely, and directly, without a relay or port forwarding? -Then go to the [gday page](gday/README.md). +## How it works +Uses [TCP Hole Punching](https://bford.info/pub/net/p2pnat/) +with the help of a server +to establish a direct peer-to-peer connection, +even between different private networks. +Note: This may not work on networks with very restrictive +[NATs](https://en.wikipedia.org/wiki/Network_address_translation). ## Usage ``` @@ -70,13 +83,12 @@ I'm very grateful to their creators and contributors. - + - - + + - @@ -86,7 +98,6 @@ I'm very grateful to their creators and contributors. - @@ -96,7 +107,6 @@ I'm very grateful to their creators and contributors. - @@ -106,27 +116,24 @@ I'm very grateful to their creators and contributors. - - - + + + - - - - + + - @@ -136,7 +143,6 @@ I'm very grateful to their creators and contributors. - @@ -146,7 +152,6 @@ I'm very grateful to their creators and contributors. - @@ -156,37 +161,24 @@ I'm very grateful to their creators and contributors. - - - - - - - - - - - - + - - + - @@ -196,7 +188,6 @@ I'm very grateful to their creators and contributors. - @@ -206,11 +197,10 @@ I'm very grateful to their creators and contributors. -
Always direct (no relays)Always direct (no relay) Can work beyond LAN, through most NATsWorks through restrictive NATsWorks without port forwarding or openingWorks through very strict NATsNo port forwarding Encrypted Can resume interrupted transfersFree & open source
gday
magic-wormhole
croc
iwant
p2pcopy
p2pcopyiwant
zget
sharedrop
filepizza
toss
Personal SSH or HTTPS serverPersonal SSH or HTTPS
Personal FTP serverPersonal FTP
Dropbox, Google Drive, etc.
Delivering a USB drive
-Open an issue on GitHub to add more projects. +Open an [issue](https://github.com/manforowicz/gday/issues) on GitHub to add more projects. ## In this repository @@ -220,9 +210,6 @@ Open an issue on GitHub to add more projects. - [gday_encryption](/gday_encryption/) - Encrypts an IO stream. - [gday_contact_exchange_protocol](/gday_contact_exchange_protocol/) - Protocol for two peers to share their socket addresses via a server. -- [gday_file_offer_protocol](/gday_file_offer_protocol/) - Protocol for peers to offer to send each other files. - -![gday crate dependency graph](/images/dependency_graph.svg) +- [gday_file_transfer](/gday_file_offer_protocol/) - Protocol for transferring files over a direct connection.s -## Motivation -![xkcd about sending files](/images/file_transfer.png) \ No newline at end of file +![gday crate dependency graph](/images/dependency_graph.svg) \ No newline at end of file diff --git a/gday/Cargo.toml b/gday/Cargo.toml index 94b07b6..4aeeff7 100644 --- a/gday/Cargo.toml +++ b/gday/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gday" version = "0.1.1" -description = "Command line tool to send files easily, securely, and directly, without a relay or port forwarding." +description = "Command line tool to send files directly and securely, without a relay or port forwarding." homepage = "https://github.com/manforowicz/gday/gday/" # Inherit these keys from workspace toml @@ -13,8 +13,7 @@ repository.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -anyhow = "1.0.86" -clap = { version = "4.5.4", features = ["derive"] } +clap = { version = "4.5.6", features = ["derive"] } env_logger = "0.11.3" gday_encryption = { version = "0.1.1", path = "../gday_encryption" } gday_file_transfer = { version = "0.1.1", path = "../gday_file_transfer" } @@ -23,7 +22,6 @@ indicatif = "0.17.8" log = "0.4.21" os_str_bytes = "7.0.0" owo-colors = "4.0.0" -postcard = "1.0.8" rand = "0.8.5" serde = { version = "1.0.203", features = ["serde_derive"] } -thiserror = "1.0.61" \ No newline at end of file +thiserror = "1.0.61" diff --git a/gday/README.md b/gday/README.md index 4c3030d..2313f4a 100644 --- a/gday/README.md +++ b/gday/README.md @@ -1,3 +1,5 @@ +Note: this crate is still in early-development, so expect breaking changes. + # `gday` ![Crates.io Version](https://img.shields.io/crates/v/gday) ![docs.rs](https://img.shields.io/docsrs/gday) diff --git a/gday/src/main.rs b/gday/src/main.rs index 67f6107..af7abe0 100644 --- a/gday/src/main.rs +++ b/gday/src/main.rs @@ -1,3 +1,5 @@ +//! Note: this crate is still in early-development, so expect breaking changes. +//! //! `gday` is a command line line tool for peers to send each other files. //! Features: //! - Never uses relays. Instead, uses a gday_contact_exchange_server to share socket diff --git a/gday_contact_exchange_protocol/Cargo.toml b/gday_contact_exchange_protocol/Cargo.toml index b5db92c..6144d32 100644 --- a/gday_contact_exchange_protocol/Cargo.toml +++ b/gday_contact_exchange_protocol/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gday_contact_exchange_protocol" version = "0.1.1" -description = "Protocol that peers can use to exchange their public and private socket addresses via a server." +description = "Protocol for peers to exchange their socket addresses via a server." homepage = "https://github.com/manforowicz/gday/gday_contact_exchange_protocol/" # Inherit these keys from workspace toml diff --git a/gday_contact_exchange_protocol/README.md b/gday_contact_exchange_protocol/README.md index 1b161e4..36812a4 100644 --- a/gday_contact_exchange_protocol/README.md +++ b/gday_contact_exchange_protocol/README.md @@ -1,3 +1,5 @@ +Note: this crate is still in early-development, so expect breaking changes. + # `gday_contact_exchange_protocol` ![Crates.io Version](https://img.shields.io/crates/v/gday_contact_exchange_protocol) ![docs.rs](https://img.shields.io/docsrs/gday_contact_exchange_protocol) diff --git a/gday_contact_exchange_protocol/src/lib.rs b/gday_contact_exchange_protocol/src/lib.rs index b8b79d2..a5a8148 100644 --- a/gday_contact_exchange_protocol/src/lib.rs +++ b/gday_contact_exchange_protocol/src/lib.rs @@ -1,3 +1,5 @@ +//! Note: this crate is still in early-development, so expect breaking changes. +//! //! This protocol lets two users exchange their public and (optionally) private socket addresses via a server. //! //! On it's own, this crate doesn't do anything other than define a shared protocol. diff --git a/gday_encryption/Cargo.toml b/gday_encryption/Cargo.toml index c4d61e8..e4eb753 100644 --- a/gday_encryption/Cargo.toml +++ b/gday_encryption/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gday_encryption" version = "0.1.1" -description = "A simple ChaCha20Poly1305 encryption wrapper around an IO stream." +description = "Minimal ChaCha20Poly1305 encryption wrapper around an IO stream." homepage = "https://github.com/manforowicz/gday/gday_encryption/" # Inherit these keys from workspace toml diff --git a/gday_encryption/README.md b/gday_encryption/README.md index de04a71..75116e4 100644 --- a/gday_encryption/README.md +++ b/gday_encryption/README.md @@ -1,3 +1,5 @@ +Note: this crate is still in early-development, so expect breaking changes. + # `gday_encryption` ![Crates.io Version](https://img.shields.io/crates/v/gday_encryption) ![docs.rs](https://img.shields.io/docsrs/gday_encryption) diff --git a/gday_encryption/src/lib.rs b/gday_encryption/src/lib.rs index 25a4696..5541162 100644 --- a/gday_encryption/src/lib.rs +++ b/gday_encryption/src/lib.rs @@ -1,3 +1,5 @@ +//! Note: this crate is still in early-development, so expect breaking changes. +//! //! A simple encrypted wrapper around an IO stream. //! Uses [`chacha20poly1305`] with the [`chacha20poly1305::aead::stream`]. #![forbid(unsafe_code)] diff --git a/gday_file_transfer/Cargo.toml b/gday_file_transfer/Cargo.toml index 9c2b779..f6d3d83 100644 --- a/gday_file_transfer/Cargo.toml +++ b/gday_file_transfer/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gday_file_transfer" version = "0.1.1" -description = "A minimal protocol to securely transfer files over an IO stream. Used by gday." +description = "Protocol to securely transfer files over an encrypted IO stream." homepage = "https://github.com/manforowicz/gday/gday_file_transfer/" # Inherit these keys from workspace toml diff --git a/gday_file_transfer/README.md b/gday_file_transfer/README.md index de9ca4d..7bc8682 100644 --- a/gday_file_transfer/README.md +++ b/gday_file_transfer/README.md @@ -1,3 +1,5 @@ +Note: this crate is still in early-development, so expect breaking changes. + # `gday_file_offer_protocol` ![Crates.io Version](https://img.shields.io/crates/v/gday_file_offer_protocol) ![docs.rs](https://img.shields.io/docsrs/gday_file_offer_protocol) diff --git a/gday_file_transfer/src/lib.rs b/gday_file_transfer/src/lib.rs index 9df8580..af82043 100644 --- a/gday_file_transfer/src/lib.rs +++ b/gday_file_transfer/src/lib.rs @@ -1,3 +1,5 @@ +//! Note: this crate is still in early-development, so expect breaking changes. +//! //! This protocol lets a peer offer and transfer files to another peer. //! //! TODO: Update htis comment. diff --git a/gday_hole_punch/Cargo.toml b/gday_hole_punch/Cargo.toml index 2033ba5..833d8a4 100644 --- a/gday_hole_punch/Cargo.toml +++ b/gday_hole_punch/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gday_hole_punch" version = "0.1.1" -description = "Establish an authenticated peer-to-peer internet connection using TCP hole-punching." +description = "Establish an authenticated peer-to-peer connection using TCP hole-punching." homepage = "https://github.com/manforowicz/gday/gday_hole_punch/" # Inherit these keys from workspace toml diff --git a/gday_hole_punch/README.md b/gday_hole_punch/README.md index 10fd1b7..1e6e7d4 100644 --- a/gday_hole_punch/README.md +++ b/gday_hole_punch/README.md @@ -1,3 +1,5 @@ +Note: this crate is still in early-development, so expect breaking changes. + # `gday_hole_punch` ![Crates.io Version](https://img.shields.io/crates/v/gday_hole_punch) ![docs.rs](https://img.shields.io/docsrs/gday_hole_punch) diff --git a/gday_hole_punch/src/lib.rs b/gday_hole_punch/src/lib.rs index 28881ae..3c832d6 100644 --- a/gday_hole_punch/src/lib.rs +++ b/gday_hole_punch/src/lib.rs @@ -1,3 +1,5 @@ +//! Note: this crate is still in early-development, so expect breaking changes. +//! //! Lets peers behind [NAT (network address translation)](https://en.wikipedia.org/wiki/Network_address_translation) //! try to establish a direct authenticated TCP connection. //! diff --git a/gday_server/Cargo.toml b/gday_server/Cargo.toml index ab98b06..f3f019f 100644 --- a/gday_server/Cargo.toml +++ b/gday_server/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "gday_server" version = "0.1.1" -description = "A server that lets 2 peers exchange their private and public addresses via the gday contact exchange protocol." +description = "Server that lets 2 peers exchange their socket addresses." homepage = "https://github.com/manforowicz/gday/gday_server/" # Inherit these keys from workspace toml @@ -13,7 +13,7 @@ repository.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -clap = { version = "4.5.4", features = ["derive"] } +clap = { version = "4.5.6", features = ["derive"] } socket2 = { version = "0.5.7", features = ["all"] } tokio = { version = "1.38.0", features = [ "rt-multi-thread", diff --git a/gday_server/README.md b/gday_server/README.md index 27da111..aa9d047 100644 --- a/gday_server/README.md +++ b/gday_server/README.md @@ -1,3 +1,5 @@ +Note: this crate is still in early-development, so expect breaking changes. + # `gday_server` ![Crates.io Version](https://img.shields.io/crates/v/gday_server) ![docs.rs](https://img.shields.io/docsrs/gday_server) diff --git a/gday_server/src/main.rs b/gday_server/src/main.rs index 22f217e..873d8e0 100644 --- a/gday_server/src/main.rs +++ b/gday_server/src/main.rs @@ -1,3 +1,5 @@ +//! Note: this crate is still in early-development, so expect breaking changes. +//! //! Runs a server for the [`gday_contact_exchange_protocol`]. //! Lets two users exchange their public and (optionally) private socket addresses. #![forbid(unsafe_code)] diff --git a/images/file_transfer.png b/images/file_transfer.png deleted file mode 100644 index 3aeb1ef74a1117b70083ac704694e721c5fa3aee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55988 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 ZuFA8Kkj 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

m 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