Arduino Create Agent is a tool that allows you to control your boards from https://create.arduino.cc
arduino-create-agent is a fork of @johnlauer's serial-port-json-server (which we really want to thank for his kindness and great work)
The history has been rewritten to keep the repo small (thus removing all binaries committed in the past)
Then it was completely rewritten from scratch to address the new featureset
Follow the getting started guide at https://create.arduino.cc/getting-started
Arduino Create exposes a set of rest api hosted on a variable port on localhost (eg http://localhost:8990/v1) to detect connected boards, install programming tools and program boards
It also allows to open a websocket connection to a board connected through the serial port.
A web server running on localhost makes a lot of people nervous. That's why we thought hard about security:
- You can disable autostart and run the Agent only when needed: see Disable Autostart
- To prevent malicious websites to perform request on the Agent through your browser, we use CORS. You can control who has access through the
origin
field on the configuration file: see Configure - Every url that needs to be downloaded, or command that needs to be ran has to be signed by a trusted party. You can control who is trusted through the
trusted
folder: see Configure - Commands are whitelisted, so even a trusted party can't execute a malicious command. You can control which commands are whitelisted through the
whitelist
field of the configuration file: see Configure
Arduino Create Agent uses .ini
files to read its options. In your install folder you'll find a configuration files that's already tuned for everyday use with create:
origins: https://create.arduino.cc
whitelist: avrdude,bossac
- origins is a comma-separated list of website that are allowed to contact the Agent
- whitelist is the list of commands they are allowed to perform on your machine
The trusted folder contains the public keys of the trusted origins. So if you have https://create.arduino.cc
you should have its public key on the trusted folder.