Seems like the docs are a bit lacking at the moment, but if you open the terminal and change directories to (in your case) "~/Downloads/gmvault-v1.0-beta/bin" and then run "./gmvault" it should work.
Hi thanks for the feedback. I will try to use the py2app application. If the binary version doesn't work, you also do a standard python installation (http://gmvault.org/install.html#py_install).
Thanks for the feedback. I have not tested deployment on Vista but on WinXP and Win7. You didn't need to be an admin as far as I saw.
The integration in the menu,showing up in the installed program as well as uninstall is in the version 1.1 that should be released next week.
I wanted to see if some people would be interested by such tool.
On Vista64: made it through all install screens. No desktop shortcut (even though I asked for one), had to nav to install dir to find it. Ran uninstall and it only did a partial uninstall (I've still got a gunky folder in program files).
Thanks I fixed it. Sorry for the premature launch I think it was somehow a mistake (too early) but I needed a boost to be sure that I was doing something useful.
Gmvault is a tool entirely dedicated to Gmail so it will recreate your account exactly as it was. Standard imap backuping tool like OfflineIMAP do not preserve labels when restoring emails on an imap server because your have to use a Gmail specific extension.
For example it will take care of the Gmail labels and will recreate them when restoring the emails on an account.
More features are available. Check the documentation.
Apparently, it also backs up Gmail specific stuff like labels. Which is nice, but if Gmail every bites you in the ass so hard that this is the only way to recover, would you trust Gmail again?
As for myself, I just imap my Gmail accounts and don't use those features exactly to avoid that kind of lock-in. I've used too many email services and clients in my lifetime to assume Google is the final solution. And safeguarding my mail offline with imap works just fine.
As an OfflineIMAP user, I see a few immediate differences:
1. OfflineIMAP expects standard IMAP servers. GMVault has special casing to handle Google's wonky IMAP support, along with features like labels and the "All Mail" directory.
2. OfflineIMAP is GPLv2 (or 3, at your option). GMVault is GPLv3.
3. OfflineIMAP syncs to either a local Maildir or another IMAP server. GMVault syncs to its own custom on-disk representation.
4. OfflineIMAP uses a username/password to log in to servers. GMVault uses XOAuth.
5. OfflineIMAP is fully bi-directional by default; local deletion propagates to the remote server. GMVault notes that "manually deleting emails or emails' directories does not prevent Gmvault from working."
6. GMVault can encrypt its own archives. OfflineIMAP cannot.
Basically, GMVault looks like a much less general-purpose tool, but in its specialization, should allow for a much nicer experience for users that simply want a backup for their GMail account.
I'm fond of the versatility that OfflineIMAP gives me (I can restore my mail to any IMAP server, not just GMail; I can access the local Maildir with other applications like Dovecot and Mutt; etc.), but excited about the possibilities of GMVault for friends and family.
"Do you have your GMail backed up? No? Here, let me install GMVault for you..."
it is only to backup specific target labels (or imap directories). If you ever restore your Gmail account with OfflineIMAP then I think that you will loose partly this information. I would say the purpose of these tools is different.
Yes it has these kind of mechanisms are embedded:
If there is an error in the middle of a syncing then Gmvault will wait few seconds and try to restart the current operation. After 4 attempts it will leave in error. Gmail imap servers can start to throttle the transfer and also cut the connection.
Gmvault also has a restart mode (option --restart) to restart where it was. Actually up to 20 emails before because Gmvault save its "position" (email id synced or restored sucessfully) regularly.
What do you mean? By default, both Thunderbird and Mail.app should fully download and locally save an archive of your mail.
To verify this in Thunderbird, check out Tools -> Account Settings, then go to the "Synchronization & Storage" page. Make sure it's set to "Keep messages for this accounts on this computer," "Synchronize all messages locally regardless of age," and "Don't delete any messages." You can click the "Advanced..." button if you only want to sync certain folders.
To force a sync, you can go to File -> Offline -> Download/Sync Now, but you shouldn't ever have to do that with the above settings.
Great tool, awesome work. Gmail should really offer a link to backup your mail though. I know you can do it with mail clients and this, but its annoying I cant just download one big zip file from gmail itself.
I hope they'll eventually do this too. They have this *Data Liberation Front" (http://www.dataliberation.org/), from where you can already download some data in simple zip files.
I imagine (and I'm not speaking for my employer here) that it has to do with cost: if the easiest way to backup your email is by using IMAP or POP, it's essentially an incremental backup mechanism. If the easiest way to backup your email is by clicking a link which contains all your email in a .zip file, it would be a non-incremental backup system and its cost would be much higher, because people would be far more likely to repeatedly download the same emails.
Maybe there could be a few options? Download all mail, download by month, download by year? Seems like they could solve that problem pretty easily and would be very awesome.
I don't think it would. That would then be something I would have to set up reminders for and then what if I forget it for a few days? I would have to remember when I last backed up and set that as the starting date. Of course google could remember that for me but we're now getting closer and closer to what IMAP already does better.
Offering different zipfiles for months/years wouldn't solve the problem. "The problem" is that when you have hundreds of millions of users, the easiest mechanism needs to be an efficient mechanism. Adding links for months/years would still leave the easiest mechanism as the least efficient: I know that I, personally, would continue to download the "all mail" zipfile just to ensure that I didn't miss anything. I cannot imagine my mother or grandmother doing anything different.
When I first set up offlineimap, it downloaded my entire account history on the first day - I'm not sure how that would be less expensive than a single zip file to download on that same day too.
I imagine that most people would download their entire e-mail history, stick with what they know, and re-download their entire history week after week.
Sure, but it would be easy to wrap that inside a Google 'download my data' tool' only downloaded the diff of all your data (not just email) and provided that in compressed form.
I'd prefer the direct zip, sure, but I'm just saying that it's not inconceivable.
You can argue that's it not technically inconcievable but if anyone were to implement it this way, it would likely become a nightmare of usability and broken expectations.
If I'm 'downloading' or otherwise 'exporting' data from any service, I expect it to be all the data. Not a diff wrt the last time I clicked the button.
I guess installing an email client is a hassle. But in Outlook and Thunderbird (at least), it really is that easy. You just put in your email address and password and it will start downloading automatically.
Backups are only as useful as the 'restore' strategy. If I had a zip of all my email somewhere I wouldn't really know what to do with it (and it'd be obsolete pretty quickly).
I mainly use Gmail via IMAP (and the web version when I need to set up filters). Therefore, I'm intrigued that folks seem to be interested in a 1-click-download kind of solution.
You can always create different Google accounts for each service. My "main" account (Reader, Youtube, etc) was never tied to my Gmail & Calendar account, and the probability of losing both at the same time is rather small.
Not as small as you may think. Do you really believe that Google can't connect the dots (or the IP addresses) and figure out that both accounts are associated with the same person?
Granted this isn't working for me to begin with (http://i.imgur.com/yLzyy.png), but will this tool work to archive Google Apps email accounts? eg. Gmail accounts that do not end in gmail.com?
please gglanzani and weiran. Send me your errors or create an issue in https://github.com/gaubert/gmvault/issues
I would appreciate to have the logs with the debug activated:
./gmvault sync foo.bar@gmail.com --debug
At the beginning of the bash script gmvault there is a variable called GMVAULT_HOME. If instead of .. you had the full path to the gmvault-v1.0-beta dir that should work.
If there are more problem could you please run it like this:
$>sh -x ./gmvault sync ....
and send me the console print.
I will fix that in the next version. Thanks for the feedback
Still not working for me, I will send you an email. Thank you for working on this tool though - our company would gladly pay for an enterprise version of this (especially if it was a bit more seamless and integrated with Google Apps somehow).
if your tagline is "For geek and non-geek users." then you probably should not be depending on users to open a shell and type commands there to access their emails.
For this to be remotely useful for non-geeks, try adding a small IMAP server so people can access the mails through their mail clients. Having to re-upload all mail back to a (presumably new) gmail account will take ages and accessing the mails locally is not really helpful these days with mime encoding and HTML email.
On a related note: If you have a small box with a PTR record laying around somewhere, you can use my setup described at http://pilif.github.com/2011/02/how-i-back-up-gmail/ to route all incoming and outgoing mail through a mail server you own as it moves to and from gmail.
If you ever lose your google account or its data, all mails will be on your small box in convenient maildir format, ready to be served over IMAP.
Thanks for the comment.
Yeah the "for geek and non-geek" is a bit premature. I would like to create a gui for the tool that will be for non geek.
Regarding your second points, currently Gmvault is a tool to backup your Gmail account and restore it into a Gmail account preserving labels and unread emails, etc.
The Gmail web interface I think is the premiere interface for Gmail and with Gmvault, I want to offer to users a "safety belt for Gmail" (backup and incremental backup) and allow them to restore all your emails as they were in the Gmail web interface.
I really hate being called a geek. I associate it with bullying and social exclusion. It may be OK to be a geek in Silicon Valley, but that's not true everywhere.
If you bring that line back, please replace it with 'For techies and non-techies' or similar.
> try adding a small IMAP server so people can access the mails through their mail clients. Having to re-upload all mail back to a (presumably new) gmail account will take ages and accessing the mails locally is not really helpful these days with mime encoding and HTML email.
One of the stated purposes of this tool is to "liberate your emails" by letting you keep local copies of every e-mail you send and receive. If you need to use a third-party IMAP server to keep a backup of your e-mails, how does that liberate you? Now you're dependent on two online services instead of one.
Reading locally stored e-mails would be a problem for non-geeks, though. But I think the right way to solve that problem would be to offer a program to read those e-mails, or even better, a plugin to a popular mail client (such as Thunderbird) so that the e-mails can be accessed through the mail client. Depending on the "cloud" just detracts from the stated purpose of this tool.
I wasn't talking about a third party IMAP server. I was talking about adding an IMAP darmon right in the backup application itself.
That way, if your google account goes away (I guess we all agree that administrative account lockout is way more likely than google actually losing data) and you need an email RIGHT NOW, you would just configure any imap client to use the daemon provided by the backup application (localhost:143)
Or it could bundle some web based mail client and then open a browser.
It's impractical to reupload the whole backup to gmail before being able to access your mail.
Thanks for the clarification, it seems that I misunderstood your comment. A local IMAP server would fit right into my suggestion of mail client integration, without the headache of writing a plugin.
But now you've got a background process running on a privileged port, yikes! (It's got to be a daemon that starts automatically, because "non-geeks" will not understand why they have to start another program before accessing their mail in Thunderbird.)
You could still be running on an unprivileged port and bundle a preconfigured thunderbird. Or you run on an unprivileged port and bundle some webmail solution (the localhost:143 was just for illustration)
Better option (IMNSHO), if someone wants to read the email they don't REALLY care if it's as an email. So a reader application that parses the DL'd file so that you can do rudimentary search, find what you want, and then copy/paste as necessary.
> Now you're dependent on two online services instead of one.
I think you're misunderstanding pilif's comment. That "small IMAP server" would run locally on your box, which gets you to the goal of having any standard mail client read the archive.
However, if I recall correctly, Python's built-in SSL support doesn't do certificate verification, so you're still completely open to man in the middle attacks.
Yes of course. Date, Gmail labels and IMAP flags (READ, UNREAD, ...) are preserved.
Otherwise it is a bug so please refer to http://gmvault.org/report_pb.html
Crappy design + twitter bootstrap default = tab closed. If you are serious about releasing a product ffs make sure it's polished. If the attention to detail I see in the splash page is similar to the attention to detail in the actual product (which is what I assume automatically), my faith in it is close to zero.
This is ESPECIALLY important when I'm authorizing you with access to my emails -- and there is no way I would do that for someone that I assume is not serious about their product.
This seems to be an unpopular idea but I completely agree. I don't mind the Bootstrap default theme, but the icon is bad enough that I lose trust in it.
The main issue, for me, is that "Gmvault Gmail Backup" and the logo are unbalanced. The logo is too big, and its colors could be more sophisticated. If those things were cleaned up it would look fine (unless you're allergic to boostrap).
I think you are misjudging. What if he spent a lot of time in the product making sure it works well without too much care for "shininess"? If anything, using twitter bootstrap shows that he cared a bit to make it look usable from a splash site point of view. I think we should give feedback on how the product is actually working rather than complaining that he's using twitter bootstrap.
Thanks for the support. I am not a designer, I am not working full time on this product and my free time is quite limited. Still I spent lots of time designing the logo. I kind of like it as it is very simple and tells you what the product is. Regarding the website, yes I used bootstrap because it is convenient and give you a good modern look quickly. I am not a web designer and didn't want to spend 60% of my project time on that part. For the moment I prefer to spend more time on the tool itself.
If somebody wants to help to improve the website and the documentation please contact me.
You left out the part where you were swirling your wine in its glass and adjusting your top hat while angling your nose sharply toward the sky.
HN is a place where lots of launches happen. A place where open mindedness is a plus. Seriously.. if this is actually your attitude, you might miss some cool things. Take a step away from the hive mindset every now and then.
There's no hive mindset here - I just looked at the page, noticed that it had really poor and sloppy design, and assumed that it was a poor and sloppy product. It's called 'judging a book by it's cover' and is something that everyone does automatically (regardless of the classic advice).
Craigslist aside, you'll be hard pressed to find a successful product that has no attention paid to design whatsoever. Design is important, and it makes me really sad to see it neglected, and so many people supporting not caring about design here (as indicated by comments like this and downvotes)
Design is important, but this project has a decent design, your prejudice against Bootstrap -which I'm pretty sure most people don't share- notwithstanding.
The typography is decent, the utility of the project is immediately understood (without even having to scroll), the call to action is present and it's two clicks from the main page to having the application downloading.
You're advocating for "prettiness," which is frankly the least important part of design.
Wow, really surprised this was downvoted. Perhaps it came off as too judgmental and arrogant - if that's the case I very much apologize - didn't intend it to be like that. Just a little tough love : )
I thought people here valued polish and attention to detail... while this may or may not be a fine product, nobody can deny that there was absolutely no effort put into the design. This is really significant - all the downvotes here indicate to me "fuck design, we don't care how your product looks" which is really backwards for hacker news...
In my experience most open source tools like this have a sentence-long description on their sourceforge page or a brief introduction on their github repo, which puts this miles ahead in terms of design effort.
I think people familiar with command-line tools are already probably doing what I do, which is to use mbsync to sync a remote gmail imap account to a local maildir. It even easily supports multiple sync account/maildir pairs via its somewhat confusing config file format.
Wow, very cool! This is exactly what I needed right now. I had bad dreams about what would happen if my Google account disappeared all of the sudden, but didn't do anything about it yet. Now I will be able to sleep better!
Nop of course not. You can check the sources to be sure that Gmvault is only talking to Gmail. You can also use XOAuth (token security mechanism) to allow Gmvault accessing your account. This is by the way the recommended authentication way.
Just a few weeks ago I was looking for exactly this piece of software! What brilliant timing.
But a quick question of concern - gmail is pretty smart and can tell when I am just using it for bulk storage. If you send yourself 8 emails in a short amount of time, each with maximum sized attachment sizes, gmail will politely tell you to cut it out for a while.
Does this software run the same risk? I am wary to let it just keep barging in after connection errors, if there's a chance gmail will get upset and ban me from my own account. My gmail is my lifeblood, and I want to back it up from the entity that scares me the most of taking it away from me.
Well so far I've been doing many download and upload of my entire mailbox (5 GB) and the Gmail team did not contact me to tell me to slow down a bit. Sometimes (especially during the week-end ?) the connection was cut and I could had to wait to finish to restore my gmail account.
Nice tool!
I think the default sync interface should show a progress bar (like wget). Now it says: Processing 7890 emails, but then it prints a line for every email. I don't need to see every email in a list, but I would like to see how long it takes to complete.
Update: I see it does print that every once in a while. I would skip the other lines... :)
"After that Gmvault will automatically authenticate itself using the credentials stored in $HOME/.gmvault (or %HOME%/.gmvault for Windows). " how are the credentials stored offline?
the release on HackerNews is a bit premature. I wanted to test the response and was not expecting so much interest.
I will fix the deployment issues on Linux and Mac OS X.
You can download the tgz and run a michael said.
You can also use easy_install or pip. It is on Pypi
Create a virtualenv as it is better and do:
pip install gmvault (or easy_install gmvault)
No resume functionality? Or am I just missing something? I've got ~3 GB of emails in my Gmail, and GVault's ETA is 4 hours.
It already timed-out once (no discernable reason), and after restarting, went right to email number 1 (forgetting about the 1800 emails it had already gotten through).
Thanks for the feedback.
There is a restart functionality use the --restart option (see gmvault sync -h for more info).
Also note that when you restart from scratch, if the email has already been downloaded and is identical then the download is not performed. So only scanning the mailbox is faster than having downloads.
Regarding the timeout, please send me the error message you had and if it is a bug I will fix it but note that sometimes Gmail cut the connection without any reasons. There is also a retry reconnect process (up to 4 times) if it is not a fatal error (cannot recover from them).
148 comments
[ 2.3 ms ] story [ 91.2 ms ] threadOSX has some niceties for python apps, you could use py2app to make it an actual binary rather than a folder or bundlebuilder.
http://i.imgur.com/yLzyy.png
That should work if python is on your path.
- Require admin for installer (http://msdn.microsoft.com/en-us/library/bb756929.aspx)
- Add to Start Menu
- Doesn't show up in my installed programs list = no standard way to uninstall
I just came back and started to perform a backup. I think you should, too. This is insurance.
For the author: the link from the "Learn More" is broken. It should probably point to install, not documentation.
As for myself, I just imap my Gmail accounts and don't use those features exactly to avoid that kind of lock-in. I've used too many email services and clients in my lifetime to assume Google is the final solution. And safeguarding my mail offline with imap works just fine.
1. OfflineIMAP expects standard IMAP servers. GMVault has special casing to handle Google's wonky IMAP support, along with features like labels and the "All Mail" directory.
2. OfflineIMAP is GPLv2 (or 3, at your option). GMVault is GPLv3.
3. OfflineIMAP syncs to either a local Maildir or another IMAP server. GMVault syncs to its own custom on-disk representation.
4. OfflineIMAP uses a username/password to log in to servers. GMVault uses XOAuth.
5. OfflineIMAP is fully bi-directional by default; local deletion propagates to the remote server. GMVault notes that "manually deleting emails or emails' directories does not prevent Gmvault from working."
6. GMVault can encrypt its own archives. OfflineIMAP cannot.
Basically, GMVault looks like a much less general-purpose tool, but in its specialization, should allow for a much nicer experience for users that simply want a backup for their GMail account.
I'm fond of the versatility that OfflineIMAP gives me (I can restore my mail to any IMAP server, not just GMail; I can access the local Maildir with other applications like Dovecot and Mutt; etc.), but excited about the possibilities of GMVault for friends and family.
"Do you have your GMail backed up? No? Here, let me install GMVault for you..."
http://docs.offlineimap.org/en/latest/MANUAL.html#sync-from-...
To verify this in Thunderbird, check out Tools -> Account Settings, then go to the "Synchronization & Storage" page. Make sure it's set to "Keep messages for this accounts on this computer," "Synchronize all messages locally regardless of age," and "Don't delete any messages." You can click the "Advanced..." button if you only want to sync certain folders.
To force a sync, you can go to File -> Offline -> Download/Sync Now, but you shouldn't ever have to do that with the above settings.
I'd prefer the direct zip, sure, but I'm just saying that it's not inconceivable.
If I'm 'downloading' or otherwise 'exporting' data from any service, I expect it to be all the data. Not a diff wrt the last time I clicked the button.
However, clicking "download backup now" is a very easy 1 click operation, and I can just store that zip file wherever I want. Done.
I mainly use Gmail via IMAP (and the web version when I need to set up filters). Therefore, I'm intrigued that folks seem to be interested in a 1-click-download kind of solution.
Solution: set 'Show in IMAP' in Settings->Labels->All Mail on gmail.com
https://github.com/gaubert/gmvault/issues/2#issuecomment-555...
Surely the back-up should protect you in case you lose access to your Google account...
However, I bet some people do use google drive to back-up other google services. It's not ironic, just foolish IMO.
I will fix that in the next version. Thanks for the feedback
For this to be remotely useful for non-geeks, try adding a small IMAP server so people can access the mails through their mail clients. Having to re-upload all mail back to a (presumably new) gmail account will take ages and accessing the mails locally is not really helpful these days with mime encoding and HTML email.
On a related note: If you have a small box with a PTR record laying around somewhere, you can use my setup described at http://pilif.github.com/2011/02/how-i-back-up-gmail/ to route all incoming and outgoing mail through a mail server you own as it moves to and from gmail.
If you ever lose your google account or its data, all mails will be on your small box in convenient maildir format, ready to be served over IMAP.
If you bring that line back, please replace it with 'For techies and non-techies' or similar.
One of the stated purposes of this tool is to "liberate your emails" by letting you keep local copies of every e-mail you send and receive. If you need to use a third-party IMAP server to keep a backup of your e-mails, how does that liberate you? Now you're dependent on two online services instead of one.
Reading locally stored e-mails would be a problem for non-geeks, though. But I think the right way to solve that problem would be to offer a program to read those e-mails, or even better, a plugin to a popular mail client (such as Thunderbird) so that the e-mails can be accessed through the mail client. Depending on the "cloud" just detracts from the stated purpose of this tool.
That way, if your google account goes away (I guess we all agree that administrative account lockout is way more likely than google actually losing data) and you need an email RIGHT NOW, you would just configure any imap client to use the daemon provided by the backup application (localhost:143)
Or it could bundle some web based mail client and then open a browser.
It's impractical to reupload the whole backup to gmail before being able to access your mail.
But now you've got a background process running on a privileged port, yikes! (It's got to be a daemon that starts automatically, because "non-geeks" will not understand why they have to start another program before accessing their mail in Thunderbird.)
I think you're misunderstanding pilif's comment. That "small IMAP server" would run locally on your box, which gets you to the goal of having any standard mail client read the archive.
However, if I recall correctly, Python's built-in SSL support doesn't do certificate verification, so you're still completely open to man in the middle attacks.
(To the author) See http://stackoverflow.com/questions/1087227/validate-ssl-cert... for multiple options to accomplish this.
This is ESPECIALLY important when I'm authorizing you with access to my emails -- and there is no way I would do that for someone that I assume is not serious about their product.
If somebody wants to help to improve the website and the documentation please contact me.
HN is a place where lots of launches happen. A place where open mindedness is a plus. Seriously.. if this is actually your attitude, you might miss some cool things. Take a step away from the hive mindset every now and then.
Craigslist aside, you'll be hard pressed to find a successful product that has no attention paid to design whatsoever. Design is important, and it makes me really sad to see it neglected, and so many people supporting not caring about design here (as indicated by comments like this and downvotes)
The typography is decent, the utility of the project is immediately understood (without even having to scroll), the call to action is present and it's two clicks from the main page to having the application downloading.
You're advocating for "prettiness," which is frankly the least important part of design.
I thought people here valued polish and attention to detail... while this may or may not be a fine product, nobody can deny that there was absolutely no effort put into the design. This is really significant - all the downvotes here indicate to me "fuck design, we don't care how your product looks" which is really backwards for hacker news...
http://isync.sourceforge.net/mbsync.html
But a quick question of concern - gmail is pretty smart and can tell when I am just using it for bulk storage. If you send yourself 8 emails in a short amount of time, each with maximum sized attachment sizes, gmail will politely tell you to cut it out for a while.
Does this software run the same risk? I am wary to let it just keep barging in after connection errors, if there's a chance gmail will get upset and ban me from my own account. My gmail is my lifeblood, and I want to back it up from the entity that scares me the most of taking it away from me.
Thanks for making this!!
(It stores each mail in two separate files: a .eml file with the message body, and a .meta file with metadata.)
1. Download the tgz and unzip.
2. Create and activate a new virtualenv in that directory.
3. easy_install -U distribute (in my case, the version of distribute installed by pip was too old for imapclient)
3. pip install logbook gdata imapclient
4. Replace bin/gmvault with the following
You can also use easy_install or pip. It is on Pypi Create a virtualenv as it is better and do: pip install gmvault (or easy_install gmvault)
See http://gmvault.org/install.html#py_install for further info
It already timed-out once (no discernable reason), and after restarting, went right to email number 1 (forgetting about the 1800 emails it had already gotten through).
Regarding the timeout, please send me the error message you had and if it is a bug I will fix it but note that sometimes Gmail cut the connection without any reasons. There is also a retry reconnect process (up to 4 times) if it is not a fatal error (cannot recover from them).
https://github.com/gaubert/gmvault/issues/4
(Issue number 4 on the github project.)
I added my output to the issue.
I'm on Gmvault v1.0-beta from pypi. It doesn't recognize the --restart option. "gmvault: error: unrecognized arguments: --restart"