Expedite v0.1.0 is out now on PyPI, GitHub and DockerHub!

Hello r/opensource!

The general availability of Expedite v0.1.0 is announced with great pleasure. This project has been posted about in this subreddit here and your feedback has been crucial in shaping up its first beta release. The project will continue to be developed to ensure that features get introduced and bugs get fixed timely.

Recap

Expedite is a simple encrypted file transfer service that allows people to share synchronously assets among each other without having to rely on third party file sharing services (and constantly worrying about how their data might be used) or feeling the need to have publicly visible IP addresses (and constantly worrying about script kiddies attacking your computer).

Expedite Server can be deployed on a virtual private server having an IP address that is discoverable by the Expedite Client users to broker file contents. The transfers facilitated using WebSockets are end-to-end encrypted with the use of 128-bit Advanced Encryption Standard and the server is restricted to logging only unidentifiable activities to the volatile memory.

Illustrations

Expedite Bridge - GUI client
Feels convenient

Expedite Prompt - CLI client
Looks cool

Expedite Server - Broker service
Ah, yes - The negotiator

Offerings

You can either deploy your own Expedite Server to broker file contents from your group of Expedite Client users or you can use the following publicly available servers setup by me instead. Picking the server that is closer to your group of users can help with improving performance and reliability of the transfer. Please open up a pull request if you wish to list your server here.

Or host your own Expedite Server on any hardware that you have available!

Attempting

If this looks exciting to you, please consider giving the project a spin using the publicly available servers and let me know how I can further improve the project by filing issue tickets for software errors or feature requests. Starring the project repository, contributing to the codebase or sponsoring me to keep working on more FOSS projects would forever be greatly appreciated! <3

Resources

Roadmap

  1. Establish testing of the functional part of the codebase
  2. Post average latency for diagnostic information
  3. Attempt reconnecting of websockets object after connection drop
  4. Show IP addresses at the server end in the logging only
  5. Allow files to be added using the drag-and-drop action to the batch
  6. Port the project to the recent asyncio based implementation of websockets
  7. Allow for the transfer operation to happen in batches
  8. Ensure whether the logging configuration is indeed applied or not
  9. Use generator for optimizing reading and writing files
  10. Update the connection timeout logic to the newer codebase