We provide a tool that allows you to run all of Elody's Programs directly on your local computer. This is perfect for you, if you do not want your data to leave your computer due to privacy concerns.
Without the lod-executor, our server handles both the decision of which programs to use, and the execution of those programs on your data. With the lod-executor, your data stays with you and all programs are executed on your own computer. As our server still needs to make the decision which programs to execute, we do still need to receive parts of your data to base those decisions on, but you no longer need to upload entire files. The data we do still need to receive is of course handled with confidentiality.
This tool is also very useful for developers: if you use it, all files that are normally created on our server are instead created locally in a folder of your choice. This makes it possible to inspect Scenarios in much greater detail and makes debugging a lot easier.
Installation and Configuration
lod-executor is written for Python 3 and can be installed with pip.
If you don't have pip, install it by following the instructions here
Install lod-executor by running this command:
pip3 install lod-executor
After installing lod-executor, you should configure it with your login details so that you don't have to enter these every time you use the program.
lod-executor configure -e your_login_email_here -p your_login_password_here -r /path/to/a/folder
This has several parameters:
- -e: Your login email.
- -p: Opional. Your login password. This is not required, but if you don't specify it here you will be asked for it every time you use this tool.
- -r: The path to a folder in which all data will be stored that is created while the lod-executor runs Scenarios. This folder can grow fairly large, and it is useful to look at when you are debugging your own programs.
- -port: Optional. The port that is used to connect your browser to the lod-executor. This defaults to 5555, but it can be any port of your choice. If you change the default, make sure to also change your settings so that your browser can find the lod-executor.
- --ssl-crt: Optional. For security purposes, the lod-executor requires a locally signed ssl-certificate that is trusted by your browser. If you already have one, enter the path to it here. Otherwise, you can use the command
lod-executor create-certificateto create it later.
- --ssl-key: Optional. The key file that belongs to the ssl-certificate. Handle this the same way as --ssl-crt.
Creating a Certificate
After the configuration, if you did not use an existing ssl-certificate, you will need to create one.
To do this, you must make sure that OpenSSL is installed and on your path. Type
openssl version to verify this. If it is not already installed, installation instructions depend on your operating system, but can be easily found online.
You can create the certificate with this command:
After creating the certificate, you will need to tell your browser to trust it. How to do that depends on your browser and your operating system.
To test if your browser trusts the certificate, run
lod-executor run, then visit https://localhost:5555/certificate_test in the browser. (Substitute 5555 for your port number if you didn't use the default during configuration.)
Here is how you can get your OS and browser to trust the certificate:
For operating systems, have a look at these websites:
- Linux: https://unix.stackexchange.com/questions/90450/adding-a-self-signed-certificate-to-the-trusted-list
- Mac: https://tosbourn.com/getting-os-x-to-trust-self-signed-ssl-certificates/
- Windows: https://firstname.lastname@example.org/how-to-trust-any-self-signed-ssl-certificate-in-ie11-and-edge-fa7b416cac68
Also, some browsers on some OS may need you to do some extra work (it's possible that it will already work without this for some OS/browser combinations):
- Firefox: https://www.poweradmin.com/help/sslhints/firefox.aspx.
- Chrome: https://stackoverflow.com/questions/7580508/getting-chrome-to-accept-self-signed-localhost-certificate
- Safari: It should work out of the box, so long as you added the certificate to the Mac keychain, as described above.
- Internet Explorer 11: https://email@example.com/how-to-trust-any-self-signed-ssl-certificate-in-ie11-and-edge-fa7b416cac68
- Edge: https://firstname.lastname@example.org/how-to-trust-any-self-signed-ssl-certificate-in-ie11-and-edge-fa7b416cac68
To be able to use the lod-executor, first go to your settings and tick the check box under the header 'LOD-executor'. This tells your browser that it should connect to your lod-executor instead of the server. If you start a Scenario now, you will get a connection error because your lod-executor is not running yet.
To run your lod-executor once it is configured and the ssl-certificate is set up, simply run this command:
When you start a Scenario now, the Scenario should state that you are connected to a locally running lod-executor instead of the server in the top left corner of the screen. The button for file uploading will also have been replaced: instead of uploading a file, you now copy-and-paste the path to the file to tell the lod-executor which file it should use (note that the lod-executor will make copies of all selected files and will not change the originals). Other than that, everything will work the same as before.