

Show HN: Use image hosts for general file hosting - NotUncivil
https://github.com/notuncivil/host-as-image

======
jonascopenhagen
I don't understand the need for this. Hosting 10 GB costs $1 per month on
Rackspace Cloud Files and even less on Amazon S3.

Secondly, if you use a paid service you don't need to run your files through
scripts to upload them, and you don't risk the files being taken down by the
image host admins.

Also, while hosting non-image files on image file hosts technically might not
be illegal, it still essentially is abusing a free service. Do you really want
to be that guy?

~~~
networked
>I don't understand the need for this.

The killer app for this would likely be data leaks and piracy.

>while hosting non-image files on image file hosts technically might not be
illegal, it still essentially is abusing a free service

Those _are_ image files, just not ones meant to be directly viewed by humans.
I wonder how many image hosts explicitly forbid such images from being hosted
in their ToS. If the idea behind this spreads I would expect many of them to
do so.

Edit: IANAL, but I wonder if it would be hard to define legally what exactly
those images are. If you say they're images not meant for human viewing, well,
what about a photograph of a printed QR code? It need not _only_ show a QR
code; it can be an otherwise aesthetically pleasing picture that also features
a QR code somewhere. Same with this encoding technology: what happens if
instead of dedicating the whole picture to the encoded binary data you embed
it in a larger artistic image?

~~~
csense
You're thinking of _steganography_ [1], hiding the _existence_ of information
in an image (or other medium).

I'm aware of at least one case where Russian spies were known to have actually
passed messages this way: "they embedded coded texts in ordinary-looking
images posted on the Internet," according to the NYT [2].

[1] <http://en.wikipedia.org/wiki/Steganography>

[2]
[http://topics.nytimes.com/top/reference/timestopics/subjects...](http://topics.nytimes.com/top/reference/timestopics/subjects/r/russian_spy_ring_2010/index.html)

~~~
networked
>You're thinking of steganography

Not quite. Having a QR code featured in a photograph isn't steganography since
the existence of information is hardly hidden at all. Rather than hiding the
information's existence what I'm considering here is how you could make it
legally difficult to unequivocally prohibit spreading information that's in
plain sight (think "Free Speech Flag" [1]).

[1] <https://en.wikipedia.org/wiki/File:Free-speech-flag.svg>

------
csense
This is utterly trivial.

The s2png program can be written in about 5 minutes by anyone with a good
image library in any language. You didn't even write the program yourself, you
linked to a Sourceforge project, labeled version 0.01, that hasn't been
touched in seven years.

And I don't understand: What exactly is the value-add of your Github project?
It 7zips the files and handles splitting and merging of large files?

And wait...you actually had to use Wine for this? Try apt-cache search libgd
and you'll find the (single!) dependency is already packaged (at least on
Linux Mint 14, which I presume means these packages also exist on most Ubuntu-
or Debian-like systems):

    
    
        sudo apt-get install libgd2-xpm-dev libgd2-xpm

~~~
NotUncivil
>It 7zips the files and handles splitting and merging of large files?

Yes. It also handles the uploading and the downloading.

>Try apt-cache search libgd and you'll find the (single!) dependency is
already packaged

If you actually try to compile and run s2png you'll see that it segfaults when
you compile it in Ubuntu 12.10 (so also in Linux Mint 14) and 12.04, probably
because it was written with libgd1 in mind. I had a few people try it and it
only compiled to a usable binary in Fedora.

------
johnsoft
I peeked at the code behind s2png, and this doesn't do what you might think
from the title. It just copies the data byte-for-byte into the pixels of a PNG
image, and when you want the original file back, you need to use the same
utility to decode the image.

Still a fun little project though.

------
t0
Wont it cause an error for being an invalid image? Have you tested this?

~~~
mischanix
I think the method behind s2png is converting binary data to RGB(A) pixel
data, so the result should be a perfectly valid (albeit weird-looking) image.
As a bonus, you automatically gain Zlib compression of your data through this
method.

