12

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

4

2 回答 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 回答
15

该扩展包含源代码 - 您只需解压缩它。在此处查看Giorgio 的回复

整个源代码在每个 XPI 中都是公开的。

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

您可以通过解压缩其中的 XPI 和 JAR 来检查和/或修改它,然后通过重新压缩两者来“构建”它。

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

于 2013-07-15T21:28:26.707 回答