Join – An Awesome Browser Plugin/Android App

Join is an app for Android that provides several functions. When used with the desktop app (Windows) or any desktop that supports the Chrome web browser, you can receive all of your phone’s notifications, share the clipboard, share files, and view/reply to SMS text messages.  The last item is probably the feature that is most used. Below is what the initial SMS notification pop up looks like in Chrome.

For the techies reading, Join also has a full API, Tasker, and IFTTT support. So the things you can do with it are only limited by your imagination.

Join has 30 day trial and after that a one time $4.99 payment.

Using Synology’s Application Portal to Secure Non-Secure Sites

As a recent Synology convert, I continue to find interesting and well thought out features. Following up on last week’s Synology & Let’s Encrypt, Certs Made Easy one feature that I really like is the Application Portal which can be found in the Control Panel.

Inside that, click the Reverse Proxy tab and this is where the fun begins.

The idea behind this is that you will use Synology’s secure https connection to reverse proxy to an insecure http connection somewhere on your LAN, thus making that connection secure – especially if you’re connecting from outside your network.

Click Create and you’ll see something like this:

  1. Give the rule a Description.
  2. Source is HTTPS, usually * for any hostname. If you have many hostnames assigned to your Synology, you could restrict it to one. Port should be one that isn’t in use.
  3. Destination is where your unsecured host is. If your service is running on your Synology, it can simply be localhost, or if it is on another device elsewhere on your network, put in the URL you use to access it.
  4. If you destination host uses a port other than 80, use that for Port.

Below is an example of how I route a couple of services on my own LAN.

This is a great was to use a managed certificate on the Synology to secure other sites, even on other devices, with https.

Synology & Let’s Encrypt, Certs Made Easy

Adding certificates to any service can be tricky and sometimes really frustrating. When I first started exploring my Synology I was delighted to see it has built-in support for Let’s Encrypt certs.  For those that don’t already know, Let’s Encrypt (aka Certbot) provides free and industry-wide supported certificates.

Adding a cert to Synology is very simple and it supports multiple certificates with auto-renewal.

  1. To begin, just login to your Synology, enter the Control Panel and click on Security.
  2. Next, click the Certificate tab and click Add.
  3. From here, you want to Add a new certificate and click Next.
  4. Next, Get a certificate from Let’s Encrypt and click Next.
  5. Next fill out your Domain info, it would look something like this:
  6. Subject Alternate Name just means if you have subdomains, you would add them here. Like for a website, or any other. You can, in theory, add a completely different domain in this list and have it work, such as, but think it is better to do one Let’s Encrypt cert per domain to keep things organized.

For reference, here’s how my sites look with their respective domain certs.

Best of all, your certs will renew automatically with the Synology and Let’s Encrypt. Once set, you really only need to periodically check to make sure this is happening.

Add PATH Environment Variable to launchd Scripts

Recently I was having an issue with Node.js not being detected in my PATH with a Python script executed by launchd. This was bizarre to me for a couple of reasons.

First, I’ve been using launchd for awhile now, and any LaunchAgents run under my profile usually has detected anything in my path, including Homebrew installed binaries.

Second, when testing the script via Terminal it worked perfectly.

After reading the available launchd keys, I discovered you can add an EnvironmentVariable with a list of your PATHs that will be executed before the ProgramArguments key.

It worked perfectly, and since it seems to be little used, I thought I’d post it here. Here is an example of the format you want to use in your launchd item:


Gatekeeper & App Translocation on macOS

This is a quick trinket to fix an issue with App Translocation and Gatekeeper.

Starting with 10.12 an App from outside the App Store when run from a disk image or the downloads folder, path translocation kicks in to protect the system and runs the app in a contained read-only environment.  At least from what I can understand from the documentation.

What is supposed to happen is when a user copies that app into the Applications folder (or really most anywhere else that is valid) and run again, Gatekeeper pops-up and asks if you’re really sure you want to run it because it’s from an unknown developer and that you need to visit System Preferences -> Security to Allow it.

Somewhere along the line, an attribute is set to turn off the quarantine for the read only mode and make the app behave normally.  For whatever reason, this sometimes fails causing the app to not be able to save files or even it’s own preferences.

To fix this, you can use the xattr command via the Terminal to manually remove the quarantine attribute like so:

Synctunes – iTunes to Android Music Sync

Synctunes is an app for Android with a desktop counterpart (macOS or Windows) that will let you sync your iTunes library, or selected playlists from an iTunes library to your Android device.

I looked at quite a few of these and settled on this one as it met all my requirements:

  1. Sync over wireless.
  2. Sync selected playlists.
  3. Use “standard” or custom locations on my android phone so that the native apps could find my media in expected location(s).
  4. Not be a service that is constantly running on my phone and consuming battery life.
  5. Sync all meta data like artwork, tracks, album and so on.
  6. Sync only changed/new tracks on subsequent syncs.

Synctunes does the job perfectly. Below are a few screen shots to show you how simple it is to use. The screenshots of the desktop app are for the macOS version, but the Windows version is nearly identical.

You’ll also note that I have SynctunesPro. The free version can sync up to 100 songs, but that gives you a good idea for testing its capabilities. As soon as I realized that it did what I wanted, I spent the $2.99 for the Pro app with unlimited sync. Money well spent considering the app is also “family sharing” enabled so everyone in the household can sync their own iTunes libraries too!

First, download the app and open it up. You can choose a location and see how many items are already on your device from any previous sync. It also gives you your Wifi information.

Open up the desktop app and you’ll see that it auto detects your device(s) in the right box. Just click to select it and then click connect.Select the playlist(s) you want, click Sync and off you go!You can watch the progress on your phone, complete with album art, as it syncs too! (Excuse the art mismatch with the actual sync metadata below. That’s me unable to get a screenshot during the sync that matched. My library is up-to-date and as it is scanning it is so fast the album information is literally “blink of an eye” quick! When it actually has something to transfer it appears as it should.)