在哪里可以找到Mozilla NoScript扩展的源代码?

Suh*_*han 12 firefox firefox-addon

我在维基读到NoScript是开源的http://en.wikipedia.org/wiki/NoScript,但在官方网站http://noscript.net/上,我找不到任何来源.所以我的问题是:在哪里找到来源?或者,有什么我不明白,源代码不可用?

phi*_*nze 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
Run Code Online (Sandbox Code Playgroud)

这会产生一个如下所示的目录结构:

.
??? 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
Run Code Online (Sandbox Code Playgroud)

然后主代码位于内部chrome/noscript.jar.你可以提取它来获得构成插件大部分的JavaScript:

cd chrome/
unzip noscript.jar
Run Code Online (Sandbox Code Playgroud)

这将产生主要的源代码树:

.
??? 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
Run Code Online (Sandbox Code Playgroud)


Ric*_*dle 15

扩展包含源代码 - 您只需要解压缩它.请参阅Giorgio的回复.

每个XPI都公开提供完整的源代码.

你现在已经把它放在你的硬盘上了,如果你是NoScript用户,那么你可以在这里下载它.

您可以通过解压缩内部的XPI和JAR来检查和/或修改它,并通过重新拉链来"构建"它.

从第一个版本开始就一直如此.