Hawker News

Show HN: Proton Drive for Linux

oss.lsantos.dev

79 pointsby khaosdoctor28 comments

Hello everyone, I wanted to share this small project that I have. It's born out of a necessity that I had, because Proton doesn't ship a Linux version of the drive yet (it's apparently coming out later this year but who knows?) and all the current solutions are hacky and wonky at best. But for the time being I really needed to mount my Proton drive on my Linux machine the way I mounted it on my Mac, so I (and my faithful AI slave) did this small utility that allows you to mount your Proton Drive in a FUSE FS like if it is a local folder.

It's fully written in Go because Proton's drive SDK and API libs are all in Go, and there's a community project on top of the reverse engineered proton API there too. I am not a Go developer, I know the foundations, so of course I used AI quite a lot, I am not super proud of it, but I am using it daily and testing it myself for a few months before releasing here.

Hope you like it, feedbacks are welcome, just please be mindful of the person on the other side :)

friedtofu[11 comments hidden]
Proton Drive already has a CLI built with linux users in mind by the Proton AG team...

https://proton.me/business/drive/cli

https://proton.me/blog/proton-drive-cli

totallygeeky[2 comments hidden]
Why let things like "this thing already exists" get in the way of reinventing the wheel with AI?
hoppyhoppy2[hidden]
>Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes.

https://news.ycombinator.com/newsguidelines.html

beilabs[6 comments hidden]
Thanks for this. Been with Proton a while and they're not great at letting their customers know of new products. Either that or they are too successful at filtering their own marketing email.

To the OP: Proton is privacy first. I use their tools for a reason, trusting file transfer to a third party would never happen even with an open code base.

It's fine if the tool is for yourself, great for your CV and well done for shipping something. HN can at times be a cruel place, think of this as a learning experience.

Aquitard[3 comments hidden]
> great for your CV

Caveat I am not a SWE. Is there any value in having AI developed tools on your CV?

Insanity[hidden]
Before AI, it at most showed an interest in coding outside of work. There's a 'passion' element that might be interesting to recruiters but there's not much more to it than that.
suprjami[hidden]
Look at the amount of AI-required jobs advertised these days. If you really like driving agents, someone will absolutely pay you to do it.
Wilder7977[hidden]
They released it just few days ago (maybe 2 weeks or so). I personally got a mail in my inbox for the release, but maybe it's because I have left feedback about it or something. A very welcome news nevertheless!
jonny2811[hidden]
got the email on october first, just yesterday i switched my restic backups from hetzner storagebox to proton drive. works like a charm
Dylan16807[hidden]
A command line access tool is very different from a mounting tool.
cyberpunk[hidden]
I wish it was possible to pipe into it tho.

e.g tar -cf - * | <some unwieldly proton drive cmd>

I guess this is not possible due to the way the encryption works?

pluc[hidden]
> It's fully written in Go

> I am not a Go developer

what a time to be alive

thenewnewguy[2 comments hidden]
I don't really care what you do with AI on your own computer for yourself but top tier irony sharing this around with this post on your blog: https://blog.lsantos.dev/en/backlog-10-slopware-the-end-of-w...
jasonlotito[hidden]
Considering you ignore the other post on the subject, it's clear he came to terms with it. People's opinions evolve over time, and calling someone out for having an evolving viewpoint is anti-intellectual. I think it's perfectly fine to have an opinion one year and have something else the next year, and not feel the need to delete your old writings.

I don't know, I find growth and learning important.

Why are you opposed to changing your mind?

butz[3 comments hidden]
If Proton got their devs together for a two week internal hackathon, they could build a very simple Proton client for Linux that would match functionality of Dropbox and quickly gain a lot of new customers. And make existing customers very happy thus creating free publicity to attract even more customers. Alas, their priorities are trying to upsell unnecessary products to their existing customers and not providing products they actually want. And I am saying all this as a paying Proton customer.
mickael-kerjean[2 comments hidden]
I work in this space with my oss work on Filestash, and its sync client https://github.com/mickael-kerjean/fdrive. A proper sync client is nowhere near a two week hackathon unless you vibe code it and don't have much care. I've been on it for 6 months and it's far from finished. Linux alone has a fragmentation problem. The sync engine can be shared, but the integration can't: tray, status, file manager overlays and notifications all work differently on GNOME, KDE, COSMIC, Omarchy, Sway. Electron looks out of place everywhere, so you end up maintaining one frontend per desktop, plus packaging for each distro. Then there's the sync itself, which is a long tail of edge cases, often platform specific. Last week I optimised the rm -rf case, FUSE hands you one unlink per file, so a folder with 10k files becomes 10k API calls unless you do clever things. Today, I've tried to optimise thumbnails, problem is the file manager opens every file in a folder just to render previews, so browsing a directory of videos can easily get uggly as well, let's not talk about the state of atomic save which if you are not clever here too will create multiple files on your server and waste bandwiths. There are many dozens of these edge cases just on linux and that's before you tackle window, mac, android, how do you handle delta sync ....
butz[hidden]
My "two week" estimate was too sarcastic. Thank you for detailed explanation about all the problems and challenges that comes up when building a file sync client. I really admire your attention to detail while trying to correctly integrate the sync engine in all different file clients.
spectraldrift[hidden]
This is great! I recently started working on a privacy-first MCP server for proton mail, calendar and drive, written in rust that supports optional pseudonomization of identifiers in the data: https://github.com/matt-w-horn/protonctl

Supports mac and linux, but the linux part could use a bit more work.

drdexebtjl[3 comments hidden]
What’s wrong with `rclone mount`?
DavideNL[hidden]
Wait, you can mount your Proton Drive with rclone? Hah, never knew. It's in Beta apparently though: https://rclone.org/protondrive/
edarchis[hidden]
Isn't rclone copying everything rsync style (at least for Proton) ?
dunb[hidden]
What does this offer over using rclone? If it’s not significant functionality, why not make pull requests there?
redlewel[hidden]
Good on OP for being transparent with how it was built
bigstrat2003[2 comments hidden]
There is no way I'm going to entrust my data to a vibe coded tool. Sorry man, you seem proud of it but it's a nonstarter for me.
ramon156[hidden]
> I'm not even super proud of it

well, scrap that

mtlmtlmtlmtl[3 comments hidden]
Last time I tried ProtonDrive(years ago), the speeds were complete dogshit, I could barely surpass 10 MB/s on a half gig fibre line. Anyone used it recently, and if so has it improved?
Grombobulous[hidden]
I’m not a customer and don’t know but IIRC they’ve been rewriting the storage API or whatever it is and it should resolve that exact problem.
Tistron[hidden]
Not sure, but that would explain how Google photos are always in sync and proton drive is always backing up my photos with 50-70 items to go (with no way to see which pictures/videos are backed up). Often their VPN will prevent even their own sevices from working and I have to reconnect manually to make it work. Never had these issues with mullvad.

I'm generally not very happy with proton's services or apps. When this year of my payment is over I'll be switching away.