Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

EdgeDeflector

8 views
Skip to first unread message

Ninou

unread,
May 8, 2021, 11:59:55 AM5/8/21
to
EdgeDeflector is a small helper application that intercepts URIs that
force-open web links in Microsoft Edge and redirects it to the
system’s default web browser. This allows you to use Windows features
like the Cortana assistant and built-in help links with the browser of
your choice instead of being forced to use Microsoft Edge. With
EdgeDeflector, you’re free to use Firefox, Google Chrome, or whatever
your favorite web browser might be!

You’ll never see EdgeDeflector ever again after installing it. It does
its thing transparently in the background and only runs when a link
needs to be deflected away from Microsoft Edge.

https://github.com/da2x/EdgeDeflector
--
Ninou
Gratilog, le catalogue des logiciels gratuits
http://www.gratilog.net/

VanguardLH

unread,
May 8, 2021, 3:24:57 PM5/8/21
to
Ninou <sylvie....@free.fr> wrote:

> EdgeDeflector is a small helper application that intercepts URIs that
> force-open web links in Microsoft Edge and redirects it to the
> system’s default web browser. This allows you to use Windows features
> like the Cortana assistant and built-in help links with the browser of
> your choice instead of being forced to use Microsoft Edge. With
> EdgeDeflector, you’re free to use Firefox, Google Chrome, or whatever
> your favorite web browser might be!
>
> You’ll never see EdgeDeflector ever again after installing it. It does
> its thing transparently in the background and only runs when a link
> needs to be deflected away from Microsoft Edge.
>
> https://github.com/da2x/EdgeDeflector

I've been using that one for many months, maybe a year. After
installation, you'll see it listed as a choice under Default Apps ->
"Choose default apps by protocol" -> MICROSOFT-EDGE.

Saying users are getting redirected is misleading. When you use
http(s)://, ftp://, mailto://, and other URLs, you are not getting
redirected. You are specifying the URL string, and the registry defines
which handler to use for that URL. Same for the microsoft-edge:// URL.
For microsoft-edge://, it is defined in the registry at:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\microsoft-edge

After installing EdgeDeflector, the UserChoice subkey has a ProgID data
item with value of "EdgeUriDeflector". Because this entry is under the
HKCU hive, the change only applies to the Windows account under which
the user was logged into when they installed EdgeDeflector. If you want
it effective under other Windows accounts, you'll have to log into those
to install EdgeDeflector, too.

The above key specifies the EdgeDeflector handler, which is defined at:

HKEY_CLASSES_ROOT\EdgeUriDeflector

Its shell-> open -> command subkey specifies to use EdgeDeflector.exe as
the handler (for microsoft-edge:// URLs). That then loads whatever is
currently specified as the default web browser. So, the redirection is
not by using microsoft-edge:// to use whatever handler was assigned to
it (normally the Edge web browser), but to change the URL to load
EdgeDeflector.exe which then redirects to the current default web
browser. It's EdgeDeflector that is doing the redirection, not the
microsoft-edge:// URL.

The redirection by EdgeDeflector is by changing, in the registry, who is
the handler for microsoft-edge:// URLs. That's all. If the URL
specifies http:// then the handler for that URL gets used. Only if a
hyperlink in a [web] document specifies microsoft-edge:// will
EdgeDeflector get used to intercept (replace) the URL association. For
all other URLs (http://, https://), EdgeDeflector is not involved.

No idea why EdgeDeflector.exe must get installed. All that would be
needed is to run a tool that makes the registry changes. No software
(to intervene in URL association) is required. It could've just made
registry changes to redefine the microsoft-edge: URL protocol to specify
whatever was the current default web browser. That is, it could've been
just a tweaker that had 2 options: Associate microsoft-edge: URLs to
default web browser, and Revert to default microsoft-edge: URL handler
(Edge). Whichever you choose would make the appropriate registry edits.

I figured out all the above on my own to see how EdgeDeflector works.
Maybe it wasn't mentioned at the Github probject site before, but now
there is a link to:

https://www.ctrl.blog/entry/edgedeflector-default-browser.html

which explains how it works, but only as an overview, not the details
mentioned above. It still does not explain why modifying the URL
protocol to point at the current default web browser would not work, and
instead wants to install an intervening .exe to redirect the
microsoft-edge:// URLs to the current default web browser. After all,
the microsoft-edge:// protocol is defined in the registry as are other
handlers for other URLs. Instead of its registry edits pointing at
EdgeDeflector.exe, why couldn't the:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\Shell\Associations\UrlAssociations\microsoft-edge

registry key point to whatever is the current default web browser?

Custom URL protocols is not unique to Microsoft. Symantec, and other
companies, have used custom URL protocols for decades. The first time I
came across this scheme was with some Norton product which was coded as
an HTA (HTML Application) for its GUI configuration tool, and custom
URLs were defined that would open their GUI tool. I've seen users that
defined their own custom URL protocol to, for example, load an editor or
IDE and pointing to a file (which gets passed using the %1 environment
variable). Anyone can define a custom URL protocol, including
Microsoft. It's just registry entries, and they aren't even protected
with permissions, so anyone could run a tweaker that edited those custom
URLs. No idea when the author of EdgeDeflector wants to to intercept
the microsoft-edge: URL with his own .exe instead of just editing the
registry (which he already does) to point directly at the current
default web browser.

John C.

unread,
May 9, 2021, 2:21:15 PM5/9/21
to
It might be that the .exe monitors the registry to see if W10 changes
the setting back to pointing at Edge, and if it sees that this has
happened will change it back to pointing to the desired default browser.

Just spit-balling here though.

--
John C. BS206. No ad, CD, commercial, cripple, demo, nag, pirated,
share, spy, time-limited, trial or web wares for me please. I filter out
posts made from Google Groups and cross-posted (sent to more than one
newsgroup at a time) messages. I recommend you do likewise.
0 new messages