Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save arjamizo/650cf7b60ce63c3b7331d43518ab91d0 to your computer and use it in GitHub Desktop.
Save arjamizo/650cf7b60ce63c3b7331d43518ab91d0 to your computer and use it in GitHub Desktop.

Revisions

  1. arjamizo revised this gist Jun 2, 2017. 1 changed file with 12 additions and 1 deletion.
    13 changes: 12 additions & 1 deletion Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -38,7 +38,18 @@ This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it

    7. **Create a .desktop file:**

    `echo -e "[Desktop Entry]\nExec=nw /home/$USER/apps/Signal\nIcon=/home/$USER/apps/Signal/signal.png\nName=Signal\nPath=\nStartupNotify=true\nTerminal=false\nType=Application" > ~/.local/share/applications/signal.desktop`
    ```
    cat > ~/.local/share/applications/signal.desktop <<EOF
    [Desktop Entry]
    Exec=nw /home/$USER/apps/Signal
    Icon=/home/$USER/apps/Signal/signal.png
    Name=Signal
    Path=
    StartupNotify=true
    Terminal=false
    Type=Application
    EOF
    ```
    And get an icon for it:
  2. @shvchk shvchk revised this gist Apr 30, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    ## Install Signal Desktop as a standalone app, without Chrome dependency [\*](#note-on-chrome-dependency)

    There is now an easier way with [automatic Signal Desktop installer](https://github.com/shvchk/Signal-Desktop-installer#install-signal-desktop-as-a-standalone-app-without-chrome-dependency-), which also keeps Signal auto updated.
    **There is now an easier way with [automatic Signal Desktop installer](https://github.com/shvchk/Signal-Desktop-installer#install-signal-desktop-as-a-standalone-app-without-chrome-dependency-), which also keeps Signal auto updated.**

    This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it is more or less the same for macOS and Windows. I will provide CLI commands, as they are universal for different Linux distros, but most of the steps could be as easily done with your GUI apps of choice.

  3. @shvchk shvchk revised this gist Apr 30, 2017. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,7 @@
    ## Install Signal Desktop as a standalone app, without Chrome dependency [\*](#note-on-chrome-dependency)

    There is now an easier way with [automatic Signal Desktop installer](https://github.com/shvchk/Signal-Desktop-installer#install-signal-desktop-as-a-standalone-app-without-chrome-dependency-), which also keeps Signal auto updated.

    This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it is more or less the same for macOS and Windows. I will provide CLI commands, as they are universal for different Linux distros, but most of the steps could be as easily done with your GUI apps of choice.

    1. **[Install Node.js](https://nodejs.org/en/download/package-manager/)**
  4. @shvchk shvchk revised this gist Apr 12, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    ## Install Signal Desktop as a standalone app, without Chrome dependency [\*](#note-on-chrome-dependency)

    This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it is more or less the same for MacOS and Windows. I will provide CLI commands, as they are universal for different Linux distros, but most of the steps could be as easily done with your GUI apps of choice.
    This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it is more or less the same for macOS and Windows. I will provide CLI commands, as they are universal for different Linux distros, but most of the steps could be as easily done with your GUI apps of choice.

    1. **[Install Node.js](https://nodejs.org/en/download/package-manager/)**

  5. @shvchk shvchk revised this gist Apr 12, 2017. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -31,8 +31,10 @@ This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it
    6. **Signal Desktop is ready to use, launch it:**

    `nw ~/apps/Signal`

    But you would probably want a more convenient way to launch it, so…

    7. **But you would probably want a more convenient way to launch it, so let's create a .desktop file:**
    7. **Create a .desktop file:**

    `echo -e "[Desktop Entry]\nExec=nw /home/$USER/apps/Signal\nIcon=/home/$USER/apps/Signal/signal.png\nName=Signal\nPath=\nStartupNotify=true\nTerminal=false\nType=Application" > ~/.local/share/applications/signal.desktop`

  6. @shvchk shvchk revised this gist Apr 12, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -20,9 +20,9 @@ This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it

    `wget -O signal.zip "https://j.mp/signal-desktop-crx"`

    (this redirects to package download from Google Chrome Store servers)
    This redirects to package download from Google Chrome Store servers.

    If you want to know more, there are [other options to get the package](#other-options-to-get-signal-desktop-package).
    If you want to know more, there are also [other options to get the package](#other-options-to-get-signal-desktop-package).

    5. **Unzip Signal Desktop package:**

  7. @shvchk shvchk revised this gist Apr 12, 2017. 1 changed file with 7 additions and 1 deletion.
    8 changes: 7 additions & 1 deletion Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    ## Install Signal Desktop as a standalone app, without Chrome dependency
    ## Install Signal Desktop as a standalone app, without Chrome dependency [\*](#note-on-chrome-dependency)

    This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it is more or less the same for MacOS and Windows. I will provide CLI commands, as they are universal for different Linux distros, but most of the steps could be as easily done with your GUI apps of choice.

    @@ -72,3 +72,9 @@ For any further info (bug reporting, contributing, etc.) please use official Sig
    - Just give it the URL of the app page, it will do the rest.
    - You will get a crx file, which is more or less a zip archive, so rename it to signal.zip and move to the previously created app directory.
    - Go to step 5

    ---

    ##### Note on Chrome dependency

    This setup is not dependent on Chromium (or derivative) browser installation and does not use any of its files or settings. Still, at its core NW.js and therefore this setup uses the same technology used in Chromium based browsers, including Blink rendering engine and V8 JavaScript engine.
  8. @shvchk shvchk revised this gist Apr 12, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -34,7 +34,7 @@ This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it

    7. **But you would probably want a more convenient way to launch it, so let's create a .desktop file:**

    `echo "[Desktop Entry]\nExec=nw /home/$USER/apps/Signal\nIcon=/home/$USER/apps/Signal/signal.png\nName=Signal\nPath=\nStartupNotify=true\nTerminal=false\nType=Application" > ~/.local/share/applications/signal.desktop`
    `echo -e "[Desktop Entry]\nExec=nw /home/$USER/apps/Signal\nIcon=/home/$USER/apps/Signal/signal.png\nName=Signal\nPath=\nStartupNotify=true\nTerminal=false\nType=Application" > ~/.local/share/applications/signal.desktop`

    And get an icon for it:

  9. @shvchk shvchk revised this gist Apr 11, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -22,7 +22,7 @@ This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it

    (this redirects to package download from Google Chrome Store servers)

    If you want to know more, there are [other options to get the package](#Other-options-to-get-Signal-Desktop-package).
    If you want to know more, there are [other options to get the package](#other-options-to-get-signal-desktop-package).

    5. **Unzip Signal Desktop package:**

  10. @shvchk shvchk revised this gist Apr 11, 2017. 1 changed file with 31 additions and 25 deletions.
    56 changes: 31 additions & 25 deletions Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -18,31 +18,11 @@ This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it

    4. **Get latest Signal Desktop package:**

    TL;DR:

    `wget -O signal.zip "https://j.mp/signal-desktop-crx"` (this redirects to download package from Google Chrome Store servers)

    You can now go to step 5, but if you want to know more, here we go. To get a package, you have 3 options:

    - Build it yourself:
    - [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/) (it is probably already installed)
    - Install `sass` gem: `sudo gem install sass`
    - [Download Signal Desktop sources](https://github.com/WhisperSystems/Signal-Desktop/releases)
    - Unpack it somewhere, e.g. `/tmp`, and go into unpacked directory (it will be like `/tmp/Signal-Desktop-0.34.0`)
    - Get dependencies: `npm install`
    - Build it: `node_modules/grunt-cli/bin/grunt`
    - You now have built Signal Desktop app in `dist` directory, move its contents to the previously created app directory: `mv dist/* ~/apps/Signal/`
    - Go back to the previously created app directory: `cd ~/apps/Signal`
    - You can now go to step 6, skipping step 5

    - Download it from Google servers directly:
    - Find Signal Desktop app ID in Chrome store, it is a 32 random letters string in the URL of the app page, after the last `/` and before any other non-letter symbol, e.g. in `https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en` URL app ID is `bikioccmkafdpakkkcpdbppfkghcmihk`. Well, `bikioccmkafdpakkkcpdbppfkghcmihk` is actually Signal Desktop app ID, so you could just trust me and use it :)
    - To download package, you can use this URL: `https://clients2.google.com/service/update2/crx?response=redirect&prodversion=999&x=id%3D_____%26installsource%3Dondemand%26uc`, replacing `_____` with app ID, so that would be `https://clients2.google.com/service/update2/crx?response=redirect&prodversion=999&x=id%3Dbikioccmkafdpakkkcpdbppfkghcmihk%26installsource%3Dondemand%26uc` with Signal Desktop app ID, this is where shortened `https://j.mp/signal-desktop-crx` from TL;DR redirects to.
    - You will get a crx file, which is more or less a zip archive, so rename it to signal.zip and move to the previously created app directory.

    - Download it from Google servers with [chrome-extension-downloader.com](http://chrome-extension-downloader.com):
    - Just give it the URL of the app page, it will do the rest.
    - You will get a crx file, which is more or less a zip archive, so rename it to signal.zip and move to the previously created app directory.
    `wget -O signal.zip "https://j.mp/signal-desktop-crx"`

    (this redirects to package download from Google Chrome Store servers)

    If you want to know more, there are [other options to get the package](#Other-options-to-get-Signal-Desktop-package).

    5. **Unzip Signal Desktop package:**

    @@ -66,3 +46,29 @@ This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it
    Don't forget, though, that this kind of setup is not supported by Open Whisper Systems, and for now you are on your own for keeping it up-to-date (when new version is available, just delete everything except icon from app directory and repeat steps 4 and 5 to install it).

    For any further info (bug reporting, contributing, etc.) please use official Signal Desktop repository: https://github.com/WhisperSystems/Signal-Desktop#signal-desktop

    ---

    #### Other options to get Signal Desktop package

    - Build it yourself:
    - [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/) (it is probably already installed)
    - Install `sass` gem: `sudo gem install sass`
    - [Download Signal Desktop sources](https://github.com/WhisperSystems/Signal-Desktop/releases)
    - Unpack it somewhere, e.g. `/tmp`, and go into unpacked directory (it will be like `/tmp/Signal-Desktop-0.34.0`)
    - Get dependencies: `npm install`
    - Build it: `node_modules/grunt-cli/bin/grunt`
    - You now have built Signal Desktop app in `dist` directory, move its contents to the previously created app directory: `mv dist/* ~/apps/Signal/`
    - Go back to the previously created app directory: `cd ~/apps/Signal`
    - You can now go to step 6, skipping step 5

    - Download it from Google servers directly:
    - Find Signal Desktop app ID in Chrome store, it is a 32 random letters string in the URL of the app page, after the last `/` and before any other non-letter symbol, e.g. in `https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en` URL app ID is `bikioccmkafdpakkkcpdbppfkghcmihk`. Well, `bikioccmkafdpakkkcpdbppfkghcmihk` is actually Signal Desktop app ID, so you could just trust me and use it :)
    - To download package, you can use this URL: `https://clients2.google.com/service/update2/crx?response=redirect&prodversion=999&x=id%3D_____%26installsource%3Dondemand%26uc`, replacing `_____` with app ID, so that would be `https://clients2.google.com/service/update2/crx?response=redirect&prodversion=999&x=id%3Dbikioccmkafdpakkkcpdbppfkghcmihk%26installsource%3Dondemand%26uc` with Signal Desktop app ID, this is where shortened `https://j.mp/signal-desktop-crx` from step 4 redirects to.
    - You will get a crx file, which is more or less a zip archive, so rename it to signal.zip and move to the previously created app directory.
    - Go to step 5

    - Download it from Google servers with [chrome-extension-downloader.com](http://chrome-extension-downloader.com):
    - Just give it the URL of the app page, it will do the rest.
    - You will get a crx file, which is more or less a zip archive, so rename it to signal.zip and move to the previously created app directory.
    - Go to step 5
  11. @shvchk shvchk revised this gist Apr 11, 2017. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,6 @@
    ## Install Signal Desktop as a standalone app, without Chrome dependency

    This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it is more or less the same for MacOS and Windows.
    This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it is more or less the same for MacOS and Windows. I will provide CLI commands, as they are universal for different Linux distros, but most of the steps could be as easily done with your GUI apps of choice.

    1. **[Install Node.js](https://nodejs.org/en/download/package-manager/)**

  12. @shvchk shvchk created this gist Apr 11, 2017.
    68 changes: 68 additions & 0 deletions Install Signal Desktop as a standalone app.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,68 @@
    ## Install Signal Desktop as a standalone app, without Chrome dependency

    This guide is for Linux systems, but as Node.js and NW.js are cross-platform, it is more or less the same for MacOS and Windows.

    1. **[Install Node.js](https://nodejs.org/en/download/package-manager/)**

    2. **Install NW.js:**

    `sudo npm install -g nw` (global)

    or

    `npm install nw` (current user)

    3. **Create app folder and go into it:**

    `mkdir -p ~/apps/Signal && cd $_`

    4. **Get latest Signal Desktop package:**

    TL;DR:

    `wget -O signal.zip "https://j.mp/signal-desktop-crx"` (this redirects to download package from Google Chrome Store servers)

    You can now go to step 5, but if you want to know more, here we go. To get a package, you have 3 options:

    - Build it yourself:
    - [Install Ruby](https://www.ruby-lang.org/en/documentation/installation/) (it is probably already installed)
    - Install `sass` gem: `sudo gem install sass`
    - [Download Signal Desktop sources](https://github.com/WhisperSystems/Signal-Desktop/releases)
    - Unpack it somewhere, e.g. `/tmp`, and go into unpacked directory (it will be like `/tmp/Signal-Desktop-0.34.0`)
    - Get dependencies: `npm install`
    - Build it: `node_modules/grunt-cli/bin/grunt`
    - You now have built Signal Desktop app in `dist` directory, move its contents to the previously created app directory: `mv dist/* ~/apps/Signal/`
    - Go back to the previously created app directory: `cd ~/apps/Signal`
    - You can now go to step 6, skipping step 5

    - Download it from Google servers directly:
    - Find Signal Desktop app ID in Chrome store, it is a 32 random letters string in the URL of the app page, after the last `/` and before any other non-letter symbol, e.g. in `https://chrome.google.com/webstore/detail/signal-private-messenger/bikioccmkafdpakkkcpdbppfkghcmihk?hl=en` URL app ID is `bikioccmkafdpakkkcpdbppfkghcmihk`. Well, `bikioccmkafdpakkkcpdbppfkghcmihk` is actually Signal Desktop app ID, so you could just trust me and use it :)
    - To download package, you can use this URL: `https://clients2.google.com/service/update2/crx?response=redirect&prodversion=999&x=id%3D_____%26installsource%3Dondemand%26uc`, replacing `_____` with app ID, so that would be `https://clients2.google.com/service/update2/crx?response=redirect&prodversion=999&x=id%3Dbikioccmkafdpakkkcpdbppfkghcmihk%26installsource%3Dondemand%26uc` with Signal Desktop app ID, this is where shortened `https://j.mp/signal-desktop-crx` from TL;DR redirects to.
    - You will get a crx file, which is more or less a zip archive, so rename it to signal.zip and move to the previously created app directory.

    - Download it from Google servers with [chrome-extension-downloader.com](http://chrome-extension-downloader.com):
    - Just give it the URL of the app page, it will do the rest.
    - You will get a crx file, which is more or less a zip archive, so rename it to signal.zip and move to the previously created app directory.

    5. **Unzip Signal Desktop package:**

    `unzip signal.zip`

    6. **Signal Desktop is ready to use, launch it:**

    `nw ~/apps/Signal`

    7. **But you would probably want a more convenient way to launch it, so let's create a .desktop file:**

    `echo "[Desktop Entry]\nExec=nw /home/$USER/apps/Signal\nIcon=/home/$USER/apps/Signal/signal.png\nName=Signal\nPath=\nStartupNotify=true\nTerminal=false\nType=Application" > ~/.local/share/applications/signal.desktop`

    And get an icon for it:

    `wget -O signal.png "https://drive.google.com/uc?export=view&id=0B-sCqfnhKgTLbmdTSEpTaVVuRGM"`

    Now Signal Desktop should appear in the programs list.


    Don't forget, though, that this kind of setup is not supported by Open Whisper Systems, and for now you are on your own for keeping it up-to-date (when new version is available, just delete everything except icon from app directory and repeat steps 4 and 5 to install it).

    For any further info (bug reporting, contributing, etc.) please use official Signal Desktop repository: https://github.com/WhisperSystems/Signal-Desktop#signal-desktop