aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Rude <[email protected]>2017-06-29 14:05:01 -0500
committerMatt Rude <[email protected]>2017-06-29 14:05:01 -0500
commitfe4dddc820ccfa80055dbe72d1bdd7aa9b8f2557 (patch)
tree065a1c531ad01679514cf796020a90347f83632c
parente45698f5758c97f1b351db9268b1b4f21bbab0e2 (diff)
downloadxmpp-site-builder-fe4dddc820ccfa80055dbe72d1bdd7aa9b8f2557.tar.gz
xmpp-site-builder-fe4dddc820ccfa80055dbe72d1bdd7aa9b8f2557.tar.bz2
xmpp-site-builder-fe4dddc820ccfa80055dbe72d1bdd7aa9b8f2557.zip
updates
-rw-r--r--Gemfile1
-rw-r--r--Gemfile.lock19
-rw-r--r--_config.yml48
-rw-r--r--_data/clients.yml21
-rw-r--r--_includes/clients.html30
-rw-r--r--_includes/footer.html5
-rw-r--r--_includes/menu.html56
-rw-r--r--certificates.md22
-rw-r--r--contact-ecc.txt20
-rw-r--r--contact.txt28
-rw-r--r--doc/supported_standards.md2
-rw-r--r--help/client_list.md2
-rw-r--r--help/clients.html1
-rw-r--r--help/definitions.md17
-rw-r--r--help/help.md53
-rw-r--r--help/spark.md10
-rw-r--r--img/clients/xabber_logo.pngbin0 -> 55710 bytes
-rw-r--r--img/clients/yaxim_logo.pngbin0 -> 35324 bytes
-rw-r--r--index.html4
19 files changed, 224 insertions, 115 deletions
diff --git a/Gemfile b/Gemfile
index bddfc3e..b4b1ff3 100644
--- a/Gemfile
+++ b/Gemfile
@@ -8,5 +8,6 @@ gem "kramdown"
gem "therubyracer"
gem "jekyll"
gem "jekyll-sitemap"
+gem "jekyll-press"
gem "jekyll-less"
gem "jekyll-minifier"
diff --git a/Gemfile.lock b/Gemfile.lock
index 722d133..3d9fc3a 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -45,14 +45,23 @@ GEM
colorator (1.1.0)
commonjs (0.2.7)
concurrent-ruby (1.0.5)
+ css_press (0.3.2)
+ csspool-st (= 3.1.2)
+ json
cssminify2 (2.0.1)
+ csspool-st (3.1.2)
erubi (1.6.0)
execjs (2.7.0)
ffi (1.9.18)
forwardable-extended (2.6.0)
globalid (0.4.0)
activesupport (>= 4.2.0)
+ html_press (0.8.2)
+ htmlentities
+ multi_css (>= 0.1.0)
+ multi_js (>= 0.1.0)
htmlcompressor (0.3.1)
+ htmlentities (4.3.4)
i18n (0.8.1)
jekyll (3.4.3)
addressable (~> 2.4)
@@ -73,6 +82,11 @@ GEM
htmlcompressor (~> 0.3)
jekyll (~> 3.0)
uglifier (~> 2.7)
+ jekyll-press (0.2.1)
+ html_press (>= 0.8.2)
+ jekyll
+ multi_css (>= 0.1.0)
+ multi_js (>= 0.1.0)
jekyll-sass-converter (1.5.0)
sass (~> 3.4)
jekyll-sitemap (1.1.1)
@@ -99,6 +113,10 @@ GEM
mime-types-data (3.2016.0521)
mini_portile2 (2.1.0)
minitest (5.10.1)
+ multi_css (0.1.0)
+ css_press
+ multi_js (0.1.0)
+ uglifier (~> 2)
nio4r (2.0.0)
nokogiri (1.7.1)
mini_portile2 (~> 2.1.0)
@@ -167,6 +185,7 @@ DEPENDENCIES
jekyll
jekyll-less
jekyll-minifier
+ jekyll-press
jekyll-sitemap
kramdown
rails
diff --git a/_config.yml b/_config.yml
index 5f6fc94..fe3396f 100644
--- a/_config.yml
+++ b/_config.yml
@@ -5,42 +5,45 @@ description: ""
url: "https://im.mattrude.com"
name: "mattrude.com"
baseurl: "im.mattrude.com"
-destination: "/root/xmpp-site/www/im.mattrude.com"
+#destination: "/root/xmpp-site/www/im.mattrude.com"
+destination: "/var/www/im.mattrude.com"
+prosody-version: "0.10"
owner_name: "Matt Rude"
owner_pgpkey: "0xc4909ee495b0761f"
-xmpp-url: "mattrude.com"
-xmpp-host: "im.mattrude.com"
-xmpp-conference-url: "conference.mattrude.com"
+xmpp-url: "mattrude.com" # The XMPP domain url
+xmpp-host: "im.mattrude.com" # The hostname of the server
+xmpp-conference-url: "conference.mattrude.com" # Multi-User Chat xep-0045
xmpp-proxy-url: "proxy.mattrude.com" # XEP-0065: SOCKS5 Bytestreams (Proxy)
+xmpp-upload-url: "upload.mattrude.com" # XEP-0065: SOCKS5 Bytestreams (Proxy)
xep-0163: 1 # Personal Eventing Protocal
xep-0237: 1 # Roster Versioning
xep-0280: 1 # Message Carbons
xep-0191: 1 # Blocking Command
-xep-0045: 0 # Multi-User Chat
+xep-0045: 1 # Multi-User Chat
xep-0198: 1 # Stream Management
xep-0313: 1 # Message Archive Management
xep-0352: 1 # Client State Indication
xep-0363: 1 # HTTP File Upload
-xep-0065: 0 # SOCKS 5 Bytestreams (Proxy)
+xep-0065: 1 # SOCKS 5 Bytestreams (Proxy)
xep-0357: 1 # Push Notifications
-xep-0375: 0 # XMPP protocol compliance levels for 2016
+xep-0375: 1 # XMPP protocol compliance levels for 2016
fingerprints: 1
-fingerprint-proxy: 1
-fingerprint-conference: 0
-fingerprint-expires: "May 30 16:34:00 2017 GMT"
-fingerprint-conference-expires: "May 30 16:34:00 2017 GMT"
-fingerprint-proxy-expires: "May 30 16:34:00 2017 GMT"
-fingerprint-sha1: "F1:25:FD:E3:FA:A8:83:92:76:D6:C4:52:7F:01:52:BB:FB:82:C0:9A"
-fingerprint-sha256: "FC:07:0F:0E:2D:ED:32:B3:6F:56:75:BF:15:E6:AF:E2:37:89:AC:1D:0B:42:AD:75:D3:1D:1D:C4:14:F7:EA:E6"
-fingerprint-conference-sha1: "F1:25:FD:E3:FA:A8:83:92:76:D6:C4:52:7F:01:52:BB:FB:82:C0:9A"
-fingerprint-conference-sha256: "FC:07:0F:0E:2D:ED:32:B3:6F:56:75:BF:15:E6:AF:E2:37:89:AC:1D:0B:42:AD:75:D3:1D:1D:C4:14:F7:EA:E6"
-fingerprint-proxy-sha1: "F1:25:FD:E3:FA:A8:83:92:76:D6:C4:52:7F:01:52:BB:FB:82:C0:9A"
-fingerprint-proxy-sha256: "FC:07:0F:0E:2D:ED:32:B3:6F:56:75:BF:15:E6:AF:E2:37:89:AC:1D:0B:42:AD:75:D3:1D:1D:C4:14:F7:EA:E6"
-prosody-version: "0.10"
+fingerprint-expires: "Jul 24 01:13:00 2017 GMT"
+fingerprint-conference-expires: "Aug 2 02:40:00 2017 GMT"
+fingerprint-proxy-expires: "Aug 2 02:40:00 2017 GMT"
+fingerprint-upload-expires: "Aug 2 02:40:00 2017 GMT"
+fingerprint-sha1: "2C:23:33:2A:CB:E2:B8:37:C7:43:D1:58:CF:4F:E3:5D:48:CB:1F:F7"
+fingerprint-sha256: "B1:80:58:73:17:7C:5B:32:AB:86:9D:D1:21:62:E8:7B:00:70:8A:99:2A:A0:1E:E1:FC:FF:21:23:C7:EF:F5:3B"
+fingerprint-conference-sha1: "BF:0C:47:3D:ED:C3:92:95:A8:86:B8:50:EB:21:4F:A7:A0:C5:D7:D0"
+fingerprint-conference-sha256: "DF:71:7A:69:8E:10:34:AB:6B:CE:02:EC:41:CF:AE:0A:F8:B2:B4:D9:7D:58:7D:A8:7C:BA:F9:3B:50:FF:02:0F"
+fingerprint-proxy-sha1: "BF:0C:47:3D:ED:C3:92:95:A8:86:B8:50:EB:21:4F:A7:A0:C5:D7:D0"
+fingerprint-proxy-sha256: "DF:71:7A:69:8E:10:34:AB:6B:CE:02:EC:41:CF:AE:0A:F8:B2:B4:D9:7D:58:7D:A8:7C:BA:F9:3B:50:FF:02:0F"
+fingerprint-upload-sha1: "BF:0C:47:3D:ED:C3:92:95:A8:86:B8:50:EB:21:4F:A7:A0:C5:D7:D0"
+fingerprint-upload-sha256: "DF:71:7A:69:8E:10:34:AB:6B:CE:02:EC:41:CF:AE:0A:F8:B2:B4:D9:7D:58:7D:A8:7C:BA:F9:3B:50:FF:02:0F"
# Analytics settings
#google_analytics_id: UA-9532791-9
@@ -55,16 +58,15 @@ exclude:
- README.md
- CONTRIBUTING.md
- LICENSE
+- Gemfile
+- Gemfile.lock
- css/syntax.less
- css/site.less
- css/small.less
gems:
- jekyll-sitemap
-- jekyll-less
-#- jekyll-press
-#- jekyll-redirect-from
-#- jekyll-last-modified-at
+- jekyll-press
jekyll-press:
exclude: 'robots.txt, contact.txt, contact-ecc.txt' # Exclude files from processing - file name, glob pattern or array of file names and glob patterns
diff --git a/_data/clients.yml b/_data/clients.yml
index 1d1afee..06b2dec 100644
--- a/_data/clients.yml
+++ b/_data/clients.yml
@@ -1,6 +1,7 @@
- name: Conversations
type: mobile
platform: Mobile (Android)
+ encryption: TLS, OMEMO, OTR
domain: conversations.im
url: https://conversations.im/
img: conversations_logo.png
@@ -9,14 +10,25 @@
- name: ChatSecure
type: mobile
platform: Mobile (iOS)
- domain: guardianproject.info
- url: https://guardianproject.info/apps/chatsecure/
+ encryption: TLS, OMEMO, OTR
+ domain: chatsecure.org
+ url: https://chatsecure.org/
img: chatsecure_logo.png
text: ChatSecure is a free and open source messaging app that features OTR encryption over XMPP.
+- name: Xabber
+ type: mobile
+ platform: Mobile (Android)
+ encryption: TLS, OTR
+ domain: xabber.com
+ url: https://www.xabber.com/
+ img: xabber_logo.png
+ text: Xabber is the most popular open-source XMPP client for Android. It supports multiple XEPs, Off-The-Record (OTR) chat encryption and is available in multiple languages.
+
- name: Gajim
type: desktop
platform: Linux / Windows
+ encryption: TLS, OMEMO, OTR
domain: gajim.org
url: https://gajim.org/
img: gajim_logo.png
@@ -25,6 +37,7 @@
- name: Swift
type: desktop
platform: Linux / OSX / Windows
+ encryption: TLS
domain: swift.im
url: http://swift.im/
img: swift_logo.svg
@@ -34,6 +47,7 @@
- name: Psi
type: desktop
platform: Linux / OSX / Windows
+ encryption: TLS
domain: psi-im.org
url: http://psi-im.org/
img: psi_logo.png
@@ -42,6 +56,7 @@
- name: Messages
type: desktop
platform: OSX
+ encryption: TLS
domain: apple.com
url: http://www.apple.com/osx/whats-new/features.html#messages
img: messages_logo.png
@@ -50,6 +65,7 @@
- name: Spark
type: desktop
platform: Linux / OSX / Windows
+ encryption: TLS, OTR
domain: igniterealtime.org
url: http://igniterealtime.org/projects/spark/index.jsp
img: spark_logo.png
@@ -58,6 +74,7 @@
- name: Profanity
type: server
platform: Console / Text-Mode
+ encryption: TLS, OTR
domain: profanity.im
url: http://profanity.im/
text: Profanity is a console based XMPP client written in C using ncurses and libstrophe, inspired by Irssi
diff --git a/_includes/clients.html b/_includes/clients.html
new file mode 100644
index 0000000..e0f7f32
--- /dev/null
+++ b/_includes/clients.html
@@ -0,0 +1,30 @@
+<h2>Other Server Compliance Grid</h2>
+
+
+
+<table class='table' style='width:100%'>
+ <thead>
+ <tr>
+ <th>Service Name</th>
+ <th>Registration Method</th>
+ <th>Website Language</th>
+ <th><a href='https://xmpp.org/extensions/xep-0375.html'>XEP-0375</a> complient</th>
+ <th><a href='https://xmpp.org/extensions/xep-0368.html'>XEP-0368</a> complient</th>
+ <th>Tor Service</th>
+ <th>Price</th>
+ </tr>
+ </thead>
+ <tbody>
+{% for service in site.data.clients-compliance %}
+ <tr>
+ <td style="min-width:150px;"><a href='{{ service.url }}'>{{ service.name }}</a></td>
+ <td style="min-width:150px;">{% if service.registration-url %}<a href="{{ service.registration-url }}">{{ service.registration }}</a>{% elsif service.registration %}{{ service.registration}}{% else %}<i>Unknown</i>{% endif %}</td>
+ <td>{{ service.language }}</td>
+ {% if service.xep-375 == 1 %}<td class=PASSED style="width:75px;"><center>Yes</center></td>{% else %}<td class=FAILED><center>No</center></td>{% endif %}
+ {% if service.xep-368 == 1 %}<td class=PASSED style="width:75px;"><center>Yes</center></td>{% else %}<td class=FAILED><center>No</center></td>{% endif %}
+ {% if service.tor %}<td class=PASSED><center>{{ service.tor }}</center></td>{% else %}<td class=FAILED><center>No</center></td>{% endif %}
+ <td><center>{% if service.price %}{{ service.price }}{% else %}Free{% endif %}<center></td>
+ </tr>
+{% endfor %}
+ </tbody>
+</table>
diff --git a/_includes/footer.html b/_includes/footer.html
index ea863ee..f29001b 100644
--- a/_includes/footer.html
+++ b/_includes/footer.html
@@ -12,9 +12,6 @@
</div><!-- Closing Menu Section (from header) -->
</div>
</body>
-<script
- src="https://code.jquery.com/jquery-3.2.1.min.js"
- integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
- crossorigin="anonymous"></script>
+<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
</html>
diff --git a/_includes/menu.html b/_includes/menu.html
index 5a0c85f..b891472 100644
--- a/_includes/menu.html
+++ b/_includes/menu.html
@@ -1,32 +1,30 @@
-{% if page.url == "/" %}
- <nav id="mainNav" class="navbar-inverse navbar navbar-fixed-top affix-top">{% else %}
- <nav id="mainNav" class="navbar navbar-inverse navbar-fixed-top affix-top">{% endif %}
+<nav id="mainNav" class="navbar navbar-inverse navbar-fixed-top affix-top">
<div class="container">
- <div class="row">
- <div class="navbar-header">
- <button class="navbar-toggle collapsed" data-target="#navbar" data-toggle="collapse" type="button">
- <span class="sr-only">Toggle navigation</span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="{{ site.url }}">XMPP Communication Service</a>
- </div>
- <div class="navbar-collapse collapse" id="navbar">
- {% if page.url == "/" %}
- <ul class="nav navbar-nav">
- {% for section in site.data.frontpage %}
- <li>
- <a href="#{{ section.slug }}">{{ section.name }}</a>
- </li>
- {% endfor %}
- </ul>
- {% endif %}
- <ul class="nav navbar-nav navbar-right">
- <li><a href="{{ site.url }}/help/">User Guides</a></li>
- <li><a href="{{ site.url }}/certificates/">Certificates</a></li>
- </ul>
+ <div class="row">
+ <div class="navbar-header">
+ <button class="navbar-toggle collapsed" data-target="#navbar" data-toggle="collapse" type="button">
+ <span class="sr-only">Toggle navigation</span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ <span class="icon-bar"></span>
+ </button>
+ <a class="navbar-brand" href="{{ site.url }}">XMPP Communication Service</a>
+ </div>
+ <div class="navbar-collapse collapse" id="navbar">
+<!--
+ {% if page.url == "/" %}
+ <ul class="nav navbar-nav">
+ {% for section in site.data.sections %}
+ <li><a href="#{{ section.slug }}">{{ section.name }}</a></li>
+ {% endfor %}
+ </ul>
+ {% endif %}
+-->
+ <ul class="nav navbar-nav navbar-right">
+ <li><a href="{{ site.url }}/help/">User Guides</a></li>
+ <li><a href="{{ site.url }}/certificates/">Certificates</a></li>
+ </ul>
+ </div>
</div>
</div>
- </div>
- </nav>
+</nav>
diff --git a/certificates.md b/certificates.md
index e81eb10..ca5d465 100644
--- a/certificates.md
+++ b/certificates.md
@@ -26,6 +26,26 @@ One of the benefits of communicating via XMPP is the level of security involved.
<pre>{{ site.fingerprint-sha256 }}</pre>
</div>
{% endif %}
+{% if site.xmpp-host %}
+<h2>{{ site.xmpp-host }}</h2>
+<p style="margin-top:-0.6em;"><small>(expires: {{ site.fingerprint-im-expires }})</small></p>
+{% if site.xmpp-host and site.fingerprint-im-sha1 %}
+ <div class="cert-title">
+ <b>SHA1 Fingerprint</b>
+ </div>
+ <div class="cert-content">
+ <pre>{{ site.fingerprint-im-sha1 }}</pre>
+ </div>
+{% endif %}
+{% if site.xmpp-host and site.fingerprint-im-sha256 %}
+ <div class="cert-title">
+ <b>SHA256 Fingerprint</b>
+ </div>
+ <div class="cert-content">
+ <pre>{{ site.fingerprint-im-sha256 }}</pre>
+ </div>
+{% endif %}
+{% endif %}
{% if site.xmpp-conference-url and site.xep-0045 == 1 %}
<h2>{{ site.xmpp-conference-url }}</h2>
<p style="margin-top:-0.6em;"><small>(expires: {{ site.fingerprint-conference-expires }})</small></p>
@@ -88,5 +108,5 @@ One of the benefits of communicating via XMPP is the level of security involved.
{% endif %}
</div> <!-- Closing cert-table id div -->
-<p style='text-align:right;'><a href="https://xmpp.net/result.php?domain={{ site.xmpp-url }}&amp;type=server"><img src="https://xmpp.net/badge.php?domain={{ site.xmpp-url }}" alt="xmpp.net score" /></a></p>
+<p style='text-align:right;'><a href="https://check.messaging.one/result.php?domain={{ site.xmpp-url }}&amp;type=server"><img src="https://check.messaging.one/badge.php?domain={{ site.xmpp-url }}" alt="check.messaging.one server score" /></a></p>
diff --git a/contact-ecc.txt b/contact-ecc.txt
index 6c70c8a..c934a98 100644
--- a/contact-ecc.txt
+++ b/contact-ecc.txt
@@ -26,19 +26,25 @@ websites, social media profiles, and PGP public keys and fingerprints.
## Public Keys
-XMPP OMEMO Public fingerprint:
+XMPP OMEMO Public fingerprints:
+
+ 2211712a f24bfcaa 3c078673 e493ce03
+ 2b8bb3df 8e6d727d 813b5234 f148b219
a4b88aca f63e1f05 6f8fd700 7847baf3
3f653098 64d478a7 d7387c88 fd8fb834
-RSA PGP Key information:
+ 776DCE9B 34AFFC32 4E5CACAA D6AA7DBC
+ A9DF8BF4 E3D6C4FC 188850EC 0D9EC30B
+
+RSA OpenPGP Key information:
uid = Matt Rude <[email protected]>
pub = rsa2048/95B0761F 2015-03-02
sub = rsa2048/BC158061 2015-03-02
fingerprint = 71FD 20E3 2815 8C32 2133 FBBE C490 9EE4 95B0 761F
-ECC PGP Key information:
+ECC OpenPGP Key information:
uid = Matt Rude <[email protected]>
pub = nistp256/03305F35 2015-02-15
@@ -46,8 +52,8 @@ ECC PGP Key information:
-----BEGIN PGP SIGNATURE-----
-iHUEARMIAB0WIQR38dZbX/BU3JKGYHgDFM2FAzBfNQUCWJmK5QAKCRADFM2FAzBf
-NchZAQDh45uilYpKXVKrtVhK5fVdAMvAEnvUyFt5cdyiH3FlaQEA4uBnB5vxCcWX
-bZK9qjntLOIMvSva4HYQPChm+V7I8F4=
-=Svbc
+iHUEARMIAB0WIQR38dZbX/BU3JKGYHgDFM2FAzBfNQUCWT7oaQAKCRADFM2FAzBf
+NUzfAP94JgUHuwxutShBvDQF7rdYnRWAvPkwnFFNDsk2FnWqJgD/babfR6Fe+ZcW
+SXa9HL0OHF9lOaLU259h9Y+yN1O8vgc=
+=gjoF
-----END PGP SIGNATURE-----
diff --git a/contact.txt b/contact.txt
index 3099744..55df24e 100644
--- a/contact.txt
+++ b/contact.txt
@@ -26,19 +26,25 @@ websites, social media profiles, and PGP public keys and fingerprints.
## Public Keys
-XMPP OMEMO Public fingerprint:
+XMPP OMEMO Public fingerprints:
+
+ 2211712a f24bfcaa 3c078673 e493ce03
+ 2b8bb3df 8e6d727d 813b5234 f148b219
a4b88aca f63e1f05 6f8fd700 7847baf3
3f653098 64d478a7 d7387c88 fd8fb834
-RSA PGP Key information:
+ 776DCE9B 34AFFC32 4E5CACAA D6AA7DBC
+ A9DF8BF4 E3D6C4FC 188850EC 0D9EC30B
+
+RSA OpenPGP Key information:
uid = Matt Rude <[email protected]>
pub = rsa2048/95B0761F 2015-03-02
sub = rsa2048/BC158061 2015-03-02
fingerprint = 71FD 20E3 2815 8C32 2133 FBBE C490 9EE4 95B0 761F
-ECC PGP Key information:
+ECC OpenPGP Key information:
uid = Matt Rude <[email protected]>
pub = nistp256/03305F35 2015-02-15
@@ -46,12 +52,12 @@ ECC PGP Key information:
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCAAdFiEEcf0g4ygVjDIhM/u+xJCe5JWwdh8FAliZit8ACgkQxJCe5JWw
-dh/Iygf+IvB+lvdgeCGruP/TOow9OClYKsf+ZNFonmTShpwv9RE1MVmriAyKaTXy
-p5W7zif4zXxgCobOqNw33YQHT2mdSJCYlC585UVKXdAn7wcesrdO3MSSd7ETgNLn
-j0WlDBGVA2/qP9jVrqaYJU1ZIs9ENwmeiw5ZHJHgZzE5njAN9ic7MvEg7bJah/+l
-D9LAgqpIfnpuwyPlWFloxVyrrJgUTEAt+EH0tKS6TUTxcq/xN1yI+XreiJ9fZTk+
-cEvvJeLgrcA4GY6Om3bIBMM0cOG4NgEhMIs/iWbOzoNWTY2IdVrGSN5ch/BqvE5A
-Sr24HqiezVybkRZLJHoJdZEnzcMXtg==
-=98Ia
+iQEzBAEBCAAdFiEEcf0g4ygVjDIhM/u+xJCe5JWwdh8FAlk+6GgACgkQxJCe5JWw
+dh9U1Qf+ObUAik7hKd/6uoUMzj0b+58L1boUMaxrXiQrIrX8Zd142fuR6ZoHXLro
+0VEMtsVxIhqvEikQTEYNCxv8nyQQGX1Xhsn8Xdkumnm/v2HoV3FsuEt9B3XeHFXH
+232H5KM0lyK/a9miFDDgOOwDgyeWB2Ax1mtWnE0wHgmH9kranknm3Vu3TIK809Jp
+uO+rMTh59gRovRUmtOt06Bog7Up1YQ6d+KImUsw3rjMZJ0Vdd5vUsnYiSfb858Sl
+r8TfKPMJ0g1ZJB8tDv1CnVXA8Z9uiSyKp4Rmm4CtuzfbEggi/WDKj5JlJExJKOMc
+iq69Ke9F3WNE3Q/eQiJ7dmb4ipFLDA==
+=e5wW
-----END PGP SIGNATURE-----
diff --git a/doc/supported_standards.md b/doc/supported_standards.md
index e28a38a..f3ef732 100644
--- a/doc/supported_standards.md
+++ b/doc/supported_standards.md
@@ -6,7 +6,7 @@ permalink: /doc/supported-standards/
This service is running [Prosody]({{ site.url }}/doc/definitions/#prosody) version {{ site.prosody-version }} and supports the following XMPP standards.
-<table>
+<table class='table'>
<thead>
<tr class="row0">
<th class="col0 leftalign">XMPP Standard </th><th class="col1">Status </th>
diff --git a/help/client_list.md b/help/client_list.md
index 7582c40..34f3a7e 100644
--- a/help/client_list.md
+++ b/help/client_list.md
@@ -6,7 +6,7 @@ permalink: /help/client-list/
Below is an incomplete list of avalable clients for XMPP services.
-<table>
+<table class='table'>
<thead>
<tr>
<th>Name</th>
diff --git a/help/clients.html b/help/clients.html
index 8b620b6..61580ab 100644
--- a/help/clients.html
+++ b/help/clients.html
@@ -20,6 +20,7 @@ permalink: /help/clients/
<center><h3>{{ client.name }}</h3></center>
<ul class="list-group">
<li class="list-group-item"><b>Platform:</b> {{ client.platform }}</li>
+ <li class="list-group-item"><b>Encryption:</b> {{ client.encryption }}</li>
<li class="list-group-item"><b>Website:</b> <a href="{{ client.url }}">{{ client.domain }}</a></li>
{% if client.text %}<li class="list-group-item">{{ client.text }}</li>{% endif %}
</ul>
diff --git a/help/definitions.md b/help/definitions.md
index 01eb1f7..cab17b6 100644
--- a/help/definitions.md
+++ b/help/definitions.md
@@ -19,30 +19,32 @@ permalink: /help/definitions/
<b>Federation</b> is the method used by XMPP servers to connect to other XMPP server to allow users from one server to chat with users on other server.
-The following diagram provides a high-level overview of this architecture (where `-` represents communications that use XMPP and `=` represents communications that use any other protocol).
+Similar to how email works, federation allows you to communicate with any XMPP service that allows for remove connections (most).
+
+The following diagram provides a high-level overview of this architecture (where `-` represents communications that use XMPP).
<pre><code> C1
|
C2---S1---C3
|
- C4---S2---G1===FN1===FC1
|
- C5
+ |
+ C4---S2---C5
+ |
+ C6
</code></pre>
The symbols are as follows:
-* C1, C2, C3, C4, C5 = XMPP clients
+* C1, C2, C3, C4, C5, C6 = XMPP clients
* S1, S2 = XMPP servers
-* G1 = A gateway that translates between XMPP and the protocol(s) used on a foreign (non-XMPP) messaging network
-* FN1 = A foreign messaging network
-* FC1 = A client on a foreign messaging network
## Gateway
## IP Address
## Jabber
+Another name for XMPP, the old name.
## JID
A users unique [XMPP](#xmpp-server) address, is called a JID (or for historical reasons, sometimes called a Jabber ID). The JID is structured like an email address with a username and a domain name (or [IP address](#ip-address)) for the server where that user resides, separated by an at sign `@`, such as [email protected].
@@ -72,3 +74,4 @@ One of the original design goals of the early Jabber open-source community was e
An XMPP server provides basic messaging, [presence](#presence), and XML routing features. This page lists Jabber/XMPP server software that you can use to run your own XMPP service, either over the Internet or on a [local area network](#lan).
## XML
+E<b>X</b>tensible <b>M</b>arkup <b>L</b>anguage (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. XML is the format that messages are sent/received in when communication with XMPP (See [XML](https://en.wikipedia.org/wiki/XML)).
diff --git a/help/help.md b/help/help.md
index a3bdbe2..54a209c 100644
--- a/help/help.md
+++ b/help/help.md
@@ -6,26 +6,33 @@ permalink: /help/
<center><span class="fa fa-question-circle" style="font-size:60px;" aria-hidden="true"></span><h1>User Guides</h1></center>
-## Client Guides
-
-* [ChatSecure User Guide]({{ site.url }}/help/chatsecure/)
-* [Conversations User Guide]({{ site.url }}/help/conversations/)
-* [Gajim User Guide]({{ site.url }}/help/gajim/)
-* [Spark User Guide]({{ site.url }}/help/spark/)
-* [Swift User Guide]({{ site.url }}/help/swift/)
-
-
-## Client Documents
-
-* [Client List]({{ site.url }}/help/client-list/)
-* [Definitions]({{ site.url }}/help/definitions/)
-* [Generic Configuration]({{ site.url }}/help/generic-configuration/){% if site.xmpp-conference-url and site.xep-0045 == 1 %}
-* [Using Conferences]({{ site.url }}/help/using-conferences/){% endif %}
-* [Using Web Presence]({{ site.url }}/help/web-presence/)
-* [Using HAL Bot]({{ site.url }}/help/hal-robot/)
-
-## Server Documents
-
-* [Supported XMPP Standards]({{ site.url }}/doc/supported-standards/)
-* [Server Compliance]({{ site.url }}/doc/compliance/)
-
+<div class="col-md-4">
+<h2>Client Guides</h2>
+<ul>
+<li><a href="{{ site.url }}/help/chatsecure/">ChatSecure User Guide</a></li>
+<li><a href="{{ site.url }}/help/conversations/">Conversations User Guide</a></li>
+<li><a href="{{ site.url }}/help/gajim/">Gajim User Guide</a></li>
+<li><a href="{{ site.url }}/help/spark/">Spark User Guide</a></li>
+<li><a href="{{ site.url }}/help/swift/">Swift User Guide</a></li>
+</ul>
+</div>
+
+<div class="col-md-4">
+<h2>Client Documents</h2>
+<ul>
+<li><a href="{{ site.url }}/help/clients/">Client List</a></li>
+<li><a href="{{ site.url }}/help/definitions/">Definitions</a></li>
+<li><a href="{{ site.url }}/help/generic-configuration/">Generic Configuration</a></li>{% if site.xmpp-conference-url and site.xep-0045 == 1 %}
+<li><a href="{{ site.url }}/help/using-conferences/">Using Conferences</a></li>{% endif %}
+<li><a href="{{ site.url }}/help/web-presence/">Using Web Presence</a></li>
+<li><a href="{{ site.url }}/help/hal-robot/">Using HAL Bot</a></li>
+</ul>
+</div>
+
+<div class="col-md-4">
+<h2>Server Documents</h2>
+<ul>
+<li><a href="{{ site.url }}/doc/supported-standards/">Supported XMPP Standards</a></li>
+<li><a href="{{ site.url }}/doc/compliance/">Server Compliance</a></li>
+</ul>
+</div>
diff --git a/help/spark.md b/help/spark.md
index 397b7d2..7c5f56e 100644
--- a/help/spark.md
+++ b/help/spark.md
@@ -10,16 +10,18 @@ Spark is an Open Source, cross-platform IM client optimized for businesses and o
## Downloading and Installing Spark
-## Logging into Spark for the first time
+## Logging into Spark
<img style="float: right;" src="{{ site.url }}/img/guides/spark/spark-login-screen.png">
+Logging into Spark is just like logging into anyother program. You should have been provided with a <b>JID</b> and a <b>Password</b>.
+
1. Start Spark.
-2. Enter your login information, then click Login.
+2. Enter your login information:
- Your **username** is the uniq part of your JID, left of the `@`.
- The password that was provided to you.
-- The server/domain is the
-
+- The **Domain** is the right part after the `@` in your JID.
+3. Once complete, click **Login**.
## Updating your Profile
diff --git a/img/clients/xabber_logo.png b/img/clients/xabber_logo.png
new file mode 100644
index 0000000..e61cfc4
--- /dev/null
+++ b/img/clients/xabber_logo.png
Binary files differ
diff --git a/img/clients/yaxim_logo.png b/img/clients/yaxim_logo.png
new file mode 100644
index 0000000..1c3a58d
--- /dev/null
+++ b/img/clients/yaxim_logo.png
Binary files differ
diff --git a/index.html b/index.html
index 0505572..fbd2962 100644
--- a/index.html
+++ b/index.html
@@ -29,8 +29,8 @@ permalink: /
<p>This service requires the use of a client to connect to the server with. Please see the
<a href="{{ site.url }}/help/clients/">client list</a> for a small list of available clients that
may be used. My personal preferred clients are <a href="https://gajim.org/">Gajim</a> or
- <a href="http://swift.im/">Swift</a> for desktop/laptops and <a href="https://conversations.im/">Conversations</a>
- or <a href="https://guardianproject.info/apps/chatsecure/">ChatSecure</a> for mobile.</p>
+ <a href="https://swift.im/">Swift</a> for desktop/laptops and <a href="https://conversations.im/">Conversations</a>
+ or <a href="https://chatsecure.org/">ChatSecure</a> for mobile.</p>
</div>
<div class="col-md-5">