19 ms·
Deploy a website on imgur.com
- 2Gkashmiri 5y agosweet. good job, only thing my firefox 91 on kde neon says does not support service worker but the demo video looks great
- pjmlp 5y agoFirefox 92 on Windows also not.
- 2Gkashmiri 5y agoand i am being downvoted for some reason ? sometimes i do not understand this community
- pjmlp 5y agoApparently it only happens in incognito. As for downvotes, just ignore them, there are pitchforks everywhere, not worthy to even spend one second thinking about.
- znpy 5y agoI opened the sample site in brave on mobile and it doesn't load. Meh.
- BiteCode_dev 5y agoAnd if you use png, the image could even display as a regular one on imgur.
- ggerganov 5y agoThis is pretty ingenious. I wonder what happens if you "host" illegal content in imgur with this?
- INTPenis 5y agoThat happens constantly. Imgur have to review all content uploaded, and you can also report it.
- BiteCode_dev 5y agoYes, but some img formats are valid even if the end of the file is garbage, meaning you could display a fully functional image, and still host a hidden content. Not easy to check.
- INTPenis 5y agoI see what you mean. In that case someone just has to report it to their abuse department. Eventually someone will locate the offensive image and trace it back to imgur. Even if they can't immediately see it, they can see the abuse reports and investigate. It's a hard life running an image uploading service. You have to wonder how much they're being payed in ad revenue.
- BiteCode_dev 5y agoI doubt most of the money comes from ad revenues. More likely, they get more cash from invisible PR campaigns, it's the same goal as ads, but more efficient since imgur user base think the content they see is 100% organic. And so probably sells for a lot more to bigger players.
- croshan 5y agoI think a big portion actually comes from image-hosting for other websites. Stack exchange, for example, uses Imgur for image hosting when you attach an image with your answer.
- rvba 5y agoWill imgur be able to detect this and remove it? Because it looks that many parties might try to abuse it: "free hosting". If anything is provided for free someone will come and ruin it...
- BiteCode_dev 5y agoimgur is already providing free hosting, and as FUSE over gmail driver have shown, it can be abuse, although it's not very practical, and it probably is. I mean, if you gotta serve a malware payload, you are not going to host it yourself, so hidding it in an image on a public website is a good strat.
- p4bl0 5y agoThis has all its place on hacker news because it is a fun hack, but it's not at all practical. Not only it doesn't work in all browsers even fairly recent ones (service workers), but even when it works it necessitates javascript enabled, and imposes a non negligible additional load time. And more importantly, with the way it is recommended to use it using 404.html file as a "catch all", it means all your pages are served as 404 errors, which can be a problem for a lot of things (starting with search engine indexing).
- dewey 5y ago> but even when it works it necessitates javascript enabled I think you are overestimating the number of people who have JS disabled outside of this website.
- JCVI-syn10 5y agoI've never worked on an enterprise-level site where there were greater than 1% of users with JS disabled or a percentage to make a dent in conversions
- BiteCode_dev 5y agoYes, but as you said it's fun, and it would actually be practical if you'd put the unpacking server side, as a way to save hard drive space. Or with a cli tool. It could even shard the content among several images as well, or create a FUSE driver for it. Combine it with webtorrent or a p2p webrtc cdn for additional coolness.
- speedgoose 5y agoRequiring javascript is fine in my opinion. Almost everyone has javascript enabled. And the few power users without javascript will enable it if they want to.
- oefrha 5y ago> with the way it is recommended to use it using 404.html file as a "catch all", it means all your pages are served as 404 errors That's due to GitHub Pages not having any rewrite mechanism other than the 404.html hack. You can host the same thing on Netlify/Vercel/any other host with proper rewrite support, including a server of your own, and not have this problem.
- metahost 5y agoTIL GitHub READMEs support video playbacks now.
- toastal 5y agoSourcehut does not—nor does it support SVG. If you need something animated, you must use animated PNG (APNG) or GIF.
- icy 5y agoNobody said anything about sourcehut though.
- toastal 5y agoDo they have to? HN always talks about alternatives in every article. It's a bit of perspective on what another Git forge is doing in case people were curious. I've been both upvoted and downvoted for the comment so someone found it interesting.
- jonathanlydall 5y ago> You can use image hosting sites as free CDNs to save bandwidth costs. It's not free for the image hosting sites. That being said, it's a cool util.
- baud147258 5y agoI'm pretty sure it's also against the TOS from the image hosting sites and they'll nuke the account if they realize it's the case
- peterburkimsher 5y agoThis is really great! There's an API to save images locally on most platforms, including mobile (Save To Camera Roll). If the image gets recompressed during sharing, is it still possible to decode the website from it? One of the problems I had when trying to build something like this in the past is that saving & sharing images was very lossy at the time. So I ended up using iCalendar and PDF attachments.
- _def 5y agonice. Reminds me of an semi popular image hoster which executed PHP code embedded as an EXIF comment >10 years ago. Fun times.
- lofties 5y agoGreat post, very fun project. A while back I wrote a blogpost[1] about using PNG chunk functionality to "hide" a arbitrary data in PNGs without it affecting the way a PNG is displayed. I'd love to see this being used together with this project. [1]https://blog.brian.jp/python/png/2016/07/07/file-fun-with-pyhon.html https://blog.brian.jp/python/png/2016/07/07/file-fun-with-py...
- danuker 5y agoFun fact: you can create binaries that can execute bit-for-bit on many platforms: https://justine.lol/ape.html https://justine.lol/ape.html
- drannex 5y agoI wrote this in another comment, but this is the same method Kingdom Hearts 3 used on the PC version for their save files. https://www.pcgamer.com/kingdom-hearts-pc-save-files-are-tucked-inside-cute-png-images-because-of-course-they-are/ https://www.pcgamer.com/kingdom-hearts-pc-save-files-are-tuc...
- punnerud 5y agoIf Imgur support HTTP-headers to get part of the image (byte range), then you can implement SQLite into the image. “Hosting SQLite databases on GitHub Pages or any static file hoster”: https://news.ycombinator.com/item?id=27016630 https://news.ycombinator.com/item?id=27016630
- FaceKicker 5y agoShameless plug of my old dead project: this is great, it reminds me of my Android app "Smozzy" which let you browse the web via SMS/MMS. I apparently posted it on HN exactly 10 years ago tomorrow! https://news.ycombinator.com/item?id=2976764 https://news.ycombinator.com/item?id=2976764
- pryelluw 5y agoI remember this! What have you been up to since?
- FaceKicker 5y agoThat was a summer project after my last semester of undergrad, posted at the beginning of my first semester in a PhD program in AI (lucky timing there). Graduated in 2017 and have been working in the field since.
- kgeist 5y agoI once had a silly idea of encoding all my data as images (and other possible formats) and storing them on various sites not designed for storing abitrary files such as imgur. For robustness, I'd need to store several copies on different sites, and run a tiny server which would make sure all data is still there and reupload if something was deleted.
- darumderum 5y agoYou could also do this with YouTube Videos btw. There is also a github project doing that iirc
- gus_massa 5y agoOne of my coworkers uploaded all his high resolutions photos to some site (probably Yahoo!Photos ???) and lost the local copy. He was surprised that the site only stored the photos at a lower resolution than the original files.
- bbarnett 5y agoHeh. Almost like having old style photos, you stored the negatives in grandma's garage, but they got wet and now have mold on them. You can still make out who's who in them. Sorta.
- gus_massa 5y agoIn a normal photo, after a resolution change and a lossy compression, you still have the photo. If you encode some binary data in a fake photo, after a resolution change and a lossy compression, you will only get garbage.
- sgtnoodle 5y agoIt depends on the encoding. If it's sufficiently low frequency and includes error correction, then your data could survive. You won't get very good efficiency though!
- 5y ago
- binwiederhier 5y agoThis reminds me of my (now dead) open source Dropbox alternative Syncany [1] and all the different storage plugins I made for it [2]. Long story short, a storage plugin only had to implement the API methods upload, download, list and delete, so you could literally use anything as a storage backend (FTP, SFTP, S3, WebDAV, ..). I made a few fun plugins that would encode data (after deduping, compressing and encrypting them) into PNG or BMP and store them on Flickr (which gave you 1TB of free storage for images) or Picasa (now Google Photos). It was actually relatively efficient and not slower than the other methods, and it looked super cool to have albums full of what looked like images of static. It was a blatant violation of their ToC, so obviously not serious. The code is still online, it's from 2014/2015. The Flickr plugin with the PNG encoder is here [3], and I'm not entirely sure if I ever published the Picasa one. [1] https://www.syncany.org/ https://www.syncany.org/ [2] https://github.com/syncany?q=plugin https://github.com/syncany?q=plugin [3] https://github.com/syncany/syncany-plugin-flickr/tree/develop/src/main/java/org/syncany/plugins/flickr https://github.com/syncany/syncany-plugin-flickr/tree/develo...
- franga2000 5y agoI love these kinds of hacks. I can't remember how exactly it worked, but I remember a program or maybe browser extension from back before Google Drive existed that used Gmail's then-generous email storage space to store files.
- rovr138 5y agoThe gspace extension! - https://www.ghacks.net/2007/03/07/gspace-firefox-extension/ https://www.ghacks.net/2007/03/07/gspace-firefox-extension/ I still have emails that I uploaded with it. Need to sit-down and look how that extension worked
- cartoonworld 5y agoAh yes, gmailfs[1] in 2004 used Linux FUSE (Filesystem in USEerspace) to translate local directories to your (at that time, rapidly and absurdly growing) GMAIL quota. FUSE let Linux do all kinds of interesting things. Forgot about this one, thanks! [1] DSLreports discussion from 2004 https://www.dslreports.com/forum/r11192502-GmailFS https://www.dslreports.com/forum/r11192502-GmailFS
- nobrains 5y agoNow put this on the Blockchain and you will have miners across the world hosting it for you.
- tantalor 5y agoDemo didn't work (chrome mobile)
- inetknght 5y ago> Web2Img is a tool to bundle your web files into a single image, and extract them via Service Worker at runtime. Oh too bad services workers and javascript are disabled. Your website won't load images then.
- kburman 5y agoYou can use reddit to simply paste the code and comments as a branch.
- barosl 5y agoI once made a music player similar to this. It converted music files into image files, and saved them to Flickr. One trick that I employed was that the output image files were also visually recognizable, featuring album covers and lyrics.[1][2] The way I used to hide information was pretty barbaric, but it was still a fun experiment. [1] https://www.flickr.com/photos/barosl/albums/72157633839713560 https://www.flickr.com/photos/barosl/albums/7215763383971356... [2] https://github.com/barosl/flickr-music-player https://github.com/barosl/flickr-music-player
- brnt 5y agoHaving the images show covert art is super clever and pratical!
- drannex 5y agoThis is similar to, but not exactly, how the PC port of Kingdom Hearts 3 used their save files: Image and data in one nice .png. https://www.pcgamer.com/kingdom-hearts-pc-save-files-are-tucked-inside-cute-png-images-because-of-course-they-are/ https://www.pcgamer.com/kingdom-hearts-pc-save-files-are-tuc...
- RodgerTheGreat 5y agoSounds like a great way to encourage Imgur to clamp down CORS and ruin the fun for everyone.
- deleted 5y ago[deleted]
- soheil 5y agoThere are countless other "free" image hosting services
- Sohcahtoa82 5y agoI'm surprised they haven't already. Imgur has really fallen over the years. It was first created by a redditor who was frustrated by how terrible free image hosts were at the time, like ImageShack and Photobucket. If an image hit the front page of reddit, it would very quickly turn into a "This image has reached its bandwidth limit", not to mention you usually couldn't directly link an image, and the image view page was riddled with ads. Over time, though, Imgur has tried to become a social network, and is trying to stop being the go-to place when you just want to host an image. But, to be fair, I don't really blame them. Image hosting gets expensive quickly, especially when everyone on reddit uses you. Of course, now reddit lets you post images directly to them, which on one hand, leads less traffic to Imgur, but on the other hand, the traffic going to Imgur is now more likely to see ads and browse the gallery, rather than just directly download an image.
- RodgerTheGreat 5y agoThis is the circle of life in image hosts. A new host emerges to address the sorry state of existing hosts, with a streamlined and straightforward path to uploading. Then the cold, hard reality begins to set in: you cannot make money as a dumb pipe that delivers user-supplied images. Monetization strategies begin subtly at first. Before you know it the site is desperately trying to sell your image on a coffee mug, or hijack links to display ads, or grow into a social networking site. Something- anything- that pivots away from straightforwardly posting images and linking to them. One day, some bold new creator sees the sorry state of existing hosts, recognizes an opening, and the cycle begins anew.
- soheil 5y agoIs it possible to implement this using css instead of js since css is turing complete?
- rpastuszak 5y agoSweet, how about hosting websites via Tweets? https://twitter.com/rafalpast/status/1316836397903474688?s=20 https://twitter.com/rafalpast/status/1316836397903474688?s=2...
- Ralo 5y agoI love fun projects like this! It seems like you're restricted to 5mb (Imgur's limit), perhaps there is a way to chain multiple images together? I wrote another project in the same scope [1] where it uses Discord files and compiles everything to a massive blob then splits it up into many smaller chunks, giving an (in theory) infinite upload cross domain. Seems to be still going strong. [1] https://github.com/5ut/DiskCord https://github.com/5ut/DiskCord
- legrande 5y agoYou could store stuff in URL shorteners, but I imagine that's against their terms. Also: how does this break Imgur's terms? If 'an image is just an image' I imagine it's okay to host websites in an Imgur abstraction layer, but I feel Imgur wouldn't be too happy about that. Obviously you wouldn't use this thing for anything super important
- gyvastis 5y agoUrl shorteners, brilliant!
- CR007 5y agoThis concept is old.. Back in the day we used this kind of techniques to sneak any kind of content in imageshack et all. Back then we didn't have Dropbox, online storage wasn't even a thing so we sneaked movies, software or anything in dozen of image files, hosted at plain sight. This was 20 years ago or so... So many memories!
- eerikkivistik 5y agoThis reminds me of some wonderful 90s web games. Before XHR, an early web game built for Disney used a .gif as a one-way websocket to stream data into the webpage. This is due to the fact, that a .gif animation can be as long as you want and a server can generate an infinite animation, where some frames have content that you want to push and others are empty frames. Or in other words, they were using primitive video streaming to encode relevant information within the frames.
- therein 5y agoSomething similar with APNG: https://www.da.vidbuchanan.co.uk/adamation/image.png https://www.da.vidbuchanan.co.uk/adamation/image.png
- Dylan16807 5y agoThat's demonstrating both server delays and a hacky way of updating a normal png. No apng there.
- dhms 5y agoInteresting, that reminds me of what somebody did to display an always up-to-date clock [1]. [1] https://news.ycombinator.com/item?id=14996715 https://news.ycombinator.com/item?id=14996715
- throaway46546 5y agoReminds me of using copy /B foo.gif+bar.zip foobar.gif on imageboards back in the day.
- AtlasBarfed 5y agoDon't these sites have a right to "reencode" your image as needed, which would destroy whatever carefully encoded data would be contained in it?
- Denatonium 5y agoThis reminds me of the time I got free data transfer on a major cellular carrier by writing a script that would take large files, split them into 1MB chunks, prepend a PNG header to them and send them through said carrier's email-to-MMS gateway (a corresponding script on my phone extracted the original file. My carrier's email-to-MMS gateway didn't re-encode images and I had an unlimited texting plan, so this was a nice setup. There was a de-facto transfer limit of 500MB/day (Gmail limits you to 500 emails a day, with 1MB/email, and the email-to-MMS gateway rate-limited smaller email servers after 100 messages)
- filmgirlcw 5y agoWhat a clever hack! The follow-up project freecdn [1] is even more robust, from what I can glean using Google Translate. This is one of those things I would almost certainly only play with for fun, but it’s so damn clever, I just love it. [1]: 635484