A proxy to encrypt the Traccar Freematics protocol.
Go to file
Cyberes 61075a5e03 option to disable beep, adjust server logging 2024-06-30 19:41:00 -06:00
esp32 option to disable beep, adjust server logging 2024-06-30 19:41:00 -06:00
server option to disable beep, adjust server logging 2024-06-30 19:41:00 -06:00
.gitignore option to disable beep, adjust server logging 2024-06-30 19:41:00 -06:00
LICENSE Initial commit 2024-06-26 21:31:44 -06:00
README.md update readme, reorganize files 2024-06-30 19:31:13 -06:00

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:

  1. A simple server written in Go that handles encryption and proxies messages to Traccar.
  2. 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

  1. Run server/generate-key.sh script to generate your encryption key.
  2. Open the modified firmware in Visual Studio Code with the PlatformIO extension.
  3. Enter your encryption key under CHACHA20_KEY in config.h.
  4. Upload the firmware to the device.

Server

  1. Download the latest binary from releases or build it yourself using ./build.sh.
  2. Copy config.sample.yml to config.yml
  3. Enter your encryption key in config.yml under chacha_key.
  4. Fill our your forwarding destinations under destinations.
  5. Start the server with ./freematics-encrypt --config config.yml

A sample systemd service file is provided.