Ten fairly fair ways to wean the censor function of a large company product. (The 10th, the most practical way, except for its implementation (policy templates), is added to the end of the list.)
Starting from version 35 (35.0.1916.114 m),
as is known (English) , Google Chrome’s Windows browser has stopped supporting the installation of new and previously installed extensions that are not hosted in the Chrome WebStore. The same applies to all userscripts that are not located in this store. The group of Windows users is extensive, so new instructions are needed on how to deal with it. Fortunately, it does not threaten the linuxoids and makovods.
Story
The reasons for the restrictions are in the large scale of the spread of malicious extensions, which by simple installation instructions are being promoted on sites not controlled by Google.
')
What could be bad in installing extensions? First of all, if the script (extension or user script) starts working on the domain that contains user data, its confidential information, its passwords, login - all this becomes available to the script, and then only moral questions to the script developer determine whether it will merge He somewhere this data. Despite some difference between the Global Scope of the extension and the rest of the page, there is no problem to embed the script into the main page (even by loading an external variable script) and after that no longer differ from the page scripts. All that the owner of the site (domain) is responsible for user data is potentially obtained by the author of the extension or user script. About this constantly previously warned Google Chrome when trying to install a script or extension. It will be now, but with the difference that the default browser will install extensions only from the
Google WebStore .
Now to install extensions you need to use more sophisticated techniques to get around new obstacles. There are options. For corporate users of special extensions, there is even the possibility in various OSs to “sign” the browser to allow downloading from a specific production site and even the ability to automatically download or update all the extensions necessary for an enterprise — when the browser is first installed or the next time it is launched.
The following text is intended for people who understand what the consequences of installing unverified Chrome extensions may be from a non-Google store.Options for circumventing restrictions
There are different ways: simple and complex, manual and automatic. Do not choose the first right away - perhaps the following simple one will suit you, or a way to change the browser (from the Webkit family). How convenient this or that method depends on the user's goals and on the actual reliability of various tricks, which will be tested only with time.
There are official
tips from Google for such cases, but there is not on one page and is incomplete.
Method 1, "do not pack, but you will not pack." The most honest, but not officially recommended. Unzip and install each extension unpacked. As a minus, with each new launch of the browser you will have to confirm that the extensions are installed consciously and you do not need to disable them (screenshot
leonid239 ).
The process of installing an unpacked extension in ChromeThis way it is possible to solve various cases of launching extensions and user scripts in the browser - both new and suddenly no longer working after an unmanaged browser update.
1.1.
Installing the extension downloaded from somewhere as a * .crx file1.1.1. First open the
chrome: // extensions / page and tick the “Developer mode” checkbox so that the buttons for installing and updating extensions appear.
1.1.2. Take the extension file with the ending “CRX”, rename the ending to “ZIP” and unpack the resulting archive into a folder (made, for example, in a shared folder for extensions created for this purpose. Example: c: \ myFiles \ chromeExtensions \
habrajax ).
1.1.3. Install the unpacked extension from the folder by clicking on the button “Download unpacked extension”, then select the directory in which it is unpacked (it is convenient to simply enter the path to the folder in the folder name field, then Enter, than to go with the mouse, choosing the path).
1.2.
Installing user script - file with * .user.js extensionThe user script will have to be formatted as a simple extension - “blind” from the
* .user.js file and manifest.json
manifest file, which is based on a template in which you manually replace several fields, so that you can read the description of the user script in the list of extensions ( version, description. Then put both files in the same named folder as in section 1.1.2.
All this is generated automatically by throwing the extension file to the
chrome: // extensions page, as before. Only the extension will not work, and still it will be necessary to proceed to the unpacked extension in section 1.3.1. The manual process is described to understand the simplicity and interconnection of user script and extension.
1.2.1. Download and get the user script file with the extension
* .user.js .
1.2.2. Prepare a folder, for example, c: \ myFiles \ chromeExtensions \
habrPercentageRing \, in which you put the * .user.js file.
1.2.3. At the beginning of the user script file see the script directives - lines of the form
and fill in with the data (in place of the ellipsis) the template in the
manifest.json file, which is created in the same new folder.
Procurement (template) file
manifest.json :
{ "content_scripts": [ { "exclude_globs": [ "_____exclude_" ], "exclude_matches": [ ], "include_globs": [ "_____include_" ], "js": [ "__.js" ], "matches": [ "http://*/*", "https://*/*" ], "run_at": "document_idle" } ], "converted_from_user_script": true, "description": "__", "key": "__ ", "name": "__", "version": "__", "manifest_version": 2 }
(the replaced words are written in one word with underscores, so that it would be convenient to select in editors with a double click) ;
number_user_descript - up to 4 numbers not more than 32767, separated by dots.
luser_file_name.js_name is the name of the script file located next to the manifest.json file
all_domains_and_path_of_include_directives - each in quotes, separated by commas, with all metacharacters like "*" - all the paths from the @include directives that are written at the beginning of the user script file;
all_domains_and_path_is_exclude_directives - the same for @exclude directives
Lines without replaceable words must be present in the manifest for the extension based on user script to work. All carefully entered data will help not to get confused in the list of installed extensions later on the
chrome: // extensions page.
1.2.4. Install the extension, as in section 1.1.3.
1.3.
Restore a previously installed extension or user scriptIf it turns out that the browser is "stupid" and disabled the previously installed extension, refusing to execute it further - it is not necessary to download and install it again.
1.3.1. Find a directory with this extension on the system disk (for example, in WinXP - in the directory C: \ Documents and Settings \ <username> \, in Win7 - C: \ Users \ <username> \ (
open hidden folders ) using a long code word of the type “gggcejmogjjjkpidlfinoaonmkpmegnn”, written after the word “ID:” in the extension description block.
1.3.2. Use the folder that the browser managed to do earlier for this extension or user script. Usually, in a subfolder there is a folder with the version number of the extension. Select the desired one and load it as an unpacked extension (you can simply paste the path to the folder in the
Browse for Folder field
- Folder ).
It is better, of course, to transfer folders with valuable extensions to another place (as in the previous examples, in c: \ myFiles \ chromeExtensions), otherwise if you delete the browser from the system (or user), they may be deleted.
1.3.3. This is not the end of adventures - in an extension made on the basis of user scripts, the line “manifest_version”: 2 may not be spelled out in the file manifest.json: 2, what the browser will say, refusing to install it. Prescribe
"manifest_version": 2,
in the first level of the JSON structure, this key-value pair.
1.3.4. Booted up? Now do not forget to check the box "Enable".
(end of options)After such installations, the list of extensions will display the path to the directory in which each unpacked extension is located. As a plus for developers, it will be extremely easy to modify it yourself. After modification, it will only be necessary to install it again via the “Load unpacked extension” button (hereinafter, select the directory in which it is unpacked). Even pre-delete the list is optional. The action is reduced to pressing 2 buttons, if the browser remembers the path to the extension directory. Or just click the “Update Extensions” button if you need to update everything.
Yes, the work is manual and meaningless - previously the browser did it. To avoid it, you need to use the "developer" version of the browser, in which you can still put users scripts by dragging or use other crutches and other ingenious difficulties. We list below the ways to ensure installation of extensions in other tricky ways.
If there is a desire to “improve” the script, turning it into an extension, adding new parameters to the manifest, then the important advantage of the user script will disappear - its possible cross-browser compatibility, when the same script can work in 3 browsers, including the old Opera. And in the 4th, Safari, if in the same simple way it can be made to look like an extension to Safari (by our own rules, which we will not describe here).
What else is characteristic - if you have a “legal” exactly the same Chrome extension from the WebStore with the same name and version, it will not be erased by the unpacked extension option, and both will work at the same time. One of them is wise to turn off to avoid unexpected overlay effects.
Method 2, "command line chemistry". Simple, but with an unknown duration of support. We'll have to run from a special shortcut (shortcut).
2.1 Start the browser from the command line with the parameter "--enable-easy-off-store-extension-install". This can be done from the console, but it is more convenient for the future - through a shortcut in which the parameter is appended. Example:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-easy-off-store-extension-install
2.2. If a shortcut was made with the parameter - launch the browser by clicking on it or using a combination of assigned keys. A non-launch is possible if, at the time of launch, the hidden process of the previously launched Chrome worked without a parameter (check and kill in the task manager, Ctrl-Shift-Esc). Hidden processes remain if the setting
“Keep applications running in the background after closing the browser” is set in the browser.
Method 3, "Registry Chemistry". Also simple, but with an unknown duration of support. According to reviews, it works in version 35.0.1916.114 m, but does not work in Chrome version 35.0.1916.153. It was described on 03/16/2014 at
http://my-chrome.ru/2014/03/yes-we-can/ . Some of them work in the updated versions older than 114 m, judging by the reviews, so the conditions for the operation have yet to be clarified.
3.1. For 64-bit Windows 7 in the registry on the path HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Google \ Update \ ClientState \ {8A69D345-D564-463C-AFF1-A69D9E530F96} instead of ap: "-multi-chrome" or "1.1-beta-multi -chrome "(type REG-SZ) value" 2.0-dev-multi-chrome "(without quotes):
For Win XP, the path will be: HKEY_LOCAL_MACHINE \ SOFTWARE \ Google \ Update \ ClientState \ {8A69D345-D564-463C-AFF1-A69D9E530F96}
3.2. Repeat the same for the folder {4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D} and the same parameter in it.
They write that this meaning can help: “2.0-Canary-multi-chrome”.
3.3. Restarting the browser, full, with the killing of hidden processes. A sign that the extensions began to work - the active checkbox to enable expansion.
(in this example, the cross-browser user script (for Habra) was taken directly from the Firefox folder, and manifest.json was added there, which reduced the number of script locations)3.4. Enable expansion by installing checkbox.
The meaning of the focus is that we inform the browser that this is supposedly the DEV version of the browser. He, as a side effect, begins to want to upgrade to the DEV version, as seen in the "About ..." pop-up.
If the registry did not find this path - try searching the registry for the value "multi-chrome" and replace all such finds.
Method 4, "Trojan horse in the store." We
put the SimpleExtManager extension, after which the settings in this extension can enable disabled checkboxes with the names of all extensions, regardless of their origin. Inadvertently this loophole turned out to be working. True, checkboxes will have to be turned on at every full (cold) launch of the browser. But still, there is a beautiful Trojan effect, albeit with a manual drive.
Method 5: even easier, but without prospects: install the old version of the Chrome browser and disable updates to it.
Since we are going to consider all the ways, we will consider the strangest ones. From a combination of two illogical actions, really - a solution is obtained. The first is illogical - doom yourself to an outdated browser. The second is illogical - disable updates. From the first there are holes in security, from the second - too. But extensions will live. Maybe someone will be satisfied with this too and someone has long dreamed of disabling Chrome updates, but still does not know how.
Old versions
to take from here .
To disable updates
suggest this batch file:
reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update" /v UpdateDefault /t REG_DWORD /d 0 /f reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update" /v AutoUpdateCheckPeriodMinutes /t REG_DWORD /d 0 /f reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update" /v DisableAutoUpdateChecksCheckboxValue /t REG_DWORD /d 1 /f reg ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update" /v Update{8A69D345-D564-463C-AFF1-A69D9E530F96} /t REG_DWORD /d 0 /f
Or
this option with the hosts file.
3rd way : in
chrome: // plugins / .
Method 6, “pretend to be a developer.” This opportunity left you Google. If you use the version of the browser downloaded from the Dev- or Canary-channel, there will be no limit on the performance of non-store extensions. Canary will not conflict with the stable Chrome version installed on the system.
The disadvantages are obviously the need to re-assemble your browser settings, and then monitor the versions and switch to new ones. Not all "life for the browser" is suitable.
Good Google promises not to prohibit the installation of extensions in the
Dev Channel and
Canary versions. Everything is logical here: developers, marginals go for experiments, and they know what the installation of untested extensions threatens. For others, it’s not a good idea to recommend it, because it looks like forced binding to untested, raw versions of the browser. Even the majority of developers do not need it - everyone has many other tasks and hobbies ... But, let's continue the parade of oddities.
Method 7, “think different”. Apple's fresh thought: “Why do we need Windows?”. Oh, how trite it is! Go to Mac or Linux.
Method 8, "think differently, but in Windows." Even so? Yes. Go to another browser based on Chromium. If he supports extensions, then he will not have extensions in the Google store.
The first candidate to choose is, of course,
Chromium : a browser that serves as the basis for Chrome, but without Google’s closed (in terms of codes and company policies) Google technologies.
Method 9, "be the boss." For the respected owners of corporate networks of enterprises (loudly said, but
everything is much simpler ) there is a way to have your own domain from which users can install extensions.
Method 10, “policy templates”. Translation and instructions will be the other day (06/27/2014), for now -
link (eng.) To the original sent by the reader
kvark (not from Habr). The method is complicated in setting up and prescribing each extension at the initial stage, but does not require, as in method 1, a confirmation at each launch of the browser.
Compared to the methods listed above, it’s better not to complicate your life if you don’t really need to adhere to the Chrome browser and enterprise policies for installing extensions.