【问题标题】:Where to find source code of Mozilla NoScript extension?在哪里可以找到 Mozilla NoScript 扩展的源代码?
【发布时间】:2013-07-15 21:20:25
【问题描述】:

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

【问题讨论】:

    标签: firefox firefox-addon


    【解决方案1】:

    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
    

    【讨论】:

      【解决方案2】:

      扩展包含源代码 - 您只需解压缩它。见Giorgio's response here

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

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

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

      从第一个版本开始就是这样。

      【讨论】:

      • 对 .xpi 了解不多。谢谢)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多