diff --git a/app/images/images.css b/app/images/images.css
index dc6dfe9c43d645b4854bfa2dba79cb7869f9db67..ce60b5953d55e4574b0fcb1cd52d9400774b016c 100644
--- a/app/images/images.css
+++ b/app/images/images.css
@@ -12,6 +12,10 @@
         background-image: url(material-design-icons/ic_chevron_right_black_48px.svg);
     }
 
+    .icon-refresh {
+        background-image: url(material-design-icons/ic_refresh_48px.svg);
+    }
+
     .icon-close {
         background-image: url(material-design-icons/ic_close_black_48px.svg);
     }
diff --git a/app/images/material-design-icons/ic_refresh_48px.svg b/app/images/material-design-icons/ic_refresh_48px.svg
new file mode 100644
index 0000000000000000000000000000000000000000..05bc17c9e4b6eb899de7add9ca7224ce8bac1de7
--- /dev/null
+++ b/app/images/material-design-icons/ic_refresh_48px.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"><path d="M35.3 12.7C32.41 9.8 28.42 8 24 8 15.16 8 8.02 15.16 8.02 24S15.16 40 24 40c7.45 0 13.69-5.1 15.46-12H35.3c-1.65 4.66-6.07 8-11.3 8-6.63 0-12-5.37-12-12s5.37-12 12-12c3.31 0 6.28 1.38 8.45 3.55L26 22h14V8l-4.7 4.7z"/></svg>
\ No newline at end of file
diff --git a/app/scripts/components/ToolBar.js b/app/scripts/components/ToolBar.js
index a503853098c4454581b1929f129f723e7ab63df1..495e65a45596813c189d1968775a5b428d4982e7 100644
--- a/app/scripts/components/ToolBar.js
+++ b/app/scripts/components/ToolBar.js
@@ -10,6 +10,7 @@ export default class ToolBar extends Chirit.Component {
                 active: '',
                 backAction: '',
                 forwardAction: '',
+                refreshAction: '',
                 homeAction: '',
                 collectionAction: '',
                 indicator: false,
@@ -21,6 +22,7 @@ export default class ToolBar extends Chirit.Component {
     html() {
         const backButtonAttr = this.state.backAction ? `data-dispatch="${this.state.backAction}"` : 'disabled';
         const forwardButtonAttr = this.state.forwardAction ? `data-dispatch="${this.state.forwardAction}"` : 'disabled';
+        const refreshButtonAttr = this.state.refreshAction ? `data-dispatch="${this.state.refreshAction}"` : 'disabled';
         const homeButtonAttr = this.state.homeAction ? `data-dispatch="${this.state.homeAction}"` : 'disabled';
         const collectionButtonAttr = this.state.collectionAction ? `data-dispatch="${this.state.collectionAction}"` : 'disabled';
         const collectionButtonImportant = this.state.updateAvailable ? 'important' : '';
@@ -28,10 +30,11 @@ export default class ToolBar extends Chirit.Component {
         return `
             <button class="toolbar-button icon-chevron-left" ${backButtonAttr}></button>
             <button class="toolbar-button icon-chevron-right" ${forwardButtonAttr}></button>
+            <button class="toolbar-button icon-refresh refresh-button" ${refreshButtonAttr}></button>
+            <span class="toolbar-indicator icon-loading"></span>
             <button class="toolbar-button icon-home label page-button" ${homeButtonAttr}>Browse</button>
             <button class="toolbar-button icon-folder label page-button ${collectionButtonImportant}" ${collectionButtonAttr}>Installed</button>
             <span class="toolbar-spacer"></span>
-            <span class="toolbar-indicator icon-loading"></span>
             <select class="toolbar-select" name="startPage">
             <option value="">Choose Startpage</option>
             <option value="https://www.opendesktop.org/">opendesktop.org</option>
@@ -154,11 +157,13 @@ export default class ToolBar extends Chirit.Component {
     showIndicator() {
         this.state.indicator = true;
         this.element.querySelector('.toolbar-indicator').style.display = 'inline-block';
+        this.element.querySelector('.refresh-button').style.display = 'none';
     }
 
     hideIndicator() {
         this.state.indicator = false;
         this.element.querySelector('.toolbar-indicator').style.display = 'none';
+        this.element.querySelector('.refresh-button').style.display = 'inline-block';
     }
 
 }
diff --git a/app/scripts/renderers/ipc-renderer.js b/app/scripts/renderers/ipc-renderer.js
index 1dac62371fd6875ec22c71e0ac657e859e0ef32f..5880681a786e073fb24869f0506b09e185da462a 100644
--- a/app/scripts/renderers/ipc-renderer.js
+++ b/app/scripts/renderers/ipc-renderer.js
@@ -6,31 +6,30 @@ const url = require('url');
     const ipcRenderer = electron.ipcRenderer;
 
     const memberSites = [
-        'opendesktop.org', 'www.opendesktop.org',
-        'forum.opendesktop.org',
+        'opendesktop.org',
 
-        'appimagehub.com', 'www.appimagehub.com',
-        'linux-apps.com', 'www.linux-apps.com',
-        'linux-appimages.org', 'www.linux-appimages.org',
+        'appimagehub.com',
+        'linux-apps.com',
+        'linux-appimages.org',
 
-        'app-addons.org', 'www.app-addons.org',
+        'app-addons.org',
         'addons.videolan.org',
         'share.krita.org',
 
-        'cinnamon-look.org', 'www.cinnamon-look.org',
-        'compiz-themes.org', 'www.compiz-themes.org',
-        'enlightenment-themes.org', 'www.enlightenment-themes.org',
-        'gnome-look.org', 'www.gnome-look.org',
-        'mate-look.org', 'www.mate-look.org',
+        'cinnamon-look.org',
+        'compiz-themes.org',
+        'enlightenment-themes.org',
+        'gnome-look.org',
+        'mate-look.org',
         'store.kde.org',
-        'trinity-look.org', 'www.trinity-look.org',
-        'xfce-look.org', 'www.xfce-look.org',
-        'box-look.org', 'www.box-look.org',
+        'trinity-look.org',
+        'xfce-look.org',
+        'box-look.org',
 
-        'cccliparts.org', 'www.cccliparts.org',
-        'free-artwork.org', 'www.free-artwork.org',
+        'cccliparts.org',
+        'free-artwork.org',
 
-        'historical-look.org', 'www.historical-look.org'
+        'historical-look.org',
     ];
 
     function modifyDocument() {
@@ -42,8 +41,7 @@ const url = require('url');
         }
     }
 
-    function modifyStyle() {
-    }
+    //function modifyStyle() {}
 
     function modifyEvent() {
         document.body.addEventListener('click', (event) => {
@@ -78,12 +76,20 @@ const url = require('url');
                     ipcRenderer.sendToHost('ocs-url', targetUrl, providerKey, contentId);
                 }
                 else if (parsedUrl.hostname) {
+                    let isMemberSite = false;
+                    for (const memberSite of memberSites) {
+                        if (parsedUrl.hostname.endsWith(memberSite)) {
+                            isMemberSite = true;
+                            break;
+                        }
+                    }
+
                     if (parsedUrl.hostname === 'dl.opendesktop.org') {
                         event.preventDefault();
                         const ocsUrl = `ocs://download?url=${encodeURIComponent(targetUrl)}&type=downloads`;
                         ipcRenderer.sendToHost('ocs-url', ocsUrl, providerKey, contentId);
                     }
-                    else if (memberSites.indexOf(parsedUrl.hostname) !== -1) {
+                    else if (isMemberSite) {
                         if (targetElement.getAttribute('target')) {
                             event.preventDefault();
                             location.href = targetUrl;
diff --git a/app/scripts/renderers/window-renderer.js b/app/scripts/renderers/window-renderer.js
index ee939de3dfd543e275932d34dbf16c3ec3c379a2..91062675c3ac883c641278e70da356a35fb33801 100644
--- a/app/scripts/renderers/window-renderer.js
+++ b/app/scripts/renderers/window-renderer.js
@@ -96,6 +96,7 @@ import Root from '../components/Root.js';
                     active: root.toolBar.state.active,
                     backAction: root.toolBar.state.backAction,
                     forwardAction: root.toolBar.state.forwardAction,
+                    refreshAction: root.toolBar.state.refreshAction,
                     homeAction: root.toolBar.state.homeAction,
                     collectionAction: root.toolBar.state.collectionAction,
                     indicator: root.toolBar.state.indicator,
@@ -128,6 +129,7 @@ import Root from '../components/Root.js';
                     active: 'collection-page',
                     backAction: 'collection-page',
                     forwardAction: '',
+                    refreshAction: '',
                     homeAction: 'browse-page',
                     collectionAction: 'collection-page',
                     indicator: root.toolBar.state.indicator,
@@ -282,6 +284,7 @@ import Root from '../components/Root.js';
                 active: 'start-page',
                 backAction: 'main-webview-back',
                 forwardAction: 'main-webview-forward',
+                refreshAction: 'main-webview-refresh',
                 homeAction: 'start-page',
                 collectionAction: 'collection-page',
                 indicator: root.toolBar.state.indicator,
@@ -315,11 +318,16 @@ import Root from '../components/Root.js';
             }
         });
 
+        stateManager.registerAction('main-webview-refresh', () => {
+            mainWebview.reload();
+        });
+
         stateManager.registerAction('collection-page', () => {
             root.toolBar.update({
                 active: 'collection-page',
                 backAction: '',
                 forwardAction: '',
+                refreshAction: '',
                 homeAction: 'browse-page',
                 collectionAction: 'collection-page',
                 indicator: root.toolBar.state.indicator,
diff --git a/launcher/ocs-store b/launcher/ocs-store
index 12a126bddcb55a9ff68860e8825b291076448ef6..29e5d0c3e8c92312e74bddb2eb83477647119cf8 100755
--- a/launcher/ocs-store
+++ b/launcher/ocs-store
@@ -1,5 +1,8 @@
 #!/bin/bash
 
+# Newer openssl workaround
+export OPENSSL_CONF=/etc/ssl/
+
 PREFIX="$(cd "$(dirname "${0}")" && pwd)"
 
 if [ -f "${PREFIX}/ocs-store-linux-x64/ocs-store" ]; then
diff --git a/package-lock.json b/package-lock.json
index 804188ad06236d1fe7ac109a58f4d4affcbf0d91..61548405edbb3250c5026959af9b232745227039 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
 {
   "name": "ocs-store",
-  "version": "3.4.2",
+  "version": "3.5.0",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
diff --git a/package.json b/package.json
index 9a1d74d06d85523b609b4f0cf4a65de54d14ade6..2ec9f94b35efdf331b6fc8ac0a5b2cb09cf13e72 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
 {
   "name": "ocs-store",
   "productName": "OCS-Store",
-  "version": "3.4.2",
+  "version": "3.5.0",
   "description": "Store Frontend and Management Application based on OpenCollaborationServices (OCS) of Opendesktop.org.",
   "author": "Opendesktop.org",
   "license": "GPL-3.0",
diff --git a/pkg/appimage/appimagebuild b/pkg/appimage/appimagebuild
index 8d09cc5a3d733c80834e3ee371d184d63a1326c1..0e0f038f99e69041411dcfd39196f2f50aef79f4 100755
--- a/pkg/appimage/appimagebuild
+++ b/pkg/appimage/appimagebuild
@@ -1,7 +1,7 @@
 #!/bin/bash
 
 PKGNAME='ocs-store'
-PKGVER='3.4.2'
+PKGVER='3.5.0'
 PKGREL='1'
 
 UPDINFO='zsync|http://dl.opendesktop.org/api/files/download/id/1532435039/as/latest/ocs-store-x86_64.AppImage.zsync'