Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is there a way to encode all files as pictures? #548

Open
0xFEEDC0DE64 opened this issue Apr 13, 2017 · 3 comments
Open

Is there a way to encode all files as pictures? #548

0xFEEDC0DE64 opened this issue Apr 13, 2017 · 3 comments

Comments

@0xFEEDC0DE64
Copy link

0xFEEDC0DE64 commented Apr 13, 2017

Amazon offers free unlimited storage for pictures (I tried file extensions jpeg, png and bmp).

Is there a way to implement a plugin the encodes all files before upload into pictures and does the opposite on download?

I implemented such a mechanism using c++ for use on local filesystem but I cant get it work using mounting acd_cli.

Not all pictures get written correctly (timeout and other errors) and so I cannot restore the original files from the pictures.

@bgemmill
Copy link

As a heads up, Amazon looks into files' contents. They process thumbnails for pictures and PDFs, provide previews for text files, and so on. If you're stuffing payload blobs into exif space, appending to the end of dummy jpgs, etc, they're probably going to notice.

The current (2017-04-14) rate of $60/year is one of the best out there for unlimited space; my advice is to buy it and use it normally :-)

@0xFEEDC0DE64
Copy link
Author

I know they are looking into the files. That's why I am encoding all the information into pixels. It is a 100% valid picture. If they compress it (into a lossy format like jpeg), i am screwed.

I am asking if this is possible using a plugin. I never wrote (or read) anything in python, but coming from c++ this shoud be possible, right?

@bgemmill
Copy link

I see, if you wanted the files as images, you may want to create your own Fuse filesystem and layer that on top of acdcli, in much the same way as the encrypting file systems mentioned in #374.

You'd have what's called an upper mount, where files appeared normally, and a lower mount, where the same files appeared as images. If the image lower mount were the same as acdcli's upper mount, your images would get stored on amazon.

A benefit of this approach is you can code it up in c++ if you're more familiar there.

If you wanted to do this in python, have a look at the loopback example to get fuse going:
https://github.com/terencehonles/fusepy/blob/master/examples/loopback.py
And the PIL for image manipulation:
https://python-pillow.org/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants