Setup Connectivity
This is the process of setting up everything we need to securely access StreamShuttle on any of your devices from anywhere. Although you don't NEED to follow these instructions exactly. Doing so will ensure everything is setup correctly and as quickly as possible. Although this may seem a little daunting, try not to worry too much. It's extremely easy to restart everything from scratch so you can't really mess anything up ( if you do run into trouble you can always contact us and we will help make sure everything is set up correctly). Also you only really need to set this up once!
The first step is to decide if we need DDNS. Most residential ISPs only provide Dynamic IP addresses so you will mostly likely need to enable this. This service ensures you can always access StreamShuttle regardless of whether your IP address changes. You can find out more about DDNS here.
Once DDNS is enabled we need to determine if we want to setup the VPN. Setting up the VPN is essential to access StreamShuttle from anywhere securely. You can find out more about how a VPN works here.
Before doing anything else make sure you have already installed WireGuard. Visit WireGuard.com to download and install.
After WireGuard is installed you can begin to configure the VPN. If you see the warning "VPN Server Needs To Be Restarted!" appear during configuration. You can disregard until all changes are made and restart once rather than after every change.
When performing most VPN actions you will be prompted for admin permissions. This is because in order to Start/Stop the system VPN service admin permissions are required.
By default the VPN will utilize the "External Address" as the "VPN server access address". Initially "External Address" will be the same as the "External IP". StreamShuttle will automatically try and detect your public IP first by querying your router and if unsuccessful it will fall back to querying an IP address lookup service (Cloudflare 1.1.1.1 by default).
However if DDNS is enabled then the "External Address" will automatically be updated to include your unique DDNS address.
The "VPN Server Settings" section allows you to configure the server settings. Most of the time there is no need to adjust these. However the "Port" is picked randomly during the first run; so although unlikely it's possible it has picked a port that conflicts with something else. Anything between (8999 - 49999) should work.
Ensure the WireGuard VPN Server keys exist by clicking "Generate VPN Server Keys" at least once, you can do it now.
The "VPN Server Actions" allow you to start/stop/update and restart the VPN server.
The UPNP Configuration area is used try and automatically open the port for the VPN. By checking "Attempt to open port for VPN", StreamShuttle will try to open the port via UPnP / NAT-PMP. If this does not work you will see a "FAILED" message. In this case you will need to manually forward the port in your router.
If you need to manually forward the port, it's usually pretty easy to find instructions by searching for your routers model number and "open port" or "port forward" on any search engine.
Lastly we need to generate VPN configurations for any clients that wish to connect to StreamShuttle. Clicking "Add New VPN Client" will add a new client entry. You can change the "Client Name" to something more meaningful so you know what device its for ex. you could use "John Smith's Iphone".
We'll come back to finish installing the WireGuard VPN configuration on the client devices themselves in just a minute but first lets make sure the SSL certificate is configured correctly.
We want to make sure the VPN is enabled / disabled before we generate our final certificate so the VPN address can be added as a "trusted address". You can do this by clicking "Regenerate Certificate".
Restart the WireGuard VPN by clicking "Update Configuration and Restart VPN"
Restart the StreamShuttle Control Panel
- we need to restart the control panel so that all components will utilize the newly generated SSL certificate. In the top left corner of the control panel click "App->Quit" then restart StreamShuttle.
Ok almost finished now we just need to install the SSL certificate and VPN configuration on any client devices we want to be able to access StreamShuttle from.
You should now be able to access StreamShuttle via 1 or 2 address. The local IP address and or via the VPN server IP (if the VPN is enabled)
When installing for the first time on the device we can start off by installing the SSL certificate.
Depending on the device and operating system of the device where the certificate is being installed there are multiple ways to get the certificate onto the actual device.
Adding the SSL certificate onto the device
OPTION 1
You can simply "Download Certificate" from the StreamShuttle control panel and move it the device manually via sd-card, usb drive, airdrop, email.
OPTION 2
If the device is on the same network as StreamShuttle the following procedure can be used to install the certificate on pretty much any device.
First make sure the machine running StreamShuttle and the device you want to use are on the same network. Lets say I want to install the certificate onto "My Iphone". I'll first open the web browser on "My Iphone" and enter visit the "Local Access URL" (the address found in your control panel not from the screenshot above). (If using IOS this MUST be done with Safari using IOS as certificates can only be installed using the Safari browser) At this point you will probably be met with a "Certificate Error" for now "Accept the certificate" so StreamShuttle will load.
Chrome example
On chrome you need to first click "Advanced" then you will be able to click "Proceed to X (unsafe)" which will allow you to load StreamShuttle.
Safari example
On Safari you need to first click "Show Detail" then you will be able to click "visit this website" which will allow you to load StreamShuttle.
The process would be similar in other browsers
You should now see the StreamShuttle login page. Before logging in though, we also need to "Accept the certificate" for the StreamShuttle API address. To do this simply click the "Accept API Certificate" button which will again require you to "Accept the certificate". After bypassing this second warning you should see a page with the StreamShuttle logo. You should be able to login to StreamShuttle now. (You may need to refresh the page or close and re-open safari before login actually works, since it may not yet be aware of the newly allowed certificate.)
Downloading the Certificate
Next we need to actually download and install the certificate. Go ahead and login to StreamShuttle and the next page you will see is the dashboard. There will be a button labeled "Download Certificate". Clicking this will download the actual certificate on the device.
Installing the certificate
IOS
* in the following images "user@macbook" is just a placeholder example. What you see will be similar and will still probably have "mkcert" in the name
* If you don't see this message upon download, head to your downloads folder in the "Files" app and try to open the certificate which should then present the message.
Android
Adding the VPN configuration to the device.
First make sure the WireGuard client is installed on the client device. You can install WireGuard via the devices app store or by checking out WireGuard download.
If the client device is a phone / tablet or has a camera; The easiest way to add the client VPN configuration is to simply head over to the StreamShuttle control panel. Then under the VPN Configuration section and then the VPN Clients area; Find the correct client and click the "Show Config QR Code". This will open a pop-up containing the configuration as a QR code. Now back to the WireGuard app on the client device, simply "Add a new WireGuard Tunnel" you should then be able to "Create from QR code", which will allow you to take a picture of the QR code and automatically import the configuration.
Alternatively you can download the client configuration and manually move to the device through other means.
Test connectivity and install the StreamShuttle app
The last step is to ensure the VPN works as expected and to finally install the StreamShuttle app. Lets see if we can correctly access StreamShuttle over the VPN. From the WireGuard app make sure the newly created tunnel is enabled.
Then head over to you devices web browser and try to access StreamShuttle using the "VPN Access URL" this time. If StreamShuttle loads without any certificate issues. Hurray! You can now install the app and finish configuring cameras in StreamShuttle itself.
If you cannot access StreamShuttle via the "VPN Access URL" head over to "troubleshooting connectivity".
Install the StreamShuttle app
IOS
In the web browser on the device while visiting the "VPN Access URL". You can click the "share" options and then click the option to "Add to Home Screen". Thats it! StreamShuttle should now be added to your Home Screen and work like any other app.
If the icon is NOT the StreamShuttle logo this usually means the SSL certificate has not been installed correctly or safari needs to be fully restarted to reflect the changes. Make sure the certificate is installed first, fully close and restart safari, make sure the "lock" is now displayed as expected, remove the current app and try to add it back to the home screen again.
Android
In the web browser on the device while visiting the "VPN Access URL". Upon first visiting you should get a prompt to install the application. If not you can open the chrome "options" and select "Install App". Thats it! StreamShuttle should now be added to your Home Screen and work like any other app.