General Settings
Option | Description |
---|---|
Start at boot | Should StreamShuttle be started automatically when the computer is started. On Linux you will probably need to enable "automatic login" for the user account that is running StreamShuttle in order for it actually start. |
Prevent Sleep | Prevents the computer from sleeping while StreamShuttle is running |
Hub Settings
Used to configure the hubs running on this PC.
By default both the Temp Event Root and Temp DB are set to be use memory. However if there is a crash or the computer is shut down unexpectedly you will lose any events that haven't completed. You can ensure no data is lost by unchecking "Use Memory" for the Temp Event Root. (You also specify a specific place to persist any Temp Data. Ideally a different disk than the Storage Root) You will also need to make sure the Temp DB is persisted to disk, by unchecking "In Memory" or by making sure "Snapshot" is checked.
Leaving the Temp DB in memory while also enabling "Snapshotting" will be the most performant. Otherwise you may run into performance issues if storing the Temp DB directly to disk, especially if the disk is not an SSD or fast enough. (With snapshotting enabled most drives wlll be sufficient for storing the temp data, even slower external USB style drives)
The events will be recovered the next time StreamShuttle is restarted.
Option | Description |
---|---|
Hub Name | Name used to identify the hub |
Enabled | Toggles whether or not this hub should be started when StreamShuttle starts |
Storage Root | This is the directory where media events and all hub related data is stored. |
Temp Event Root | Directory where temporary event data is stored or Use Memory |
Temp DB - in memory | Should we store the Temp Event DB in memory? |
Temp DB - snapshot | Should we snapshot the in memory db? |
Run global GPU detector | Should we run a global GPU detector at this hub? Should only enable after ensuring device based GPU detection works as expected. |
* Most changes require the hub services to be restarted. Changing the "Storage Root" without first copying the existing data to new location will result in data loss.
Certificate Options
Utilizing a valid certificate is required to ensure the App can be fully utilized on mobile devices (enables installation as a PWA and Enables push notifications)
A certificate is automatically created when StreamShuttle started for the first time. This certificate is used to ensure traffic from any device to the services are secured. This certificate will need to be manually installed on any devices where the app is used (if you want to be able to utilize without pesky "insecure / self signed certificate" warnings). These warnings are there to alert you that this certificate comes from an "untrusted" source. Which is true since we just generated it and we didn't utilize one of the "trusted authorities" to-do so. Installing the certificate on the device lets the device know that this certificate should in fact be trusted.
Option | Description |
---|---|
Install Certificate | install the certificate on this device. Enables viewing StreamShuttle without certificate warnings (on this device) |
Regenerate Certificate | Regenerates the certificate utilizing all the domains from the latest configuration. You will need to re-generate the certificate if any of the domains used to access the StreamShuttle services change (ex. you update the VPN server address, or the device local IP changes (enable device static mapping if possible)). Regenerating also means you will need to re-install the certificate on any devices that access StreamShuttle |
Open Certificate Directory | Opens the directory where the certificate and private key are stored. |
Download Certificate | Download the certificate which can be install on devices that will have access to StreamShuttle. (The certificate can also be downloaded in the "Dashboard" area from within the Web UI) |
Service Actions
Used to view logs and manage application services.
Option | Description |
---|---|
Show Recent Logs | Opens a window to view the latest entries from the api and hub logs "Open logs directory" - opens file browser at directory where all logs are stored |
Stop Services | Stops api, hub and ui services |
Restart Services | Ensures api, hub and ui services are stopped then started |
DDNS Configuration
DDNS short for Dynamic DNS is a service that can be utilized to ensure you always know what your home IP address is. Most ISP's (Internet Service Providers) do not provide Static IP address to their customers. This means that your home IP address could change at any time. Although this doesn't usually happen that often; If you have a power outage or there is maintenance in your area, you might end up with a new IP when service is restored. This service works by updating a DNS server with you're new IP address. This ensures you can always reach your home network without having to deal with this scenario of your IP changing. (which normally would require having to update the new IP address in configurations on all devices). Instead of using the IP address to access your network you instead use a DDNS address which always knows your latest IP address.
* Ideally would enable before VPN
Enable DDNS
- Toggles whether or not we should utilize the DDNS service.
VPN Configuration
The following section allows you to quickly setup and manage a secure VPN. Allowing you to access StreamShuttle from anywhere securely.
Enable VPN
- Toggles whether or not we should manage the VPN
External / Public IP Configuration
This area is used to configure the IP or host name used to connect to the VPN when you are away from home
Option | Description |
---|---|
External IP | IP address used when connecting from outside of the local network. |
External Address | Address clients will use when when connecting from outside of local network. If utilizing the DDNS service this will automatically be updated to utilize your provided address. |
Attempt To get External IP | Try to get the Public IP first by querying local router, else by using external lookup services |
Save external Address | Used to store a "manually" entered external VPN address. This is the address client will use to connect to the VPN |
VPN Server Settings
This area is used to configure the address space the VPN uses for clients and which port we should use to connect to the VPN.
Option | Description |
---|---|
Base Address | Which address space should we use when assigning address to clients. |
Port | Which port should clients use when connecting to the VPN server. |
Update VPN Settings | Regenerates all the VPN server and client configurations. |
VPN Server Actions
This area is used to control the VPN service and generate VPN server keys.
Option | Description |
---|---|
Generate VPN Server Keys | Will regenerate the servers private key. This will also update all client configurations |
Start VPN | Starts the WireGuard "StreamShuttle Tunnel" service |
Stop VPN | Stops the WireGuard "StreamShuttle Tunnel" service |
Update Configuration and Restart VPN | Regenerates the VPN server configuration and restarts the "StreamShuttle Tunnel" service |
UPnP Configuration
The UPnP configuration 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 this happens its usually pretty easy to find instructions for opening the port manually by searching for your routers model number and "open port" or "port forward" on any search engine.
Option | Description |
---|---|
Port | This is the port we will attempt to forward.(Same as "VPN Server Settings -> Port") |
Attempt to open port for VPN | If toggled, we will try to open the port for the VPN service using UPnP / NAT-PMP |
VPN Clients
VPN clients section is used to create and manage configurations that will be used to connect to the VPN server and in turn StreamShuttle.
Depending on what changes are made below you will need to restart the VPN server before the changes are reflected. For example when adding a new client they will not be able to connect until the VPN is restarted. If a restart is required, a banner should appear which lets you know you should "Update Configuration and Restart VPN"
Option | Description |
---|---|
Add New VPN Client | Adds a new VPN client entry |
Client Name | Descriptive name used to identify this VPN client configuration. ex. John Smith's Iphone |
Client Address | The automatically generated VPN client address that has been assigned to this configuration. |
Delete Client | Removes the client configuration meaning they will no longer be able to connect to the VPN. (VPN server restart required after removal) |
Save Config | Updates the configuration with the updated "Client Name" |
Download Config | Download the VPN Client configuration file which can be used to install the configuration on the clients device. |
Show Config QR Code | Instead of having to transfer the configuration to a users device. You can instead import the configuration by scanning the QR Code. |