Skip to content

Commit

Permalink
Update branding and add "help" documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
naegelejd committed Apr 11, 2017
1 parent bac5f23 commit c87c1ba
Show file tree
Hide file tree
Showing 12 changed files with 108 additions and 18 deletions.
22 changes: 19 additions & 3 deletions README.md
@@ -1,10 +1,26 @@
# Great DANE Thunderbird Extension
% Great DANE for Thunderbird

## About

The Great DANE Thunderbird extension integrates the [Great DANE Engine](https://github.com/grierforensics/Great-DANE-Engine) with Mozilla Thunderbird.

Once configured to communicate with a running Great DANE Engine, the plugin will automatically retrieve S/MIME certificates for senders of incoming mail and recipients of outgoing messages.
**NOTE**: Access to a running Great DANE Engine is required to use Great DANE for Thunderbird. See the [Great DANE Engine Github page](https://github.com/grierforensics/Great-DANE-Engine) for more information.

Once configured to communicate with a running Great DANE Engine, the extension will automatically retrieve S/MIME certificates for senders of incoming mail and recipients of outgoing messages.

If S/MIME encryption is enabled in Thunderbird and DANE SMIMEA records exist for all recipients of an outgoing message, certificate retrieval and storage and message encryption will occur automatically and transparently.

## Installing

The easiest way to install Great DANE for Thunderbird is through the Add-ons Manager in Thunderbird. Open *Add-ons* in Thunderbird and search for "Great DANE".

It is also available for download here: [Great DANE for Thunderbird](https://addons.mozilla.org/en-US/thunderbird/addon/great-dane-smime/).

You can optionally package the Add-on yourself and copy it to to your Thunderbird Profile's `extensions/` directory. Simply run `package.sh`, then copy `greatdane.xpi` to one of the following locations:

If S/MIME encryption is enabled in Thunderbird by default and DANE SMIMEA records exist for all recipients of an outgoing message, certificate retrieval and storage and message encryption will occur transparently.
- Windows: `%APPDATA%\Thunderbird\Profiles\<Profile Name>\extensions\`
- Linux: `~/.thunderbird/<Profile Name>/extensions/`
- OS X: `~/Library/Thunderbird/Profiles/<Profile Name>/extensions/`

Configure the Great DANE Engine address by navigating to Add-ons -> Great DANE -> Options.

Expand Down
1 change: 1 addition & 0 deletions chrome.manifest
@@ -1,4 +1,5 @@
content greatdane content/
skin greatdane classic/1.0 skin/
resource greatdane modules/
overlay chrome://messenger/content/messenger.xul chrome://greatdane/content/main.xul
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://greatdane/content/compose.xul
16 changes: 16 additions & 0 deletions content/help.css
@@ -0,0 +1,16 @@
body {
margin: 3em;
}

h1 {
border-bottom: 1px solid black;
}

a {
color: #0000EE;
text-decoration: none;
}

a:hover {
text-decoration: underline;
}
36 changes: 36 additions & 0 deletions content/help.html
@@ -0,0 +1,36 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="generator" content="pandoc">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>Great DANE for Thunderbird</title>
<style type="text/css">code{white-space: pre;}</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="help.css" />
</head>
<body>
<header>
<h1 class="title">Great DANE for Thunderbird</h1>
</header>
<h2 id="about">About</h2>
<p>The Great DANE Thunderbird extension integrates the <a href="https://github.com/grierforensics/Great-DANE-Engine">Great DANE Engine</a> with Mozilla Thunderbird.</p>
<p><strong>NOTE</strong>: Access to a running Great DANE Engine is required to use Great DANE for Thunderbird. See the <a href="https://github.com/grierforensics/Great-DANE-Engine">Great DANE Engine Github page</a> for more information.</p>
<p>Once configured to communicate with a running Great DANE Engine, the extension will automatically retrieve S/MIME certificates for senders of incoming mail and recipients of outgoing messages.</p>
<p>If S/MIME encryption is enabled in Thunderbird and DANE SMIMEA records exist for all recipients of an outgoing message, certificate retrieval and storage and message encryption will occur automatically and transparently.</p>
<h2 id="installing">Installing</h2>
<p>The easiest way to install Great DANE for Thunderbird is through the Add-ons Manager in Thunderbird. Open <em>Add-ons</em> in Thunderbird and search for “Great DANE”.</p>
<p>It is also available for download here: <a href="https://addons.mozilla.org/en-US/thunderbird/addon/great-dane-smime/">Great DANE for Thunderbird</a>.</p>
<p>You can optionally package the Add-on yourself and copy it to to your Thunderbird Profile’s <code>extensions/</code> directory. Simply run <code>package.sh</code>, then copy <code>greatdane.xpi</code> to one of the following locations:</p>
<ul>
<li><code>Windows: %APPDATA%\Thunderbird\Profiles\&lt;Profile Name&gt;\extensions\</code></li>
<li><code>Linux: ~/.thunderbird/&lt;Profile Name&gt;/extensions/</code></li>
<li><code>OS X: ~/Library/Thunderbird/Profiles/&lt;Profile Name&gt;/extensions/</code></li>
</ul>
<p>Configure the Great DANE Engine address by navigating to Add-ons -&gt; Great DANE -&gt; Options.</p>
<h2 id="license">License</h2>
<p>Dual-licensed under Apache License 2.0 and 3-Clause BSD License. See LICENSE.</p>
</body>
</html>
2 changes: 1 addition & 1 deletion content/options.js
Expand Up @@ -11,7 +11,7 @@ var console = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleServic
* to the "extensions.greatdane.engine_url" preference, which is not directly
* accessible to the user. Its value depends on whether the user chooses
* to use the Grier Forensics instance, a local instance, or other remote
* instance of the DANE SMIMEA Engine.
* instance of the Great DANE Engine.
*/
var GreatDANEOptions = {
_prefService: null,
Expand Down
27 changes: 19 additions & 8 deletions content/options.xul
@@ -1,11 +1,12 @@
<?xml version="1.0"?>
<!-- (C) Copyright 2017 Grier Forensics. All rights reserved.-->
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<?xml-stylesheet href="chrome://greatdane/skin/custom.css" type="text/css" ?>

<prefwindow
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
id="greatdane-prefs"
title="GreatDANE options" >
title="Great DANE options" >

<script type="application/x-javascript" src="chrome://greatdane/content/options.js" />

Expand All @@ -16,7 +17,8 @@
</preferences>

<groupbox>
<caption label="DANE SMIMEA Engine" />
<label value="Choose an option below and test your connection:" />
<caption label="Great DANE Engine" />
<radiogroup preference="engine" >
<grid>
<columns>
Expand All @@ -25,22 +27,31 @@
</columns>
<rows>
<row>
<radio id="grier" value="grier" label="Grier Forensics" />
<radio id="local" value="local" label="Locally installed instance" />
</row>
<row>
<radio id="local" value="local" label="Local Instance" />
<radio id="grier" value="grier" label="Grier Forensics hosted instance" />
</row>
<row>
<radio id="remote" value="remote" label="Remote URL" />
<radio id="remote" value="remote" label="Other (example: http://example.com:25353/)" />
<textbox preference="url" id="remoteUrl" />
</row>
<row>
<button label="Test Connection" oncommand="GreatDANEOptions.testConnection()" />
<label id="testConnResults" />
<button class="test-connection" label="Test Connection" oncommand="GreatDANEOptions.testConnection()" />
<label class="test-connection" id="testConnResults" />
</row>
</rows>
</grid>
</radiogroup>
</groupbox>

<hbox>
<label style="text-decoration: underline; color: navy; cursor: pointer" value="Help!"
onclick="window.openDialog('chrome://greatdane/content/help.html', '',
'all,chrome,dialog=no,status,toolbar');"/>
<label style="text-decoration: underline; color: navy; cursor: pointer" value="Install Great DANE Engine"
onclick="window.open('https://github.com/grierforensics/Great-DANE-Engine/releases', '',
'chrome,dialog=no,menubar,toolbar,location,personalbar,status,resizable')"/>
</hbox>
</prefpane>
</prefwindow>
2 changes: 1 addition & 1 deletion content/retrieving.xul
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!-- (C) Copyright 2017 Grier Forensics. All rights reserved.-->
<?xml-stylesheet href="chrome://global/skin/global.css" type="text/css"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<dialog id="retrieving-dialog" title="Retrieving Certificate(s)"
xmlns:html="http://www.w3.org/1999/xhtml"
Expand Down
1 change: 1 addition & 0 deletions head.html
@@ -0,0 +1 @@
<link rel="stylesheet" type="text/css" href="help.css" />
2 changes: 1 addition & 1 deletion install.rdf
Expand Up @@ -5,7 +5,7 @@
<em:id>greatdane@grierforensics.com</em:id>
<em:name>Great DANE</em:name>
<em:type>2</em:type>
<em:version>1.0.1</em:version>
<em:version>1.0.2</em:version>
<em:description>Retrieve DANE Certificates for Encryption/Signing</em:description>
<em:optionsURL>chrome://greatdane/content/options.xul</em:optionsURL>
<em:creator>Grier Forensics</em:creator>
Expand Down
4 changes: 2 additions & 2 deletions modules/greatdane.js
Expand Up @@ -59,7 +59,7 @@ var GreatDANE = {
console.logStringMessage("Failed to scrub email address: " + emailAddress);
}

// Retrieve the currently-configured DANE SMIMEA Engine's API URL
// Retrieve the currently-configured Great DANE Engine's API URL
let engineUrl = this.prefs.getCharPref("engine_url");
//console.logStringMessage("retrieving from engineUrl = " + engineUrl);

Expand Down Expand Up @@ -98,7 +98,7 @@ var GreatDANE = {

/** Test connection to Great DANE Engine */
testConnection: function (onSuccess, onFailure) {
// Retrieve the currently-configured DANE SMIMEA Engine's API URL
// Retrieve the currently-configured Great DANE Engine's API URL
let engineUrl = this.prefs.getCharPref("engine_url");
let url = this.cleanUrl(engineUrl + '/ping');
ajax('GET', url, null, function (responseText) {
Expand Down
10 changes: 8 additions & 2 deletions package.sh
@@ -1,3 +1,9 @@
#!/usr/bin/env sh
#!/usr/bin/env bash

zip -r greatdane.xpi chrome.manifest content defaults install.rdf modules README
function generate_help() {
pandoc -t html5 -s -S README.md -H head.html > content/help.html
}

type pandoc && generate_help

zip -r greatdane.xpi chrome.manifest content skin defaults install.rdf modules README.md
3 changes: 3 additions & 0 deletions skin/custom.css
@@ -0,0 +1,3 @@
.test-connection {
font-size: 120%;
}

0 comments on commit c87c1ba

Please sign in to comment.