Cyberes 19066c2a83 | ||
---|---|---|
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.
Inspired by soshial's great writeup on the Freematics device.
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.