Ausführen von Chrome-Erweiterungen, die nicht aus dem WebStore-Speicher stammen

  • Tutorial
Zehn ziemlich ehrliche Möglichkeiten, um die Zensurfunktion von einem Produkt eines großen Unternehmens zu entfernen. (Der 10., praktischste Weg, mit Ausnahme seiner Implementierung (Richtlinienvorlagen), wird am Ende der Liste

hinzugefügt.) Wie Sie wissen (Englisch) , wurde der Google Chrome-Browser für Windows ab Version 35 (35.0.1916.114 m) gestoppt Unterstützen Sie die Installation neuer und zuvor installierter Erweiterungen, die nicht im Chrome WebStore gehostet werden. Gleiches gilt für alle Benutzerskripte, die sich nicht in diesem Shop befinden. Die Windows-Benutzergruppe ist riesig, daher sind neue Anweisungen erforderlich, um damit umzugehen. Glücklicherweise bedroht es Linuxoids und Mohn nicht.


Die Geschichte



Die Gründe für die Einschränkungen liegen im großen Umfang der Verbreitung böswilliger Erweiterungen, die durch einfache Installationsanweisungen auf Websites beworben werden, die nicht von Google kontrolliert werden.

Was könnte an der Installation von Erweiterungen falsch sein? Erstens: Wenn ein Skript (Erweiterungs- oder Benutzerskript) in einer Domäne mit Benutzerdaten, vertraulichen Informationen, Kennwörtern und Anmeldeinformationen zu arbeiten beginnt, wird dies für das Skript verfügbar. Nur moralische Fragen an den Skriptentwickler bestimmen, ob es "zusammengeführt" wird. er irgendwo diese Daten. Trotz des geringfügigen Unterschieds zwischen der Global Scope-Erweiterung und dem Rest der Seite gibt es kein Problem beim Einbetten des Skripts in die Hauptseite (auch durch Laden eines externen veränderbaren Skripts). Danach gibt es keinen Unterschied zu den Seitenskripts. Alles, wofür der Eigentümer der Site (Domain) in Bezug auf Benutzerdaten verantwortlich ist, wird möglicherweise vom Autor der Erweiterung oder des Benutzerskripts empfangen. Google Chrome warnte ständig davor, wenn versucht wurde, ein Skript oder eine Erweiterung zu installieren. Dies wird jetzt der Fall sein, mit dem Unterschied, dass der Standardbrowser nur Erweiterungen aus dem Store installiertDer WebStore google .

Um nun Erweiterungen zu installieren, müssen Sie eine ausgefeiltere Technik anwenden, um neue Hindernisse zu umgehen. Es gibt Möglichkeiten. Für Unternehmensbenutzer von speziellen Erweiterungen gibt es sogar die Möglichkeit, in verschiedenen Betriebssystemen den Browser für die Erlaubnis zum Herunterladen von einer bestimmten Produktionsstätte zu "signieren" und sogar die Möglichkeit, alle für das Unternehmen erforderlichen Erweiterungen automatisch herunterzuladen oder zu aktualisieren - beim ersten Installieren des Browsers oder beim nächsten Start.

Der folgende Text richtet sich an Personen, die die Konsequenzen der Installation nicht verifizierter Chrome-Erweiterungen von außerhalb des Google-Stores kennen.

Problemumgehungen einschränken


Es gibt verschiedene Möglichkeiten: einfach und komplex, manuell und automatisch. Wählen Sie nicht gleich den ersten aus - Sie sind möglicherweise mit dem nächsten einfachen Verfahren oder dem Ändern des Browsers (aus der Webkit-Familie) zufrieden. Wie bequem diese oder jene Methode ist, hängt von den Zielen des Benutzers und der tatsächlichen Zuverlässigkeit verschiedener Tricks ab, die nur mit der Zeit überprüft werden.

Es gibt offizielle Tipps von Google für solche Fälle, diese sind jedoch nicht auf einer Seite enthalten und unvollständig.

Methode 1: "Packen Sie nicht, aber Sie werden nicht gepackt." Am ehrlichsten, aber nicht offiziell empfohlen. Entpacken und installieren Sie jede entpackte Erweiterung. Als Minus müssen Sie bei jedem Neustart des Browsers bestätigen, dass die Erweiterungen bewusst installiert wurden und nicht deaktiviert werden müssen (Screenshot leonid239 ).


Der Prozess der Installation der entpackten Erweiterung in Chrome Auf

diese Weise können verschiedene Fälle behoben werden, in denen Erweiterungen und Benutzerskripts im Browser gestartet werden - sowohl neue als auch solche, die nach einem nicht verwalteten Browser-Update plötzlich nicht mehr funktionieren.

1.1. Installation der von irgendwoher heruntergeladenen Erweiterung in Form einer * .crx

1.1.1- Datei . Öffnen Sie zunächst die Seite chrome: // extensions / und aktivieren Sie das Kontrollkästchen "Entwicklermodus", damit die Schaltflächen zum Installieren und Aktualisieren von Erweiterungen angezeigt werden.

1.1.2. Nehmen Sie die Erweiterungsdatei mit der Endung „CRX“, benennen Sie die Endung in „ZIP“ um und entpacken Sie das resultierende Archiv in einen Ordner (z. B. im freigegebenen Ordner für die zu diesem Zweck erstellten Erweiterungen. Beispiel: c: \ myFiles \ chromeExtensions \ habrajax ).

1.1.3. Installieren Sie die entpackte Erweiterung aus dem Ordner, indem Sie auf die Schaltfläche "Entpackte Erweiterung herunterladen" klicken und dann das Verzeichnis auswählen, in das sie entpackt wurde (es ist praktisch, einfach den Pfad zum Ordner in das Feld "Name" des Ordners einzugeben und dann die Eingabetaste zu drücken, um mit der Maus den Pfad auszuwählen).

1.2. Installieren eines Benutzerskripts - eine Datei mit der Erweiterung * .user.js

Sie müssen ein Benutzerskript als einfache Erweiterung entwerfen - aus der Datei * .user.js und der Manifestdatei manifest.json , auf deren Grundlage Sie eine Vorlage erstellen können , in der Sie dann mehrere Felder manuell ersetzen können In der Liste der Erweiterungen war es praktisch, die Beschreibung des Benutzerskripts (Name, Version, Beschreibung) zu lesen. Legen Sie dann beide Dateien in den gleichen Ordner wie in Abschnitt 1.1.2.

All dies wird automatisch generiert, indem die Erweiterungsdatei wie zuvor auf die Seite chrome: // extensions geworfen wird . Sobald die Erweiterung nicht mehr funktioniert, muss mit der entpackten Erweiterung gemäß S. ​​1.3.1 fortgefahren werden. Der manuelle Prozess wird beschrieben, um die Einfachheit und Beziehung von Benutzerskript und Erweiterung zu verstehen.

1.2.1. Laden Sie eine Benutzerskriptdatei mit der Erweiterung * .user.js herunter und laden Sie sie herunter .

1.2.2. Bereiten Sie einen Ordner vor, z. B. c: \ myFiles \ chromeExtensions \ habrPercentageRing \, in den die Datei * .user.js abgelegt werden soll.

1.2.3. Am Anfang der Benutzerskriptdatei finden Sie die Skriptanweisungen - Zeilen des Formulars
// @name ...
// @version ...
// @description ...
// @include ... (может быть несколько)
// @exclude ... (может быть несколько)

und geben Sie die Datenvorlage (anstelle der Auslassungspunkte) in die Datei manifest.json ein , die Sie im selben neuen Ordner erstellen.

Vorbereitung (Vorlage) der Datei 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
}

(Austauschbar Worte in einem Wort mit einem Unterstrich geschrieben werden, war es bequem in den Editor mit einem Doppelklick zuzuteilen) ;
user_version_number - bis zu 4 Zahlen, maximal 32767, durch Punkte getrennt.
user_file_file_name.js ist der Name der Skriptdatei neben der Datei manifest.json

all_domains_and_path_of_include_directory - jeweils in Anführungszeichen, die durch Kommas getrennt sind, mit allen Metazeichen des Typs "*" - alle Pfade aus @include-Anweisungen, die am Anfang der Benutzerskriptdatei geschrieben werden.

all_domains_and_path_of_exclude_directory ist dasselbe für @exclude-Direktiven

Zeilen ohne ersetzbare Wörter müssen im Manifest vorhanden sein, damit die benutzerskriptbasierte Erweiterung funktioniert. Alle sorgfältig eingegebenen Daten tragen dazu bei, dass die Liste der installierten Erweiterungen später auf der Seite chrome: // extensions nicht verwechselt wird .

1.2.4. Installieren Sie die Erweiterung wie in Abschnitt 1.1.3 beschrieben.

1.3. Wiederherstellen einer zuvor installierten Erweiterung oder eines Benutzerskripts

Wenn sich herausstellt, dass der Browser " hartnäckig geworden " ist und die zuvor installierte Erweiterung deaktiviert wurde, ist es nicht erforderlich, sie erneut herunterzuladen und zu installieren.

1.3.1. Suchen Sie das Verzeichnis mit dieser Erweiterung auf dem Systemlaufwerk (z. B. in WinXP - im Verzeichnis C: \ Dokumente und Einstellungen \ <Benutzername> \, in Win7 - C: \ Benutzer \ <Benutzername> \) ( öffnen Sie versteckte Ordner) unter Verwendung eines langen Codeworts vom Typ "gggcejmogjjjkpidlfinoaonmkpmegnn", das nach dem Wort "ID:" im Erweiterungsbeschreibungsblock geschrieben ist.

1.3.2. Wir verwenden den Ordner, den der Browser zuvor für diese Erweiterung oder dieses Benutzerskript erstellt hat. In der Regel befindet sich in einem Unterordner ein Ordner mit der Versionsnummer der Erweiterung. Wir wählen die erforderliche aus und laden sie als entpackte Erweiterung (Sie können einfach den Pfad zum Ordner in das Feld Nach Ordner suchen - Ordner einfügen ).

Es ist natürlich besser, Ordner mit wichtigen Erweiterungen an einen anderen Speicherort zu übertragen (wie in den vorherigen Beispielen unter c: \ myFiles \ chromeExtensions). Andernfalls werden sie möglicherweise gelöscht, wenn Sie den Browser vom System (oder vom Benutzer) löschen.

1.3.3. Dies ist nicht das Ende des Abenteuers - in der Erweiterung, die auf der Grundlage des Benutzerskripts erstellt wurde, wird die Zeile „manifest_version“ möglicherweise nicht in die manifest.json-Datei geschrieben: 2, über die der Browser sagt, und weigert sich, sie zu installieren. Schreiben
    "manifest_version": 2,

In der ersten Ebene der JSON-Struktur dieses Schlüssel-Wert-Paar.

1.3.4. Gebootet? Vergessen Sie nicht, das Kontrollkästchen "Aktivieren" zu aktivieren.

(Ende der Optionen)

Nach solchen Installationen wird der Pfad zu dem Verzeichnis, in dem sich jede entpackte Erweiterung befindet, in der Liste der Erweiterungen angezeigt. Als ein Plus für Entwickler wird es extrem einfach sein, es selbst zu modifizieren. Nach der Änderung müssen Sie es nur über die Schaltfläche "Unpacked Extension herunterladen" erneut installieren (im Folgenden - wählen Sie das Verzeichnis aus, in das es entpackt wird). Auch ein vorheriges Löschen eines vorhandenen Eintrags in der Liste ist nicht erforderlich. Die Aktion wird auf das Drücken von 2 Tasten reduziert, wenn sich der Browser den Pfad zum Erweiterungsverzeichnis merkt. Oder klicken Sie einfach auf die Schaltfläche "Erweiterungen aktualisieren", wenn Sie alles aktualisieren müssen.

Ja, die Arbeit ist manuell und bedeutungslos - vorher hat es der Browser getan. Um dies zu vermeiden, müssen Sie die "Entwicklungs" -Version des Browsers verwenden, in der Sie weiterhin Benutzerskripte durch Ziehen einfügen oder andere "Krücken" und andere geniale Schwierigkeiten verwenden können. Wir listen weitere Möglichkeiten auf, um sicherzustellen, dass Erweiterungen auf andere knifflige Weise installiert werden.

Wenn Sie das Skript "verbessern" möchten, indem Sie es in eine Erweiterung umwandeln, indem Sie dem Manifest neue Parameter hinzufügen, verschwindet der wichtige Vorteil des Benutzerskripts - seine mögliche browserübergreifende Kompatibilität, wenn dasselbe Skript in 3 Browsern, einschließlich der alten Opera, ausgeführt werden kann. Und in der 4. Safari, wenn es auf die gleiche einfache Art und Weise wie eine Safari-Erweiterung erstellt wurde (nach eigenen Regeln, die wir hier nicht beschreiben werden).

Was ist auch charakteristisch - wenn Sie die „legale“ genau gleiche Chrome-Erweiterung aus dem WebStore-Store mit demselben Namen und derselben Version haben, wird diese durch die entpackte Erweiterungsoption nicht gelöscht und beide funktionieren gleichzeitig. Es ist sinnvoll, einen davon zu deaktivieren, um unerwartete Überlagerungseffekte zu vermeiden.

Methode 2, "Befehlszeilenchemie". Einfach, aber mit unbekannter Unterstützungsdauer. Müssen über eine spezielle Verknüpfung ausgeführt werden.

2.1 Starten Sie den Browser von der Kommandozeile mit dem Parameter "--enable-easy-off-store-extension-install". Dies kann von der Konsole aus erfolgen, ist aber für die Zukunft bequemer - über eine Verknüpfung, in der der Parameter hinzugefügt wird. Ein Beispiel:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-easy-off-store-extension-install



2.2. Wenn mit dem Parameter eine Verknüpfung erstellt wurde, starten Sie den Browser, indem Sie darauf klicken oder eine Kombination der zugewiesenen Tasten. Es wird möglicherweise nicht gestartet, wenn zum Zeitpunkt des Starts ein verborgener Prozess von zuvor gestartetem Chrome ohne Parameter funktioniert hat (prüfen und beenden im Task-Manager, Strg-Umschalt-Esc). Versteckte Prozesse bleiben bestehen, wenn im Browser die Einstellung „Anwendungen nach dem Schließen des Browsers im Hintergrund weiter ausführen “ aktiviert ist .

Methode 3, "Registrierungschemie". Auch einfach, aber mit unbekannter Unterstützungsdauer. Laut Testberichten funktioniert es in der Version 35.0.1916.114 m, aber nicht in der Chrome-Version 35.0.1916.153. Es wurde am 16. März 2014 unter http://my-chrome.ru/2014/03/yes-we-can/ beschrieben.. Für einige funktioniert es in aktualisierten Versionen, die älter als 114 m sind, so dass die Betriebsbedingungen noch geklärt werden müssen.

3.1. Für 64-Bit-Windows 7 schreiben wir in der Registrierung unter dem Pfad HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Google \ Update \ ClientState \ {8A69D345-D564-463C-AFF1-A69D9E530F96} anstelle von ap: "-multi-chrome" oder "1.1-beta -multi-chrome" -chrome "(Typ REG-SZ) Wert" 2.0-dev-multi-chrome "(ohne Anführungszeichen):

Unter Windows XP lautet der Pfad: HKEY_LOCAL_MACHINE \ SOFTWARE \ Google \ Update \ ClientState \ {8A69D345-D564-463C-AFF1-A69D9E530F96}

3.2. Wiederholen Sie diesen Vorgang für den Ordner {4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D} und denselben Parameter darin.
Sie schreiben, dass dieser Wert auch helfen kann: "2.0-Canary-Multi-Chrome."

3.3. Starten Sie den Browser neu und beenden Sie alle versteckten Prozesse. Ein Zeichen dafür, dass die Erweiterungen zu funktionieren begannen, ist ein aktives Kontrollkästchen zum Aktivieren der Erweiterung.

(In diesem Beispiel wurde ein browserübergreifendes Benutzerskript (für Habr) direkt aus dem Ordner entnommen, um es in Firefox zu verwenden, und dort wurde manifest.json hinzugefügt , wodurch die Anzahl der Platzierungen des Skripts verringert wurde.)

3.4. Aktivieren Sie die Erweiterung, indem Sie das Kontrollkästchen aktivieren.

Der Trick besteht darin, den Browser darüber zu informieren, dass dies angeblich die DEV-Version des Browsers ist. Als Nebeneffekt möchte er ein Upgrade auf die DEV-Version durchführen, die im Popup „About ...“ angezeigt wird.

Wenn die Registrierung diesen Pfad nicht gefunden hat, suchen Sie in der Registrierung nach dem Wert "multi-chrome" und ersetzen Sie alle diese Funde.

Methode 4, "Trojanisches Pferd im Laden." Wir setzen die Erweiterung SimpleExtManagerAnschließend können wir über die Einstellungen in dieser Erweiterung deaktivierte Kontrollkästchen mit den Namen aller Erweiterungen unabhängig von ihrer Herkunft einfügen. Aus Versehen hat sich herausgestellt, dass diese Lücke funktioniert. Richtig, Sie müssen Kontrollkästchen bei jedem vollständigen (Kalt-) Start des Browsers aktivieren. Trotzdem gibt es einen schönen Trojaner-Effekt, wenn auch mit einem manuellen Laufwerk.

Methode 5: Noch einfacher, aber ohne Aussichten: Installieren Sie die alte Version des Chrome-Browsers und blockieren Sie Updates darin.

Da wir alle Möglichkeiten prüfen werden, werden wir die seltsamsten betrachten. Aus einer Kombination von zwei unlogischen Handlungen wird tatsächlich eine Lösung erhalten. Das erste ist unlogisch - verurteilen Sie sich zu einem veralteten Browser. Die zweite unlogische Möglichkeit besteht darin, Aktualisierungen zu deaktivieren. Ab der ersten tauchen Sicherheitslücken auf, ab der zweiten auch. Aber Erweiterungen werden leben. Vielleicht passt es auch jemandem und jemand hat lange davon geträumt, Chrome-Updates zu deaktivieren, weiß aber immer noch nicht wie.

Alte Versionen nehmen hier ab .
So deaktivieren Sie Aktualisierungen: Fordern Sie eine solche Batchdatei auf:
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

Oder eine solche Option mit einer Hosts-Datei.
3. Methode : in chrome: // plugins / .

Methode 6, "Gib vor, ein Entwickler zu sein." Google hat diese Gelegenheit für Sie verlassen. Wenn Sie die vom Dev- oder Canary-Channel heruntergeladene Version des Browsers verwenden, besteht keine Einschränkung hinsichtlich der Funktionalität von Erweiterungen, die nicht zum Store gehören. Canary steht in keinem Konflikt mit der im Chrome-System installierten stabilen Version.

Nachteile - Natürlich müssen Sie Ihre Browsereinstellungen neu zusammenstellen, dann den Versionen folgen und zu neuen wechseln. Nicht jedermanns Leben für den Browser ist geeignet.

Gutes Google verspricht, die Installation von Erweiterungen in Dev Channel und Canary nicht zu verbietenVersionen. Hier ist alles logisch: Entwickler, Randbeamte gehen zu Experimenten und wissen, was die Installation nicht verifizierter Erweiterungen gefährdet. Es ist nicht ratsam, dies anderen zu empfehlen, da es so aussieht, als ob eine erzwungene Bindung an ungetestete Rohversionen des Browsers erfolgt. Selbst die meisten Entwickler brauchen es nicht - jeder hat viele andere Aufgaben und Hobbys ... Aber wir setzen die Parade der Kuriositäten fort.

Methode 7, "anders denken" ("anders denken"). Neuer Gedanke an Apple: „Warum brauchen wir Windows?“. Oh, wie blöd es ist! Wir gehen auf Mac oder Linux über.

Methode 8, "anders denken, aber unter Windows." Auch so? Ja Wir wechseln zu einem anderen Browser, der auf Chrom basiert. Wenn er Erweiterungen unterstützt, hat er keine Erweiterungen im Google Store.

Der erste Kandidat, der sich entscheidet, ist natürlichChromium : Ein Browser, der als Grundlage für Chrome dient, jedoch ohne die geschlossenen Technologien von Google (in Bezug auf Codes und Unternehmensrichtlinien).

Methode 9: "Sei der Boss." Für angesehene Eigentümer von Unternehmensnetzwerken des Unternehmens (laut, aber alles ist viel einfacher ) gibt es eine Möglichkeit, eine eigene Domain zu haben, über die Benutzer Erweiterungen installieren können.

Methode 10, "Richtlinienvorlagen". Die Übersetzung und Anleitung wird bis heute (27.06.2014) ein Link (englisch) zum Original sein , der vom kvark reader (nicht von Habr) gesendet wurde . Die Methode ist in der Anfangsphase schwierig zu konfigurieren und vorzuschreiben, erfordert jedoch keine Bestätigung wie in Methode 1 bei jedem Start des Browsers.

Im Vergleich zu den oben genannten Methoden ist es besser, Ihr Leben nicht zu verkomplizieren, wenn Sie die Chrome-Browser- und Unternehmensrichtlinien für die Installation von Erweiterungen nicht unbedingt einhalten müssen.

Jetzt auch beliebt: