sen·ti·nel sen-tə-nəl
especially : a soldier standing guard at a point of passage (such as a gate)
Caution
This project is still in its very early stages and does not currently function.
A free, open-source Windows, macOS, and Linux application that allows you to efficiently view, manage, and export sentry and dashcam footage from your Tesla vehicle. It does require you to have access to the USB drive containing the footage, whether that be directly plugged into your computer or using a more complicated setup with a network share such as TeslaUSB or other similar setups.
A better preview will be here when the project is functional
This application is still in early development and is not fully-functional. Once it is, there will be instructions in this section and releases within the Releases tab on the right.
Sentinel is written in the Angular framework and uses Tauri to wrap it into a desktop application with access to native APIs. Tauri is a more modern approach than Electron as it uses Rust and a custom web renderer that is lighter weight and more performant than Chromium that Electron uses.
This project relies on NPM packages and, therefore, NodeJS. Install the LTS version of NodeJS here OR get nvm / nvm-windows and run nvm install lts
in terminal.
There are a few things that you must do to prepare your environment for Tauri. Follow the official Tauri Prerequisites guide for your particular operating system. This will install Rust and other various dependencies required by Tauri.
On VS Code, you should install the offical Tauri and the rust-analyzer extensions.
It is recommended to install the Angular CLI globally on your system. This can be done via npm install -g @angular/cli
in your terminal.
On VS Code, you should install the Angular Language Service extension.
First, ensure you have all of the dependencies installed by running npm install
in terminal.
To run a local developer instance of the application, run npm run tauri dev
in terminal. If the application does not open automatically, you should be able to find the binary in src-tauri/target/debug
that is compatible with your OS.
Read the Tauri Documentation on this for more info.
Tip
If you are on Linux, it may fail to launch when using the integrated VS Code terminal. This can be resolved by running in the native terminal. For some, running unset GTK_PATH
within VS Code terminal fixes this issue as well.
If, for whatever reason, you do not want to run the application within Tauri, you may run ng serve
to serve a local instance of just the Angular application in your web browser. There are no guarentees everything will work properly this way, though.
Official versions of this application are built automatically with CI/CD via GitHub Workflows. However, you can build it locally on your own machine if you wish.
To build the application locally, run npm run tauri build
within terminal. This will create a native binary for whatever OS you are using. These binaries should be located in src-tauri/target/release/bundle
.
Read the Tauri Documentation on this for more info.
In order to contribute to the project, you must fork this repository and then create a Pull Request that contains your changes. Please do your best to be descriptive in your title and explain what your PR adds to the project in the description. Your PR should be reviewed within a few days by a maintaner and either merged or requested to be tweaked.
This product is not in any way affiliated with the Tesla brand. This application does not require an internet connection, nor does it send any of your data anywhere. An internet connection may be used to notify of a newer version and download said version with user permission.
sentinel is licensed under the GNU General Public License v3.0. Permissions of this strong copyleft license are conditioned on making available complete source code of licensed works and modifications, which include larger works using a licensed work, under the same license. Copyright and license notices must be preserved. Contributors provide an express grant of patent rights.
For the betterment of the community, we would prefer you contribute directly to this project, but you are allowed to use your own fork as long as it is public like this project is.
___