Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/henrybarreto/parachute

Parachute is a simple and fast way to share files.
https://github.com/henrybarreto/parachute

airdrop anonymous client download file hacktoberfest rust server share upload

Last synced: 6 days ago
JSON representation

Parachute is a simple and fast way to share files.

Awesome Lists containing this project

README

        

# Parachute


WK's dark logo
WK's light logo

Parachute is a simple and fast way to delivery files to friends.





## How to use

> NOTICE: The CLI interface isn't implemented yet. Currently, you can run the `server` and the `client` as standalone binaries.

### Server
Starting a Parachute server.

```
parachute server
```

### Client

#### Upload

Sends a photo to the server.
```
parachute client upload photo.jpeg
```

Sends a photo to the server with a password.
```
parachute client upload -p Example123 photo.jpeg
```

Sends a photo to the server with a limit number of downloads or lifetime.
```
parachute client upload -t 1 photo.jpeg
```

Sends a photo to the server with an address allowed.
```
parachute client upload -a 127.0.0.1 photo.jpeg
```

#### Download

Gets a file from the server.
```
parachute client download 00000000-0000-0000-0000-000000000000
```

Gets a file from the server when it has a password.
```
parachute client download -p Example123 00000000-0000-0000-0000-000000000000
```

Gets a file from the server only when it matches to a hash.
```
parachute client download -h 1a79a4d60de6718e8e5b326e338ae533 00000000-0000-0000-0000-000000000000
```

## Protocol

Parachute is a relative simple client-server protocol what runs over the TCP protocol.

It sends a file with some flags, case signed by user, to the server. The server saves it into a volatile database to
be downloaded when required. It checks the flags, executing needed validation, logic and callbacks when that download
is requested.