Ich habe im Wiki gelesen, dass NoScript Open Source ist http://en.wikipedia.org/wiki/NoScript, aber auf der offiziellen Website http://noscript.net/ kann ich keine Quellen finden. Meine Frage ist also: Wo finde ich Quellen? Oder gibt es etwas, das ich nicht verstanden habe, und der Quellcode ist nicht verfügbar?Wo finde ich den Quellcode der Mozilla NoScript-Erweiterung?
Antwort
Die Erweiterung enthält den Quellcode - Sie müssen ihn nur entpacken. Siehe Giorgio's response here.
Der gesamte Quellcode ist in jedem XPI öffentlich verfügbar.
Sie haben es jetzt auf Ihrer Festplatte, wenn Sie ein NoScript-Benutzer sind, ansonsten können Sie es hier herunterladen.
Sie können es untersuchen und/oder modifizieren, indem Sie das XPI und das JAR im Inneren entpacken und durch erneutes Zippen beide "aufbauen".
Es ist seit der ersten Version für immer so.
Das Firefox XPI-Format verhindert nicht, dass Sie einfach den Inhalt des Plugins extrahieren, um den Quellcode zu untersuchen.
Während ich kein öffentliches kanonisches Repository finden kann, sieht es so aus, als ob jemand systematisch alle verfügbaren XPIs heruntergeladen und extrahiert und ein GitHub-Repository daraus erstellt hat.
https://github.com/avian2/noscript
Wenn Sie es tun möchten sich, XPI-Dateien sind nur Standard-ZIP-Dateien, wenn Sie also eine selbst extrahieren möchten, können Sie einfach auf sie ein Extraktionsprogramm zeigen.
Hier ist ein Beispiel dafür, dass von der Kommandozeile tun:
mkdir noscript_source
cd noscript_source
curl -LO https://addons.mozilla.org/firefox/downloads/file/219550/noscript_security_suite-2.6.6.8-fx+fn+sm.xpi
unzip noscript_security_suite-2.6.6.8-fx+fn+sm.xpi
, dass eine Verzeichnisstruktur ergibt, das wie folgt aussieht:
.
├── GPL.txt
├── META-INF
│ ├── manifest.mf
│ ├── zigbert.rsa
│ └── zigbert.sf
├── NoScript_License.txt
├── chrome
│ └── noscript.jar
├── chrome.manifest
├── components
│ └── noscriptService.js
├── defaults
│ └── preferences
│ └── noscript.js
├── install.rdf
├── mozilla.cfg
└── noscript_security_suite-2.6.6.8-fx+fn+sm.xpi
Dann wird der Haupt Code innerhalb chrome/noscript.jar
befindet. Sie können, dass extrahieren im JavaScript zu erhalten, die den größten Teil des Plugin macht:
cd chrome/
unzip noscript.jar
die die Hauptquelle Baum ergeben wird:
.
├── content
│ └── noscript
│ ├── ABE.g
│ ├── ABE.js
│ ├── ABELexer.js
│ ├── ABEParser.js
│ ├── ASPIdiocy.js
│ ├── ChannelReplacement.js
│ ├── ClearClickHandler.js
│ ├── ClearClickHandlerLegacy.js
│ ├── Cookie.js
│ ├── DNS.js
│ ├── DOM.js
│ ├── ExternalFilters.js
│ ├── FlashIdiocy.js
│ ├── HTTPS.js
│ ├── Lang.js
│ ├── NoScript_License.txt
│ ├── PlacesPrefs.js
│ ├── Plugins.js
│ ├── Policy.js
│ ├── Profiler.js
│ ├── Removal.js
│ ├── RequestWatchdog.js
│ ├── STS.js
│ ├── ScriptSurrogate.js
│ ├── Strings.js
│ ├── URIValidator.js
│ ├── about.xul
│ ├── antlr.js
│ ├── clearClick.js
│ ├── clearClick.xul
│ ├── frameOptErr.xhtml
│ ├── iaUI.js
│ ├── noscript.js
│ ├── noscript.xbl
│ ├── noscriptBM.js
│ ├── noscriptBMOverlay.xul
│ ├── noscriptOptions.js
│ ├── noscriptOptions.xul
│ ├── noscriptOverlay.js
│ ├── noscriptOverlay.xul
│ ├── options-mobile.xul
│ └── overlay-mobile.xul
├── locale
└── skin
Sie wissen nicht viel über .xpi. Vielen Dank) – Suhan