Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: dn – full-text search and archiving for your Chromium-based browser (github.com/dosyago)
33 points by keepamovin on Aug 23, 2024 | hide | past | favorite | 10 comments


Great idea, please consider adding Firefox compatibility. I'd love to use this but I don't use Chrome or its reskins.


Thank you.

I think this is okay as long as there is a compatible protocol. FF was supporting RDP/CDP for a while but recently shifted away in favor of WebDriver BiDi[0], which supports the methods required for dn[1], and now appears at parity support between Chrome and Firefox[2]

I imagine we'll get FF support in the latter half of this year.

0: https://fxdx.dev/deprecating-cdp-support-in-firefox-embracin...

1: https://w3c.github.io/webdriver-bidi/#module-network-command...

2: https://puppeteer.github.io/ispuppeteerwebdriverbidiready/


This has been updated to now work with all main chromium based browsers: brave, Vivaldi, edge and chrome.

Also the binary build process now uses Node’s built in support for single executable applications, rather than a legacy solution like pkg


It looks like this works by making the browser use dn as a local proxy. That should also work with non-chromium based browser right ? I guess it will then be necessary to configure the proxy manually.


Conceptually yes, but specifically it's implemented by intercepting the browser's internal fetch process. So it's like a "browser-internal" proxy -- or not a proxy at all.

You could do something similar with a proxy, but it may run into issues with HTTPS, which this gets around as we are beyond the terminator. In this way, you can serve the content, and save the content, via getting in the middle of the same fetch process and the browser doesn't know the difference (mostly).


What sort of API can be used for this? Is it a special proxy setting, extension or WebDriver client?


The network intercepting APIs. Right now we use CDP/RDP and the Fetch domain: https://chromedevtools.github.io/devtools-protocol/tot/Fetch...

There's also somewhat equivalent surface exposed by WebDriver BiDi: https://w3c.github.io/webdriver-bidi/#module-network-command...

If you want to read more about these sorts of protocols, see: https://firefox-source-docs.mozilla.org/remote/index.html


Thanks a lot!


I imagine a p2p internet mirror.


Yes, I want to expand it to that. I imagine with a helper server (or p2p service) that can serve your archive out to people you share it with.

You could even have the index available as well. I imagine like you can create an archive on a topic you're expert on, and then it's like a little subject-matter focused search engine and library for that. :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: