我在 wiki 中读到 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 回答
15
该扩展包含源代码 - 您只需解压缩它。在此处查看Giorgio 的回复。
整个源代码在每个 XPI 中都是公开的。
你现在已经把它放在你的硬盘上了,如果你是 NoScript 用户,否则你可以在这里下载。
您可以通过解压缩其中的 XPI 和 JAR 来检查和/或修改它,然后通过重新压缩两者来“构建”它。
从第一个版本开始,就一直如此。
于 2013-07-15T21:28:26.707 回答