NoScript はオープン ソースhttp://en.wikipedia.org/wiki/NoScriptであるとウィキで読みましたが、公式サイトhttp://noscript.net/ではソースが見つかりません。私の質問は次のとおりです。ソースはどこにありますか? または、私が理解できなかったことがあり、ソースコードは利用できませんか?
質問する
5648 次
2 に答える
18
Firefox XPI 形式は、プラグインの内容を単純に抽出してソース コードを調べることを妨げません。
正規のパブリック リポジトリは見つかりませんが、誰かが利用可能なすべての XPI を体系的にダウンロードして抽出し、それらから GitHub リポジトリを作成したようです。
https://github.com/avian2/noscript
自分で解凍したい場合、XPI ファイルは単なる標準の ZIP ファイルなので、自分で解凍したい場合は、解凍プログラムをポイントするだけです。
コマンドラインからそれを行う例を次に示します。
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
これにより、次のようなディレクトリ構造が生成されます。
.
├── 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
次に、メイン コードは の中にありchrome/noscript.jar
ます。それを抽出して、プラグインの大部分を構成する JavaScript を取得できます。
cd chrome/
unzip noscript.jar
これにより、メインのソース ツリーが生成されます。
.
├── 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
于 2013-07-15T21:39:55.560 に答える