diff --git a/README.md b/README.md
index f58d1072ac3a2989ff769f335491e8db18182a34..911caa8f1772c39a60f1bb718800d0ac3950be97 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# xdgurl
+# ocs-url
 
 An install helper program for desktop stuff.
 
@@ -10,6 +10,6 @@ Download Linux package from:
 
 https://www.linux-apps.com/p/1136805/
 
-And please check the xdgurl wiki for more information.
+And please check the ocs-url wiki for more information.
 
-https://github.com/xdgurl/xdgurl/wiki
+https://github.com/ocs-url/ocs-url/wiki
diff --git a/xdgurl.pro b/ocs-url.pro
similarity index 75%
rename from xdgurl.pro
rename to ocs-url.pro
index a2326695f86a0e4ba08cde961ae06c1c6846ebc1..1eae938370f186db79ebccd51be7bcfc38587d4f 100644
--- a/xdgurl.pro
+++ b/ocs-url.pro
@@ -1,4 +1,4 @@
-TARGET = xdgurl
+TARGET = ocs-url
 
 TEMPLATE = app
 
@@ -10,18 +10,18 @@ RESOURCES += src/desktop/desktop.qrc
 
 DISTFILES += \
     README.md \
-    src/desktop/xdgurl.desktop \
+    src/desktop/ocs-url.desktop \
     pkg/build.sh \
     pkg/ubuntu/debian/changelog \
     pkg/ubuntu/debian/compat \
     pkg/ubuntu/debian/control \
     pkg/ubuntu/debian/copyright \
     pkg/ubuntu/debian/rules \
-    pkg/ubuntu/debian/xdgurl.install \
-    pkg/fedora/xdgurl.spec \
+    pkg/ubuntu/debian/ocs-url.install \
+    pkg/fedora/ocs-url.spec \
     pkg/arch/PKGBUILD \
     pkg/snap/snapcraft.yaml \
-    pkg/snap/setup/gui/xdgurl.desktop \
+    pkg/snap/setup/gui/ocs-url.desktop \
     pkg/appimage/appimage-desktopintegration
 
 include(deployment.pri)
diff --git a/pkg/appimage/appimage-desktopintegration b/pkg/appimage/appimage-desktopintegration
index bc48aea4b4ea720d2ff1339d2acde0e6c730de44..7fe9f5e9a07a978c0e64cb9ac7d82daef70c4eba 100755
--- a/pkg/appimage/appimage-desktopintegration
+++ b/pkg/appimage/appimage-desktopintegration
@@ -25,7 +25,7 @@ VENDORPREFIX=appimagekit
 
 APPDIR="$(dirname "$(readlink -f "${THIS}")")"
 
-BIN="${APPDIR}/xdgurl"
+BIN="${APPDIR}/ocs-url"
 export PATH="${APPDIR}/usr/bin:$PATH"
 
 trap atexit EXIT
diff --git a/pkg/arch/PKGBUILD b/pkg/arch/PKGBUILD
index fbb56ae6f9b6ff0bc02d917c7f5631dbb206289b..e5157d41f428313d9a07c3deeaa00fc6c837c4f2 100644
--- a/pkg/arch/PKGBUILD
+++ b/pkg/arch/PKGBUILD
@@ -1,14 +1,14 @@
 # Maintainer: Akira Ohgaki <akiraohgaki@gmail.com>
 
-pkgname='xdgurl'
+pkgname='ocs-url'
 pkgver='2.0.3'
 pkgrel='1'
 pkgdesc='An install helper program for desktop stuff.'
 arch=('i686' 'x86_64')
-url='https://github.com/xdgurl/xdgurl'
+url='https://github.com/ocs-url/ocs-url'
 license=('GPL3')
 depends=('qt5-base>=5.3.0' 'qt5-svg>=5.3.0' 'qt5-declarative>=5.3.0' 'qt5-quickcontrols>=5.3.0')
-#source=("https://github.com/xdgurl/xdgurl/archive/release-${pkgver}.tar.gz")
+#source=("https://github.com/ocs-url/ocs-url/archive/release-${pkgver}.tar.gz")
 source=("${pkgname}.tar.gz")
 md5sums=() #autofill using updpkgsums
 
diff --git a/pkg/build.sh b/pkg/build.sh
index c86a7cb3a8412a3d334985d1994b6d2f9c00833d..21a67205e1cbaf599a750945a1bac5851c00cb26 100644
--- a/pkg/build.sh
+++ b/pkg/build.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-PKGNAME='xdgurl'
+PKGNAME='ocs-url'
 
 PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)"
 
@@ -47,9 +47,9 @@ build_fedora() {
     mkdir "${BUILDDIR}/SOURCES"
     mkdir "${BUILDDIR}/SPECS"
     export_source "${BUILDDIR}/SOURCES"
-    cp "${PROJDIR}/pkg/fedora/xdgurl.spec" "${BUILDDIR}/SPECS"
+    cp "${PROJDIR}/pkg/fedora/ocs-url.spec" "${BUILDDIR}/SPECS"
 
-    rpmbuild --define "_topdir ${BUILDDIR}" -bb "${BUILDDIR}/SPECS/xdgurl.spec"
+    rpmbuild --define "_topdir ${BUILDDIR}" -bb "${BUILDDIR}/SPECS/ocs-url.spec"
 }
 
 build_arch() {
@@ -103,18 +103,18 @@ build_appimage() {
     #qmake
     /opt/qt57/bin/qmake
     make
-    strip ./xdgurl
+    strip ./ocs-url
 
     cd "${BUILDDIR}"
     mkdir -p "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin"
-    install -m 755 -p "${BUILDDIR}/${PKGNAME}/xdgurl" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl"
-    install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.desktop" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.desktop"
-    install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.svg" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.svg"
+    install -m 755 -p "${BUILDDIR}/${PKGNAME}/ocs-url" "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url"
+    install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/ocs-url.desktop" "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url.desktop"
+    install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/ocs-url.svg" "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url.svg"
     install -m 755 -p /usr/bin/update-desktop-database "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/update-desktop-database"
     install -m 755 -p /usr/bin/desktop-file-validate "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-validate"
     install -m 755 -p /usr/bin/desktop-file-install "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-install"
-    linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # https://github.com/probonopd/linuxdeployqt/issues/25
-    linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # twice because of #25
+    linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # https://github.com/probonopd/linuxdeployqt/issues/25
+    linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/ocs-url" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # twice because of #25
     rm "${BUILDDIR}/${PKGNAME}.AppDir/AppRun"
     install -m 755 -p "${BUILDDIR}/${PKGNAME}/pkg/appimage/appimage-desktopintegration" "${BUILDDIR}/${PKGNAME}.AppDir/AppRun"
     linuxdeployqt --appimage-extract
diff --git a/pkg/fedora/xdgurl.spec b/pkg/fedora/ocs-url.spec
similarity index 92%
rename from pkg/fedora/xdgurl.spec
rename to pkg/fedora/ocs-url.spec
index 544b375641def9da9cafa928739d2a6d9984d757..aeae496e92aea1f78a98f9b06e47f263b9bcb892 100644
--- a/pkg/fedora/xdgurl.spec
+++ b/pkg/fedora/ocs-url.spec
@@ -1,12 +1,12 @@
 Summary: An install helper program for desktop stuff
-Name: xdgurl
+Name: ocs-url
 Version: 2.0.3
 Release: 1%{?dist}
 License: GPLv3+
 Group: Applications/Internet
-URL: https://github.com/xdgurl/xdgurl
+URL: https://github.com/ocs-url/ocs-url
 
-#Source0: https://github.com/xdgurl/xdgurl/archive/release-%{version}.tar.gz
+#Source0: https://github.com/ocs-url/ocs-url/archive/release-%{version}.tar.gz
 Source0: %{name}.tar.gz
 
 Requires: qt5-qtbase >= 5.3.0, qt5-qtbase-gui >= 5.3.0, qt5-qtsvg >= 5.3.0, qt5-qtdeclarative >= 5.3.0, qt5-qtquickcontrols >= 5.3.0
diff --git a/pkg/snap/setup/gui/ocs-url.desktop b/pkg/snap/setup/gui/ocs-url.desktop
new file mode 100644
index 0000000000000000000000000000000000000000..c3e2453e0998af2fce580146a64ee5e7cd39a144
--- /dev/null
+++ b/pkg/snap/setup/gui/ocs-url.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=ocs-url
+Exec=ocs-url.ocs-url %u
+Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/ocs-url.svg
+Type=Application
+Terminal=false
+NoDisplay=true
+Categories=Network;Utility;
+MimeType=x-scheme-handler/ocs;x-scheme-handler/ocss;
diff --git a/pkg/snap/setup/gui/xdgurl.desktop b/pkg/snap/setup/gui/xdgurl.desktop
deleted file mode 100644
index d541072629c344be4137a096022ca56efd0ef525..0000000000000000000000000000000000000000
--- a/pkg/snap/setup/gui/xdgurl.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Name=xdgurl
-Exec=xdgurl.xdgurl %u
-Icon=${SNAP}/usr/share/icons/hicolor/scalable/apps/xdgurl.svg
-Type=Application
-Terminal=false
-NoDisplay=true
-Categories=Network;Utility;
-MimeType=x-scheme-handler/xdg;x-scheme-handler/xdgs;
diff --git a/pkg/snap/snapcraft.yaml b/pkg/snap/snapcraft.yaml
index e4c6b00ca5f1a882e00ce233933368ecae8887df..89828dce9a2e349754a2f6502baa54a5e7d51d4d 100644
--- a/pkg/snap/snapcraft.yaml
+++ b/pkg/snap/snapcraft.yaml
@@ -1,4 +1,4 @@
-name: xdgurl
+name: ocs-url
 version: '2.0.3'
 summary: An install helper program for desktop stuff
 description: |
@@ -7,10 +7,10 @@ description: |
 grade: devel
 confinement: strict
 
-#icon: ../../src/desktop/xdgurl.svg
+#icon: ../../src/desktop/ocs-url.svg
 
 parts:
-  xdgurl:
+  ocs-url:
     plugin: qmake
     source: ../../
     qt-version: qt5
@@ -30,8 +30,8 @@ parts:
       - desktop-qt5
 
 apps:
-  xdgurl:
-    command: usr/bin/xdgurl
+  ocs-url:
+    command: usr/bin/ocs-url
     plugs:
       - home
       - network
diff --git a/pkg/ubuntu/debian/control b/pkg/ubuntu/debian/control
index efd11f99147e3df92679f0a9db8f6792695a8841..5980ab3d264610fb4f2adefd8d63848e168a7ef8 100644
--- a/pkg/ubuntu/debian/control
+++ b/pkg/ubuntu/debian/control
@@ -1,11 +1,11 @@
-Source: xdgurl
+Source: ocs-url
 Section: web
 Priority: optional
 Maintainer: Akira Ohgaki <akiraohgaki@gmail.com>
 Build-Depends: build-essential (>= 11), qt5-default (>= 5.3.0), libqt5svg5-dev (>= 5.3.0), qtdeclarative5-dev (>= 5.3.0), devscripts (>= 2.14), debhelper (>= 9), fakeroot (>= 1.20)
 Standards-Version: 3.9.4
 
-Package: xdgurl
+Package: ocs-url
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}, libqt5svg5 (>= 5.3.0), qml-module-qtquick2 (>= 5.3.0) | qtdeclarative5-qtquick2-plugin (>= 5.3.0), qml-module-qtquick-window2 (>= 5.3.0) | qtdeclarative5-window-plugin (>= 5.3.0), qml-module-qtquick-controls (>= 5.3.0) | qtdeclarative5-controls-plugin (>= 5.3.0), qml-module-qtquick-dialogs (>= 5.3.0) | qtdeclarative5-dialogs-plugin (>= 5.3.0)
 Description: An install helper program for desktop stuff
diff --git a/pkg/ubuntu/debian/copyright b/pkg/ubuntu/debian/copyright
index 68078a2329aef059899c05e080d16e312bf11afc..f8bcc6179fea75ec2b1ccf82867b016f4a9ca886 100644
--- a/pkg/ubuntu/debian/copyright
+++ b/pkg/ubuntu/debian/copyright
@@ -1,7 +1,7 @@
 Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
-Upstream-Name: xdgurl
+Upstream-Name: ocs-url
 Upstream-Contact: Akira Ohgaki <akiraohgaki@gmail.com>
-Source: https://github.com/xdgurl/xdgurl
+Source: https://github.com/ocs-url/ocs-url
 
 Files: *
 Copyright: 2016-2017, Akira Ohgaki
diff --git a/pkg/ubuntu/debian/ocs-url.install b/pkg/ubuntu/debian/ocs-url.install
new file mode 100644
index 0000000000000000000000000000000000000000..e5d62bfdce9a3ff0a7097a76e3f9e1a25ba138ac
--- /dev/null
+++ b/pkg/ubuntu/debian/ocs-url.install
@@ -0,0 +1,3 @@
+usr/bin/ocs-url
+usr/share/applications/ocs-url.desktop
+usr/share/icons/hicolor/scalable/apps/ocs-url.svg
diff --git a/pkg/ubuntu/debian/xdgurl.install b/pkg/ubuntu/debian/xdgurl.install
deleted file mode 100644
index 44123c67f5636dc6d774bd04461f377155ea4872..0000000000000000000000000000000000000000
--- a/pkg/ubuntu/debian/xdgurl.install
+++ /dev/null
@@ -1,3 +0,0 @@
-usr/bin/xdgurl
-usr/share/applications/xdgurl.desktop
-usr/share/icons/hicolor/scalable/apps/xdgurl.svg
diff --git a/src/app/app.pri b/src/app/app.pri
index b37beda3dc2a93b64009db66f8235a7ca4393592..6a82d4b10e072fa7c53b37fd006e0b0b95aa542b 100644
--- a/src/app/app.pri
+++ b/src/app/app.pri
@@ -6,11 +6,11 @@ QT += \
     svg
 
 HEADERS += \
-    $${PWD}/handlers/xdgurlhandler.h
+    $${PWD}/handlers/ocsurlhandler.h
 
 SOURCES += \
     $${PWD}/main.cpp \
-    $${PWD}/handlers/xdgurlhandler.cpp
+    $${PWD}/handlers/ocsurlhandler.cpp
 
 RESOURCES += \
     $${PWD}/configs/configs.qrc \
diff --git a/src/app/configs/application.json b/src/app/configs/application.json
index 1419f6b09cc338abb33e834352bffe476a7c3bdd..f6405016f92b0f61f12a1a95664ac6657dd29b3a 100644
--- a/src/app/configs/application.json
+++ b/src/app/configs/application.json
@@ -1,13 +1,13 @@
 {
-    "id": "xdgurl",
-    "name": "xdgurl",
+    "id": "ocs-url",
+    "name": "ocs-url",
     "version": "2.0.3",
-    "organization": "xdgurl",
-    "domain": "com.xdgurl.xdgurl",
-    "icon": ":/desktop/xdgurl.svg",
+    "organization": "ocs-url",
+    "domain": "com.ocs-url.ocs-url",
+    "icon": ":/desktop/ocs-url.svg",
     "description": "An install helper program for desktop stuff.",
     "license": "GPL-3+",
     "author": "Akira Ohgaki",
     "contact": "akiraohgaki@gmail.com",
-    "homepage": "https://github.com/xdgurl/xdgurl"
+    "homepage": "https://github.com/ocs-url/ocs-url"
 }
diff --git a/src/app/handlers/xdgurlhandler.cpp b/src/app/handlers/ocsurlhandler.cpp
similarity index 87%
rename from src/app/handlers/xdgurlhandler.cpp
rename to src/app/handlers/ocsurlhandler.cpp
index 91533ca0b3dadda8e573f8c66e9ad61191dee0b8..f3f1aae0ca14889ed8a28684b7b55593d9f02b73 100644
--- a/src/app/handlers/xdgurlhandler.cpp
+++ b/src/app/handlers/ocsurlhandler.cpp
@@ -1,4 +1,4 @@
-#include "xdgurlhandler.h"
+#include "ocsurlhandler.h"
 
 #include <QUrlQuery>
 #include <QDesktopServices>
@@ -8,45 +8,45 @@
 #include "qtlib_networkresource.h"
 #include "qtlib_package.h"
 
-XdgUrlHandler::XdgUrlHandler(const QString &xdgUrl, const qtlib::Config &config, QObject *parent)
-    : QObject(parent), xdgUrl_(xdgUrl), config_(config)
+OcsUrlHandler::OcsUrlHandler(const QString &ocsUrl, const qtlib::Config &config, QObject *parent)
+    : QObject(parent), ocsUrl_(ocsUrl), config_(config)
 {
     parse();
     loadDestinations();
 }
 
-QString XdgUrlHandler::xdgUrl() const
+QString OcsUrlHandler::ocsUrl() const
 {
-    return xdgUrl_;
+    return ocsUrl_;
 }
 
-QJsonObject XdgUrlHandler::metadata() const
+QJsonObject OcsUrlHandler::metadata() const
 {
     return metadata_;
 }
 
-void XdgUrlHandler::process()
+void OcsUrlHandler::process()
 {
-    // xdgs scheme is a reserved name, so the process of xdgs
-    // is the same process of the xdg scheme currently.
+    // ocss scheme is a reserved name, so the process of ocss
+    // is the same process of the ocs scheme currently.
 
     if (!isValid()) {
         QJsonObject result;
         result["status"] = QString("error_validation");
-        result["message"] = QString("Invalid XDG-URL " + xdgUrl_);
+        result["message"] = QString("Invalid OCS-URL " + ocsUrl_);
         emit finishedWithError(result);
         return;
     }
 
     QString url = metadata_["url"].toString();
     qtlib::NetworkResource *resource = new qtlib::NetworkResource(url, QUrl(url), true, this);
-    connect(resource, &qtlib::NetworkResource::downloadProgress, this, &XdgUrlHandler::downloadProgress);
-    connect(resource, &qtlib::NetworkResource::finished, this, &XdgUrlHandler::networkResourceFinished);
+    connect(resource, &qtlib::NetworkResource::downloadProgress, this, &OcsUrlHandler::downloadProgress);
+    connect(resource, &qtlib::NetworkResource::finished, this, &OcsUrlHandler::networkResourceFinished);
     resource->get();
     emit started();
 }
 
-bool XdgUrlHandler::isValid()
+bool OcsUrlHandler::isValid()
 {
     QString scheme = metadata_["scheme"].toString();
     QString command = metadata_["command"].toString();
@@ -54,7 +54,7 @@ bool XdgUrlHandler::isValid()
     QString type = metadata_["type"].toString();
     QString filename = metadata_["filename"].toString();
 
-    if ((scheme == "xdg" || scheme == "xdgs")
+    if ((scheme == "ocs" || scheme == "ocss")
             && (command == "download" || command == "install")
             && QUrl(url).isValid()
             && destinations_.contains(type)
@@ -64,13 +64,13 @@ bool XdgUrlHandler::isValid()
     return false;
 }
 
-void XdgUrlHandler::openDestination()
+void OcsUrlHandler::openDestination()
 {
     QString type = metadata_["type"].toString();
     QDesktopServices::openUrl(QUrl("file://" + destinations_[type].toString()));
 }
 
-void XdgUrlHandler::networkResourceFinished(qtlib::NetworkResource *resource)
+void OcsUrlHandler::networkResourceFinished(qtlib::NetworkResource *resource)
 {
     if (!resource->isFinishedWithNoError()) {
         QJsonObject result;
@@ -89,12 +89,12 @@ void XdgUrlHandler::networkResourceFinished(qtlib::NetworkResource *resource)
     }
 }
 
-void XdgUrlHandler::parse()
+void OcsUrlHandler::parse()
 {
-    QUrl url(xdgUrl_);
+    QUrl url(ocsUrl_);
     QUrlQuery query(url);
 
-    metadata_["scheme"] = QString("xdg");
+    metadata_["scheme"] = QString("ocs");
     metadata_["command"] = QString("download");
     metadata_["url"] = QString("");
     metadata_["type"] = QString("downloads");
@@ -125,7 +125,7 @@ void XdgUrlHandler::parse()
     }
 }
 
-void XdgUrlHandler::loadDestinations()
+void OcsUrlHandler::loadDestinations()
 {
     QJsonObject configDestinations = config_.get("destinations");
     QJsonObject configDestinationsAlias = config_.get("destinations_alias");
@@ -142,7 +142,7 @@ void XdgUrlHandler::loadDestinations()
     }
 }
 
-QString XdgUrlHandler::convertPathString(const QString &path)
+QString OcsUrlHandler::convertPathString(const QString &path)
 {
     QString newPath = path;
 
@@ -159,7 +159,7 @@ QString XdgUrlHandler::convertPathString(const QString &path)
     return newPath;
 }
 
-void XdgUrlHandler::saveDownloadedFile(qtlib::NetworkResource *resource)
+void OcsUrlHandler::saveDownloadedFile(qtlib::NetworkResource *resource)
 {
     QJsonObject result;
 
@@ -183,7 +183,7 @@ void XdgUrlHandler::saveDownloadedFile(qtlib::NetworkResource *resource)
     resource->deleteLater();
 }
 
-void XdgUrlHandler::installDownloadedFile(qtlib::NetworkResource *resource)
+void OcsUrlHandler::installDownloadedFile(qtlib::NetworkResource *resource)
 {
     QJsonObject result;
 
diff --git a/src/app/handlers/xdgurlhandler.h b/src/app/handlers/ocsurlhandler.h
similarity index 86%
rename from src/app/handlers/xdgurlhandler.h
rename to src/app/handlers/ocsurlhandler.h
index 6abc30b79b760f7093da5e438946f0a98a2f0373..ba56c29f535b84c8865ef44a4f2e8a50d9d9d89b 100644
--- a/src/app/handlers/xdgurlhandler.h
+++ b/src/app/handlers/ocsurlhandler.h
@@ -9,12 +9,12 @@ namespace qtlib {
 class NetworkResource;
 }
 
-class XdgUrlHandler : public QObject
+class OcsUrlHandler : public QObject
 {
     Q_OBJECT
 
 public:
-    explicit XdgUrlHandler(const QString &xdgUrl, const qtlib::Config &config, QObject *parent = 0);
+    explicit OcsUrlHandler(const QString &ocsUrl, const qtlib::Config &config, QObject *parent = 0);
 
 signals:
     void started();
@@ -23,7 +23,7 @@ signals:
     void downloadProgress(QString id, qint64 bytesReceived, qint64 bytesTotal);
 
 public slots:
-    QString xdgUrl() const;
+    QString ocsUrl() const;
     QJsonObject metadata() const;
 
     void process();
@@ -40,7 +40,7 @@ private:
     void saveDownloadedFile(qtlib::NetworkResource *resource);
     void installDownloadedFile(qtlib::NetworkResource *resource);
 
-    QString xdgUrl_;
+    QString ocsUrl_;
     qtlib::Config config_;
     QJsonObject metadata_;
     QJsonObject destinations_;
diff --git a/src/app/main.cpp b/src/app/main.cpp
index 7f3aebc33194bd527678e9cb7b86bfed802bcdec..3d60d070f588692b962a01fb09bc62a12598bd6a 100644
--- a/src/app/main.cpp
+++ b/src/app/main.cpp
@@ -12,7 +12,7 @@
 
 #include "qtlib_config.h"
 
-#include "handlers/xdgurlhandler.h"
+#include "handlers/ocsurlhandler.h"
 
 int main(int argc, char *argv[])
 {
@@ -36,7 +36,7 @@ int main(int argc, char *argv[])
     clParser.setApplicationDescription(configApplication["description"].toString());
     clParser.addHelpOption();
     clParser.addVersionOption();
-    clParser.addPositionalArgument("xdgurl", "XDG-URL");
+    clParser.addPositionalArgument("ocsurl", "OCS-URL");
     clParser.process(app);
 
     QStringList args = clParser.positionalArguments();
@@ -45,12 +45,12 @@ int main(int argc, char *argv[])
         clParser.showHelp(1);
     }
 
-    QString xdgUrl = args.at(0);
+    QString ocsUrl = args.at(0);
 
     // Setup QML
     QQmlApplicationEngine qmlAppEngine;
     QQmlContext *qmlContext = qmlAppEngine.rootContext();
-    qmlContext->setContextProperty("xdgUrlHandler", new XdgUrlHandler(xdgUrl, config, &qmlAppEngine));
+    qmlContext->setContextProperty("ocsUrlHandler", new OcsUrlHandler(ocsUrl, config, &qmlAppEngine));
     qmlAppEngine.load(QUrl("qrc:/qml/main.qml"));
 
     return app.exec();
diff --git a/src/app/qml/main.qml b/src/app/qml/main.qml
index 385d45f3165da68eae0c1a1ca9791bdfe93d5fbe..4e367f78c1898f618df70593574ebc8e672b4fa5 100644
--- a/src/app/qml/main.qml
+++ b/src/app/qml/main.qml
@@ -23,7 +23,7 @@ Window {
         informativeText: ""
         detailedText: ""
         standardButtons: StandardButton.Ok | StandardButton.Cancel
-        onAccepted: xdgUrlHandler.process()
+        onAccepted: ocsUrlHandler.process()
         onRejected: Qt.quit()
     }
 
@@ -36,7 +36,7 @@ Window {
         detailedText: ""
         standardButtons: StandardButton.Open | StandardButton.Close
         onAccepted: {
-            xdgUrlHandler.openDestination();
+            ocsUrlHandler.openDestination();
             Qt.quit();
         }
         onRejected: Qt.quit()
@@ -100,7 +100,7 @@ Window {
     }
 
     Component.onCompleted: {
-        var metadata = xdgUrlHandler.metadata();
+        var metadata = ocsUrlHandler.metadata();
         var primaryMessages = {
             "success_download": qsTr("Download successfull"),
             "success_install": qsTr("Installation successfull"),
@@ -110,11 +110,11 @@ Window {
             "error_install": qsTr("Installation failed")
         };
 
-        xdgUrlHandler.started.connect(function() {
+        ocsUrlHandler.started.connect(function() {
             progressDialog.open();
         });
 
-        xdgUrlHandler.finishedWithSuccess.connect(function(result) {
+        ocsUrlHandler.finishedWithSuccess.connect(function(result) {
             progressDialog.close();
             infoDialog.text = primaryMessages[result.status];
             infoDialog.informativeText = metadata.filename;
@@ -122,7 +122,7 @@ Window {
             infoDialog.open();
         });
 
-        xdgUrlHandler.finishedWithError.connect(function(result) {
+        ocsUrlHandler.finishedWithError.connect(function(result) {
             progressDialog.close();
             errorDialog.text = primaryMessages[result.status];
             errorDialog.informativeText = metadata.filename;
@@ -130,7 +130,7 @@ Window {
             errorDialog.open();
         });
 
-        xdgUrlHandler.downloadProgress.connect(function(id, bytesReceived, bytesTotal) {
+        ocsUrlHandler.downloadProgress.connect(function(id, bytesReceived, bytesTotal) {
             progressDialog.primaryLabel.text = qsTr("Downloading");
             progressDialog.informativeLabel.text = metadata.filename;
             progressDialog.progressBar.value = bytesReceived / bytesTotal;
@@ -138,7 +138,7 @@ Window {
                     + " / " + Utility.convertByteToHumanReadable(bytesTotal)
         });
 
-        if (xdgUrlHandler.isValid()) {
+        if (ocsUrlHandler.isValid()) {
             if (metadata.command === "download") {
                 confirmDialog.text = qsTr("Do you want to download?");
             }
@@ -153,7 +153,7 @@ Window {
         }
         else {
             errorDialog.text = qsTr("Validation error");
-            errorDialog.detailedText = qsTr("Invalid XDG-URL") + " " + xdgUrlHandler.xdgUrl();
+            errorDialog.detailedText = qsTr("Invalid OCS-URL") + " " + ocsUrlHandler.ocsUrl();
             errorDialog.open();
         }
     }
diff --git a/src/desktop/desktop.qrc b/src/desktop/desktop.qrc
index 2e0475004292b32a2a8c875f6fcbb03092c91fc4..61a8e10308f03346c57c709c3b9e0a380a8b79a1 100644
--- a/src/desktop/desktop.qrc
+++ b/src/desktop/desktop.qrc
@@ -1,5 +1,5 @@
 <RCC>
     <qresource prefix="/desktop">
-        <file>xdgurl.svg</file>
+        <file>ocs-url.svg</file>
     </qresource>
 </RCC>
diff --git a/src/desktop/ocs-url.desktop b/src/desktop/ocs-url.desktop
new file mode 100644
index 0000000000000000000000000000000000000000..7e1c16d254383c34f6eb92518c81dc040dfd5e50
--- /dev/null
+++ b/src/desktop/ocs-url.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Name=ocs-url
+Exec=ocs-url %u
+Icon=ocs-url
+Type=Application
+Terminal=false
+NoDisplay=true
+Categories=Network;Utility;
+MimeType=x-scheme-handler/ocs;x-scheme-handler/ocss;
diff --git a/src/desktop/ocs-url.svg b/src/desktop/ocs-url.svg
new file mode 100644
index 0000000000000000000000000000000000000000..befab89cf7c80c503cd1b9e8fc23693e73cb98ab
--- /dev/null
+++ b/src/desktop/ocs-url.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="1000" height="1000" viewBox="0, 0, 1000, 1000">
+  <g id="icon">
+    <g id="background">
+      <path d="M975,500 C975,762.335 762.335,975 500,975 C237.665,975 25,762.335 25,500 C25,237.665 237.665,25 500,25 C762.335,25 975,237.665 975,500 z" fill="#19A2FF" id="background-2"/>
+      <path d="M950,500 C950,748.528 748.528,950 500,950 C251.472,950 50,748.528 50,500 C50,251.472 251.472,50 500,50 C748.528,50 950,251.472 950,500 z" fill="#53B2FF" id="background-1"/>
+    </g>
+    <g id="ocs-url">
+      <path d="M902.992,380.107 L924.992,380.107 L830.653,670.28 L808.653,670.28 z" fill="#FFFFFF" id="slash-2"/>
+      <path d="M852.992,380.107 L874.992,380.107 L780.653,670.28 L758.653,670.28 z" fill="#FFFFFF" id="slash-1"/>
+      <path d="M739.533,556.848 L775.533,556.848 L775.533,592.848 L739.533,592.848 z" fill="#FFFFFF" id="colon-2"/>
+      <path d="M739.505,457.85 L775.505,457.85 L775.505,493.85 L739.505,493.85 z" fill="#FFFFFF" id="colon-1"/>
+      <path d="M619.548,389.93 Q581.46,389.931 559.59,399.494 Q537.719,409.057 526.825,425.772 Q515.931,442.487 515.931,461.281 Q515.931,489.888 537.22,508.349 Q558.342,526.811 607.906,537.954 Q638.175,544.607 646.491,552.091 Q654.807,559.576 654.807,569.055 Q654.807,579.035 646.076,586.602 Q637.343,594.17 621.211,594.169 Q599.589,594.17 587.947,579.367 Q580.795,570.22 578.467,552.756 L506.784,557.247 Q509.943,594.17 533.893,618.12 Q557.843,642.07 620.047,642.069 Q655.472,642.07 678.757,631.84 Q702.041,621.612 715.014,601.82 Q727.987,582.029 727.987,558.577 Q727.987,538.619 718.258,522.486 Q708.528,506.354 687.156,495.459 Q665.784,484.566 616.388,473.921 Q596.429,469.764 591.108,464.94 Q585.618,460.283 585.619,454.462 Q585.618,446.479 592.272,440.907 Q598.924,435.336 612.063,435.335 Q628.03,435.336 637.094,442.819 Q646.158,450.304 648.986,466.77 L720.005,462.611 Q715.347,424.691 690.815,407.31 Q666.283,389.931 619.548,389.93 z" fill="#FFFFFF" id="s"/>
+      <path d="M449.767,389.931 Q424.743,389.931 401.937,399.275 Q379.13,408.62 361.867,425.249 Q344.604,441.879 334.31,464.844 Q324.015,487.809 324.015,515.366 Q324.015,542.925 334.468,566.206 Q344.921,589.488 362.184,606.434 Q379.447,623.381 402.095,632.724 Q424.743,642.069 449.451,642.069 Q461.487,642.069 473.841,639.693 Q486.194,637.318 500.448,632.249 L506.784,630.032 L506.784,556.544 Q483.027,581.886 453.252,581.885 Q439.631,581.886 427.911,576.817 Q416.191,571.75 407.48,562.88 Q398.769,554.011 393.86,541.974 Q388.95,529.938 388.95,515.683 Q388.95,501.746 393.86,489.709 Q398.769,477.673 407.322,468.961 Q415.874,460.251 427.753,455.182 Q439.631,450.115 453.568,450.114 Q485.244,450.115 506.784,476.405 L506.784,402.284 Q491.579,395.95 477.8,392.94 Q464.021,389.931 449.767,389.931 z" fill="#FFFFFF" id="c"/>
+      <path d="M223.997,389.93 Q252.822,389.932 277.212,399.591 Q301.602,409.254 319.183,426.357 Q336.762,443.463 346.582,466.427 Q356.401,489.393 356.402,515.999 Q356.401,542.608 346.582,565.572 Q336.762,588.538 319.183,605.641 Q301.602,622.748 277.212,632.407 Q252.822,642.07 223.997,642.068 Q194.855,642.07 170.624,632.407 Q146.392,622.748 128.97,605.641 Q111.548,588.538 101.729,565.572 Q91.91,542.608 91.91,515.999 Q91.91,489.393 101.729,466.427 Q111.548,443.463 128.97,426.357 Q146.392,409.254 170.624,399.591 Q194.855,389.932 223.997,389.93 z M223.997,450.114 Q210.377,450.115 198.182,455.024 Q185.986,459.935 176.801,468.803 Q167.614,477.673 162.23,489.709 Q156.845,501.747 156.845,515.999 Q156.845,530.255 162.23,542.29 Q167.614,554.328 176.801,563.196 Q185.986,572.067 198.182,576.975 Q210.377,581.886 223.997,581.885 Q237.618,581.886 249.813,576.975 Q262.008,572.067 271.352,563.196 Q280.697,554.328 286.082,542.29 Q291.466,530.255 291.466,515.999 Q291.466,501.747 286.082,489.709 Q280.697,477.673 271.352,468.803 Q262.008,459.935 249.813,455.024 Q237.618,450.115 223.997,450.114 z" fill="#FFFFFF" id="o"/>
+    </g>
+  </g>
+</svg>
diff --git a/src/desktop/xdgurl.desktop b/src/desktop/xdgurl.desktop
deleted file mode 100644
index aba57f117912ed2f3ba256709fd5dac7464a5735..0000000000000000000000000000000000000000
--- a/src/desktop/xdgurl.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Name=xdgurl
-Exec=xdgurl %u
-Icon=xdgurl
-Type=Application
-Terminal=false
-NoDisplay=true
-Categories=Network;Utility;
-MimeType=x-scheme-handler/xdg;x-scheme-handler/xdgs;
diff --git a/src/desktop/xdgurl.svg b/src/desktop/xdgurl.svg
deleted file mode 100644
index a55a8e481d1abbe8fa585539fe9a41cdc3b53679..0000000000000000000000000000000000000000
--- a/src/desktop/xdgurl.svg
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.1"
-   id="svg2"
-   viewBox="0 0 1000 1000"
-   height="1000"
-   width="1000">
-  <defs
-     id="defs4" />
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     transform="translate(0,-52.362161)"
-     id="layer1">
-    <circle
-       r="475"
-       cy="552.36218"
-       cx="500"
-       id="path4138"
-       style="fill:#19a2ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-    <circle
-       r="450"
-       cy="552.36218"
-       cx="500"
-       id="path4138-0"
-       style="fill:#53b2ff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
-    <g
-       transform="translate(0,20)"
-       id="g4205">
-      <path
-         id="path4145"
-         style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:Futura;-inkscape-font-specification:'Futura Medium';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         d="m 192.87313,533.47911 -74.36008,-101.11803 56.93857,0 46.10326,64.24502 46.95309,-64.24502 58.63824,0 -76.48467,101.11803 88.59474,119.21524 -56.93858,0 -60.76282,-82.34221 -62.25002,82.34221 -58.42577,0 91.99404,-119.21524 z" />
-      <path
-         id="path4147"
-         style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:Futura;-inkscape-font-specification:'Futura Medium';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         d="m 472.62967,312.47491 48.01537,0 0,340.84056 -48.01537,0 0,-21.67066 c -18.83789,18.41297 -40.15445,27.61946 -63.94968,27.61946 -28.32765,0 -51.83961,-10.33959 -70.53586,-31.01878 -18.55461,-21.1041 -27.83192,-47.44882 -27.83192,-79.03415 0,-30.87715 9.27731,-56.65531 27.83192,-77.3345 18.41298,-20.82082 41.57084,-31.23123 69.47357,-31.23123 24.22015,0 45.8908,9.91468 65.01197,29.74403 z M 359.17742,549.21134 c 0,19.82935 5.31143,35.97612 15.9343,48.44029 10.90615,12.60581 24.64506,18.90871 41.21674,18.90871 17.70478,0 32.01024,-6.09045 42.91639,-18.27134 10.90615,-12.60581 16.35922,-28.61093 16.35922,-48.01537 0,-19.40445 -5.45307,-35.40957 -16.35922,-48.01538 -10.90615,-12.32253 -25.06997,-18.48379 -42.49148,-18.48379 -16.43004,0 -30.16895,6.23208 -41.21673,18.69625 -10.90615,12.60581 -16.35922,28.18602 -16.35922,46.74063 z" />
-      <path
-         id="path4149"
-         style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:medium;line-height:125%;font-family:Futura;-inkscape-font-specification:'Futura Medium';letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
-         d="m 722.24998,648.95295 c 0,9.77304 -0.3541,18.34215 -1.06229,25.70734 -0.56655,7.50683 -1.41638,14.09301 -2.54949,19.75854 -3.39932,15.58021 -10.05632,28.96502 -19.97099,40.15445 -18.69625,21.52901 -44.4036,32.29352 -77.12204,32.29352 -27.61947,0 -50.35241,-7.43601 -68.19883,-22.30802 -18.41297,-15.29693 -29.03584,-36.47186 -31.86861,-63.52477 l 48.01537,0 c 1.8413,10.19796 4.88652,18.05889 9.13567,23.58278 9.91468,12.88908 24.36178,19.33362 43.34131,19.33362 34.98465,0 52.47698,-21.4582 52.47698,-64.37459 l 0,-28.89421 c -18.97953,19.40444 -40.86264,29.10666 -65.64934,29.10666 -28.18601,0 -51.27305,-10.19795 -69.26111,-30.59386 -18.1297,-20.67919 -27.19455,-46.52817 -27.19455,-77.54695 0,-30.16895 8.42748,-55.80548 25.28243,-76.90959 18.1297,-22.37884 42.06657,-33.56826 71.81061,-33.56826 26.06144,0 47.73209,9.70222 65.01196,29.10666 l 0,-27.37031 47.80292,0 z m -45.8908,-98.15532 c 0,-20.11264 -5.38225,-36.18859 -16.14676,-48.22784 C 649.30627,490.24726 635.3549,484.086 618.35831,484.086 c -18.1297,0 -32.43517,6.72782 -42.9164,20.18345 -9.48976,12.03925 -14.23464,27.61946 -14.23464,46.74063 0,18.83789 4.74488,34.27647 14.23464,46.31572 10.33959,13.17236 24.64506,19.75854 42.9164,19.75854 18.27133,0 32.71844,-6.657 43.34131,-19.971 9.77304,-12.03925 14.65956,-27.47782 14.65956,-46.31571 z" />
-      <path
-         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m 739.50519,490.21255 36,0 0,36 -36,0 z"
-         id="rect4156" />
-      <path
-         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m 739.53345,589.21057 36,0 0,36 -36,0 z"
-         id="rect4156-9" />
-      <path
-         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m 852.99238,412.46896 22,0 -94.33913,290.17369 -22,0 z"
-         id="rect4156-5" />
-      <path
-         style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-         d="m 902.99238,412.46896 22,0 -94.33913,290.17369 -22,0 z"
-         id="rect4156-5-3" />
-    </g>
-  </g>
-</svg>