Cyberes 002c30ccd4 | ||
---|---|---|
esp32 | ||
server | ||
.gitignore | ||
LICENSE | ||
README.md |
README.md
freematics-traccar-encrypted
A proxy to encrypt the Traccar Freematics protocol.
This is an implementation of the ChaCha20-Poly1305 algorithm into the Freematics vehicle tracker for the Traccar server.
It consists of 2 parts:
- A simple server written in Go that handles encryption and proxies messages to Traccar.
- Modified firmware for the Freematics device that implements encryption.
The server is protocol-independant and only manages encryption, meaning it can serve other protocols besides Freematics. It can also listen on multiple ports for multiple destinations.
Install
Client
- Run
server/generate-key.sh
script to generate your encryption key. - Open the modified firmware in Visual Studio Code with the PlatformIO extension.
- Enter your encryption key under
CHACHA20_KEY
inconfig.h
. - Upload the firmware to the device.
Server
- Download the latest binary from releases or
build it yourself using
./build.sh
. - Copy
config.sample.yml
toconfig.yml
- Enter your encryption key in
config.yml
underchacha_key
. - Fill our your forwarding destinations under
destinations
. - Start the server with
./freematics-encrypt --config config.yml
A sample systemd service file is provided.