Chrome doesn't open automatically magnet links anymore

25,037

Solution 1

From a reddit post:

Some time ago Chrome removed the checkbox to "always open" a magnet or torrent link with an external app like qBittorrent.

This was done for security reasons and it may return at some point in the future, once developers have found a way to make it more clear to users what the risks are of allowing certain links to parse whatever data the creator of the link wants to an app (that may be poorly coded) and also once there's some sort of user interface to manage these permissions (up till now you can only undo those permissions by going to "Clear Browsing Data > Cookies and other site data", which makes no sense).

Anyway long story short, you can re-enable the option to have whatever link always be handled by its corresponding app, which saves you a lot of clicking on that stupid confirmation box for every magnet or torrent link you want to download.

Depending on the browser you use (Edge, Chrome or Chromium), add the proper line to your Windows registry. You can do this by saving the code below as a .reg file, for example ShowExternalProtocolWarningBypassCheckbox.reg. Or you can do it manually using regedit.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge]
"ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome]
"ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Chromium]
"ExternalProtocolDialogShowAlwaysOpenCheckbox"=dword:00000001

This has been tested on Google Chrome 79 running on Windows 10 Version 1909. There is no need to reboot, just close all instances of Chrome, run the .reg file or make the edits with regedit, then fire up Chrome again.

Now click a magnet link, check the box to always open them in qBittorrent and enjoy single-click downloads once again!

Source where I found all this info: https://textslashplain.com/2019/08/29/web-to-app-communication-app-protocols/

Original Reddit post: https://www.reddit.com/r/qBittorrent/comments/ewxq5o

Solution 2

There are two protocol_handler keys in the Preferences json object.

{
  ...
  "profile": {
    "avatar_bubble_tutorial_shown": 2,
    "avatar_index": 26,
    "blacklisted_credentials_normalized": true,
    "content_settings": {
      ...
      "ppapi_broker": {},
      "protocol_handler": {},
      "sensors": {},
      ...
    },
  "protocol_handler": {
    "excluded_schemes": {
      "magnet": false
    }
  },
  ...
}

Make sure to modifiy the one at the root. If you modify the one in the profile, it will be renamed to protocol_handler,* and considered invalid.

Solution 3

The accepted answer didn't work for me. I found a better solution, at least for Windows.

Create a .reg file (I opened a blank file in Notepad, put in the following, and saved it as 'Fix Chrome Magnet Links.reg', then ran it and restarted Chrome). Contents should be:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\URLWhitelist]
"1"="magnet:*"

Tested and working. With a bit of luck it will keep working across multiple Chrome updates, and is much easier to install.

This solution is adapted from https://t-e.cc/google-chrome-no-longer-displays-always-open-these-types-of-links-in-the-associated-app-checkbox-fix/

Solution 4

Ok, I solved this: instead of changing "protocol_handler":{} to "protocol_handler":{"excluded_schemes":{"magnet":false}}, I left it unchanged and added "protocol_handler":{"excluded_schemes":{"magnet":false}} (having then two "protocol_handlers").

Edit: For this to work, you have to add "protocol_handler":{"excluded_schemes":{"magnet":false}}, (with the final comma) after the initial { in C:\Users\Mauro\AppData\Local\Google\Chrome\User Data\[user]\Preferences. In other words, it needs to be at the root, and before the other "protocol_handler":{}.

Share:
25,037

Related videos on Youtube

Mauro
Author by

Mauro

Updated on September 18, 2022

Comments

  • Mauro
    Mauro almost 2 years

    I had to do a profile reset since the "Translate to" option in context menu stopped worked; after I did the reset, any time I open a magnet link instead of it automatically beginning downloading it asks every time to open my torrent manager.

    I know I have to go to Preferences file and change "protocol_handler":{} to "protocol_handler":{"excluded_schemes":{"magnet":false}}, and last time it worked, but this time it didn't work: if I open Chrome that changes to "protocol_handler":{"excluded_schemes,*":{"magnet":false}} (,* appears after schemes) and it doesn't work.

    If I use the Preference file of my old account that line doesn't change and it does work, but I lose the "Translate to" option.

    The handlers option in Chrome's settings is on.

    Not sure what's causing this, any idea?

    I'm using Chrome 77.0.3865.75 on Windows 10 1903 18362.356.

  • Stefan Somogyi
    Stefan Somogyi over 4 years
    Since Chrome 77, the changed the protocol handler part. Known Issue: support.google.com/chrome/thread/14194567?hl=en
  • James Carlyle-Clarke
    James Carlyle-Clarke over 4 years
    This didn't work for me. While looking for a way to make it work I found a better solution (see my answer). If anyone wants to get the 'protocol_handler' method working, perhaps try cadesalaberry's answer, or look at communities.vmware.com/thread/620083 which had some more info about where to place the protocol_handler.
  • James Carlyle-Clarke
    James Carlyle-Clarke over 4 years
    Maybe it should be in the 'local state' file, not the 'preferences' file (perhaps a Windows v Mac issue?) per superuser.com/questions/854237/… and support.google.com/chrome/forum/AAAAP1KN0B0nMwlLOWvoMM/?hl=s‌​v and some other pages I found.
  • Mauro
    Mauro over 4 years
    That's odd, I checked again and it worked; did you add "protocol_handler":{"excluded_schemes":{"magnet":false}}, (with the final comma) after the initial {?
  • James Carlyle-Clarke
    James Carlyle-Clarke over 4 years
    No, I had "protocol_handler":{}, "protocol_handler":{"excluded_schemes":{"magnet":false}} I believe
  • James Carlyle-Clarke
    James Carlyle-Clarke over 4 years
    Still, I prefer my solution because it requires less user knowledge or ability, there's no need to find the right folder and file and place within that file, just create a file and run it - and that's why I didn't explore your solution further, it's quite possible I could have got it to work if I had.
  • Mauro
    Mauro over 4 years
    Sure, no problem, I was just trying to understand why it didn't work, since for me it works. I edited the answer to make more clear how to implement it.
  • shahar eldad
    shahar eldad over 4 years
    Update to this (2020/02/26): I found only one protocol_handler in the file and it was inside the profile object. I added the second protocol_handler at the end of the json file right before the last closing bracket (thus having it in the root) and it still works (until the next time chrome team will destroy it).
  • Konrad Viltersten
    Konrad Viltersten about 4 years
    Weird... When I started regedit and went to the settings as you described, I see only Microsoft and Adobe sections under Policies. Nothing about Google or Chrome.
  • Julio Marchi
    Julio Marchi about 4 years
    This one answer worked for me after every single other failed. Thank you! My config is: Chrome Version 83.0.4103.97 (Official Build) (64-bit), Windows 10 Version 2004 (OS Build 19041.264)
  • Mike
    Mike almost 4 years
    The option is not working on Chrome Version 84.0.4147.89. Any suggestions?