You are browsing as a guest. Sign up (or log in) to start making projects!

lift

  • 2 Devlogs
  • 4 Total hours

A file-sharing CLI tool, where the files you're sharing never leave your device (well, except for the person you're sharing them to, that is). Note that not all time working on this is tracked in hackatime. (Hey project reviewer! I'm unable to reproduce your issue. All research leads me to believe it's your VM that restricts traffic (I'm assuming you're not on a regulated network). I can reach bore.pub from various devices. Can you please try another way? If you want to test functionality, you can use local mode '-l'.)

Ship #1 Pending review

A simple CLI-tool to share data quickly, without needing to trust external servers with your data.

I spend lots of time transferring video and audio files from my main PC to my or to my audio workstation PC. This meant uploading my file to some drive, just so I can download it again. And doing that on 20Mbit/s is less than great.
After recently having learnt Rust's async and networking functionalities, I thought, why not make a tool for that?

So I wrote lift, which allows me to send files between my devices at atleast twice the speed of using a drive, because the files are never uploaded to anywhere. It's also more secure, because you don't have to trust Google, Microsoft, Dropbox, Limewire or anyone else with your files.

It also makes your files accessible even from outside your network using your generated link with bore. But, if having an external server potentially knowing the route to your file already seems too sketchy for you, you can just configure another bore server.

If you just need to share files within your own network you can use local mode, which will make the file accessible only on your LAN, stripping the need for a bore server.

If you want to be 1000% sure, you can also encrypt the file using your own or a randomly generated passphrase, which the receiving device can decrypt with the age CLI utility.

  • 2 devlogs
  • 4h
Try project → See source code →
Open comments for this post

1h 18m 42s logged

Implemented local and encrypted modes, ready for v1.4.0 which will be shipped! Lift can now:

  • encrypt files using a custom or random passphrase using age
  • open files only for access on the local network, if no outside communication is needed (also stripping the need for an external bore server)
0
0
7
Open comments for this post

2h 32m 17s logged

v1.3.0 just shipped! I switched from warp to axum to use async streams, which ensure that the TCP stream is held until the download is finished - which enables sharing of bigger files, even on slow internet connections.
I’m really proud of the small methods for optimisation I could find - and that I managed to build without a single clippy-all warning!
The next step is encryption, to ward against man-in-the-middle attacks - although it’s already really difficult to get a hold of any data transmitted over lift.

Install it now via cargo install lifter :3

0
0
6

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…