| ▲ | I Stored a Website in a Favicon(timwehrle.de) | ||||||||||||||||||||||||||||||||||
| 110 points by theanonymousone 4 hours ago | 33 comments | |||||||||||||||||||||||||||||||||||
| ▲ | Tepix 3 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||
Instead of going via pixels, why not use a SVG favicon and directly store markup inside it and extract it? Use this favicon.svg:
use this in your <head> to use a svg favicon:
finally, use this in your <body> to extract it and add it to your document body: | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | Walf 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
PNG has comment chunks tEXt, zTXt, and iTXt. You can have a completely normal image whose file is stuffed with as much content as you want. That is less fun, I suppose. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | sheept 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
You can use the favicon cache as storage too, by redirecting users across domains. It's been proposed as a potential fingerprinting risk[0], and if a browser naively reuses the cache for incognito mode, it could be used to track users across browser profiles. [0]: https://www.schneier.com/blog/archives/2021/02/browser-track... | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | jorisw 25 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Fun Fact: You can use any inline SVG for a favicon and keep it right in the HTML document. This also allows you to use an emoji directly as a favicon, like so:
(HN isn't showing the emoji) | |||||||||||||||||||||||||||||||||||
| ▲ | franciscop 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Is this timing coincidence? I just submitted 1h (30 mins before this) ago a website I just made about storing your stock porfolio in a URL + favicon! | |||||||||||||||||||||||||||||||||||
| ▲ | berkes 32 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
I'd imagine the (aggressive) caching of the favicon by browsers makes it a challenge, but you could generate the favicon dynamically, then have JS extract the sequentially. Basically streaming arbitraily large content to a webpage via favicons. Via blocks of 239 bytes. It may be a fun, novel way to proxy webpages that are otherwise blocked. Though, i guess, the service rendering the favicons can just as easily be blocked then. | |||||||||||||||||||||||||||||||||||
| ▲ | tetrisgm 27 minutes ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Love it. Did you see the old effort to store the page in the url? https://github.com/jstrieb/urlpages | |||||||||||||||||||||||||||||||||||
| ▲ | esquivalience 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
I found the agressively staccato, clearly LLM-generated content extremely difficult to read. | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | soanvig 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Honestly it didn't interest me, but I do remember from back in the days full websites rendered by a browser from... Empty files. https://mathiasbynens.be/notes/css-without-html | |||||||||||||||||||||||||||||||||||
| ▲ | beardyw 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
I would have used a minimal service worker to unpack the web data and present it as if it were just a normal page being loaded. | |||||||||||||||||||||||||||||||||||
| ▲ | superjose 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Pretty cool tbh!!! Would have loved seeing the decoder code!!! It's also pretty interesting to think how an attacker could exploit images on his behalf. Never thought that would be a way!!! Thanks! | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | bozdemir 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Very cool. I wonder is it possible to make a simple game with also leveraging the webassembly? | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||
| ▲ | neon_me an hour ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Is it cake? Game for devs. | |||||||||||||||||||||||||||||||||||
| ▲ | ab_wahab01 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Fascinating concept! Thanks for sharing this! | |||||||||||||||||||||||||||||||||||
| ▲ | scoot 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Would have been more fun if the blogpost was rendered from the favicon. | |||||||||||||||||||||||||||||||||||
| ▲ | fitsumbelay 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
very cool and interesting after reading just the title I wrongly assumed this would be about svg | |||||||||||||||||||||||||||||||||||
| ▲ | jibal 2 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||
Surprised that a minimal "website" only requires a small image = few pixels = few bytes to store it? Um, ok. | |||||||||||||||||||||||||||||||||||
| ▲ | shaharamir 2 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||
Amazing! | |||||||||||||||||||||||||||||||||||