Encrypted Library: Filenames




i was wondering how Seafile Server saves the Filenames of an encrypted library so I digged into the data files. As I use sqlite as “Backend” I checked this one first. There was no information about any filename. But I found in the table “VirtualRepo” some folder paths to shared directories. This is ok because the libraries aren’t encrypted.
But in the “commits” directory there are at least some information in each commit description about filenames inside encrypted libraries.
So my question is: Is it possible to retrieve (all) filenames of an encrypted library without the encryption key?
Why are the commit descriptions of an encrypted library readable?



Hi @Garfield,
Seafile encrypt only file content blocks. So contents of file are not readable but file’s metadata are. You can access update date, filename etc.
You should be able download library’s file tree without decryption of library over API.


Hmm, what a pity. For security reasons this shouldn’t be possible. I don’t want anyone to be able to get any information about my encrypted data. It should be like an encrypted disk with all meta data is encrypted, too (like TrueCrypt and others). Is there anything planned?


I don’t know if developers have something in roadmap with that. But I think it’s not possible by implementation.