TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Shadow: New browser engine made almost entirely in JavaScript

462 pointsby awesomeklingover 1 year ago

40 comments

EvanAndersonover 1 year ago
There&#x27;s a product here that&#x27;s been waiting to happen for awhile. I&#x27;ve been anticipating somebody cross-compiling another browser engine to WASM but this works, too.<p>Deliver your site only to the &quot;inner browser&quot; (that the user has no control over because it&#x27;s heavily obfuscated and tricked-out with anti-debugging code) and you eliminate all ad blockers. Throw some DNS-over-HTTPS w&#x2F; certificate pinning in for good measure and you kill DNS-based ad blockers too.<p>Accessibility will be a challenge but if it sells that&#x27;ll get &quot;fixed&quot;.<p>(I think this idea is evil, BTW, but somebody is going to do it.)<p>Edit: As an aside this needs to go here, too. <a href="https:&#x2F;&#x2F;www.destroyallsoftware.com&#x2F;talks&#x2F;the-birth-and-death-of-javascript" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.destroyallsoftware.com&#x2F;talks&#x2F;the-birth-and-death...</a>
评论 #38046402 未加载
评论 #38045039 未加载
评论 #38044081 未加载
评论 #38044986 未加载
评论 #38044719 未加载
评论 #38050447 未加载
评论 #38044889 未加载
评论 #38044145 未加载
评论 #38044865 未加载
评论 #38044981 未加载
评论 #38045031 未加载
评论 #38047836 未加载
评论 #38046054 未加载
评论 #38044786 未加载
评论 #38045182 未加载
评论 #38045913 未加载
评论 #38043937 未加载
评论 #38047643 未加载
评论 #38047080 未加载
评论 #38046385 未加载
评论 #38046615 未加载
评论 #38045989 未加载
评论 #38047412 未加载
评论 #38045435 未加载
quelsolaarover 1 year ago
When desktop applications running in electron, just doesnt have enough web abstraction to keep up with mores law, a hero comes along, to ensure there can always be one more level of java script between you and a responsive UI.
评论 #38044756 未加载
DarkNova6over 1 year ago
This guy knows his audience well. He answers the question of &quot;but why?&quot; in the first sentence:<p>&gt; So I started making a browser engine (for fun) a few days ago, it felt kind of inevitable so here we are<p>And I got to admit, it is pretty neat.
评论 #38045493 未加载
评论 #38044486 未加载
评论 #38046704 未加载
评论 #38043266 未加载
_Algernon_over 1 year ago
The inevitable question then: Can you run this browser engine within itself, and if so, how many layers deep can you get before the universe implodes?
评论 #38043389 未加载
klysmover 1 year ago
We are sorely lacking inner browser virtualization. This way web pages can virtualize other web pages internally via canvas and get true micro-front ends! Every component can be fully isolated from every other component and they will communicate via network requests to each other
评论 #38044842 未加载
评论 #38044322 未加载
评论 #38043868 未加载
syrusakbaryover 1 year ago
This is an incredible feat. Also, love the attitude<p><pre><code> &gt; But making a new browser engine is impossible! No. It. Isn’t! (Also I don’t really care how possible&#x2F;feasible something is.)</code></pre>
mjflover 1 year ago
Why do people love JavaScript and want everything written in it?
评论 #38045920 未加载
评论 #38047128 未加载
评论 #38046146 未加载
评论 #38046061 未加载
评论 #38046427 未加载
评论 #38045907 未加载
b800hover 1 year ago
I&#x27;m sorry. Obligatory:<p>&quot;Yo dawg, I heard you like browsing, so we put a browser in your browser so you can browse while you browse&quot;
taddevriesover 1 year ago
&quot;Who knows what lurks in the hearts of [browsers]? The Shadow knows.&quot;
CodeCompostover 1 year ago
<a href="https:&#x2F;&#x2F;shadow.goose.icu&#x2F;?http:&#x2F;&#x2F;acid3.acidtests.org&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;shadow.goose.icu&#x2F;?http:&#x2F;&#x2F;acid3.acidtests.org&#x2F;</a>
mattlondonover 1 year ago
I also recently did something similar just for fun - my target was to render HTML 3 or perhaps 4.<p>Aim: fun and perhaps learn something about how layout works.<p>You can get surprisingly far quite quickly with JavaScript and &lt;canvas&gt;<p>At least for mine, I got text wrapping and scrolling working :)
DemocracyFTW2over 1 year ago
Pretty much the solution to better browsing that I&#x27;ve been thinking of for some time and of course never managed to even start about implementing it (or believing I could or should): have one browser &#x2F; hidden level get all web pages complete with all the bad stuff (or at least the required cookies and advertising) left in, then give the user a sanitized view of that. Note you could do things like rendering obnoxious play-on-load videos as subdued stills that still allow the user to click on to view if they feel inclined; also should be possible to somehow cut the ads out of YT videos with some more work, and YT wouldn&#x27;t know (the way it should be).
peter_d_shermanover 1 year ago
First of all, looks awesome!<p>Second: I&#x27;d love to be able to see it access Wikipedia!<p>(Wikipedia should be a fairly &quot;low-hanging fruit&quot; in terms of functionality that must be implemented to achieve compatibility -- if I were writing a web browser, I&#x27;d always start with Wikipedia compatibility first, then once that has been obtained, move on to more challenging, technologically complex sites... But that being said, Wikipedia is probably a bit more complex these days than when it was first implemented... still, it would be a great &quot;win&quot; to be able to browse Wikipedia with it!)<p>Anyway, wishing you great luck with your browser!
评论 #38063623 未加载
bobajeffover 1 year ago
I think it&#x27;s pretty cool. Maybe browsers are the kind of thing that should be written in s high level language like js. Except for the JavaScript engine of course.
评论 #38046010 未加载
评论 #38063531 未加载
orangepurpleover 1 year ago
Are we one step closer to using a VNC client to access services on the Internet?
Pr0ject217over 1 year ago
I don&#x27;t think it&#x27;s working for me (none of the keybinds work, and I don&#x27;t see the fps counter). Brave, script-blocking disabled.
评论 #38043297 未加载
评论 #38043294 未加载
notoranditover 1 year ago
Wrong title. An almost complete web engine written in JavaScript.
jameslkover 1 year ago
There’s something really beautiful about creating a browser that can run in a browser. We can finally steamroll a lot of those cross browser incompatibilities by replacing the host browser engine entirely. It’s like the nuclear option to fight against the new IE (Safari)
评论 #38043506 未加载
评论 #38043977 未加载
评论 #38045282 未加载
评论 #38044127 未加载
评论 #38043959 未加载
yencabulatorover 1 year ago
&gt; rendering backend (`&lt;canvas&gt;`) [...] you&#x27;re using it right now!<p>Yup, looks like canvas for sure, can&#x27;t copy-paste anything and all the lines are clipped because it&#x27;s not even conforming to my window size.
raytopiaover 1 year ago
Cool project! Reminds me of Grail <a href="https:&#x2F;&#x2F;grail.sourceforge.net&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;grail.sourceforge.net&#x2F;</a> which was written entirely in Python.
评论 #38046311 未加载
评论 #38045119 未加载
throwaway888abcover 1 year ago
&gt;So I started making a browser engine (for fun) a few days ago<p>Lovely opening quote and by my own hobby project procrastinate high bar allow me to wonder when the &quot;few days ago&quot; exactly were ?<p>Great project
mmsimangaover 1 year ago
Turtles all the way down
评论 #38044423 未加载
jsightover 1 year ago
There must be a term for this sort of situation.<p>Something about coming full circle, but that full circle is inside of a dumpster fire.<p>Also, I love this. This is fine.
评论 #38046334 未加载
darklycan51over 1 year ago
I thank everyone who uses chrome&#x2F;chromium derivatives for such a great technology possibly being adopted by every browser as a standard.<p>Goodbye World wide web, it was nice knowing you.
评论 #38048778 未加载
issaframover 1 year ago
It&#x27;s incredibly slow and that isn&#x27;t surprising
Aardwolfover 1 year ago
First of all, very neat!<p>Text selection doesn&#x27;t work. I guess it&#x27;s rendered to canvas... but would there be any way to make this work?
评论 #38043489 未加载
3seashellsover 1 year ago
Every Innovation, in its last dying motions becomes the world, the operating system, the compiler, the browser
uoaeiover 1 year ago
Opening up not just a can but a whole writhing pit of worms with regard to security vulnerabilities.
评论 #38044824 未加载
biugbkifcjkover 1 year ago
Should add the browser for SerenityOS to the examples of new browser engines.
评论 #38045058 未加载
doublerabbitover 1 year ago
FreeBSD, FireFox 115.0 - Fails.<p>I get a page of White and Black and &lt;shadow&gt; as a title.
jagged-chiselover 1 year ago
&gt; Name<p>&gt; As with all my recent projects, the name is because …<p>This makes me whisper the name in my head
gorenbover 1 year ago
Stroustroup&#x27;s website uses this? What is this thing? <i>Why</i>
username135over 1 year ago
Built in JS, hard pass.
err4ntover 1 year ago
Absolutely love it, it&#x27;s already perfect!
NetOpWibbyover 1 year ago
Brilliant. I love this so much.
Almondsetatover 1 year ago
A shadow of the former self
tlarkworthyover 1 year ago
Might be useful for VR
gavinsyanceyover 1 year ago
I can&#x27;t seem to get it to work. Just shows a white screen, sometimes with a black bar over the bottom half-ish of the screen. Tried in Firefox, Chrome, and Safari and see the same thing.
Beijingerover 1 year ago
Nice. But I would have preferred if he had worked on Uzbl<p><a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Uzbl" rel="nofollow noreferrer">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Uzbl</a>
评论 #38043439 未加载
O1111OOOover 1 year ago
The fonts look terrible in LibreWolf and the FPS is only ~60. LibreWolf is also extension heavy. My default zoom on a page is 120% on a 1080 screen.<p>It doesn&#x27;t load in (updated) Firefox, which is interesting. It only shows that the FPS is around 60. Not as many extension (vs LibreWolf). I rarely use FF (opting for LibreWolf).<p>On Brave (no extensions at all, except built in protections), the site runs at ~121FPS and the fonts look normal enough (no zoom, page at 100%). Fonts continue to look fine even when I zoom to 150% or higher.<p>I expected that my CPU temp would increase, maybe the fans might kick in... nothing. Cool as a cucumber. I have 4 browsers all opened on this page.<p>Interesting project. I read what @EvanAnderson wrote (evil software). I tend to agree. Respectfully, I don&#x27;t see how this would be used. Browsers that already run JS don&#x27;t need this. Browser that need this usually don&#x27;t run JS (fails on Dillo, NetSurf, Lynx for example).
评论 #38045296 未加载