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
- https://raw.githubusercontent.com/gridhead/expedite/main/data/bridge-send-stat.png
- https://raw.githubusercontent.com/gridhead/expedite/main/data/bridge-recv-stat.png
- https://raw.githubusercontent.com/gridhead/expedite/main/data/bridge-send-prog.gif
- https://raw.githubusercontent.com/gridhead/expedite/main/data/bridge-recv-prog.gif
Expedite Prompt - CLI client
Looks cool
- https://github.com/gridhead/expedite?tab=readme-ov-file#prompt---delivering---static
- https://github.com/gridhead/expedite?tab=readme-ov-file#prompt---collecting---static
- https://raw.githubusercontent.com/gridhead/expedite/main/data/prompt-send-prog.gif
- https://raw.githubusercontent.com/gridhead/expedite/main/data/prompt-recv-prog.gif
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.
- Mumbai, MH
wss://expedite-mumb.gridhead.net
orwss://expedite-mumb.gridhead.net:443
- Grade A - Qualys
- Grade A - TestSSL
- Atlanta, GA
wss://expedite-atla.gridhead.net
orwss://expedite-atla.gridhead.net:443
- Grade A - Qualys
- Grade A - TestSSL
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
- Establish testing of the functional part of the codebase
- Post average latency for diagnostic information
- Attempt reconnecting of websockets object after connection drop
- Show IP addresses at the server end in the logging only
- Allow files to be added using the drag-and-drop action to the batch
- Port the project to the recent asyncio based implementation of websockets
- Allow for the transfer operation to happen in batches
- Ensure whether the logging configuration is indeed applied or not
- Use generator for optimizing reading and writing files
- Update the connection timeout logic to the newer codebase